From acb9d7707ad99b222398a4ad807f82dab62c947e Mon Sep 17 00:00:00 2001 From: Andrei Hasna Date: Tue, 11 Aug 2026 14:31:00 +0300 Subject: [PATCH 1/2] feat(cli): add guarded private descriptor transport Agent: blocker-recovery-rule-author --- CHANGELOG.md | 13 + README.md | 39 +++ bin/knowledge-mcp.js | 2 +- bin/knowledge.js | 576 +++++++++++++++++----------------- dist/guarded-cli.d.ts | 27 ++ dist/index.d.ts | 1 + dist/index.js | 175 ++++++++++- package.json | 2 +- src/cli.ts | 75 ++++- src/guarded-cli.ts | 516 ++++++++++++++++++++++++++++++ src/index.ts | 10 + tests/cli.test.ts | 84 ++++- tests/guarded-writer.test.ts | 130 ++++++++ tests/package-release.test.ts | 8 + 14 files changed, 1361 insertions(+), 297 deletions(-) create mode 100644 dist/guarded-cli.d.ts create mode 100644 src/guarded-cli.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 78f6147..d1db182 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 0.2.104 + +- Add package-owned guarded CLI helpers for create, update, bounded query, and + exact readback. Opaque descriptors cross the child-process boundary only + through distinct inherited anonymous file descriptors; private titles, + bodies, tags, selectors, and result proofs stay out of argv, stdin, + environment variables, regular files, stdout, and stderr. +- Reject public/body-bearing guarded CLI input, regular-file descriptors, + malformed or oversized private frames, replay conflicts, and expired + descriptors without echoing private content. Preserve FCAME-1 authority + binding, compare-and-swap/create-if-absent semantics, immutable receipts, + digest-only proof, exact readback, and same-operation duplicate evidence. + ## 0.2.102 - Republish the same reviewed bounded-query product code through the isolated diff --git a/README.md b/README.md index 547acb4..c8678ff 100644 --- a/README.md +++ b/README.md @@ -209,6 +209,45 @@ endpoint never falls back to a collection scan and never returns item bodies or titles. `knowledge guarded capabilities --json` reports this private transport support without reading configuration, opening a store, or making a request. +When an agent or workflow must cross a process boundary, use the package-owned +guarded CLI helpers. The caller keeps the private data inside the opaque +descriptor; the helper creates two anonymous inherited pipes, invokes the +package CLI with fixed descriptor numbers, and returns only the private +digest-proof object to the calling process: + +```ts +import { + createKnowledgePrivateInputDescriptor, + executeKnowledgeGuardedCliWrite, +} from '@hasna/knowledge'; + +const privateInput = createKnowledgePrivateInputDescriptor({ + operation_id: 'doctrine-rollout-2026-08', + step_id: 'knowledge-item-one', + verb: 'create', + target_id: 'hasna-doctrine-one', + precondition: { kind: 'absent' }, + binding, + payload: { + title: privateReviewedTitle, + content: privateReviewedBody, + tags: privateReviewedTags, + }, +}); + +const result = await executeKnowledgeGuardedCliWrite(privateInput); +// result.proof contains IDs, versions, digests, and immutable receipt/replay +// evidence. It never contains the private title, body, tags, or selector. +``` + +Use `executeKnowledgeGuardedCliQuery(...)` for producer-bounded private queries +and `executeKnowledgeGuardedCliReadback(...)` with a `current_version` +descriptor for exact readback. The internal +`knowledge guarded execute-descriptor` worker accepts only distinct inherited +anonymous pipe or socket descriptors numbered 3 or higher. It rejects stdin, +regular files, positional bodies, and body-bearing flags. Do not invoke it +directly from a shell or hand-roll descriptor materialization. + The deterministic key is: ```text diff --git a/bin/knowledge-mcp.js b/bin/knowledge-mcp.js index 7eeb196..8e44a27 100755 --- a/bin/knowledge-mcp.js +++ b/bin/knowledge-mcp.js @@ -14997,7 +14997,7 @@ import { existsSync as existsSync15, readFileSync as readFileSync14, writeFileSy // package.json var package_default = { name: "@hasna/knowledge", - version: "0.2.102", + version: "0.2.104", description: "Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions", type: "module", exports: { diff --git a/bin/knowledge.js b/bin/knowledge.js index 3c8e911..f61a02b 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,105 +1,105 @@ #!/usr/bin/env bun // @bun -var TY=Object.create;var{getPrototypeOf:FY,defineProperty:wN,getOwnPropertyNames:VY}=Object;var BY=Object.prototype.hasOwnProperty;function MY(_){return this[_]}var ZY,HY,bY=(_,$,D)=>{var I=_!=null&&typeof _==="object";if(I){var U=$?ZY??=new WeakMap:HY??=new WeakMap,E=U.get(_);if(E)return E}D=_!=null?TY(FY(_)):{};let j=$||!_||!_.__esModule?wN(D,"default",{value:_,enumerable:!0}):D;for(let N of VY(_))if(!BY.call(j,N))wN(j,N,{get:MY.bind(_,N),enumerable:!0});if(I)U.set(_,j);return j};var U4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var qY=(_)=>_;function kY(_,$){this[_]=qY.bind(null,$)}var x$=(_,$)=>{for(var D in $)wN(_,D,{get:$[D],enumerable:!0,configurable:!0,set:kY.bind($,D)})};var r=(_,$)=>()=>(_&&($=_(_=0)),$);var L_=import.meta.require;function K(_,$,D){function I(N,O){if(!N._zod)Object.defineProperty(N,"_zod",{value:{def:O,constr:j,traits:new Set},enumerable:!1});if(N._zod.traits.has(_))return;N._zod.traits.add(_),$(N,O);let S=j.prototype,L=Object.keys(S);for(let W=0;W{if(D?.Parent&&N instanceof D.Parent)return!0;return N?._zod?.traits?.has(_)}}),Object.defineProperty(j,"name",{value:_}),j}function b_(_){if(_)Object.assign(g4,_);return g4}var hX,VI,BI,m$,X4,g4;var G4=r(()=>{VI=Object.freeze({status:"aborted"});BI=Symbol("zod_brand");m$=class m$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};X4=class X4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(hX=globalThis).__zod_globalConfig??(hX.__zod_globalConfig={});g4=globalThis.__zod_globalConfig});var q={};x$(q,{unwrapMessage:()=>DU,uint8ArrayToHex:()=>pV,uint8ArrayToBase64url:()=>tV,uint8ArrayToBase64:()=>dX,stringifyPrimitive:()=>M,slugify:()=>IA,shallowClone:()=>jA,safeExtend:()=>cV,required:()=>mV,randomString:()=>wV,propertyKeyTypes:()=>EU,promiseAllObject:()=>vV,primitiveTypes:()=>NA,prefixIssues:()=>$$,pick:()=>uV,partial:()=>dV,parsedType:()=>Z,optionalKeys:()=>AA,omit:()=>yV,objectClone:()=>qV,numKeys:()=>rV,nullish:()=>C6,normalizeParams:()=>v,mergeDefs:()=>L6,merge:()=>nV,jsonStringifyReplacer:()=>k0,joinValues:()=>V,issue:()=>v0,isPlainObject:()=>w6,isObject:()=>R4,hexToUint8Array:()=>oV,getSizableOrigin:()=>jU,getParsedType:()=>fV,getLengthableOrigin:()=>NU,getEnumValues:()=>UU,getElementAtPath:()=>CV,floatSafeRemainder:()=>UA,finalizeIssue:()=>t_,extend:()=>hV,explicitlyAborted:()=>LA,escapeRegex:()=>g$,esc:()=>MI,defineLazy:()=>D_,createTransparentProxy:()=>xV,cloneDef:()=>kV,clone:()=>h_,cleanRegex:()=>IU,cleanEnum:()=>lV,captureStackTrace:()=>ZI,cached:()=>C0,base64urlToUint8Array:()=>iV,base64ToUint8Array:()=>nX,assignProp:()=>v6,assertNotEqual:()=>MV,assertNever:()=>HV,assertIs:()=>ZV,assertEqual:()=>BV,assert:()=>bV,allowsEval:()=>EA,aborted:()=>r6,NUMBER_FORMAT_RANGES:()=>OA,Class:()=>mX,BIGINT_FORMAT_RANGES:()=>SA});function BV(_){return _}function MV(_){return _}function ZV(_){}function HV(_){throw Error("Unexpected value in exhaustive check")}function bV(_){}function UU(_){let $=Object.values(_).filter((I)=>typeof I==="number");return Object.entries(_).filter(([I,U])=>$.indexOf(+I)===-1).map(([I,U])=>U)}function V(_,$="|"){return _.map((D)=>M(D)).join($)}function k0(_,$){if(typeof $==="bigint")return $.toString();return $}function C0(_){return{get value(){{let D=_();return Object.defineProperty(this,"value",{value:D}),D}throw Error("cached value already set")}}}function C6(_){return _===null||_===void 0}function IU(_){let $=_.startsWith("^")?1:0,D=_.endsWith("$")?_.length-1:_.length;return _.slice($,D)}function UA(_,$){let D=_/$,I=Math.round(D),U=Number.EPSILON*Math.max(Math.abs(D),1);if(Math.abs(D-I)D?.[I],_)}function vV(_){let $=Object.keys(_),D=$.map((I)=>_[I]);return Promise.all(D).then((I)=>{let U={};for(let E=0;E<$.length;E++)U[$[E]]=I[E];return U})}function wV(_=10){let D="";for(let I=0;I<_;I++)D+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return D}function MI(_){return JSON.stringify(_)}function IA(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function R4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function w6(_){if(R4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let D=$.prototype;if(R4(D)===!1)return!1;if(Object.prototype.hasOwnProperty.call(D,"isPrototypeOf")===!1)return!1;return!0}function jA(_){if(w6(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function rV(_){let $=0;for(let D in _)if(Object.prototype.hasOwnProperty.call(_,D))$++;return $}function g$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function h_(_,$,D){let I=new _._zod.constr($??_._zod.def);if(!$||D?.parent)I._zod.parent=_;return I}function v(_){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 xV(_){let $;return new Proxy({},{get(D,I,U){return $??($=_()),Reflect.get($,I,U)},set(D,I,U,E){return $??($=_()),Reflect.set($,I,U,E)},has(D,I){return $??($=_()),Reflect.has($,I)},deleteProperty(D,I){return $??($=_()),Reflect.deleteProperty($,I)},ownKeys(D){return $??($=_()),Reflect.ownKeys($)},getOwnPropertyDescriptor(D,I){return $??($=_()),Reflect.getOwnPropertyDescriptor($,I)},defineProperty(D,I,U){return $??($=_()),Reflect.defineProperty($,I,U)}})}function M(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function AA(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function uV(_,$){let D=_._zod.def,I=D.checks;if(I&&I.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let E=L6(_._zod.def,{get shape(){let j={};for(let N in $){if(!(N in D.shape))throw Error(`Unrecognized key: "${N}"`);if(!$[N])continue;j[N]=D.shape[N]}return v6(this,"shape",j),j},checks:[]});return h_(_,E)}function yV(_,$){let D=_._zod.def,I=D.checks;if(I&&I.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let E=L6(_._zod.def,{get shape(){let j={..._._zod.def.shape};for(let N in $){if(!(N in D.shape))throw Error(`Unrecognized key: "${N}"`);if(!$[N])continue;delete j[N]}return v6(this,"shape",j),j},checks:[]});return h_(_,E)}function hV(_,$){if(!w6($))throw Error("Invalid input to extend: expected a plain object");let D=_._zod.def.checks;if(D&&D.length>0){let E=_._zod.def.shape;for(let j in $)if(Object.getOwnPropertyDescriptor(E,j)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let U=L6(_._zod.def,{get shape(){let E={..._._zod.def.shape,...$};return v6(this,"shape",E),E}});return h_(_,U)}function cV(_,$){if(!w6($))throw Error("Invalid input to safeExtend: expected a plain object");let D=L6(_._zod.def,{get shape(){let I={..._._zod.def.shape,...$};return v6(this,"shape",I),I}});return h_(_,D)}function nV(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let D=L6(_._zod.def,{get shape(){let I={..._._zod.def.shape,...$._zod.def.shape};return v6(this,"shape",I),I},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return h_(_,D)}function dV(_,$,D){let U=$._zod.def.checks;if(U&&U.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let j=L6($._zod.def,{get shape(){let N=$._zod.def.shape,O={...N};if(D)for(let S in D){if(!(S in N))throw Error(`Unrecognized key: "${S}"`);if(!D[S])continue;O[S]=_?new _({type:"optional",innerType:N[S]}):N[S]}else for(let S in N)O[S]=_?new _({type:"optional",innerType:N[S]}):N[S];return v6(this,"shape",O),O},checks:[]});return h_($,j)}function mV(_,$,D){let I=L6($._zod.def,{get shape(){let U=$._zod.def.shape,E={...U};if(D)for(let j in D){if(!(j in E))throw Error(`Unrecognized key: "${j}"`);if(!D[j])continue;E[j]=new _({type:"nonoptional",innerType:U[j]})}else for(let j in U)E[j]=new _({type:"nonoptional",innerType:U[j]});return v6(this,"shape",E),E}});return h_($,I)}function r6(_,$=0){if(_.aborted===!0)return!0;for(let D=$;D<_.issues.length;D++)if(_.issues[D]?.continue!==!0)return!0;return!1}function LA(_,$=0){if(_.aborted===!0)return!0;for(let D=$;D<_.issues.length;D++)if(_.issues[D]?.continue===!1)return!0;return!1}function $$(_,$){return $.map((D)=>{var I;return(I=D).path??(I.path=[]),D.path.unshift(_),D})}function DU(_){return typeof _==="string"?_:_?.message}function t_(_,$,D){let I=_.message?_.message:DU(_.inst?._zod.def?.error?.(_))??DU($?.error?.(_))??DU(D.customError?.(_))??DU(D.localeError?.(_))??"Invalid input",{inst:U,continue:E,input:j,...N}=_;if(N.path??(N.path=[]),N.message=I,$?.reportInput)N.input=j;return N}function jU(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function NU(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function Z(_){let $=typeof _;switch($){case"number":return Number.isNaN(_)?"nan":"number";case"object":{if(_===null)return"null";if(Array.isArray(_))return"array";let D=_;if(D&&Object.getPrototypeOf(D)!==Object.prototype&&"constructor"in D&&D.constructor)return D.constructor.name}}return $}function v0(..._){let[$,D,I]=_;if(typeof $==="string")return{message:$,code:"custom",input:D,inst:I};return{...$}}function lV(_){return Object.entries(_).filter(([$,D])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function nX(_){let $=atob(_),D=new Uint8Array($.length);for(let I=0;I<$.length;I++)D[I]=$.charCodeAt(I);return D}function dX(_){let $="";for(let D=0;D<_.length;D++)$+=String.fromCharCode(_[D]);return btoa($)}function iV(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),D="=".repeat((4-$.length%4)%4);return nX($+D)}function tV(_){return dX(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function oV(_){let $=_.replace(/^0x/,"");if($.length%2!==0)throw Error("Invalid hex string length");let D=new Uint8Array($.length/2);for(let I=0;I<$.length;I+=2)D[I/2]=Number.parseInt($.slice(I,I+2),16);return D}function pV(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class mX{constructor(..._){}}var cX,ZI,EA,fV=(_)=>{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: ${$}`)}},EU,NA,OA,SA;var n=r(()=>{G4();cX=Symbol("evaluating");ZI="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};EA=C0(()=>{if(g4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});EU=new Set(["string","number","symbol"]),NA=new Set(["string","number","bigint","boolean","symbol","undefined"]);OA={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]},SA={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function w0(_,$=(D)=>D.message){let D={},I=[];for(let U of _.issues)if(U.path.length>0)D[U.path[0]]=D[U.path[0]]||[],D[U.path[0]].push($(U));else I.push($(U));return{formErrors:I,fieldErrors:D}}function r0(_,$=(D)=>D.message){let D={_errors:[]},I=(U,E=[])=>{for(let j of U.issues)if(j.code==="invalid_union"&&j.errors.length)j.errors.map((N)=>I({issues:N},[...E,...j.path]));else if(j.code==="invalid_key")I({issues:j.issues},[...E,...j.path]);else if(j.code==="invalid_element")I({issues:j.issues},[...E,...j.path]);else{let N=[...E,...j.path];if(N.length===0)D._errors.push($(j));else{let O=D,S=0;while(SD.message){let D={errors:[]},I=(U,E=[])=>{var j,N;for(let O of U.issues)if(O.code==="invalid_union"&&O.errors.length)O.errors.map((S)=>I({issues:S},[...E,...O.path]));else if(O.code==="invalid_key")I({issues:O.issues},[...E,...O.path]);else if(O.code==="invalid_element")I({issues:O.issues},[...E,...O.path]);else{let S=[...E,...O.path];if(S.length===0){D.errors.push($(O));continue}let L=D,W=0;while(Wtypeof I==="object"?I.key:I);for(let I of D)if(typeof I==="number")$.push(`[${I}]`);else if(typeof I==="symbol")$.push(`[${JSON.stringify(String(I))}]`);else if(/[^\w$]/.test(I))$.push(`[${JSON.stringify(I)}]`);else{if($.length)$.push(".");$.push(I)}return $.join("")}function bI(_){let $=[],D=[..._.issues].sort((I,U)=>(I.path??[]).length-(U.path??[]).length);for(let I of D)if($.push(`\u2716 ${I.message}`),I.path?.length)$.push(` \u2192 at ${iX(I.path)}`);return $.join(` -`)}var lX=(_,$)=>{_.name="$ZodError",Object.defineProperty(_,"_zod",{value:_._zod,enumerable:!1}),Object.defineProperty(_,"issues",{value:$,enumerable:!1}),_.message=JSON.stringify($,k0,2),Object.defineProperty(_,"toString",{value:()=>_.message,enumerable:!1})},AU,D$;var WA=r(()=>{G4();n();AU=K("$ZodError",lX),D$=K("$ZodError",lX,{Parent:Error})});var f0=(_)=>($,D,I,U)=>{let E=I?{...I,async:!1}:{async:!1},j=$._zod.run({value:D,issues:[]},E);if(j instanceof Promise)throw new m$;if(j.issues.length){let N=new(U?.Err??_)(j.issues.map((O)=>t_(O,E,b_())));throw ZI(N,U?.callee),N}return j.value},qI,x0=(_)=>async($,D,I,U)=>{let E=I?{...I,async:!0}:{async:!0},j=$._zod.run({value:D,issues:[]},E);if(j instanceof Promise)j=await j;if(j.issues.length){let N=new(U?.Err??_)(j.issues.map((O)=>t_(O,E,b_())));throw ZI(N,U?.callee),N}return j.value},kI,u0=(_)=>($,D,I)=>{let U=I?{...I,async:!1}:{async:!1},E=$._zod.run({value:D,issues:[]},U);if(E instanceof Promise)throw new m$;return E.issues.length?{success:!1,error:new(_??AU)(E.issues.map((j)=>t_(j,U,b_())))}:{success:!0,data:E.value}},JA,y0=(_)=>async($,D,I)=>{let U=I?{...I,async:!0}:{async:!0},E=$._zod.run({value:D,issues:[]},U);if(E instanceof Promise)E=await E;return E.issues.length?{success:!1,error:new _(E.issues.map((j)=>t_(j,U,b_())))}:{success:!0,data:E.value}},PA,CI=(_)=>($,D,I)=>{let U=I?{...I,direction:"backward"}:{direction:"backward"};return f0(_)($,D,U)},aV,vI=(_)=>($,D,I)=>{return f0(_)($,D,I)},sV,wI=(_)=>async($,D,I)=>{let U=I?{...I,direction:"backward"}:{direction:"backward"};return x0(_)($,D,U)},_B,rI=(_)=>async($,D,I)=>{return x0(_)($,D,I)},$B,fI=(_)=>($,D,I)=>{let U=I?{...I,direction:"backward"}:{direction:"backward"};return u0(_)($,D,U)},DB,xI=(_)=>($,D,I)=>{return u0(_)($,D,I)},UB,uI=(_)=>async($,D,I)=>{let U=I?{...I,direction:"backward"}:{direction:"backward"};return y0(_)($,D,U)},IB,yI=(_)=>async($,D,I)=>{return y0(_)($,D,I)},EB;var zA=r(()=>{G4();WA();n();qI=f0(D$),kI=x0(D$),JA=u0(D$),PA=y0(D$),aV=CI(D$),sV=vI(D$),_B=wI(D$),$B=rI(D$),DB=fI(D$),UB=xI(D$),IB=uI(D$),EB=yI(D$)});var U$={};x$(U$,{xid:()=>RA,uuid7:()=>OB,uuid6:()=>AB,uuid4:()=>NB,uuid:()=>Y4,uppercase:()=>dA,unicodeEmail:()=>tX,undefined:()=>cA,ulid:()=>GA,time:()=>wA,string:()=>fA,sha512_hex:()=>bB,sha512_base64url:()=>kB,sha512_base64:()=>qB,sha384_hex:()=>MB,sha384_base64url:()=>HB,sha384_base64:()=>ZB,sha256_hex:()=>FB,sha256_base64url:()=>BB,sha256_base64:()=>VB,sha1_hex:()=>QB,sha1_base64url:()=>TB,sha1_base64:()=>KB,rfc5322Email:()=>LB,number:()=>OU,null:()=>hA,nanoid:()=>QA,md5_hex:()=>GB,md5_base64url:()=>YB,md5_base64:()=>RB,mac:()=>ZA,lowercase:()=>nA,ksuid:()=>YA,ipv6:()=>MA,ipv4:()=>BA,integer:()=>uA,idnEmail:()=>WB,httpProtocol:()=>kA,html5Email:()=>SB,hostname:()=>zB,hex:()=>XB,guid:()=>TA,extendedDuration:()=>jB,emoji:()=>VA,email:()=>FA,e164:()=>CA,duration:()=>KA,domain:()=>gB,datetime:()=>rA,date:()=>vA,cuid2:()=>XA,cuid:()=>gA,cidrv6:()=>bA,cidrv4:()=>HA,browserEmail:()=>JB,boolean:()=>yA,bigint:()=>xA,base64url:()=>hI,base64:()=>qA});function VA(){return new RegExp(PB,"u")}function pX(_){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 wA(_){return new RegExp(`^${pX(_)}$`)}function rA(_){let $=pX({precision:_.precision}),D=["Z"];if(_.local)D.push("");if(_.offset)D.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let I=`${$}(?:${D.join("|")})`;return new RegExp(`^${oX}T(?:${I})$`)}function SU(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function LU(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var gA,XA,GA,RA,YA,QA,KA,jB,TA,Y4=(_)=>{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})$`)},NB,AB,OB,FA,SB,LB,tX,WB,JB,PB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",BA,MA,ZA=(_)=>{let $=g$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},HA,bA,qA,hI,zB,gB,kA,CA,oX="(?:(?:\\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])))",vA,fA=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},xA,uA,OU,yA,hA,cA,nA,dA,XB,GB,RB,YB,QB,KB,TB,FB,VB,BB,MB,ZB,HB,bB,qB,kB;var cI=r(()=>{n();gA=/^[cC][0-9a-z]{6,}$/,XA=/^[0-9a-z]+$/,GA=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,RA=/^[0-9a-vA-V]{20}$/,YA=/^[A-Za-z0-9]{27}$/,QA=/^[a-zA-Z0-9_-]{21}$/,KA=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,jB=/^[-+]?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)?)??$/,TA=/^([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})$/,NB=Y4(4),AB=Y4(6),OB=Y4(7),FA=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,SB=/^[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])?)*$/,LB=/^(([^<>()\[\]\\.,;:\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,}))$/,tX=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,WB=tX,JB=/^[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])?)*$/;BA=/^(?:(?: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])$/,MA=/^(([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}|:))$/,HA=/^((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])$/,bA=/^(([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])$/,qA=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,hI=/^[A-Za-z0-9_-]*$/,zB=/^(?=.{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])?)*\.?$/,gB=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,kA=/^https?$/,CA=/^\+[1-9]\d{6,14}$/,vA=new RegExp(`^${oX}$`);xA=/^-?\d+n?$/,uA=/^-?\d+$/,OU=/^-?\d+(?:\.\d+)?$/,yA=/^(?:true|false)$/i,hA=/^null$/i,cA=/^undefined$/i,nA=/^[^A-Z]*$/,dA=/^[^a-z]*$/,XB=/^[0-9a-fA-F]*$/;GB=/^[0-9a-fA-F]{32}$/,RB=SU(22,"=="),YB=LU(22),QB=/^[0-9a-fA-F]{40}$/,KB=SU(27,"="),TB=LU(27),FB=/^[0-9a-fA-F]{64}$/,VB=SU(43,"="),BB=LU(43),MB=/^[0-9a-fA-F]{96}$/,ZB=SU(64,""),HB=LU(64),bB=/^[0-9a-fA-F]{128}$/,qB=SU(86,"=="),kB=LU(86)});function eX(_,$,D){if(_.issues.length)$.issues.push(...$$(D,_.issues))}var Q_,aX,nI,dI,mA,lA,iA,tA,oA,pA,eA,aA,sA,h0,_O,$O,DO,UO,IO,EO,jO,NO,AO;var mI=r(()=>{G4();cI();n();Q_=K("$ZodCheck",(_,$)=>{var D;_._zod??(_._zod={}),_._zod.def=$,(D=_._zod).onattach??(D.onattach=[])}),aX={number:"number",bigint:"bigint",object:"date"},nI=K("$ZodCheckLessThan",(_,$)=>{Q_.init(_,$);let D=aX[typeof $.value];_._zod.onattach.push((I)=>{let U=I._zod.bag,E=($.inclusive?U.maximum:U.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value{if($.inclusive?I.value<=$.value:I.value<$.value)return;I.issues.push({origin:D,code:"too_big",maximum:typeof $.value==="object"?$.value.getTime():$.value,input:I.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),dI=K("$ZodCheckGreaterThan",(_,$)=>{Q_.init(_,$);let D=aX[typeof $.value];_._zod.onattach.push((I)=>{let U=I._zod.bag,E=($.inclusive?U.minimum:U.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if($.value>E)if($.inclusive)U.minimum=$.value;else U.exclusiveMinimum=$.value}),_._zod.check=(I)=>{if($.inclusive?I.value>=$.value:I.value>$.value)return;I.issues.push({origin:D,code:"too_small",minimum:typeof $.value==="object"?$.value.getTime():$.value,input:I.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),mA=K("$ZodCheckMultipleOf",(_,$)=>{Q_.init(_,$),_._zod.onattach.push((D)=>{var I;(I=D._zod.bag).multipleOf??(I.multipleOf=$.value)}),_._zod.check=(D)=>{if(typeof D.value!==typeof $.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof D.value==="bigint"?D.value%$.value===BigInt(0):UA(D.value,$.value)===0)return;D.issues.push({origin:typeof D.value,code:"not_multiple_of",divisor:$.value,input:D.value,inst:_,continue:!$.abort})}}),lA=K("$ZodCheckNumberFormat",(_,$)=>{Q_.init(_,$),$.format=$.format||"float64";let D=$.format?.includes("int"),I=D?"int":"number",[U,E]=OA[$.format];_._zod.onattach.push((j)=>{let N=j._zod.bag;if(N.format=$.format,N.minimum=U,N.maximum=E,D)N.pattern=uA}),_._zod.check=(j)=>{let N=j.value;if(D){if(!Number.isInteger(N)){j.issues.push({expected:I,format:$.format,code:"invalid_type",continue:!1,input:N,inst:_});return}if(!Number.isSafeInteger(N)){if(N>0)j.issues.push({input:N,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:_,origin:I,inclusive:!0,continue:!$.abort});else j.issues.push({input:N,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:_,origin:I,inclusive:!0,continue:!$.abort});return}}if(NE)j.issues.push({origin:"number",input:N,code:"too_big",maximum:E,inclusive:!0,inst:_,continue:!$.abort})}}),iA=K("$ZodCheckBigIntFormat",(_,$)=>{Q_.init(_,$);let[D,I]=SA[$.format];_._zod.onattach.push((U)=>{let E=U._zod.bag;E.format=$.format,E.minimum=D,E.maximum=I}),_._zod.check=(U)=>{let E=U.value;if(EI)U.issues.push({origin:"bigint",input:E,code:"too_big",maximum:I,inclusive:!0,inst:_,continue:!$.abort})}}),tA=K("$ZodCheckMaxSize",(_,$)=>{var D;Q_.init(_,$),(D=_._zod.def).when??(D.when=(I)=>{let U=I.value;return!C6(U)&&U.size!==void 0}),_._zod.onattach.push((I)=>{let U=I._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let U=I.value;if(U.size<=$.maximum)return;I.issues.push({origin:jU(U),code:"too_big",maximum:$.maximum,inclusive:!0,input:U,inst:_,continue:!$.abort})}}),oA=K("$ZodCheckMinSize",(_,$)=>{var D;Q_.init(_,$),(D=_._zod.def).when??(D.when=(I)=>{let U=I.value;return!C6(U)&&U.size!==void 0}),_._zod.onattach.push((I)=>{let U=I._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>U)I._zod.bag.minimum=$.minimum}),_._zod.check=(I)=>{let U=I.value;if(U.size>=$.minimum)return;I.issues.push({origin:jU(U),code:"too_small",minimum:$.minimum,inclusive:!0,input:U,inst:_,continue:!$.abort})}}),pA=K("$ZodCheckSizeEquals",(_,$)=>{var D;Q_.init(_,$),(D=_._zod.def).when??(D.when=(I)=>{let U=I.value;return!C6(U)&&U.size!==void 0}),_._zod.onattach.push((I)=>{let U=I._zod.bag;U.minimum=$.size,U.maximum=$.size,U.size=$.size}),_._zod.check=(I)=>{let U=I.value,E=U.size;if(E===$.size)return;let j=E>$.size;I.issues.push({origin:jU(U),...j?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:I.value,inst:_,continue:!$.abort})}}),eA=K("$ZodCheckMaxLength",(_,$)=>{var D;Q_.init(_,$),(D=_._zod.def).when??(D.when=(I)=>{let U=I.value;return!C6(U)&&U.length!==void 0}),_._zod.onattach.push((I)=>{let U=I._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let U=I.value;if(U.length<=$.maximum)return;let j=NU(U);I.issues.push({origin:j,code:"too_big",maximum:$.maximum,inclusive:!0,input:U,inst:_,continue:!$.abort})}}),aA=K("$ZodCheckMinLength",(_,$)=>{var D;Q_.init(_,$),(D=_._zod.def).when??(D.when=(I)=>{let U=I.value;return!C6(U)&&U.length!==void 0}),_._zod.onattach.push((I)=>{let U=I._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>U)I._zod.bag.minimum=$.minimum}),_._zod.check=(I)=>{let U=I.value;if(U.length>=$.minimum)return;let j=NU(U);I.issues.push({origin:j,code:"too_small",minimum:$.minimum,inclusive:!0,input:U,inst:_,continue:!$.abort})}}),sA=K("$ZodCheckLengthEquals",(_,$)=>{var D;Q_.init(_,$),(D=_._zod.def).when??(D.when=(I)=>{let U=I.value;return!C6(U)&&U.length!==void 0}),_._zod.onattach.push((I)=>{let U=I._zod.bag;U.minimum=$.length,U.maximum=$.length,U.length=$.length}),_._zod.check=(I)=>{let U=I.value,E=U.length;if(E===$.length)return;let j=NU(U),N=E>$.length;I.issues.push({origin:j,...N?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:I.value,inst:_,continue:!$.abort})}}),h0=K("$ZodCheckStringFormat",(_,$)=>{var D,I;if(Q_.init(_,$),_._zod.onattach.push((U)=>{let E=U._zod.bag;if(E.format=$.format,$.pattern)E.patterns??(E.patterns=new Set),E.patterns.add($.pattern)}),$.pattern)(D=_._zod).check??(D.check=(U)=>{if($.pattern.lastIndex=0,$.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:$.format,input:U.value,...$.pattern?{pattern:$.pattern.toString()}:{},inst:_,continue:!$.abort})});else(I=_._zod).check??(I.check=()=>{})}),_O=K("$ZodCheckRegex",(_,$)=>{h0.init(_,$),_._zod.check=(D)=>{if($.pattern.lastIndex=0,$.pattern.test(D.value))return;D.issues.push({origin:"string",code:"invalid_format",format:"regex",input:D.value,pattern:$.pattern.toString(),inst:_,continue:!$.abort})}}),$O=K("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=nA),h0.init(_,$)}),DO=K("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=dA),h0.init(_,$)}),UO=K("$ZodCheckIncludes",(_,$)=>{Q_.init(_,$);let D=g$($.includes),I=new RegExp(typeof $.position==="number"?`^.{${$.position}}${D}`:D);$.pattern=I,_._zod.onattach.push((U)=>{let E=U._zod.bag;E.patterns??(E.patterns=new Set),E.patterns.add(I)}),_._zod.check=(U)=>{if(U.value.includes($.includes,$.position))return;U.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:$.includes,input:U.value,inst:_,continue:!$.abort})}}),IO=K("$ZodCheckStartsWith",(_,$)=>{Q_.init(_,$);let D=new RegExp(`^${g$($.prefix)}.*`);$.pattern??($.pattern=D),_._zod.onattach.push((I)=>{let U=I._zod.bag;U.patterns??(U.patterns=new Set),U.patterns.add(D)}),_._zod.check=(I)=>{if(I.value.startsWith($.prefix))return;I.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:$.prefix,input:I.value,inst:_,continue:!$.abort})}}),EO=K("$ZodCheckEndsWith",(_,$)=>{Q_.init(_,$);let D=new RegExp(`.*${g$($.suffix)}$`);$.pattern??($.pattern=D),_._zod.onattach.push((I)=>{let U=I._zod.bag;U.patterns??(U.patterns=new Set),U.patterns.add(D)}),_._zod.check=(I)=>{if(I.value.endsWith($.suffix))return;I.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:$.suffix,input:I.value,inst:_,continue:!$.abort})}});jO=K("$ZodCheckProperty",(_,$)=>{Q_.init(_,$),_._zod.check=(D)=>{let I=$.schema._zod.run({value:D.value[$.property],issues:[]},{});if(I instanceof Promise)return I.then((U)=>eX(U,D,$.property));eX(I,D,$.property);return}}),NO=K("$ZodCheckMimeType",(_,$)=>{Q_.init(_,$);let D=new Set($.mime);_._zod.onattach.push((I)=>{I._zod.bag.mime=$.mime}),_._zod.check=(I)=>{if(D.has(I.value.type))return;I.issues.push({code:"invalid_value",values:$.mime,input:I.value.type,inst:_,continue:!$.abort})}}),AO=K("$ZodCheckOverwrite",(_,$)=>{Q_.init(_,$),_._zod.check=(D)=>{D.value=$.tx(D.value)}})});class lI{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 D=_.split(` -`).filter((E)=>E),I=Math.min(...D.map((E)=>E.length-E.trimStart().length)),U=D.map((E)=>E.slice(I)).map((E)=>" ".repeat(this.indent*2)+E);for(let E of U)this.content.push(E)}compile(){let _=Function,$=this?.args,I=[...(this?.content??[""]).map((U)=>` ${U}`)];return new _(...$,I.join(` -`))}}var OO;var SO=r(()=>{OO={major:4,minor:4,patch:3}});function kO(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function P5(_){if(!hI.test(_))return!1;let $=_.replace(/[-_]/g,(I)=>I==="-"?"+":"/"),D=$.padEnd(Math.ceil($.length/4)*4,"=");return kO(D)}function z5(_,$=null){try{let D=_.split(".");if(D.length!==3)return!1;let[I]=D;if(!I)return!1;let U=JSON.parse(atob(I));if("typ"in U&&U?.typ!=="JWT")return!1;if(!U.alg)return!1;if($&&(!("alg"in U)||U.alg!==$))return!1;return!0}catch{return!1}}function _5(_,$,D){if(_.issues.length)$.issues.push(...$$(D,_.issues));$.value[D]=_.value}function pI(_,$,D,I,U,E){let j=D in I;if(_.issues.length){if(U&&E&&!j)return;$.issues.push(...$$(D,_.issues))}if(!j&&!U){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[D]});return}if(_.value===void 0){if(j)$.value[D]=void 0}else $.value[D]=_.value}function g5(_){let $=Object.keys(_.shape);for(let I of $)if(!_.shape?.[I]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${I}": expected a Zod schema`);let D=AA(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(D)}}function X5(_,$,D,I,U,E){let j=[],N=U.keySet,O=U.catchall._zod,S=O.def.type,L=O.optin==="optional",W=O.optout==="optional";for(let g in $){if(g==="__proto__")continue;if(N.has(g))continue;if(S==="never"){j.push(g);continue}let z=O.run({value:$[g],issues:[]},I);if(z instanceof Promise)_.push(z.then((G)=>pI(G,D,g,$,L,W)));else pI(z,D,g,$,L,W)}if(j.length)D.issues.push({code:"unrecognized_keys",keys:j,input:$,inst:E});if(!_.length)return D;return Promise.all(_).then(()=>{return D})}function $5(_,$,D,I){for(let E of _)if(E.issues.length===0)return $.value=E.value,$;let U=_.filter((E)=>!r6(E));if(U.length===1)return $.value=U[0].value,U[0];return $.issues.push({code:"invalid_union",input:$.value,inst:D,errors:_.map((E)=>E.issues.map((j)=>t_(j,I,b_())))}),$}function D5(_,$,D,I){let U=_.filter((E)=>E.issues.length===0);if(U.length===1)return $.value=U[0].value,$;if(U.length===0)$.issues.push({code:"invalid_union",input:$.value,inst:D,errors:_.map((E)=>E.issues.map((j)=>t_(j,I,b_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:D,errors:[],inclusive:!1});return $}function LO(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(w6(_)&&w6($)){let D=Object.keys($),I=Object.keys(_).filter((E)=>D.indexOf(E)!==-1),U={..._,...$};for(let E of I){let j=LO(_[E],$[E]);if(!j.valid)return{valid:!1,mergeErrorPath:[E,...j.mergeErrorPath]};U[E]=j.data}return{valid:!0,data:U}}if(Array.isArray(_)&&Array.isArray($)){if(_.length!==$.length)return{valid:!1,mergeErrorPath:[]};let D=[];for(let I=0;I<_.length;I++){let U=_[I],E=$[I],j=LO(U,E);if(!j.valid)return{valid:!1,mergeErrorPath:[I,...j.mergeErrorPath]};D.push(j.data)}return{valid:!0,data:D}}return{valid:!1,mergeErrorPath:[]}}function U5(_,$,D){let I=new Map,U;for(let N of $.issues)if(N.code==="unrecognized_keys"){U??(U=N);for(let O of N.keys){if(!I.has(O))I.set(O,{});I.get(O).l=!0}}else _.issues.push(N);for(let N of D.issues)if(N.code==="unrecognized_keys")for(let O of N.keys){if(!I.has(O))I.set(O,{});I.get(O).r=!0}else _.issues.push(N);let E=[...I].filter(([,N])=>N.l&&N.r).map(([N])=>N);if(E.length&&U)_.issues.push({...U,keys:E});if(r6(_))return _;let j=LO($.value,D.value);if(!j.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(j.mergeErrorPath)}`);return _.value=j.data,_}function I5(_,$){for(let D=_.length-1;D>=0;D--)if(_[D]._zod[$]!=="optional")return D+1;return 0}function E5(_,$,D){if(_.issues.length)$.issues.push(...$$(D,_.issues));$.value[D]=_.value}function j5(_,$,D,I,U){for(let E=0;E=U){$.value.length=E;break}$.issues.push(...$$(E,j.issues))}$.value[E]=j.value}for(let E=$.value.length-1;E>=I.length;E--)if(D[E]._zod.optout==="optional"&&$.value[E]===void 0)$.value.length=E;else break;return $}function N5(_,$,D,I,U,E,j){if(_.issues.length)if(EU.has(typeof I))D.issues.push(...$$(I,_.issues));else D.issues.push({code:"invalid_key",origin:"map",input:U,inst:E,issues:_.issues.map((N)=>t_(N,j,b_()))});if($.issues.length)if(EU.has(typeof I))D.issues.push(...$$(I,$.issues));else D.issues.push({origin:"map",code:"invalid_element",input:U,inst:E,key:I,issues:$.issues.map((N)=>t_(N,j,b_()))});D.value.set(_.value,$.value)}function A5(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function O5(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function S5(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function L5(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function iI(_,$,D){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},D)}function tI(_,$,D){if(_.issues.length)return _.aborted=!0,_;if((D.direction||"forward")==="forward"){let U=$.transform(_.value,_);if(U instanceof Promise)return U.then((E)=>oI(_,E,$.out,D));return oI(_,U,$.out,D)}else{let U=$.reverseTransform(_.value,_);if(U instanceof Promise)return U.then((E)=>oI(_,E,$.in,D));return oI(_,U,$.in,D)}}function oI(_,$,D,I){if(_.issues.length)return _.aborted=!0,_;return D._zod.run({value:$,issues:_.issues},I)}function W5(_){return _.value=Object.freeze(_.value),_}function J5(_,$,D,I){if(!_){let U={code:"custom",input:D,inst:I,path:[...I._zod.def.path??[]],continue:!I._zod.def.abort};if(I._zod.def.params)U.params=I._zod.def.params;$.issues.push(v0(U))}}var p,Q4,Y_,WO,JO,PO,zO,gO,XO,GO,RO,YO,QO,KO,TO,FO,VO,BO,MO,ZO,HO,bO,qO,CO,vO,wO,rO,fO,eI,xO,WU,aI,uO,yO,hO,cO,nO,dO,mO,lO,iO,tO,G5,oO,JU,pO,eO,aO,sI,sO,_S,$S,DS,US,IS,ES,_E,jS,NS,AS,OS,SS,LS,WS,JS,$E,PU,PS,zS,gS,XS,GS,RS,YS;var QS=r(()=>{mI();G4();zA();cI();n();SO();n();p=K("$ZodType",(_,$)=>{var D;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=OO;let I=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))I.unshift(_);for(let U of I)for(let E of U._zod.onattach)E(_);if(I.length===0)(D=_._zod).deferred??(D.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let U=(j,N,O)=>{let S=r6(j),L;for(let W of N){if(W._zod.def.when){if(LA(j))continue;if(!W._zod.def.when(j))continue}else if(S)continue;let g=j.issues.length,z=W._zod.check(j);if(z instanceof Promise&&O?.async===!1)throw new m$;if(L||z instanceof Promise)L=(L??Promise.resolve()).then(async()=>{if(await z,j.issues.length===g)return;if(!S)S=r6(j,g)});else{if(j.issues.length===g)continue;if(!S)S=r6(j,g)}}if(L)return L.then(()=>{return j});return j},E=(j,N,O)=>{if(r6(j))return j.aborted=!0,j;let S=U(N,I,O);if(S instanceof Promise){if(O.async===!1)throw new m$;return S.then((L)=>_._zod.parse(L,O))}return _._zod.parse(S,O)};_._zod.run=(j,N)=>{if(N.skipChecks)return _._zod.parse(j,N);if(N.direction==="backward"){let S=_._zod.parse({value:j.value,issues:[]},{...N,skipChecks:!0});if(S instanceof Promise)return S.then((L)=>{return E(L,j,N)});return E(S,j,N)}let O=_._zod.parse(j,N);if(O instanceof Promise){if(N.async===!1)throw new m$;return O.then((S)=>U(S,I,N))}return U(O,I,N)}}D_(_,"~standard",()=>({validate:(U)=>{try{let E=JA(_,U);return E.success?{value:E.data}:{issues:E.error?.issues}}catch(E){return PA(_,U).then((j)=>j.success?{value:j.data}:{issues:j.error?.issues})}},vendor:"zod",version:1}))}),Q4=K("$ZodString",(_,$)=>{p.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??fA(_._zod.bag),_._zod.parse=(D,I)=>{if($.coerce)try{D.value=String(D.value)}catch(U){}if(typeof D.value==="string")return D;return D.issues.push({expected:"string",code:"invalid_type",input:D.value,inst:_}),D}}),Y_=K("$ZodStringFormat",(_,$)=>{h0.init(_,$),Q4.init(_,$)}),WO=K("$ZodGUID",(_,$)=>{$.pattern??($.pattern=TA),Y_.init(_,$)}),JO=K("$ZodUUID",(_,$)=>{if($.version){let I={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[$.version];if(I===void 0)throw Error(`Invalid UUID version: "${$.version}"`);$.pattern??($.pattern=Y4(I))}else $.pattern??($.pattern=Y4());Y_.init(_,$)}),PO=K("$ZodEmail",(_,$)=>{$.pattern??($.pattern=FA),Y_.init(_,$)}),zO=K("$ZodURL",(_,$)=>{Y_.init(_,$),_._zod.check=(D)=>{try{let I=D.value.trim();if(!$.normalize&&$.protocol?.source===kA.source){if(!/^https?:\/\//i.test(I)){D.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:D.value,inst:_,continue:!$.abort});return}}let U=new URL(I);if($.hostname){if($.hostname.lastIndex=0,!$.hostname.test(U.hostname))D.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:$.hostname.source,input:D.value,inst:_,continue:!$.abort})}if($.protocol){if($.protocol.lastIndex=0,!$.protocol.test(U.protocol.endsWith(":")?U.protocol.slice(0,-1):U.protocol))D.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:$.protocol.source,input:D.value,inst:_,continue:!$.abort})}if($.normalize)D.value=U.href;else D.value=I;return}catch(I){D.issues.push({code:"invalid_format",format:"url",input:D.value,inst:_,continue:!$.abort})}}}),gO=K("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=VA()),Y_.init(_,$)}),XO=K("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=QA),Y_.init(_,$)}),GO=K("$ZodCUID",(_,$)=>{$.pattern??($.pattern=gA),Y_.init(_,$)}),RO=K("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=XA),Y_.init(_,$)}),YO=K("$ZodULID",(_,$)=>{$.pattern??($.pattern=GA),Y_.init(_,$)}),QO=K("$ZodXID",(_,$)=>{$.pattern??($.pattern=RA),Y_.init(_,$)}),KO=K("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=YA),Y_.init(_,$)}),TO=K("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=rA($)),Y_.init(_,$)}),FO=K("$ZodISODate",(_,$)=>{$.pattern??($.pattern=vA),Y_.init(_,$)}),VO=K("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=wA($)),Y_.init(_,$)}),BO=K("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=KA),Y_.init(_,$)}),MO=K("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=BA),Y_.init(_,$),_._zod.bag.format="ipv4"}),ZO=K("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=MA),Y_.init(_,$),_._zod.bag.format="ipv6",_._zod.check=(D)=>{try{new URL(`http://[${D.value}]`)}catch{D.issues.push({code:"invalid_format",format:"ipv6",input:D.value,inst:_,continue:!$.abort})}}}),HO=K("$ZodMAC",(_,$)=>{$.pattern??($.pattern=ZA($.delimiter)),Y_.init(_,$),_._zod.bag.format="mac"}),bO=K("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=HA),Y_.init(_,$)}),qO=K("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=bA),Y_.init(_,$),_._zod.check=(D)=>{let I=D.value.split("/");try{if(I.length!==2)throw Error();let[U,E]=I;if(!E)throw Error();let j=Number(E);if(`${j}`!==E)throw Error();if(j<0||j>128)throw Error();new URL(`http://[${U}]`)}catch{D.issues.push({code:"invalid_format",format:"cidrv6",input:D.value,inst:_,continue:!$.abort})}}});CO=K("$ZodBase64",(_,$)=>{$.pattern??($.pattern=qA),Y_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(D)=>{if(kO(D.value))return;D.issues.push({code:"invalid_format",format:"base64",input:D.value,inst:_,continue:!$.abort})}});vO=K("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=hI),Y_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(D)=>{if(P5(D.value))return;D.issues.push({code:"invalid_format",format:"base64url",input:D.value,inst:_,continue:!$.abort})}}),wO=K("$ZodE164",(_,$)=>{$.pattern??($.pattern=CA),Y_.init(_,$)});rO=K("$ZodJWT",(_,$)=>{Y_.init(_,$),_._zod.check=(D)=>{if(z5(D.value,$.alg))return;D.issues.push({code:"invalid_format",format:"jwt",input:D.value,inst:_,continue:!$.abort})}}),fO=K("$ZodCustomStringFormat",(_,$)=>{Y_.init(_,$),_._zod.check=(D)=>{if($.fn(D.value))return;D.issues.push({code:"invalid_format",format:$.format,input:D.value,inst:_,continue:!$.abort})}}),eI=K("$ZodNumber",(_,$)=>{p.init(_,$),_._zod.pattern=_._zod.bag.pattern??OU,_._zod.parse=(D,I)=>{if($.coerce)try{D.value=Number(D.value)}catch(j){}let U=D.value;if(typeof U==="number"&&!Number.isNaN(U)&&Number.isFinite(U))return D;let E=typeof U==="number"?Number.isNaN(U)?"NaN":!Number.isFinite(U)?"Infinity":void 0:void 0;return D.issues.push({expected:"number",code:"invalid_type",input:U,inst:_,...E?{received:E}:{}}),D}}),xO=K("$ZodNumberFormat",(_,$)=>{lA.init(_,$),eI.init(_,$)}),WU=K("$ZodBoolean",(_,$)=>{p.init(_,$),_._zod.pattern=yA,_._zod.parse=(D,I)=>{if($.coerce)try{D.value=Boolean(D.value)}catch(E){}let U=D.value;if(typeof U==="boolean")return D;return D.issues.push({expected:"boolean",code:"invalid_type",input:U,inst:_}),D}}),aI=K("$ZodBigInt",(_,$)=>{p.init(_,$),_._zod.pattern=xA,_._zod.parse=(D,I)=>{if($.coerce)try{D.value=BigInt(D.value)}catch(U){}if(typeof D.value==="bigint")return D;return D.issues.push({expected:"bigint",code:"invalid_type",input:D.value,inst:_}),D}}),uO=K("$ZodBigIntFormat",(_,$)=>{iA.init(_,$),aI.init(_,$)}),yO=K("$ZodSymbol",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(typeof U==="symbol")return D;return D.issues.push({expected:"symbol",code:"invalid_type",input:U,inst:_}),D}}),hO=K("$ZodUndefined",(_,$)=>{p.init(_,$),_._zod.pattern=cA,_._zod.values=new Set([void 0]),_._zod.parse=(D,I)=>{let U=D.value;if(typeof U>"u")return D;return D.issues.push({expected:"undefined",code:"invalid_type",input:U,inst:_}),D}}),cO=K("$ZodNull",(_,$)=>{p.init(_,$),_._zod.pattern=hA,_._zod.values=new Set([null]),_._zod.parse=(D,I)=>{let U=D.value;if(U===null)return D;return D.issues.push({expected:"null",code:"invalid_type",input:U,inst:_}),D}}),nO=K("$ZodAny",(_,$)=>{p.init(_,$),_._zod.parse=(D)=>D}),dO=K("$ZodUnknown",(_,$)=>{p.init(_,$),_._zod.parse=(D)=>D}),mO=K("$ZodNever",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{return D.issues.push({expected:"never",code:"invalid_type",input:D.value,inst:_}),D}}),lO=K("$ZodVoid",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(typeof U>"u")return D;return D.issues.push({expected:"void",code:"invalid_type",input:U,inst:_}),D}}),iO=K("$ZodDate",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{if($.coerce)try{D.value=new Date(D.value)}catch(N){}let U=D.value,E=U instanceof Date;if(E&&!Number.isNaN(U.getTime()))return D;return D.issues.push({expected:"date",code:"invalid_type",input:U,...E?{received:"Invalid Date"}:{},inst:_}),D}});tO=K("$ZodArray",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(!Array.isArray(U))return D.issues.push({expected:"array",code:"invalid_type",input:U,inst:_}),D;D.value=Array(U.length);let E=[];for(let j=0;j_5(S,D,j)));else _5(O,D,j)}if(E.length)return Promise.all(E).then(()=>D);return D}});G5=K("$ZodObject",(_,$)=>{if(p.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let N=$.shape;Object.defineProperty($,"shape",{get:()=>{let O={...N};return Object.defineProperty($,"shape",{value:O}),O}})}let I=C0(()=>g5($));D_(_._zod,"propValues",()=>{let N=$.shape,O={};for(let S in N){let L=N[S]._zod;if(L.values){O[S]??(O[S]=new Set);for(let W of L.values)O[S].add(W)}}return O});let U=R4,E=$.catchall,j;_._zod.parse=(N,O)=>{j??(j=I.value);let S=N.value;if(!U(S))return N.issues.push({expected:"object",code:"invalid_type",input:S,inst:_}),N;N.value={};let L=[],W=j.shape;for(let g of j.keys){let z=W[g],G=z._zod.optin==="optional",J=z._zod.optout==="optional",P=z._zod.run({value:S[g],issues:[]},O);if(P instanceof Promise)L.push(P.then((X)=>pI(X,N,g,S,G,J)));else pI(P,N,g,S,G,J)}if(!E)return L.length?Promise.all(L).then(()=>N):N;return X5(L,S,N,O,I.value,_)}}),oO=K("$ZodObjectJIT",(_,$)=>{G5.init(_,$);let D=_._zod.parse,I=C0(()=>g5($)),U=(g)=>{let z=new lI(["shape","payload","ctx"]),G=I.value,J=(T)=>{let Y=MI(T);return`shape[${Y}]._zod.run({ value: input[${Y}], issues: [] }, ctx)`};z.write("const input = payload.value;");let P=Object.create(null),X=0;for(let T of G.keys)P[T]=`key_${X++}`;z.write("const newResult = {};");for(let T of G.keys){let Y=P[T],Q=MI(T),F=g[T],B=F?._zod?.optin==="optional",b=F?._zod?.optout==="optional";if(z.write(`const ${Y} = ${J(T)};`),B&&b)z.write(` - if (${Y}.issues.length) { - if (${Q} in input) { - payload.issues = payload.issues.concat(${Y}.issues.map(iss => ({ +var y7=Object.create;var{getPrototypeOf:u7,defineProperty:W2,getOwnPropertyNames:h7}=Object;var r7=Object.prototype.hasOwnProperty;function c7(_){return this[_]}var m7,n7,d7=(_,$,U)=>{var j=_!=null&&typeof _==="object";if(j){var D=$?m7??=new WeakMap:n7??=new WeakMap,N=D.get(_);if(N)return N}U=_!=null?y7(u7(_)):{};let E=$||!_||!_.__esModule?W2(U,"default",{value:_,enumerable:!0}):U;for(let I of h7(_))if(!r7.call(E,I))W2(E,I,{get:c7.bind(_,I),enumerable:!0});if(j)D.set(_,E);return E};var O4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var l7=(_)=>_;function i7(_,$){this[_]=l7.bind(null,$)}var l$=(_,$)=>{for(var U in $)W2(_,U,{get:$[U],enumerable:!0,configurable:!0,set:i7.bind($,U)})};var f=(_,$)=>()=>(_&&($=_(_=0)),$);var S_=import.meta.require;function V(_,$,U){function j(I,W){if(!I._zod)Object.defineProperty(I,"_zod",{value:{def:W,constr:E,traits:new Set},enumerable:!1});if(I._zod.traits.has(_))return;I._zod.traits.add(_),$(I,W);let J=E.prototype,L=Object.keys(J);for(let S=0;S{if(U?.Parent&&I instanceof U.Parent)return!0;return I?._zod?.traits?.has(_)}}),Object.defineProperty(E,"name",{value:_}),E}function C_(_){if(_)Object.assign(M4,_);return M4}var H9,lj,ij,s$,Z4,M4;var H4=f(()=>{lj=Object.freeze({status:"aborted"});ij=Symbol("zod_brand");s$=class s$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Z4=class Z4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(H9=globalThis).__zod_globalConfig??(H9.__zod_globalConfig={});M4=globalThis.__zod_globalConfig});var k={};l$(k,{unwrapMessage:()=>QD,uint8ArrayToHex:()=>JM,uint8ArrayToBase64url:()=>AM,uint8ArrayToBase64:()=>C9,stringifyPrimitive:()=>M,slugify:()=>CA,shallowClone:()=>wA,safeExtend:()=>UM,required:()=>NM,randomString:()=>og,propertyKeyTypes:()=>VD,promiseAllObject:()=>tg,primitiveTypes:()=>vA,prefixIssues:()=>I$,pick:()=>sg,partial:()=>jM,parsedType:()=>Z,optionalKeys:()=>fA,omit:()=>_M,objectClone:()=>dg,numKeys:()=>pg,nullish:()=>m6,normalizeParams:()=>w,mergeDefs:()=>T6,merge:()=>DM,jsonStringifyReplacer:()=>n0,joinValues:()=>K,issue:()=>l0,isPlainObject:()=>d6,isObject:()=>q4,hexToUint8Array:()=>WM,getSizableOrigin:()=>BD,getParsedType:()=>ag,getLengthableOrigin:()=>FD,getEnumValues:()=>GD,getElementAtPath:()=>ig,floatSafeRemainder:()=>kA,finalizeIssue:()=>_$,extend:()=>$M,explicitlyAborted:()=>uA,escapeRegex:()=>F$,esc:()=>tj,defineLazy:()=>U_,createTransparentProxy:()=>eg,cloneDef:()=>lg,clone:()=>i_,cleanRegex:()=>TD,cleanEnum:()=>EM,captureStackTrace:()=>oj,cached:()=>d0,base64urlToUint8Array:()=>IM,base64ToUint8Array:()=>k9,assignProp:()=>n6,assertNotEqual:()=>rg,assertNever:()=>mg,assertIs:()=>cg,assertEqual:()=>hg,assert:()=>ng,allowsEval:()=>bA,aborted:()=>l6,NUMBER_FORMAT_RANGES:()=>xA,Class:()=>b9,BIGINT_FORMAT_RANGES:()=>yA});function hg(_){return _}function rg(_){return _}function cg(_){}function mg(_){throw Error("Unexpected value in exhaustive check")}function ng(_){}function GD(_){let $=Object.values(_).filter((j)=>typeof j==="number");return Object.entries(_).filter(([j,D])=>$.indexOf(+j)===-1).map(([j,D])=>D)}function K(_,$="|"){return _.map((U)=>M(U)).join($)}function n0(_,$){if(typeof $==="bigint")return $.toString();return $}function d0(_){return{get value(){{let U=_();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m6(_){return _===null||_===void 0}function TD(_){let $=_.startsWith("^")?1:0,U=_.endsWith("$")?_.length-1:_.length;return _.slice($,U)}function kA(_,$){let U=_/$,j=Math.round(U),D=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-j)U?.[j],_)}function tg(_){let $=Object.keys(_),U=$.map((j)=>_[j]);return Promise.all(U).then((j)=>{let D={};for(let N=0;N<$.length;N++)D[$[N]]=j[N];return D})}function og(_=10){let U="";for(let j=0;j<_;j++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function tj(_){return JSON.stringify(_)}function CA(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function q4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function d6(_){if(q4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let U=$.prototype;if(q4(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function wA(_){if(d6(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function pg(_){let $=0;for(let U in _)if(Object.prototype.hasOwnProperty.call(_,U))$++;return $}function F$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function i_(_,$,U){let j=new _._zod.constr($??_._zod.def);if(!$||U?.parent)j._zod.parent=_;return j}function w(_){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 eg(_){let $;return new Proxy({},{get(U,j,D){return $??($=_()),Reflect.get($,j,D)},set(U,j,D,N){return $??($=_()),Reflect.set($,j,D,N)},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 M(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function fA(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function sg(_,$){let U=_._zod.def,j=U.checks;if(j&&j.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let N=T6(_._zod.def,{get shape(){let E={};for(let I in $){if(!(I in U.shape))throw Error(`Unrecognized key: "${I}"`);if(!$[I])continue;E[I]=U.shape[I]}return n6(this,"shape",E),E},checks:[]});return i_(_,N)}function _M(_,$){let U=_._zod.def,j=U.checks;if(j&&j.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let N=T6(_._zod.def,{get shape(){let E={..._._zod.def.shape};for(let I in $){if(!(I in U.shape))throw Error(`Unrecognized key: "${I}"`);if(!$[I])continue;delete E[I]}return n6(this,"shape",E),E},checks:[]});return i_(_,N)}function $M(_,$){if(!d6($))throw Error("Invalid input to extend: expected a plain object");let U=_._zod.def.checks;if(U&&U.length>0){let N=_._zod.def.shape;for(let E in $)if(Object.getOwnPropertyDescriptor(N,E)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let D=T6(_._zod.def,{get shape(){let N={..._._zod.def.shape,...$};return n6(this,"shape",N),N}});return i_(_,D)}function UM(_,$){if(!d6($))throw Error("Invalid input to safeExtend: expected a plain object");let U=T6(_._zod.def,{get shape(){let j={..._._zod.def.shape,...$};return n6(this,"shape",j),j}});return i_(_,U)}function DM(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=T6(_._zod.def,{get shape(){let j={..._._zod.def.shape,...$._zod.def.shape};return n6(this,"shape",j),j},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return i_(_,U)}function jM(_,$,U){let D=$._zod.def.checks;if(D&&D.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let E=T6($._zod.def,{get shape(){let I=$._zod.def.shape,W={...I};if(U)for(let J in U){if(!(J in I))throw Error(`Unrecognized key: "${J}"`);if(!U[J])continue;W[J]=_?new _({type:"optional",innerType:I[J]}):I[J]}else for(let J in I)W[J]=_?new _({type:"optional",innerType:I[J]}):I[J];return n6(this,"shape",W),W},checks:[]});return i_($,E)}function NM(_,$,U){let j=T6($._zod.def,{get shape(){let D=$._zod.def.shape,N={...D};if(U)for(let E in U){if(!(E in N))throw Error(`Unrecognized key: "${E}"`);if(!U[E])continue;N[E]=new _({type:"nonoptional",innerType:D[E]})}else for(let E in D)N[E]=new _({type:"nonoptional",innerType:D[E]});return n6(this,"shape",N),N}});return i_($,j)}function l6(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue!==!0)return!0;return!1}function uA(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue===!1)return!0;return!1}function I$(_,$){return $.map((U)=>{var j;return(j=U).path??(j.path=[]),U.path.unshift(_),U})}function QD(_){return typeof _==="string"?_:_?.message}function _$(_,$,U){let j=_.message?_.message:QD(_.inst?._zod.def?.error?.(_))??QD($?.error?.(_))??QD(U.customError?.(_))??QD(U.localeError?.(_))??"Invalid input",{inst:D,continue:N,input:E,...I}=_;if(I.path??(I.path=[]),I.message=j,$?.reportInput)I.input=E;return I}function BD(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function FD(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function Z(_){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 l0(..._){let[$,U,j]=_;if(typeof $==="string")return{message:$,code:"custom",input:U,inst:j};return{...$}}function EM(_){return Object.entries(_).filter(([$,U])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function k9(_){let $=atob(_),U=new Uint8Array($.length);for(let j=0;j<$.length;j++)U[j]=$.charCodeAt(j);return U}function C9(_){let $="";for(let U=0;U<_.length;U++)$+=String.fromCharCode(_[U]);return btoa($)}function IM(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-$.length%4)%4);return k9($+U)}function AM(_){return C9(_).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 JM(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class b9{constructor(..._){}}var q9,oj,bA,ag=(_)=>{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: ${$}`)}},VD,vA,xA,yA;var m=f(()=>{H4();q9=Symbol("evaluating");oj="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};bA=d0(()=>{if(M4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});VD=new Set(["string","number","symbol"]),vA=new Set(["string","number","bigint","boolean","symbol","undefined"]);xA={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]},yA={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function i0(_,$=(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 t0(_,$=(U)=>U.message){let U={_errors:[]},j=(D,N=[])=>{for(let E of D.issues)if(E.code==="invalid_union"&&E.errors.length)E.errors.map((I)=>j({issues:I},[...N,...E.path]));else if(E.code==="invalid_key")j({issues:E.issues},[...N,...E.path]);else if(E.code==="invalid_element")j({issues:E.issues},[...N,...E.path]);else{let I=[...N,...E.path];if(I.length===0)U._errors.push($(E));else{let W=U,J=0;while(JU.message){let U={errors:[]},j=(D,N=[])=>{var E,I;for(let W of D.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((J)=>j({issues:J},[...N,...W.path]));else if(W.code==="invalid_key")j({issues:W.issues},[...N,...W.path]);else if(W.code==="invalid_element")j({issues:W.issues},[...N,...W.path]);else{let J=[...N,...W.path];if(J.length===0){U.errors.push($(W));continue}let L=U,S=0;while(Stypeof 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 aj(_){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 ${v9(j.path)}`);return $.join(` +`)}var w9=(_,$)=>{_.name="$ZodError",Object.defineProperty(_,"_zod",{value:_._zod,enumerable:!1}),Object.defineProperty(_,"issues",{value:$,enumerable:!1}),_.message=JSON.stringify($,n0,2),Object.defineProperty(_,"toString",{value:()=>_.message,enumerable:!1})},KD,A$;var hA=f(()=>{H4();m();KD=V("$ZodError",w9),A$=V("$ZodError",w9,{Parent:Error})});var o0=(_)=>($,U,j,D)=>{let N=j?{...j,async:!1}:{async:!1},E=$._zod.run({value:U,issues:[]},N);if(E instanceof Promise)throw new s$;if(E.issues.length){let I=new(D?.Err??_)(E.issues.map((W)=>_$(W,N,C_())));throw oj(I,D?.callee),I}return E.value},ej,p0=(_)=>async($,U,j,D)=>{let N=j?{...j,async:!0}:{async:!0},E=$._zod.run({value:U,issues:[]},N);if(E instanceof Promise)E=await E;if(E.issues.length){let I=new(D?.Err??_)(E.issues.map((W)=>_$(W,N,C_())));throw oj(I,D?.callee),I}return E.value},sj,a0=(_)=>($,U,j)=>{let D=j?{...j,async:!1}:{async:!1},N=$._zod.run({value:U,issues:[]},D);if(N instanceof Promise)throw new s$;return N.issues.length?{success:!1,error:new(_??KD)(N.issues.map((E)=>_$(E,D,C_())))}:{success:!0,data:N.value}},rA,e0=(_)=>async($,U,j)=>{let D=j?{...j,async:!0}:{async:!0},N=$._zod.run({value:U,issues:[]},D);if(N instanceof Promise)N=await N;return N.issues.length?{success:!1,error:new _(N.issues.map((E)=>_$(E,D,C_())))}:{success:!0,data:N.value}},cA,_N=(_)=>($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return o0(_)($,U,D)},SM,$N=(_)=>($,U,j)=>{return o0(_)($,U,j)},PM,UN=(_)=>async($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return p0(_)($,U,D)},OM,DN=(_)=>async($,U,j)=>{return p0(_)($,U,j)},zM,jN=(_)=>($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return a0(_)($,U,D)},XM,NN=(_)=>($,U,j)=>{return a0(_)($,U,j)},YM,EN=(_)=>async($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return e0(_)($,U,D)},RM,IN=(_)=>async($,U,j)=>{return e0(_)($,U,j)},QM;var mA=f(()=>{H4();hA();m();ej=o0(A$),sj=p0(A$),rA=a0(A$),cA=e0(A$),SM=_N(A$),PM=$N(A$),OM=UN(A$),zM=DN(A$),XM=jN(A$),YM=NN(A$),RM=EN(A$),QM=IN(A$)});var W$={};l$(W$,{xid:()=>iA,uuid7:()=>BM,uuid6:()=>VM,uuid4:()=>TM,uuid:()=>k4,uppercase:()=>RW,unicodeEmail:()=>f9,undefined:()=>XW,ulid:()=>lA,time:()=>WW,string:()=>LW,sha512_hex:()=>nM,sha512_base64url:()=>lM,sha512_base64:()=>dM,sha384_hex:()=>rM,sha384_base64url:()=>mM,sha384_base64:()=>cM,sha256_hex:()=>yM,sha256_base64url:()=>hM,sha256_base64:()=>uM,sha1_hex:()=>vM,sha1_base64url:()=>xM,sha1_base64:()=>fM,rfc5322Email:()=>KM,number:()=>gD,null:()=>zW,nanoid:()=>oA,md5_hex:()=>CM,md5_base64url:()=>wM,md5_base64:()=>bM,mac:()=>UW,lowercase:()=>YW,ksuid:()=>tA,ipv6:()=>$W,ipv4:()=>_W,integer:()=>PW,idnEmail:()=>gM,httpProtocol:()=>EW,html5Email:()=>FM,hostname:()=>HM,hex:()=>kM,guid:()=>aA,extendedDuration:()=>GM,emoji:()=>sA,email:()=>eA,e164:()=>IW,duration:()=>pA,domain:()=>qM,datetime:()=>JW,date:()=>AW,cuid2:()=>dA,cuid:()=>nA,cidrv6:()=>jW,cidrv4:()=>DW,browserEmail:()=>MM,boolean:()=>OW,bigint:()=>SW,base64url:()=>AN,base64:()=>NW});function sA(){return new RegExp(ZM,"u")}function y9(_){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 WW(_){return new RegExp(`^${y9(_)}$`)}function JW(_){let $=y9({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(`^${x9}T(?:${j})$`)}function MD(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function ZD(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var nA,dA,lA,iA,tA,oA,pA,GM,aA,k4=(_)=>{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})$`)},TM,VM,BM,eA,FM,KM,f9,gM,MM,ZM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_W,$W,UW=(_)=>{let $=F$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},DW,jW,NW,AN,HM,qM,EW,IW,x9="(?:(?:\\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])))",AW,LW=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},SW,PW,gD,OW,zW,XW,YW,RW,kM,CM,bM,wM,vM,fM,xM,yM,uM,hM,rM,cM,mM,nM,dM,lM;var WN=f(()=>{m();nA=/^[cC][0-9a-z]{6,}$/,dA=/^[0-9a-z]+$/,lA=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,iA=/^[0-9a-vA-V]{20}$/,tA=/^[A-Za-z0-9]{27}$/,oA=/^[a-zA-Z0-9_-]{21}$/,pA=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,GM=/^[-+]?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)?)??$/,aA=/^([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})$/,TM=k4(4),VM=k4(6),BM=k4(7),eA=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,FM=/^[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])?)*$/,KM=/^(([^<>()\[\]\\.,;:\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,}))$/,f9=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,gM=f9,MM=/^[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])?)*$/;_W=/^(?:(?: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])$/,$W=/^(([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}|:))$/,DW=/^((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])$/,jW=/^(([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])$/,NW=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,AN=/^[A-Za-z0-9_-]*$/,HM=/^(?=.{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])?)*\.?$/,qM=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,EW=/^https?$/,IW=/^\+[1-9]\d{6,14}$/,AW=new RegExp(`^${x9}$`);SW=/^-?\d+n?$/,PW=/^-?\d+$/,gD=/^-?\d+(?:\.\d+)?$/,OW=/^(?:true|false)$/i,zW=/^null$/i,XW=/^undefined$/i,YW=/^[^A-Z]*$/,RW=/^[^a-z]*$/,kM=/^[0-9a-fA-F]*$/;CM=/^[0-9a-fA-F]{32}$/,bM=MD(22,"=="),wM=ZD(22),vM=/^[0-9a-fA-F]{40}$/,fM=MD(27,"="),xM=ZD(27),yM=/^[0-9a-fA-F]{64}$/,uM=MD(43,"="),hM=ZD(43),rM=/^[0-9a-fA-F]{96}$/,cM=MD(64,""),mM=ZD(64),nM=/^[0-9a-fA-F]{128}$/,dM=MD(86,"=="),lM=ZD(86)});function u9(_,$,U){if(_.issues.length)$.issues.push(...I$(U,_.issues))}var V_,h9,JN,LN,QW,GW,TW,VW,BW,FW,KW,gW,MW,s0,ZW,HW,qW,kW,CW,bW,wW,vW,fW;var SN=f(()=>{H4();WN();m();V_=V("$ZodCheck",(_,$)=>{var U;_._zod??(_._zod={}),_._zod.def=$,(U=_._zod).onattach??(U.onattach=[])}),h9={number:"number",bigint:"bigint",object:"date"},JN=V("$ZodCheckLessThan",(_,$)=>{V_.init(_,$);let U=h9[typeof $.value];_._zod.onattach.push((j)=>{let D=j._zod.bag,N=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value{if($.inclusive?j.value<=$.value:j.value<$.value)return;j.issues.push({origin:U,code:"too_big",maximum:typeof $.value==="object"?$.value.getTime():$.value,input:j.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),LN=V("$ZodCheckGreaterThan",(_,$)=>{V_.init(_,$);let U=h9[typeof $.value];_._zod.onattach.push((j)=>{let D=j._zod.bag,N=($.inclusive?D.minimum:D.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if($.value>N)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})}}),QW=V("$ZodCheckMultipleOf",(_,$)=>{V_.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):kA(U.value,$.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:$.value,input:U.value,inst:_,continue:!$.abort})}}),GW=V("$ZodCheckNumberFormat",(_,$)=>{V_.init(_,$),$.format=$.format||"float64";let U=$.format?.includes("int"),j=U?"int":"number",[D,N]=xA[$.format];_._zod.onattach.push((E)=>{let I=E._zod.bag;if(I.format=$.format,I.minimum=D,I.maximum=N,U)I.pattern=PW}),_._zod.check=(E)=>{let I=E.value;if(U){if(!Number.isInteger(I)){E.issues.push({expected:j,format:$.format,code:"invalid_type",continue:!1,input:I,inst:_});return}if(!Number.isSafeInteger(I)){if(I>0)E.issues.push({input:I,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 E.issues.push({input:I,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(IN)E.issues.push({origin:"number",input:I,code:"too_big",maximum:N,inclusive:!0,inst:_,continue:!$.abort})}}),TW=V("$ZodCheckBigIntFormat",(_,$)=>{V_.init(_,$);let[U,j]=yA[$.format];_._zod.onattach.push((D)=>{let N=D._zod.bag;N.format=$.format,N.minimum=U,N.maximum=j}),_._zod.check=(D)=>{let N=D.value;if(Nj)D.issues.push({origin:"bigint",input:N,code:"too_big",maximum:j,inclusive:!0,inst:_,continue:!$.abort})}}),VW=V("$ZodCheckMaxSize",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(D)&&D.size!==void 0}),_._zod.onattach.push((j)=>{let D=j._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=j.value;if(D.size<=$.maximum)return;j.issues.push({origin:BD(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),BW=V("$ZodCheckMinSize",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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:BD(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),FW=V("$ZodCheckSizeEquals",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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,N=D.size;if(N===$.size)return;let E=N>$.size;j.issues.push({origin:BD(D),...E?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:j.value,inst:_,continue:!$.abort})}}),KW=V("$ZodCheckMaxLength",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(D)&&D.length!==void 0}),_._zod.onattach.push((j)=>{let D=j._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=j.value;if(D.length<=$.maximum)return;let E=FD(D);j.issues.push({origin:E,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),gW=V("$ZodCheckMinLength",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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 E=FD(D);j.issues.push({origin:E,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),MW=V("$ZodCheckLengthEquals",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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,N=D.length;if(N===$.length)return;let E=FD(D),I=N>$.length;j.issues.push({origin:E,...I?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:j.value,inst:_,continue:!$.abort})}}),s0=V("$ZodCheckStringFormat",(_,$)=>{var U,j;if(V_.init(_,$),_._zod.onattach.push((D)=>{let N=D._zod.bag;if(N.format=$.format,$.pattern)N.patterns??(N.patterns=new Set),N.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=()=>{})}),ZW=V("$ZodCheckRegex",(_,$)=>{s0.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})}}),HW=V("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=YW),s0.init(_,$)}),qW=V("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=RW),s0.init(_,$)}),kW=V("$ZodCheckIncludes",(_,$)=>{V_.init(_,$);let U=F$($.includes),j=new RegExp(typeof $.position==="number"?`^.{${$.position}}${U}`:U);$.pattern=j,_._zod.onattach.push((D)=>{let N=D._zod.bag;N.patterns??(N.patterns=new Set),N.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})}}),CW=V("$ZodCheckStartsWith",(_,$)=>{V_.init(_,$);let U=new RegExp(`^${F$($.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})}}),bW=V("$ZodCheckEndsWith",(_,$)=>{V_.init(_,$);let U=new RegExp(`.*${F$($.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})}});wW=V("$ZodCheckProperty",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{let j=$.schema._zod.run({value:U.value[$.property],issues:[]},{});if(j instanceof Promise)return j.then((D)=>u9(D,U,$.property));u9(j,U,$.property);return}}),vW=V("$ZodCheckMimeType",(_,$)=>{V_.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})}}),fW=V("$ZodCheckOverwrite",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{U.value=$.tx(U.value)}})});class PN{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((N)=>N),j=Math.min(...U.map((N)=>N.length-N.trimStart().length)),D=U.map((N)=>N.slice(j)).map((N)=>" ".repeat(this.indent*2)+N);for(let N of D)this.content.push(N)}compile(){let _=Function,$=this?.args,j=[...(this?.content??[""]).map((D)=>` ${D}`)];return new _(...$,j.join(` +`))}}var xW;var yW=f(()=>{xW={major:4,minor:4,patch:3}});function EJ(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function U8(_){if(!AN.test(_))return!1;let $=_.replace(/[-_]/g,(j)=>j==="-"?"+":"/"),U=$.padEnd(Math.ceil($.length/4)*4,"=");return EJ(U)}function D8(_,$=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 c9(_,$,U){if(_.issues.length)$.issues.push(...I$(U,_.issues));$.value[U]=_.value}function YN(_,$,U,j,D,N){let E=U in j;if(_.issues.length){if(D&&N&&!E)return;$.issues.push(...I$(U,_.issues))}if(!E&&!D){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if(_.value===void 0){if(E)$.value[U]=void 0}else $.value[U]=_.value}function j8(_){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=fA(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(U)}}function N8(_,$,U,j,D,N){let E=[],I=D.keySet,W=D.catchall._zod,J=W.def.type,L=W.optin==="optional",S=W.optout==="optional";for(let X in $){if(X==="__proto__")continue;if(I.has(X))continue;if(J==="never"){E.push(X);continue}let z=W.run({value:$[X],issues:[]},j);if(z instanceof Promise)_.push(z.then((R)=>YN(R,U,X,$,L,S)));else YN(z,U,X,$,L,S)}if(E.length)U.issues.push({code:"unrecognized_keys",keys:E,input:$,inst:N});if(!_.length)return U;return Promise.all(_).then(()=>{return U})}function m9(_,$,U,j){for(let N of _)if(N.issues.length===0)return $.value=N.value,$;let D=_.filter((N)=>!l6(N));if(D.length===1)return $.value=D[0].value,D[0];return $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:_.map((N)=>N.issues.map((E)=>_$(E,j,C_())))}),$}function n9(_,$,U,j){let D=_.filter((N)=>N.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((N)=>N.issues.map((E)=>_$(E,j,C_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:[],inclusive:!1});return $}function uW(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(d6(_)&&d6($)){let U=Object.keys($),j=Object.keys(_).filter((N)=>U.indexOf(N)!==-1),D={..._,...$};for(let N of j){let E=uW(_[N],$[N]);if(!E.valid)return{valid:!1,mergeErrorPath:[N,...E.mergeErrorPath]};D[N]=E.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],N=$[j],E=uW(D,N);if(!E.valid)return{valid:!1,mergeErrorPath:[j,...E.mergeErrorPath]};U.push(E.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function d9(_,$,U){let j=new Map,D;for(let I of $.issues)if(I.code==="unrecognized_keys"){D??(D=I);for(let W of I.keys){if(!j.has(W))j.set(W,{});j.get(W).l=!0}}else _.issues.push(I);for(let I of U.issues)if(I.code==="unrecognized_keys")for(let W of I.keys){if(!j.has(W))j.set(W,{});j.get(W).r=!0}else _.issues.push(I);let N=[...j].filter(([,I])=>I.l&&I.r).map(([I])=>I);if(N.length&&D)_.issues.push({...D,keys:N});if(l6(_))return _;let E=uW($.value,U.value);if(!E.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(E.mergeErrorPath)}`);return _.value=E.data,_}function l9(_,$){for(let U=_.length-1;U>=0;U--)if(_[U]._zod[$]!=="optional")return U+1;return 0}function i9(_,$,U){if(_.issues.length)$.issues.push(...I$(U,_.issues));$.value[U]=_.value}function t9(_,$,U,j,D){for(let N=0;N=D){$.value.length=N;break}$.issues.push(...I$(N,E.issues))}$.value[N]=E.value}for(let N=$.value.length-1;N>=j.length;N--)if(U[N]._zod.optout==="optional"&&$.value[N]===void 0)$.value.length=N;else break;return $}function o9(_,$,U,j,D,N,E){if(_.issues.length)if(VD.has(typeof j))U.issues.push(...I$(j,_.issues));else U.issues.push({code:"invalid_key",origin:"map",input:D,inst:N,issues:_.issues.map((I)=>_$(I,E,C_()))});if($.issues.length)if(VD.has(typeof j))U.issues.push(...I$(j,$.issues));else U.issues.push({origin:"map",code:"invalid_element",input:D,inst:N,key:j,issues:$.issues.map((I)=>_$(I,E,C_()))});U.value.set(_.value,$.value)}function p9(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function a9(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function e9(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function s9(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function ON(_,$,U){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},U)}function zN(_,$,U){if(_.issues.length)return _.aborted=!0,_;if((U.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((N)=>XN(_,N,$.out,U));return XN(_,D,$.out,U)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((N)=>XN(_,N,$.in,U));return XN(_,D,$.in,U)}}function XN(_,$,U,j){if(_.issues.length)return _.aborted=!0,_;return U._zod.run({value:$,issues:_.issues},j)}function _8(_){return _.value=Object.freeze(_.value),_}function $8(_,$,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(l0(D))}}var p,C4,T_,hW,rW,cW,mW,nW,dW,lW,iW,tW,oW,pW,aW,eW,sW,_J,$J,UJ,DJ,jJ,NJ,IJ,AJ,WJ,JJ,LJ,RN,SJ,HD,QN,PJ,OJ,zJ,XJ,YJ,RJ,QJ,GJ,TJ,VJ,E8,BJ,qD,FJ,KJ,gJ,GN,MJ,ZJ,HJ,qJ,kJ,CJ,bJ,TN,wJ,vJ,fJ,xJ,yJ,uJ,hJ,rJ,VN,kD,cJ,mJ,nJ,dJ,lJ,iJ,tJ;var oJ=f(()=>{SN();H4();mA();WN();m();yW();m();p=V("$ZodType",(_,$)=>{var U;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=xW;let j=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))j.unshift(_);for(let D of j)for(let N of D._zod.onattach)N(_);if(j.length===0)(U=_._zod).deferred??(U.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let D=(E,I,W)=>{let J=l6(E),L;for(let S of I){if(S._zod.def.when){if(uA(E))continue;if(!S._zod.def.when(E))continue}else if(J)continue;let X=E.issues.length,z=S._zod.check(E);if(z instanceof Promise&&W?.async===!1)throw new s$;if(L||z instanceof Promise)L=(L??Promise.resolve()).then(async()=>{if(await z,E.issues.length===X)return;if(!J)J=l6(E,X)});else{if(E.issues.length===X)continue;if(!J)J=l6(E,X)}}if(L)return L.then(()=>{return E});return E},N=(E,I,W)=>{if(l6(E))return E.aborted=!0,E;let J=D(I,j,W);if(J instanceof Promise){if(W.async===!1)throw new s$;return J.then((L)=>_._zod.parse(L,W))}return _._zod.parse(J,W)};_._zod.run=(E,I)=>{if(I.skipChecks)return _._zod.parse(E,I);if(I.direction==="backward"){let J=_._zod.parse({value:E.value,issues:[]},{...I,skipChecks:!0});if(J instanceof Promise)return J.then((L)=>{return N(L,E,I)});return N(J,E,I)}let W=_._zod.parse(E,I);if(W instanceof Promise){if(I.async===!1)throw new s$;return W.then((J)=>D(J,j,I))}return D(W,j,I)}}U_(_,"~standard",()=>({validate:(D)=>{try{let N=rA(_,D);return N.success?{value:N.data}:{issues:N.error?.issues}}catch(N){return cA(_,D).then((E)=>E.success?{value:E.data}:{issues:E.error?.issues})}},vendor:"zod",version:1}))}),C4=V("$ZodString",(_,$)=>{p.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??LW(_._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}}),T_=V("$ZodStringFormat",(_,$)=>{s0.init(_,$),C4.init(_,$)}),hW=V("$ZodGUID",(_,$)=>{$.pattern??($.pattern=aA),T_.init(_,$)}),rW=V("$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=k4(j))}else $.pattern??($.pattern=k4());T_.init(_,$)}),cW=V("$ZodEmail",(_,$)=>{$.pattern??($.pattern=eA),T_.init(_,$)}),mW=V("$ZodURL",(_,$)=>{T_.init(_,$),_._zod.check=(U)=>{try{let j=U.value.trim();if(!$.normalize&&$.protocol?.source===EW.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})}}}),nW=V("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=sA()),T_.init(_,$)}),dW=V("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=oA),T_.init(_,$)}),lW=V("$ZodCUID",(_,$)=>{$.pattern??($.pattern=nA),T_.init(_,$)}),iW=V("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=dA),T_.init(_,$)}),tW=V("$ZodULID",(_,$)=>{$.pattern??($.pattern=lA),T_.init(_,$)}),oW=V("$ZodXID",(_,$)=>{$.pattern??($.pattern=iA),T_.init(_,$)}),pW=V("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=tA),T_.init(_,$)}),aW=V("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=JW($)),T_.init(_,$)}),eW=V("$ZodISODate",(_,$)=>{$.pattern??($.pattern=AW),T_.init(_,$)}),sW=V("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=WW($)),T_.init(_,$)}),_J=V("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=pA),T_.init(_,$)}),$J=V("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=_W),T_.init(_,$),_._zod.bag.format="ipv4"}),UJ=V("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=$W),T_.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})}}}),DJ=V("$ZodMAC",(_,$)=>{$.pattern??($.pattern=UW($.delimiter)),T_.init(_,$),_._zod.bag.format="mac"}),jJ=V("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=DW),T_.init(_,$)}),NJ=V("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=jW),T_.init(_,$),_._zod.check=(U)=>{let j=U.value.split("/");try{if(j.length!==2)throw Error();let[D,N]=j;if(!N)throw Error();let E=Number(N);if(`${E}`!==N)throw Error();if(E<0||E>128)throw Error();new URL(`http://[${D}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:_,continue:!$.abort})}}});IJ=V("$ZodBase64",(_,$)=>{$.pattern??($.pattern=NW),T_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(U)=>{if(EJ(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:_,continue:!$.abort})}});AJ=V("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=AN),T_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(U)=>{if(U8(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:_,continue:!$.abort})}}),WJ=V("$ZodE164",(_,$)=>{$.pattern??($.pattern=IW),T_.init(_,$)});JJ=V("$ZodJWT",(_,$)=>{T_.init(_,$),_._zod.check=(U)=>{if(D8(U.value,$.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:_,continue:!$.abort})}}),LJ=V("$ZodCustomStringFormat",(_,$)=>{T_.init(_,$),_._zod.check=(U)=>{if($.fn(U.value))return;U.issues.push({code:"invalid_format",format:$.format,input:U.value,inst:_,continue:!$.abort})}}),RN=V("$ZodNumber",(_,$)=>{p.init(_,$),_._zod.pattern=_._zod.bag.pattern??gD,_._zod.parse=(U,j)=>{if($.coerce)try{U.value=Number(U.value)}catch(E){}let D=U.value;if(typeof D==="number"&&!Number.isNaN(D)&&Number.isFinite(D))return U;let N=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:_,...N?{received:N}:{}}),U}}),SJ=V("$ZodNumberFormat",(_,$)=>{GW.init(_,$),RN.init(_,$)}),HD=V("$ZodBoolean",(_,$)=>{p.init(_,$),_._zod.pattern=OW,_._zod.parse=(U,j)=>{if($.coerce)try{U.value=Boolean(U.value)}catch(N){}let D=U.value;if(typeof D==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:D,inst:_}),U}}),QN=V("$ZodBigInt",(_,$)=>{p.init(_,$),_._zod.pattern=SW,_._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}}),PJ=V("$ZodBigIntFormat",(_,$)=>{TW.init(_,$),QN.init(_,$)}),OJ=V("$ZodSymbol",(_,$)=>{p.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}}),zJ=V("$ZodUndefined",(_,$)=>{p.init(_,$),_._zod.pattern=XW,_._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}}),XJ=V("$ZodNull",(_,$)=>{p.init(_,$),_._zod.pattern=zW,_._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}}),YJ=V("$ZodAny",(_,$)=>{p.init(_,$),_._zod.parse=(U)=>U}),RJ=V("$ZodUnknown",(_,$)=>{p.init(_,$),_._zod.parse=(U)=>U}),QJ=V("$ZodNever",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:_}),U}}),GJ=V("$ZodVoid",(_,$)=>{p.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}}),TJ=V("$ZodDate",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{if($.coerce)try{U.value=new Date(U.value)}catch(I){}let D=U.value,N=D instanceof Date;if(N&&!Number.isNaN(D.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:D,...N?{received:"Invalid Date"}:{},inst:_}),U}});VJ=V("$ZodArray",(_,$)=>{p.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 N=[];for(let E=0;Ec9(J,U,E)));else c9(W,U,E)}if(N.length)return Promise.all(N).then(()=>U);return U}});E8=V("$ZodObject",(_,$)=>{if(p.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let I=$.shape;Object.defineProperty($,"shape",{get:()=>{let W={...I};return Object.defineProperty($,"shape",{value:W}),W}})}let j=d0(()=>j8($));U_(_._zod,"propValues",()=>{let I=$.shape,W={};for(let J in I){let L=I[J]._zod;if(L.values){W[J]??(W[J]=new Set);for(let S of L.values)W[J].add(S)}}return W});let D=q4,N=$.catchall,E;_._zod.parse=(I,W)=>{E??(E=j.value);let J=I.value;if(!D(J))return I.issues.push({expected:"object",code:"invalid_type",input:J,inst:_}),I;I.value={};let L=[],S=E.shape;for(let X of E.keys){let z=S[X],R=z._zod.optin==="optional",P=z._zod.optout==="optional",O=z._zod.run({value:J[X],issues:[]},W);if(O instanceof Promise)L.push(O.then((Y)=>YN(Y,I,X,J,R,P)));else YN(O,I,X,J,R,P)}if(!N)return L.length?Promise.all(L).then(()=>I):I;return N8(L,J,I,W,j.value,_)}}),BJ=V("$ZodObjectJIT",(_,$)=>{E8.init(_,$);let U=_._zod.parse,j=d0(()=>j8($)),D=(X)=>{let z=new PN(["shape","payload","ctx"]),R=j.value,P=(B)=>{let G=tj(B);return`shape[${G}]._zod.run({ value: input[${G}], issues: [] }, ctx)`};z.write("const input = payload.value;");let O=Object.create(null),Y=0;for(let B of R.keys)O[B]=`key_${Y++}`;z.write("const newResult = {};");for(let B of R.keys){let G=O[B],T=tj(B),F=X[B],g=F?._zod?.optin==="optional",q=F?._zod?.optout==="optional";if(z.write(`const ${G} = ${P(B)};`),g&&q)z.write(` + if (${G}.issues.length) { + if (${T} in input) { + payload.issues = payload.issues.concat(${G}.issues.map(iss => ({ ...iss, - path: iss.path ? [${Q}, ...iss.path] : [${Q}] + path: iss.path ? [${T}, ...iss.path] : [${T}] }))); } } - if (${Y}.value === undefined) { - if (${Q} in input) { - newResult[${Q}] = undefined; + if (${G}.value === undefined) { + if (${T} in input) { + newResult[${T}] = undefined; } } else { - newResult[${Q}] = ${Y}.value; + newResult[${T}] = ${G}.value; } - `);else if(!B)z.write(` - const ${Y}_present = ${Q} in input; - if (${Y}.issues.length) { - payload.issues = payload.issues.concat(${Y}.issues.map(iss => ({ + `);else if(!g)z.write(` + const ${G}_present = ${T} in input; + if (${G}.issues.length) { + payload.issues = payload.issues.concat(${G}.issues.map(iss => ({ ...iss, - path: iss.path ? [${Q}, ...iss.path] : [${Q}] + path: iss.path ? [${T}, ...iss.path] : [${T}] }))); } - if (!${Y}_present && !${Y}.issues.length) { + if (!${G}_present && !${G}.issues.length) { payload.issues.push({ code: "invalid_type", expected: "nonoptional", input: undefined, - path: [${Q}] + path: [${T}] }); } - if (${Y}_present) { - if (${Y}.value === undefined) { - newResult[${Q}] = undefined; + if (${G}_present) { + if (${G}.value === undefined) { + newResult[${T}] = undefined; } else { - newResult[${Q}] = ${Y}.value; + newResult[${T}] = ${G}.value; } } `);else z.write(` - if (${Y}.issues.length) { - payload.issues = payload.issues.concat(${Y}.issues.map(iss => ({ + if (${G}.issues.length) { + payload.issues = payload.issues.concat(${G}.issues.map(iss => ({ ...iss, - path: iss.path ? [${Q}, ...iss.path] : [${Q}] + path: iss.path ? [${T}, ...iss.path] : [${T}] }))); } - if (${Y}.value === undefined) { - if (${Q} in input) { - newResult[${Q}] = undefined; + if (${G}.value === undefined) { + if (${T} in input) { + newResult[${T}] = undefined; } } else { - newResult[${Q}] = ${Y}.value; + newResult[${T}] = ${G}.value; } - `)}z.write("payload.value = newResult;"),z.write("return payload;");let R=z.compile();return(T,Y)=>R(g,T,Y)},E,j=R4,N=!g4.jitless,S=N&&EA.value,L=$.catchall,W;_._zod.parse=(g,z)=>{W??(W=I.value);let G=g.value;if(!j(G))return g.issues.push({expected:"object",code:"invalid_type",input:G,inst:_}),g;if(N&&S&&z?.async===!1&&z.jitless!==!0){if(!E)E=U($.shape);if(g=E(g,z),!L)return g;return X5([],G,g,z,W,_)}return D(g,z)}});JU=K("$ZodUnion",(_,$)=>{p.init(_,$),D_(_._zod,"optin",()=>$.options.some((I)=>I._zod.optin==="optional")?"optional":void 0),D_(_._zod,"optout",()=>$.options.some((I)=>I._zod.optout==="optional")?"optional":void 0),D_(_._zod,"values",()=>{if($.options.every((I)=>I._zod.values))return new Set($.options.flatMap((I)=>Array.from(I._zod.values)));return}),D_(_._zod,"pattern",()=>{if($.options.every((I)=>I._zod.pattern)){let I=$.options.map((U)=>U._zod.pattern);return new RegExp(`^(${I.map((U)=>IU(U.source)).join("|")})$`)}return});let D=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(I,U)=>{if(D)return D(I,U);let E=!1,j=[];for(let N of $.options){let O=N._zod.run({value:I.value,issues:[]},U);if(O instanceof Promise)j.push(O),E=!0;else{if(O.issues.length===0)return O;j.push(O)}}if(!E)return $5(j,I,_,U);return Promise.all(j).then((N)=>{return $5(N,I,_,U)})}});pO=K("$ZodXor",(_,$)=>{JU.init(_,$),$.inclusive=!1;let D=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(I,U)=>{if(D)return D(I,U);let E=!1,j=[];for(let N of $.options){let O=N._zod.run({value:I.value,issues:[]},U);if(O instanceof Promise)j.push(O),E=!0;else j.push(O)}if(!E)return D5(j,I,_,U);return Promise.all(j).then((N)=>{return D5(N,I,_,U)})}}),eO=K("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,JU.init(_,$);let D=_._zod.parse;D_(_._zod,"propValues",()=>{let U={};for(let E of $.options){let j=E._zod.propValues;if(!j||Object.keys(j).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(E)}"`);for(let[N,O]of Object.entries(j)){if(!U[N])U[N]=new Set;for(let S of O)U[N].add(S)}}return U});let I=C0(()=>{let U=$.options,E=new Map;for(let j of U){let N=j._zod.propValues?.[$.discriminator];if(!N||N.size===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(j)}"`);for(let O of N){if(E.has(O))throw Error(`Duplicate discriminator value "${String(O)}"`);E.set(O,j)}}return E});_._zod.parse=(U,E)=>{let j=U.value;if(!R4(j))return U.issues.push({code:"invalid_type",expected:"object",input:j,inst:_}),U;let N=I.value.get(j?.[$.discriminator]);if(N)return N._zod.run(U,E);if($.unionFallback||E.direction==="backward")return D(U,E);return U.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(I.value.keys()),input:j,path:[$.discriminator],inst:_}),U}}),aO=K("$ZodIntersection",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value,E=$.left._zod.run({value:U,issues:[]},I),j=$.right._zod.run({value:U,issues:[]},I);if(E instanceof Promise||j instanceof Promise)return Promise.all([E,j]).then(([O,S])=>{return U5(D,O,S)});return U5(D,E,j)}});sI=K("$ZodTuple",(_,$)=>{p.init(_,$);let D=$.items;_._zod.parse=(I,U)=>{let E=I.value;if(!Array.isArray(E))return I.issues.push({input:E,inst:_,expected:"tuple",code:"invalid_type"}),I;I.value=[];let j=[],N=I5(D,"optin"),O=I5(D,"optout");if(!$.rest){if(E.lengthD.length)I.issues.push({code:"too_big",maximum:D.length,inclusive:!0,input:E,inst:_,origin:"array"})}let S=Array(D.length);for(let L=0;L{S[L]=g}));else S[L]=W}if($.rest){let L=D.length-1,W=E.slice(D.length);for(let g of W){L++;let z=$.rest._zod.run({value:g,issues:[]},U);if(z instanceof Promise)j.push(z.then((G)=>E5(G,I,L)));else E5(z,I,L)}}if(j.length)return Promise.all(j).then(()=>j5(S,I,D,E,O));return j5(S,I,D,E,O)}});sO=K("$ZodRecord",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(!w6(U))return D.issues.push({expected:"record",code:"invalid_type",input:U,inst:_}),D;let E=[],j=$.keyType._zod.values;if(j){D.value={};let N=new Set;for(let S of j)if(typeof S==="string"||typeof S==="number"||typeof S==="symbol"){N.add(typeof S==="number"?S.toString():S);let L=$.keyType._zod.run({value:S,issues:[]},I);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length){D.issues.push({code:"invalid_key",origin:"record",issues:L.issues.map((z)=>t_(z,I,b_())),input:S,path:[S],inst:_});continue}let W=L.value,g=$.valueType._zod.run({value:U[S],issues:[]},I);if(g instanceof Promise)E.push(g.then((z)=>{if(z.issues.length)D.issues.push(...$$(S,z.issues));D.value[W]=z.value}));else{if(g.issues.length)D.issues.push(...$$(S,g.issues));D.value[W]=g.value}}let O;for(let S in U)if(!N.has(S))O=O??[],O.push(S);if(O&&O.length>0)D.issues.push({code:"unrecognized_keys",input:U,inst:_,keys:O})}else{D.value={};for(let N of Reflect.ownKeys(U)){if(N==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(U,N))continue;let O=$.keyType._zod.run({value:N,issues:[]},I);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof N==="string"&&OU.test(N)&&O.issues.length){let W=$.keyType._zod.run({value:Number(N),issues:[]},I);if(W instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(W.issues.length===0)O=W}if(O.issues.length){if($.mode==="loose")D.value[N]=U[N];else D.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((W)=>t_(W,I,b_())),input:N,path:[N],inst:_});continue}let L=$.valueType._zod.run({value:U[N],issues:[]},I);if(L instanceof Promise)E.push(L.then((W)=>{if(W.issues.length)D.issues.push(...$$(N,W.issues));D.value[O.value]=W.value}));else{if(L.issues.length)D.issues.push(...$$(N,L.issues));D.value[O.value]=L.value}}}if(E.length)return Promise.all(E).then(()=>D);return D}}),_S=K("$ZodMap",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(!(U instanceof Map))return D.issues.push({expected:"map",code:"invalid_type",input:U,inst:_}),D;let E=[];D.value=new Map;for(let[j,N]of U){let O=$.keyType._zod.run({value:j,issues:[]},I),S=$.valueType._zod.run({value:N,issues:[]},I);if(O instanceof Promise||S instanceof Promise)E.push(Promise.all([O,S]).then(([L,W])=>{N5(L,W,D,j,U,_,I)}));else N5(O,S,D,j,U,_,I)}if(E.length)return Promise.all(E).then(()=>D);return D}});$S=K("$ZodSet",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(!(U instanceof Set))return D.issues.push({input:U,inst:_,expected:"set",code:"invalid_type"}),D;let E=[];D.value=new Set;for(let j of U){let N=$.valueType._zod.run({value:j,issues:[]},I);if(N instanceof Promise)E.push(N.then((O)=>A5(O,D)));else A5(N,D)}if(E.length)return Promise.all(E).then(()=>D);return D}});DS=K("$ZodEnum",(_,$)=>{p.init(_,$);let D=UU($.entries),I=new Set(D);_._zod.values=I,_._zod.pattern=new RegExp(`^(${D.filter((U)=>EU.has(typeof U)).map((U)=>typeof U==="string"?g$(U):U.toString()).join("|")})$`),_._zod.parse=(U,E)=>{let j=U.value;if(I.has(j))return U;return U.issues.push({code:"invalid_value",values:D,input:j,inst:_}),U}}),US=K("$ZodLiteral",(_,$)=>{if(p.init(_,$),$.values.length===0)throw Error("Cannot create literal schema with no valid values");let D=new Set($.values);_._zod.values=D,_._zod.pattern=new RegExp(`^(${$.values.map((I)=>typeof I==="string"?g$(I):I?g$(I.toString()):String(I)).join("|")})$`),_._zod.parse=(I,U)=>{let E=I.value;if(D.has(E))return I;return I.issues.push({code:"invalid_value",values:$.values,input:E,inst:_}),I}}),IS=K("$ZodFile",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{let U=D.value;if(U instanceof File)return D;return D.issues.push({expected:"file",code:"invalid_type",input:U,inst:_}),D}}),ES=K("$ZodTransform",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.parse=(D,I)=>{if(I.direction==="backward")throw new X4(_.constructor.name);let U=$.transform(D.value,D);if(I.async)return(U instanceof Promise?U:Promise.resolve(U)).then((j)=>{return D.value=j,D.fallback=!0,D});if(U instanceof Promise)throw new m$;return D.value=U,D.fallback=!0,D}});_E=K("$ZodOptional",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.optout="optional",D_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),D_(_._zod,"pattern",()=>{let D=$.innerType._zod.pattern;return D?new RegExp(`^(${IU(D.source)})?$`):void 0}),_._zod.parse=(D,I)=>{if($.innerType._zod.optin==="optional"){let U=D.value,E=$.innerType._zod.run(D,I);if(E instanceof Promise)return E.then((j)=>O5(j,U));return O5(E,U)}if(D.value===void 0)return D;return $.innerType._zod.run(D,I)}}),jS=K("$ZodExactOptional",(_,$)=>{_E.init(_,$),D_(_._zod,"values",()=>$.innerType._zod.values),D_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(D,I)=>{return $.innerType._zod.run(D,I)}}),NS=K("$ZodNullable",(_,$)=>{p.init(_,$),D_(_._zod,"optin",()=>$.innerType._zod.optin),D_(_._zod,"optout",()=>$.innerType._zod.optout),D_(_._zod,"pattern",()=>{let D=$.innerType._zod.pattern;return D?new RegExp(`^(${IU(D.source)}|null)$`):void 0}),D_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,null]):void 0}),_._zod.parse=(D,I)=>{if(D.value===null)return D;return $.innerType._zod.run(D,I)}}),AS=K("$ZodDefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",D_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(D,I)=>{if(I.direction==="backward")return $.innerType._zod.run(D,I);if(D.value===void 0)return D.value=$.defaultValue,D;let U=$.innerType._zod.run(D,I);if(U instanceof Promise)return U.then((E)=>S5(E,$));return S5(U,$)}});OS=K("$ZodPrefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",D_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(D,I)=>{if(I.direction==="backward")return $.innerType._zod.run(D,I);if(D.value===void 0)D.value=$.defaultValue;return $.innerType._zod.run(D,I)}}),SS=K("$ZodNonOptional",(_,$)=>{p.init(_,$),D_(_._zod,"values",()=>{let D=$.innerType._zod.values;return D?new Set([...D].filter((I)=>I!==void 0)):void 0}),_._zod.parse=(D,I)=>{let U=$.innerType._zod.run(D,I);if(U instanceof Promise)return U.then((E)=>L5(E,_));return L5(U,_)}});LS=K("$ZodSuccess",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{if(I.direction==="backward")throw new X4("ZodSuccess");let U=$.innerType._zod.run(D,I);if(U instanceof Promise)return U.then((E)=>{return D.value=E.issues.length===0,D});return D.value=U.issues.length===0,D}}),WS=K("$ZodCatch",(_,$)=>{p.init(_,$),_._zod.optin="optional",D_(_._zod,"optout",()=>$.innerType._zod.optout),D_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(D,I)=>{if(I.direction==="backward")return $.innerType._zod.run(D,I);let U=$.innerType._zod.run(D,I);if(U instanceof Promise)return U.then((E)=>{if(D.value=E.value,E.issues.length)D.value=$.catchValue({...D,error:{issues:E.issues.map((j)=>t_(j,I,b_()))},input:D.value}),D.issues=[],D.fallback=!0;return D});if(D.value=U.value,U.issues.length)D.value=$.catchValue({...D,error:{issues:U.issues.map((E)=>t_(E,I,b_()))},input:D.value}),D.issues=[],D.fallback=!0;return D}}),JS=K("$ZodNaN",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{if(typeof D.value!=="number"||!Number.isNaN(D.value))return D.issues.push({input:D.value,inst:_,expected:"nan",code:"invalid_type"}),D;return D}}),$E=K("$ZodPipe",(_,$)=>{p.init(_,$),D_(_._zod,"values",()=>$.in._zod.values),D_(_._zod,"optin",()=>$.in._zod.optin),D_(_._zod,"optout",()=>$.out._zod.optout),D_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(D,I)=>{if(I.direction==="backward"){let E=$.out._zod.run(D,I);if(E instanceof Promise)return E.then((j)=>iI(j,$.in,I));return iI(E,$.in,I)}let U=$.in._zod.run(D,I);if(U instanceof Promise)return U.then((E)=>iI(E,$.out,I));return iI(U,$.out,I)}});PU=K("$ZodCodec",(_,$)=>{p.init(_,$),D_(_._zod,"values",()=>$.in._zod.values),D_(_._zod,"optin",()=>$.in._zod.optin),D_(_._zod,"optout",()=>$.out._zod.optout),D_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(D,I)=>{if((I.direction||"forward")==="forward"){let E=$.in._zod.run(D,I);if(E instanceof Promise)return E.then((j)=>tI(j,$,I));return tI(E,$,I)}else{let E=$.out._zod.run(D,I);if(E instanceof Promise)return E.then((j)=>tI(j,$,I));return tI(E,$,I)}}});PS=K("$ZodPreprocess",(_,$)=>{$E.init(_,$)}),zS=K("$ZodReadonly",(_,$)=>{p.init(_,$),D_(_._zod,"propValues",()=>$.innerType._zod.propValues),D_(_._zod,"values",()=>$.innerType._zod.values),D_(_._zod,"optin",()=>$.innerType?._zod?.optin),D_(_._zod,"optout",()=>$.innerType?._zod?.optout),_._zod.parse=(D,I)=>{if(I.direction==="backward")return $.innerType._zod.run(D,I);let U=$.innerType._zod.run(D,I);if(U instanceof Promise)return U.then(W5);return W5(U)}});gS=K("$ZodTemplateLiteral",(_,$)=>{p.init(_,$);let D=[];for(let I of $.parts)if(typeof I==="object"&&I!==null){if(!I._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...I._zod.traits].shift()}`);let U=I._zod.pattern instanceof RegExp?I._zod.pattern.source:I._zod.pattern;if(!U)throw Error(`Invalid template literal part: ${I._zod.traits}`);let E=U.startsWith("^")?1:0,j=U.endsWith("$")?U.length-1:U.length;D.push(U.slice(E,j))}else if(I===null||NA.has(typeof I))D.push(g$(`${I}`));else throw Error(`Invalid template literal part: ${I}`);_._zod.pattern=new RegExp(`^${D.join("")}$`),_._zod.parse=(I,U)=>{if(typeof I.value!=="string")return I.issues.push({input:I.value,inst:_,expected:"string",code:"invalid_type"}),I;if(_._zod.pattern.lastIndex=0,!_._zod.pattern.test(I.value))return I.issues.push({input:I.value,inst:_,code:"invalid_format",format:$.format??"template_literal",pattern:_._zod.pattern.source}),I;return I}}),XS=K("$ZodFunction",(_,$)=>{return p.init(_,$),_._def=$,_._zod.def=$,_.implement=(D)=>{if(typeof D!=="function")throw Error("implement() must be called with a function");return function(...I){let U=_._def.input?qI(_._def.input,I):I,E=Reflect.apply(D,this,U);if(_._def.output)return qI(_._def.output,E);return E}},_.implementAsync=(D)=>{if(typeof D!=="function")throw Error("implementAsync() must be called with a function");return async function(...I){let U=_._def.input?await kI(_._def.input,I):I,E=await Reflect.apply(D,this,U);if(_._def.output)return await kI(_._def.output,E);return E}},_._zod.parse=(D,I)=>{if(typeof D.value!=="function")return D.issues.push({code:"invalid_type",expected:"function",input:D.value,inst:_}),D;if(_._def.output&&_._def.output._zod.def.type==="promise")D.value=_.implementAsync(D.value);else D.value=_.implement(D.value);return D},_.input=(...D)=>{let I=_.constructor;if(Array.isArray(D[0]))return new I({type:"function",input:new sI({type:"tuple",items:D[0],rest:D[1]}),output:_._def.output});return new I({type:"function",input:D[0],output:_._def.output})},_.output=(D)=>{return new _.constructor({type:"function",input:_._def.input,output:D})},_}),GS=K("$ZodPromise",(_,$)=>{p.init(_,$),_._zod.parse=(D,I)=>{return Promise.resolve(D.value).then((U)=>$.innerType._zod.run({value:U,issues:[]},I))}}),RS=K("$ZodLazy",(_,$)=>{p.init(_,$),D_(_._zod,"innerType",()=>{let D=$;if(!D._cachedInner)D._cachedInner=$.getter();return D._cachedInner}),D_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),D_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),D_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),D_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(D,I)=>{return _._zod.innerType._zod.run(D,I)}}),YS=K("$ZodCustom",(_,$)=>{Q_.init(_,$),p.init(_,$),_._zod.parse=(D,I)=>{return D},_._zod.check=(D)=>{let I=D.value,U=$.fn(I);if(U instanceof Promise)return U.then((E)=>J5(E,D,I,_));J5(U,D,I,_);return}})});function KS(){return{localeError:wB()}}var wB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${N}`;return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${E}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${U.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${E} ${U.maximum.toString()} ${j.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 ${U.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${E} ${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${U.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${E} ${U.minimum.toString()} ${j.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${U.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${E} ${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${U.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${U.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${U.keys.length>1?"\u0629":""}: ${V(U.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${U.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 ${U.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var R5=r(()=>{n()});function TS(){return{localeError:rB()}}var rB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${U.expected}, daxil olan ${N}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${E}, daxil olan ${N}`}case"invalid_value":if(U.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${M(U.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${U.origin??"d\u0259y\u0259r"} ${E}${U.maximum.toString()} ${j.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${U.origin??"d\u0259y\u0259r"} ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${U.origin} ${E}${U.minimum.toString()} ${j.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${U.origin} ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${E.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(E.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${E.suffix}" il\u0259 bitm\u0259lidir`;if(E.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${E.includes}" daxil olmal\u0131d\u0131r`;if(E.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${E.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${D[E.format]??U.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${U.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${U.keys.length>1?"lar":""}: ${V(U.keys,", ")}`;case"invalid_key":return`${U.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${U.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var Y5=r(()=>{n()});function Q5(_,$,D,I){let U=Math.abs(_),E=U%10,j=U%100;if(j>=11&&j<=19)return I;if(E===1)return $;if(E>=2&&E<=4)return D;return I}function FS(){return{localeError:fB()}}var fB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${N}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${E}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j){let N=Number(U.maximum),O=Q5(N,j.unit.one,j.unit.few,j.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 ${U.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${j.verb} ${E}${U.maximum.toString()} ${O}`}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 ${U.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j){let N=Number(U.minimum),O=Q5(N,j.unit.one,j.unit.few,j.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 ${U.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${j.verb} ${E}${U.minimum.toString()} ${O}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${U.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${U.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${V(U.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${U.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 ${U.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var K5=r(()=>{n()});function VS(){return{localeError:xB()}}var xB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${U.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${N}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${E}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${N}`}case"invalid_value":if(U.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${U.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${E}${U.maximum.toString()} ${j.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 ${U.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${U.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${E}${U.minimum.toString()} ${j.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${U.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;let j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(E.format==="emoji")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(E.format==="datetime")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(E.format==="date")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(E.format==="time")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(E.format==="duration")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${j} ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${U.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${U.keys.length>1?"\u043E\u0432\u0435":""}: ${V(U.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${U.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 ${U.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var T5=r(()=>{n()});function BS(){return{localeError:uB()}}var uB=()=>{let _={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${U.expected}, s'ha rebut ${N}`;return`Tipus inv\xE0lid: s'esperava ${E}, s'ha rebut ${N}`}case"invalid_value":if(U.values.length===1)return`Valor inv\xE0lid: s'esperava ${M(U.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${V(U.values," o ")}`;case"too_big":{let E=U.inclusive?"com a m\xE0xim":"menys de",j=$(U.origin);if(j)return`Massa gran: s'esperava que ${U.origin??"el valor"} contingu\xE9s ${E} ${U.maximum.toString()} ${j.unit??"elements"}`;return`Massa gran: s'esperava que ${U.origin??"el valor"} fos ${E} ${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?"com a m\xEDnim":"m\xE9s de",j=$(U.origin);if(j)return`Massa petit: s'esperava que ${U.origin} contingu\xE9s ${E} ${U.minimum.toString()} ${j.unit}`;return`Massa petit: s'esperava que ${U.origin} fos ${E} ${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${E.prefix}"`;if(E.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${E.suffix}"`;if(E.format==="includes")return`Format inv\xE0lid: ha d'incloure "${E.includes}"`;if(E.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${E.pattern}`;return`Format inv\xE0lid per a ${D[E.format]??U.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${U.divisor}`;case"unrecognized_keys":return`Clau${U.keys.length>1?"s":""} no reconeguda${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${U.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${U.origin}`;default:return"Entrada inv\xE0lida"}}};var F5=r(()=>{n()});function MS(){return{localeError:yB()}}var yB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${U.expected}, obdr\u017Eeno ${N}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${E}, obdr\u017Eeno ${N}`}case"invalid_value":if(U.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${M(U.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${U.origin??"hodnota"} mus\xED m\xEDt ${E}${U.maximum.toString()} ${j.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${U.origin??"hodnota"} mus\xED b\xFDt ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${U.origin??"hodnota"} mus\xED m\xEDt ${E}${U.minimum.toString()} ${j.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${U.origin??"hodnota"} mus\xED b\xFDt ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${E.prefix}"`;if(E.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${E.suffix}"`;if(E.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${E.includes}"`;if(E.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${E.pattern}`;return`Neplatn\xFD form\xE1t ${D[E.format]??U.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${U.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${V(U.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${U.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${U.origin}`;default:return"Neplatn\xFD vstup"}}};var V5=r(()=>{n()});function ZS(){return{localeError:hB()}}var hB=()=>{let _={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Ugyldigt input: forventede instanceof ${U.expected}, fik ${N}`;return`Ugyldigt input: forventede ${E}, fik ${N}`}case"invalid_value":if(U.values.length===1)return`Ugyldig v\xE6rdi: forventede ${M(U.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin),N=I[U.origin]??U.origin;if(j)return`For stor: forventede ${N??"value"} ${j.verb} ${E} ${U.maximum.toString()} ${j.unit??"elementer"}`;return`For stor: forventede ${N??"value"} havde ${E} ${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin),N=I[U.origin]??U.origin;if(j)return`For lille: forventede ${N} ${j.verb} ${E} ${U.minimum.toString()} ${j.unit}`;return`For lille: forventede ${N} havde ${E} ${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Ugyldig streng: skal starte med "${E.prefix}"`;if(E.format==="ends_with")return`Ugyldig streng: skal ende med "${E.suffix}"`;if(E.format==="includes")return`Ugyldig streng: skal indeholde "${E.includes}"`;if(E.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${E.pattern}`;return`Ugyldig ${D[E.format]??U.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${V(U.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${U.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${U.origin}`;default:return"Ugyldigt input"}}};var B5=r(()=>{n()});function HS(){return{localeError:cB()}}var cB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"Zahl",array:"Array"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${U.expected}, erhalten ${N}`;return`Ung\xFCltige Eingabe: erwartet ${E}, erhalten ${N}`}case"invalid_value":if(U.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${M(U.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Zu gro\xDF: erwartet, dass ${U.origin??"Wert"} ${E}${U.maximum.toString()} ${j.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${U.origin??"Wert"} ${E}${U.maximum.toString()} ist`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Zu klein: erwartet, dass ${U.origin} ${E}${U.minimum.toString()} ${j.unit} hat`;return`Zu klein: erwartet, dass ${U.origin} ${E}${U.minimum.toString()} ist`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Ung\xFCltiger String: muss mit "${E.prefix}" beginnen`;if(E.format==="ends_with")return`Ung\xFCltiger String: muss mit "${E.suffix}" enden`;if(E.format==="includes")return`Ung\xFCltiger String: muss "${E.includes}" enthalten`;if(E.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${E.pattern} entsprechen`;return`Ung\xFCltig: ${D[E.format]??U.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${U.divisor} sein`;case"unrecognized_keys":return`${U.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${V(U.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${U.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${U.origin}`;default:return"Ung\xFCltige Eingabe"}}};var M5=r(()=>{n()});function bS(){return{localeError:nB()}}var nB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(typeof U.expected==="string"&&/^[A-Z]/.test(U.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 ${U.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${N}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${E}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${U.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${E}${U.maximum.toString()} ${j.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 ${U.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${U.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${E}${U.minimum.toString()} ${j.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${U.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${U.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${U.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${V(U.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${U.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 ${U.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var Z5=r(()=>{n()});function zU(){return{localeError:dB()}}var dB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;return`Invalid input: expected ${E}, received ${N}`}case"invalid_value":if(U.values.length===1)return`Invalid input: expected ${M(U.values[0])}`;return`Invalid option: expected one of ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Too big: expected ${U.origin??"value"} to have ${E}${U.maximum.toString()} ${j.unit??"elements"}`;return`Too big: expected ${U.origin??"value"} to be ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Too small: expected ${U.origin} to have ${E}${U.minimum.toString()} ${j.unit}`;return`Too small: expected ${U.origin} to be ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Invalid string: must start with "${E.prefix}"`;if(E.format==="ends_with")return`Invalid string: must end with "${E.suffix}"`;if(E.format==="includes")return`Invalid string: must include "${E.includes}"`;if(E.format==="regex")return`Invalid string: must match pattern ${E.pattern}`;return`Invalid ${D[E.format]??U.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${U.divisor}`;case"unrecognized_keys":return`Unrecognized key${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Invalid key in ${U.origin}`;case"invalid_union":if(U.options&&Array.isArray(U.options)&&U.options.length>0)return`Invalid discriminator value. Expected ${U.options.map((j)=>`'${j}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${U.origin}`;default:return"Invalid input"}}};var qS=r(()=>{n()});function kS(){return{localeError:mB()}}var mB=()=>{let _={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${U.expected}, ricevi\u011Dis ${N}`;return`Nevalida enigo: atendi\u011Dis ${E}, ricevi\u011Dis ${N}`}case"invalid_value":if(U.values.length===1)return`Nevalida enigo: atendi\u011Dis ${M(U.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Tro granda: atendi\u011Dis ke ${U.origin??"valoro"} havu ${E}${U.maximum.toString()} ${j.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${U.origin??"valoro"} havu ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Tro malgranda: atendi\u011Dis ke ${U.origin} havu ${E}${U.minimum.toString()} ${j.unit}`;return`Tro malgranda: atendi\u011Dis ke ${U.origin} estu ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${E.prefix}"`;if(E.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${E.suffix}"`;if(E.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${E.includes}"`;if(E.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${E.pattern}`;return`Nevalida ${D[E.format]??U.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${U.divisor}`;case"unrecognized_keys":return`Nekonata${U.keys.length>1?"j":""} \u015Dlosilo${U.keys.length>1?"j":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${U.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${U.origin}`;default:return"Nevalida enigo"}}};var H5=r(()=>{n()});function CS(){return{localeError:lB()}}var lB=()=>{let _={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${U.expected}, recibido ${N}`;return`Entrada inv\xE1lida: se esperaba ${E}, recibido ${N}`}case"invalid_value":if(U.values.length===1)return`Entrada inv\xE1lida: se esperaba ${M(U.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin),N=I[U.origin]??U.origin;if(j)return`Demasiado grande: se esperaba que ${N??"valor"} tuviera ${E}${U.maximum.toString()} ${j.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${N??"valor"} fuera ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin),N=I[U.origin]??U.origin;if(j)return`Demasiado peque\xF1o: se esperaba que ${N} tuviera ${E}${U.minimum.toString()} ${j.unit}`;return`Demasiado peque\xF1o: se esperaba que ${N} fuera ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${E.prefix}"`;if(E.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${E.suffix}"`;if(E.format==="includes")return`Cadena inv\xE1lida: debe incluir "${E.includes}"`;if(E.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${E.pattern}`;return`Inv\xE1lido ${D[E.format]??U.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${U.divisor}`;case"unrecognized_keys":return`Llave${U.keys.length>1?"s":""} desconocida${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${I[U.origin]??U.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${I[U.origin]??U.origin}`;default:return"Entrada inv\xE1lida"}}};var b5=r(()=>{n()});function vS(){return{localeError:iB()}}var iB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${U.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${N} \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 ${E} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${N} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(U.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${M(U.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(U.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${U.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${E}${U.maximum.toString()} ${j.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${U.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${E}${U.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${U.origin} \u0628\u0627\u06CC\u062F ${E}${U.minimum.toString()} ${j.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${U.origin} \u0628\u0627\u06CC\u062F ${E}${U.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${E.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(E.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${E.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(E.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${E.includes}" \u0628\u0627\u0634\u062F`;if(E.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 ${E.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${D[E.format]??U.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 ${U.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${U.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${V(U.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${U.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 ${U.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var q5=r(()=>{n()});function wS(){return{localeError:tB()}}var tB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Virheellinen tyyppi: odotettiin instanceof ${U.expected}, oli ${N}`;return`Virheellinen tyyppi: odotettiin ${E}, oli ${N}`}case"invalid_value":if(U.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${M(U.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Liian suuri: ${j.subject} t\xE4ytyy olla ${E}${U.maximum.toString()} ${j.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Liian pieni: ${j.subject} t\xE4ytyy olla ${E}${U.minimum.toString()} ${j.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${E.prefix}"`;if(E.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${E.suffix}"`;if(E.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${E.includes}"`;if(E.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${E.pattern}`;return`Virheellinen ${D[E.format]??U.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${U.divisor} monikerta`;case"unrecognized_keys":return`${U.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${V(U.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 k5=r(()=>{n()});function rS(){return{localeError:oB()}}var oB=()=>{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 $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Entr\xE9e invalide : instanceof ${U.expected} attendu, ${N} re\xE7u`;return`Entr\xE9e invalide : ${E} attendu, ${N} re\xE7u`}case"invalid_value":if(U.values.length===1)return`Entr\xE9e invalide : ${M(U.values[0])} attendu`;return`Option invalide : une valeur parmi ${V(U.values,"|")} attendue`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Trop grand : ${I[U.origin]??"valeur"} doit ${j.verb} ${E}${U.maximum.toString()} ${j.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${I[U.origin]??"valeur"} doit \xEAtre ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Trop petit : ${I[U.origin]??"valeur"} doit ${j.verb} ${E}${U.minimum.toString()} ${j.unit}`;return`Trop petit : ${I[U.origin]??"valeur"} doit \xEAtre ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${E.prefix}"`;if(E.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${E.suffix}"`;if(E.format==="includes")return`Cha\xEEne invalide : doit inclure "${E.includes}"`;if(E.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${E.pattern}`;return`${D[E.format]??U.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${U.divisor}`;case"unrecognized_keys":return`Cl\xE9${U.keys.length>1?"s":""} non reconnue${U.keys.length>1?"s":""} : ${V(U.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${U.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${U.origin}`;default:return"Entr\xE9e invalide"}}};var C5=r(()=>{n()});function fS(){return{localeError:pB()}}var pB=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Entr\xE9e invalide : attendu instanceof ${U.expected}, re\xE7u ${N}`;return`Entr\xE9e invalide : attendu ${E}, re\xE7u ${N}`}case"invalid_value":if(U.values.length===1)return`Entr\xE9e invalide : attendu ${M(U.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"\u2264":"<",j=$(U.origin);if(j)return`Trop grand : attendu que ${U.origin??"la valeur"} ait ${E}${U.maximum.toString()} ${j.unit}`;return`Trop grand : attendu que ${U.origin??"la valeur"} soit ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?"\u2265":">",j=$(U.origin);if(j)return`Trop petit : attendu que ${U.origin} ait ${E}${U.minimum.toString()} ${j.unit}`;return`Trop petit : attendu que ${U.origin} soit ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${E.prefix}"`;if(E.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${E.suffix}"`;if(E.format==="includes")return`Cha\xEEne invalide : doit inclure "${E.includes}"`;if(E.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${E.pattern}`;return`${D[E.format]??U.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${U.divisor}`;case"unrecognized_keys":return`Cl\xE9${U.keys.length>1?"s":""} non reconnue${U.keys.length>1?"s":""} : ${V(U.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${U.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${U.origin}`;default:return"Entr\xE9e invalide"}}};var v5=r(()=>{n()});function xS(){return{localeError:eB()}}var eB=()=>{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"}},D=(S)=>S?_[S]:void 0,I=(S)=>{let L=D(S);if(L)return L.label;return S??_.unknown.label},U=(S)=>`\u05D4${I(S)}`,E=(S)=>{return(D(S)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},j=(S)=>{if(!S)return null;return $[S]??null},N={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"}},O={nan:"NaN"};return(S)=>{switch(S.code){case"invalid_type":{let L=S.expected,W=O[L??""]??I(L),g=Z(S.input),z=O[g]??_[g]?.label??g;if(/^[A-Z]/.test(S.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${S.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${W}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`}case"invalid_value":{if(S.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 ${M(S.values[0])}`;let L=S.values.map((z)=>M(z));if(S.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 ${L[0]} \u05D0\u05D5 ${L[1]}`;let W=L[L.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 ${L.slice(0,-1).join(", ")} \u05D0\u05D5 ${W}`}case"too_big":{let L=j(S.origin),W=U(S.origin??"value");if(S.origin==="string")return`${L?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${W} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${S.maximum.toString()} ${L?.unit??""} ${S.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(S.origin==="number"){let G=S.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${S.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${S.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${W} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${G}`}if(S.origin==="array"||S.origin==="set"){let G=S.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",J=S.inclusive?`${S.maximum} ${L?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${S.maximum} ${L?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${W} ${G} \u05DC\u05D4\u05DB\u05D9\u05DC ${J}`.trim()}let g=S.inclusive?"<=":"<",z=E(S.origin??"value");if(L?.unit)return`${L.longLabel} \u05DE\u05D3\u05D9: ${W} ${z} ${g}${S.maximum.toString()} ${L.unit}`;return`${L?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${W} ${z} ${g}${S.maximum.toString()}`}case"too_small":{let L=j(S.origin),W=U(S.origin??"value");if(S.origin==="string")return`${L?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${W} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${S.minimum.toString()} ${L?.unit??""} ${S.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(S.origin==="number"){let G=S.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${S.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${S.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${W} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${G}`}if(S.origin==="array"||S.origin==="set"){let G=S.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(S.minimum===1&&S.inclusive){let P=S.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: ${W} ${G} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`}let J=S.inclusive?`${S.minimum} ${L?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${S.minimum} ${L?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${W} ${G} \u05DC\u05D4\u05DB\u05D9\u05DC ${J}`.trim()}let g=S.inclusive?">=":">",z=E(S.origin??"value");if(L?.unit)return`${L.shortLabel} \u05DE\u05D3\u05D9: ${W} ${z} ${g}${S.minimum.toString()} ${L.unit}`;return`${L?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${W} ${z} ${g}${S.minimum.toString()}`}case"invalid_format":{let L=S;if(L.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${L.prefix}"`;if(L.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${L.suffix}"`;if(L.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${L.includes}"`;if(L.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 ${L.pattern}`;let W=N[L.format],g=W?.label??L.format,G=(W?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${g} \u05DC\u05D0 ${G}`}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 ${S.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${S.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${S.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${V(S.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${U(S.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var w5=r(()=>{n()});function uS(){return{localeError:aB()}}var aB=()=>{let _={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${U.expected}, a primljeno je ${N}`;return`Neispravan unos: o\u010Dekuje se ${E}, a primljeno je ${N}`}case"invalid_value":if(U.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${M(U.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin),N=I[U.origin]??U.origin;if(j)return`Preveliko: o\u010Dekivano da ${N??"vrijednost"} ima ${E}${U.maximum.toString()} ${j.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${N??"vrijednost"} bude ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin),N=I[U.origin]??U.origin;if(j)return`Premalo: o\u010Dekivano da ${N} ima ${E}${U.minimum.toString()} ${j.unit}`;return`Premalo: o\u010Dekivano da ${N} bude ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${E.prefix}"`;if(E.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${E.suffix}"`;if(E.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${E.includes}"`;if(E.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${E.pattern}`;return`Neispravna ${D[E.format]??U.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${U.divisor}`;case"unrecognized_keys":return`Neprepoznat${U.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${V(U.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${I[U.origin]??U.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${I[U.origin]??U.origin}`;default:return"Neispravan unos"}}};var r5=r(()=>{n()});function yS(){return{localeError:sB()}}var sB=()=>{let _={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${U.expected}, a kapott \xE9rt\xE9k ${N}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${E}, a kapott \xE9rt\xE9k ${N}`}case"invalid_value":if(U.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${M(U.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`T\xFAl nagy: ${U.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${E}${U.maximum.toString()} ${j.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${U.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${U.origin} m\xE9rete t\xFAl kicsi ${E}${U.minimum.toString()} ${j.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${U.origin} t\xFAl kicsi ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\xC9rv\xE9nytelen string: "${E.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(E.format==="ends_with")return`\xC9rv\xE9nytelen string: "${E.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(E.format==="includes")return`\xC9rv\xE9nytelen string: "${E.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(E.format==="regex")return`\xC9rv\xE9nytelen string: ${E.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${D[E.format]??U.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${U.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${U.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${U.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var f5=r(()=>{n()});function x5(_,$,D){return Math.abs(_)===1?$:D}function c0(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],D=_[_.length-1];return _+($.includes(D)?"\u0576":"\u0568")}function hS(){return{localeError:_M()}}var _M=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${N}`;return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${E}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j){let N=Number(U.maximum),O=x5(N,j.unit.one,j.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 ${c0(U.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${E}${U.maximum.toString()} ${O}`}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 ${c0(U.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j){let N=Number(U.minimum),O=x5(N,j.unit.one,j.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 ${c0(U.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${E}${U.minimum.toString()} ${O}`}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 ${c0(U.origin)} \u056C\u056B\u0576\u056B ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${E.prefix}"-\u0578\u057E`;if(E.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${E.suffix}"-\u0578\u057E`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${D[E.format]??U.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 ${U.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${U.keys.length>1?"\u0576\u0565\u0580":""}. ${V(U.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${c0(U.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 ${c0(U.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var u5=r(()=>{n()});function cS(){return{localeError:$M()}}var $M=()=>{let _={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Input tidak valid: diharapkan instanceof ${U.expected}, diterima ${N}`;return`Input tidak valid: diharapkan ${E}, diterima ${N}`}case"invalid_value":if(U.values.length===1)return`Input tidak valid: diharapkan ${M(U.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Terlalu besar: diharapkan ${U.origin??"value"} memiliki ${E}${U.maximum.toString()} ${j.unit??"elemen"}`;return`Terlalu besar: diharapkan ${U.origin??"value"} menjadi ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Terlalu kecil: diharapkan ${U.origin} memiliki ${E}${U.minimum.toString()} ${j.unit}`;return`Terlalu kecil: diharapkan ${U.origin} menjadi ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`String tidak valid: harus dimulai dengan "${E.prefix}"`;if(E.format==="ends_with")return`String tidak valid: harus berakhir dengan "${E.suffix}"`;if(E.format==="includes")return`String tidak valid: harus menyertakan "${E.includes}"`;if(E.format==="regex")return`String tidak valid: harus sesuai pola ${E.pattern}`;return`${D[E.format]??U.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${U.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${U.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${U.origin}`;default:return"Input tidak valid"}}};var y5=r(()=>{n()});function nS(){return{localeError:DM()}}var DM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${N} \xFEar sem \xE1 a\xF0 vera instanceof ${U.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${N} \xFEar sem \xE1 a\xF0 vera ${E}`}case"invalid_value":if(U.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${M(U.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${U.origin??"gildi"} hafi ${E}${U.maximum.toString()} ${j.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${U.origin??"gildi"} s\xE9 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${U.origin} hafi ${E}${U.minimum.toString()} ${j.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${U.origin} s\xE9 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${E.prefix}"`;if(E.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${E.suffix}"`;if(E.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${E.includes}"`;if(E.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${E.pattern}`;return`Rangt ${D[E.format]??U.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${U.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${U.keys.length>1?"ir lyklar":"ur lykill"}: ${V(U.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${U.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${U.origin}`;default:return"Rangt gildi"}}};var h5=r(()=>{n()});function dS(){return{localeError:UM()}}var UM=()=>{let _={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"numero",array:"vettore"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Input non valido: atteso instanceof ${U.expected}, ricevuto ${N}`;return`Input non valido: atteso ${E}, ricevuto ${N}`}case"invalid_value":if(U.values.length===1)return`Input non valido: atteso ${M(U.values[0])}`;return`Opzione non valida: atteso uno tra ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Troppo grande: ${U.origin??"valore"} deve avere ${E}${U.maximum.toString()} ${j.unit??"elementi"}`;return`Troppo grande: ${U.origin??"valore"} deve essere ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Troppo piccolo: ${U.origin} deve avere ${E}${U.minimum.toString()} ${j.unit}`;return`Troppo piccolo: ${U.origin} deve essere ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Stringa non valida: deve iniziare con "${E.prefix}"`;if(E.format==="ends_with")return`Stringa non valida: deve terminare con "${E.suffix}"`;if(E.format==="includes")return`Stringa non valida: deve includere "${E.includes}"`;if(E.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${E.pattern}`;return`Input non valido: ${D[E.format]??U.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${U.divisor}`;case"unrecognized_keys":return`Chiav${U.keys.length>1?"i":"e"} non riconosciut${U.keys.length>1?"e":"a"}: ${V(U.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${U.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${U.origin}`;default:return"Input non valido"}}};var c5=r(()=>{n()});function mS(){return{localeError:IM()}}var IM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${U.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${N}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${E}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${N}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(U.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${M(U.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${V(U.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let E=U.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",j=$(U.origin);if(j)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${U.origin??"\u5024"}\u306F${U.maximum.toString()}${j.unit??"\u8981\u7D20"}${E}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${U.origin??"\u5024"}\u306F${U.maximum.toString()}${E}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let E=U.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",j=$(U.origin);if(j)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${U.origin}\u306F${U.minimum.toString()}${j.unit}${E}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${U.origin}\u306F${U.minimum.toString()}${E}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${E.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(E.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${E.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(E.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${E.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(E.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${E.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${D[E.format]??U.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${U.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${U.keys.length>1?"\u7FA4":""}: ${V(U.keys,"\u3001")}`;case"invalid_key":return`${U.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${U.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var n5=r(()=>{n()});function lS(){return{localeError:EM()}}var EM=()=>{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 $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${N}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${E}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${U.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${j.verb} ${E}${U.maximum.toString()} ${j.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 ${U.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)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 ${U.origin} ${j.verb} ${E}${U.minimum.toString()} ${j.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 ${U.origin} \u10D8\u10E7\u10DD\u10E1 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"-\u10D8\u10D7`;if(E.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 "${E.suffix}"-\u10D8\u10D7`;if(E.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 "${E.includes}"-\u10E1`;if(E.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 ${E.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${D[E.format]??U.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 ${U.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${U.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${V(U.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${U.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 ${U.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var d5=r(()=>{n()});function gU(){return{localeError:jM()}}var jM=()=>{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 $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${N}`;return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${E} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${U.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${E} ${U.maximum.toString()} ${j.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${U.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${E} ${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${U.origin} ${E} ${U.minimum.toString()} ${j.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${U.origin} ${E} ${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${V(U.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 ${U.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 ${U.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 iS=r(()=>{n()});function tS(){return gU()}var m5=r(()=>{iS()});function oS(){return{localeError:NM()}}var NM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${U.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${N}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${E}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${N}\uC785\uB2C8\uB2E4`}case"invalid_value":if(U.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${M(U.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${V(U.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let E=U.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",j=E==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",N=$(U.origin),O=N?.unit??"\uC694\uC18C";if(N)return`${U.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${U.maximum.toString()}${O} ${E}${j}`;return`${U.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${U.maximum.toString()} ${E}${j}`}case"too_small":{let E=U.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",j=E==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",N=$(U.origin),O=N?.unit??"\uC694\uC18C";if(N)return`${U.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${U.minimum.toString()}${O} ${E}${j}`;return`${U.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${U.minimum.toString()} ${E}${j}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${E.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(E.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${E.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(E.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${E.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(E.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${E.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${D[E.format]??U.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${U.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${V(U.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${U.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${U.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var l5=r(()=>{n()});function i5(_){let $=Math.abs(_),D=$%10,I=$%100;if(I>=11&&I<=19||D===0)return"many";if(D===1)return"one";return"few"}function pS(){return{localeError:AM()}}var XU=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},AM=()=>{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 $(U,E,j,N){let O=_[U]??null;if(O===null)return O;return{unit:O.unit[E],verb:O.verb[N][j?"inclusive":"notInclusive"]}}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Gautas tipas ${N}, o tik\u0117tasi - instanceof ${U.expected}`;return`Gautas tipas ${N}, o tik\u0117tasi - ${E}`}case"invalid_value":if(U.values.length===1)return`Privalo b\u016Bti ${M(U.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${V(U.values,"|")} pasirinkim\u0173`;case"too_big":{let E=I[U.origin]??U.origin,j=$(U.origin,i5(Number(U.maximum)),U.inclusive??!1,"smaller");if(j?.verb)return`${XU(E??U.origin??"reik\u0161m\u0117")} ${j.verb} ${U.maximum.toString()} ${j.unit??"element\u0173"}`;let N=U.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${XU(E??U.origin??"reik\u0161m\u0117")} turi b\u016Bti ${N} ${U.maximum.toString()} ${j?.unit}`}case"too_small":{let E=I[U.origin]??U.origin,j=$(U.origin,i5(Number(U.minimum)),U.inclusive??!1,"bigger");if(j?.verb)return`${XU(E??U.origin??"reik\u0161m\u0117")} ${j.verb} ${U.minimum.toString()} ${j.unit??"element\u0173"}`;let N=U.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${XU(E??U.origin??"reik\u0161m\u0117")} turi b\u016Bti ${N} ${U.minimum.toString()} ${j?.unit}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${E.prefix}"`;if(E.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${E.suffix}"`;if(E.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${E.includes}"`;if(E.format==="regex")return`Eilut\u0117 privalo atitikti ${E.pattern}`;return`Neteisingas ${D[E.format]??U.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${U.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${U.keys.length>1?"i":"as"} rakt${U.keys.length>1?"ai":"as"}: ${V(U.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let E=I[U.origin]??U.origin;return`${XU(E??U.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var t5=r(()=>{n()});function eS(){return{localeError:OM()}}var OM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${U.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${N}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${E}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${N}`}case"invalid_value":if(U.values.length===1)return`Invalid input: expected ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${U.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${E}${U.maximum.toString()} ${j.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 ${U.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${U.origin} \u0434\u0430 \u0438\u043C\u0430 ${E}${U.minimum.toString()} ${j.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${U.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`Invalid ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`${U.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(U.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${U.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 ${U.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var o5=r(()=>{n()});function aS(){return{localeError:SM()}}var SM=()=>{let _={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"nombor"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Input tidak sah: dijangka instanceof ${U.expected}, diterima ${N}`;return`Input tidak sah: dijangka ${E}, diterima ${N}`}case"invalid_value":if(U.values.length===1)return`Input tidak sah: dijangka ${M(U.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Terlalu besar: dijangka ${U.origin??"nilai"} ${j.verb} ${E}${U.maximum.toString()} ${j.unit??"elemen"}`;return`Terlalu besar: dijangka ${U.origin??"nilai"} adalah ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Terlalu kecil: dijangka ${U.origin} ${j.verb} ${E}${U.minimum.toString()} ${j.unit}`;return`Terlalu kecil: dijangka ${U.origin} adalah ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`String tidak sah: mesti bermula dengan "${E.prefix}"`;if(E.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${E.suffix}"`;if(E.format==="includes")return`String tidak sah: mesti mengandungi "${E.includes}"`;if(E.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${E.pattern}`;return`${D[E.format]??U.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${U.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${V(U.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${U.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${U.origin}`;default:return"Input tidak sah"}}};var p5=r(()=>{n()});function sS(){return{localeError:LM()}}var LM=()=>{let _={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"getal"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Ongeldige invoer: verwacht instanceof ${U.expected}, ontving ${N}`;return`Ongeldige invoer: verwacht ${E}, ontving ${N}`}case"invalid_value":if(U.values.length===1)return`Ongeldige invoer: verwacht ${M(U.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin),N=U.origin==="date"?"laat":U.origin==="string"?"lang":"groot";if(j)return`Te ${N}: verwacht dat ${U.origin??"waarde"} ${E}${U.maximum.toString()} ${j.unit??"elementen"} ${j.verb}`;return`Te ${N}: verwacht dat ${U.origin??"waarde"} ${E}${U.maximum.toString()} is`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin),N=U.origin==="date"?"vroeg":U.origin==="string"?"kort":"klein";if(j)return`Te ${N}: verwacht dat ${U.origin} ${E}${U.minimum.toString()} ${j.unit} ${j.verb}`;return`Te ${N}: verwacht dat ${U.origin} ${E}${U.minimum.toString()} is`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Ongeldige tekst: moet met "${E.prefix}" beginnen`;if(E.format==="ends_with")return`Ongeldige tekst: moet op "${E.suffix}" eindigen`;if(E.format==="includes")return`Ongeldige tekst: moet "${E.includes}" bevatten`;if(E.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${E.pattern}`;return`Ongeldig: ${D[E.format]??U.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${U.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${U.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${U.origin}`;default:return"Ongeldige invoer"}}};var e5=r(()=>{n()});function _L(){return{localeError:WM()}}var WM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"tall",array:"liste"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Ugyldig input: forventet instanceof ${U.expected}, fikk ${N}`;return`Ugyldig input: forventet ${E}, fikk ${N}`}case"invalid_value":if(U.values.length===1)return`Ugyldig verdi: forventet ${M(U.values[0])}`;return`Ugyldig valg: forventet en av ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`For stor(t): forventet ${U.origin??"value"} til \xE5 ha ${E}${U.maximum.toString()} ${j.unit??"elementer"}`;return`For stor(t): forventet ${U.origin??"value"} til \xE5 ha ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`For lite(n): forventet ${U.origin} til \xE5 ha ${E}${U.minimum.toString()} ${j.unit}`;return`For lite(n): forventet ${U.origin} til \xE5 ha ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${E.prefix}"`;if(E.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${E.suffix}"`;if(E.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${E.includes}"`;if(E.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${E.pattern}`;return`Ugyldig ${D[E.format]??U.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${V(U.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${U.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${U.origin}`;default:return"Ugyldig input"}}};var a5=r(()=>{n()});function $L(){return{localeError:JM()}}var JM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`F\xE2sit giren: umulan instanceof ${U.expected}, al\u0131nan ${N}`;return`F\xE2sit giren: umulan ${E}, al\u0131nan ${N}`}case"invalid_value":if(U.values.length===1)return`F\xE2sit giren: umulan ${M(U.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Fazla b\xFCy\xFCk: ${U.origin??"value"}, ${E}${U.maximum.toString()} ${j.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${U.origin??"value"}, ${E}${U.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Fazla k\xFC\xE7\xFCk: ${U.origin}, ${E}${U.minimum.toString()} ${j.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${U.origin}, ${E}${U.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`F\xE2sit metin: "${E.prefix}" ile ba\u015Flamal\u0131.`;if(E.format==="ends_with")return`F\xE2sit metin: "${E.suffix}" ile bitmeli.`;if(E.format==="includes")return`F\xE2sit metin: "${E.includes}" ihtiv\xE2 etmeli.`;if(E.format==="regex")return`F\xE2sit metin: ${E.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${D[E.format]??U.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${U.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`${U.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${U.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var s5=r(()=>{n()});function DL(){return{localeError:PM()}}var PM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${U.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${N} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${E} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${N} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(U.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${M(U.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(U.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${U.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${E}${U.maximum.toString()} ${j.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${U.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${E}${U.maximum.toString()} \u0648\u064A`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${U.origin} \u0628\u0627\u06CC\u062F ${E}${U.minimum.toString()} ${j.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${U.origin} \u0628\u0627\u06CC\u062F ${E}${U.minimum.toString()} \u0648\u064A`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${E.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(E.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${E.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(E.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${E.includes}" \u0648\u0644\u0631\u064A`;if(E.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${E.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${D[E.format]??U.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${U.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${U.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${V(U.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${U.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 ${U.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var _G=r(()=>{n()});function UL(){return{localeError:zM()}}var zM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"liczba",array:"tablica"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${U.expected}, otrzymano ${N}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${E}, otrzymano ${N}`}case"invalid_value":if(U.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${M(U.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${U.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${E}${U.maximum.toString()} ${j.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${U.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${U.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${E}${U.minimum.toString()} ${j.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${U.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${E.prefix}"`;if(E.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${E.suffix}"`;if(E.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${E.includes}"`;if(E.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${E.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${D[E.format]??U.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${U.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${U.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${U.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var $G=r(()=>{n()});function IL(){return{localeError:gM()}}var gM=()=>{let _={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Tipo inv\xE1lido: esperado instanceof ${U.expected}, recebido ${N}`;return`Tipo inv\xE1lido: esperado ${E}, recebido ${N}`}case"invalid_value":if(U.values.length===1)return`Entrada inv\xE1lida: esperado ${M(U.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Muito grande: esperado que ${U.origin??"valor"} tivesse ${E}${U.maximum.toString()} ${j.unit??"elementos"}`;return`Muito grande: esperado que ${U.origin??"valor"} fosse ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Muito pequeno: esperado que ${U.origin} tivesse ${E}${U.minimum.toString()} ${j.unit}`;return`Muito pequeno: esperado que ${U.origin} fosse ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${E.prefix}"`;if(E.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${E.suffix}"`;if(E.format==="includes")return`Texto inv\xE1lido: deve incluir "${E.includes}"`;if(E.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${E.pattern}`;return`${D[E.format]??U.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${U.divisor}`;case"unrecognized_keys":return`Chave${U.keys.length>1?"s":""} desconhecida${U.keys.length>1?"s":""}: ${V(U.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${U.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${U.origin}`;default:return"Campo inv\xE1lido"}}};var DG=r(()=>{n()});function EL(){return{localeError:XM()}}var XM=()=>{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 $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;return`Intrare invalid\u0103: a\u0219teptat ${E}, primit ${N}`}case"invalid_value":if(U.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${M(U.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Prea mare: a\u0219teptat ca ${U.origin??"valoarea"} ${j.verb} ${E}${U.maximum.toString()} ${j.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${U.origin??"valoarea"} s\u0103 fie ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Prea mic: a\u0219teptat ca ${U.origin} ${j.verb} ${E}${U.minimum.toString()} ${j.unit}`;return`Prea mic: a\u0219teptat ca ${U.origin} s\u0103 fie ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${E.prefix}"`;if(E.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${E.suffix}"`;if(E.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${E.includes}"`;if(E.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${E.pattern}`;return`Format invalid: ${D[E.format]??U.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${U.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${V(U.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${U.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${U.origin}`;default:return"Intrare invalid\u0103"}}};var UG=r(()=>{n()});function IG(_,$,D,I){let U=Math.abs(_),E=U%10,j=U%100;if(j>=11&&j<=19)return I;if(E===1)return $;if(E>=2&&E<=4)return D;return I}function jL(){return{localeError:GM()}}var GM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${U.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${N}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${E}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j){let N=Number(U.maximum),O=IG(N,j.unit.one,j.unit.few,j.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 ${U.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${E}${U.maximum.toString()} ${O}`}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 ${U.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j){let N=Number(U.minimum),O=IG(N,j.unit.one,j.unit.few,j.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 ${U.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${E}${U.minimum.toString()} ${O}`}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 ${U.origin} \u0431\u0443\u0434\u0435\u0442 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${U.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${U.keys.length>1?"\u0438":""}: ${V(U.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${U.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 ${U.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 EG=r(()=>{n()});function NL(){return{localeError:RM()}}var RM=()=>{let _={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${U.expected}, prejeto ${N}`;return`Neveljaven vnos: pri\u010Dakovano ${E}, prejeto ${N}`}case"invalid_value":if(U.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${M(U.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Preveliko: pri\u010Dakovano, da bo ${U.origin??"vrednost"} imelo ${E}${U.maximum.toString()} ${j.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${U.origin??"vrednost"} ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Premajhno: pri\u010Dakovano, da bo ${U.origin} imelo ${E}${U.minimum.toString()} ${j.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${U.origin} ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${E.prefix}"`;if(E.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${E.suffix}"`;if(E.format==="includes")return`Neveljaven niz: mora vsebovati "${E.includes}"`;if(E.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${E.pattern}`;return`Neveljaven ${D[E.format]??U.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${U.divisor}`;case"unrecognized_keys":return`Neprepoznan${U.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${V(U.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${U.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${U.origin}`;default:return"Neveljaven vnos"}}};var jG=r(()=>{n()});function AL(){return{localeError:YM()}}var YM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"antal",array:"lista"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${U.expected}, fick ${N}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${E}, fick ${N}`}case"invalid_value":if(U.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${M(U.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${U.origin??"v\xE4rdet"} att ha ${E}${U.maximum.toString()} ${j.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${U.origin??"v\xE4rdet"} att ha ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${U.origin??"v\xE4rdet"} att ha ${E}${U.minimum.toString()} ${j.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${U.origin??"v\xE4rdet"} att ha ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${E.prefix}"`;if(E.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${E.suffix}"`;if(E.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${E.includes}"`;if(E.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${E.pattern}"`;return`Ogiltig(t) ${D[E.format]??U.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${U.divisor}`;case"unrecognized_keys":return`${U.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${V(U.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${U.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${U.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var NG=r(()=>{n()});function OL(){return{localeError:QM()}}var QM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${N}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${E}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)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 ${U.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${E}${U.maximum.toString()} ${j.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 ${U.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${E}${U.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)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 ${U.origin} ${E}${U.minimum.toString()} ${j.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 ${U.origin} ${E}${U.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${E.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(E.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${E.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(E.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${E.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(E.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${E.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 ${D[E.format]??U.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${U.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${U.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${V(U.keys,", ")}`;case"invalid_key":return`${U.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`${U.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 AG=r(()=>{n()});function SL(){return{localeError:KM()}}var KM=()=>{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 $(U){return _[U]??null}let D={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"},I={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(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${N}`;return`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${E} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${N}`}case"invalid_value":if(U.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",j=$(U.origin);if(j)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${U.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${E} ${U.maximum.toString()} ${j.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${U.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${E} ${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",j=$(U.origin);if(j)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${U.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${E} ${U.minimum.toString()} ${j.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${U.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${E} ${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(E.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 ${E.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${D[E.format]??U.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 ${U.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(U.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${U.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 ${U.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var OG=r(()=>{n()});function LL(){return{localeError:TM()}}var TM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${U.expected}, al\u0131nan ${N}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${E}, al\u0131nan ${N}`}case"invalid_value":if(U.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${M(U.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\xC7ok b\xFCy\xFCk: beklenen ${U.origin??"de\u011Fer"} ${E}${U.maximum.toString()} ${j.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${U.origin??"de\u011Fer"} ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${U.origin} ${E}${U.minimum.toString()} ${j.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${U.origin} ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Ge\xE7ersiz metin: "${E.prefix}" ile ba\u015Flamal\u0131`;if(E.format==="ends_with")return`Ge\xE7ersiz metin: "${E.suffix}" ile bitmeli`;if(E.format==="includes")return`Ge\xE7ersiz metin: "${E.includes}" i\xE7ermeli`;if(E.format==="regex")return`Ge\xE7ersiz metin: ${E.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${D[E.format]??U.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${U.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${U.keys.length>1?"lar":""}: ${V(U.keys,", ")}`;case"invalid_key":return`${U.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${U.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var SG=r(()=>{n()});function GU(){return{localeError:FM()}}var FM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.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 ${U.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${N}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${E}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${N}`}case"invalid_value":if(U.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 ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)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 ${U.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${j.verb} ${E}${U.maximum.toString()} ${j.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 ${U.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${U.origin} ${j.verb} ${E}${U.minimum.toString()} ${j.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 ${U.origin} \u0431\u0443\u0434\u0435 ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.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 "${E.suffix}"`;if(E.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 "${E.includes}"`;if(E.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 ${E.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${U.keys.length>1?"\u0456":""}: ${V(U.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${U.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 ${U.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 WL=r(()=>{n()});function JL(){return GU()}var LG=r(()=>{WL()});function PL(){return{localeError:VM()}}var VM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${U.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${N} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${E} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${N} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(U.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${M(U.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${V(U.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${U.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${E}${U.maximum.toString()} ${j.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: ${U.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${E}${U.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${U.origin} \u06A9\u06D2 ${E}${U.minimum.toString()} ${j.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${U.origin} \u06A9\u0627 ${E}${U.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${E.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(E.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${E.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(E.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${E.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(E.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${E.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${D[E.format]??U.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${U.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${U.keys.length>1?"\u0632":""}: ${V(U.keys,"\u060C ")}`;case"invalid_key":return`${U.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${U.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var WG=r(()=>{n()});function zL(){return{localeError:BM()}}var BM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"raqam",array:"massiv"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${U.expected}, qabul qilingan ${N}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${E}, qabul qilingan ${N}`}case"invalid_value":if(U.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${M(U.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Juda katta: kutilgan ${U.origin??"qiymat"} ${E}${U.maximum.toString()} ${j.unit} ${j.verb}`;return`Juda katta: kutilgan ${U.origin??"qiymat"} ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Juda kichik: kutilgan ${U.origin} ${E}${U.minimum.toString()} ${j.unit} ${j.verb}`;return`Juda kichik: kutilgan ${U.origin} ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${E.prefix}" bilan boshlanishi kerak`;if(E.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${E.suffix}" bilan tugashi kerak`;if(E.format==="includes")return`Noto\u2018g\u2018ri satr: "${E.includes}" ni o\u2018z ichiga olishi kerak`;if(E.format==="regex")return`Noto\u2018g\u2018ri satr: ${E.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${D[E.format]??U.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${U.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${U.keys.length>1?"lar":""}: ${V(U.keys,", ")}`;case"invalid_key":return`${U.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${U.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var JG=r(()=>{n()});function gL(){return{localeError:MM()}}var MM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${U.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${N}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${E}, nh\u1EADn \u0111\u01B0\u1EE3c ${N}`}case"invalid_value":if(U.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${M(U.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(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${U.origin??"gi\xE1 tr\u1ECB"} ${j.verb} ${E}${U.maximum.toString()} ${j.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${U.origin??"gi\xE1 tr\u1ECB"} ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${U.origin} ${j.verb} ${E}${U.minimum.toString()} ${j.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${U.origin} ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${E.prefix}"`;if(E.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${E.suffix}"`;if(E.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${E.includes}"`;if(E.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${E.pattern}`;return`${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${V(U.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${U.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 ${U.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var PG=r(()=>{n()});function XL(){return{localeError:ZM()}}var ZM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${U.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${N}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${E}\uFF0C\u5B9E\u9645\u63A5\u6536 ${N}`}case"invalid_value":if(U.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${M(U.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${U.origin??"\u503C"} ${E}${U.maximum.toString()} ${j.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${U.origin??"\u503C"} ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${U.origin} ${E}${U.minimum.toString()} ${j.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${U.origin} ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${E.prefix}" \u5F00\u5934`;if(E.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${E.suffix}" \u7ED3\u5C3E`;if(E.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${E.includes}"`;if(E.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${E.pattern}`;return`\u65E0\u6548${D[E.format]??U.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${U.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${V(U.keys,", ")}`;case"invalid_key":return`${U.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${U.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var zG=r(()=>{n()});function GL(){return{localeError:HM()}}var HM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${U.expected}\uFF0C\u4F46\u6536\u5230 ${N}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${E}\uFF0C\u4F46\u6536\u5230 ${N}`}case"invalid_value":if(U.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${M(U.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${U.origin??"\u503C"} \u61C9\u70BA ${E}${U.maximum.toString()} ${j.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${U.origin??"\u503C"} \u61C9\u70BA ${E}${U.maximum.toString()}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${U.origin} \u61C9\u70BA ${E}${U.minimum.toString()} ${j.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${U.origin} \u61C9\u70BA ${E}${U.minimum.toString()}`}case"invalid_format":{let E=U;if(E.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${E.prefix}" \u958B\u982D`;if(E.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${E.suffix}" \u7D50\u5C3E`;if(E.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${E.includes}"`;if(E.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${E.pattern}`;return`\u7121\u6548\u7684 ${D[E.format]??U.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${U.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${U.keys.length>1?"\u5011":""}\uFF1A${V(U.keys,"\u3001")}`;case"invalid_key":return`${U.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${U.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var gG=r(()=>{n()});function RL(){return{localeError:bM()}}var bM=()=>{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 $(U){return _[U]??null}let D={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"},I={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(U)=>{switch(U.code){case"invalid_type":{let E=I[U.expected]??U.expected,j=Z(U.input),N=I[j]??j;if(/^[A-Z]/.test(U.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${U.expected}, \xE0m\u1ECD\u0300 a r\xED ${N}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${E}, \xE0m\u1ECD\u0300 a r\xED ${N}`}case"invalid_value":if(U.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${M(U.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${V(U.values,"|")}`;case"too_big":{let E=U.inclusive?"<=":"<",j=$(U.origin);if(j)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${U.origin??"iye"} ${j.verb} ${E}${U.maximum} ${j.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${E}${U.maximum}`}case"too_small":{let E=U.inclusive?">=":">",j=$(U.origin);if(j)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${U.origin} ${j.verb} ${E}${U.minimum} ${j.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${E}${U.minimum}`}case"invalid_format":{let E=U;if(E.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 "${E.prefix}"`;if(E.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${E.suffix}"`;if(E.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${E.includes}"`;if(E.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${E.pattern}`;return`A\u1E63\xEC\u1E63e: ${D[E.format]??U.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 ${U.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${V(U.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${U.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 ${U.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var XG=r(()=>{n()});var n0={};x$(n0,{zhTW:()=>GL,zhCN:()=>XL,yo:()=>RL,vi:()=>gL,uz:()=>zL,ur:()=>PL,uk:()=>GU,ua:()=>JL,tr:()=>LL,th:()=>SL,ta:()=>OL,sv:()=>AL,sl:()=>NL,ru:()=>jL,ro:()=>EL,pt:()=>IL,ps:()=>DL,pl:()=>UL,ota:()=>$L,no:()=>_L,nl:()=>sS,ms:()=>aS,mk:()=>eS,lt:()=>pS,ko:()=>oS,km:()=>gU,kh:()=>tS,ka:()=>lS,ja:()=>mS,it:()=>dS,is:()=>nS,id:()=>cS,hy:()=>hS,hu:()=>yS,hr:()=>uS,he:()=>xS,frCA:()=>fS,fr:()=>rS,fi:()=>wS,fa:()=>vS,es:()=>CS,eo:()=>kS,en:()=>zU,el:()=>bS,de:()=>HS,da:()=>ZS,cs:()=>MS,ca:()=>BS,bg:()=>VS,be:()=>FS,az:()=>TS,ar:()=>KS});var YL=r(()=>{R5();Y5();K5();T5();F5();V5();B5();M5();Z5();qS();H5();b5();q5();k5();C5();v5();w5();r5();f5();u5();y5();h5();c5();n5();d5();m5();iS();l5();t5();o5();p5();e5();a5();s5();_G();$G();DG();UG();EG();jG();NG();AG();OG();SG();LG();WL();WG();JG();PG();zG();gG();XG()});class QL{constructor(){this._map=new WeakMap,this._idmap=new Map}add(_,...$){let D=$[0];if(this._map.set(_,D),D&&typeof D==="object"&&"id"in D)this._idmap.set(D.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 D={...this.get($)??{}};delete D.id;let I={...D,...this._map.get(_)};return Object.keys(I).length?I:void 0}return this._map.get(_)}has(_){return this._map.has(_)}}function RU(){return new QL}var GG,DE,UE,x_;var YU=r(()=>{DE=Symbol("ZodOutput"),UE=Symbol("ZodInput");(GG=globalThis).__zod_globalRegistry??(GG.__zod_globalRegistry=RU());x_=globalThis.__zod_globalRegistry});function KL(_,$){return new _({type:"string",...v($)})}function TL(_,$){return new _({type:"string",coerce:!0,...v($)})}function IE(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...v($)})}function QU(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...v($)})}function EE(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...v($)})}function jE(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...v($)})}function NE(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...v($)})}function AE(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...v($)})}function KU(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...v($)})}function OE(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...v($)})}function SE(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...v($)})}function LE(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...v($)})}function WE(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...v($)})}function JE(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...v($)})}function PE(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...v($)})}function zE(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...v($)})}function gE(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...v($)})}function XE(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...v($)})}function FL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...v($)})}function GE(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...v($)})}function RE(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...v($)})}function YE(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...v($)})}function QE(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...v($)})}function KE(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...v($)})}function TE(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...v($)})}function VL(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...v($)})}function BL(_,$){return new _({type:"string",format:"date",check:"string_format",...v($)})}function ML(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...v($)})}function ZL(_,$){return new _({type:"string",format:"duration",check:"string_format",...v($)})}function HL(_,$){return new _({type:"number",checks:[],...v($)})}function bL(_,$){return new _({type:"number",coerce:!0,checks:[],...v($)})}function qL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...v($)})}function kL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...v($)})}function CL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...v($)})}function vL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...v($)})}function wL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...v($)})}function rL(_,$){return new _({type:"boolean",...v($)})}function fL(_,$){return new _({type:"boolean",coerce:!0,...v($)})}function xL(_,$){return new _({type:"bigint",...v($)})}function uL(_,$){return new _({type:"bigint",coerce:!0,...v($)})}function yL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...v($)})}function hL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...v($)})}function cL(_,$){return new _({type:"symbol",...v($)})}function nL(_,$){return new _({type:"undefined",...v($)})}function dL(_,$){return new _({type:"null",...v($)})}function mL(_){return new _({type:"any"})}function lL(_){return new _({type:"unknown"})}function iL(_,$){return new _({type:"never",...v($)})}function tL(_,$){return new _({type:"void",...v($)})}function oL(_,$){return new _({type:"date",...v($)})}function pL(_,$){return new _({type:"date",coerce:!0,...v($)})}function eL(_,$){return new _({type:"nan",...v($)})}function V$(_,$){return new nI({check:"less_than",...v($),value:_,inclusive:!1})}function I$(_,$){return new nI({check:"less_than",...v($),value:_,inclusive:!0})}function B$(_,$){return new dI({check:"greater_than",...v($),value:_,inclusive:!1})}function c_(_,$){return new dI({check:"greater_than",...v($),value:_,inclusive:!0})}function TU(_){return B$(0,_)}function FU(_){return V$(0,_)}function VU(_){return I$(0,_)}function BU(_){return c_(0,_)}function W6(_,$){return new mA({check:"multiple_of",...v($),value:_})}function J6(_,$){return new tA({check:"max_size",...v($),maximum:_})}function M$(_,$){return new oA({check:"min_size",...v($),minimum:_})}function f6(_,$){return new pA({check:"size_equals",...v($),size:_})}function x6(_,$){return new eA({check:"max_length",...v($),maximum:_})}function l$(_,$){return new aA({check:"min_length",...v($),minimum:_})}function u6(_,$){return new sA({check:"length_equals",...v($),length:_})}function K4(_,$){return new _O({check:"string_format",format:"regex",...v($),pattern:_})}function T4(_){return new $O({check:"string_format",format:"lowercase",...v(_)})}function F4(_){return new DO({check:"string_format",format:"uppercase",...v(_)})}function V4(_,$){return new UO({check:"string_format",format:"includes",...v($),includes:_})}function B4(_,$){return new IO({check:"string_format",format:"starts_with",...v($),prefix:_})}function M4(_,$){return new EO({check:"string_format",format:"ends_with",...v($),suffix:_})}function MU(_,$,D){return new jO({check:"property",property:_,schema:$,...v(D)})}function Z4(_,$){return new NO({check:"mime_type",mime:_,...v($)})}function X$(_){return new AO({check:"overwrite",tx:_})}function H4(_){return X$(($)=>$.normalize(_))}function b4(){return X$((_)=>_.trim())}function q4(){return X$((_)=>_.toLowerCase())}function k4(){return X$((_)=>_.toUpperCase())}function C4(){return X$((_)=>IA(_))}function aL(_,$,D){return new _({type:"array",element:$,...v(D)})}function kM(_,$,D){return new _({type:"union",options:$,...v(D)})}function CM(_,$,D){return new _({type:"union",options:$,inclusive:!1,...v(D)})}function vM(_,$,D,I){return new _({type:"union",options:D,discriminator:$,...v(I)})}function wM(_,$,D){return new _({type:"intersection",left:$,right:D})}function rM(_,$,D,I){let U=D instanceof p;return new _({type:"tuple",items:$,rest:U?D:null,...v(U?I:D)})}function fM(_,$,D,I){return new _({type:"record",keyType:$,valueType:D,...v(I)})}function xM(_,$,D,I){return new _({type:"map",keyType:$,valueType:D,...v(I)})}function uM(_,$,D){return new _({type:"set",valueType:$,...v(D)})}function yM(_,$,D){let I=Array.isArray($)?Object.fromEntries($.map((U)=>[U,U])):$;return new _({type:"enum",entries:I,...v(D)})}function hM(_,$,D){return new _({type:"enum",entries:$,...v(D)})}function cM(_,$,D){return new _({type:"literal",values:Array.isArray($)?$:[$],...v(D)})}function sL(_,$){return new _({type:"file",...v($)})}function nM(_,$){return new _({type:"transform",transform:$})}function dM(_,$){return new _({type:"optional",innerType:$})}function mM(_,$){return new _({type:"nullable",innerType:$})}function lM(_,$,D){return new _({type:"default",innerType:$,get defaultValue(){return typeof D==="function"?D():jA(D)}})}function iM(_,$,D){return new _({type:"nonoptional",innerType:$,...v(D)})}function tM(_,$){return new _({type:"success",innerType:$})}function oM(_,$,D){return new _({type:"catch",innerType:$,catchValue:typeof D==="function"?D:()=>D})}function pM(_,$,D){return new _({type:"pipe",in:$,out:D})}function eM(_,$){return new _({type:"readonly",innerType:$})}function aM(_,$,D){return new _({type:"template_literal",parts:$,...v(D)})}function sM(_,$){return new _({type:"lazy",getter:$})}function _Z(_,$){return new _({type:"promise",innerType:$})}function _W(_,$,D){let I=v(D);return I.abort??(I.abort=!0),new _({type:"custom",check:"custom",fn:$,...I})}function $W(_,$,D){return new _({type:"custom",check:"custom",fn:$,...v(D)})}function DW(_,$){let D=RG((I)=>{return I.addIssue=(U)=>{if(typeof U==="string")I.issues.push(v0(U,I.value,D._zod.def));else{let E=U;if(E.fatal)E.continue=!1;E.code??(E.code="custom"),E.input??(E.input=I.value),E.inst??(E.inst=D),E.continue??(E.continue=!D._zod.def.abort),I.issues.push(v0(E))}},_(I.value,I)},$);return D}function RG(_,$){let D=new Q_({check:"custom",...v($)});return D._zod.check=_,D}function UW(_){let $=new Q_({check:"describe"});return $._zod.onattach=[(D)=>{let I=x_.get(D)??{};x_.add(D,{...I,description:_})}],$._zod.check=()=>{},$}function IW(_){let $=new Q_({check:"meta"});return $._zod.onattach=[(D)=>{let I=x_.get(D)??{};x_.add(D,{...I,..._})}],$._zod.check=()=>{},$}function EW(_,$){let D=v($),I=D.truthy??["true","1","yes","on","y","enabled"],U=D.falsy??["false","0","no","off","n","disabled"];if(D.case!=="sensitive")I=I.map((z)=>typeof z==="string"?z.toLowerCase():z),U=U.map((z)=>typeof z==="string"?z.toLowerCase():z);let E=new Set(I),j=new Set(U),N=_.Codec??PU,O=_.Boolean??WU,L=new(_.String??Q4)({type:"string",error:D.error}),W=new O({type:"boolean",error:D.error}),g=new N({type:"pipe",in:L,out:W,transform:(z,G)=>{let J=z;if(D.case!=="sensitive")J=J.toLowerCase();if(E.has(J))return!0;else if(j.has(J))return!1;else return G.issues.push({code:"invalid_value",expected:"stringbool",values:[...E,...j],input:G.value,inst:g,continue:!1}),{}},reverseTransform:(z,G)=>{if(z===!0)return I[0]||"true";else return U[0]||"false"},error:D.error});return g}function d0(_,$,D,I={}){let U=v(I),E={...v(I),check:"string_format",type:"string",format:$,fn:typeof D==="function"?D:(N)=>D.test(N),...U};if(D instanceof RegExp)E.pattern=D;return new _(E)}var FE;var YG=r(()=>{mI();YU();QS();n();FE={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function y6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??x_,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 W_(_,$,D={path:[],schemaPath:[]}){var I;let U=_._zod.def,E=$.seen.get(_);if(E){if(E.count++,D.schemaPath.includes(_))E.cycle=D.path;return E.schema}let j={schema:{},count:1,cycle:void 0,path:D.path};$.seen.set(_,j);let N=_._zod.toJSONSchema?.();if(N)j.schema=N;else{let L={...D,schemaPath:[...D.schemaPath,_],path:D.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,j.schema,L);else{let g=j.schema,z=$.processors[U.type];if(!z)throw Error(`[toJSONSchema]: Non-representable type encountered: ${U.type}`);z(_,$,g,L)}let W=_._zod.parent;if(W){if(!j.ref)j.ref=W;W_(W,$,L),$.seen.get(W).isParent=!0}}let O=$.metadataRegistry.get(_);if(O)Object.assign(j.schema,O);if($.io==="input"&&o_(_))delete j.schema.examples,delete j.schema.default;if($.io==="input"&&"_prefault"in j.schema)(I=j.schema).default??(I.default=j.schema._prefault);return delete j.schema._prefault,$.seen.get(_).schema}function h6(_,$){let D=_.seen.get($);if(!D)throw Error("Unprocessed schema. This is a bug in Zod.");let I=new Map;for(let j of _.seen.entries()){let N=_.metadataRegistry.get(j[0])?.id;if(N){let O=I.get(N);if(O&&O!==j[0])throw Error(`Duplicate schema id "${N}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);I.set(N,j[0])}}let U=(j)=>{let N=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let W=_.external.registry.get(j[0])?.id,g=_.external.uri??((G)=>G);if(W)return{ref:g(W)};let z=j[1].defId??j[1].schema.id??`schema${_.counter++}`;return j[1].defId=z,{defId:z,ref:`${g("__shared")}#/${N}/${z}`}}if(j[1]===D)return{ref:"#"};let S=`${"#"}/${N}/`,L=j[1].schema.id??`__schema${_.counter++}`;return{defId:L,ref:S+L}},E=(j)=>{if(j[1].schema.$ref)return;let N=j[1],{ref:O,defId:S}=U(j);if(N.def={...N.schema},S)N.defId=S;let L=N.schema;for(let W in L)delete L[W];L.$ref=O};if(_.cycles==="throw")for(let j of _.seen.entries()){let N=j[1];if(N.cycle)throw Error(`Cycle detected: #/${N.cycle?.join("/")}/ + `)}z.write("payload.value = newResult;"),z.write("return payload;");let Q=z.compile();return(B,G)=>Q(X,B,G)},N,E=q4,I=!M4.jitless,J=I&&bA.value,L=$.catchall,S;_._zod.parse=(X,z)=>{S??(S=j.value);let R=X.value;if(!E(R))return X.issues.push({expected:"object",code:"invalid_type",input:R,inst:_}),X;if(I&&J&&z?.async===!1&&z.jitless!==!0){if(!N)N=D($.shape);if(X=N(X,z),!L)return X;return N8([],R,X,z,S,_)}return U(X,z)}});qD=V("$ZodUnion",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.options.some((j)=>j._zod.optin==="optional")?"optional":void 0),U_(_._zod,"optout",()=>$.options.some((j)=>j._zod.optout==="optional")?"optional":void 0),U_(_._zod,"values",()=>{if($.options.every((j)=>j._zod.values))return new Set($.options.flatMap((j)=>Array.from(j._zod.values)));return}),U_(_._zod,"pattern",()=>{if($.options.every((j)=>j._zod.pattern)){let j=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${j.map((D)=>TD(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 N=!1,E=[];for(let I of $.options){let W=I._zod.run({value:j.value,issues:[]},D);if(W instanceof Promise)E.push(W),N=!0;else{if(W.issues.length===0)return W;E.push(W)}}if(!N)return m9(E,j,_,D);return Promise.all(E).then((I)=>{return m9(I,j,_,D)})}});FJ=V("$ZodXor",(_,$)=>{qD.init(_,$),$.inclusive=!1;let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(j,D)=>{if(U)return U(j,D);let N=!1,E=[];for(let I of $.options){let W=I._zod.run({value:j.value,issues:[]},D);if(W instanceof Promise)E.push(W),N=!0;else E.push(W)}if(!N)return n9(E,j,_,D);return Promise.all(E).then((I)=>{return n9(I,j,_,D)})}}),KJ=V("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,qD.init(_,$);let U=_._zod.parse;U_(_._zod,"propValues",()=>{let D={};for(let N of $.options){let E=N._zod.propValues;if(!E||Object.keys(E).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(N)}"`);for(let[I,W]of Object.entries(E)){if(!D[I])D[I]=new Set;for(let J of W)D[I].add(J)}}return D});let j=d0(()=>{let D=$.options,N=new Map;for(let E of D){let I=E._zod.propValues?.[$.discriminator];if(!I||I.size===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(E)}"`);for(let W of I){if(N.has(W))throw Error(`Duplicate discriminator value "${String(W)}"`);N.set(W,E)}}return N});_._zod.parse=(D,N)=>{let E=D.value;if(!q4(E))return D.issues.push({code:"invalid_type",expected:"object",input:E,inst:_}),D;let I=j.value.get(E?.[$.discriminator]);if(I)return I._zod.run(D,N);if($.unionFallback||N.direction==="backward")return U(D,N);return D.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(j.value.keys()),input:E,path:[$.discriminator],inst:_}),D}}),gJ=V("$ZodIntersection",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{let D=U.value,N=$.left._zod.run({value:D,issues:[]},j),E=$.right._zod.run({value:D,issues:[]},j);if(N instanceof Promise||E instanceof Promise)return Promise.all([N,E]).then(([W,J])=>{return d9(U,W,J)});return d9(U,N,E)}});GN=V("$ZodTuple",(_,$)=>{p.init(_,$);let U=$.items;_._zod.parse=(j,D)=>{let N=j.value;if(!Array.isArray(N))return j.issues.push({input:N,inst:_,expected:"tuple",code:"invalid_type"}),j;j.value=[];let E=[],I=l9(U,"optin"),W=l9(U,"optout");if(!$.rest){if(N.lengthU.length)j.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:N,inst:_,origin:"array"})}let J=Array(U.length);for(let L=0;L{J[L]=X}));else J[L]=S}if($.rest){let L=U.length-1,S=N.slice(U.length);for(let X of S){L++;let z=$.rest._zod.run({value:X,issues:[]},D);if(z instanceof Promise)E.push(z.then((R)=>i9(R,j,L)));else i9(z,j,L)}}if(E.length)return Promise.all(E).then(()=>t9(J,j,U,N,W));return t9(J,j,U,N,W)}});MJ=V("$ZodRecord",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{let D=U.value;if(!d6(D))return U.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),U;let N=[],E=$.keyType._zod.values;if(E){U.value={};let I=new Set;for(let J of E)if(typeof J==="string"||typeof J==="number"||typeof J==="symbol"){I.add(typeof J==="number"?J.toString():J);let L=$.keyType._zod.run({value:J,issues:[]},j);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:L.issues.map((z)=>_$(z,j,C_())),input:J,path:[J],inst:_});continue}let S=L.value,X=$.valueType._zod.run({value:D[J],issues:[]},j);if(X instanceof Promise)N.push(X.then((z)=>{if(z.issues.length)U.issues.push(...I$(J,z.issues));U.value[S]=z.value}));else{if(X.issues.length)U.issues.push(...I$(J,X.issues));U.value[S]=X.value}}let W;for(let J in D)if(!I.has(J))W=W??[],W.push(J);if(W&&W.length>0)U.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:W})}else{U.value={};for(let I of Reflect.ownKeys(D)){if(I==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,I))continue;let W=$.keyType._zod.run({value:I,issues:[]},j);if(W instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof I==="string"&&gD.test(I)&&W.issues.length){let S=$.keyType._zod.run({value:Number(I),issues:[]},j);if(S instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(S.issues.length===0)W=S}if(W.issues.length){if($.mode==="loose")U.value[I]=D[I];else U.issues.push({code:"invalid_key",origin:"record",issues:W.issues.map((S)=>_$(S,j,C_())),input:I,path:[I],inst:_});continue}let L=$.valueType._zod.run({value:D[I],issues:[]},j);if(L instanceof Promise)N.push(L.then((S)=>{if(S.issues.length)U.issues.push(...I$(I,S.issues));U.value[W.value]=S.value}));else{if(L.issues.length)U.issues.push(...I$(I,L.issues));U.value[W.value]=L.value}}}if(N.length)return Promise.all(N).then(()=>U);return U}}),ZJ=V("$ZodMap",(_,$)=>{p.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 N=[];U.value=new Map;for(let[E,I]of D){let W=$.keyType._zod.run({value:E,issues:[]},j),J=$.valueType._zod.run({value:I,issues:[]},j);if(W instanceof Promise||J instanceof Promise)N.push(Promise.all([W,J]).then(([L,S])=>{o9(L,S,U,E,D,_,j)}));else o9(W,J,U,E,D,_,j)}if(N.length)return Promise.all(N).then(()=>U);return U}});HJ=V("$ZodSet",(_,$)=>{p.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 N=[];U.value=new Set;for(let E of D){let I=$.valueType._zod.run({value:E,issues:[]},j);if(I instanceof Promise)N.push(I.then((W)=>p9(W,U)));else p9(I,U)}if(N.length)return Promise.all(N).then(()=>U);return U}});qJ=V("$ZodEnum",(_,$)=>{p.init(_,$);let U=GD($.entries),j=new Set(U);_._zod.values=j,_._zod.pattern=new RegExp(`^(${U.filter((D)=>VD.has(typeof D)).map((D)=>typeof D==="string"?F$(D):D.toString()).join("|")})$`),_._zod.parse=(D,N)=>{let E=D.value;if(j.has(E))return D;return D.issues.push({code:"invalid_value",values:U,input:E,inst:_}),D}}),kJ=V("$ZodLiteral",(_,$)=>{if(p.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"?F$(j):j?F$(j.toString()):String(j)).join("|")})$`),_._zod.parse=(j,D)=>{let N=j.value;if(U.has(N))return j;return j.issues.push({code:"invalid_value",values:$.values,input:N,inst:_}),j}}),CJ=V("$ZodFile",(_,$)=>{p.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}}),bJ=V("$ZodTransform",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.parse=(U,j)=>{if(j.direction==="backward")throw new Z4(_.constructor.name);let D=$.transform(U.value,U);if(j.async)return(D instanceof Promise?D:Promise.resolve(D)).then((E)=>{return U.value=E,U.fallback=!0,U});if(D instanceof Promise)throw new s$;return U.value=D,U.fallback=!0,U}});TN=V("$ZodOptional",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.optout="optional",U_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${TD(U.source)})?$`):void 0}),_._zod.parse=(U,j)=>{if($.innerType._zod.optin==="optional"){let D=U.value,N=$.innerType._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>a9(E,D));return a9(N,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,j)}}),wJ=V("$ZodExactOptional",(_,$)=>{TN.init(_,$),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,j)=>{return $.innerType._zod.run(U,j)}}),vJ=V("$ZodNullable",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.innerType._zod.optin),U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${TD(U.source)}|null)$`):void 0}),U_(_._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)}}),fJ=V("$ZodDefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._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((N)=>e9(N,$));return e9(D,$)}});xJ=V("$ZodPrefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._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)}}),yJ=V("$ZodNonOptional",(_,$)=>{p.init(_,$),U_(_._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((N)=>s9(N,_));return s9(D,_)}});uJ=V("$ZodSuccess",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{if(j.direction==="backward")throw new Z4("ZodSuccess");let D=$.innerType._zod.run(U,j);if(D instanceof Promise)return D.then((N)=>{return U.value=N.issues.length===0,U});return U.value=D.issues.length===0,U}}),hJ=V("$ZodCatch",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._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((N)=>{if(U.value=N.value,N.issues.length)U.value=$.catchValue({...U,error:{issues:N.issues.map((E)=>_$(E,j,C_()))},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((N)=>_$(N,j,C_()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),rJ=V("$ZodNaN",(_,$)=>{p.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}}),VN=V("$ZodPipe",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,j)=>{if(j.direction==="backward"){let N=$.out._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>ON(E,$.in,j));return ON(N,$.in,j)}let D=$.in._zod.run(U,j);if(D instanceof Promise)return D.then((N)=>ON(N,$.out,j));return ON(D,$.out,j)}});kD=V("$ZodCodec",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,j)=>{if((j.direction||"forward")==="forward"){let N=$.in._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>zN(E,$,j));return zN(N,$,j)}else{let N=$.out._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>zN(E,$,j));return zN(N,$,j)}}});cJ=V("$ZodPreprocess",(_,$)=>{VN.init(_,$)}),mJ=V("$ZodReadonly",(_,$)=>{p.init(_,$),U_(_._zod,"propValues",()=>$.innerType._zod.propValues),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"optin",()=>$.innerType?._zod?.optin),U_(_._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(_8);return _8(D)}});nJ=V("$ZodTemplateLiteral",(_,$)=>{p.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 N=D.startsWith("^")?1:0,E=D.endsWith("$")?D.length-1:D.length;U.push(D.slice(N,E))}else if(j===null||vA.has(typeof j))U.push(F$(`${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}}),dJ=V("$ZodFunction",(_,$)=>{return p.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?ej(_._def.input,j):j,N=Reflect.apply(U,this,D);if(_._def.output)return ej(_._def.output,N);return N}},_.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...j){let D=_._def.input?await sj(_._def.input,j):j,N=await Reflect.apply(U,this,D);if(_._def.output)return await sj(_._def.output,N);return N}},_._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 GN({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})},_}),lJ=V("$ZodPromise",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},j))}}),iJ=V("$ZodLazy",(_,$)=>{p.init(_,$),U_(_._zod,"innerType",()=>{let U=$;if(!U._cachedInner)U._cachedInner=$.getter();return U._cachedInner}),U_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),U_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),U_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),U_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(U,j)=>{return _._zod.innerType._zod.run(U,j)}}),tJ=V("$ZodCustom",(_,$)=>{V_.init(_,$),p.init(_,$),_._zod.parse=(U,j)=>{return U},_._zod.check=(U)=>{let j=U.value,D=$.fn(j);if(D instanceof Promise)return D.then((N)=>$8(N,U,j,_));$8(D,U,j,_);return}})});function pJ(){return{localeError:oM()}}var oM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${I}`}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 ${M(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: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${N} ${D.maximum.toString()} ${E.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"} ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N} ${D.minimum.toString()} ${E.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 ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`${U[N.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":""}: ${K(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 I8=f(()=>{m()});function aJ(){return{localeError:pM()}}var pM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${I}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${N}, daxil olan ${I}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${M(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${N}${D.maximum.toString()} ${E.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${N}${D.minimum.toString()} ${E.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${N.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(N.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${N.suffix}" il\u0259 bitm\u0259lidir`;if(N.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${N.includes}" daxil olmal\u0131d\u0131r`;if(N.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${N.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[N.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":""}: ${K(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 A8=f(()=>{m()});function W8(_,$,U,j){let D=Math.abs(_),N=D%10,E=D%100;if(E>=11&&E<=19)return j;if(N===1)return $;if(N>=2&&N<=4)return U;return j}function eJ(){return{localeError:aM()}}var aM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${N}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E){let I=Number(D.maximum),W=W8(I,E.unit.one,E.unit.few,E.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 ${E.verb} ${N}${D.maximum.toString()} ${W}`}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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E){let I=Number(D.minimum),W=W8(I,E.unit.one,E.unit.few,E.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 ${E.verb} ${N}${D.minimum.toString()} ${W}`}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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[N.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"}: ${K(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 J8=f(()=>{m()});function sJ(){return{localeError:eM()}}var eM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${N}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;let E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(N.format==="emoji")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(N.format==="datetime")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(N.format==="date")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(N.format==="time")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(N.format==="duration")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${E} ${U[N.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":""}: ${K(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 L8=f(()=>{m()});function _L(){return{localeError:sM()}}var sM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${I}`;return`Tipus inv\xE0lid: s'esperava ${N}, s'ha rebut ${I}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${M(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${K(D.values," o ")}`;case"too_big":{let N=D.inclusive?"com a m\xE0xim":"menys de",E=$(D.origin);if(E)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${N} ${D.maximum.toString()} ${E.unit??"elements"}`;return`Massa gran: s'esperava que ${D.origin??"el valor"} fos ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?"com a m\xEDnim":"m\xE9s de",E=$(D.origin);if(E)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${N} ${D.minimum.toString()} ${E.unit}`;return`Massa petit: s'esperava que ${D.origin} fos ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${N.prefix}"`;if(N.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${N.suffix}"`;if(N.format==="includes")return`Format inv\xE0lid: ha d'incloure "${N.includes}"`;if(N.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${N.pattern}`;return`Format inv\xE0lid per a ${U[N.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":""}: ${K(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 S8=f(()=>{m()});function $L(){return{localeError:_Z()}}var _Z=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${I}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${N}, obdr\u017Eeno ${I}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${M(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${N}${D.maximum.toString()} ${E.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${N}${D.minimum.toString()} ${E.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${N.prefix}"`;if(N.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${N.suffix}"`;if(N.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${N.includes}"`;if(N.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${N.pattern}`;return`Neplatn\xFD form\xE1t ${U[N.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: ${K(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 P8=f(()=>{m()});function UL(){return{localeError:$Z()}}var $Z=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${I}`;return`Ugyldigt input: forventede ${N}, fik ${I}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${M(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`For stor: forventede ${I??"value"} ${E.verb} ${N} ${D.maximum.toString()} ${E.unit??"elementer"}`;return`For stor: forventede ${I??"value"} havde ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`For lille: forventede ${I} ${E.verb} ${N} ${D.minimum.toString()} ${E.unit}`;return`For lille: forventede ${I} havde ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ugyldig streng: skal starte med "${N.prefix}"`;if(N.format==="ends_with")return`Ugyldig streng: skal ende med "${N.suffix}"`;if(N.format==="includes")return`Ugyldig streng: skal indeholde "${N.includes}"`;if(N.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${N.pattern}`;return`Ugyldig ${U[N.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"}: ${K(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 O8=f(()=>{m()});function DL(){return{localeError:UZ()}}var UZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${I}`;return`Ung\xFCltige Eingabe: erwartet ${N}, erhalten ${I}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${M(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${N}${D.maximum.toString()} ${E.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${N}${D.maximum.toString()} ist`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Zu klein: erwartet, dass ${D.origin} ${N}${D.minimum.toString()} ${E.unit} hat`;return`Zu klein: erwartet, dass ${D.origin} ${N}${D.minimum.toString()} ist`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ung\xFCltiger String: muss mit "${N.prefix}" beginnen`;if(N.format==="ends_with")return`Ung\xFCltiger String: muss mit "${N.suffix}" enden`;if(N.format==="includes")return`Ung\xFCltiger String: muss "${N.includes}" enthalten`;if(N.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${N.pattern} entsprechen`;return`Ung\xFCltig: ${U[N.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"}: ${K(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 z8=f(()=>{m()});function jL(){return{localeError:DZ()}}var DZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[N.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"}: ${K(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 X8=f(()=>{m()});function CD(){return{localeError:jZ()}}var jZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;return`Invalid input: expected ${N}, received ${I}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${M(D.values[0])}`;return`Invalid option: expected one of ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Too big: expected ${D.origin??"value"} to have ${N}${D.maximum.toString()} ${E.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Too small: expected ${D.origin} to have ${N}${D.minimum.toString()} ${E.unit}`;return`Too small: expected ${D.origin} to be ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Invalid string: must start with "${N.prefix}"`;if(N.format==="ends_with")return`Invalid string: must end with "${N.suffix}"`;if(N.format==="includes")return`Invalid string: must include "${N.includes}"`;if(N.format==="regex")return`Invalid string: must match pattern ${N.pattern}`;return`Invalid ${U[N.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":""}: ${K(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((E)=>`'${E}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var NL=f(()=>{m()});function EL(){return{localeError:NZ()}}var NZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${I}`;return`Nevalida enigo: atendi\u011Dis ${N}, ricevi\u011Dis ${I}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${M(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${N}${D.maximum.toString()} ${E.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${N}${D.minimum.toString()} ${E.unit}`;return`Tro malgranda: atendi\u011Dis ke ${D.origin} estu ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${N.prefix}"`;if(N.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${N.suffix}"`;if(N.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${N.includes}"`;if(N.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${N.pattern}`;return`Nevalida ${U[N.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":""}: ${K(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 Y8=f(()=>{m()});function IL(){return{localeError:EZ()}}var EZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${I}`;return`Entrada inv\xE1lida: se esperaba ${N}, recibido ${I}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${M(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Demasiado grande: se esperaba que ${I??"valor"} tuviera ${N}${D.maximum.toString()} ${E.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${I??"valor"} fuera ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Demasiado peque\xF1o: se esperaba que ${I} tuviera ${N}${D.minimum.toString()} ${E.unit}`;return`Demasiado peque\xF1o: se esperaba que ${I} fuera ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${N.prefix}"`;if(N.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${N.suffix}"`;if(N.format==="includes")return`Cadena inv\xE1lida: debe incluir "${N.includes}"`;if(N.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${N.pattern}`;return`Inv\xE1lido ${U[N.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":""}: ${K(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 R8=f(()=>{m()});function AL(){return{localeError:IZ()}}var IZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I} \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 ${N} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${I} \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 ${M(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 ${K(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} ${E.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${N.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(N.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${N.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(N.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${N.includes}" \u0628\u0627\u0634\u062F`;if(N.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 ${N.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[N.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: ${K(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 Q8=f(()=>{m()});function WL(){return{localeError:AZ()}}var AZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${I}`;return`Virheellinen tyyppi: odotettiin ${N}, oli ${I}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${M(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Liian suuri: ${E.subject} t\xE4ytyy olla ${N}${D.maximum.toString()} ${E.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Liian pieni: ${E.subject} t\xE4ytyy olla ${N}${D.minimum.toString()} ${E.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${N.prefix}"`;if(N.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${N.suffix}"`;if(N.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${N.includes}"`;if(N.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${N.pattern}`;return`Virheellinen ${U[N.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"}: ${K(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 G8=f(()=>{m()});function JL(){return{localeError:WZ()}}var WZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${I} re\xE7u`;return`Entr\xE9e invalide : ${N} attendu, ${I} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${M(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${K(D.values,"|")} attendue`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Trop grand : ${j[D.origin]??"valeur"} doit ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${j[D.origin]??"valeur"} doit \xEAtre ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Trop petit : ${j[D.origin]??"valeur"} doit ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Trop petit : ${j[D.origin]??"valeur"} doit \xEAtre ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${N.prefix}"`;if(N.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${N.suffix}"`;if(N.format==="includes")return`Cha\xEEne invalide : doit inclure "${N.includes}"`;if(N.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${N.pattern}`;return`${U[N.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":""} : ${K(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 T8=f(()=>{m()});function LL(){return{localeError:JZ()}}var JZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${I}`;return`Entr\xE9e invalide : attendu ${N}, re\xE7u ${I}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${M(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"\u2264":"<",E=$(D.origin);if(E)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${N}${D.maximum.toString()} ${E.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?"\u2265":">",E=$(D.origin);if(E)return`Trop petit : attendu que ${D.origin} ait ${N}${D.minimum.toString()} ${E.unit}`;return`Trop petit : attendu que ${D.origin} soit ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${N.prefix}"`;if(N.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${N.suffix}"`;if(N.format==="includes")return`Cha\xEEne invalide : doit inclure "${N.includes}"`;if(N.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${N.pattern}`;return`${U[N.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":""} : ${K(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 V8=f(()=>{m()});function SL(){return{localeError:LZ()}}var LZ=()=>{let _={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},$={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(J)=>J?_[J]:void 0,j=(J)=>{let L=U(J);if(L)return L.label;return J??_.unknown.label},D=(J)=>`\u05D4${j(J)}`,N=(J)=>{return(U(J)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},E=(J)=>{if(!J)return null;return $[J]??null},I={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"}},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let L=J.expected,S=W[L??""]??j(L),X=Z(J.input),z=W[X]??_[X]?.label??X;if(/^[A-Z]/.test(J.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${J.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${S}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`}case"invalid_value":{if(J.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${M(J.values[0])}`;let L=J.values.map((z)=>M(z));if(J.values.length===2)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${L[0]} \u05D0\u05D5 ${L[1]}`;let S=L[L.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 ${L.slice(0,-1).join(", ")} \u05D0\u05D5 ${S}`}case"too_big":{let L=E(J.origin),S=D(J.origin??"value");if(J.origin==="string")return`${L?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${J.maximum.toString()} ${L?.unit??""} ${J.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(J.origin==="number"){let R=J.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${J.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${J.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${R}`}if(J.origin==="array"||J.origin==="set"){let R=J.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",P=J.inclusive?`${J.maximum} ${L?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${J.maximum} ${L?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${S} ${R} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=J.inclusive?"<=":"<",z=N(J.origin??"value");if(L?.unit)return`${L.longLabel} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.maximum.toString()} ${L.unit}`;return`${L?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.maximum.toString()}`}case"too_small":{let L=E(J.origin),S=D(J.origin??"value");if(J.origin==="string")return`${L?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${J.minimum.toString()} ${L?.unit??""} ${J.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(J.origin==="number"){let R=J.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${J.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${J.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${R}`}if(J.origin==="array"||J.origin==="set"){let R=J.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(J.minimum===1&&J.inclusive){let O=J.origin==="set"?"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3":"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} ${R} \u05DC\u05D4\u05DB\u05D9\u05DC ${O}`}let P=J.inclusive?`${J.minimum} ${L?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${J.minimum} ${L?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} ${R} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=J.inclusive?">=":">",z=N(J.origin??"value");if(L?.unit)return`${L.shortLabel} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.minimum.toString()} ${L.unit}`;return`${L?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.minimum.toString()}`}case"invalid_format":{let L=J;if(L.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${L.prefix}"`;if(L.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${L.suffix}"`;if(L.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${L.includes}"`;if(L.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 ${L.pattern}`;let S=I[L.format],X=S?.label??L.format,R=(S?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${X} \u05DC\u05D0 ${R}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${J.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${J.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${J.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${K(J.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${D(J.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var B8=f(()=>{m()});function PL(){return{localeError:SZ()}}var SZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${I}`;return`Neispravan unos: o\u010Dekuje se ${N}, a primljeno je ${I}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${M(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Preveliko: o\u010Dekivano da ${I??"vrijednost"} ima ${N}${D.maximum.toString()} ${E.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${I??"vrijednost"} bude ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Premalo: o\u010Dekivano da ${I} ima ${N}${D.minimum.toString()} ${E.unit}`;return`Premalo: o\u010Dekivano da ${I} bude ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${N.prefix}"`;if(N.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${N.suffix}"`;if(N.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${N.includes}"`;if(N.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${N.pattern}`;return`Neispravna ${U[N.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"}: ${K(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 F8=f(()=>{m()});function OL(){return{localeError:PZ()}}var PZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${I}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${N}, a kapott \xE9rt\xE9k ${I}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${M(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${N}${D.maximum.toString()} ${E.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${D.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${N}${D.minimum.toString()} ${E.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} t\xFAl kicsi ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\xC9rv\xE9nytelen string: "${N.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(N.format==="ends_with")return`\xC9rv\xE9nytelen string: "${N.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(N.format==="includes")return`\xC9rv\xE9nytelen string: "${N.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(N.format==="regex")return`\xC9rv\xE9nytelen string: ${N.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[N.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":""}: ${K(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 K8=f(()=>{m()});function g8(_,$,U){return Math.abs(_)===1?$:U}function _U(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function zL(){return{localeError:OZ()}}var OZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E){let I=Number(D.maximum),W=g8(I,E.unit.one,E.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 ${_U(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${N}${D.maximum.toString()} ${W}`}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 ${_U(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E){let I=Number(D.minimum),W=g8(I,E.unit.one,E.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 ${_U(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${N}${D.minimum.toString()} ${W}`}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 ${_U(D.origin)} \u056C\u056B\u0576\u056B ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${N.prefix}"-\u0578\u057E`;if(N.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${N.suffix}"-\u0578\u057E`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[N.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":""}. ${K(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${_U(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 ${_U(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var M8=f(()=>{m()});function XL(){return{localeError:zZ()}}var zZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${I}`;return`Input tidak valid: diharapkan ${N}, diterima ${I}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${M(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${N}${D.maximum.toString()} ${E.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${N}${D.minimum.toString()} ${E.unit}`;return`Terlalu kecil: diharapkan ${D.origin} menjadi ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`String tidak valid: harus dimulai dengan "${N.prefix}"`;if(N.format==="ends_with")return`String tidak valid: harus berakhir dengan "${N.suffix}"`;if(N.format==="includes")return`String tidak valid: harus menyertakan "${N.includes}"`;if(N.format==="regex")return`String tidak valid: harus sesuai pola ${N.pattern}`;return`${U[N.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":""}: ${K(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 Z8=f(()=>{m()});function YL(){return{localeError:XZ()}}var XZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${I} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${I} \xFEar sem \xE1 a\xF0 vera ${N}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${M(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${N}${D.maximum.toString()} ${E.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} s\xE9 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${N}${D.minimum.toString()} ${E.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} s\xE9 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${N.prefix}"`;if(N.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${N.suffix}"`;if(N.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${N.includes}"`;if(N.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${N.pattern}`;return`Rangt ${U[N.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"}: ${K(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 H8=f(()=>{m()});function RL(){return{localeError:YZ()}}var YZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${I}`;return`Input non valido: atteso ${N}, ricevuto ${I}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${M(D.values[0])}`;return`Opzione non valida: atteso uno tra ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Troppo grande: ${D.origin??"valore"} deve avere ${N}${D.maximum.toString()} ${E.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Troppo piccolo: ${D.origin} deve avere ${N}${D.minimum.toString()} ${E.unit}`;return`Troppo piccolo: ${D.origin} deve essere ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Stringa non valida: deve iniziare con "${N.prefix}"`;if(N.format==="ends_with")return`Stringa non valida: deve terminare con "${N.suffix}"`;if(N.format==="includes")return`Stringa non valida: deve includere "${N.includes}"`;if(N.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${N.pattern}`;return`Input non valido: ${U[N.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"}: ${K(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 q8=f(()=>{m()});function QL(){return{localeError:RZ()}}var RZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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${I}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${N}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${I}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${M(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${K(D.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let N=D.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",E=$(D.origin);if(E)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${E.unit??"\u8981\u7D20"}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let N=D.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",E=$(D.origin);if(E)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${E.unit}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${N.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(N.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${N.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(N.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${N.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(N.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${N.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[N.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":""}: ${K(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 k8=f(()=>{m()});function GL(){return{localeError:QZ()}}var QZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${I}`}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 ${M(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 ${K(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${E.verb} ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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} ${E.verb} ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"-\u10D8\u10D7`;if(N.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 "${N.suffix}"-\u10D8\u10D7`;if(N.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 "${N.includes}"-\u10E1`;if(N.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 ${N.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[N.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"}: ${K(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 C8=f(()=>{m()});function bD(){return{localeError:GZ()}}var GZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${N} ${D.maximum.toString()} ${E.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"} ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${N} ${D.minimum.toString()} ${E.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[N.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 ${K(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 TL=f(()=>{m()});function VL(){return bD()}var b8=f(()=>{TL()});function BL(){return{localeError:TZ()}}var TZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${N}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${I}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${M(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${K(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let N=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",E=N==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",I=$(D.origin),W=I?.unit??"\uC694\uC18C";if(I)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${W} ${N}${E}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${N}${E}`}case"too_small":{let N=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",E=N==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",I=$(D.origin),W=I?.unit??"\uC694\uC18C";if(I)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${W} ${N}${E}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${N}${E}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${N.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(N.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${N.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(N.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${N.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(N.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${N.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[N.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: ${K(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 w8=f(()=>{m()});function v8(_){let $=Math.abs(_),U=$%10,j=$%100;if(j>=11&&j<=19||U===0)return"many";if(U===1)return"one";return"few"}function FL(){return{localeError:VZ()}}var wD=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},VZ=()=>{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,N,E,I){let W=_[D]??null;if(W===null)return W;return{unit:W.unit[N],verb:W.verb[I][E?"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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${I}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${I}, o tik\u0117tasi - ${N}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${M(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${K(D.values,"|")} pasirinkim\u0173`;case"too_big":{let N=j[D.origin]??D.origin,E=$(D.origin,v8(Number(D.maximum)),D.inclusive??!1,"smaller");if(E?.verb)return`${wD(N??D.origin??"reik\u0161m\u0117")} ${E.verb} ${D.maximum.toString()} ${E.unit??"element\u0173"}`;let I=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${wD(N??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${I} ${D.maximum.toString()} ${E?.unit}`}case"too_small":{let N=j[D.origin]??D.origin,E=$(D.origin,v8(Number(D.minimum)),D.inclusive??!1,"bigger");if(E?.verb)return`${wD(N??D.origin??"reik\u0161m\u0117")} ${E.verb} ${D.minimum.toString()} ${E.unit??"element\u0173"}`;let I=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${wD(N??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${I} ${D.minimum.toString()} ${E?.unit}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${N.prefix}"`;if(N.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${N.suffix}"`;if(N.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${N.includes}"`;if(N.format==="regex")return`Eilut\u0117 privalo atitikti ${N.pattern}`;return`Neteisingas ${U[N.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"}: ${K(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let N=j[D.origin]??D.origin;return`${wD(N??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var f8=f(()=>{m()});function KL(){return{localeError:BZ()}}var BZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${N}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${I}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`Invalid ${U[N.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"}: ${K(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 x8=f(()=>{m()});function gL(){return{localeError:FZ()}}var FZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${I}`;return`Input tidak sah: dijangka ${N}, diterima ${I}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${M(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Terlalu kecil: dijangka ${D.origin} ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Terlalu kecil: dijangka ${D.origin} adalah ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`String tidak sah: mesti bermula dengan "${N.prefix}"`;if(N.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${N.suffix}"`;if(N.format==="includes")return`String tidak sah: mesti mengandungi "${N.includes}"`;if(N.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${N.pattern}`;return`${U[N.format]??D.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${K(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 y8=f(()=>{m()});function ML(){return{localeError:KZ()}}var KZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${I}`;return`Ongeldige invoer: verwacht ${N}, ontving ${I}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${M(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(E)return`Te ${I}: verwacht dat ${D.origin??"waarde"} ${N}${D.maximum.toString()} ${E.unit??"elementen"} ${E.verb}`;return`Te ${I}: verwacht dat ${D.origin??"waarde"} ${N}${D.maximum.toString()} is`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(E)return`Te ${I}: verwacht dat ${D.origin} ${N}${D.minimum.toString()} ${E.unit} ${E.verb}`;return`Te ${I}: verwacht dat ${D.origin} ${N}${D.minimum.toString()} is`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ongeldige tekst: moet met "${N.prefix}" beginnen`;if(N.format==="ends_with")return`Ongeldige tekst: moet op "${N.suffix}" eindigen`;if(N.format==="includes")return`Ongeldige tekst: moet "${N.includes}" bevatten`;if(N.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${N.pattern}`;return`Ongeldig: ${U[N.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":""}: ${K(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 u8=f(()=>{m()});function ZL(){return{localeError:gZ()}}var gZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${I}`;return`Ugyldig input: forventet ${N}, fikk ${I}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${M(D.values[0])}`;return`Ugyldig valg: forventet en av ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${N}${D.maximum.toString()} ${E.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`For lite(n): forventet ${D.origin} til \xE5 ha ${N}${D.minimum.toString()} ${E.unit}`;return`For lite(n): forventet ${D.origin} til \xE5 ha ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${N.prefix}"`;if(N.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${N.suffix}"`;if(N.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${N.includes}"`;if(N.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${N.pattern}`;return`Ugyldig ${U[N.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"}: ${K(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 h8=f(()=>{m()});function HL(){return{localeError:MZ()}}var MZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${I}`;return`F\xE2sit giren: umulan ${N}, al\u0131nan ${I}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${M(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${N}${D.maximum.toString()} ${E.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${N}${D.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${N}${D.minimum.toString()} ${E.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${N}${D.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`F\xE2sit metin: "${N.prefix}" ile ba\u015Flamal\u0131.`;if(N.format==="ends_with")return`F\xE2sit metin: "${N.suffix}" ile bitmeli.`;if(N.format==="includes")return`F\xE2sit metin: "${N.includes}" ihtiv\xE2 etmeli.`;if(N.format==="regex")return`F\xE2sit metin: ${N.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[N.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":""}: ${K(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 r8=f(()=>{m()});function qL(){return{localeError:ZZ()}}var ZZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${N} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${I} \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 ${M(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 ${K(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()} \u0648\u064A`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} ${E.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} \u0648\u064A`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${N.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(N.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${N.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(N.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${N.includes}" \u0648\u0644\u0631\u064A`;if(N.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${N.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[N.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"}: ${K(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 c8=f(()=>{m()});function kL(){return{localeError:HZ()}}var HZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${I}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${N}, otrzymano ${I}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${M(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${N}${D.maximum.toString()} ${E.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${N}${D.minimum.toString()} ${E.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${N.prefix}"`;if(N.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${N.suffix}"`;if(N.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${N.includes}"`;if(N.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${N.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[N.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":""}: ${K(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 m8=f(()=>{m()});function CL(){return{localeError:qZ()}}var qZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${I}`;return`Tipo inv\xE1lido: esperado ${N}, recebido ${I}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${M(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${N}${D.maximum.toString()} ${E.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Muito pequeno: esperado que ${D.origin} tivesse ${N}${D.minimum.toString()} ${E.unit}`;return`Muito pequeno: esperado que ${D.origin} fosse ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${N.prefix}"`;if(N.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${N.suffix}"`;if(N.format==="includes")return`Texto inv\xE1lido: deve incluir "${N.includes}"`;if(N.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${N.pattern}`;return`${U[N.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":""}: ${K(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 n8=f(()=>{m()});function bL(){return{localeError:kZ()}}var kZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;return`Intrare invalid\u0103: a\u0219teptat ${N}, primit ${I}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${M(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} s\u0103 fie ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Prea mic: a\u0219teptat ca ${D.origin} ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Prea mic: a\u0219teptat ca ${D.origin} s\u0103 fie ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${N.prefix}"`;if(N.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${N.suffix}"`;if(N.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${N.includes}"`;if(N.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${N.pattern}`;return`Format invalid: ${U[N.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: ${K(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 d8=f(()=>{m()});function l8(_,$,U,j){let D=Math.abs(_),N=D%10,E=D%100;if(E>=11&&E<=19)return j;if(N===1)return $;if(N>=2&&N<=4)return U;return j}function wL(){return{localeError:CZ()}}var CZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${N}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E){let I=Number(D.maximum),W=l8(I,E.unit.one,E.unit.few,E.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 ${N}${D.maximum.toString()} ${W}`}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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E){let I=Number(D.minimum),W=l8(I,E.unit.one,E.unit.few,E.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 ${N}${D.minimum.toString()} ${W}`}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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[N.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":""}: ${K(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 i8=f(()=>{m()});function vL(){return{localeError:bZ()}}var bZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${I}`;return`Neveljaven vnos: pri\u010Dakovano ${N}, prejeto ${I}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${M(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${N}${D.maximum.toString()} ${E.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${N}${D.minimum.toString()} ${E.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${N.prefix}"`;if(N.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${N.suffix}"`;if(N.format==="includes")return`Neveljaven niz: mora vsebovati "${N.includes}"`;if(N.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${N.pattern}`;return`Neveljaven ${U[N.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"}: ${K(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 t8=f(()=>{m()});function fL(){return{localeError:wZ()}}var wZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${I}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${N}, fick ${I}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${M(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${N}${D.maximum.toString()} ${E.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${D.origin??"v\xE4rdet"} att ha ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${N}${D.minimum.toString()} ${E.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${N.prefix}"`;if(N.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${N.suffix}"`;if(N.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${N.includes}"`;if(N.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${N.pattern}"`;return`Ogiltig(t) ${U[N.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"}: ${K(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 o8=f(()=>{m()});function xL(){return{localeError:vZ()}}var vZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${I}`}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 ${M(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 ${K(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${N}${D.maximum.toString()} ${E.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"} ${N}${D.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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} ${N}${D.minimum.toString()} ${E.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} ${N}${D.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${N.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(N.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${N.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(N.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${N.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(N.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${N.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[N.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":""}: ${K(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 p8=f(()=>{m()});function yL(){return{localeError:fZ()}}var fZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",E=$(D.origin);if(E)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${N} ${D.maximum.toString()} ${E.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${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",E=$(D.origin);if(E)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${N} ${D.minimum.toString()} ${E.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(N.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 ${N.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[N.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: ${K(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 a8=f(()=>{m()});function uL(){return{localeError:xZ()}}var xZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${I}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${N}, al\u0131nan ${I}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${M(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${N}${D.maximum.toString()} ${E.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${N}${D.minimum.toString()} ${E.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ge\xE7ersiz metin: "${N.prefix}" ile ba\u015Flamal\u0131`;if(N.format==="ends_with")return`Ge\xE7ersiz metin: "${N.suffix}" ile bitmeli`;if(N.format==="includes")return`Ge\xE7ersiz metin: "${N.includes}" i\xE7ermeli`;if(N.format==="regex")return`Ge\xE7ersiz metin: ${N.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[N.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":""}: ${K(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 e8=f(()=>{m()});function vD(){return{localeError:yZ()}}var yZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${E.verb} ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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} ${E.verb} ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[N.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":""}: ${K(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 hL=f(()=>{m()});function rL(){return vD()}var s8=f(()=>{hL()});function cL(){return{localeError:uZ()}}var uZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${N} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${I} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${M(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${K(D.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${N.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(N.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${N.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(N.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${N.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(N.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${N.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[N.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":""}: ${K(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 _Y=f(()=>{m()});function mL(){return{localeError:hZ()}}var hZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${I}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${N}, qabul qilingan ${I}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${M(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${N}${D.maximum.toString()} ${E.unit} ${E.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Juda kichik: kutilgan ${D.origin} ${N}${D.minimum.toString()} ${E.unit} ${E.verb}`;return`Juda kichik: kutilgan ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${N.prefix}" bilan boshlanishi kerak`;if(N.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${N.suffix}" bilan tugashi kerak`;if(N.format==="includes")return`Noto\u2018g\u2018ri satr: "${N.includes}" ni o\u2018z ichiga olishi kerak`;if(N.format==="regex")return`Noto\u2018g\u2018ri satr: ${N.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[N.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":""}: ${K(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 $Y=f(()=>{m()});function nL(){return{localeError:rZ()}}var rZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${N}, nh\u1EADn \u0111\u01B0\u1EE3c ${I}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${N.prefix}"`;if(N.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${N.suffix}"`;if(N.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${N.includes}"`;if(N.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${N.pattern}`;return`${U[N.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: ${K(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 UY=f(()=>{m()});function dL(){return{localeError:cZ()}}var cZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${I}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${N}\uFF0C\u5B9E\u9645\u63A5\u6536 ${I}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${M(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${N}${D.maximum.toString()} ${E.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${N}${D.minimum.toString()} ${E.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${N.prefix}" \u5F00\u5934`;if(N.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${N.suffix}" \u7ED3\u5C3E`;if(N.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${N.includes}"`;if(N.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${N.pattern}`;return`\u65E0\u6548${U[N.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): ${K(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 DY=f(()=>{m()});function lL(){return{localeError:mZ()}}var mZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${I}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${N}\uFF0C\u4F46\u6536\u5230 ${I}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${M(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${N}${D.maximum.toString()} ${E.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${N}${D.minimum.toString()} ${E.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${N.prefix}" \u958B\u982D`;if(N.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${N.suffix}" \u7D50\u5C3E`;if(N.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${N.includes}"`;if(N.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${N.pattern}`;return`\u7121\u6548\u7684 ${U[N.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${K(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 jY=f(()=>{m()});function iL(){return{localeError:nZ()}}var nZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${N}, \xE0m\u1ECD\u0300 a r\xED ${I}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${M(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${E.verb} ${N}${D.maximum} ${E.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${N}${D.maximum}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${E.verb} ${N}${D.minimum} ${E.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${N}${D.minimum}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${N.suffix}"`;if(N.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${N.includes}"`;if(N.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${N.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[N.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: ${K(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 NY=f(()=>{m()});var $U={};l$($U,{zhTW:()=>lL,zhCN:()=>dL,yo:()=>iL,vi:()=>nL,uz:()=>mL,ur:()=>cL,uk:()=>vD,ua:()=>rL,tr:()=>uL,th:()=>yL,ta:()=>xL,sv:()=>fL,sl:()=>vL,ru:()=>wL,ro:()=>bL,pt:()=>CL,ps:()=>qL,pl:()=>kL,ota:()=>HL,no:()=>ZL,nl:()=>ML,ms:()=>gL,mk:()=>KL,lt:()=>FL,ko:()=>BL,km:()=>bD,kh:()=>VL,ka:()=>GL,ja:()=>QL,it:()=>RL,is:()=>YL,id:()=>XL,hy:()=>zL,hu:()=>OL,hr:()=>PL,he:()=>SL,frCA:()=>LL,fr:()=>JL,fi:()=>WL,fa:()=>AL,es:()=>IL,eo:()=>EL,en:()=>CD,el:()=>jL,de:()=>DL,da:()=>UL,cs:()=>$L,ca:()=>_L,bg:()=>sJ,be:()=>eJ,az:()=>aJ,ar:()=>pJ});var tL=f(()=>{I8();A8();J8();L8();S8();P8();O8();z8();X8();NL();Y8();R8();Q8();G8();T8();V8();B8();F8();K8();M8();Z8();H8();q8();k8();C8();b8();TL();w8();f8();x8();y8();u8();h8();r8();c8();m8();n8();d8();i8();t8();o8();p8();a8();e8();s8();hL();_Y();$Y();UY();DY();jY();NY()});class oL{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 fD(){return new oL}var EY,BN,FN,m_;var xD=f(()=>{BN=Symbol("ZodOutput"),FN=Symbol("ZodInput");(EY=globalThis).__zod_globalRegistry??(EY.__zod_globalRegistry=fD());m_=globalThis.__zod_globalRegistry});function pL(_,$){return new _({type:"string",...w($)})}function aL(_,$){return new _({type:"string",coerce:!0,...w($)})}function KN(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...w($)})}function yD(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...w($)})}function gN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...w($)})}function MN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...w($)})}function ZN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...w($)})}function HN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...w($)})}function uD(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...w($)})}function qN(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...w($)})}function kN(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...w($)})}function CN(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...w($)})}function bN(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...w($)})}function wN(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...w($)})}function vN(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...w($)})}function fN(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...w($)})}function xN(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...w($)})}function yN(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...w($)})}function eL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...w($)})}function uN(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...w($)})}function hN(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...w($)})}function rN(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...w($)})}function cN(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...w($)})}function mN(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...w($)})}function nN(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...w($)})}function sL(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...w($)})}function _S(_,$){return new _({type:"string",format:"date",check:"string_format",...w($)})}function $S(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...w($)})}function US(_,$){return new _({type:"string",format:"duration",check:"string_format",...w($)})}function DS(_,$){return new _({type:"number",checks:[],...w($)})}function jS(_,$){return new _({type:"number",coerce:!0,checks:[],...w($)})}function NS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...w($)})}function ES(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...w($)})}function IS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...w($)})}function AS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...w($)})}function WS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...w($)})}function JS(_,$){return new _({type:"boolean",...w($)})}function LS(_,$){return new _({type:"boolean",coerce:!0,...w($)})}function SS(_,$){return new _({type:"bigint",...w($)})}function PS(_,$){return new _({type:"bigint",coerce:!0,...w($)})}function OS(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...w($)})}function zS(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...w($)})}function XS(_,$){return new _({type:"symbol",...w($)})}function YS(_,$){return new _({type:"undefined",...w($)})}function RS(_,$){return new _({type:"null",...w($)})}function QS(_){return new _({type:"any"})}function GS(_){return new _({type:"unknown"})}function TS(_,$){return new _({type:"never",...w($)})}function VS(_,$){return new _({type:"void",...w($)})}function BS(_,$){return new _({type:"date",...w($)})}function FS(_,$){return new _({type:"date",coerce:!0,...w($)})}function KS(_,$){return new _({type:"nan",...w($)})}function b$(_,$){return new JN({check:"less_than",...w($),value:_,inclusive:!1})}function J$(_,$){return new JN({check:"less_than",...w($),value:_,inclusive:!0})}function w$(_,$){return new LN({check:"greater_than",...w($),value:_,inclusive:!1})}function t_(_,$){return new LN({check:"greater_than",...w($),value:_,inclusive:!0})}function hD(_){return w$(0,_)}function rD(_){return b$(0,_)}function cD(_){return J$(0,_)}function mD(_){return t_(0,_)}function V6(_,$){return new QW({check:"multiple_of",...w($),value:_})}function B6(_,$){return new VW({check:"max_size",...w($),maximum:_})}function v$(_,$){return new BW({check:"min_size",...w($),minimum:_})}function i6(_,$){return new FW({check:"size_equals",...w($),size:_})}function t6(_,$){return new KW({check:"max_length",...w($),maximum:_})}function _6(_,$){return new gW({check:"min_length",...w($),minimum:_})}function o6(_,$){return new MW({check:"length_equals",...w($),length:_})}function b4(_,$){return new ZW({check:"string_format",format:"regex",...w($),pattern:_})}function w4(_){return new HW({check:"string_format",format:"lowercase",...w(_)})}function v4(_){return new qW({check:"string_format",format:"uppercase",...w(_)})}function f4(_,$){return new kW({check:"string_format",format:"includes",...w($),includes:_})}function x4(_,$){return new CW({check:"string_format",format:"starts_with",...w($),prefix:_})}function y4(_,$){return new bW({check:"string_format",format:"ends_with",...w($),suffix:_})}function nD(_,$,U){return new wW({check:"property",property:_,schema:$,...w(U)})}function u4(_,$){return new vW({check:"mime_type",mime:_,...w($)})}function K$(_){return new fW({check:"overwrite",tx:_})}function h4(_){return K$(($)=>$.normalize(_))}function r4(){return K$((_)=>_.trim())}function c4(){return K$((_)=>_.toLowerCase())}function m4(){return K$((_)=>_.toUpperCase())}function n4(){return K$((_)=>CA(_))}function gS(_,$,U){return new _({type:"array",element:$,...w(U)})}function lZ(_,$,U){return new _({type:"union",options:$,...w(U)})}function iZ(_,$,U){return new _({type:"union",options:$,inclusive:!1,...w(U)})}function tZ(_,$,U,j){return new _({type:"union",options:U,discriminator:$,...w(j)})}function oZ(_,$,U){return new _({type:"intersection",left:$,right:U})}function pZ(_,$,U,j){let D=U instanceof p;return new _({type:"tuple",items:$,rest:D?U:null,...w(D?j:U)})}function aZ(_,$,U,j){return new _({type:"record",keyType:$,valueType:U,...w(j)})}function eZ(_,$,U,j){return new _({type:"map",keyType:$,valueType:U,...w(j)})}function sZ(_,$,U){return new _({type:"set",valueType:$,...w(U)})}function _H(_,$,U){let j=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:j,...w(U)})}function $H(_,$,U){return new _({type:"enum",entries:$,...w(U)})}function UH(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...w(U)})}function MS(_,$){return new _({type:"file",...w($)})}function DH(_,$){return new _({type:"transform",transform:$})}function jH(_,$){return new _({type:"optional",innerType:$})}function NH(_,$){return new _({type:"nullable",innerType:$})}function EH(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():wA(U)}})}function IH(_,$,U){return new _({type:"nonoptional",innerType:$,...w(U)})}function AH(_,$){return new _({type:"success",innerType:$})}function WH(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function JH(_,$,U){return new _({type:"pipe",in:$,out:U})}function LH(_,$){return new _({type:"readonly",innerType:$})}function SH(_,$,U){return new _({type:"template_literal",parts:$,...w(U)})}function PH(_,$){return new _({type:"lazy",getter:$})}function OH(_,$){return new _({type:"promise",innerType:$})}function ZS(_,$,U){let j=w(U);return j.abort??(j.abort=!0),new _({type:"custom",check:"custom",fn:$,...j})}function HS(_,$,U){return new _({type:"custom",check:"custom",fn:$,...w(U)})}function qS(_,$){let U=IY((j)=>{return j.addIssue=(D)=>{if(typeof D==="string")j.issues.push(l0(D,j.value,U._zod.def));else{let N=D;if(N.fatal)N.continue=!1;N.code??(N.code="custom"),N.input??(N.input=j.value),N.inst??(N.inst=U),N.continue??(N.continue=!U._zod.def.abort),j.issues.push(l0(N))}},_(j.value,j)},$);return U}function IY(_,$){let U=new V_({check:"custom",...w($)});return U._zod.check=_,U}function kS(_){let $=new V_({check:"describe"});return $._zod.onattach=[(U)=>{let j=m_.get(U)??{};m_.add(U,{...j,description:_})}],$._zod.check=()=>{},$}function CS(_){let $=new V_({check:"meta"});return $._zod.onattach=[(U)=>{let j=m_.get(U)??{};m_.add(U,{...j,..._})}],$._zod.check=()=>{},$}function bS(_,$){let U=w($),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((z)=>typeof z==="string"?z.toLowerCase():z),D=D.map((z)=>typeof z==="string"?z.toLowerCase():z);let N=new Set(j),E=new Set(D),I=_.Codec??kD,W=_.Boolean??HD,L=new(_.String??C4)({type:"string",error:U.error}),S=new W({type:"boolean",error:U.error}),X=new I({type:"pipe",in:L,out:S,transform:(z,R)=>{let P=z;if(U.case!=="sensitive")P=P.toLowerCase();if(N.has(P))return!0;else if(E.has(P))return!1;else return R.issues.push({code:"invalid_value",expected:"stringbool",values:[...N,...E],input:R.value,inst:X,continue:!1}),{}},reverseTransform:(z,R)=>{if(z===!0)return j[0]||"true";else return D[0]||"false"},error:U.error});return X}function UU(_,$,U,j={}){let D=w(j),N={...w(j),check:"string_format",type:"string",format:$,fn:typeof U==="function"?U:(I)=>U.test(I),...D};if(U instanceof RegExp)N.pattern=U;return new _(N)}var dN;var AY=f(()=>{SN();xD();oJ();m();dN={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function p6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??m_,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 P_(_,$,U={path:[],schemaPath:[]}){var j;let D=_._zod.def,N=$.seen.get(_);if(N){if(N.count++,U.schemaPath.includes(_))N.cycle=U.path;return N.schema}let E={schema:{},count:1,cycle:void 0,path:U.path};$.seen.set(_,E);let I=_._zod.toJSONSchema?.();if(I)E.schema=I;else{let L={...U,schemaPath:[...U.schemaPath,_],path:U.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,E.schema,L);else{let X=E.schema,z=$.processors[D.type];if(!z)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);z(_,$,X,L)}let S=_._zod.parent;if(S){if(!E.ref)E.ref=S;P_(S,$,L),$.seen.get(S).isParent=!0}}let W=$.metadataRegistry.get(_);if(W)Object.assign(E.schema,W);if($.io==="input"&&$$(_))delete E.schema.examples,delete E.schema.default;if($.io==="input"&&"_prefault"in E.schema)(j=E.schema).default??(j.default=E.schema._prefault);return delete E.schema._prefault,$.seen.get(_).schema}function a6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let j=new Map;for(let E of _.seen.entries()){let I=_.metadataRegistry.get(E[0])?.id;if(I){let W=j.get(I);if(W&&W!==E[0])throw Error(`Duplicate schema id "${I}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);j.set(I,E[0])}}let D=(E)=>{let I=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let S=_.external.registry.get(E[0])?.id,X=_.external.uri??((R)=>R);if(S)return{ref:X(S)};let z=E[1].defId??E[1].schema.id??`schema${_.counter++}`;return E[1].defId=z,{defId:z,ref:`${X("__shared")}#/${I}/${z}`}}if(E[1]===U)return{ref:"#"};let J=`${"#"}/${I}/`,L=E[1].schema.id??`__schema${_.counter++}`;return{defId:L,ref:J+L}},N=(E)=>{if(E[1].schema.$ref)return;let I=E[1],{ref:W,defId:J}=D(E);if(I.def={...I.schema},J)I.defId=J;let L=I.schema;for(let S in L)delete L[S];L.$ref=W};if(_.cycles==="throw")for(let E of _.seen.entries()){let I=E[1];if(I.cycle)throw Error(`Cycle detected: #/${I.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let j of _.seen.entries()){let N=j[1];if($===j[0]){E(j);continue}if(_.external){let S=_.external.registry.get(j[0])?.id;if($!==j[0]&&S){E(j);continue}}if(_.metadataRegistry.get(j[0])?.id){E(j);continue}if(N.cycle){E(j);continue}if(N.count>1){if(_.reused==="ref"){E(j);continue}}}}function c6(_,$){let D=_.seen.get($);if(!D)throw Error("Unprocessed schema. This is a bug in Zod.");let I=(N)=>{let O=_.seen.get(N);if(O.ref===null)return;let S=O.def??O.schema,L={...S},W=O.ref;if(O.ref=null,W){I(W);let z=_.seen.get(W),G=z.schema;if(G.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))S.allOf=S.allOf??[],S.allOf.push(G);else Object.assign(S,G);if(Object.assign(S,L),N._zod.parent===W)for(let P in S){if(P==="$ref"||P==="allOf")continue;if(!(P in L))delete S[P]}if(G.$ref&&z.def)for(let P in S){if(P==="$ref"||P==="allOf")continue;if(P in z.def&&JSON.stringify(S[P])===JSON.stringify(z.def[P]))delete S[P]}}let g=N._zod.parent;if(g&&g!==W){I(g);let z=_.seen.get(g);if(z?.schema.$ref){if(S.$ref=z.schema.$ref,z.def)for(let G in S){if(G==="$ref"||G==="allOf")continue;if(G in z.def&&JSON.stringify(S[G])===JSON.stringify(z.def[G]))delete S[G]}}}_.override({zodSchema:N,jsonSchema:S,path:O.path??[]})};for(let N of[..._.seen.entries()].reverse())I(N[0]);let U={};if(_.target==="draft-2020-12")U.$schema="https://json-schema.org/draft/2020-12/schema";else if(_.target==="draft-07")U.$schema="http://json-schema.org/draft-07/schema#";else if(_.target==="draft-04")U.$schema="http://json-schema.org/draft-04/schema#";else if(_.target==="openapi-3.0");if(_.external?.uri){let N=_.external.registry.get($)?.id;if(!N)throw Error("Schema is missing an `id` property");U.$id=_.external.uri(N)}Object.assign(U,D.def??D.schema);let E=_.metadataRegistry.get($)?.id;if(E!==void 0&&U.id===E)delete U.id;let j=_.external?.defs??{};for(let N of _.seen.entries()){let O=N[1];if(O.def&&O.defId){if(O.def.id===O.defId)delete O.def.id;j[O.defId]=O.def}}if(_.external);else if(Object.keys(j).length>0)if(_.target==="draft-2020-12")U.$defs=j;else U.definitions=j;try{let N=JSON.parse(JSON.stringify(U));return Object.defineProperty(N,"~standard",{value:{...$["~standard"],jsonSchema:{input:m0($,"input",_.processors),output:m0($,"output",_.processors)}},enumerable:!1,writable:!1}),N}catch(N){throw Error("Error converting schema to JSON.")}}function o_(_,$){let D=$??{seen:new Set};if(D.seen.has(_))return!1;D.seen.add(_);let I=_._zod.def;if(I.type==="transform")return!0;if(I.type==="array")return o_(I.element,D);if(I.type==="set")return o_(I.valueType,D);if(I.type==="lazy")return o_(I.getter(),D);if(I.type==="promise"||I.type==="optional"||I.type==="nonoptional"||I.type==="nullable"||I.type==="readonly"||I.type==="default"||I.type==="prefault")return o_(I.innerType,D);if(I.type==="intersection")return o_(I.left,D)||o_(I.right,D);if(I.type==="record"||I.type==="map")return o_(I.keyType,D)||o_(I.valueType,D);if(I.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return o_(I.in,D)||o_(I.out,D)}if(I.type==="object"){for(let U in I.shape)if(o_(I.shape[U],D))return!0;return!1}if(I.type==="union"){for(let U of I.options)if(o_(U,D))return!0;return!1}if(I.type==="tuple"){for(let U of I.items)if(o_(U,D))return!0;if(I.rest&&o_(I.rest,D))return!0;return!1}return!1}var jW=(_,$={})=>(D)=>{let I=y6({...D,processors:$});return W_(_,I),h6(I,_),c6(I,_)},m0=(_,$,D={})=>(I)=>{let{libraryOptions:U,target:E}=I??{},j=y6({...U??{},target:E,io:$,processors:D});return W_(_,j),h6(j,_),c6(j,_)};var ZU=r(()=>{YU()});function HU(_,$){if("_idmap"in _){let I=_,U=y6({...$,processors:VE}),E={};for(let O of I._idmap.entries()){let[S,L]=O;W_(L,U)}let j={},N={registry:I,uri:$?.uri,defs:E};U.external=N;for(let O of I._idmap.entries()){let[S,L]=O;h6(U,L),j[S]=c6(U,L)}if(Object.keys(E).length>0){let O=U.target==="draft-2020-12"?"$defs":"definitions";j.__shared={[O]:E}}return{schemas:j}}let D=y6({...$,processors:VE});return W_(_,D),h6(D,_),c6(D,_)}var $Z,NW=(_,$,D,I)=>{let U=D;U.type="string";let{minimum:E,maximum:j,format:N,patterns:O,contentEncoding:S}=_._zod.bag;if(typeof E==="number")U.minLength=E;if(typeof j==="number")U.maxLength=j;if(N){if(U.format=$Z[N]??N,U.format==="")delete U.format;if(N==="time")delete U.format}if(S)U.contentEncoding=S;if(O&&O.size>0){let L=[...O];if(L.length===1)U.pattern=L[0].source;else if(L.length>1)U.allOf=[...L.map((W)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:W.source}))]}},AW=(_,$,D,I)=>{let U=D,{minimum:E,maximum:j,format:N,multipleOf:O,exclusiveMaximum:S,exclusiveMinimum:L}=_._zod.bag;if(typeof N==="string"&&N.includes("int"))U.type="integer";else U.type="number";let W=typeof L==="number"&&L>=(E??Number.NEGATIVE_INFINITY),g=typeof S==="number"&&S<=(j??Number.POSITIVE_INFINITY),z=$.target==="draft-04"||$.target==="openapi-3.0";if(W)if(z)U.minimum=L,U.exclusiveMinimum=!0;else U.exclusiveMinimum=L;else if(typeof E==="number")U.minimum=E;if(g)if(z)U.maximum=S,U.exclusiveMaximum=!0;else U.exclusiveMaximum=S;else if(typeof j==="number")U.maximum=j;if(typeof O==="number")U.multipleOf=O},OW=(_,$,D,I)=>{D.type="boolean"},SW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},LW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},WW=(_,$,D,I)=>{if($.target==="openapi-3.0")D.type="string",D.nullable=!0,D.enum=[null];else D.type="null"},JW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},PW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},zW=(_,$,D,I)=>{D.not={}},gW=(_,$,D,I)=>{},XW=(_,$,D,I)=>{},GW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},RW=(_,$,D,I)=>{let U=_._zod.def,E=UU(U.entries);if(E.every((j)=>typeof j==="number"))D.type="number";if(E.every((j)=>typeof j==="string"))D.type="string";D.enum=E},YW=(_,$,D,I)=>{let U=_._zod.def,E=[];for(let j of U.values)if(j===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof j==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else E.push(Number(j));else E.push(j);if(E.length===0);else if(E.length===1){let j=E[0];if(D.type=j===null?"null":typeof j,$.target==="draft-04"||$.target==="openapi-3.0")D.enum=[j];else D.const=j}else{if(E.every((j)=>typeof j==="number"))D.type="number";if(E.every((j)=>typeof j==="string"))D.type="string";if(E.every((j)=>typeof j==="boolean"))D.type="boolean";if(E.every((j)=>j===null))D.type="null";D.enum=E}},QW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},KW=(_,$,D,I)=>{let U=D,E=_._zod.pattern;if(!E)throw Error("Pattern not found in template literal");U.type="string",U.pattern=E.source},TW=(_,$,D,I)=>{let U=D,E={type:"string",format:"binary",contentEncoding:"binary"},{minimum:j,maximum:N,mime:O}=_._zod.bag;if(j!==void 0)E.minLength=j;if(N!==void 0)E.maxLength=N;if(O)if(O.length===1)E.contentMediaType=O[0],Object.assign(U,E);else Object.assign(U,E),U.anyOf=O.map((S)=>({contentMediaType:S}));else Object.assign(U,E)},FW=(_,$,D,I)=>{D.type="boolean"},VW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},BW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},MW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},ZW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},HW=(_,$,D,I)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},bW=(_,$,D,I)=>{let U=D,E=_._zod.def,{minimum:j,maximum:N}=_._zod.bag;if(typeof j==="number")U.minItems=j;if(typeof N==="number")U.maxItems=N;U.type="array",U.items=W_(E.element,$,{...I,path:[...I.path,"items"]})},qW=(_,$,D,I)=>{let U=D,E=_._zod.def;U.type="object",U.properties={};let j=E.shape;for(let S in j)U.properties[S]=W_(j[S],$,{...I,path:[...I.path,"properties",S]});let N=new Set(Object.keys(j)),O=new Set([...N].filter((S)=>{let L=E.shape[S]._zod;if($.io==="input")return L.optin===void 0;else return L.optout===void 0}));if(O.size>0)U.required=Array.from(O);if(E.catchall?._zod.def.type==="never")U.additionalProperties=!1;else if(!E.catchall){if($.io==="output")U.additionalProperties=!1}else if(E.catchall)U.additionalProperties=W_(E.catchall,$,{...I,path:[...I.path,"additionalProperties"]})},BE=(_,$,D,I)=>{let U=_._zod.def,E=U.inclusive===!1,j=U.options.map((N,O)=>W_(N,$,{...I,path:[...I.path,E?"oneOf":"anyOf",O]}));if(E)D.oneOf=j;else D.anyOf=j},kW=(_,$,D,I)=>{let U=_._zod.def,E=W_(U.left,$,{...I,path:[...I.path,"allOf",0]}),j=W_(U.right,$,{...I,path:[...I.path,"allOf",1]}),N=(S)=>("allOf"in S)&&Object.keys(S).length===1,O=[...N(E)?E.allOf:[E],...N(j)?j.allOf:[j]];D.allOf=O},CW=(_,$,D,I)=>{let U=D,E=_._zod.def;U.type="array";let j=$.target==="draft-2020-12"?"prefixItems":"items",N=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",O=E.items.map((g,z)=>W_(g,$,{...I,path:[...I.path,j,z]})),S=E.rest?W_(E.rest,$,{...I,path:[...I.path,N,...$.target==="openapi-3.0"?[E.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(U.prefixItems=O,S)U.items=S}else if($.target==="openapi-3.0"){if(U.items={anyOf:O},S)U.items.anyOf.push(S);if(U.minItems=O.length,!S)U.maxItems=O.length}else if(U.items=O,S)U.additionalItems=S;let{minimum:L,maximum:W}=_._zod.bag;if(typeof L==="number")U.minItems=L;if(typeof W==="number")U.maxItems=W},vW=(_,$,D,I)=>{let U=D,E=_._zod.def;U.type="object";let j=E.keyType,O=j._zod.bag?.patterns;if(E.mode==="loose"&&O&&O.size>0){let L=W_(E.valueType,$,{...I,path:[...I.path,"patternProperties","*"]});U.patternProperties={};for(let W of O)U.patternProperties[W.source]=L}else{if($.target==="draft-07"||$.target==="draft-2020-12")U.propertyNames=W_(E.keyType,$,{...I,path:[...I.path,"propertyNames"]});U.additionalProperties=W_(E.valueType,$,{...I,path:[...I.path,"additionalProperties"]})}let S=j._zod.values;if(S){let L=[...S].filter((W)=>typeof W==="string"||typeof W==="number");if(L.length>0)U.required=L}},wW=(_,$,D,I)=>{let U=_._zod.def,E=W_(U.innerType,$,I),j=$.seen.get(_);if($.target==="openapi-3.0")j.ref=U.innerType,D.nullable=!0;else D.anyOf=[E,{type:"null"}]},rW=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);E.ref=U.innerType},fW=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);E.ref=U.innerType,D.default=JSON.parse(JSON.stringify(U.defaultValue))},xW=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);if(E.ref=U.innerType,$.io==="input")D._prefault=JSON.parse(JSON.stringify(U.defaultValue))},uW=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);E.ref=U.innerType;let j;try{j=U.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}D.default=j},yW=(_,$,D,I)=>{let U=_._zod.def,E=U.in._zod.traits.has("$ZodTransform"),j=$.io==="input"?E?U.out:U.in:U.out;W_(j,$,I);let N=$.seen.get(_);N.ref=j},hW=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);E.ref=U.innerType,D.readOnly=!0},cW=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);E.ref=U.innerType},ME=(_,$,D,I)=>{let U=_._zod.def;W_(U.innerType,$,I);let E=$.seen.get(_);E.ref=U.innerType},nW=(_,$,D,I)=>{let U=_._zod.innerType;W_(U,$,I);let E=$.seen.get(_);E.ref=U},VE;var bU=r(()=>{ZU();n();$Z={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},VE={string:NW,number:AW,boolean:OW,bigint:SW,symbol:LW,null:WW,undefined:JW,void:PW,never:zW,any:gW,unknown:XW,date:GW,enum:RW,literal:YW,nan:QW,template_literal:KW,file:TW,success:FW,custom:VW,function:BW,transform:MW,map:ZW,set:HW,array:bW,object:qW,union:BE,intersection:kW,tuple:CW,record:vW,nullable:wW,nonoptional:rW,default:fW,prefault:xW,catch:uW,pipe:yW,readonly:hW,promise:cW,optional:ME,lazy:nW}});class dW{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=y6({processors:VE,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return W_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}h6(this.ctx,_);let D=c6(this.ctx,_),{"~standard":I,...U}=D;return U}}var QG=r(()=>{bU();ZU()});var KG={};var TG=()=>{};var i$={};x$(i$,{version:()=>OO,util:()=>q,treeifyError:()=>HI,toJSONSchema:()=>HU,toDotPath:()=>iX,safeParseAsync:()=>PA,safeParse:()=>JA,safeEncodeAsync:()=>IB,safeEncode:()=>DB,safeDecodeAsync:()=>EB,safeDecode:()=>UB,registry:()=>RU,regexes:()=>U$,process:()=>W_,prettifyError:()=>bI,parseAsync:()=>kI,parse:()=>qI,meta:()=>IW,locales:()=>n0,isValidJWT:()=>z5,isValidBase64URL:()=>P5,isValidBase64:()=>kO,initializeContext:()=>y6,globalRegistry:()=>x_,globalConfig:()=>g4,formatError:()=>r0,flattenError:()=>w0,finalize:()=>c6,extractDefs:()=>h6,encodeAsync:()=>_B,encode:()=>aV,describe:()=>UW,decodeAsync:()=>$B,decode:()=>sV,createToJSONSchemaMethod:()=>jW,createStandardJSONSchemaMethod:()=>m0,config:()=>b_,clone:()=>h_,_xor:()=>CM,_xid:()=>PE,_void:()=>tL,_uuidv7:()=>AE,_uuidv6:()=>NE,_uuidv4:()=>jE,_uuid:()=>EE,_url:()=>KU,_uppercase:()=>F4,_unknown:()=>lL,_union:()=>kM,_undefined:()=>nL,_ulid:()=>JE,_uint64:()=>hL,_uint32:()=>wL,_tuple:()=>rM,_trim:()=>b4,_transform:()=>nM,_toUpperCase:()=>k4,_toLowerCase:()=>q4,_templateLiteral:()=>aM,_symbol:()=>cL,_superRefine:()=>DW,_success:()=>tM,_stringbool:()=>EW,_stringFormat:()=>d0,_string:()=>KL,_startsWith:()=>B4,_slugify:()=>C4,_size:()=>f6,_set:()=>uM,_safeParseAsync:()=>y0,_safeParse:()=>u0,_safeEncodeAsync:()=>uI,_safeEncode:()=>fI,_safeDecodeAsync:()=>yI,_safeDecode:()=>xI,_regex:()=>K4,_refine:()=>$W,_record:()=>fM,_readonly:()=>eM,_property:()=>MU,_promise:()=>_Z,_positive:()=>TU,_pipe:()=>pM,_parseAsync:()=>x0,_parse:()=>f0,_overwrite:()=>X$,_optional:()=>dM,_number:()=>HL,_nullable:()=>mM,_null:()=>dL,_normalize:()=>H4,_nonpositive:()=>VU,_nonoptional:()=>iM,_nonnegative:()=>BU,_never:()=>iL,_negative:()=>FU,_nativeEnum:()=>hM,_nanoid:()=>SE,_nan:()=>eL,_multipleOf:()=>W6,_minSize:()=>M$,_minLength:()=>l$,_min:()=>c_,_mime:()=>Z4,_maxSize:()=>J6,_maxLength:()=>x6,_max:()=>I$,_map:()=>xM,_mac:()=>FL,_lte:()=>I$,_lt:()=>V$,_lowercase:()=>T4,_literal:()=>cM,_length:()=>u6,_lazy:()=>sM,_ksuid:()=>zE,_jwt:()=>TE,_isoTime:()=>ML,_isoDuration:()=>ZL,_isoDateTime:()=>VL,_isoDate:()=>BL,_ipv6:()=>XE,_ipv4:()=>gE,_intersection:()=>wM,_int64:()=>yL,_int32:()=>vL,_int:()=>qL,_includes:()=>V4,_guid:()=>QU,_gte:()=>c_,_gt:()=>B$,_float64:()=>CL,_float32:()=>kL,_file:()=>sL,_enum:()=>yM,_endsWith:()=>M4,_encodeAsync:()=>wI,_encode:()=>CI,_emoji:()=>OE,_email:()=>IE,_e164:()=>KE,_discriminatedUnion:()=>vM,_default:()=>lM,_decodeAsync:()=>rI,_decode:()=>vI,_date:()=>oL,_custom:()=>_W,_cuid2:()=>WE,_cuid:()=>LE,_coercedString:()=>TL,_coercedNumber:()=>bL,_coercedDate:()=>pL,_coercedBoolean:()=>fL,_coercedBigint:()=>uL,_cidrv6:()=>RE,_cidrv4:()=>GE,_check:()=>RG,_catch:()=>oM,_boolean:()=>rL,_bigint:()=>xL,_base64url:()=>QE,_base64:()=>YE,_array:()=>aL,_any:()=>mL,TimePrecision:()=>FE,NEVER:()=>VI,JSONSchemaGenerator:()=>dW,JSONSchema:()=>KG,Doc:()=>lI,$output:()=>DE,$input:()=>UE,$constructor:()=>K,$brand:()=>BI,$ZodXor:()=>pO,$ZodXID:()=>QO,$ZodVoid:()=>lO,$ZodUnknown:()=>dO,$ZodUnion:()=>JU,$ZodUndefined:()=>hO,$ZodUUID:()=>JO,$ZodURL:()=>zO,$ZodULID:()=>YO,$ZodType:()=>p,$ZodTuple:()=>sI,$ZodTransform:()=>ES,$ZodTemplateLiteral:()=>gS,$ZodSymbol:()=>yO,$ZodSuccess:()=>LS,$ZodStringFormat:()=>Y_,$ZodString:()=>Q4,$ZodSet:()=>$S,$ZodRegistry:()=>QL,$ZodRecord:()=>sO,$ZodRealError:()=>D$,$ZodReadonly:()=>zS,$ZodPromise:()=>GS,$ZodPreprocess:()=>PS,$ZodPrefault:()=>OS,$ZodPipe:()=>$E,$ZodOptional:()=>_E,$ZodObjectJIT:()=>oO,$ZodObject:()=>G5,$ZodNumberFormat:()=>xO,$ZodNumber:()=>eI,$ZodNullable:()=>NS,$ZodNull:()=>cO,$ZodNonOptional:()=>SS,$ZodNever:()=>mO,$ZodNanoID:()=>XO,$ZodNaN:()=>JS,$ZodMap:()=>_S,$ZodMAC:()=>HO,$ZodLiteral:()=>US,$ZodLazy:()=>RS,$ZodKSUID:()=>KO,$ZodJWT:()=>rO,$ZodIntersection:()=>aO,$ZodISOTime:()=>VO,$ZodISODuration:()=>BO,$ZodISODateTime:()=>TO,$ZodISODate:()=>FO,$ZodIPv6:()=>ZO,$ZodIPv4:()=>MO,$ZodGUID:()=>WO,$ZodFunction:()=>XS,$ZodFile:()=>IS,$ZodExactOptional:()=>jS,$ZodError:()=>AU,$ZodEnum:()=>DS,$ZodEncodeError:()=>X4,$ZodEmoji:()=>gO,$ZodEmail:()=>PO,$ZodE164:()=>wO,$ZodDiscriminatedUnion:()=>eO,$ZodDefault:()=>AS,$ZodDate:()=>iO,$ZodCustomStringFormat:()=>fO,$ZodCustom:()=>YS,$ZodCodec:()=>PU,$ZodCheckUpperCase:()=>DO,$ZodCheckStringFormat:()=>h0,$ZodCheckStartsWith:()=>IO,$ZodCheckSizeEquals:()=>pA,$ZodCheckRegex:()=>_O,$ZodCheckProperty:()=>jO,$ZodCheckOverwrite:()=>AO,$ZodCheckNumberFormat:()=>lA,$ZodCheckMultipleOf:()=>mA,$ZodCheckMinSize:()=>oA,$ZodCheckMinLength:()=>aA,$ZodCheckMimeType:()=>NO,$ZodCheckMaxSize:()=>tA,$ZodCheckMaxLength:()=>eA,$ZodCheckLowerCase:()=>$O,$ZodCheckLessThan:()=>nI,$ZodCheckLengthEquals:()=>sA,$ZodCheckIncludes:()=>UO,$ZodCheckGreaterThan:()=>dI,$ZodCheckEndsWith:()=>EO,$ZodCheckBigIntFormat:()=>iA,$ZodCheck:()=>Q_,$ZodCatch:()=>WS,$ZodCUID2:()=>RO,$ZodCUID:()=>GO,$ZodCIDRv6:()=>qO,$ZodCIDRv4:()=>bO,$ZodBoolean:()=>WU,$ZodBigIntFormat:()=>uO,$ZodBigInt:()=>aI,$ZodBase64URL:()=>vO,$ZodBase64:()=>CO,$ZodAsyncError:()=>m$,$ZodArray:()=>tO,$ZodAny:()=>nO});var S$=r(()=>{n();cI();YL();bU();QG();TG();G4();zA();WA();QS();mI();SO();YU();YG();ZU()});var ZE={};x$(ZE,{uppercase:()=>F4,trim:()=>b4,toUpperCase:()=>k4,toLowerCase:()=>q4,startsWith:()=>B4,slugify:()=>C4,size:()=>f6,regex:()=>K4,property:()=>MU,positive:()=>TU,overwrite:()=>X$,normalize:()=>H4,nonpositive:()=>VU,nonnegative:()=>BU,negative:()=>FU,multipleOf:()=>W6,minSize:()=>M$,minLength:()=>l$,mime:()=>Z4,maxSize:()=>J6,maxLength:()=>x6,lte:()=>I$,lt:()=>V$,lowercase:()=>T4,length:()=>u6,includes:()=>V4,gte:()=>c_,gt:()=>B$,endsWith:()=>M4});var HE=r(()=>{S$()});var v4={};x$(v4,{time:()=>iW,duration:()=>tW,datetime:()=>mW,date:()=>lW,ZodISOTime:()=>CU,ZodISODuration:()=>vU,ZodISODateTime:()=>qU,ZodISODate:()=>kU});function mW(_){return VL(qU,_)}function lW(_){return BL(kU,_)}function iW(_){return ML(CU,_)}function tW(_){return ZL(vU,_)}var qU,kU,CU,vU;var wU=r(()=>{S$();fU();qU=K("ZodISODateTime",(_,$)=>{TO.init(_,$),z_.init(_,$)});kU=K("ZodISODate",(_,$)=>{FO.init(_,$),z_.init(_,$)});CU=K("ZodISOTime",(_,$)=>{VO.init(_,$),z_.init(_,$)});vU=K("ZodISODuration",(_,$)=>{BO.init(_,$),z_.init(_,$)})});var FG=(_,$)=>{AU.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(D)=>r0(_,D)},flatten:{value:(D)=>w0(_,D)},addIssue:{value:(D)=>{_.issues.push(D),_.message=JSON.stringify(_.issues,k0,2)}},addIssues:{value:(D)=>{_.issues.push(...D),_.message=JSON.stringify(_.issues,k0,2)}},isEmpty:{get(){return _.issues.length===0}}})},VG,p_;var oW=r(()=>{S$();S$();n();VG=K("ZodError",FG),p_=K("ZodError",FG,{Parent:Error})});var bE,qE,kE,CE,vE,wE,rE,fE,xE,uE,yE,hE;var pW=r(()=>{S$();oW();bE=f0(p_),qE=x0(p_),kE=u0(p_),CE=y0(p_),vE=CI(p_),wE=vI(p_),rE=wI(p_),fE=rI(p_),xE=fI(p_),uE=xI(p_),yE=uI(p_),hE=yI(p_)});var rU={};x$(rU,{xor:()=>hJ,xid:()=>SJ,void:()=>wJ,uuidv7:()=>DJ,uuidv6:()=>$J,uuidv4:()=>_J,uuid:()=>sW,url:()=>UJ,unknown:()=>n6,union:()=>j1,undefined:()=>CJ,ulid:()=>OJ,uint64:()=>qJ,uint32:()=>ZJ,tuple:()=>Ej,transform:()=>A1,templateLiteral:()=>$P,symbol:()=>kJ,superRefine:()=>Cj,success:()=>eJ,stringbool:()=>OP,stringFormat:()=>QJ,string:()=>l0,strictObject:()=>uJ,set:()=>lJ,refine:()=>kj,record:()=>jj,readonly:()=>Bj,promise:()=>DP,preprocess:()=>LP,prefault:()=>Gj,pipe:()=>uU,partialRecord:()=>nJ,optional:()=>t0,object:()=>xJ,number:()=>nE,nullish:()=>pJ,nullable:()=>o0,null:()=>tE,nonoptional:()=>Rj,never:()=>E1,nativeEnum:()=>iJ,nanoid:()=>jJ,nan:()=>aJ,meta:()=>NP,map:()=>mJ,mac:()=>JJ,looseRecord:()=>dJ,looseObject:()=>yJ,literal:()=>tJ,lazy:()=>Hj,ksuid:()=>LJ,keyof:()=>fJ,jwt:()=>YJ,json:()=>SP,ipv6:()=>PJ,ipv4:()=>WJ,invertCodec:()=>_P,intersection:()=>Uj,int64:()=>bJ,int32:()=>MJ,int:()=>xU,instanceof:()=>AP,httpUrl:()=>IJ,hostname:()=>KJ,hex:()=>TJ,hash:()=>FJ,guid:()=>aW,function:()=>UP,float64:()=>BJ,float32:()=>VJ,file:()=>oJ,exactOptional:()=>Jj,enum:()=>N1,emoji:()=>EJ,email:()=>eW,e164:()=>RJ,discriminatedUnion:()=>cJ,describe:()=>jP,date:()=>rJ,custom:()=>EP,cuid2:()=>AJ,cuid:()=>NJ,codec:()=>sJ,cidrv6:()=>gJ,cidrv4:()=>zJ,check:()=>IP,catch:()=>Kj,boolean:()=>dE,bigint:()=>HJ,base64url:()=>GJ,base64:()=>XJ,array:()=>a0,any:()=>vJ,_function:()=>UP,_default:()=>gj,_ZodString:()=>hU,ZodXor:()=>_j,ZodXID:()=>tU,ZodVoid:()=>aE,ZodUnknown:()=>pE,ZodUnion:()=>_D,ZodUndefined:()=>lE,ZodUUID:()=>Z$,ZodURL:()=>p0,ZodULID:()=>iU,ZodType:()=>a,ZodTuple:()=>Ij,ZodTransform:()=>Lj,ZodTemplateLiteral:()=>Mj,ZodSymbol:()=>mE,ZodSuccess:()=>Yj,ZodStringFormat:()=>z_,ZodString:()=>f4,ZodSet:()=>Aj,ZodRecord:()=>w4,ZodReadonly:()=>Vj,ZodPromise:()=>bj,ZodPreprocess:()=>Fj,ZodPrefault:()=>Xj,ZodPipe:()=>$D,ZodOptional:()=>O1,ZodObject:()=>s0,ZodNumberFormat:()=>d6,ZodNumber:()=>u4,ZodNullable:()=>Pj,ZodNull:()=>iE,ZodNonOptional:()=>S1,ZodNever:()=>eE,ZodNanoID:()=>dU,ZodNaN:()=>Tj,ZodMap:()=>Nj,ZodMAC:()=>cE,ZodLiteral:()=>Oj,ZodLazy:()=>Zj,ZodKSUID:()=>oU,ZodJWT:()=>U1,ZodIntersection:()=>Dj,ZodIPv6:()=>eU,ZodIPv4:()=>pU,ZodGUID:()=>i0,ZodFunction:()=>qj,ZodFile:()=>Sj,ZodExactOptional:()=>Wj,ZodEnum:()=>r4,ZodEmoji:()=>nU,ZodEmail:()=>cU,ZodE164:()=>D1,ZodDiscriminatedUnion:()=>$j,ZodDefault:()=>zj,ZodDate:()=>e0,ZodCustomStringFormat:()=>x4,ZodCustom:()=>UD,ZodCodec:()=>DD,ZodCatch:()=>Qj,ZodCUID2:()=>lU,ZodCUID:()=>mU,ZodCIDRv6:()=>sU,ZodCIDRv4:()=>aU,ZodBoolean:()=>y4,ZodBigIntFormat:()=>I1,ZodBigInt:()=>h4,ZodBase64URL:()=>$1,ZodBase64:()=>_1,ZodArray:()=>sE,ZodAny:()=>oE});function yU(_,$,D){let I=Object.getPrototypeOf(_),U=BG.get(I);if(!U)U=new Set,BG.set(I,U);if(U.has($))return;U.add($);for(let E in D){let j=D[E];Object.defineProperty(I,E,{configurable:!0,enumerable:!1,get(){let N=j.bind(this);return Object.defineProperty(this,E,{configurable:!0,writable:!0,enumerable:!0,value:N}),N},set(N){Object.defineProperty(this,E,{configurable:!0,writable:!0,enumerable:!0,value:N})}})}}function l0(_){return KL(f4,_)}function eW(_){return IE(cU,_)}function aW(_){return QU(i0,_)}function sW(_){return EE(Z$,_)}function _J(_){return jE(Z$,_)}function $J(_){return NE(Z$,_)}function DJ(_){return AE(Z$,_)}function UJ(_){return KU(p0,_)}function IJ(_){return KU(p0,{protocol:U$.httpProtocol,hostname:U$.domain,...q.normalizeParams(_)})}function EJ(_){return OE(nU,_)}function jJ(_){return SE(dU,_)}function NJ(_){return LE(mU,_)}function AJ(_){return WE(lU,_)}function OJ(_){return JE(iU,_)}function SJ(_){return PE(tU,_)}function LJ(_){return zE(oU,_)}function WJ(_){return gE(pU,_)}function JJ(_){return FL(cE,_)}function PJ(_){return XE(eU,_)}function zJ(_){return GE(aU,_)}function gJ(_){return RE(sU,_)}function XJ(_){return YE(_1,_)}function GJ(_){return QE($1,_)}function RJ(_){return KE(D1,_)}function YJ(_){return TE(U1,_)}function QJ(_,$,D={}){return d0(x4,_,$,D)}function KJ(_){return d0(x4,"hostname",U$.hostname,_)}function TJ(_){return d0(x4,"hex",U$.hex,_)}function FJ(_,$){let D=$?.enc??"hex",I=`${_}_${D}`,U=U$[I];if(!U)throw Error(`Unrecognized hash format: ${I}`);return d0(x4,I,U,$)}function nE(_){return HL(u4,_)}function xU(_){return qL(d6,_)}function VJ(_){return kL(d6,_)}function BJ(_){return CL(d6,_)}function MJ(_){return vL(d6,_)}function ZJ(_){return wL(d6,_)}function dE(_){return rL(y4,_)}function HJ(_){return xL(h4,_)}function bJ(_){return yL(I1,_)}function qJ(_){return hL(I1,_)}function kJ(_){return cL(mE,_)}function CJ(_){return nL(lE,_)}function tE(_){return dL(iE,_)}function vJ(){return mL(oE)}function n6(){return lL(pE)}function E1(_){return iL(eE,_)}function wJ(_){return tL(aE,_)}function rJ(_){return oL(e0,_)}function a0(_,$){return aL(sE,_,$)}function fJ(_){let $=_._zod.def.shape;return N1(Object.keys($))}function xJ(_,$){let D={type:"object",shape:_??{},...q.normalizeParams($)};return new s0(D)}function uJ(_,$){return new s0({type:"object",shape:_,catchall:E1(),...q.normalizeParams($)})}function yJ(_,$){return new s0({type:"object",shape:_,catchall:n6(),...q.normalizeParams($)})}function j1(_,$){return new _D({type:"union",options:_,...q.normalizeParams($)})}function hJ(_,$){return new _j({type:"union",options:_,inclusive:!1,...q.normalizeParams($)})}function cJ(_,$,D){return new $j({type:"union",options:$,discriminator:_,...q.normalizeParams(D)})}function Uj(_,$){return new Dj({type:"intersection",left:_,right:$})}function Ej(_,$,D){let I=$ instanceof p,U=I?D:$;return new Ij({type:"tuple",items:_,rest:I?$:null,...q.normalizeParams(U)})}function jj(_,$,D){if(!$||!$._zod)return new w4({type:"record",keyType:l0(),valueType:_,...q.normalizeParams($)});return new w4({type:"record",keyType:_,valueType:$,...q.normalizeParams(D)})}function nJ(_,$,D){let I=h_(_);return I._zod.values=void 0,new w4({type:"record",keyType:I,valueType:$,...q.normalizeParams(D)})}function dJ(_,$,D){return new w4({type:"record",keyType:_,valueType:$,mode:"loose",...q.normalizeParams(D)})}function mJ(_,$,D){return new Nj({type:"map",keyType:_,valueType:$,...q.normalizeParams(D)})}function lJ(_,$){return new Aj({type:"set",valueType:_,...q.normalizeParams($)})}function N1(_,$){let D=Array.isArray(_)?Object.fromEntries(_.map((I)=>[I,I])):_;return new r4({type:"enum",entries:D,...q.normalizeParams($)})}function iJ(_,$){return new r4({type:"enum",entries:_,...q.normalizeParams($)})}function tJ(_,$){return new Oj({type:"literal",values:Array.isArray(_)?_:[_],...q.normalizeParams($)})}function oJ(_){return sL(Sj,_)}function A1(_){return new Lj({type:"transform",transform:_})}function t0(_){return new O1({type:"optional",innerType:_})}function Jj(_){return new Wj({type:"optional",innerType:_})}function o0(_){return new Pj({type:"nullable",innerType:_})}function pJ(_){return t0(o0(_))}function gj(_,$){return new zj({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():q.shallowClone($)}})}function Gj(_,$){return new Xj({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():q.shallowClone($)}})}function Rj(_,$){return new S1({type:"nonoptional",innerType:_,...q.normalizeParams($)})}function eJ(_){return new Yj({type:"success",innerType:_})}function Kj(_,$){return new Qj({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function aJ(_){return eL(Tj,_)}function uU(_,$){return new $D({type:"pipe",in:_,out:$})}function sJ(_,$,D){return new DD({type:"pipe",in:_,out:$,transform:D.decode,reverseTransform:D.encode})}function _P(_){let $=_._zod.def;return new DD({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function Bj(_){return new Vj({type:"readonly",innerType:_})}function $P(_,$){return new Mj({type:"template_literal",parts:_,...q.normalizeParams($)})}function Hj(_){return new Zj({type:"lazy",getter:_})}function DP(_){return new bj({type:"promise",innerType:_})}function UP(_){return new qj({type:"function",input:Array.isArray(_?.input)?Ej(_?.input):_?.input??a0(n6()),output:_?.output??n6()})}function IP(_){let $=new Q_({check:"custom"});return $._zod.check=_,$}function EP(_,$){return _W(UD,_??(()=>!0),$)}function kj(_,$={}){return $W(UD,_,$)}function Cj(_,$){return DW(_,$)}function AP(_,$={}){let D=new UD({type:"custom",check:"custom",fn:(I)=>I instanceof _,abort:!0,...q.normalizeParams($)});return D._zod.bag.Class=_,D._zod.check=(I)=>{if(!(I.value instanceof _))I.issues.push({code:"invalid_type",expected:_.name,input:I.value,inst:D,path:[...D._zod.def.path??[]]})},D}function SP(_){let $=Hj(()=>{return j1([l0(_),nE(),dE(),tE(),a0($),jj(l0(),$)])});return $}function LP(_,$){return new Fj({type:"pipe",in:A1(_),out:$})}var BG,a,hU,f4,z_,cU,i0,Z$,p0,nU,dU,mU,lU,iU,tU,oU,pU,cE,eU,aU,sU,_1,$1,D1,U1,x4,u4,d6,y4,h4,I1,mE,lE,iE,oE,pE,eE,aE,e0,sE,s0,_D,_j,$j,Dj,Ij,w4,Nj,Aj,r4,Oj,Sj,Lj,O1,Wj,Pj,zj,Xj,S1,Yj,Qj,Tj,$D,DD,Fj,Vj,Mj,Zj,bj,qj,UD,jP,NP,OP=(..._)=>EW({Codec:DD,Boolean:y4,String:f4},..._);var fU=r(()=>{S$();S$();bU();ZU();HE();wU();pW();BG=new WeakMap;a=K("ZodType",(_,$)=>{return p.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:m0(_,"input"),output:m0(_,"output")}}),_.toJSONSchema=jW(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(D,I)=>bE(_,D,I,{callee:_.parse}),_.safeParse=(D,I)=>kE(_,D,I),_.parseAsync=async(D,I)=>qE(_,D,I,{callee:_.parseAsync}),_.safeParseAsync=async(D,I)=>CE(_,D,I),_.spa=_.safeParseAsync,_.encode=(D,I)=>vE(_,D,I),_.decode=(D,I)=>wE(_,D,I),_.encodeAsync=async(D,I)=>rE(_,D,I),_.decodeAsync=async(D,I)=>fE(_,D,I),_.safeEncode=(D,I)=>xE(_,D,I),_.safeDecode=(D,I)=>uE(_,D,I),_.safeEncodeAsync=async(D,I)=>yE(_,D,I),_.safeDecodeAsync=async(D,I)=>hE(_,D,I),yU(_,"ZodType",{check(...D){let I=this.def;return this.clone(q.mergeDefs(I,{checks:[...I.checks??[],...D.map((U)=>typeof U==="function"?{_zod:{check:U,def:{check:"custom"},onattach:[]}}:U)]}),{parent:!0})},with(...D){return this.check(...D)},clone(D,I){return h_(this,D,I)},brand(){return this},register(D,I){return D.add(this,I),this},refine(D,I){return this.check(kj(D,I))},superRefine(D,I){return this.check(Cj(D,I))},overwrite(D){return this.check(X$(D))},optional(){return t0(this)},exactOptional(){return Jj(this)},nullable(){return o0(this)},nullish(){return t0(o0(this))},nonoptional(D){return Rj(this,D)},array(){return a0(this)},or(D){return j1([this,D])},and(D){return Uj(this,D)},transform(D){return uU(this,A1(D))},default(D){return gj(this,D)},prefault(D){return Gj(this,D)},catch(D){return Kj(this,D)},pipe(D){return uU(this,D)},readonly(){return Bj(this)},describe(D){let I=this.clone();return x_.add(I,{description:D}),I},meta(...D){if(D.length===0)return x_.get(this);let I=this.clone();return x_.add(I,D[0]),I},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(D){return D(this)}}),Object.defineProperty(_,"description",{get(){return x_.get(_)?.description},configurable:!0}),_}),hU=K("_ZodString",(_,$)=>{Q4.init(_,$),a.init(_,$),_._zod.processJSONSchema=(I,U,E)=>NW(_,I,U,E);let D=_._zod.bag;_.format=D.format??null,_.minLength=D.minimum??null,_.maxLength=D.maximum??null,yU(_,"_ZodString",{regex(...I){return this.check(K4(...I))},includes(...I){return this.check(V4(...I))},startsWith(...I){return this.check(B4(...I))},endsWith(...I){return this.check(M4(...I))},min(...I){return this.check(l$(...I))},max(...I){return this.check(x6(...I))},length(...I){return this.check(u6(...I))},nonempty(...I){return this.check(l$(1,...I))},lowercase(I){return this.check(T4(I))},uppercase(I){return this.check(F4(I))},trim(){return this.check(b4())},normalize(...I){return this.check(H4(...I))},toLowerCase(){return this.check(q4())},toUpperCase(){return this.check(k4())},slugify(){return this.check(C4())}})}),f4=K("ZodString",(_,$)=>{Q4.init(_,$),hU.init(_,$),_.email=(D)=>_.check(IE(cU,D)),_.url=(D)=>_.check(KU(p0,D)),_.jwt=(D)=>_.check(TE(U1,D)),_.emoji=(D)=>_.check(OE(nU,D)),_.guid=(D)=>_.check(QU(i0,D)),_.uuid=(D)=>_.check(EE(Z$,D)),_.uuidv4=(D)=>_.check(jE(Z$,D)),_.uuidv6=(D)=>_.check(NE(Z$,D)),_.uuidv7=(D)=>_.check(AE(Z$,D)),_.nanoid=(D)=>_.check(SE(dU,D)),_.guid=(D)=>_.check(QU(i0,D)),_.cuid=(D)=>_.check(LE(mU,D)),_.cuid2=(D)=>_.check(WE(lU,D)),_.ulid=(D)=>_.check(JE(iU,D)),_.base64=(D)=>_.check(YE(_1,D)),_.base64url=(D)=>_.check(QE($1,D)),_.xid=(D)=>_.check(PE(tU,D)),_.ksuid=(D)=>_.check(zE(oU,D)),_.ipv4=(D)=>_.check(gE(pU,D)),_.ipv6=(D)=>_.check(XE(eU,D)),_.cidrv4=(D)=>_.check(GE(aU,D)),_.cidrv6=(D)=>_.check(RE(sU,D)),_.e164=(D)=>_.check(KE(D1,D)),_.datetime=(D)=>_.check(mW(D)),_.date=(D)=>_.check(lW(D)),_.time=(D)=>_.check(iW(D)),_.duration=(D)=>_.check(tW(D))});z_=K("ZodStringFormat",(_,$)=>{Y_.init(_,$),hU.init(_,$)}),cU=K("ZodEmail",(_,$)=>{PO.init(_,$),z_.init(_,$)});i0=K("ZodGUID",(_,$)=>{WO.init(_,$),z_.init(_,$)});Z$=K("ZodUUID",(_,$)=>{JO.init(_,$),z_.init(_,$)});p0=K("ZodURL",(_,$)=>{zO.init(_,$),z_.init(_,$)});nU=K("ZodEmoji",(_,$)=>{gO.init(_,$),z_.init(_,$)});dU=K("ZodNanoID",(_,$)=>{XO.init(_,$),z_.init(_,$)});mU=K("ZodCUID",(_,$)=>{GO.init(_,$),z_.init(_,$)});lU=K("ZodCUID2",(_,$)=>{RO.init(_,$),z_.init(_,$)});iU=K("ZodULID",(_,$)=>{YO.init(_,$),z_.init(_,$)});tU=K("ZodXID",(_,$)=>{QO.init(_,$),z_.init(_,$)});oU=K("ZodKSUID",(_,$)=>{KO.init(_,$),z_.init(_,$)});pU=K("ZodIPv4",(_,$)=>{MO.init(_,$),z_.init(_,$)});cE=K("ZodMAC",(_,$)=>{HO.init(_,$),z_.init(_,$)});eU=K("ZodIPv6",(_,$)=>{ZO.init(_,$),z_.init(_,$)});aU=K("ZodCIDRv4",(_,$)=>{bO.init(_,$),z_.init(_,$)});sU=K("ZodCIDRv6",(_,$)=>{qO.init(_,$),z_.init(_,$)});_1=K("ZodBase64",(_,$)=>{CO.init(_,$),z_.init(_,$)});$1=K("ZodBase64URL",(_,$)=>{vO.init(_,$),z_.init(_,$)});D1=K("ZodE164",(_,$)=>{wO.init(_,$),z_.init(_,$)});U1=K("ZodJWT",(_,$)=>{rO.init(_,$),z_.init(_,$)});x4=K("ZodCustomStringFormat",(_,$)=>{fO.init(_,$),z_.init(_,$)});u4=K("ZodNumber",(_,$)=>{eI.init(_,$),a.init(_,$),_._zod.processJSONSchema=(I,U,E)=>AW(_,I,U,E),yU(_,"ZodNumber",{gt(I,U){return this.check(B$(I,U))},gte(I,U){return this.check(c_(I,U))},min(I,U){return this.check(c_(I,U))},lt(I,U){return this.check(V$(I,U))},lte(I,U){return this.check(I$(I,U))},max(I,U){return this.check(I$(I,U))},int(I){return this.check(xU(I))},safe(I){return this.check(xU(I))},positive(I){return this.check(B$(0,I))},nonnegative(I){return this.check(c_(0,I))},negative(I){return this.check(V$(0,I))},nonpositive(I){return this.check(I$(0,I))},multipleOf(I,U){return this.check(W6(I,U))},step(I,U){return this.check(W6(I,U))},finite(){return this}});let D=_._zod.bag;_.minValue=Math.max(D.minimum??Number.NEGATIVE_INFINITY,D.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,_.maxValue=Math.min(D.maximum??Number.POSITIVE_INFINITY,D.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,_.isInt=(D.format??"").includes("int")||Number.isSafeInteger(D.multipleOf??0.5),_.isFinite=!0,_.format=D.format??null});d6=K("ZodNumberFormat",(_,$)=>{xO.init(_,$),u4.init(_,$)});y4=K("ZodBoolean",(_,$)=>{WU.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>OW(_,D,I,U)});h4=K("ZodBigInt",(_,$)=>{aI.init(_,$),a.init(_,$),_._zod.processJSONSchema=(I,U,E)=>SW(_,I,U,E),_.gte=(I,U)=>_.check(c_(I,U)),_.min=(I,U)=>_.check(c_(I,U)),_.gt=(I,U)=>_.check(B$(I,U)),_.gte=(I,U)=>_.check(c_(I,U)),_.min=(I,U)=>_.check(c_(I,U)),_.lt=(I,U)=>_.check(V$(I,U)),_.lte=(I,U)=>_.check(I$(I,U)),_.max=(I,U)=>_.check(I$(I,U)),_.positive=(I)=>_.check(B$(BigInt(0),I)),_.negative=(I)=>_.check(V$(BigInt(0),I)),_.nonpositive=(I)=>_.check(I$(BigInt(0),I)),_.nonnegative=(I)=>_.check(c_(BigInt(0),I)),_.multipleOf=(I,U)=>_.check(W6(I,U));let D=_._zod.bag;_.minValue=D.minimum??null,_.maxValue=D.maximum??null,_.format=D.format??null});I1=K("ZodBigIntFormat",(_,$)=>{uO.init(_,$),h4.init(_,$)});mE=K("ZodSymbol",(_,$)=>{yO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>LW(_,D,I,U)});lE=K("ZodUndefined",(_,$)=>{hO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>JW(_,D,I,U)});iE=K("ZodNull",(_,$)=>{cO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>WW(_,D,I,U)});oE=K("ZodAny",(_,$)=>{nO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>gW(_,D,I,U)});pE=K("ZodUnknown",(_,$)=>{dO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>XW(_,D,I,U)});eE=K("ZodNever",(_,$)=>{mO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>zW(_,D,I,U)});aE=K("ZodVoid",(_,$)=>{lO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>PW(_,D,I,U)});e0=K("ZodDate",(_,$)=>{iO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(I,U,E)=>GW(_,I,U,E),_.min=(I,U)=>_.check(c_(I,U)),_.max=(I,U)=>_.check(I$(I,U));let D=_._zod.bag;_.minDate=D.minimum?new Date(D.minimum):null,_.maxDate=D.maximum?new Date(D.maximum):null});sE=K("ZodArray",(_,$)=>{tO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>bW(_,D,I,U),_.element=$.element,yU(_,"ZodArray",{min(D,I){return this.check(l$(D,I))},nonempty(D){return this.check(l$(1,D))},max(D,I){return this.check(x6(D,I))},length(D,I){return this.check(u6(D,I))},unwrap(){return this.element}})});s0=K("ZodObject",(_,$)=>{oO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>qW(_,D,I,U),q.defineLazy(_,"shape",()=>{return $.shape}),yU(_,"ZodObject",{keyof(){return N1(Object.keys(this._zod.def.shape))},catchall(D){return this.clone({...this._zod.def,catchall:D})},passthrough(){return this.clone({...this._zod.def,catchall:n6()})},loose(){return this.clone({...this._zod.def,catchall:n6()})},strict(){return this.clone({...this._zod.def,catchall:E1()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(D){return q.extend(this,D)},safeExtend(D){return q.safeExtend(this,D)},merge(D){return q.merge(this,D)},pick(D){return q.pick(this,D)},omit(D){return q.omit(this,D)},partial(...D){return q.partial(O1,this,D[0])},required(...D){return q.required(S1,this,D[0])}})});_D=K("ZodUnion",(_,$)=>{JU.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>BE(_,D,I,U),_.options=$.options});_j=K("ZodXor",(_,$)=>{_D.init(_,$),pO.init(_,$),_._zod.processJSONSchema=(D,I,U)=>BE(_,D,I,U),_.options=$.options});$j=K("ZodDiscriminatedUnion",(_,$)=>{_D.init(_,$),eO.init(_,$)});Dj=K("ZodIntersection",(_,$)=>{aO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>kW(_,D,I,U)});Ij=K("ZodTuple",(_,$)=>{sI.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>CW(_,D,I,U),_.rest=(D)=>_.clone({..._._zod.def,rest:D})});w4=K("ZodRecord",(_,$)=>{sO.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>vW(_,D,I,U),_.keyType=$.keyType,_.valueType=$.valueType});Nj=K("ZodMap",(_,$)=>{_S.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>ZW(_,D,I,U),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...D)=>_.check(M$(...D)),_.nonempty=(D)=>_.check(M$(1,D)),_.max=(...D)=>_.check(J6(...D)),_.size=(...D)=>_.check(f6(...D))});Aj=K("ZodSet",(_,$)=>{$S.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>HW(_,D,I,U),_.min=(...D)=>_.check(M$(...D)),_.nonempty=(D)=>_.check(M$(1,D)),_.max=(...D)=>_.check(J6(...D)),_.size=(...D)=>_.check(f6(...D))});r4=K("ZodEnum",(_,$)=>{DS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(I,U,E)=>RW(_,I,U,E),_.enum=$.entries,_.options=Object.values($.entries);let D=new Set(Object.keys($.entries));_.extract=(I,U)=>{let E={};for(let j of I)if(D.has(j))E[j]=$.entries[j];else throw Error(`Key ${j} not found in enum`);return new r4({...$,checks:[],...q.normalizeParams(U),entries:E})},_.exclude=(I,U)=>{let E={...$.entries};for(let j of I)if(D.has(j))delete E[j];else throw Error(`Key ${j} not found in enum`);return new r4({...$,checks:[],...q.normalizeParams(U),entries:E})}});Oj=K("ZodLiteral",(_,$)=>{US.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>YW(_,D,I,U),_.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]}})});Sj=K("ZodFile",(_,$)=>{IS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>TW(_,D,I,U),_.min=(D,I)=>_.check(M$(D,I)),_.max=(D,I)=>_.check(J6(D,I)),_.mime=(D,I)=>_.check(Z4(Array.isArray(D)?D:[D],I))});Lj=K("ZodTransform",(_,$)=>{ES.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>MW(_,D,I,U),_._zod.parse=(D,I)=>{if(I.direction==="backward")throw new X4(_.constructor.name);D.addIssue=(E)=>{if(typeof E==="string")D.issues.push(q.issue(E,D.value,$));else{let j=E;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=D.value),j.inst??(j.inst=_),D.issues.push(q.issue(j))}};let U=$.transform(D.value,D);if(U instanceof Promise)return U.then((E)=>{return D.value=E,D.fallback=!0,D});return D.value=U,D.fallback=!0,D}});O1=K("ZodOptional",(_,$)=>{_E.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>ME(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});Wj=K("ZodExactOptional",(_,$)=>{jS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>ME(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});Pj=K("ZodNullable",(_,$)=>{NS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>wW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});zj=K("ZodDefault",(_,$)=>{AS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>fW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});Xj=K("ZodPrefault",(_,$)=>{OS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>xW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});S1=K("ZodNonOptional",(_,$)=>{SS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>rW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});Yj=K("ZodSuccess",(_,$)=>{LS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>FW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});Qj=K("ZodCatch",(_,$)=>{WS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>uW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});Tj=K("ZodNaN",(_,$)=>{JS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>QW(_,D,I,U)});$D=K("ZodPipe",(_,$)=>{$E.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>yW(_,D,I,U),_.in=$.in,_.out=$.out});DD=K("ZodCodec",(_,$)=>{$D.init(_,$),PU.init(_,$)});Fj=K("ZodPreprocess",(_,$)=>{$D.init(_,$),PS.init(_,$)}),Vj=K("ZodReadonly",(_,$)=>{zS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>hW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});Mj=K("ZodTemplateLiteral",(_,$)=>{gS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>KW(_,D,I,U)});Zj=K("ZodLazy",(_,$)=>{RS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>nW(_,D,I,U),_.unwrap=()=>_._zod.def.getter()});bj=K("ZodPromise",(_,$)=>{GS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>cW(_,D,I,U),_.unwrap=()=>_._zod.def.innerType});qj=K("ZodFunction",(_,$)=>{XS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>BW(_,D,I,U)});UD=K("ZodCustom",(_,$)=>{YS.init(_,$),a.init(_,$),_._zod.processJSONSchema=(D,I,U)=>VW(_,D,I,U)});jP=UW,NP=IW});function ZG(_){b_({customError:_})}function HG(){return b_().customError}var MG,vj;var bG=r(()=>{S$();MG={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(_){})(vj||(vj={}))});function EZ(_,$){let D=_.$schema;if(D==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(D==="http://json-schema.org/draft-07/schema#")return"draft-7";if(D==="http://json-schema.org/draft-04/schema#")return"draft-4";return $??"draft-2020-12"}function jZ(_,$){if(!_.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let D=_.slice(1).split("/").filter(Boolean);if(D.length===0)return $.rootSchema;let I=$.version==="draft-2020-12"?"$defs":"definitions";if(D[0]===I){let U=D[1];if(!U||!$.defs[U])throw Error(`Reference not found: ${_}`);return $.defs[U]}throw Error(`Reference not found: ${_}`)}function qG(_,$){if(_.not!==void 0){if(typeof _.not==="object"&&Object.keys(_.not).length===0)return x.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 U=_.$ref;if($.refs.has(U))return $.refs.get(U);if($.processing.has(U))return x.lazy(()=>{if(!$.refs.has(U))throw Error(`Circular reference not resolved: ${U}`);return $.refs.get(U)});$.processing.add(U);let E=jZ(U,$),j=n_(E,$);return $.refs.set(U,j),$.processing.delete(U),j}if(_.enum!==void 0){let U=_.enum;if($.version==="openapi-3.0"&&_.nullable===!0&&U.length===1&&U[0]===null)return x.null();if(U.length===0)return x.never();if(U.length===1)return x.literal(U[0]);if(U.every((j)=>typeof j==="string"))return x.enum(U);let E=U.map((j)=>x.literal(j));if(E.length<2)return E[0];return x.union([E[0],E[1],...E.slice(2)])}if(_.const!==void 0)return x.literal(_.const);let D=_.type;if(Array.isArray(D)){let U=D.map((E)=>{let j={..._,type:E};return qG(j,$)});if(U.length===0)return x.never();if(U.length===1)return U[0];return x.union(U)}if(!D)return x.any();let I;switch(D){case"string":{let U=x.string();if(_.format){let E=_.format;if(E==="email")U=U.check(x.email());else if(E==="uri"||E==="uri-reference")U=U.check(x.url());else if(E==="uuid"||E==="guid")U=U.check(x.uuid());else if(E==="date-time")U=U.check(x.iso.datetime());else if(E==="date")U=U.check(x.iso.date());else if(E==="time")U=U.check(x.iso.time());else if(E==="duration")U=U.check(x.iso.duration());else if(E==="ipv4")U=U.check(x.ipv4());else if(E==="ipv6")U=U.check(x.ipv6());else if(E==="mac")U=U.check(x.mac());else if(E==="cidr")U=U.check(x.cidrv4());else if(E==="cidr-v6")U=U.check(x.cidrv6());else if(E==="base64")U=U.check(x.base64());else if(E==="base64url")U=U.check(x.base64url());else if(E==="e164")U=U.check(x.e164());else if(E==="jwt")U=U.check(x.jwt());else if(E==="emoji")U=U.check(x.emoji());else if(E==="nanoid")U=U.check(x.nanoid());else if(E==="cuid")U=U.check(x.cuid());else if(E==="cuid2")U=U.check(x.cuid2());else if(E==="ulid")U=U.check(x.ulid());else if(E==="xid")U=U.check(x.xid());else if(E==="ksuid")U=U.check(x.ksuid())}if(typeof _.minLength==="number")U=U.min(_.minLength);if(typeof _.maxLength==="number")U=U.max(_.maxLength);if(_.pattern)U=U.regex(new RegExp(_.pattern));I=U;break}case"number":case"integer":{let U=D==="integer"?x.number().int():x.number();if(typeof _.minimum==="number")U=U.min(_.minimum);if(typeof _.maximum==="number")U=U.max(_.maximum);if(typeof _.exclusiveMinimum==="number")U=U.gt(_.exclusiveMinimum);else if(_.exclusiveMinimum===!0&&typeof _.minimum==="number")U=U.gt(_.minimum);if(typeof _.exclusiveMaximum==="number")U=U.lt(_.exclusiveMaximum);else if(_.exclusiveMaximum===!0&&typeof _.maximum==="number")U=U.lt(_.maximum);if(typeof _.multipleOf==="number")U=U.multipleOf(_.multipleOf);I=U;break}case"boolean":{I=x.boolean();break}case"null":{I=x.null();break}case"object":{let U={},E=_.properties||{},j=new Set(_.required||[]);for(let[O,S]of Object.entries(E)){let L=n_(S,$);U[O]=j.has(O)?L:L.optional()}if(_.propertyNames){let O=n_(_.propertyNames,$),S=_.additionalProperties&&typeof _.additionalProperties==="object"?n_(_.additionalProperties,$):x.any();if(Object.keys(U).length===0){I=x.record(O,S);break}let L=x.object(U).passthrough(),W=x.looseRecord(O,S);I=x.intersection(L,W);break}if(_.patternProperties){let O=_.patternProperties,S=Object.keys(O),L=[];for(let g of S){let z=n_(O[g],$),G=x.string().regex(new RegExp(g));L.push(x.looseRecord(G,z))}let W=[];if(Object.keys(U).length>0)W.push(x.object(U).passthrough());if(W.push(...L),W.length===0)I=x.object({}).passthrough();else if(W.length===1)I=W[0];else{let g=x.intersection(W[0],W[1]);for(let z=2;zn_(O,$)),N=E&&typeof E==="object"&&!Array.isArray(E)?n_(E,$):void 0;if(N)I=x.tuple(j).rest(N);else I=x.tuple(j);if(typeof _.minItems==="number")I=I.check(x.minLength(_.minItems));if(typeof _.maxItems==="number")I=I.check(x.maxLength(_.maxItems))}else if(Array.isArray(E)){let j=E.map((O)=>n_(O,$)),N=_.additionalItems&&typeof _.additionalItems==="object"?n_(_.additionalItems,$):void 0;if(N)I=x.tuple(j).rest(N);else I=x.tuple(j);if(typeof _.minItems==="number")I=I.check(x.minLength(_.minItems));if(typeof _.maxItems==="number")I=I.check(x.maxLength(_.maxItems))}else if(E!==void 0){let j=n_(E,$),N=x.array(j);if(typeof _.minItems==="number")N=N.min(_.minItems);if(typeof _.maxItems==="number")N=N.max(_.maxItems);I=N}else I=x.array(x.any());break}default:throw Error(`Unsupported type: ${D}`)}return I}function n_(_,$){if(typeof _==="boolean")return _?x.any():x.never();let D=qG(_,$),I=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let N=_.anyOf.map((S)=>n_(S,$)),O=x.union(N);D=I?x.intersection(D,O):O}if(_.oneOf&&Array.isArray(_.oneOf)){let N=_.oneOf.map((S)=>n_(S,$)),O=x.xor(N);D=I?x.intersection(D,O):O}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)D=I?D:x.any();else{let N=I?D:n_(_.allOf[0],$),O=I?0:1;for(let S=O;S<_.allOf.length;S++)N=x.intersection(N,n_(_.allOf[S],$));D=N}if(_.nullable===!0&&$.version==="openapi-3.0")D=x.nullable(D);if(_.readOnly===!0)D=x.readonly(D);if(_.default!==void 0)D=D.default(_.default);let U={},E=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let N of E)if(N in _)U[N]=_[N];let j=["contentEncoding","contentMediaType","contentSchema"];for(let N of j)if(N in _)U[N]=_[N];for(let N of Object.keys(_))if(!IZ.has(N))U[N]=_[N];if(Object.keys(U).length>0)$.registry.add(D,U);if(_.description)D=D.describe(_.description);return D}function WP(_,$){if(typeof _==="boolean")return _?x.any():x.never();let D;try{D=JSON.parse(JSON.stringify(_))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let I=EZ(D,$?.defaultTarget),U=D.$defs||D.definitions||{},E={version:I,defs:U,refs:new Map,processing:new Set,rootSchema:D,registry:$?.registry??x_};return n_(D,E)}var x,IZ;var kG=r(()=>{YU();HE();wU();fU();x={...rU,...ZE,iso:v4},IZ=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var wj={};x$(wj,{string:()=>NZ,number:()=>AZ,date:()=>LZ,boolean:()=>OZ,bigint:()=>SZ});function NZ(_){return TL(f4,_)}function AZ(_){return bL(u4,_)}function OZ(_){return fL(y4,_)}function SZ(_){return uL(h4,_)}function LZ(_){return pL(e0,_)}var CG=r(()=>{S$();fU()});var rj={};x$(rj,{xor:()=>hJ,xid:()=>SJ,void:()=>wJ,uuidv7:()=>DJ,uuidv6:()=>$J,uuidv4:()=>_J,uuid:()=>sW,util:()=>q,url:()=>UJ,uppercase:()=>F4,unknown:()=>n6,union:()=>j1,undefined:()=>CJ,ulid:()=>OJ,uint64:()=>qJ,uint32:()=>ZJ,tuple:()=>Ej,trim:()=>b4,treeifyError:()=>HI,transform:()=>A1,toUpperCase:()=>k4,toLowerCase:()=>q4,toJSONSchema:()=>HU,templateLiteral:()=>$P,symbol:()=>kJ,superRefine:()=>Cj,success:()=>eJ,stringbool:()=>OP,stringFormat:()=>QJ,string:()=>l0,strictObject:()=>uJ,startsWith:()=>B4,slugify:()=>C4,size:()=>f6,setErrorMap:()=>ZG,set:()=>lJ,safeParseAsync:()=>CE,safeParse:()=>kE,safeEncodeAsync:()=>yE,safeEncode:()=>xE,safeDecodeAsync:()=>hE,safeDecode:()=>uE,registry:()=>RU,regexes:()=>U$,regex:()=>K4,refine:()=>kj,record:()=>jj,readonly:()=>Bj,property:()=>MU,promise:()=>DP,prettifyError:()=>bI,preprocess:()=>LP,prefault:()=>Gj,positive:()=>TU,pipe:()=>uU,partialRecord:()=>nJ,parseAsync:()=>qE,parse:()=>bE,overwrite:()=>X$,optional:()=>t0,object:()=>xJ,number:()=>nE,nullish:()=>pJ,nullable:()=>o0,null:()=>tE,normalize:()=>H4,nonpositive:()=>VU,nonoptional:()=>Rj,nonnegative:()=>BU,never:()=>E1,negative:()=>FU,nativeEnum:()=>iJ,nanoid:()=>jJ,nan:()=>aJ,multipleOf:()=>W6,minSize:()=>M$,minLength:()=>l$,mime:()=>Z4,meta:()=>NP,maxSize:()=>J6,maxLength:()=>x6,map:()=>mJ,mac:()=>JJ,lte:()=>I$,lt:()=>V$,lowercase:()=>T4,looseRecord:()=>dJ,looseObject:()=>yJ,locales:()=>n0,literal:()=>tJ,length:()=>u6,lazy:()=>Hj,ksuid:()=>LJ,keyof:()=>fJ,jwt:()=>YJ,json:()=>SP,iso:()=>v4,ipv6:()=>PJ,ipv4:()=>WJ,invertCodec:()=>_P,intersection:()=>Uj,int64:()=>bJ,int32:()=>MJ,int:()=>xU,instanceof:()=>AP,includes:()=>V4,httpUrl:()=>IJ,hostname:()=>KJ,hex:()=>TJ,hash:()=>FJ,guid:()=>aW,gte:()=>c_,gt:()=>B$,globalRegistry:()=>x_,getErrorMap:()=>HG,function:()=>UP,fromJSONSchema:()=>WP,formatError:()=>r0,float64:()=>BJ,float32:()=>VJ,flattenError:()=>w0,file:()=>oJ,exactOptional:()=>Jj,enum:()=>N1,endsWith:()=>M4,encodeAsync:()=>rE,encode:()=>vE,emoji:()=>EJ,email:()=>eW,e164:()=>RJ,discriminatedUnion:()=>cJ,describe:()=>jP,decodeAsync:()=>fE,decode:()=>wE,date:()=>rJ,custom:()=>EP,cuid2:()=>AJ,cuid:()=>NJ,core:()=>i$,config:()=>b_,coerce:()=>wj,codec:()=>sJ,clone:()=>h_,cidrv6:()=>gJ,cidrv4:()=>zJ,check:()=>IP,catch:()=>Kj,boolean:()=>dE,bigint:()=>HJ,base64url:()=>GJ,base64:()=>XJ,array:()=>a0,any:()=>vJ,_function:()=>UP,_default:()=>gj,_ZodString:()=>hU,ZodXor:()=>_j,ZodXID:()=>tU,ZodVoid:()=>aE,ZodUnknown:()=>pE,ZodUnion:()=>_D,ZodUndefined:()=>lE,ZodUUID:()=>Z$,ZodURL:()=>p0,ZodULID:()=>iU,ZodType:()=>a,ZodTuple:()=>Ij,ZodTransform:()=>Lj,ZodTemplateLiteral:()=>Mj,ZodSymbol:()=>mE,ZodSuccess:()=>Yj,ZodStringFormat:()=>z_,ZodString:()=>f4,ZodSet:()=>Aj,ZodRecord:()=>w4,ZodRealError:()=>p_,ZodReadonly:()=>Vj,ZodPromise:()=>bj,ZodPreprocess:()=>Fj,ZodPrefault:()=>Xj,ZodPipe:()=>$D,ZodOptional:()=>O1,ZodObject:()=>s0,ZodNumberFormat:()=>d6,ZodNumber:()=>u4,ZodNullable:()=>Pj,ZodNull:()=>iE,ZodNonOptional:()=>S1,ZodNever:()=>eE,ZodNanoID:()=>dU,ZodNaN:()=>Tj,ZodMap:()=>Nj,ZodMAC:()=>cE,ZodLiteral:()=>Oj,ZodLazy:()=>Zj,ZodKSUID:()=>oU,ZodJWT:()=>U1,ZodIssueCode:()=>MG,ZodIntersection:()=>Dj,ZodISOTime:()=>CU,ZodISODuration:()=>vU,ZodISODateTime:()=>qU,ZodISODate:()=>kU,ZodIPv6:()=>eU,ZodIPv4:()=>pU,ZodGUID:()=>i0,ZodFunction:()=>qj,ZodFirstPartyTypeKind:()=>vj,ZodFile:()=>Sj,ZodExactOptional:()=>Wj,ZodError:()=>VG,ZodEnum:()=>r4,ZodEmoji:()=>nU,ZodEmail:()=>cU,ZodE164:()=>D1,ZodDiscriminatedUnion:()=>$j,ZodDefault:()=>zj,ZodDate:()=>e0,ZodCustomStringFormat:()=>x4,ZodCustom:()=>UD,ZodCodec:()=>DD,ZodCatch:()=>Qj,ZodCUID2:()=>lU,ZodCUID:()=>mU,ZodCIDRv6:()=>sU,ZodCIDRv4:()=>aU,ZodBoolean:()=>y4,ZodBigIntFormat:()=>I1,ZodBigInt:()=>h4,ZodBase64URL:()=>$1,ZodBase64:()=>_1,ZodArray:()=>sE,ZodAny:()=>oE,TimePrecision:()=>FE,NEVER:()=>VI,$output:()=>DE,$input:()=>UE,$brand:()=>BI});var JP=r(()=>{S$();S$();qS();S$();bU();kG();YL();wU();wU();CG();fU();HE();oW();pW();bG();b_(zU())});var vG={};x$(vG,{z:()=>rj,xor:()=>hJ,xid:()=>SJ,void:()=>wJ,uuidv7:()=>DJ,uuidv6:()=>$J,uuidv4:()=>_J,uuid:()=>sW,util:()=>q,url:()=>UJ,uppercase:()=>F4,unknown:()=>n6,union:()=>j1,undefined:()=>CJ,ulid:()=>OJ,uint64:()=>qJ,uint32:()=>ZJ,tuple:()=>Ej,trim:()=>b4,treeifyError:()=>HI,transform:()=>A1,toUpperCase:()=>k4,toLowerCase:()=>q4,toJSONSchema:()=>HU,templateLiteral:()=>$P,symbol:()=>kJ,superRefine:()=>Cj,success:()=>eJ,stringbool:()=>OP,stringFormat:()=>QJ,string:()=>l0,strictObject:()=>uJ,startsWith:()=>B4,slugify:()=>C4,size:()=>f6,setErrorMap:()=>ZG,set:()=>lJ,safeParseAsync:()=>CE,safeParse:()=>kE,safeEncodeAsync:()=>yE,safeEncode:()=>xE,safeDecodeAsync:()=>hE,safeDecode:()=>uE,registry:()=>RU,regexes:()=>U$,regex:()=>K4,refine:()=>kj,record:()=>jj,readonly:()=>Bj,property:()=>MU,promise:()=>DP,prettifyError:()=>bI,preprocess:()=>LP,prefault:()=>Gj,positive:()=>TU,pipe:()=>uU,partialRecord:()=>nJ,parseAsync:()=>qE,parse:()=>bE,overwrite:()=>X$,optional:()=>t0,object:()=>xJ,number:()=>nE,nullish:()=>pJ,nullable:()=>o0,null:()=>tE,normalize:()=>H4,nonpositive:()=>VU,nonoptional:()=>Rj,nonnegative:()=>BU,never:()=>E1,negative:()=>FU,nativeEnum:()=>iJ,nanoid:()=>jJ,nan:()=>aJ,multipleOf:()=>W6,minSize:()=>M$,minLength:()=>l$,mime:()=>Z4,meta:()=>NP,maxSize:()=>J6,maxLength:()=>x6,map:()=>mJ,mac:()=>JJ,lte:()=>I$,lt:()=>V$,lowercase:()=>T4,looseRecord:()=>dJ,looseObject:()=>yJ,locales:()=>n0,literal:()=>tJ,length:()=>u6,lazy:()=>Hj,ksuid:()=>LJ,keyof:()=>fJ,jwt:()=>YJ,json:()=>SP,iso:()=>v4,ipv6:()=>PJ,ipv4:()=>WJ,invertCodec:()=>_P,intersection:()=>Uj,int64:()=>bJ,int32:()=>MJ,int:()=>xU,instanceof:()=>AP,includes:()=>V4,httpUrl:()=>IJ,hostname:()=>KJ,hex:()=>TJ,hash:()=>FJ,guid:()=>aW,gte:()=>c_,gt:()=>B$,globalRegistry:()=>x_,getErrorMap:()=>HG,function:()=>UP,fromJSONSchema:()=>WP,formatError:()=>r0,float64:()=>BJ,float32:()=>VJ,flattenError:()=>w0,file:()=>oJ,exactOptional:()=>Jj,enum:()=>N1,endsWith:()=>M4,encodeAsync:()=>rE,encode:()=>vE,emoji:()=>EJ,email:()=>eW,e164:()=>RJ,discriminatedUnion:()=>cJ,describe:()=>jP,default:()=>WZ,decodeAsync:()=>fE,decode:()=>wE,date:()=>rJ,custom:()=>EP,cuid2:()=>AJ,cuid:()=>NJ,core:()=>i$,config:()=>b_,coerce:()=>wj,codec:()=>sJ,clone:()=>h_,cidrv6:()=>gJ,cidrv4:()=>zJ,check:()=>IP,catch:()=>Kj,boolean:()=>dE,bigint:()=>HJ,base64url:()=>GJ,base64:()=>XJ,array:()=>a0,any:()=>vJ,_function:()=>UP,_default:()=>gj,_ZodString:()=>hU,ZodXor:()=>_j,ZodXID:()=>tU,ZodVoid:()=>aE,ZodUnknown:()=>pE,ZodUnion:()=>_D,ZodUndefined:()=>lE,ZodUUID:()=>Z$,ZodURL:()=>p0,ZodULID:()=>iU,ZodType:()=>a,ZodTuple:()=>Ij,ZodTransform:()=>Lj,ZodTemplateLiteral:()=>Mj,ZodSymbol:()=>mE,ZodSuccess:()=>Yj,ZodStringFormat:()=>z_,ZodString:()=>f4,ZodSet:()=>Aj,ZodRecord:()=>w4,ZodRealError:()=>p_,ZodReadonly:()=>Vj,ZodPromise:()=>bj,ZodPreprocess:()=>Fj,ZodPrefault:()=>Xj,ZodPipe:()=>$D,ZodOptional:()=>O1,ZodObject:()=>s0,ZodNumberFormat:()=>d6,ZodNumber:()=>u4,ZodNullable:()=>Pj,ZodNull:()=>iE,ZodNonOptional:()=>S1,ZodNever:()=>eE,ZodNanoID:()=>dU,ZodNaN:()=>Tj,ZodMap:()=>Nj,ZodMAC:()=>cE,ZodLiteral:()=>Oj,ZodLazy:()=>Zj,ZodKSUID:()=>oU,ZodJWT:()=>U1,ZodIssueCode:()=>MG,ZodIntersection:()=>Dj,ZodISOTime:()=>CU,ZodISODuration:()=>vU,ZodISODateTime:()=>qU,ZodISODate:()=>kU,ZodIPv6:()=>eU,ZodIPv4:()=>pU,ZodGUID:()=>i0,ZodFunction:()=>qj,ZodFirstPartyTypeKind:()=>vj,ZodFile:()=>Sj,ZodExactOptional:()=>Wj,ZodError:()=>VG,ZodEnum:()=>r4,ZodEmoji:()=>nU,ZodEmail:()=>cU,ZodE164:()=>D1,ZodDiscriminatedUnion:()=>$j,ZodDefault:()=>zj,ZodDate:()=>e0,ZodCustomStringFormat:()=>x4,ZodCustom:()=>UD,ZodCodec:()=>DD,ZodCatch:()=>Qj,ZodCUID2:()=>lU,ZodCUID:()=>mU,ZodCIDRv6:()=>sU,ZodCIDRv4:()=>aU,ZodBoolean:()=>y4,ZodBigIntFormat:()=>I1,ZodBigInt:()=>h4,ZodBase64URL:()=>$1,ZodBase64:()=>_1,ZodArray:()=>sE,ZodAny:()=>oE,TimePrecision:()=>FE,NEVER:()=>VI,$output:()=>DE,$input:()=>UE,$brand:()=>BI});var WZ;var wG=r(()=>{JP();JP();WZ=rj});var k1=U4((Lw)=>{class zz extends Error{constructor(_,$,D){super(D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=_,this.nestedError=void 0}}class b8 extends zz{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Lw.CommanderError=zz;Lw.InvalidArgumentError=b8});var BN=U4((gw)=>{var{InvalidArgumentError:Pw}=k1();class q8{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=($,D)=>{if(!this.argChoices.includes($))throw new Pw(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,D);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function zw(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}gw.Argument=q8;gw.humanReadableArgName=zw});var gz=U4((Yw)=>{var{humanReadableArgName:Rw}=BN();class k8{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((I)=>!I._hidden),D=_._getHelpCommand();if(D&&!D._hidden)$.push(D);if(this.sortSubcommands)$.sort((I,U)=>{return I.name().localeCompare(U.name())});return $}compareOptions(_,$){let D=(I)=>{return I.short?I.short.replace(/^-/,""):I.long.replace(/^--/,"")};return D(_).localeCompare(D($))}visibleOptions(_){let $=_.options.filter((I)=>!I.hidden),D=_._getHelpOption();if(D&&!D.hidden){let I=D.short&&_._findOption(D.short),U=D.long&&_._findOption(D.long);if(!I&&!U)$.push(D);else if(D.long&&!U)$.push(_.createOption(D.long,D.description));else if(D.short&&!I)$.push(_.createOption(D.short,D.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(_){if(!this.showGlobalOptions)return[];let $=[];for(let D=_.parent;D;D=D.parent){let I=D.options.filter((U)=>!U.hidden);$.push(...I)}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((D)=>Rw(D)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((D,I)=>{return Math.max(D,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(I))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((D,I)=>{return Math.max(D,this.displayWidth($.styleOptionTerm($.optionTerm(I))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((D,I)=>{return Math.max(D,this.displayWidth($.styleOptionTerm($.optionTerm(I))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((D,I)=>{return Math.max(D,this.displayWidth($.styleArgumentTerm($.argumentTerm(I))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let D="";for(let I=_.parent;I;I=I.parent)D=I.name()+" "+D;return D+$+" "+_.usage()}commandDescription(_){return _.description()}subcommandDescription(_){return _.summary()||_.description()}optionDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((D)=>JSON.stringify(D)).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((D)=>JSON.stringify(D)).join(", ")}`);if(_.defaultValue!==void 0)$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`);if($.length>0){let D=`(${$.join(", ")})`;if(_.description)return`${_.description} ${D}`;return D}return _.description}formatHelp(_,$){let D=$.padWidth(_,$),I=$.helpWidth??80;function U(L,W){return $.formatItem(L,D,W,$)}let E=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],j=$.commandDescription(_);if(j.length>0)E=E.concat([$.boxWrap($.styleCommandDescription(j),I),""]);let N=$.visibleArguments(_).map((L)=>{return U($.styleArgumentTerm($.argumentTerm(L)),$.styleArgumentDescription($.argumentDescription(L)))});if(N.length>0)E=E.concat([$.styleTitle("Arguments:"),...N,""]);let O=$.visibleOptions(_).map((L)=>{return U($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(O.length>0)E=E.concat([$.styleTitle("Options:"),...O,""]);if($.showGlobalOptions){let L=$.visibleGlobalOptions(_).map((W)=>{return U($.styleOptionTerm($.optionTerm(W)),$.styleOptionDescription($.optionDescription(W)))});if(L.length>0)E=E.concat([$.styleTitle("Global Options:"),...L,""])}let S=$.visibleCommands(_).map((L)=>{return U($.styleSubcommandTerm($.subcommandTerm(L)),$.styleSubcommandDescription($.subcommandDescription(L)))});if(S.length>0)E=E.concat([$.styleTitle("Commands:"),...S,""]);return E.join(` -`)}displayWidth(_){return C8(_).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(_,$,D,I){let E=" ".repeat(2);if(!D)return E+_;let j=_.padEnd($+_.length-I.displayWidth(_)),N=2,S=(this.helpWidth??80)-$-N-2,L;if(S{let j=E.match(I);if(j===null){U.push("");return}let N=[j.shift()],O=this.displayWidth(N[0]);j.forEach((S)=>{let L=this.displayWidth(S);if(O+L<=$){N.push(S),O+=L;return}U.push(N.join(""));let W=S.trimStart();N=[W],O=this.displayWidth(W)}),U.push(N.join(""))}),U.join(` -`)}}function C8(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}Yw.Help=k8;Yw.stripColor=C8});var Xz=U4((Vw)=>{var{InvalidArgumentError:Tw}=k1();class w8{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let D=Fw(_);if(this.short=D.shortFlag,this.long=D.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=($,D)=>{if(!this.argChoices.includes($))throw new Tw(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,D);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return v8(this.name().replace(/^no-/,""));return v8(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class r8{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(($,D)=>{if(this.positiveOptions.has(D))this.dualOptions.add(D)})}valueFromOption(_,$){let D=$.attributeName();if(!this.dualOptions.has(D))return!0;let I=this.negativeOptions.get(D).presetArg,U=I!==void 0?I:!1;return $.negate===(U===_)}}function v8(_){return _.split("-").reduce(($,D)=>{return $+D[0].toUpperCase()+D.slice(1)})}function Fw(_){let $,D,I=/^-[^-]$/,U=/^--[^-]/,E=_.split(/[ |,]+/).concat("guard");if(I.test(E[0]))$=E.shift();if(U.test(E[0]))D=E.shift();if(!$&&I.test(E[0]))$=E.shift();if(!$&&U.test(E[0]))$=D,D=E.shift();if(E[0].startsWith("-")){let j=E[0],N=`option creation failed due to '${j}' in option flags '${_}'`;if(/^-[^-][^-]/.test(j))throw Error(`${N} +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let E of _.seen.entries()){let I=E[1];if($===E[0]){N(E);continue}if(_.external){let J=_.external.registry.get(E[0])?.id;if($!==E[0]&&J){N(E);continue}}if(_.metadataRegistry.get(E[0])?.id){N(E);continue}if(I.cycle){N(E);continue}if(I.count>1){if(_.reused==="ref"){N(E);continue}}}}function e6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let j=(I)=>{let W=_.seen.get(I);if(W.ref===null)return;let J=W.def??W.schema,L={...J},S=W.ref;if(W.ref=null,S){j(S);let z=_.seen.get(S),R=z.schema;if(R.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))J.allOf=J.allOf??[],J.allOf.push(R);else Object.assign(J,R);if(Object.assign(J,L),I._zod.parent===S)for(let O in J){if(O==="$ref"||O==="allOf")continue;if(!(O in L))delete J[O]}if(R.$ref&&z.def)for(let O in J){if(O==="$ref"||O==="allOf")continue;if(O in z.def&&JSON.stringify(J[O])===JSON.stringify(z.def[O]))delete J[O]}}let X=I._zod.parent;if(X&&X!==S){j(X);let z=_.seen.get(X);if(z?.schema.$ref){if(J.$ref=z.schema.$ref,z.def)for(let R in J){if(R==="$ref"||R==="allOf")continue;if(R in z.def&&JSON.stringify(J[R])===JSON.stringify(z.def[R]))delete J[R]}}}_.override({zodSchema:I,jsonSchema:J,path:W.path??[]})};for(let I of[..._.seen.entries()].reverse())j(I[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 I=_.external.registry.get($)?.id;if(!I)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(I)}Object.assign(D,U.def??U.schema);let N=_.metadataRegistry.get($)?.id;if(N!==void 0&&D.id===N)delete D.id;let E=_.external?.defs??{};for(let I of _.seen.entries()){let W=I[1];if(W.def&&W.defId){if(W.def.id===W.defId)delete W.def.id;E[W.defId]=W.def}}if(_.external);else if(Object.keys(E).length>0)if(_.target==="draft-2020-12")D.$defs=E;else D.definitions=E;try{let I=JSON.parse(JSON.stringify(D));return Object.defineProperty(I,"~standard",{value:{...$["~standard"],jsonSchema:{input:DU($,"input",_.processors),output:DU($,"output",_.processors)}},enumerable:!1,writable:!1}),I}catch(I){throw Error("Error converting schema to JSON.")}}function $$(_,$){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 $$(j.element,U);if(j.type==="set")return $$(j.valueType,U);if(j.type==="lazy")return $$(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 $$(j.innerType,U);if(j.type==="intersection")return $$(j.left,U)||$$(j.right,U);if(j.type==="record"||j.type==="map")return $$(j.keyType,U)||$$(j.valueType,U);if(j.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return $$(j.in,U)||$$(j.out,U)}if(j.type==="object"){for(let D in j.shape)if($$(j.shape[D],U))return!0;return!1}if(j.type==="union"){for(let D of j.options)if($$(D,U))return!0;return!1}if(j.type==="tuple"){for(let D of j.items)if($$(D,U))return!0;if(j.rest&&$$(j.rest,U))return!0;return!1}return!1}var wS=(_,$={})=>(U)=>{let j=p6({...U,processors:$});return P_(_,j),a6(j,_),e6(j,_)},DU=(_,$,U={})=>(j)=>{let{libraryOptions:D,target:N}=j??{},E=p6({...D??{},target:N,io:$,processors:U});return P_(_,E),a6(E,_),e6(E,_)};var dD=f(()=>{xD()});function lD(_,$){if("_idmap"in _){let j=_,D=p6({...$,processors:lN}),N={};for(let W of j._idmap.entries()){let[J,L]=W;P_(L,D)}let E={},I={registry:j,uri:$?.uri,defs:N};D.external=I;for(let W of j._idmap.entries()){let[J,L]=W;a6(D,L),E[J]=e6(D,L)}if(Object.keys(N).length>0){let W=D.target==="draft-2020-12"?"$defs":"definitions";E.__shared={[W]:N}}return{schemas:E}}let U=p6({...$,processors:lN});return P_(_,U),a6(U,_),e6(U,_)}var zH,vS=(_,$,U,j)=>{let D=U;D.type="string";let{minimum:N,maximum:E,format:I,patterns:W,contentEncoding:J}=_._zod.bag;if(typeof N==="number")D.minLength=N;if(typeof E==="number")D.maxLength=E;if(I){if(D.format=zH[I]??I,D.format==="")delete D.format;if(I==="time")delete D.format}if(J)D.contentEncoding=J;if(W&&W.size>0){let L=[...W];if(L.length===1)D.pattern=L[0].source;else if(L.length>1)D.allOf=[...L.map((S)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:S.source}))]}},fS=(_,$,U,j)=>{let D=U,{minimum:N,maximum:E,format:I,multipleOf:W,exclusiveMaximum:J,exclusiveMinimum:L}=_._zod.bag;if(typeof I==="string"&&I.includes("int"))D.type="integer";else D.type="number";let S=typeof L==="number"&&L>=(N??Number.NEGATIVE_INFINITY),X=typeof J==="number"&&J<=(E??Number.POSITIVE_INFINITY),z=$.target==="draft-04"||$.target==="openapi-3.0";if(S)if(z)D.minimum=L,D.exclusiveMinimum=!0;else D.exclusiveMinimum=L;else if(typeof N==="number")D.minimum=N;if(X)if(z)D.maximum=J,D.exclusiveMaximum=!0;else D.exclusiveMaximum=J;else if(typeof E==="number")D.maximum=E;if(typeof W==="number")D.multipleOf=W},xS=(_,$,U,j)=>{U.type="boolean"},yS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},uS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},hS=(_,$,U,j)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},rS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},cS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},mS=(_,$,U,j)=>{U.not={}},nS=(_,$,U,j)=>{},dS=(_,$,U,j)=>{},lS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},iS=(_,$,U,j)=>{let D=_._zod.def,N=GD(D.entries);if(N.every((E)=>typeof E==="number"))U.type="number";if(N.every((E)=>typeof E==="string"))U.type="string";U.enum=N},tS=(_,$,U,j)=>{let D=_._zod.def,N=[];for(let E of D.values)if(E===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof E==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else N.push(Number(E));else N.push(E);if(N.length===0);else if(N.length===1){let E=N[0];if(U.type=E===null?"null":typeof E,$.target==="draft-04"||$.target==="openapi-3.0")U.enum=[E];else U.const=E}else{if(N.every((E)=>typeof E==="number"))U.type="number";if(N.every((E)=>typeof E==="string"))U.type="string";if(N.every((E)=>typeof E==="boolean"))U.type="boolean";if(N.every((E)=>E===null))U.type="null";U.enum=N}},oS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},pS=(_,$,U,j)=>{let D=U,N=_._zod.pattern;if(!N)throw Error("Pattern not found in template literal");D.type="string",D.pattern=N.source},aS=(_,$,U,j)=>{let D=U,N={type:"string",format:"binary",contentEncoding:"binary"},{minimum:E,maximum:I,mime:W}=_._zod.bag;if(E!==void 0)N.minLength=E;if(I!==void 0)N.maxLength=I;if(W)if(W.length===1)N.contentMediaType=W[0],Object.assign(D,N);else Object.assign(D,N),D.anyOf=W.map((J)=>({contentMediaType:J}));else Object.assign(D,N)},eS=(_,$,U,j)=>{U.type="boolean"},sS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},_P=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},$P=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},UP=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},DP=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},jP=(_,$,U,j)=>{let D=U,N=_._zod.def,{minimum:E,maximum:I}=_._zod.bag;if(typeof E==="number")D.minItems=E;if(typeof I==="number")D.maxItems=I;D.type="array",D.items=P_(N.element,$,{...j,path:[...j.path,"items"]})},NP=(_,$,U,j)=>{let D=U,N=_._zod.def;D.type="object",D.properties={};let E=N.shape;for(let J in E)D.properties[J]=P_(E[J],$,{...j,path:[...j.path,"properties",J]});let I=new Set(Object.keys(E)),W=new Set([...I].filter((J)=>{let L=N.shape[J]._zod;if($.io==="input")return L.optin===void 0;else return L.optout===void 0}));if(W.size>0)D.required=Array.from(W);if(N.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!N.catchall){if($.io==="output")D.additionalProperties=!1}else if(N.catchall)D.additionalProperties=P_(N.catchall,$,{...j,path:[...j.path,"additionalProperties"]})},iN=(_,$,U,j)=>{let D=_._zod.def,N=D.inclusive===!1,E=D.options.map((I,W)=>P_(I,$,{...j,path:[...j.path,N?"oneOf":"anyOf",W]}));if(N)U.oneOf=E;else U.anyOf=E},EP=(_,$,U,j)=>{let D=_._zod.def,N=P_(D.left,$,{...j,path:[...j.path,"allOf",0]}),E=P_(D.right,$,{...j,path:[...j.path,"allOf",1]}),I=(J)=>("allOf"in J)&&Object.keys(J).length===1,W=[...I(N)?N.allOf:[N],...I(E)?E.allOf:[E]];U.allOf=W},IP=(_,$,U,j)=>{let D=U,N=_._zod.def;D.type="array";let E=$.target==="draft-2020-12"?"prefixItems":"items",I=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",W=N.items.map((X,z)=>P_(X,$,{...j,path:[...j.path,E,z]})),J=N.rest?P_(N.rest,$,{...j,path:[...j.path,I,...$.target==="openapi-3.0"?[N.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=W,J)D.items=J}else if($.target==="openapi-3.0"){if(D.items={anyOf:W},J)D.items.anyOf.push(J);if(D.minItems=W.length,!J)D.maxItems=W.length}else if(D.items=W,J)D.additionalItems=J;let{minimum:L,maximum:S}=_._zod.bag;if(typeof L==="number")D.minItems=L;if(typeof S==="number")D.maxItems=S},AP=(_,$,U,j)=>{let D=U,N=_._zod.def;D.type="object";let E=N.keyType,W=E._zod.bag?.patterns;if(N.mode==="loose"&&W&&W.size>0){let L=P_(N.valueType,$,{...j,path:[...j.path,"patternProperties","*"]});D.patternProperties={};for(let S of W)D.patternProperties[S.source]=L}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=P_(N.keyType,$,{...j,path:[...j.path,"propertyNames"]});D.additionalProperties=P_(N.valueType,$,{...j,path:[...j.path,"additionalProperties"]})}let J=E._zod.values;if(J){let L=[...J].filter((S)=>typeof S==="string"||typeof S==="number");if(L.length>0)D.required=L}},WP=(_,$,U,j)=>{let D=_._zod.def,N=P_(D.innerType,$,j),E=$.seen.get(_);if($.target==="openapi-3.0")E.ref=D.innerType,U.nullable=!0;else U.anyOf=[N,{type:"null"}]},JP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType},LP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},SP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);if(N.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},PP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType;let E;try{E=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=E},OP=(_,$,U,j)=>{let D=_._zod.def,N=D.in._zod.traits.has("$ZodTransform"),E=$.io==="input"?N?D.out:D.in:D.out;P_(E,$,j);let I=$.seen.get(_);I.ref=E},zP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType,U.readOnly=!0},XP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType},tN=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType},YP=(_,$,U,j)=>{let D=_._zod.innerType;P_(D,$,j);let N=$.seen.get(_);N.ref=D},lN;var iD=f(()=>{dD();m();zH={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},lN={string:vS,number:fS,boolean:xS,bigint:yS,symbol:uS,null:hS,undefined:rS,void:cS,never:mS,any:nS,unknown:dS,date:lS,enum:iS,literal:tS,nan:oS,template_literal:pS,file:aS,success:eS,custom:sS,function:_P,transform:$P,map:UP,set:DP,array:jP,object:NP,union:iN,intersection:EP,tuple:IP,record:AP,nullable:WP,nonoptional:JP,default:LP,prefault:SP,catch:PP,pipe:OP,readonly:zP,promise:XP,optional:tN,lazy:YP}});class RP{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=p6({processors:lN,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return P_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}a6(this.ctx,_);let U=e6(this.ctx,_),{"~standard":j,...D}=U;return D}}var WY=f(()=>{iD();dD()});var JY={};var LY=()=>{};var $6={};l$($6,{version:()=>xW,util:()=>k,treeifyError:()=>pj,toJSONSchema:()=>lD,toDotPath:()=>v9,safeParseAsync:()=>cA,safeParse:()=>rA,safeEncodeAsync:()=>RM,safeEncode:()=>XM,safeDecodeAsync:()=>QM,safeDecode:()=>YM,registry:()=>fD,regexes:()=>W$,process:()=>P_,prettifyError:()=>aj,parseAsync:()=>sj,parse:()=>ej,meta:()=>CS,locales:()=>$U,isValidJWT:()=>D8,isValidBase64URL:()=>U8,isValidBase64:()=>EJ,initializeContext:()=>p6,globalRegistry:()=>m_,globalConfig:()=>M4,formatError:()=>t0,flattenError:()=>i0,finalize:()=>e6,extractDefs:()=>a6,encodeAsync:()=>OM,encode:()=>SM,describe:()=>kS,decodeAsync:()=>zM,decode:()=>PM,createToJSONSchemaMethod:()=>wS,createStandardJSONSchemaMethod:()=>DU,config:()=>C_,clone:()=>i_,_xor:()=>iZ,_xid:()=>vN,_void:()=>VS,_uuidv7:()=>HN,_uuidv6:()=>ZN,_uuidv4:()=>MN,_uuid:()=>gN,_url:()=>uD,_uppercase:()=>v4,_unknown:()=>GS,_union:()=>lZ,_undefined:()=>YS,_ulid:()=>wN,_uint64:()=>zS,_uint32:()=>WS,_tuple:()=>pZ,_trim:()=>r4,_transform:()=>DH,_toUpperCase:()=>m4,_toLowerCase:()=>c4,_templateLiteral:()=>SH,_symbol:()=>XS,_superRefine:()=>qS,_success:()=>AH,_stringbool:()=>bS,_stringFormat:()=>UU,_string:()=>pL,_startsWith:()=>x4,_slugify:()=>n4,_size:()=>i6,_set:()=>sZ,_safeParseAsync:()=>e0,_safeParse:()=>a0,_safeEncodeAsync:()=>EN,_safeEncode:()=>jN,_safeDecodeAsync:()=>IN,_safeDecode:()=>NN,_regex:()=>b4,_refine:()=>HS,_record:()=>aZ,_readonly:()=>LH,_property:()=>nD,_promise:()=>OH,_positive:()=>hD,_pipe:()=>JH,_parseAsync:()=>p0,_parse:()=>o0,_overwrite:()=>K$,_optional:()=>jH,_number:()=>DS,_nullable:()=>NH,_null:()=>RS,_normalize:()=>h4,_nonpositive:()=>cD,_nonoptional:()=>IH,_nonnegative:()=>mD,_never:()=>TS,_negative:()=>rD,_nativeEnum:()=>$H,_nanoid:()=>kN,_nan:()=>KS,_multipleOf:()=>V6,_minSize:()=>v$,_minLength:()=>_6,_min:()=>t_,_mime:()=>u4,_maxSize:()=>B6,_maxLength:()=>t6,_max:()=>J$,_map:()=>eZ,_mac:()=>eL,_lte:()=>J$,_lt:()=>b$,_lowercase:()=>w4,_literal:()=>UH,_length:()=>o6,_lazy:()=>PH,_ksuid:()=>fN,_jwt:()=>nN,_isoTime:()=>$S,_isoDuration:()=>US,_isoDateTime:()=>sL,_isoDate:()=>_S,_ipv6:()=>yN,_ipv4:()=>xN,_intersection:()=>oZ,_int64:()=>OS,_int32:()=>AS,_int:()=>NS,_includes:()=>f4,_guid:()=>yD,_gte:()=>t_,_gt:()=>w$,_float64:()=>IS,_float32:()=>ES,_file:()=>MS,_enum:()=>_H,_endsWith:()=>y4,_encodeAsync:()=>UN,_encode:()=>_N,_emoji:()=>qN,_email:()=>KN,_e164:()=>mN,_discriminatedUnion:()=>tZ,_default:()=>EH,_decodeAsync:()=>DN,_decode:()=>$N,_date:()=>BS,_custom:()=>ZS,_cuid2:()=>bN,_cuid:()=>CN,_coercedString:()=>aL,_coercedNumber:()=>jS,_coercedDate:()=>FS,_coercedBoolean:()=>LS,_coercedBigint:()=>PS,_cidrv6:()=>hN,_cidrv4:()=>uN,_check:()=>IY,_catch:()=>WH,_boolean:()=>JS,_bigint:()=>SS,_base64url:()=>cN,_base64:()=>rN,_array:()=>gS,_any:()=>QS,TimePrecision:()=>dN,NEVER:()=>lj,JSONSchemaGenerator:()=>RP,JSONSchema:()=>JY,Doc:()=>PN,$output:()=>BN,$input:()=>FN,$constructor:()=>V,$brand:()=>ij,$ZodXor:()=>FJ,$ZodXID:()=>oW,$ZodVoid:()=>GJ,$ZodUnknown:()=>RJ,$ZodUnion:()=>qD,$ZodUndefined:()=>zJ,$ZodUUID:()=>rW,$ZodURL:()=>mW,$ZodULID:()=>tW,$ZodType:()=>p,$ZodTuple:()=>GN,$ZodTransform:()=>bJ,$ZodTemplateLiteral:()=>nJ,$ZodSymbol:()=>OJ,$ZodSuccess:()=>uJ,$ZodStringFormat:()=>T_,$ZodString:()=>C4,$ZodSet:()=>HJ,$ZodRegistry:()=>oL,$ZodRecord:()=>MJ,$ZodRealError:()=>A$,$ZodReadonly:()=>mJ,$ZodPromise:()=>lJ,$ZodPreprocess:()=>cJ,$ZodPrefault:()=>xJ,$ZodPipe:()=>VN,$ZodOptional:()=>TN,$ZodObjectJIT:()=>BJ,$ZodObject:()=>E8,$ZodNumberFormat:()=>SJ,$ZodNumber:()=>RN,$ZodNullable:()=>vJ,$ZodNull:()=>XJ,$ZodNonOptional:()=>yJ,$ZodNever:()=>QJ,$ZodNanoID:()=>dW,$ZodNaN:()=>rJ,$ZodMap:()=>ZJ,$ZodMAC:()=>DJ,$ZodLiteral:()=>kJ,$ZodLazy:()=>iJ,$ZodKSUID:()=>pW,$ZodJWT:()=>JJ,$ZodIntersection:()=>gJ,$ZodISOTime:()=>sW,$ZodISODuration:()=>_J,$ZodISODateTime:()=>aW,$ZodISODate:()=>eW,$ZodIPv6:()=>UJ,$ZodIPv4:()=>$J,$ZodGUID:()=>hW,$ZodFunction:()=>dJ,$ZodFile:()=>CJ,$ZodExactOptional:()=>wJ,$ZodError:()=>KD,$ZodEnum:()=>qJ,$ZodEncodeError:()=>Z4,$ZodEmoji:()=>nW,$ZodEmail:()=>cW,$ZodE164:()=>WJ,$ZodDiscriminatedUnion:()=>KJ,$ZodDefault:()=>fJ,$ZodDate:()=>TJ,$ZodCustomStringFormat:()=>LJ,$ZodCustom:()=>tJ,$ZodCodec:()=>kD,$ZodCheckUpperCase:()=>qW,$ZodCheckStringFormat:()=>s0,$ZodCheckStartsWith:()=>CW,$ZodCheckSizeEquals:()=>FW,$ZodCheckRegex:()=>ZW,$ZodCheckProperty:()=>wW,$ZodCheckOverwrite:()=>fW,$ZodCheckNumberFormat:()=>GW,$ZodCheckMultipleOf:()=>QW,$ZodCheckMinSize:()=>BW,$ZodCheckMinLength:()=>gW,$ZodCheckMimeType:()=>vW,$ZodCheckMaxSize:()=>VW,$ZodCheckMaxLength:()=>KW,$ZodCheckLowerCase:()=>HW,$ZodCheckLessThan:()=>JN,$ZodCheckLengthEquals:()=>MW,$ZodCheckIncludes:()=>kW,$ZodCheckGreaterThan:()=>LN,$ZodCheckEndsWith:()=>bW,$ZodCheckBigIntFormat:()=>TW,$ZodCheck:()=>V_,$ZodCatch:()=>hJ,$ZodCUID2:()=>iW,$ZodCUID:()=>lW,$ZodCIDRv6:()=>NJ,$ZodCIDRv4:()=>jJ,$ZodBoolean:()=>HD,$ZodBigIntFormat:()=>PJ,$ZodBigInt:()=>QN,$ZodBase64URL:()=>AJ,$ZodBase64:()=>IJ,$ZodAsyncError:()=>s$,$ZodArray:()=>VJ,$ZodAny:()=>YJ});var X$=f(()=>{m();WN();tL();iD();WY();LY();H4();mA();hA();oJ();SN();yW();xD();AY();dD()});var oN={};l$(oN,{uppercase:()=>v4,trim:()=>r4,toUpperCase:()=>m4,toLowerCase:()=>c4,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,regex:()=>b4,property:()=>nD,positive:()=>hD,overwrite:()=>K$,normalize:()=>h4,nonpositive:()=>cD,nonnegative:()=>mD,negative:()=>rD,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,maxSize:()=>B6,maxLength:()=>t6,lte:()=>J$,lt:()=>b$,lowercase:()=>w4,length:()=>o6,includes:()=>f4,gte:()=>t_,gt:()=>w$,endsWith:()=>y4});var pN=f(()=>{X$()});var d4={};l$(d4,{time:()=>TP,duration:()=>VP,datetime:()=>QP,date:()=>GP,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD});function QP(_){return sL(tD,_)}function GP(_){return _S(oD,_)}function TP(_){return $S(pD,_)}function VP(_){return US(aD,_)}var tD,oD,pD,aD;var eD=f(()=>{X$();_1();tD=V("ZodISODateTime",(_,$)=>{aW.init(_,$),X_.init(_,$)});oD=V("ZodISODate",(_,$)=>{eW.init(_,$),X_.init(_,$)});pD=V("ZodISOTime",(_,$)=>{sW.init(_,$),X_.init(_,$)});aD=V("ZodISODuration",(_,$)=>{_J.init(_,$),X_.init(_,$)})});var SY=(_,$)=>{KD.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>t0(_,U)},flatten:{value:(U)=>i0(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,n0,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,n0,2)}},isEmpty:{get(){return _.issues.length===0}}})},PY,U$;var BP=f(()=>{X$();X$();m();PY=V("ZodError",SY),U$=V("ZodError",SY,{Parent:Error})});var aN,eN,sN,_E,$E,UE,DE,jE,NE,EE,IE,AE;var FP=f(()=>{X$();BP();aN=o0(U$),eN=p0(U$),sN=a0(U$),_E=e0(U$),$E=_N(U$),UE=$N(U$),DE=UN(U$),jE=DN(U$),NE=jN(U$),EE=NN(U$),IE=EN(U$),AE=IN(U$)});var sD={};l$(sD,{xor:()=>zO,xid:()=>yP,void:()=>WO,uuidv7:()=>qP,uuidv6:()=>HP,uuidv4:()=>ZP,uuid:()=>MP,url:()=>kP,unknown:()=>s6,union:()=>B1,undefined:()=>IO,ulid:()=>xP,uint64:()=>NO,uint32:()=>UO,tuple:()=>gE,transform:()=>K1,templateLiteral:()=>HO,symbol:()=>EO,superRefine:()=>_I,success:()=>KO,stringbool:()=>xO,stringFormat:()=>oP,string:()=>jU,strictObject:()=>PO,set:()=>GO,refine:()=>sE,record:()=>ME,readonly:()=>iE,promise:()=>qO,preprocess:()=>uO,prefault:()=>uE,pipe:()=>U1,partialRecord:()=>YO,optional:()=>EU,object:()=>SO,number:()=>JE,nullish:()=>FO,nullable:()=>IU,null:()=>zE,nonoptional:()=>hE,never:()=>V1,nativeEnum:()=>TO,nanoid:()=>wP,nan:()=>gO,meta:()=>vO,map:()=>QO,mac:()=>rP,looseRecord:()=>RO,looseObject:()=>OO,literal:()=>VO,lazy:()=>pE,ksuid:()=>uP,keyof:()=>LO,jwt:()=>tP,json:()=>yO,ipv6:()=>cP,ipv4:()=>hP,invertCodec:()=>ZO,intersection:()=>FE,int64:()=>jO,int32:()=>$O,int:()=>$1,instanceof:()=>fO,httpUrl:()=>CP,hostname:()=>pP,hex:()=>aP,hash:()=>eP,guid:()=>gP,function:()=>kO,float64:()=>_O,float32:()=>sP,file:()=>BO,exactOptional:()=>wE,enum:()=>F1,emoji:()=>bP,email:()=>KP,e164:()=>iP,discriminatedUnion:()=>XO,describe:()=>wO,date:()=>JO,custom:()=>bO,cuid2:()=>fP,cuid:()=>vP,codec:()=>MO,cidrv6:()=>nP,cidrv4:()=>mP,check:()=>CO,catch:()=>mE,boolean:()=>LE,bigint:()=>DO,base64url:()=>lP,base64:()=>dP,array:()=>JU,any:()=>AO,_function:()=>kO,_default:()=>xE,_ZodString:()=>j1,ZodXor:()=>TE,ZodXID:()=>L1,ZodVoid:()=>QE,ZodUnknown:()=>YE,ZodUnion:()=>SU,ZodUndefined:()=>PE,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>KE,ZodTransform:()=>CE,ZodTemplateLiteral:()=>tE,ZodSymbol:()=>SE,ZodSuccess:()=>rE,ZodStringFormat:()=>X_,ZodString:()=>t4,ZodSet:()=>HE,ZodRecord:()=>l4,ZodReadonly:()=>lE,ZodPromise:()=>aE,ZodPreprocess:()=>dE,ZodPrefault:()=>yE,ZodPipe:()=>PU,ZodOptional:()=>g1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>vE,ZodNull:()=>OE,ZodNonOptional:()=>M1,ZodNever:()=>RE,ZodNanoID:()=>I1,ZodNaN:()=>nE,ZodMap:()=>ZE,ZodMAC:()=>WE,ZodLiteral:()=>qE,ZodLazy:()=>oE,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIntersection:()=>BE,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>NU,ZodFunction:()=>eE,ZodFile:()=>kE,ZodExactOptional:()=>bE,ZodEnum:()=>i4,ZodEmoji:()=>E1,ZodEmail:()=>N1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>VE,ZodDefault:()=>fE,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>cE,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>R1,ZodBase64:()=>Y1,ZodArray:()=>GE,ZodAny:()=>XE});function D1(_,$,U){let j=Object.getPrototypeOf(_),D=OY.get(j);if(!D)D=new Set,OY.set(j,D);if(D.has($))return;D.add($);for(let N in U){let E=U[N];Object.defineProperty(j,N,{configurable:!0,enumerable:!1,get(){let I=E.bind(this);return Object.defineProperty(this,N,{configurable:!0,writable:!0,enumerable:!0,value:I}),I},set(I){Object.defineProperty(this,N,{configurable:!0,writable:!0,enumerable:!0,value:I})}})}}function jU(_){return pL(t4,_)}function KP(_){return KN(N1,_)}function gP(_){return yD(NU,_)}function MP(_){return gN(f$,_)}function ZP(_){return MN(f$,_)}function HP(_){return ZN(f$,_)}function qP(_){return HN(f$,_)}function kP(_){return uD(AU,_)}function CP(_){return uD(AU,{protocol:W$.httpProtocol,hostname:W$.domain,...k.normalizeParams(_)})}function bP(_){return qN(E1,_)}function wP(_){return kN(I1,_)}function vP(_){return CN(A1,_)}function fP(_){return bN(W1,_)}function xP(_){return wN(J1,_)}function yP(_){return vN(L1,_)}function uP(_){return fN(S1,_)}function hP(_){return xN(P1,_)}function rP(_){return eL(WE,_)}function cP(_){return yN(O1,_)}function mP(_){return uN(z1,_)}function nP(_){return hN(X1,_)}function dP(_){return rN(Y1,_)}function lP(_){return cN(R1,_)}function iP(_){return mN(Q1,_)}function tP(_){return nN(G1,_)}function oP(_,$,U={}){return UU(o4,_,$,U)}function pP(_){return UU(o4,"hostname",W$.hostname,_)}function aP(_){return UU(o4,"hex",W$.hex,_)}function eP(_,$){let U=$?.enc??"hex",j=`${_}_${U}`,D=W$[j];if(!D)throw Error(`Unrecognized hash format: ${j}`);return UU(o4,j,D,$)}function JE(_){return DS(p4,_)}function $1(_){return NS(_4,_)}function sP(_){return ES(_4,_)}function _O(_){return IS(_4,_)}function $O(_){return AS(_4,_)}function UO(_){return WS(_4,_)}function LE(_){return JS(a4,_)}function DO(_){return SS(e4,_)}function jO(_){return OS(T1,_)}function NO(_){return zS(T1,_)}function EO(_){return XS(SE,_)}function IO(_){return YS(PE,_)}function zE(_){return RS(OE,_)}function AO(){return QS(XE)}function s6(){return GS(YE)}function V1(_){return TS(RE,_)}function WO(_){return VS(QE,_)}function JO(_){return BS(WU,_)}function JU(_,$){return gS(GE,_,$)}function LO(_){let $=_._zod.def.shape;return F1(Object.keys($))}function SO(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new LU(U)}function PO(_,$){return new LU({type:"object",shape:_,catchall:V1(),...k.normalizeParams($)})}function OO(_,$){return new LU({type:"object",shape:_,catchall:s6(),...k.normalizeParams($)})}function B1(_,$){return new SU({type:"union",options:_,...k.normalizeParams($)})}function zO(_,$){return new TE({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function XO(_,$,U){return new VE({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function FE(_,$){return new BE({type:"intersection",left:_,right:$})}function gE(_,$,U){let j=$ instanceof p,D=j?U:$;return new KE({type:"tuple",items:_,rest:j?$:null,...k.normalizeParams(D)})}function ME(_,$,U){if(!$||!$._zod)return new l4({type:"record",keyType:jU(),valueType:_,...k.normalizeParams($)});return new l4({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function YO(_,$,U){let j=i_(_);return j._zod.values=void 0,new l4({type:"record",keyType:j,valueType:$,...k.normalizeParams(U)})}function RO(_,$,U){return new l4({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function QO(_,$,U){return new ZE({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function GO(_,$){return new HE({type:"set",valueType:_,...k.normalizeParams($)})}function F1(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((j)=>[j,j])):_;return new i4({type:"enum",entries:U,...k.normalizeParams($)})}function TO(_,$){return new i4({type:"enum",entries:_,...k.normalizeParams($)})}function VO(_,$){return new qE({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function BO(_){return MS(kE,_)}function K1(_){return new CE({type:"transform",transform:_})}function EU(_){return new g1({type:"optional",innerType:_})}function wE(_){return new bE({type:"optional",innerType:_})}function IU(_){return new vE({type:"nullable",innerType:_})}function FO(_){return EU(IU(_))}function xE(_,$){return new fE({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function uE(_,$){return new yE({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function hE(_,$){return new M1({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function KO(_){return new rE({type:"success",innerType:_})}function mE(_,$){return new cE({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function gO(_){return KS(nE,_)}function U1(_,$){return new PU({type:"pipe",in:_,out:$})}function MO(_,$,U){return new OU({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function ZO(_){let $=_._zod.def;return new OU({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function iE(_){return new lE({type:"readonly",innerType:_})}function HO(_,$){return new tE({type:"template_literal",parts:_,...k.normalizeParams($)})}function pE(_){return new oE({type:"lazy",getter:_})}function qO(_){return new aE({type:"promise",innerType:_})}function kO(_){return new eE({type:"function",input:Array.isArray(_?.input)?gE(_?.input):_?.input??JU(s6()),output:_?.output??s6()})}function CO(_){let $=new V_({check:"custom"});return $._zod.check=_,$}function bO(_,$){return ZS(zU,_??(()=>!0),$)}function sE(_,$={}){return HS(zU,_,$)}function _I(_,$){return qS(_,$)}function fO(_,$={}){let U=new zU({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 yO(_){let $=pE(()=>{return B1([jU(_),JE(),LE(),zE(),JU($),ME(jU(),$)])});return $}function uO(_,$){return new dE({type:"pipe",in:K1(_),out:$})}var OY,e,j1,t4,X_,N1,NU,f$,AU,E1,I1,A1,W1,J1,L1,S1,P1,WE,O1,z1,X1,Y1,R1,Q1,G1,o4,p4,_4,a4,e4,T1,SE,PE,OE,XE,YE,RE,QE,WU,GE,LU,SU,TE,VE,BE,KE,l4,ZE,HE,i4,qE,kE,CE,g1,bE,vE,fE,yE,M1,rE,cE,nE,PU,OU,dE,lE,tE,oE,aE,eE,zU,wO,vO,xO=(..._)=>bS({Codec:OU,Boolean:a4,String:t4},..._);var _1=f(()=>{X$();X$();iD();dD();pN();eD();FP();OY=new WeakMap;e=V("ZodType",(_,$)=>{return p.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:DU(_,"input"),output:DU(_,"output")}}),_.toJSONSchema=wS(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,j)=>aN(_,U,j,{callee:_.parse}),_.safeParse=(U,j)=>sN(_,U,j),_.parseAsync=async(U,j)=>eN(_,U,j,{callee:_.parseAsync}),_.safeParseAsync=async(U,j)=>_E(_,U,j),_.spa=_.safeParseAsync,_.encode=(U,j)=>$E(_,U,j),_.decode=(U,j)=>UE(_,U,j),_.encodeAsync=async(U,j)=>DE(_,U,j),_.decodeAsync=async(U,j)=>jE(_,U,j),_.safeEncode=(U,j)=>NE(_,U,j),_.safeDecode=(U,j)=>EE(_,U,j),_.safeEncodeAsync=async(U,j)=>IE(_,U,j),_.safeDecodeAsync=async(U,j)=>AE(_,U,j),D1(_,"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 i_(this,U,j)},brand(){return this},register(U,j){return U.add(this,j),this},refine(U,j){return this.check(sE(U,j))},superRefine(U,j){return this.check(_I(U,j))},overwrite(U){return this.check(K$(U))},optional(){return EU(this)},exactOptional(){return wE(this)},nullable(){return IU(this)},nullish(){return EU(IU(this))},nonoptional(U){return hE(this,U)},array(){return JU(this)},or(U){return B1([this,U])},and(U){return FE(this,U)},transform(U){return U1(this,K1(U))},default(U){return xE(this,U)},prefault(U){return uE(this,U)},catch(U){return mE(this,U)},pipe(U){return U1(this,U)},readonly(){return iE(this)},describe(U){let j=this.clone();return m_.add(j,{description:U}),j},meta(...U){if(U.length===0)return m_.get(this);let j=this.clone();return m_.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 m_.get(_)?.description},configurable:!0}),_}),j1=V("_ZodString",(_,$)=>{C4.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>vS(_,j,D,N);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,D1(_,"_ZodString",{regex(...j){return this.check(b4(...j))},includes(...j){return this.check(f4(...j))},startsWith(...j){return this.check(x4(...j))},endsWith(...j){return this.check(y4(...j))},min(...j){return this.check(_6(...j))},max(...j){return this.check(t6(...j))},length(...j){return this.check(o6(...j))},nonempty(...j){return this.check(_6(1,...j))},lowercase(j){return this.check(w4(j))},uppercase(j){return this.check(v4(j))},trim(){return this.check(r4())},normalize(...j){return this.check(h4(...j))},toLowerCase(){return this.check(c4())},toUpperCase(){return this.check(m4())},slugify(){return this.check(n4())}})}),t4=V("ZodString",(_,$)=>{C4.init(_,$),j1.init(_,$),_.email=(U)=>_.check(KN(N1,U)),_.url=(U)=>_.check(uD(AU,U)),_.jwt=(U)=>_.check(nN(G1,U)),_.emoji=(U)=>_.check(qN(E1,U)),_.guid=(U)=>_.check(yD(NU,U)),_.uuid=(U)=>_.check(gN(f$,U)),_.uuidv4=(U)=>_.check(MN(f$,U)),_.uuidv6=(U)=>_.check(ZN(f$,U)),_.uuidv7=(U)=>_.check(HN(f$,U)),_.nanoid=(U)=>_.check(kN(I1,U)),_.guid=(U)=>_.check(yD(NU,U)),_.cuid=(U)=>_.check(CN(A1,U)),_.cuid2=(U)=>_.check(bN(W1,U)),_.ulid=(U)=>_.check(wN(J1,U)),_.base64=(U)=>_.check(rN(Y1,U)),_.base64url=(U)=>_.check(cN(R1,U)),_.xid=(U)=>_.check(vN(L1,U)),_.ksuid=(U)=>_.check(fN(S1,U)),_.ipv4=(U)=>_.check(xN(P1,U)),_.ipv6=(U)=>_.check(yN(O1,U)),_.cidrv4=(U)=>_.check(uN(z1,U)),_.cidrv6=(U)=>_.check(hN(X1,U)),_.e164=(U)=>_.check(mN(Q1,U)),_.datetime=(U)=>_.check(QP(U)),_.date=(U)=>_.check(GP(U)),_.time=(U)=>_.check(TP(U)),_.duration=(U)=>_.check(VP(U))});X_=V("ZodStringFormat",(_,$)=>{T_.init(_,$),j1.init(_,$)}),N1=V("ZodEmail",(_,$)=>{cW.init(_,$),X_.init(_,$)});NU=V("ZodGUID",(_,$)=>{hW.init(_,$),X_.init(_,$)});f$=V("ZodUUID",(_,$)=>{rW.init(_,$),X_.init(_,$)});AU=V("ZodURL",(_,$)=>{mW.init(_,$),X_.init(_,$)});E1=V("ZodEmoji",(_,$)=>{nW.init(_,$),X_.init(_,$)});I1=V("ZodNanoID",(_,$)=>{dW.init(_,$),X_.init(_,$)});A1=V("ZodCUID",(_,$)=>{lW.init(_,$),X_.init(_,$)});W1=V("ZodCUID2",(_,$)=>{iW.init(_,$),X_.init(_,$)});J1=V("ZodULID",(_,$)=>{tW.init(_,$),X_.init(_,$)});L1=V("ZodXID",(_,$)=>{oW.init(_,$),X_.init(_,$)});S1=V("ZodKSUID",(_,$)=>{pW.init(_,$),X_.init(_,$)});P1=V("ZodIPv4",(_,$)=>{$J.init(_,$),X_.init(_,$)});WE=V("ZodMAC",(_,$)=>{DJ.init(_,$),X_.init(_,$)});O1=V("ZodIPv6",(_,$)=>{UJ.init(_,$),X_.init(_,$)});z1=V("ZodCIDRv4",(_,$)=>{jJ.init(_,$),X_.init(_,$)});X1=V("ZodCIDRv6",(_,$)=>{NJ.init(_,$),X_.init(_,$)});Y1=V("ZodBase64",(_,$)=>{IJ.init(_,$),X_.init(_,$)});R1=V("ZodBase64URL",(_,$)=>{AJ.init(_,$),X_.init(_,$)});Q1=V("ZodE164",(_,$)=>{WJ.init(_,$),X_.init(_,$)});G1=V("ZodJWT",(_,$)=>{JJ.init(_,$),X_.init(_,$)});o4=V("ZodCustomStringFormat",(_,$)=>{LJ.init(_,$),X_.init(_,$)});p4=V("ZodNumber",(_,$)=>{RN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>fS(_,j,D,N),D1(_,"ZodNumber",{gt(j,D){return this.check(w$(j,D))},gte(j,D){return this.check(t_(j,D))},min(j,D){return this.check(t_(j,D))},lt(j,D){return this.check(b$(j,D))},lte(j,D){return this.check(J$(j,D))},max(j,D){return this.check(J$(j,D))},int(j){return this.check($1(j))},safe(j){return this.check($1(j))},positive(j){return this.check(w$(0,j))},nonnegative(j){return this.check(t_(0,j))},negative(j){return this.check(b$(0,j))},nonpositive(j){return this.check(J$(0,j))},multipleOf(j,D){return this.check(V6(j,D))},step(j,D){return this.check(V6(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});_4=V("ZodNumberFormat",(_,$)=>{SJ.init(_,$),p4.init(_,$)});a4=V("ZodBoolean",(_,$)=>{HD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>xS(_,U,j,D)});e4=V("ZodBigInt",(_,$)=>{QN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>yS(_,j,D,N),_.gte=(j,D)=>_.check(t_(j,D)),_.min=(j,D)=>_.check(t_(j,D)),_.gt=(j,D)=>_.check(w$(j,D)),_.gte=(j,D)=>_.check(t_(j,D)),_.min=(j,D)=>_.check(t_(j,D)),_.lt=(j,D)=>_.check(b$(j,D)),_.lte=(j,D)=>_.check(J$(j,D)),_.max=(j,D)=>_.check(J$(j,D)),_.positive=(j)=>_.check(w$(BigInt(0),j)),_.negative=(j)=>_.check(b$(BigInt(0),j)),_.nonpositive=(j)=>_.check(J$(BigInt(0),j)),_.nonnegative=(j)=>_.check(t_(BigInt(0),j)),_.multipleOf=(j,D)=>_.check(V6(j,D));let U=_._zod.bag;_.minValue=U.minimum??null,_.maxValue=U.maximum??null,_.format=U.format??null});T1=V("ZodBigIntFormat",(_,$)=>{PJ.init(_,$),e4.init(_,$)});SE=V("ZodSymbol",(_,$)=>{OJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>uS(_,U,j,D)});PE=V("ZodUndefined",(_,$)=>{zJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>rS(_,U,j,D)});OE=V("ZodNull",(_,$)=>{XJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>hS(_,U,j,D)});XE=V("ZodAny",(_,$)=>{YJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>nS(_,U,j,D)});YE=V("ZodUnknown",(_,$)=>{RJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>dS(_,U,j,D)});RE=V("ZodNever",(_,$)=>{QJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>mS(_,U,j,D)});QE=V("ZodVoid",(_,$)=>{GJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>cS(_,U,j,D)});WU=V("ZodDate",(_,$)=>{TJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>lS(_,j,D,N),_.min=(j,D)=>_.check(t_(j,D)),_.max=(j,D)=>_.check(J$(j,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});GE=V("ZodArray",(_,$)=>{VJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>jP(_,U,j,D),_.element=$.element,D1(_,"ZodArray",{min(U,j){return this.check(_6(U,j))},nonempty(U){return this.check(_6(1,U))},max(U,j){return this.check(t6(U,j))},length(U,j){return this.check(o6(U,j))},unwrap(){return this.element}})});LU=V("ZodObject",(_,$)=>{BJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>NP(_,U,j,D),k.defineLazy(_,"shape",()=>{return $.shape}),D1(_,"ZodObject",{keyof(){return F1(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:s6()})},loose(){return this.clone({...this._zod.def,catchall:s6()})},strict(){return this.clone({...this._zod.def,catchall:V1()})},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(g1,this,U[0])},required(...U){return k.required(M1,this,U[0])}})});SU=V("ZodUnion",(_,$)=>{qD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>iN(_,U,j,D),_.options=$.options});TE=V("ZodXor",(_,$)=>{SU.init(_,$),FJ.init(_,$),_._zod.processJSONSchema=(U,j,D)=>iN(_,U,j,D),_.options=$.options});VE=V("ZodDiscriminatedUnion",(_,$)=>{SU.init(_,$),KJ.init(_,$)});BE=V("ZodIntersection",(_,$)=>{gJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>EP(_,U,j,D)});KE=V("ZodTuple",(_,$)=>{GN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>IP(_,U,j,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});l4=V("ZodRecord",(_,$)=>{MJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>AP(_,U,j,D),_.keyType=$.keyType,_.valueType=$.valueType});ZE=V("ZodMap",(_,$)=>{ZJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>UP(_,U,j,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(v$(...U)),_.nonempty=(U)=>_.check(v$(1,U)),_.max=(...U)=>_.check(B6(...U)),_.size=(...U)=>_.check(i6(...U))});HE=V("ZodSet",(_,$)=>{HJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>DP(_,U,j,D),_.min=(...U)=>_.check(v$(...U)),_.nonempty=(U)=>_.check(v$(1,U)),_.max=(...U)=>_.check(B6(...U)),_.size=(...U)=>_.check(i6(...U))});i4=V("ZodEnum",(_,$)=>{qJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>iS(_,j,D,N),_.enum=$.entries,_.options=Object.values($.entries);let U=new Set(Object.keys($.entries));_.extract=(j,D)=>{let N={};for(let E of j)if(U.has(E))N[E]=$.entries[E];else throw Error(`Key ${E} not found in enum`);return new i4({...$,checks:[],...k.normalizeParams(D),entries:N})},_.exclude=(j,D)=>{let N={...$.entries};for(let E of j)if(U.has(E))delete N[E];else throw Error(`Key ${E} not found in enum`);return new i4({...$,checks:[],...k.normalizeParams(D),entries:N})}});qE=V("ZodLiteral",(_,$)=>{kJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>tS(_,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]}})});kE=V("ZodFile",(_,$)=>{CJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>aS(_,U,j,D),_.min=(U,j)=>_.check(v$(U,j)),_.max=(U,j)=>_.check(B6(U,j)),_.mime=(U,j)=>_.check(u4(Array.isArray(U)?U:[U],j))});CE=V("ZodTransform",(_,$)=>{bJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>$P(_,U,j,D),_._zod.parse=(U,j)=>{if(j.direction==="backward")throw new Z4(_.constructor.name);U.addIssue=(N)=>{if(typeof N==="string")U.issues.push(k.issue(N,U.value,$));else{let E=N;if(E.fatal)E.continue=!1;E.code??(E.code="custom"),E.input??(E.input=U.value),E.inst??(E.inst=_),U.issues.push(k.issue(E))}};let D=$.transform(U.value,U);if(D instanceof Promise)return D.then((N)=>{return U.value=N,U.fallback=!0,U});return U.value=D,U.fallback=!0,U}});g1=V("ZodOptional",(_,$)=>{TN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>tN(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});bE=V("ZodExactOptional",(_,$)=>{wJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>tN(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});vE=V("ZodNullable",(_,$)=>{vJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>WP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});fE=V("ZodDefault",(_,$)=>{fJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>LP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});yE=V("ZodPrefault",(_,$)=>{xJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>SP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});M1=V("ZodNonOptional",(_,$)=>{yJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>JP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});rE=V("ZodSuccess",(_,$)=>{uJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>eS(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});cE=V("ZodCatch",(_,$)=>{hJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>PP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});nE=V("ZodNaN",(_,$)=>{rJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>oS(_,U,j,D)});PU=V("ZodPipe",(_,$)=>{VN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>OP(_,U,j,D),_.in=$.in,_.out=$.out});OU=V("ZodCodec",(_,$)=>{PU.init(_,$),kD.init(_,$)});dE=V("ZodPreprocess",(_,$)=>{PU.init(_,$),cJ.init(_,$)}),lE=V("ZodReadonly",(_,$)=>{mJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>zP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});tE=V("ZodTemplateLiteral",(_,$)=>{nJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>pS(_,U,j,D)});oE=V("ZodLazy",(_,$)=>{iJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>YP(_,U,j,D),_.unwrap=()=>_._zod.def.getter()});aE=V("ZodPromise",(_,$)=>{lJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>XP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});eE=V("ZodFunction",(_,$)=>{dJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>_P(_,U,j,D)});zU=V("ZodCustom",(_,$)=>{tJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>sS(_,U,j,D)});wO=kS,vO=CS});function XY(_){C_({customError:_})}function YY(){return C_().customError}var zY,$I;var RY=f(()=>{X$();zY={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(_){})($I||($I={}))});function QH(_,$){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 GH(_,$){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 QY(_,$){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 N=GH(D,$),E=o_(N,$);return $.refs.set(D,E),$.processing.delete(D),E}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((E)=>typeof E==="string"))return y.enum(D);let N=D.map((E)=>y.literal(E));if(N.length<2)return N[0];return y.union([N[0],N[1],...N.slice(2)])}if(_.const!==void 0)return y.literal(_.const);let U=_.type;if(Array.isArray(U)){let D=U.map((N)=>{let E={..._,type:N};return QY(E,$)});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 N=_.format;if(N==="email")D=D.check(y.email());else if(N==="uri"||N==="uri-reference")D=D.check(y.url());else if(N==="uuid"||N==="guid")D=D.check(y.uuid());else if(N==="date-time")D=D.check(y.iso.datetime());else if(N==="date")D=D.check(y.iso.date());else if(N==="time")D=D.check(y.iso.time());else if(N==="duration")D=D.check(y.iso.duration());else if(N==="ipv4")D=D.check(y.ipv4());else if(N==="ipv6")D=D.check(y.ipv6());else if(N==="mac")D=D.check(y.mac());else if(N==="cidr")D=D.check(y.cidrv4());else if(N==="cidr-v6")D=D.check(y.cidrv6());else if(N==="base64")D=D.check(y.base64());else if(N==="base64url")D=D.check(y.base64url());else if(N==="e164")D=D.check(y.e164());else if(N==="jwt")D=D.check(y.jwt());else if(N==="emoji")D=D.check(y.emoji());else if(N==="nanoid")D=D.check(y.nanoid());else if(N==="cuid")D=D.check(y.cuid());else if(N==="cuid2")D=D.check(y.cuid2());else if(N==="ulid")D=D.check(y.ulid());else if(N==="xid")D=D.check(y.xid());else if(N==="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={},N=_.properties||{},E=new Set(_.required||[]);for(let[W,J]of Object.entries(N)){let L=o_(J,$);D[W]=E.has(W)?L:L.optional()}if(_.propertyNames){let W=o_(_.propertyNames,$),J=_.additionalProperties&&typeof _.additionalProperties==="object"?o_(_.additionalProperties,$):y.any();if(Object.keys(D).length===0){j=y.record(W,J);break}let L=y.object(D).passthrough(),S=y.looseRecord(W,J);j=y.intersection(L,S);break}if(_.patternProperties){let W=_.patternProperties,J=Object.keys(W),L=[];for(let X of J){let z=o_(W[X],$),R=y.string().regex(new RegExp(X));L.push(y.looseRecord(R,z))}let S=[];if(Object.keys(D).length>0)S.push(y.object(D).passthrough());if(S.push(...L),S.length===0)j=y.object({}).passthrough();else if(S.length===1)j=S[0];else{let X=y.intersection(S[0],S[1]);for(let z=2;zo_(W,$)),I=N&&typeof N==="object"&&!Array.isArray(N)?o_(N,$):void 0;if(I)j=y.tuple(E).rest(I);else j=y.tuple(E);if(typeof _.minItems==="number")j=j.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")j=j.check(y.maxLength(_.maxItems))}else if(Array.isArray(N)){let E=N.map((W)=>o_(W,$)),I=_.additionalItems&&typeof _.additionalItems==="object"?o_(_.additionalItems,$):void 0;if(I)j=y.tuple(E).rest(I);else j=y.tuple(E);if(typeof _.minItems==="number")j=j.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")j=j.check(y.maxLength(_.maxItems))}else if(N!==void 0){let E=o_(N,$),I=y.array(E);if(typeof _.minItems==="number")I=I.min(_.minItems);if(typeof _.maxItems==="number")I=I.max(_.maxItems);j=I}else j=y.array(y.any());break}default:throw Error(`Unsupported type: ${U}`)}return j}function o_(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=QY(_,$),j=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let I=_.anyOf.map((J)=>o_(J,$)),W=y.union(I);U=j?y.intersection(U,W):W}if(_.oneOf&&Array.isArray(_.oneOf)){let I=_.oneOf.map((J)=>o_(J,$)),W=y.xor(I);U=j?y.intersection(U,W):W}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)U=j?U:y.any();else{let I=j?U:o_(_.allOf[0],$),W=j?0:1;for(let J=W;J<_.allOf.length;J++)I=y.intersection(I,o_(_.allOf[J],$));U=I}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={},N=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let I of N)if(I in _)D[I]=_[I];let E=["contentEncoding","contentMediaType","contentSchema"];for(let I of E)if(I in _)D[I]=_[I];for(let I of Object.keys(_))if(!RH.has(I))D[I]=_[I];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function hO(_,$){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=QH(U,$?.defaultTarget),D=U.$defs||U.definitions||{},N={version:j,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??m_};return o_(U,N)}var y,RH;var GY=f(()=>{xD();pN();eD();_1();y={...sD,...oN,iso:d4},RH=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 UI={};l$(UI,{string:()=>TH,number:()=>VH,date:()=>KH,boolean:()=>BH,bigint:()=>FH});function TH(_){return aL(t4,_)}function VH(_){return jS(p4,_)}function BH(_){return LS(a4,_)}function FH(_){return PS(e4,_)}function KH(_){return FS(WU,_)}var TY=f(()=>{X$();_1()});var DI={};l$(DI,{xor:()=>zO,xid:()=>yP,void:()=>WO,uuidv7:()=>qP,uuidv6:()=>HP,uuidv4:()=>ZP,uuid:()=>MP,util:()=>k,url:()=>kP,uppercase:()=>v4,unknown:()=>s6,union:()=>B1,undefined:()=>IO,ulid:()=>xP,uint64:()=>NO,uint32:()=>UO,tuple:()=>gE,trim:()=>r4,treeifyError:()=>pj,transform:()=>K1,toUpperCase:()=>m4,toLowerCase:()=>c4,toJSONSchema:()=>lD,templateLiteral:()=>HO,symbol:()=>EO,superRefine:()=>_I,success:()=>KO,stringbool:()=>xO,stringFormat:()=>oP,string:()=>jU,strictObject:()=>PO,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,setErrorMap:()=>XY,set:()=>GO,safeParseAsync:()=>_E,safeParse:()=>sN,safeEncodeAsync:()=>IE,safeEncode:()=>NE,safeDecodeAsync:()=>AE,safeDecode:()=>EE,registry:()=>fD,regexes:()=>W$,regex:()=>b4,refine:()=>sE,record:()=>ME,readonly:()=>iE,property:()=>nD,promise:()=>qO,prettifyError:()=>aj,preprocess:()=>uO,prefault:()=>uE,positive:()=>hD,pipe:()=>U1,partialRecord:()=>YO,parseAsync:()=>eN,parse:()=>aN,overwrite:()=>K$,optional:()=>EU,object:()=>SO,number:()=>JE,nullish:()=>FO,nullable:()=>IU,null:()=>zE,normalize:()=>h4,nonpositive:()=>cD,nonoptional:()=>hE,nonnegative:()=>mD,never:()=>V1,negative:()=>rD,nativeEnum:()=>TO,nanoid:()=>wP,nan:()=>gO,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,meta:()=>vO,maxSize:()=>B6,maxLength:()=>t6,map:()=>QO,mac:()=>rP,lte:()=>J$,lt:()=>b$,lowercase:()=>w4,looseRecord:()=>RO,looseObject:()=>OO,locales:()=>$U,literal:()=>VO,length:()=>o6,lazy:()=>pE,ksuid:()=>uP,keyof:()=>LO,jwt:()=>tP,json:()=>yO,iso:()=>d4,ipv6:()=>cP,ipv4:()=>hP,invertCodec:()=>ZO,intersection:()=>FE,int64:()=>jO,int32:()=>$O,int:()=>$1,instanceof:()=>fO,includes:()=>f4,httpUrl:()=>CP,hostname:()=>pP,hex:()=>aP,hash:()=>eP,guid:()=>gP,gte:()=>t_,gt:()=>w$,globalRegistry:()=>m_,getErrorMap:()=>YY,function:()=>kO,fromJSONSchema:()=>hO,formatError:()=>t0,float64:()=>_O,float32:()=>sP,flattenError:()=>i0,file:()=>BO,exactOptional:()=>wE,enum:()=>F1,endsWith:()=>y4,encodeAsync:()=>DE,encode:()=>$E,emoji:()=>bP,email:()=>KP,e164:()=>iP,discriminatedUnion:()=>XO,describe:()=>wO,decodeAsync:()=>jE,decode:()=>UE,date:()=>JO,custom:()=>bO,cuid2:()=>fP,cuid:()=>vP,core:()=>$6,config:()=>C_,coerce:()=>UI,codec:()=>MO,clone:()=>i_,cidrv6:()=>nP,cidrv4:()=>mP,check:()=>CO,catch:()=>mE,boolean:()=>LE,bigint:()=>DO,base64url:()=>lP,base64:()=>dP,array:()=>JU,any:()=>AO,_function:()=>kO,_default:()=>xE,_ZodString:()=>j1,ZodXor:()=>TE,ZodXID:()=>L1,ZodVoid:()=>QE,ZodUnknown:()=>YE,ZodUnion:()=>SU,ZodUndefined:()=>PE,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>KE,ZodTransform:()=>CE,ZodTemplateLiteral:()=>tE,ZodSymbol:()=>SE,ZodSuccess:()=>rE,ZodStringFormat:()=>X_,ZodString:()=>t4,ZodSet:()=>HE,ZodRecord:()=>l4,ZodRealError:()=>U$,ZodReadonly:()=>lE,ZodPromise:()=>aE,ZodPreprocess:()=>dE,ZodPrefault:()=>yE,ZodPipe:()=>PU,ZodOptional:()=>g1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>vE,ZodNull:()=>OE,ZodNonOptional:()=>M1,ZodNever:()=>RE,ZodNanoID:()=>I1,ZodNaN:()=>nE,ZodMap:()=>ZE,ZodMAC:()=>WE,ZodLiteral:()=>qE,ZodLazy:()=>oE,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIssueCode:()=>zY,ZodIntersection:()=>BE,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>NU,ZodFunction:()=>eE,ZodFirstPartyTypeKind:()=>$I,ZodFile:()=>kE,ZodExactOptional:()=>bE,ZodError:()=>PY,ZodEnum:()=>i4,ZodEmoji:()=>E1,ZodEmail:()=>N1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>VE,ZodDefault:()=>fE,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>cE,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>R1,ZodBase64:()=>Y1,ZodArray:()=>GE,ZodAny:()=>XE,TimePrecision:()=>dN,NEVER:()=>lj,$output:()=>BN,$input:()=>FN,$brand:()=>ij});var rO=f(()=>{X$();X$();NL();X$();iD();GY();tL();eD();eD();TY();_1();pN();BP();FP();RY();C_(CD())});var VY={};l$(VY,{z:()=>DI,xor:()=>zO,xid:()=>yP,void:()=>WO,uuidv7:()=>qP,uuidv6:()=>HP,uuidv4:()=>ZP,uuid:()=>MP,util:()=>k,url:()=>kP,uppercase:()=>v4,unknown:()=>s6,union:()=>B1,undefined:()=>IO,ulid:()=>xP,uint64:()=>NO,uint32:()=>UO,tuple:()=>gE,trim:()=>r4,treeifyError:()=>pj,transform:()=>K1,toUpperCase:()=>m4,toLowerCase:()=>c4,toJSONSchema:()=>lD,templateLiteral:()=>HO,symbol:()=>EO,superRefine:()=>_I,success:()=>KO,stringbool:()=>xO,stringFormat:()=>oP,string:()=>jU,strictObject:()=>PO,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,setErrorMap:()=>XY,set:()=>GO,safeParseAsync:()=>_E,safeParse:()=>sN,safeEncodeAsync:()=>IE,safeEncode:()=>NE,safeDecodeAsync:()=>AE,safeDecode:()=>EE,registry:()=>fD,regexes:()=>W$,regex:()=>b4,refine:()=>sE,record:()=>ME,readonly:()=>iE,property:()=>nD,promise:()=>qO,prettifyError:()=>aj,preprocess:()=>uO,prefault:()=>uE,positive:()=>hD,pipe:()=>U1,partialRecord:()=>YO,parseAsync:()=>eN,parse:()=>aN,overwrite:()=>K$,optional:()=>EU,object:()=>SO,number:()=>JE,nullish:()=>FO,nullable:()=>IU,null:()=>zE,normalize:()=>h4,nonpositive:()=>cD,nonoptional:()=>hE,nonnegative:()=>mD,never:()=>V1,negative:()=>rD,nativeEnum:()=>TO,nanoid:()=>wP,nan:()=>gO,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,meta:()=>vO,maxSize:()=>B6,maxLength:()=>t6,map:()=>QO,mac:()=>rP,lte:()=>J$,lt:()=>b$,lowercase:()=>w4,looseRecord:()=>RO,looseObject:()=>OO,locales:()=>$U,literal:()=>VO,length:()=>o6,lazy:()=>pE,ksuid:()=>uP,keyof:()=>LO,jwt:()=>tP,json:()=>yO,iso:()=>d4,ipv6:()=>cP,ipv4:()=>hP,invertCodec:()=>ZO,intersection:()=>FE,int64:()=>jO,int32:()=>$O,int:()=>$1,instanceof:()=>fO,includes:()=>f4,httpUrl:()=>CP,hostname:()=>pP,hex:()=>aP,hash:()=>eP,guid:()=>gP,gte:()=>t_,gt:()=>w$,globalRegistry:()=>m_,getErrorMap:()=>YY,function:()=>kO,fromJSONSchema:()=>hO,formatError:()=>t0,float64:()=>_O,float32:()=>sP,flattenError:()=>i0,file:()=>BO,exactOptional:()=>wE,enum:()=>F1,endsWith:()=>y4,encodeAsync:()=>DE,encode:()=>$E,emoji:()=>bP,email:()=>KP,e164:()=>iP,discriminatedUnion:()=>XO,describe:()=>wO,default:()=>gH,decodeAsync:()=>jE,decode:()=>UE,date:()=>JO,custom:()=>bO,cuid2:()=>fP,cuid:()=>vP,core:()=>$6,config:()=>C_,coerce:()=>UI,codec:()=>MO,clone:()=>i_,cidrv6:()=>nP,cidrv4:()=>mP,check:()=>CO,catch:()=>mE,boolean:()=>LE,bigint:()=>DO,base64url:()=>lP,base64:()=>dP,array:()=>JU,any:()=>AO,_function:()=>kO,_default:()=>xE,_ZodString:()=>j1,ZodXor:()=>TE,ZodXID:()=>L1,ZodVoid:()=>QE,ZodUnknown:()=>YE,ZodUnion:()=>SU,ZodUndefined:()=>PE,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>KE,ZodTransform:()=>CE,ZodTemplateLiteral:()=>tE,ZodSymbol:()=>SE,ZodSuccess:()=>rE,ZodStringFormat:()=>X_,ZodString:()=>t4,ZodSet:()=>HE,ZodRecord:()=>l4,ZodRealError:()=>U$,ZodReadonly:()=>lE,ZodPromise:()=>aE,ZodPreprocess:()=>dE,ZodPrefault:()=>yE,ZodPipe:()=>PU,ZodOptional:()=>g1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>vE,ZodNull:()=>OE,ZodNonOptional:()=>M1,ZodNever:()=>RE,ZodNanoID:()=>I1,ZodNaN:()=>nE,ZodMap:()=>ZE,ZodMAC:()=>WE,ZodLiteral:()=>qE,ZodLazy:()=>oE,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIssueCode:()=>zY,ZodIntersection:()=>BE,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>NU,ZodFunction:()=>eE,ZodFirstPartyTypeKind:()=>$I,ZodFile:()=>kE,ZodExactOptional:()=>bE,ZodError:()=>PY,ZodEnum:()=>i4,ZodEmoji:()=>E1,ZodEmail:()=>N1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>VE,ZodDefault:()=>fE,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>cE,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>R1,ZodBase64:()=>Y1,ZodArray:()=>GE,ZodAny:()=>XE,TimePrecision:()=>dN,NEVER:()=>lj,$output:()=>BN,$input:()=>FN,$brand:()=>ij});var gH;var BY=f(()=>{rO();rO();gH=DI});var s1=O4((of)=>{class $3 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 dG extends $3{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}of.CommanderError=$3;of.InvalidArgumentError=dG});var _2=O4((_x)=>{var{InvalidArgumentError:ef}=s1();class lG{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 ef(`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 sf(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}_x.Argument=lG;_x.humanReadableArgName=sf});var U3=O4((jx)=>{var{humanReadableArgName:Dx}=_2();class iG{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)=>Dx(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(L,S){return $.formatItem(L,U,S,$)}let N=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],E=$.commandDescription(_);if(E.length>0)N=N.concat([$.boxWrap($.styleCommandDescription(E),j),""]);let I=$.visibleArguments(_).map((L)=>{return D($.styleArgumentTerm($.argumentTerm(L)),$.styleArgumentDescription($.argumentDescription(L)))});if(I.length>0)N=N.concat([$.styleTitle("Arguments:"),...I,""]);let W=$.visibleOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(W.length>0)N=N.concat([$.styleTitle("Options:"),...W,""]);if($.showGlobalOptions){let L=$.visibleGlobalOptions(_).map((S)=>{return D($.styleOptionTerm($.optionTerm(S)),$.styleOptionDescription($.optionDescription(S)))});if(L.length>0)N=N.concat([$.styleTitle("Global Options:"),...L,""])}let J=$.visibleCommands(_).map((L)=>{return D($.styleSubcommandTerm($.subcommandTerm(L)),$.styleSubcommandDescription($.subcommandDescription(L)))});if(J.length>0)N=N.concat([$.styleTitle("Commands:"),...J,""]);return N.join(` +`)}displayWidth(_){return tG(_).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 N=" ".repeat(2);if(!U)return N+_;let E=_.padEnd($+_.length-j.displayWidth(_)),I=2,J=(this.helpWidth??80)-$-I-2,L;if(J{let E=N.match(j);if(E===null){D.push("");return}let I=[E.shift()],W=this.displayWidth(I[0]);E.forEach((J)=>{let L=this.displayWidth(J);if(W+L<=$){I.push(J),W+=L;return}D.push(I.join(""));let S=J.trimStart();I=[S],W=this.displayWidth(S)}),D.push(I.join(""))}),D.join(` +`)}}function tG(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}jx.Help=iG;jx.stripColor=tG});var D3=O4((Wx)=>{var{InvalidArgumentError:Ix}=s1();class pG{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Ax(_);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 Ix(`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 oG(this.name().replace(/^no-/,""));return oG(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class aG{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 oG(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Ax(_){let $,U,j=/^-[^-]$/,D=/^--[^-]/,N=_.split(/[ |,]+/).concat("guard");if(j.test(N[0]))$=N.shift();if(D.test(N[0]))U=N.shift();if(!$&&j.test(N[0]))$=N.shift();if(!$&&D.test(N[0]))$=U,U=N.shift();if(N[0].startsWith("-")){let E=N[0],I=`option creation failed due to '${E}' in option flags '${_}'`;if(/^-[^-][^-]/.test(E))throw Error(`${I} - 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(I.test(j))throw Error(`${N} -- too many short flags`);if(U.test(j))throw Error(`${N} -- too many long flags`);throw Error(`${N} -- unrecognised flag format`)}if($===void 0&&D===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:D}}Vw.Option=w8;Vw.DualOptions=r8});var f8=U4((bw)=>{function Zw(_,$){if(Math.abs(_.length-$.length)>3)return Math.max(_.length,$.length);let D=[];for(let I=0;I<=_.length;I++)D[I]=[I];for(let I=0;I<=$.length;I++)D[0][I]=I;for(let I=1;I<=$.length;I++)for(let U=1;U<=_.length;U++){let E=1;if(_[U-1]===$[I-1])E=0;else E=1;if(D[U][I]=Math.min(D[U-1][I]+1,D[U][I-1]+1,D[U-1][I-1]+E),U>1&&I>1&&_[U-1]===$[I-2]&&_[U-2]===$[I-1])D[U][I]=Math.min(D[U][I],D[U-2][I-2]+1)}return D[_.length][$.length]}function Hw(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let D=_.startsWith("--");if(D)_=_.slice(2),$=$.map((j)=>j.slice(2));let I=[],U=3,E=0.4;if($.forEach((j)=>{if(j.length<=1)return;let N=Zw(_,j),O=Math.max(_.length,j.length);if((O-N)/O>E){if(Nj.localeCompare(N)),D)I=I.map((j)=>`--${j}`);if(I.length>1)return` -(Did you mean one of ${I.join(", ")}?)`;if(I.length===1)return` -(Did you mean ${I[0]}?)`;return""}bw.suggestSimilar=Hw});var h8=U4((xw)=>{var kw=L_("events").EventEmitter,Gz=L_("child_process"),T6=L_("path"),MN=L_("fs"),S_=L_("process"),{Argument:Cw,humanReadableArgName:vw}=BN(),{CommanderError:Rz}=k1(),{Help:ww,stripColor:rw}=gz(),{Option:x8,DualOptions:fw}=Xz(),{suggestSimilar:u8}=f8();class Qz extends kw{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:($)=>S_.stdout.write($),writeErr:($)=>S_.stderr.write($),outputError:($,D)=>D($),getOutHelpWidth:()=>S_.stdout.isTTY?S_.stdout.columns:void 0,getErrHelpWidth:()=>S_.stderr.isTTY?S_.stderr.columns:void 0,getOutHasColors:()=>Yz()??(S_.stdout.isTTY&&S_.stdout.hasColors?.()),getErrHasColors:()=>Yz()??(S_.stderr.isTTY&&S_.stderr.hasColors?.()),stripColor:($)=>rw($)},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(_,$,D){let I=$,U=D;if(typeof I==="object"&&I!==null)U=I,I=null;U=U||{};let[,E,j]=_.match(/([^ ]+) *(.*)/),N=this.createCommand(E);if(I)N.description(I),N._executableHandler=!0;if(U.isDefault)this._defaultCommandName=N._name;if(N._hidden=!!(U.noHelp||U.hidden),N._executableFile=U.executableFile||null,j)N.arguments(j);if(this._registerCommand(N),N.parent=this,N.copyInheritedSettings(this),I)return this;return N}createCommand(_){return new Qz(_)}createHelp(){return Object.assign(new ww,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 Cw(_,$)}argument(_,$,D,I){let U=this.createArgument(_,$);if(typeof D==="function")U.default(I).argParser(D);else U.default(D);return this.addArgument(U),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[,D,I]=_.match(/([^ ]+) *(.*)/),U=$??"display help for command",E=this.createCommand(D);if(E.helpOption(!1),I)E.arguments(I);if(U)E.description(U);return this._addImplicitHelpCommand=!0,this._helpCommand=E,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 D=["preSubcommand","preAction","postAction"];if(!D.includes(_))throw Error(`Unexpected value for event passed to hook : '${_}'. -Expecting one of '${D.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(_,$,D){if(this._exitCallback)this._exitCallback(new Rz(_,$,D));S_.exit(_)}action(_){let $=(D)=>{let I=this.registeredArguments.length,U=D.slice(0,I);if(this._storeOptionsAsProperties)U[I]=this;else U[I]=this.opts();return U.push(this),_.apply(this,U)};return this._actionHandler=$,this}createOption(_,$){return new x8(_,$)}_callParseArg(_,$,D,I){try{return _.parseArg($,D)}catch(U){if(U.code==="commander.invalidArgument"){let E=`${I} ${U.message}`;this.error(E,{exitCode:U.exitCode,code:U.code})}throw U}}_registerOption(_){let $=_.short&&this._findOption(_.short)||_.long&&this._findOption(_.long);if($){let D=_.long&&this._findOption(_.long)?_.long:_.short;throw Error(`Cannot add option '${_.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${D}' -- already used by option '${$.flags}'`)}this.options.push(_)}_registerCommand(_){let $=(I)=>{return[I.name()].concat(I.aliases())},D=$(_).find((I)=>this._findCommand(I));if(D){let I=$(this._findCommand(D)).join("|"),U=$(_).join("|");throw Error(`cannot add command '${U}' as already have command '${I}'`)}this.commands.push(_)}addOption(_){this._registerOption(_);let $=_.name(),D=_.attributeName();if(_.negate){let U=_.long.replace(/^--no-/,"--");if(!this._findOption(U))this.setOptionValueWithSource(D,_.defaultValue===void 0?!0:_.defaultValue,"default")}else if(_.defaultValue!==void 0)this.setOptionValueWithSource(D,_.defaultValue,"default");let I=(U,E,j)=>{if(U==null&&_.presetArg!==void 0)U=_.presetArg;let N=this.getOptionValue(D);if(U!==null&&_.parseArg)U=this._callParseArg(_,U,N,E);else if(U!==null&&_.variadic)U=_._concatValue(U,N);if(U==null)if(_.negate)U=!1;else if(_.isBoolean()||_.optional)U=!0;else U="";this.setOptionValueWithSource(D,U,j)};if(this.on("option:"+$,(U)=>{let E=`error: option '${_.flags}' argument '${U}' is invalid.`;I(U,E,"cli")}),_.envVar)this.on("optionEnv:"+$,(U)=>{let E=`error: option '${_.flags}' value '${U}' from env '${_.envVar}' is invalid.`;I(U,E,"env")});return this}_optionEx(_,$,D,I,U){if(typeof $==="object"&&$ instanceof x8)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let E=this.createOption($,D);if(E.makeOptionMandatory(!!_.mandatory),typeof I==="function")E.default(U).argParser(I);else if(I instanceof RegExp){let j=I;I=(N,O)=>{let S=j.exec(N);return S?S[0]:O},E.default(U).argParser(I)}else E.default(I);return this.addOption(E)}option(_,$,D,I){return this._optionEx({},_,$,D,I)}requiredOption(_,$,D,I){return this._optionEx({mandatory:!0},_,$,D,I)}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(_,$,D){if(this._storeOptionsAsProperties)this[_]=$;else this._optionValues[_]=$;return this._optionValueSources[_]=D,this}getOptionValueSource(_){return this._optionValueSources[_]}getOptionValueSourceWithGlobals(_){let $;return this._getCommandAndAncestors().forEach((D)=>{if(D.getOptionValueSource(_)!==void 0)$=D.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(S_.versions?.electron)$.from="electron";let I=S_.execArgv??[];if(I.includes("-e")||I.includes("--eval")||I.includes("-p")||I.includes("--print"))$.from="eval"}if(_===void 0)_=S_.argv;this.rawArgs=_.slice();let D;switch($.from){case void 0:case"node":this._scriptPath=_[1],D=_.slice(2);break;case"electron":if(S_.defaultApp)this._scriptPath=_[1],D=_.slice(2);else D=_.slice(1);break;case"user":D=_.slice(0);break;case"eval":D=_.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",D}parse(_,$){this._prepareForParse();let D=this._prepareUserArgs(_,$);return this._parseCommand([],D),this}async parseAsync(_,$){this._prepareForParse();let D=this._prepareUserArgs(_,$);return await this._parseCommand([],D),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(_,$,D){if(MN.existsSync(_))return;let I=$?`searched for local subcommand relative to directory '${$}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",U=`'${_}' does not exist - - if '${D}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead + - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(j.test(E))throw Error(`${I} +- too many short flags`);if(D.test(E))throw Error(`${I} +- too many long flags`);throw Error(`${I} +- unrecognised flag format`)}if($===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:U}}Wx.Option=pG;Wx.DualOptions=aG});var eG=O4((Ox)=>{function Sx(_,$){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 N=1;if(_[D-1]===$[j-1])N=0;else N=1;if(U[D][j]=Math.min(U[D-1][j]+1,U[D][j-1]+1,U[D-1][j-1]+N),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 Px(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let U=_.startsWith("--");if(U)_=_.slice(2),$=$.map((E)=>E.slice(2));let j=[],D=3,N=0.4;if($.forEach((E)=>{if(E.length<=1)return;let I=Sx(_,E),W=Math.max(_.length,E.length);if((W-I)/W>N){if(IE.localeCompare(I)),U)j=j.map((E)=>`--${E}`);if(j.length>1)return` +(Did you mean one of ${j.join(", ")}?)`;if(j.length===1)return` +(Did you mean ${j[0]}?)`;return""}Ox.suggestSimilar=Px});var U7=O4((Vx)=>{var Xx=S_("events").EventEmitter,j3=S_("child_process"),b6=S_("path"),$2=S_("fs"),L_=S_("process"),{Argument:Yx,humanReadableArgName:Rx}=_2(),{CommanderError:N3}=s1(),{Help:Qx,stripColor:Gx}=U3(),{Option:sG,DualOptions:Tx}=D3(),{suggestSimilar:_7}=eG();class I3 extends Xx{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:($)=>L_.stdout.write($),writeErr:($)=>L_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>L_.stdout.isTTY?L_.stdout.columns:void 0,getErrHelpWidth:()=>L_.stderr.isTTY?L_.stderr.columns:void 0,getOutHasColors:()=>E3()??(L_.stdout.isTTY&&L_.stdout.hasColors?.()),getErrHasColors:()=>E3()??(L_.stderr.isTTY&&L_.stderr.hasColors?.()),stripColor:($)=>Gx($)},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[,N,E]=_.match(/([^ ]+) *(.*)/),I=this.createCommand(N);if(j)I.description(j),I._executableHandler=!0;if(D.isDefault)this._defaultCommandName=I._name;if(I._hidden=!!(D.noHelp||D.hidden),I._executableFile=D.executableFile||null,E)I.arguments(E);if(this._registerCommand(I),I.parent=this,I.copyInheritedSettings(this),j)return this;return I}createCommand(_){return new I3(_)}createHelp(){return Object.assign(new Qx,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 Yx(_,$)}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",N=this.createCommand(U);if(N.helpOption(!1),j)N.arguments(j);if(D)N.description(D);return this._addImplicitHelpCommand=!0,this._helpCommand=N,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 N3(_,$,U));L_.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 sG(_,$)}_callParseArg(_,$,U,j){try{return _.parseArg($,U)}catch(D){if(D.code==="commander.invalidArgument"){let N=`${j} ${D.message}`;this.error(N,{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,N,E)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let I=this.getOptionValue(U);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,I,N);else if(D!==null&&_.variadic)D=_._concatValue(D,I);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(U,D,E)};if(this.on("option:"+$,(D)=>{let N=`error: option '${_.flags}' argument '${D}' is invalid.`;j(D,N,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let N=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;j(D,N,"env")});return this}_optionEx(_,$,U,j,D){if(typeof $==="object"&&$ instanceof sG)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let N=this.createOption($,U);if(N.makeOptionMandatory(!!_.mandatory),typeof j==="function")N.default(D).argParser(j);else if(j instanceof RegExp){let E=j;j=(I,W)=>{let J=E.exec(I);return J?J[0]:W},N.default(D).argParser(j)}else N.default(j);return this.addOption(N)}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(L_.versions?.electron)$.from="electron";let j=L_.execArgv??[];if(j.includes("-e")||j.includes("--eval")||j.includes("-p")||j.includes("--print"))$.from="eval"}if(_===void 0)_=L_.argv;this.rawArgs=_.slice();let U;switch($.from){case void 0:case"node":this._scriptPath=_[1],U=_.slice(2);break;case"electron":if(L_.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($2.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 - - ${I}`;throw Error(U)}_executeSubCommand(_,$){$=$.slice();let D=!1,I=[".js",".ts",".tsx",".mjs",".cjs"];function U(S,L){let W=T6.resolve(S,L);if(MN.existsSync(W))return W;if(I.includes(T6.extname(L)))return;let g=I.find((z)=>MN.existsSync(`${W}${z}`));if(g)return`${W}${g}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let E=_._executableFile||`${this._name}-${_._name}`,j=this._executableDir||"";if(this._scriptPath){let S;try{S=MN.realpathSync(this._scriptPath)}catch{S=this._scriptPath}j=T6.resolve(T6.dirname(S),j)}if(j){let S=U(j,E);if(!S&&!_._executableFile&&this._scriptPath){let L=T6.basename(this._scriptPath,T6.extname(this._scriptPath));if(L!==this._name)S=U(j,`${L}-${_._name}`)}E=S||E}D=I.includes(T6.extname(E));let N;if(S_.platform!=="win32")if(D)$.unshift(E),$=y8(S_.execArgv).concat($),N=Gz.spawn(S_.argv[0],$,{stdio:"inherit"});else N=Gz.spawn(E,$,{stdio:"inherit"});else this._checkForMissingExecutable(E,j,_._name),$.unshift(E),$=y8(S_.execArgv).concat($),N=Gz.spawn(S_.execPath,$,{stdio:"inherit"});if(!N.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((L)=>{S_.on(L,()=>{if(N.killed===!1&&N.exitCode===null)N.kill(L)})});let O=this._exitCallback;N.on("close",(S)=>{if(S=S??1,!O)S_.exit(S);else O(new Rz(S,"commander.executeSubCommandAsync","(close)"))}),N.on("error",(S)=>{if(S.code==="ENOENT")this._checkForMissingExecutable(E,j,_._name);else if(S.code==="EACCES")throw Error(`'${E}' not executable`);if(!O)S_.exit(1);else{let L=new Rz(1,"commander.executeSubCommandAsync","(error)");L.nestedError=S,O(L)}}),this.runningCommand=N}_dispatchSubcommand(_,$,D){let I=this._findCommand(_);if(!I)this.help({error:!0});I._prepareForParse();let U;return U=this._chainOrCallSubCommandHook(U,I,"preSubcommand"),U=this._chainOrCall(U,()=>{if(I._executableHandler)this._executeSubCommand(I,$.concat(D));else return I._parseCommand($,D)}),U}_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 _=(D,I,U)=>{let E=I;if(I!==null&&D.parseArg){let j=`error: command-argument value '${I}' is invalid for argument '${D.name()}'.`;E=this._callParseArg(D,I,U,j)}return E};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((D,I)=>{let U=D.defaultValue;if(D.variadic){if(I{return _(D,j,E)},D.defaultValue)}else if(U===void 0)U=[]}else if(I$());return $()}_chainOrCallHooks(_,$){let D=_,I=[];if(this._getCommandAndAncestors().reverse().filter((U)=>U._lifeCycleHooks[$]!==void 0).forEach((U)=>{U._lifeCycleHooks[$].forEach((E)=>{I.push({hookedCommand:U,callback:E})})}),$==="postAction")I.reverse();return I.forEach((U)=>{D=this._chainOrCall(D,()=>{return U.callback(U.hookedCommand,this)})}),D}_chainOrCallSubCommandHook(_,$,D){let I=_;if(this._lifeCycleHooks[D]!==void 0)this._lifeCycleHooks[D].forEach((U)=>{I=this._chainOrCall(I,()=>{return U(this,$)})});return I}_parseCommand(_,$){let D=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),_=_.concat(D.operands),$=D.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(D.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let I=()=>{if(D.unknown.length>0)this.unknownOption(D.unknown[0])},U=`command:${this.name()}`;if(this._actionHandler){I(),this._processArguments();let E;if(E=this._chainOrCallHooks(E,"preAction"),E=this._chainOrCall(E,()=>this._actionHandler(this.processedArgs)),this.parent)E=this._chainOrCall(E,()=>{this.parent.emit(U,_,$)});return E=this._chainOrCallHooks(E,"postAction"),E}if(this.parent&&this.parent.listenerCount(U))I(),this._processArguments(),this.parent.emit(U,_,$);else if(_.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",_,$);if(this.listenerCount("command:*"))this.emit("command:*",_,$);else if(this.commands.length)this.unknownCommand();else I(),this._processArguments()}else if(this.commands.length)I(),this.help({error:!0});else I(),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((D)=>{let I=D.attributeName();if(this.getOptionValue(I)===void 0)return!1;return this.getOptionValueSource(I)!=="default"});_.filter((D)=>D.conflictsWith.length>0).forEach((D)=>{let I=_.find((U)=>D.conflictsWith.includes(U.attributeName()));if(I)this._conflictingOption(D,I)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],D=[],I=$,U=_.slice();function E(N){return N.length>1&&N[0]==="-"}let j=null;while(U.length){let N=U.shift();if(N==="--"){if(I===D)I.push(N);I.push(...U);break}if(j&&!E(N)){this.emit(`option:${j.name()}`,N);continue}if(j=null,E(N)){let O=this._findOption(N);if(O){if(O.required){let S=U.shift();if(S===void 0)this.optionMissingArgument(O);this.emit(`option:${O.name()}`,S)}else if(O.optional){let S=null;if(U.length>0&&!E(U[0]))S=U.shift();this.emit(`option:${O.name()}`,S)}else this.emit(`option:${O.name()}`);j=O.variadic?O:null;continue}}if(N.length>2&&N[0]==="-"&&N[1]!=="-"){let O=this._findOption(`-${N[1]}`);if(O){if(O.required||O.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${O.name()}`,N.slice(2));else this.emit(`option:${O.name()}`),U.unshift(`-${N.slice(2)}`);continue}}if(/^--[^=]+=/.test(N)){let O=N.indexOf("="),S=this._findOption(N.slice(0,O));if(S&&(S.required||S.optional)){this.emit(`option:${S.name()}`,N.slice(O+1));continue}}if(E(N))I=D;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&D.length===0){if(this._findCommand(N)){if($.push(N),U.length>0)D.push(...U);break}else if(this._getHelpCommand()&&N===this._getHelpCommand().name()){if($.push(N),U.length>0)$.push(...U);break}else if(this._defaultCommandName){if(D.push(N),U.length>0)D.push(...U);break}}if(this._passThroughOptions){if(I.push(N),U.length>0)I.push(...U);break}I.push(N)}return{operands:$,unknown:D}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let D=0;D<$;D++){let I=this.options[D].attributeName();_[I]=I===this._versionOptionName?this._version:this[I]}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(J,L){let S=b6.resolve(J,L);if($2.existsSync(S))return S;if(j.includes(b6.extname(L)))return;let X=j.find((z)=>$2.existsSync(`${S}${z}`));if(X)return`${S}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let N=_._executableFile||`${this._name}-${_._name}`,E=this._executableDir||"";if(this._scriptPath){let J;try{J=$2.realpathSync(this._scriptPath)}catch{J=this._scriptPath}E=b6.resolve(b6.dirname(J),E)}if(E){let J=D(E,N);if(!J&&!_._executableFile&&this._scriptPath){let L=b6.basename(this._scriptPath,b6.extname(this._scriptPath));if(L!==this._name)J=D(E,`${L}-${_._name}`)}N=J||N}U=j.includes(b6.extname(N));let I;if(L_.platform!=="win32")if(U)$.unshift(N),$=$7(L_.execArgv).concat($),I=j3.spawn(L_.argv[0],$,{stdio:"inherit"});else I=j3.spawn(N,$,{stdio:"inherit"});else this._checkForMissingExecutable(N,E,_._name),$.unshift(N),$=$7(L_.execArgv).concat($),I=j3.spawn(L_.execPath,$,{stdio:"inherit"});if(!I.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((L)=>{L_.on(L,()=>{if(I.killed===!1&&I.exitCode===null)I.kill(L)})});let W=this._exitCallback;I.on("close",(J)=>{if(J=J??1,!W)L_.exit(J);else W(new N3(J,"commander.executeSubCommandAsync","(close)"))}),I.on("error",(J)=>{if(J.code==="ENOENT")this._checkForMissingExecutable(N,E,_._name);else if(J.code==="EACCES")throw Error(`'${N}' not executable`);if(!W)L_.exit(1);else{let L=new N3(1,"commander.executeSubCommandAsync","(error)");L.nestedError=J,W(L)}}),this.runningCommand=I}_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 N=j;if(j!==null&&U.parseArg){let E=`error: command-argument value '${j}' is invalid for argument '${U.name()}'.`;N=this._callParseArg(U,j,D,E)}return N};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((U,j)=>{let D=U.defaultValue;if(U.variadic){if(j{return _(U,E,N)},U.defaultValue)}else if(D===void 0)D=[]}else if(j$());return $()}_chainOrCallHooks(_,$){let U=_,j=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((N)=>{j.push({hookedCommand:D,callback:N})})}),$==="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 N;if(N=this._chainOrCallHooks(N,"preAction"),N=this._chainOrCall(N,()=>this._actionHandler(this.processedArgs)),this.parent)N=this._chainOrCall(N,()=>{this.parent.emit(D,_,$)});return N=this._chainOrCallHooks(N,"postAction"),N}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 N(I){return I.length>1&&I[0]==="-"}let E=null;while(D.length){let I=D.shift();if(I==="--"){if(j===U)j.push(I);j.push(...D);break}if(E&&!N(I)){this.emit(`option:${E.name()}`,I);continue}if(E=null,N(I)){let W=this._findOption(I);if(W){if(W.required){let J=D.shift();if(J===void 0)this.optionMissingArgument(W);this.emit(`option:${W.name()}`,J)}else if(W.optional){let J=null;if(D.length>0&&!N(D[0]))J=D.shift();this.emit(`option:${W.name()}`,J)}else this.emit(`option:${W.name()}`);E=W.variadic?W:null;continue}}if(I.length>2&&I[0]==="-"&&I[1]!=="-"){let W=this._findOption(`-${I[1]}`);if(W){if(W.required||W.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${W.name()}`,I.slice(2));else this.emit(`option:${W.name()}`),D.unshift(`-${I.slice(2)}`);continue}}if(/^--[^=]+=/.test(I)){let W=I.indexOf("="),J=this._findOption(I.slice(0,W));if(J&&(J.required||J.optional)){this.emit(`option:${J.name()}`,I.slice(W+1));continue}}if(N(I))j=U;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&U.length===0){if(this._findCommand(I)){if($.push(I),D.length>0)U.push(...D);break}else if(this._getHelpCommand()&&I===this._getHelpCommand().name()){if($.push(I),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(U.push(I),D.length>0)U.push(...D);break}}if(this._passThroughOptions){if(j.push(I),D.length>0)j.push(...D);break}j.push(I)}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 D=$||{},I=D.exitCode||1,U=D.code||"commander.error";this._exit(I,U,_)}_parseOptionsEnv(){this.options.forEach((_)=>{if(_.envVar&&_.envVar in S_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,S_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new fw(this.options),$=(D)=>{return this.getOptionValue(D)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(D))};this.options.filter((D)=>D.implied!==void 0&&$(D.attributeName())&&_.valueFromOption(this.getOptionValue(D.attributeName()),D)).forEach((D)=>{Object.keys(D.implied).filter((I)=>!$(I)).forEach((I)=>{this.setOptionValueWithSource(I,D.implied[I],"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 D=(E)=>{let j=E.attributeName(),N=this.getOptionValue(j),O=this.options.find((L)=>L.negate&&j===L.attributeName()),S=this.options.find((L)=>!L.negate&&j===L.attributeName());if(O&&(O.presetArg===void 0&&N===!1||O.presetArg!==void 0&&N===O.presetArg))return O;return S||E},I=(E)=>{let j=D(E),N=j.attributeName();if(this.getOptionValueSource(N)==="env")return`environment variable '${j.envVar}'`;return`option '${j.flags}'`},U=`error: ${I(_)} cannot be used with ${I($)}`;this.error(U,{code:"commander.conflictingOption"})}unknownOption(_){if(this._allowUnknownOption)return;let $="";if(_.startsWith("--")&&this._showSuggestionAfterError){let I=[],U=this;do{let E=U.createHelp().visibleOptions(U).filter((j)=>j.long).map((j)=>j.long);I=I.concat(E),U=U.parent}while(U&&!U._enablePositionalOptions);$=u8(_,I)}let D=`error: unknown option '${_}'${$}`;this.error(D,{code:"commander.unknownOption"})}_excessArguments(_){if(this._allowExcessArguments)return;let $=this.registeredArguments.length,D=$===1?"":"s",U=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${$} argument${D} but got ${_.length}.`;this.error(U,{code:"commander.excessArguments"})}unknownCommand(){let _=this.args[0],$="";if(this._showSuggestionAfterError){let I=[];this.createHelp().visibleCommands(this).forEach((U)=>{if(I.push(U.name()),U.alias())I.push(U.alias())}),$=u8(_,I)}let D=`error: unknown command '${_}'${$}`;this.error(D,{code:"commander.unknownCommand"})}version(_,$,D){if(_===void 0)return this._version;this._version=_,$=$||"-V, --version",D=D||"output the version number";let I=this.createOption($,D);return this._versionOptionName=I.attributeName(),this._registerOption(I),this.on("option:"+I.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 D=this.parent?._findCommand(_);if(D){let I=[D.name()].concat(D.aliases()).join("|");throw Error(`cannot add alias '${_}' to command '${this.name()}' as already have command '${I}'`)}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((D)=>{return vw(D)});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=T6.basename(_,T6.extname(_)),this}executableDir(_){if(_===void 0)return this._executableDir;return this._executableDir=_,this}helpInformation(_){let $=this.createHelp(),D=this._getOutputContext(_);$.prepareContext({error:D.error,helpWidth:D.helpWidth,outputHasColors:D.hasColors});let I=$.formatHelp(this,$);if(D.hasColors)return I;return this._outputConfiguration.stripColor(I)}_getOutputContext(_){_=_||{};let $=!!_.error,D,I,U;if($)D=(j)=>this._outputConfiguration.writeErr(j),I=this._outputConfiguration.getErrHasColors(),U=this._outputConfiguration.getErrHelpWidth();else D=(j)=>this._outputConfiguration.writeOut(j),I=this._outputConfiguration.getOutHasColors(),U=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(j)=>{if(!I)j=this._outputConfiguration.stripColor(j);return D(j)},hasColors:I,helpWidth:U}}outputHelp(_){let $;if(typeof _==="function")$=_,_=void 0;let D=this._getOutputContext(_),I={error:D.error,write:D.write,command:this};this._getCommandAndAncestors().reverse().forEach((E)=>E.emit("beforeAllHelp",I)),this.emit("beforeHelp",I);let U=this.helpInformation({error:D.error});if($){if(U=$(U),typeof U!=="string"&&!Buffer.isBuffer(U))throw Error("outputHelp callback must return a string or a Buffer")}if(D.write(U),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",I),this._getCommandAndAncestors().forEach((E)=>E.emit("afterAllHelp",I))}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(S_.exitCode??0);if($===0&&_&&typeof _!=="function"&&_.error)$=1;this._exit($,"commander.help","(outputHelp)")}addHelpText(_,$){let D=["beforeAll","before","after","afterAll"];if(!D.includes(_))throw Error(`Unexpected value for position to addHelpText. -Expecting one of '${D.join("', '")}'`);let I=`${_}Help`;return this.on(I,(U)=>{let E;if(typeof $==="function")E=$({error:U.error,command:U.command});else E=$;if(E)U.write(`${E} -`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((I)=>$.is(I)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function y8(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let D,I="127.0.0.1",U="9229",E;if((E=$.match(/^(--inspect(-brk)?)$/))!==null)D=E[1];else if((E=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(D=E[1],/^\d+$/.test(E[3]))U=E[3];else I=E[3];else if((E=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)D=E[1],I=E[3],U=E[4];if(D&&U!=="0")return`${D}=${I}:${parseInt(U)+1}`;return $})}function Yz(){if(S_.env.NO_COLOR||S_.env.FORCE_COLOR==="0"||S_.env.FORCE_COLOR==="false")return!1;if(S_.env.FORCE_COLOR||S_.env.CLICOLOR_FORCE!==void 0)return!0;return}xw.Command=Qz;xw.useColor=Yz});var m8=U4((nw)=>{var{Argument:c8}=BN(),{Command:Kz}=h8(),{CommanderError:hw,InvalidArgumentError:n8}=k1(),{Help:cw}=gz(),{Option:d8}=Xz();nw.program=new Kz;nw.createCommand=(_)=>new Kz(_);nw.createOption=(_,$)=>new d8(_,$);nw.createArgument=(_,$)=>new c8(_,$);nw.Command=Kz;nw.Option=d8;nw.Argument=c8;nw.Help=cw;nw.CommanderError=hw;nw.InvalidArgumentError=n8;nw.InvalidOptionArgumentError=n8});import{chmodSync as hz,closeSync as wD,existsSync as L0,fsyncSync as dN,lstatSync as xY,openSync as mN,readFileSync as rD,renameSync as cz,unlinkSync as lN,writeFileSync as iN}from"fs";import{randomUUID as fD}from"crypto";import{basename as uY,dirname as nz,join as nN}from"path";import{chmodSync as kz,existsSync as CY,mkdirSync as rN,readFileSync as vY,writeFileSync as Cz}from"fs";import{homedir as fN}from"os";import{dirname as wY,join as y_,resolve as vz}from"path";var s$=y_(".hasna","knowledge"),wz=y_(".hasna","apps","knowledge"),P_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:s$,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 rz(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:P_.s3.bucket,prefix:P_.s3.prefix,region:P_.s3.region,profile:P_.s3.profile,server_side_encryption:P_.s3.server_side_encryption}}}function CD(){return y_(fN(),".open-knowledge","db.json")}function f1(){return y_(fN(),".hasna","knowledge")}function xN(_=process.cwd()){return vz(_,s$)}function rY(){return y_(fN(),wz)}function fY(_=process.cwd()){return vz(_,wz)}function uN(_,$=process.cwd()){if(_==="project"||_==="local")return j$(fY($));return j$(rY())}function j$(_){return{home:_,configPath:y_(_,"config.json"),jsonStorePath:y_(_,"db.json"),knowledgeDbPath:y_(_,"knowledge.db"),artifactsDir:y_(_,"artifacts"),cacheDir:y_(_,"cache"),exportsDir:y_(_,"exports"),indexesDir:y_(_,"indexes"),logsDir:y_(_,"logs"),runsDir:y_(_,"runs"),schemasDir:y_(_,"schemas"),wikiDir:y_(_,"wiki")}}function vD(){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 S0(_){let $=j$(_);rN($.home,{recursive:!0,mode:448});for(let D of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])rN(D,{recursive:!0,mode:448});if(!CY($.configPath))Cz($.configPath,`${JSON.stringify(vD(),null,2)} -`,{mode:384}),kz($.configPath,384);return $}function x1(_,$=process.cwd()){if(_==="project"||_==="local")return j$(xN($));return j$(f1())}function u$(_){rN(wY(_),{recursive:!0})}function yN(_){let $=vY(_,"utf8");return JSON.parse($)}function fz(_,$){u$(_),Cz(_,`${JSON.stringify($,null,2)} -`,{mode:384}),kz(_,384)}function y1(){return j$(f1()).jsonStorePath}function xD(_){if(_===y1()&&L0(CD()))oN();if(!L0(_))u$(_),lz(_,`${JSON.stringify({items:[]},null,2)} -`)}function yY(_){return _.toISOString().replace(/[:.]/g,"-")}function tN(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function hY(_){let $=new Set;for(let D of _)for(let I of tN(D))$.add(I);return $}function cY(_,$){return tN($).some((D)=>_.has(D))}function hN(_,$){u$(_),iN(_,`${JSON.stringify($,null,2)} -`,{mode:384}),hz(_,384)}function xz(_){let $=JSON.parse(rD(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let D={items:[]},I=0;for(let U of $.items)if(U&&typeof U==="object"&&typeof U.id==="string"&&U.id.length>0)D.items.push(U);else I+=1;return{store:D,skippedInvalid:I}}function oN(_={}){if(_.dryRun===!0)return uz(_);return y$(y1(),()=>uz(_),{createParent:!0})}function uz(_={}){let $=_.dryRun===!0,D=_.now??new Date,I=j$(f1()),U=CD(),E=I.jsonStorePath,j=L0(U),N=L0(E),O={ok:!0,dry_run:$,legacy_path:U,canonical_path:E,legacy_exists:j,canonical_existed:N,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:j?"Legacy global store already imported":"No legacy global store found"};if(!j)return O;let S;try{let G=xz(U);S=G.store,O.skipped_invalid=G.skippedInvalid}catch(G){return O.ok=!1,O.errors.push(`Could not read legacy store: ${G instanceof Error?G.message:String(G)}`),O.message="Legacy global store import failed",O}let L={items:[]};if(N)try{L=xz(E).store}catch(G){return O.ok=!1,O.errors.push(`Could not read canonical store: ${G instanceof Error?G.message:String(G)}`),O.message="Legacy global store import failed",O}let W=hY(L.items),g={items:[...L.items]};for(let G of S.items){if(!G?.id){O.skipped_invalid+=1;continue}if(cY(W,G)){O.skipped_existing+=1;continue}g.items.push(G);for(let J of tN(G))W.add(J);O.imported+=1}if(O.would_create_canonical=!N&&O.imported>0,O.canonical_created=!$&&O.would_create_canonical,O.message=O.imported>0?`Imported ${O.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||O.imported===0)return O;let z=`${yY(D)}-${fD().slice(0,8)}`;if(N)O.backup_path=nN(I.exportsDir,`legacy-open-knowledge-db-before-import-${z}.json`),hN(O.backup_path,L);return hN(E,g),O.report_path=nN(I.runsDir,`legacy-open-knowledge-import-${z}.json`),hN(O.report_path,O),O}function I4(_){if(!L0(_))return{exists:!1,items:[]};let $=rD(_,"utf8"),D=JSON.parse($);if(!D||!Array.isArray(D.items))return{exists:!0,items:[]};return{exists:!0,items:D.items}}function nY(_){return`${_}.lock`}var u1=1e4,dz=25,yz=120000,dY=new Int32Array(new SharedArrayBuffer(4));function pN(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function mz(_){let $=null;try{$=mN(nz(_),"r"),dN($)}catch{}finally{if($!==null)try{wD($)}catch{}}}var cN=new Set;function lz(_,$){u$(_);let D=nN(nz(_),`.${uY(_)}.tmp.${fD()}`),I=null;try{I=mN(D,"wx",384),iN(I,$),dN(I),wD(I),I=null,cz(D,_);try{hz(_,384)}catch{}mz(_)}catch(U){if(I!==null)try{wD(I)}catch{}try{lN(D)}catch{}throw U}}function iz(_){Atomics.wait(dY,0,0,_)}function mY(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return pN($)!=="ESRCH"}}function tz(_,$){try{let D=rD(_,"utf8"),I=JSON.parse(D);if(typeof I.ts==="number")return $-I.ts>yz&&!mY(I.pid)}catch{}try{return $-xY(_).mtimeMs>yz}catch{return!1}}function lY(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),D=`${_}.stale.${$}.${fD()}`;try{cz(_,D)}catch(I){if(pN(I)!=="ENOENT")throw I;return}}function iY(_){let $=fD(),D=`${_}.breaker`,I=Date.now();while(Date.now()-I{I=E};while(Date.now()-DEQ)return null;D=sY(_,"utf8")}catch{return null}let I=SQ(D);for(let U of $){let E=I.get(U)?.trim();if(E)return E}return null}function W0(_,$,D){if(!AQ.test(D))return;throw new yD(_,`The credential from ${$} contains characters that cannot be sent in an HTTP header (a control character or non-ASCII byte). A file written with CR-only line endings is the usual cause. Rewrite that credential file with one LF-terminated KEY=value line. The value is not shown here, and is deliberately never logged.`,[$])}var LQ=Symbol.for("nodejs.util.inspect.custom");function J0(_){let{apiKey:$,...D}=_,I={...D};return Object.defineProperty(I,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(I,LQ,{value:()=>({...D,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),I}function WQ(_,$){return W0(_,"explicit apiKey option",$),J0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function D3(_,$){for(let D of $){let I=_[D]?.trim();if(I)return{key:D,value:I}}return null}var U3=Symbol.for("hasna:contracts:credentialDeprecationNotices");function JQ(){let _=globalThis,$=_[U3];if($ instanceof Set)return $;let D=new Set;return _[U3]=D,D}function PQ(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} -`)}function _2(_,$,D={}){let{apiKeyKeys:I}=N3(_),U=A3(_,$),E=D.apiKey?.trim();if(E)return W0(_,"the explicit apiKey argument",E),J0({apiKey:E,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:U,warning:null});let j=aY(_),N=$[j];if(N!==void 0){let W=N.trim();if(!W)throw new yD(_,`${j} is set but empty. It is a deliberate override, so it is not resolved around: either give it a real key or unset it to fall back to the credential on disk.`,[j]);return W0(_,j,W),J0({apiKey:W,tier:"override",source:j,deliberate:!0,deprecated:!1,diskCandidates:U,warning:null})}let O=D.profile?.trim()||$[eN]?.trim();if(O){let W=D.profile?.trim()?"explicit profile argument":eN;if(!NQ.test(O))throw new yD(_,`Profile name from ${W} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[W]);let g=O3(_,$,O);for(let z of g){let G=$3(z,I);if(G)return W0(_,z,G),J0({apiKey:G,tier:"profile",source:z,deliberate:!0,deprecated:!1,diskCandidates:g,warning:null})}throw new yD(_,`Profile '${O}' (from ${W}) has no ${I[0]} for '${_}'. Looked in: ${g.join(", ")||""}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${eN}.`,g)}let S=U.map((W)=>({path:W,value:$3(W,I)})).filter((W)=>W.value!==null);if(S.length>0){let W=S[0];W0(_,W.path,W.value);let g=[...S.slice(1).filter((G)=>G.value!==W.value).map((G)=>G.path),...(()=>{let G=D3($,I);return G&&G.value!==W.value?[G.key]:[]})()],z=g.length>0?`Credential sources disagree for '${_}': ${W.path} and ${g.join(", ")} hold different keys. ${W.path} wins, because a file on `+"disk is re-read on every call while an environment variable is a snapshot. Reconcile them \u2014 "+"a rotation that updated only one leaves the other to fail 401 wherever it is loaded first.":null;return J0({apiKey:W.value,tier:"disk",source:W.path,deliberate:!1,deprecated:!1,diskCandidates:U,warning:z})}let L=D3($,I);if(L){W0(_,L.key,L.value);let W=U.length>0?`Put the current key in ${U[0]} \u2014 it is re-read on every call, so rotations take effect immediately.`:"This environment has no HOME, so no credential file could be consulted at all; the disk tier is unavailable here and this process will keep using the environment snapshot.",g=`[${_}] DEPRECATED: the API key came from ${L.key} in this process's environment. Environment variables are a snapshot taken when this process started, so a shell that started before a key rotation keeps using the old key until it exits. ${W}`,z=D.onDeprecation??PQ,G=JQ();if(!G.has(_))G.add(_),z(g);return J0({apiKey:L.value,tier:"legacy-env",source:L.key,deliberate:!1,deprecated:!0,diskCandidates:U,warning:g})}return null}var V6="HASNA_FLEET_API_DOMAIN",P0="your-deployment.example",D2=/[\u0000-\u001f\u007f]/,S3=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function h1(_){if(_.length===0||_.length>253||D2.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&S3.test($))}function zQ(_){let $=_[V6];if($===void 0)return{domain:P0,source:"default",misconfigured:!0,warning:`${V6} is not set; using the non-resolving ${P0} fallback.`};let D=$.trim().toLowerCase();if(D2.test($)||!h1(D))return{domain:P0,source:V6,misconfigured:!0,warning:`${V6} is blank or invalid; using the non-resolving ${P0} fallback.`};return{domain:D,source:V6,misconfigured:!1,warning:null}}function L3(_){if(_.length>63||!S3.test(_))throw Error("App name must be one lowercase DNS label.");return _}function gQ(_,$){let D=`${L3(_)}.${$}`;if(!h1(D))throw Error("Composed cloud hostname must be a valid DNS domain");return D}function XQ(_,$){let D=L3(_),I=zQ($),U=`${D}.${I.domain}`;if(h1(U))return{baseUrl:`https://${U}`,source:I.source,misconfigured:I.misconfigured,warning:I.warning};return{baseUrl:`https://${gQ(D,P0)}`,source:I.source,misconfigured:!0,warning:`${V6} cannot form a valid composed cloud hostname for app '${D}'; using the non-resolving ${P0} fallback.`}}function aN(_,$,D={}){for(let I of $){let U=_[I],E=U?.trim();if(E)return{key:I,value:D.preserveRaw?U:E}}return null}function GQ(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let D=_.slice($[0].length),I=D.search(/[/?#]/),U=I===-1?D:D.slice(0,I);if(!U)throw Error("API URL must include a hostname.");return U}function I3(_){if(!/^[0-9]+$/.test(_)||_.length>1&&_.startsWith("0"))throw Error("API URL authority must contain a canonical port between 1 and 65535.");let $=Number(_);if(!Number.isSafeInteger($)||$<1||$>65535)throw Error("API URL authority must contain a canonical port between 1 and 65535.")}function RQ(_){let $;if(_.startsWith("[")){let D=_.indexOf("]");if(D===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,D+1);let I=_.slice(D+1);if(I){if(!I.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");I3(I.slice(1))}if(sz($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let D=_.indexOf(":"),I=_.lastIndexOf(":");if(D!==I)throw Error("IPv6 API URL authorities must use brackets.");if(I!==-1){let N=_.slice(I+1);I3(N),$=_.slice(0,I)}else $=_;let U=sz($),j=$.split(".").every((N)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(N));if(U!==4&&j||U!==4&&!h1($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function YQ(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function W3(_){if(D2.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),D=GQ($);if(D.includes("@")||D.includes("\\")||D.includes("%")||/[^\x00-\x7f]/.test(D))throw Error("API URL authority must be canonical ASCII without credentials.");let I=RQ(D),U=new URL($);if(U.protocol!=="http:"&&U.protocol!=="https:")throw Error("API URL must use http or https.");if(U.username||U.password)throw Error("API URL must not include credentials.");if(!U.hostname||U.hostname.endsWith("."))throw Error("API URL must include a canonical hostname.");if(U.hostname.toLowerCase()!==I)throw Error("API URL authority must not rely on parser hostname normalization.");if(U.hostname.split(".").some((j)=>j.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(U.protocol==="http:"&&!YQ(D))throw Error("API URL may use http only for an exact loopback authority.");if(U.search||U.hash)throw Error("API URL must not include a query string or fragment.");let E=U.pathname.replace(/\/+$/,"");if(E.endsWith("/v1"))E=E.slice(0,-3);return U.pathname=`${E}/v1`,U.toString().replace(/\/+$/,"")}function QQ(_,$=process.env,D={}){let I=N3(_),U=aN($,I.modeKeys),E=aN($,I.apiUrlKeys,{preserveRaw:!0}),j=aN($,I.apiKeyKeys),N="sqlite",O="default",S=[],L;if(U)N=eY(U.value).mode,O=U.key;else if(E){if(L=_2(_,$,D.credentials),L)N="postgres",O=`${E.key}+${L.source}`}if(N==="sqlite")return{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(j),apiKeySource:j?j.key:null,apiKeyTier:null,misconfigured:!1,warning:S.length>0?S.join(" "):null};if(L===void 0)L=_2(_,$,D.credentials);if(!L){let G=J3(_,$);return S.push(`${O}=postgres but no API key could be resolved for '${_}'. A client reaches server data over HTTP only; refusing to route. Using the local sqlite store. Looked for a credential file at ${G}, then for ${I.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:S.join(" ")}}if(L.warning)S.push(L.warning);let W=null,g=E?.key??($[V6]===void 0?"default":V6),z;try{if(!E)W=XQ(_,$),g=W.source;let G=E?.value??W.baseUrl;z=W3(G)}catch(G){let J=G instanceof Error?G.message:String(G);return S.push(`Invalid API URL from ${g}: ${J}. Using local store.`),{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:!0,warning:S.join(" ")}}if(W?.warning)S.push(W.warning);return{transport:"http",mode:N,modeSource:O,baseUrl:z,apiUrlSource:g,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:W?.misconfigured??!1,warning:S.length>0?S.join(" "):null}}function J3(_,$){let D=A3(_,$);return D.length>0?D.join(" or "):""}class z0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,D,I,U){let E=U?`. ${U.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${D}${E}`);this.name="HasnaHttpError",this.status=D,this.method=_,this.path=$,this.body=I,this.credentialSource=U?.source??null,this.credentialTier=U?.tier??null}}function KQ(_,$){if(typeof $==="function")return $();return WQ(_,$)}function TQ(_){let $=`The API key for this request came from ${_.source}`;if(_.deliberate)return`${$} \u2014 a credential you selected deliberately. It was NOT substituted with any other key: `+"falling back here would authenticate as a different principal than the one you named, which is exactly the failure an override exists to prevent. Rotate that key, or unset the override to use the credential on disk.";if(_.deprecated){let D=_.diskCandidates[0],I=D?`Write the CURRENT key to ${D} \u2014 that file is re-read on every call, so rotations take `+`effect immediately and in every shell. Do not simply unset ${_.source}: nothing was found on disk, so that would leave this client with no credential at all.`:"This environment has no HOME, so no credential file could be consulted; the disk tier is unavailable here and there is nothing to fall back to. Set HOME, or supply the key explicitly.";return`${$}, a variable in this process's environment \u2014 which is a snapshot taken when the process `+`started. A STALE SHELL is the most common cause of this error: this shell exported the key before it was rotated, and will keep sending the old one until it exits. ${I}`}return`${$}, which was re-read from disk on this very call \u2014 so a stale shell is NOT the cause here. `+"The stored credential is genuinely being rejected: rotate it, or re-run the fleet key distribution so this machine gets the current key."}var FQ=[408,425,429,500,502,503,504],VQ=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),BQ=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function E3(_,$){if(!_)return;let D=Object.keys(_).find((I)=>BQ.has(I.trim().toLowerCase()));if(D)throw Error(`Authenticated ${$} headers must not set authority header '${D}'.`)}function MQ(_,$){if(!$)return _;let D=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[U,E]of Object.entries($)){if(E===null||E===void 0)continue;if(Array.isArray(E))for(let j of E)D.append(U,String(j));else D.append(U,String(E))}let I=D.toString();if(!I)return _;return`${_}${_.includes("?")?"&":"?"}${I}`}var ZQ=(_)=>new Promise(($)=>setTimeout($,_));function HQ(_){let $=_.fetchImpl??((S,L)=>fetch(S,L)),D=W3(_.baseUrl),I=_.timeoutMs??30000,U=_.sleepImpl??ZQ,E=_.retry;function j(S){let L=S!==void 0?S:E;if(L===!1)return null;let W=L??{};return{retries:W.retries??2,baseDelayMs:W.baseDelayMs??200,maxDelayMs:W.maxDelayMs??2000,retryStatuses:W.retryStatuses??[...FQ]}}async function N(S,L,W,g,z,G){E3(_.headers,"transport"),E3(z.headers,"request");let J={"x-api-key":G.apiKey,Authorization:`Bearer ${G.apiKey}`,Accept:"application/json",..._.headers??{},...z.headers??{}};if(z.idempotencyKey)J["Idempotency-Key"]=z.idempotencyKey;let P={method:S,headers:J,redirect:"manual"};if(g!==void 0)J["Content-Type"]="application/json",P.body=JSON.stringify(g);let X=new AbortController,R=()=>X.abort();if(z.signal)if(z.signal.aborted)X.abort();else z.signal.addEventListener("abort",R,{once:!0});let T=setTimeout(()=>X.abort(),z.timeoutMs??I);P.signal=X.signal;let Y;try{Y=await $(W,P)}catch(B){let b=B instanceof Error?B:Error(String(B));if(z.signal?.aborted)return{ok:!1,retryable:!1,error:b};return{ok:!1,retryable:!0,error:b}}finally{if(clearTimeout(T),z.signal)z.signal.removeEventListener("abort",R)}let Q=await Y.text(),F=void 0;if(Q.length>0)try{F=JSON.parse(Q)}catch{F=Q}if(!Y.ok){if(Y.status>=300&&Y.status<400)return{ok:!1,retryable:!1,error:new z0(S,L,Y.status,F)};if(Y.status===401||Y.status===403)return{ok:!1,retryable:!1,error:new z0(S,L,Y.status,F,{source:G.source,tier:G.tier,guidance:TQ(G)})};let B=j(z.retry);return{ok:!1,retryable:B?B.retryStatuses.includes(Y.status):!1,error:new z0(S,L,Y.status,F)}}return{ok:!0,value:F}}async function O(S,L,W,g={}){let z=S.toUpperCase(),G=MQ(L.startsWith("/")?L:`/${L}`,g.query),J=`${D}${G}`,P=j(g.retry),X=VQ.has(z)||Boolean(g.idempotencyKey),R=P&&X?P.retries+1:1,T=KQ(_.name,_.apiKey),Y=null;for(let Q=1;Q<=R;Q++){let F=await N(z,G,J,W,g,T);if(F.ok)return F.value;if(Y=F,!(P!==null&&X&&F.retryable&&QO("GET",S,void 0,L),post:(S,L,W)=>O("POST",S,L,W),put:(S,L,W)=>O("PUT",S,L,W),patch:(S,L,W)=>O("PATCH",S,L,W),del:(S,L,W)=>O("DELETE",S,L,W)}}function bQ(_,$=process.env,D){let I=D?.credentials,U=QQ(_,$,{...I?{credentials:I}:{}});if(U.misconfigured)throw Error(U.warning??`Client for '${_}' is misconfigured for the API client.`);if(U.transport==="sqlite"||!U.baseUrl)return{transport:"sqlite",client:null,resolution:U};let E=()=>{let j=_2(_,$,I);if(!j)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${J3(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return j};return{transport:"http",client:HQ({name:_,baseUrl:U.baseUrl,apiKey:E,...D?.fetchImpl?{fetchImpl:D.fetchImpl}:{},...D?.headers?{headers:D.headers}:{},...D?.timeoutMs?{timeoutMs:D.timeoutMs}:{},...D?.retry!==void 0?{retry:D.retry}:{},...D?.sleepImpl?{sleepImpl:D.sleepImpl}:{}}),resolution:U}}function $2(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function sN(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${$2(_)}/${encodeURIComponent(String($))}`}function qQ(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function kQ(_){if(Array.isArray(_))return _;if(_&&typeof _==="object"){let $=_;for(let D of["items","data","results","rows","records"])if(Array.isArray($[D]))return $[D]}return[]}function CQ(_){if(_&&typeof _==="object"){let $=_;for(let D of["total","count","totalCount","total_count"])if(typeof $[D]==="number")return $[D]}return null}function vQ(_){if(_&&typeof _==="object"){let $=_;for(let D of["cursor","nextCursor","next_cursor","next"])if(typeof $[D]==="string")return $[D]}return null}function wQ(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(D,I={}){let U=await $.get($2(D),I);return{items:kQ(U),total:CQ(U),cursor:vQ(U),raw:U}},async get(D,I,U={}){try{return await $.get(sN(D,I),U)}catch(E){if(E instanceof z0&&E.status===404)return null;throw E}},async create(D,I,U={}){let{idempotencyKey:E,...j}=U;return $.post($2(D),I,{...j,idempotencyKey:E??qQ()})},async update(D,I,U,E={}){let{method:j="PATCH",idempotencyKey:N,...O}=E;return(j==="PUT"?$.put:$.patch)(sN(D,I),U,{...O,...N?{idempotencyKey:N}:{}})},async delete(D,I,U={}){try{await $.del(sN(D,I),void 0,U)}catch(E){if(E instanceof z0&&E.status===404)return;throw E}}}}function U2(_,$=process.env,D){let I=bQ(_,$,D);if(I.transport==="http")return{transport:"http",client:wQ(_,I.client)};return{transport:"sqlite",client:null}}function P3(_){return _.toUpperCase().replace(/-/g,"_")}function z3(_){let $=P3(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function g3(_){return`HASNA_${P3(_)}_API_KEY_OVERRIDE`}var X3="HASNA_PROFILE";function hD(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}function c1(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}import tf from"pg";class n1 extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function g0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function G3(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((D)=>/^\d{1,3}$/.test(D)&&Number(D)<=255))return!1;return $[0]==="127"}function yQ(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(G3($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let D=$.slice(1,-1);if(D==="::1"||/^(0:){7}1$/.test(D))return!0;let I=D.split(":").pop()??"";if(/^(::ffff:|::)/.test(D)&&G3(I))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(D)}function Q3(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function R3(_,$=process.env){if(!g0($))return;let D=Q3(_),I;try{I=new URL(D)}catch{throw new n1("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(yQ(I.hostname))return;throw new n1(`knowledge: refused a non-loopback ${I.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=sqlite) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:I.protocol.replace(":",""),port:I.port})}var hQ=new Set([301,302,303,307,308]),Y3=5;function cQ(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function X0(_,$){if(R3(_),!g0()||$?.redirect!==void 0)return fetch(_,$);let D=Q3(_),I=cQ(_,$),U=$?.body,E=await fetch(_,{...$??{},redirect:"manual"});for(let j=0;hQ.has(E.status);j++){let N=E.headers.get("location");if(!N)return E;let O=new URL(N,D).href;if(R3(O),j>=Y3){let L=new URL(O);throw new n1(`knowledge: refused to follow more than ${Y3} redirects while NODE_ENV=test (target host withheld on purpose). Under test the guard follows redirects itself so every hop is checked, and a chain this long is a loop, not a route.`,{scheme:L.protocol.replace(":",""),port:L.port})}if(E.status===303||(E.status===301||E.status===302)&&I!=="GET"&&I!=="HEAD")I="GET",U=void 0;let S={...$??{},method:I,redirect:"manual"};if(U===void 0)delete S.body;else S.body=U;E=await fetch(O,S),D=O}return E}var cD="knowledge",I2=z3(cD),$6=I2.modeKeys,m1=I2.apiUrlKeys,l1=I2.apiKeyKeys;function d1(_,$){return $.filter((D)=>(_[D]??"").trim().length>0)}function nD(_=process.env){let $=[...d1(_,m1),...d1(_,l1)],D=$6[0];for(let I of $6){let U=_[I]?.trim();if(!U)continue;let E;try{E=c1(U)}catch(N){let O=N instanceof Error?N.message:String(N);throw Error(`knowledge: ${I}=${U} is not a valid mode. ${O} Unset ${I} to use the default sqlite backend, or set ${I}=sqlite or ${I}=postgres.`)}let j=[];if(I!==D)j.push(`Using alias env ${I}; the canonical key is ${D}.`);if(E.mode==="sqlite"&&$.length>0)j.push(`${I}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:E.mode,source:{kind:"env",name:I,value:U},pointer_env_present:$,pointer_ignored:E.mode==="sqlite"&&$.length>0,warning:j.length>0?j.join(" "):null}}return{mode:"sqlite",source:{kind:"default",name:null,value:null},pointer_env_present:$,pointer_ignored:$.length>0,warning:$.length>0?`${$.join(", ")} are set but do NOT select a backend: mode is sqlite by default. Set ${D}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var nQ=["postgres"],dQ=["sqlite"],K3=new Map;function T3(_,$,D){let I=$===hD;if(I){let U=K3.get(_);if(U!==void 0)return U}for(let U of _)try{if($(U),I)K3.set(_,U);return U}catch{}throw Error(`knowledge: no known storage token is accepted by the installed @hasna/contracts (tried ${_.join(", ")}). The storage-mode enum has changed; add the new token to ${D} in src/knowledge-mode.ts.`)}function mQ(_=hD){return T3(nQ,_,"SERVER_MODE_CANDIDATES")}function lQ(_=hD){return T3(dQ,_,"LOCAL_MODE_CANDIDATES")}function iQ(_,$=hD){return _==="postgres"?mQ($):lQ($)}function E2(_,$){return{..._,[$6[0]]:iQ($)}}class F3 extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=$6[0];super(`knowledge: ${_.join(", ")} names an API store, but no mode variable says to use it, so this command would silently read and write the on-box store instead. Set ${$}=postgres to use the API, or ${$}=sqlite to confirm you want the on-box store. Run 'knowledge mode' to see the full resolution.`);this.name="HalfConfiguredKnowledgeClientError"}}function V3(_=process.env,$={}){let D=nD(_);if($.storePathOverridden)return D;if(D.source.kind!=="default")return D;let I=d1(_,m1);if(I.length===0)return D;throw new F3(I)}function B3(_=process.env){let $=nD(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:d1(_,l1).length>0,network_guard_active:g0(_)}}function j2(_){return Boolean(_&&typeof _==="object"&&_.query_capability==="hasna.knowledge.bounded-query.v1")}function M3(_){return{fetchImpl:X0,...g0(_)?{retry:!1}:{}}}var D6="notes";class G0 extends Error{expected;current;code="version_conflict";constructor(_,$){super(`version_conflict: this edit was written against version ${_} but the stored entry is now at version ${$}. Nothing was written. Re-read the entry and re-apply only if the fields you are changing are untouched between the two versions.`);this.expected=_;this.current=$;this.name="KnowledgeVersionConflictError"}}class A2 extends Error{operation;fields;code="bounded_query_capability_required";constructor(_,$){super(`bounded_query_capability_required: the Knowledge server did not prove support for ${_} field(s): ${$.join(", ")}. Refusing to accept a possibly unfiltered response; update the server and retry.`);this.operation=_;this.fields=$;this.name="KnowledgeBoundedQueryCapabilityError"}}function tQ(_){let $={};if(_.search)$.filter=_.search,$.search=_.search;if(_.tags?.length)$.tags=_.tags;if(_.archive){if($.archive=_.archive,_.archive==="all")$.includeArchived=!0}if(_.sort)$.sort=_.sort;if(_.direction)$.direction=_.direction;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;return $}function oQ(_){let $=[];if(_.tags?.length)$.push("tags");if(_.sort!==void 0)$.push("sort");if(_.direction!==void 0)$.push("direction");if(_.archive==="archived")$.push("archive=archived");return $}function i1(_,$,D,I,U){let E=_??$;if(!Number.isFinite(E)||!Number.isInteger(E)||EU)throw Error(`${D} must be an integer between ${I} and ${U}.`);return E}function pQ(_){return{baseUrl:_.baseUrl,async list($={}){let D=i1($.limit,200,"limit",1,200),I=i1($.offset,0,"offset",0,1e4),U=tQ({...$,limit:D,offset:I}),E=await _.list(D6,{query:U});if(!Number.isInteger(E.total)||Number(E.total)<0)throw Error("knowledge cloud list response is missing a valid producer total.");let j=oQ($);if(j.length>0&&!j2(E.raw))throw new A2("list",j);return{items:E.items,total:Number(E.total)}},async search($){let D=i1($.limit,20,"limit",1,200),I=i1($.offset,0,"offset",0,1e4),U=await _.transport.get(`/${D6}/search`,{query:{q:$.query,archive:$.archive??"active",limit:D,offset:I}});if(!Number.isInteger(U.total)||U.total<0||!Array.isArray(U.items)||U.items.some((E)=>!E||typeof E!=="object"||!E.item||typeof E.rank!=="number"||!Number.isFinite(E.rank)))throw Error("knowledge cloud search response is missing producer rank or total evidence.");if(!j2(U))throw new A2("search",["q","rank","total"]);return{items:U.items,total:U.total}},async get($){return _.get(D6,$)},async create($){return _.create(D6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,D,I={}){try{return await _.update(D6,$,D,{...I.expectedVersion!==void 0?{headers:{"if-match":String(I.expectedVersion)}}:{}})}catch(U){if(N2(U))return null;let E=eQ(U);if(E)throw E;throw U}},async delete($){let D=await _.get(D6,$);if(!D)return!1;return await _.delete(D6,D.id),!0},async listVersions($,D={}){try{return await _.transport.get(`/${D6}/${encodeURIComponent($)}/versions`,{query:{limit:D.limit,offset:D.offset}})}catch(I){if(N2(I))return null;throw I}},async getVersion($,D){try{return await _.transport.get(`/${D6}/${encodeURIComponent($)}/versions/${D}`)}catch(I){if(N2(I))return null;throw I}}}}function eQ(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,I=(typeof $==="string"?aQ($):$)??{};if(I.error!=="version_conflict")return null;return new G0(Number(I.expected??0),Number(I.current??0))}function aQ(_){try{return JSON.parse(_)}catch{return null}}function N2(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function dD(_=process.env){let $=_7(_);return $?pQ($):null}function sQ(_){let $={..._};return delete $.HOME,delete $.USERPROFILE,delete $[X3],delete $[g3(cD)],$}function _7(_,$={}){if(nD(_).mode!=="postgres")return null;let D=$.guarded?sQ(_):_,I=U2(cD,E2(D,"postgres"),M3(D));if(I.transport!=="http")return null;return I.client}function h$(_=process.env){if(nD(_).mode!=="postgres")return!1;return U2(cD,E2(_,"postgres"),M3(_)).transport==="http"}async function t1(_){let D=[];for(let I=0;;I+=200){let{items:U}=await _.list({archive:"all",limit:200,offset:I});if(D.push(...U),U.length<200)break;if(I>1e5)break}return D}class S2 extends Error{location;code="version_history_unsupported";constructor(_){super(`Version history is not kept by the local JSON knowledge store (${_}). It has no version line, so an empty history here would be a claim, not a measurement. Entry versioning lives in the Postgres-backed store: point this CLI at it (HASNA_KNOWLEDGE_STORAGE_MODE=postgres plus the API url/key) and re-run.`);this.location=_;this.name="VersionHistoryUnsupportedError"}}function O2(_,$){return _.id===$||_.short_id===$}function D7(_,$){let D=$.trim().toLowerCase();if(!D)return!0;return _.id.toLowerCase().includes(D)||_.title.toLowerCase().includes(D)||_.content.toLowerCase().includes(D)}function U7(_,$){if($.length===0)return!0;let D=new Set((_.tags??[]).map((I)=>I.toLowerCase()));return $.every((I)=>{let U=I.trim().toLowerCase(),E=I.split(",").map((j)=>j.trim().toLowerCase()).filter(Boolean);return U.length>0&&D.has(U)||E.length>0&&E.every((j)=>D.has(j))})}function I7(_,$,D,I){let U=D==="title"?_.title.localeCompare($.title):_.created_at.localeCompare($.created_at),E=U===0?_.id.localeCompare($.id):U;return I==="desc"?-E:E}function Z3(_,$,D,I,U){let E=_??$;if(!Number.isFinite(E)||!Number.isInteger(E)||EU)throw Error(`${D} must be an integer between ${I} and ${U}.`);return E}function E7(_,$){let D=$.archive??"active",I=$.sort??"created",U=$.direction??"asc",E=Z3($.limit,50,"limit",1,200),j=Z3($.offset,0,"offset",0,1e4),N=_.filter((O)=>D==="all"||(D==="archived"?O.archived===!0:O.archived!==!0));if($.search)N=N.filter((O)=>D7(O,$.search));if($.tags?.length)N=N.filter((O)=>U7(O,$.tags));return N.sort((O,S)=>I7(O,S,I,U)),{total:N.length,items:N.slice(j,j+E)}}class H3{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new S2(this.storePath)}async getVersion(){throw new S2(this.storePath)}get location(){return this.storePath}get exists(){return $7(this.storePath)}async list(_={}){let $=I4(this.storePath);return{...E7($.items,_),exists:$.exists}}async listAll(){let _=I4(this.storePath);return{items:_.items,total:_.items.length,exists:_.exists}}async get(_){return I4(this.storePath).items.find((D)=>O2(D,_))??null}async create(_){return y$(this.storePath,()=>{let $=uD(this.storePath),D=new Date().toISOString(),I=_.id??ez(),U={id:I,short_id:az(I),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:D,updated_at:D,version:1};return $.items.push(U),_6(this.storePath,$),U},{createParent:!0})}async update(_,$,D={}){return y$(this.storePath,()=>{let I=uD(this.storePath),U=I.items.findIndex((N)=>O2(N,_));if(U===-1)return null;let E=I.items[U],j=E.version??1;if(D.expectedVersion!==void 0&&D.expectedVersion!==j)throw new G0(D.expectedVersion,j);if($.title!==void 0)E.title=$.title;if($.content!==void 0)E.content=$.content;if($.url!==void 0)E.url=$.url;if($.tags!==void 0)E.tags=$.tags;if($.metadata!==void 0)E.metadata=$.metadata;if($.archived!==void 0)E.archived=$.archived;return E.updated_at=new Date().toISOString(),E.version=j+1,I.items[U]=E,_6(this.storePath,I),E},{createParent:!0})}async delete(_){return y$(this.storePath,()=>{let $=uD(this.storePath),D=$.items.length;$.items=$.items.filter((U)=>!O2(U,_));let I=D!==$.items.length;if(I)_6(this.storePath,$);return I},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return y$(this.storePath,()=>{let D=uD(this.storePath),I=D.items.length;D.items=D.items.filter((E)=>!$.has(E.id)&&!(E.short_id!=null&&$.has(E.short_id)));let U=I-D.items.length;if(U>0)_6(this.storePath,D);return U},{createParent:!0})}}class b3{cloud;kind="api";exists=!0;supportsVersions=!0;constructor(_){this.cloud=_}async listVersions(_,$={}){return this.cloud.listVersions(_,$)}async getVersion(_,$){return this.cloud.getVersion(_,$)}get location(){return this.cloud.baseUrl}async list(_={}){let $=await this.cloud.list({search:_.search,tags:_.tags,archive:_.archive,sort:_.sort,direction:_.direction,limit:_.limit,offset:_.offset});return{items:$.items,total:$.total,exists:!0}}async listAll(){let _=await t1(this.cloud);return{items:_,total:_.length,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(_,$,D={}){return this.cloud.update(_,$,{expectedVersion:D.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let D of _)if(await this.cloud.delete(D))$+=1;return $}}function o1(_){let $=_.storePathOverridden?null:dD(_.env??process.env);if($)return new b3($);return new H3(_.storePath)}function q3(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` -`)}var L2=5000;function j7(_,$){let D=q3(_),I=q3($);if(D.length>L2||I.length>L2)throw Error(`Refusing to line-diff ${Math.max(D.length,I.length)} lines (limit ${L2}). Fetch the two versions and diff them with a dedicated tool.`);let U=Array.from({length:D.length+1},()=>Array(I.length+1).fill(0));for(let O=D.length-1;O>=0;O-=1)for(let S=I.length-1;S>=0;S-=1)U[O][S]=D[O]===I[S]?U[O+1][S+1]+1:Math.max(U[O+1][S],U[O][S+1]);let E=[],j=0,N=0;while(j=U[j][N+1])E.push({op:"remove",from_line:j+1,to_line:null,text:D[j]}),j+=1;else E.push({op:"add",from_line:null,to_line:N+1,text:I[N]}),N+=1;while(j{if(!N7(_[N],$[N]))D.push({field:N,from:_[N]??null,to:$[N]??null})};I("title"),I("url"),I("tags"),I("metadata"),I("archived");let U=j7(_.content,$.content),E=U.filter((N)=>N.op==="add").length,j=U.filter((N)=>N.op==="remove").length;return{identical:D.length===0&&E===0&&j===0,fields:D,content:U,added:E,removed:j}}function C3(_,$,D){let I=[`--- ${$}`,`+++ ${D}`];if(_.identical)return I.push("(no changes)"),I.join(` -`);for(let U of _.fields)I.push(`~ ${U.field}: ${JSON.stringify(U.from)} -> ${JSON.stringify(U.to)}`);if(_.added===0&&_.removed===0){if(_.fields.length>0)I.push("(content unchanged)")}else{I.push(`@@ content +${_.added} -${_.removed} @@`);for(let U of _.content){let E=U.op==="add"?"+":U.op==="remove"?"-":" ";I.push(`${E}${U.text}`)}}return I.join(` -`)}import{Database as v3}from"bun:sqlite";function p1(_="catalog"){if(h$()){let $=$6[0];throw Error(`knowledge: ${_} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${$}=local `+"(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see "+"which variable selected the current backend.")}}var A7="porter unicode61 remove_diacritics 2",w3=` +`),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 L_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,L_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new Tx(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=(N)=>{let E=N.attributeName(),I=this.getOptionValue(E),W=this.options.find((L)=>L.negate&&E===L.attributeName()),J=this.options.find((L)=>!L.negate&&E===L.attributeName());if(W&&(W.presetArg===void 0&&I===!1||W.presetArg!==void 0&&I===W.presetArg))return W;return J||N},j=(N)=>{let E=U(N),I=E.attributeName();if(this.getOptionValueSource(I)==="env")return`environment variable '${E.envVar}'`;return`option '${E.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 N=D.createHelp().visibleOptions(D).filter((E)=>E.long).map((E)=>E.long);j=j.concat(N),D=D.parent}while(D&&!D._enablePositionalOptions);$=_7(_,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())}),$=_7(_,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 Rx(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=b6.basename(_,b6.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=(E)=>this._outputConfiguration.writeErr(E),j=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else U=(E)=>this._outputConfiguration.writeOut(E),j=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(E)=>{if(!j)E=this._outputConfiguration.stripColor(E);return U(E)},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((N)=>N.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((N)=>N.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(L_.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 N;if(typeof $==="function")N=$({error:D.error,command:D.command});else N=$;if(N)D.write(`${N} +`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((j)=>$.is(j)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function $7(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let U,j="127.0.0.1",D="9229",N;if((N=$.match(/^(--inspect(-brk)?)$/))!==null)U=N[1];else if((N=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=N[1],/^\d+$/.test(N[3]))D=N[3];else j=N[3];else if((N=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=N[1],j=N[3],D=N[4];if(U&&D!=="0")return`${U}=${j}:${parseInt(D)+1}`;return $})}function E3(){if(L_.env.NO_COLOR||L_.env.FORCE_COLOR==="0"||L_.env.FORCE_COLOR==="false")return!1;if(L_.env.FORCE_COLOR||L_.env.CLICOLOR_FORCE!==void 0)return!0;return}Vx.Command=I3;Vx.useColor=E3});var E7=O4((Mx)=>{var{Argument:D7}=_2(),{Command:A3}=U7(),{CommanderError:Kx,InvalidArgumentError:j7}=s1(),{Help:gx}=U3(),{Option:N7}=D3();Mx.program=new A3;Mx.createCommand=(_)=>new A3(_);Mx.createOption=(_,$)=>new N7(_,$);Mx.createArgument=(_,$)=>new D7(_,$);Mx.Command=A3;Mx.Option=N7;Mx.Argument=D7;Mx.Help=gx;Mx.CommanderError=Kx;Mx.InvalidArgumentError=j7;Mx.InvalidOptionArgumentError=j7});import{chmodSync as M3,closeSync as eU,existsSync as B0,fsyncSync as R2,lstatSync as s7,openSync as Q2,readFileSync as sU,renameSync as Z3,unlinkSync as G2,writeFileSync as T2}from"fs";import{randomUUID as _D}from"crypto";import{basename as _T,dirname as H3,join as Y2}from"path";import{chmodSync as R3,existsSync as t7,mkdirSync as J2,readFileSync as o7,writeFileSync as Q3}from"fs";import{homedir as L2}from"os";import{dirname as p7,join as l_,resolve as G3}from"path";var W6=l_(".hasna","knowledge"),T3=l_(".hasna","apps","knowledge"),z_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:W6,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 V3(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:z_.s3.bucket,prefix:z_.s3.prefix,region:z_.s3.region,profile:z_.s3.profile,server_side_encryption:z_.s3.server_side_encryption}}}function pU(){return l_(L2(),".open-knowledge","db.json")}function jj(){return l_(L2(),".hasna","knowledge")}function S2(_=process.cwd()){return G3(_,W6)}function a7(){return l_(L2(),T3)}function e7(_=process.cwd()){return G3(_,T3)}function P2(_,$=process.cwd()){if(_==="project"||_==="local")return S$(e7($));return S$(a7())}function S$(_){return{home:_,configPath:l_(_,"config.json"),jsonStorePath:l_(_,"db.json"),knowledgeDbPath:l_(_,"knowledge.db"),artifactsDir:l_(_,"artifacts"),cacheDir:l_(_,"cache"),exportsDir:l_(_,"exports"),indexesDir:l_(_,"indexes"),logsDir:l_(_,"logs"),runsDir:l_(_,"runs"),schemasDir:l_(_,"schemas"),wikiDir:l_(_,"wiki")}}function aU(){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 V0(_){let $=S$(_);J2($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])J2(U,{recursive:!0,mode:448});if(!t7($.configPath))Q3($.configPath,`${JSON.stringify(aU(),null,2)} +`,{mode:384}),R3($.configPath,384);return $}function Nj(_,$=process.cwd()){if(_==="project"||_==="local")return S$(S2($));return S$(jj())}function i$(_){J2(p7(_),{recursive:!0})}function O2(_){let $=o7(_,"utf8");return JSON.parse($)}function B3(_,$){i$(_),Q3(_,`${JSON.stringify($,null,2)} +`,{mode:384}),R3(_,384)}function Ij(){return S$(jj()).jsonStorePath}function $D(_){if(_===Ij()&&B0(pU()))B2();if(!B0(_))i$(_),C3(_,`${JSON.stringify({items:[]},null,2)} +`)}function $T(_){return _.toISOString().replace(/[:.]/g,"-")}function V2(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function UT(_){let $=new Set;for(let U of _)for(let j of V2(U))$.add(j);return $}function DT(_,$){return V2($).some((U)=>_.has(U))}function z2(_,$){i$(_),T2(_,`${JSON.stringify($,null,2)} +`,{mode:384}),M3(_,384)}function F3(_){let $=JSON.parse(sU(_,"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 B2(_={}){if(_.dryRun===!0)return K3(_);return t$(Ij(),()=>K3(_),{createParent:!0})}function K3(_={}){let $=_.dryRun===!0,U=_.now??new Date,j=S$(jj()),D=pU(),N=j.jsonStorePath,E=B0(D),I=B0(N),W={ok:!0,dry_run:$,legacy_path:D,canonical_path:N,legacy_exists:E,canonical_existed:I,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:E?"Legacy global store already imported":"No legacy global store found"};if(!E)return W;let J;try{let R=F3(D);J=R.store,W.skipped_invalid=R.skippedInvalid}catch(R){return W.ok=!1,W.errors.push(`Could not read legacy store: ${R instanceof Error?R.message:String(R)}`),W.message="Legacy global store import failed",W}let L={items:[]};if(I)try{L=F3(N).store}catch(R){return W.ok=!1,W.errors.push(`Could not read canonical store: ${R instanceof Error?R.message:String(R)}`),W.message="Legacy global store import failed",W}let S=UT(L.items),X={items:[...L.items]};for(let R of J.items){if(!R?.id){W.skipped_invalid+=1;continue}if(DT(S,R)){W.skipped_existing+=1;continue}X.items.push(R);for(let P of V2(R))S.add(P);W.imported+=1}if(W.would_create_canonical=!I&&W.imported>0,W.canonical_created=!$&&W.would_create_canonical,W.message=W.imported>0?`Imported ${W.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||W.imported===0)return W;let z=`${$T(U)}-${_D().slice(0,8)}`;if(I)W.backup_path=Y2(j.exportsDir,`legacy-open-knowledge-db-before-import-${z}.json`),z2(W.backup_path,L);return z2(N,X),W.report_path=Y2(j.runsDir,`legacy-open-knowledge-import-${z}.json`),z2(W.report_path,W),W}function z4(_){if(!B0(_))return{exists:!1,items:[]};let $=sU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function jT(_){return`${_}.lock`}var Ej=1e4,q3=25,g3=120000,NT=new Int32Array(new SharedArrayBuffer(4));function F2(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function k3(_){let $=null;try{$=Q2(H3(_),"r"),R2($)}catch{}finally{if($!==null)try{eU($)}catch{}}}var X2=new Set;function C3(_,$){i$(_);let U=Y2(H3(_),`.${_T(_)}.tmp.${_D()}`),j=null;try{j=Q2(U,"wx",384),T2(j,$),R2(j),eU(j),j=null,Z3(U,_);try{M3(_,384)}catch{}k3(_)}catch(D){if(j!==null)try{eU(j)}catch{}try{G2(U)}catch{}throw D}}function b3(_){Atomics.wait(NT,0,0,_)}function ET(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return F2($)!=="ESRCH"}}function w3(_,$){try{let U=sU(_,"utf8"),j=JSON.parse(U);if(typeof j.ts==="number")return $-j.ts>g3&&!ET(j.pid)}catch{}try{return $-s7(_).mtimeMs>g3}catch{return!1}}function IT(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${_D()}`;try{Z3(_,U)}catch(j){if(F2(j)!=="ENOENT")throw j;return}}function AT(_){let $=_D(),U=`${_}.breaker`,j=Date.now();while(Date.now()-j{j=N};while(Date.now()-UGT)return null;U=OT(_,"utf8")}catch{return null}let j=KT(U);for(let D of $){let N=j.get(D)?.trim();if(N)return N}return null}function F0(_,$,U){if(!BT.test(U))return;throw new DD(_,`The credential from ${$} contains characters that cannot be sent in an HTTP header (a control character or non-ASCII byte). A file written with CR-only line endings is the usual cause. Rewrite that credential file with one LF-terminated KEY=value line. The value is not shown here, and is deliberately never logged.`,[$])}var gT=Symbol.for("nodejs.util.inspect.custom");function K0(_){let{apiKey:$,...U}=_,j={...U};return Object.defineProperty(j,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(j,gT,{value:()=>({...U,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),j}function MT(_,$){return F0(_,"explicit apiKey option",$),K0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function c3(_,$){for(let U of $){let j=_[U]?.trim();if(j)return{key:U,value:j}}return null}var m3=Symbol.for("hasna:contracts:credentialDeprecationNotices");function ZT(){let _=globalThis,$=_[m3];if($ instanceof Set)return $;let U=new Set;return _[m3]=U,U}function HT(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} +`)}function Z2(_,$,U={}){let{apiKeyKeys:j}=i3(_),D=t3(_,$),N=U.apiKey?.trim();if(N)return F0(_,"the explicit apiKey argument",N),K0({apiKey:N,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let E=PT(_),I=$[E];if(I!==void 0){let S=I.trim();if(!S)throw new DD(_,`${E} is set but empty. It is a deliberate override, so it is not resolved around: either give it a real key or unset it to fall back to the credential on disk.`,[E]);return F0(_,E,S),K0({apiKey:S,tier:"override",source:E,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let W=U.profile?.trim()||$[K2]?.trim();if(W){let S=U.profile?.trim()?"explicit profile argument":K2;if(!VT.test(W))throw new DD(_,`Profile name from ${S} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[S]);let X=o3(_,$,W);for(let z of X){let R=r3(z,j);if(R)return F0(_,z,R),K0({apiKey:R,tier:"profile",source:z,deliberate:!0,deprecated:!1,diskCandidates:X,warning:null})}throw new DD(_,`Profile '${W}' (from ${S}) has no ${j[0]} for '${_}'. Looked in: ${X.join(", ")||""}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${K2}.`,X)}let J=D.map((S)=>({path:S,value:r3(S,j)})).filter((S)=>S.value!==null);if(J.length>0){let S=J[0];F0(_,S.path,S.value);let X=[...J.slice(1).filter((R)=>R.value!==S.value).map((R)=>R.path),...(()=>{let R=c3($,j);return R&&R.value!==S.value?[R.key]:[]})()],z=X.length>0?`Credential sources disagree for '${_}': ${S.path} and ${X.join(", ")} hold different keys. ${S.path} wins, because a file on `+"disk is re-read on every call while an environment variable is a snapshot. Reconcile them \u2014 "+"a rotation that updated only one leaves the other to fail 401 wherever it is loaded first.":null;return K0({apiKey:S.value,tier:"disk",source:S.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:z})}let L=c3($,j);if(L){F0(_,L.key,L.value);let S=D.length>0?`Put the current key in ${D[0]} \u2014 it is re-read on every call, so rotations take effect immediately.`:"This environment has no HOME, so no credential file could be consulted at all; the disk tier is unavailable here and this process will keep using the environment snapshot.",X=`[${_}] DEPRECATED: the API key came from ${L.key} in this process's environment. Environment variables are a snapshot taken when this process started, so a shell that started before a key rotation keeps using the old key until it exits. ${S}`,z=U.onDeprecation??HT,R=ZT();if(!R.has(_))R.add(_),z(X);return K0({apiKey:L.value,tier:"legacy-env",source:L.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:X})}return null}var v6="HASNA_FLEET_API_DOMAIN",g0="your-deployment.example",q2=/[\u0000-\u001f\u007f]/,p3=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function Aj(_){if(_.length===0||_.length>253||q2.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&p3.test($))}function qT(_){let $=_[v6];if($===void 0)return{domain:g0,source:"default",misconfigured:!0,warning:`${v6} is not set; using the non-resolving ${g0} fallback.`};let U=$.trim().toLowerCase();if(q2.test($)||!Aj(U))return{domain:g0,source:v6,misconfigured:!0,warning:`${v6} is blank or invalid; using the non-resolving ${g0} fallback.`};return{domain:U,source:v6,misconfigured:!1,warning:null}}function a3(_){if(_.length>63||!p3.test(_))throw Error("App name must be one lowercase DNS label.");return _}function kT(_,$){let U=`${a3(_)}.${$}`;if(!Aj(U))throw Error("Composed cloud hostname must be a valid DNS domain");return U}function CT(_,$){let U=a3(_),j=qT($),D=`${U}.${j.domain}`;if(Aj(D))return{baseUrl:`https://${D}`,source:j.source,misconfigured:j.misconfigured,warning:j.warning};return{baseUrl:`https://${kT(U,g0)}`,source:j.source,misconfigured:!0,warning:`${v6} cannot form a valid composed cloud hostname for app '${U}'; using the non-resolving ${g0} fallback.`}}function g2(_,$,U={}){for(let j of $){let D=_[j],N=D?.trim();if(N)return{key:j,value:U.preserveRaw?D:N}}return null}function bT(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let U=_.slice($[0].length),j=U.search(/[/?#]/),D=j===-1?U:U.slice(0,j);if(!D)throw Error("API URL must include a hostname.");return D}function n3(_){if(!/^[0-9]+$/.test(_)||_.length>1&&_.startsWith("0"))throw Error("API URL authority must contain a canonical port between 1 and 65535.");let $=Number(_);if(!Number.isSafeInteger($)||$<1||$>65535)throw Error("API URL authority must contain a canonical port between 1 and 65535.")}function wT(_){let $;if(_.startsWith("[")){let U=_.indexOf("]");if(U===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,U+1);let j=_.slice(U+1);if(j){if(!j.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");n3(j.slice(1))}if(u3($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let U=_.indexOf(":"),j=_.lastIndexOf(":");if(U!==j)throw Error("IPv6 API URL authorities must use brackets.");if(j!==-1){let I=_.slice(j+1);n3(I),$=_.slice(0,j)}else $=_;let D=u3($),E=$.split(".").every((I)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(I));if(D!==4&&E||D!==4&&!Aj($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function vT(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function e3(_){if(q2.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),U=bT($);if(U.includes("@")||U.includes("\\")||U.includes("%")||/[^\x00-\x7f]/.test(U))throw Error("API URL authority must be canonical ASCII without credentials.");let j=wT(U),D=new URL($);if(D.protocol!=="http:"&&D.protocol!=="https:")throw Error("API URL must use http or https.");if(D.username||D.password)throw Error("API URL must not include credentials.");if(!D.hostname||D.hostname.endsWith("."))throw Error("API URL must include a canonical hostname.");if(D.hostname.toLowerCase()!==j)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((E)=>E.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!vT(U))throw Error("API URL may use http only for an exact loopback authority.");if(D.search||D.hash)throw Error("API URL must not include a query string or fragment.");let N=D.pathname.replace(/\/+$/,"");if(N.endsWith("/v1"))N=N.slice(0,-3);return D.pathname=`${N}/v1`,D.toString().replace(/\/+$/,"")}function fT(_,$=process.env,U={}){let j=i3(_),D=g2($,j.modeKeys),N=g2($,j.apiUrlKeys,{preserveRaw:!0}),E=g2($,j.apiKeyKeys),I="sqlite",W="default",J=[],L;if(D)I=ST(D.value).mode,W=D.key;else if(N){if(L=Z2(_,$,U.credentials),L)I="postgres",W=`${N.key}+${L.source}`}if(I==="sqlite")return{transport:"sqlite",mode:I,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(E),apiKeySource:E?E.key:null,apiKeyTier:null,misconfigured:!1,warning:J.length>0?J.join(" "):null};if(L===void 0)L=Z2(_,$,U.credentials);if(!L){let R=s3(_,$);return J.push(`${W}=postgres but no API key could be resolved for '${_}'. A client reaches server data over HTTP only; refusing to route. Using the local sqlite store. Looked for a credential file at ${R}, then for ${j.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:I,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:J.join(" ")}}if(L.warning)J.push(L.warning);let S=null,X=N?.key??($[v6]===void 0?"default":v6),z;try{if(!N)S=CT(_,$),X=S.source;let R=N?.value??S.baseUrl;z=e3(R)}catch(R){let P=R instanceof Error?R.message:String(R);return J.push(`Invalid API URL from ${X}: ${P}. Using local store.`),{transport:"sqlite",mode:I,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:!0,warning:J.join(" ")}}if(S?.warning)J.push(S.warning);return{transport:"http",mode:I,modeSource:W,baseUrl:z,apiUrlSource:X,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:S?.misconfigured??!1,warning:J.length>0?J.join(" "):null}}function s3(_,$){let U=t3(_,$);return U.length>0?U.join(" or "):""}class M0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,U,j,D){let N=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${U}${N}`);this.name="HasnaHttpError",this.status=U,this.method=_,this.path=$,this.body=j,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function xT(_,$){if(typeof $==="function")return $();return MT(_,$)}function yT(_){let $=`The API key for this request came from ${_.source}`;if(_.deliberate)return`${$} \u2014 a credential you selected deliberately. It was NOT substituted with any other key: `+"falling back here would authenticate as a different principal than the one you named, which is exactly the failure an override exists to prevent. Rotate that key, or unset the override to use the credential on disk.";if(_.deprecated){let U=_.diskCandidates[0],j=U?`Write the CURRENT key to ${U} \u2014 that file is re-read on every call, so rotations take `+`effect immediately and in every shell. Do not simply unset ${_.source}: nothing was found on disk, so that would leave this client with no credential at all.`:"This environment has no HOME, so no credential file could be consulted; the disk tier is unavailable here and there is nothing to fall back to. Set HOME, or supply the key explicitly.";return`${$}, a variable in this process's environment \u2014 which is a snapshot taken when the process `+`started. A STALE SHELL is the most common cause of this error: this shell exported the key before it was rotated, and will keep sending the old one until it exits. ${j}`}return`${$}, which was re-read from disk on this very call \u2014 so a stale shell is NOT the cause here. `+"The stored credential is genuinely being rejected: rotate it, or re-run the fleet key distribution so this machine gets the current key."}var uT=[408,425,429,500,502,503,504],hT=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),rT=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function d3(_,$){if(!_)return;let U=Object.keys(_).find((j)=>rT.has(j.trim().toLowerCase()));if(U)throw Error(`Authenticated ${$} headers must not set authority header '${U}'.`)}function cT(_,$){if(!$)return _;let U=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,N]of Object.entries($)){if(N===null||N===void 0)continue;if(Array.isArray(N))for(let E of N)U.append(D,String(E));else U.append(D,String(N))}let j=U.toString();if(!j)return _;return`${_}${_.includes("?")?"&":"?"}${j}`}var mT=(_)=>new Promise(($)=>setTimeout($,_));function nT(_){let $=_.fetchImpl??((J,L)=>fetch(J,L)),U=e3(_.baseUrl),j=_.timeoutMs??30000,D=_.sleepImpl??mT,N=_.retry;function E(J){let L=J!==void 0?J:N;if(L===!1)return null;let S=L??{};return{retries:S.retries??2,baseDelayMs:S.baseDelayMs??200,maxDelayMs:S.maxDelayMs??2000,retryStatuses:S.retryStatuses??[...uT]}}async function I(J,L,S,X,z,R){d3(_.headers,"transport"),d3(z.headers,"request");let P={"x-api-key":R.apiKey,Authorization:`Bearer ${R.apiKey}`,Accept:"application/json",..._.headers??{},...z.headers??{}};if(z.idempotencyKey)P["Idempotency-Key"]=z.idempotencyKey;let O={method:J,headers:P,redirect:"manual"};if(X!==void 0)P["Content-Type"]="application/json",O.body=JSON.stringify(X);let Y=new AbortController,Q=()=>Y.abort();if(z.signal)if(z.signal.aborted)Y.abort();else z.signal.addEventListener("abort",Q,{once:!0});let B=setTimeout(()=>Y.abort(),z.timeoutMs??j);O.signal=Y.signal;let G;try{G=await $(S,O)}catch(g){let q=g instanceof Error?g:Error(String(g));if(z.signal?.aborted)return{ok:!1,retryable:!1,error:q};return{ok:!1,retryable:!0,error:q}}finally{if(clearTimeout(B),z.signal)z.signal.removeEventListener("abort",Q)}let T=await G.text(),F=void 0;if(T.length>0)try{F=JSON.parse(T)}catch{F=T}if(!G.ok){if(G.status>=300&&G.status<400)return{ok:!1,retryable:!1,error:new M0(J,L,G.status,F)};if(G.status===401||G.status===403)return{ok:!1,retryable:!1,error:new M0(J,L,G.status,F,{source:R.source,tier:R.tier,guidance:yT(R)})};let g=E(z.retry);return{ok:!1,retryable:g?g.retryStatuses.includes(G.status):!1,error:new M0(J,L,G.status,F)}}return{ok:!0,value:F}}async function W(J,L,S,X={}){let z=J.toUpperCase(),R=cT(L.startsWith("/")?L:`/${L}`,X.query),P=`${U}${R}`,O=E(X.retry),Y=hT.has(z)||Boolean(X.idempotencyKey),Q=O&&Y?O.retries+1:1,B=xT(_.name,_.apiKey),G=null;for(let T=1;T<=Q;T++){let F=await I(z,R,P,S,X,B);if(F.ok)return F.value;if(G=F,!(O!==null&&Y&&F.retryable&&TW("GET",J,void 0,L),post:(J,L,S)=>W("POST",J,L,S),put:(J,L,S)=>W("PUT",J,L,S),patch:(J,L,S)=>W("PATCH",J,L,S),del:(J,L,S)=>W("DELETE",J,L,S)}}function dT(_,$=process.env,U){let j=U?.credentials,D=fT(_,$,{...j?{credentials:j}:{}});if(D.misconfigured)throw Error(D.warning??`Client for '${_}' is misconfigured for the API client.`);if(D.transport==="sqlite"||!D.baseUrl)return{transport:"sqlite",client:null,resolution:D};let N=()=>{let E=Z2(_,$,j);if(!E)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${s3(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return E};return{transport:"http",client:nT({name:_,baseUrl:D.baseUrl,apiKey:N,...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:D}}function H2(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function M2(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${H2(_)}/${encodeURIComponent(String($))}`}function lT(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function iT(_){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 tT(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function oT(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function pT(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,j={}){let D=await $.get(H2(U),j);return{items:iT(D),total:tT(D),cursor:oT(D),raw:D}},async get(U,j,D={}){try{return await $.get(M2(U,j),D)}catch(N){if(N instanceof M0&&N.status===404)return null;throw N}},async create(U,j,D={}){let{idempotencyKey:N,...E}=D;return $.post(H2(U),j,{...E,idempotencyKey:N??lT()})},async update(U,j,D,N={}){let{method:E="PATCH",idempotencyKey:I,...W}=N;return(E==="PUT"?$.put:$.patch)(M2(U,j),D,{...W,...I?{idempotencyKey:I}:{}})},async delete(U,j,D={}){try{await $.del(M2(U,j),void 0,D)}catch(N){if(N instanceof M0&&N.status===404)return;throw N}}}}function k2(_,$=process.env,U){let j=dT(_,$,U);if(j.transport==="http")return{transport:"http",client:pT(_,j.client)};return{transport:"sqlite",client:null}}function _X(_){return _.toUpperCase().replace(/-/g,"_")}function $X(_){let $=_X(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function UX(_){return`HASNA_${_X(_)}_API_KEY_OVERRIDE`}var DX="HASNA_PROFILE";function jD(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}function Wj(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}import ku from"pg";class Jj extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function Z0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function jX(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return $[0]==="127"}function $V(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(jX($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let U=$.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let j=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&jX(j))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function IX(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function NX(_,$=process.env){if(!Z0($))return;let U=IX(_),j;try{j=new URL(U)}catch{throw new Jj("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if($V(j.hostname))return;throw new Jj(`knowledge: refused a non-loopback ${j.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=sqlite) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:j.protocol.replace(":",""),port:j.port})}var UV=new Set([301,302,303,307,308]),EX=5;function DV(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function H0(_,$){if(NX(_),!Z0()||$?.redirect!==void 0)return fetch(_,$);let U=IX(_),j=DV(_,$),D=$?.body,N=await fetch(_,{...$??{},redirect:"manual"});for(let E=0;UV.has(N.status);E++){let I=N.headers.get("location");if(!I)return N;let W=new URL(I,U).href;if(NX(W),E>=EX){let L=new URL(W);throw new Jj(`knowledge: refused to follow more than ${EX} redirects while NODE_ENV=test (target host withheld on purpose). Under test the guard follows redirects itself so every hop is checked, and a chain this long is a loop, not a route.`,{scheme:L.protocol.replace(":",""),port:L.port})}if(N.status===303||(N.status===301||N.status===302)&&j!=="GET"&&j!=="HEAD")j="GET",D=void 0;let J={...$??{},method:j,redirect:"manual"};if(D===void 0)delete J.body;else J.body=D;N=await fetch(W,J),U=W}return N}var ND="knowledge",C2=$X(ND),L6=C2.modeKeys,Sj=C2.apiUrlKeys,Pj=C2.apiKeyKeys;function Lj(_,$){return $.filter((U)=>(_[U]??"").trim().length>0)}function ED(_=process.env){let $=[...Lj(_,Sj),...Lj(_,Pj)],U=L6[0];for(let j of L6){let D=_[j]?.trim();if(!D)continue;let N;try{N=Wj(D)}catch(I){let W=I instanceof Error?I.message:String(I);throw Error(`knowledge: ${j}=${D} is not a valid mode. ${W} Unset ${j} to use the default sqlite backend, or set ${j}=sqlite or ${j}=postgres.`)}let E=[];if(j!==U)E.push(`Using alias env ${j}; the canonical key is ${U}.`);if(N.mode==="sqlite"&&$.length>0)E.push(`${j}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:N.mode,source:{kind:"env",name:j,value:D},pointer_env_present:$,pointer_ignored:N.mode==="sqlite"&&$.length>0,warning:E.length>0?E.join(" "):null}}return{mode:"sqlite",source:{kind:"default",name:null,value:null},pointer_env_present:$,pointer_ignored:$.length>0,warning:$.length>0?`${$.join(", ")} are set but do NOT select a backend: mode is sqlite by default. Set ${U}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var jV=["postgres"],NV=["sqlite"],AX=new Map;function WX(_,$,U){let j=$===jD;if(j){let D=AX.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),j)AX.set(_,D);return D}catch{}throw Error(`knowledge: no known storage token is accepted by the installed @hasna/contracts (tried ${_.join(", ")}). The storage-mode enum has changed; add the new token to ${U} in src/knowledge-mode.ts.`)}function EV(_=jD){return WX(jV,_,"SERVER_MODE_CANDIDATES")}function IV(_=jD){return WX(NV,_,"LOCAL_MODE_CANDIDATES")}function AV(_,$=jD){return _==="postgres"?EV($):IV($)}function b2(_,$){return{..._,[L6[0]]:AV($)}}class JX extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=L6[0];super(`knowledge: ${_.join(", ")} names an API store, but no mode variable says to use it, so this command would silently read and write the on-box store instead. Set ${$}=postgres to use the API, or ${$}=sqlite to confirm you want the on-box store. Run 'knowledge mode' to see the full resolution.`);this.name="HalfConfiguredKnowledgeClientError"}}function LX(_=process.env,$={}){let U=ED(_);if($.storePathOverridden)return U;if(U.source.kind!=="default")return U;let j=Lj(_,Sj);if(j.length===0)return U;throw new JX(j)}function SX(_=process.env){let $=ED(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:Lj(_,Pj).length>0,network_guard_active:Z0(_)}}function w2(_){return Boolean(_&&typeof _==="object"&&_.query_capability==="hasna.knowledge.bounded-query.v1")}function PX(_){return{fetchImpl:H0,...Z0(_)?{retry:!1}:{}}}var S6="notes";class q0 extends Error{expected;current;code="version_conflict";constructor(_,$){super(`version_conflict: this edit was written against version ${_} but the stored entry is now at version ${$}. Nothing was written. Re-read the entry and re-apply only if the fields you are changing are untouched between the two versions.`);this.expected=_;this.current=$;this.name="KnowledgeVersionConflictError"}}class f2 extends Error{operation;fields;code="bounded_query_capability_required";constructor(_,$){super(`bounded_query_capability_required: the Knowledge server did not prove support for ${_} field(s): ${$.join(", ")}. Refusing to accept a possibly unfiltered response; update the server and retry.`);this.operation=_;this.fields=$;this.name="KnowledgeBoundedQueryCapabilityError"}}function WV(_){let $={};if(_.search)$.filter=_.search,$.search=_.search;if(_.tags?.length)$.tags=_.tags;if(_.archive){if($.archive=_.archive,_.archive==="all")$.includeArchived=!0}if(_.sort)$.sort=_.sort;if(_.direction)$.direction=_.direction;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;return $}function JV(_){let $=[];if(_.tags?.length)$.push("tags");if(_.sort!==void 0)$.push("sort");if(_.direction!==void 0)$.push("direction");if(_.archive==="archived")$.push("archive=archived");return $}function Oj(_,$,U,j,D){let N=_??$;if(!Number.isFinite(N)||!Number.isInteger(N)||ND)throw Error(`${U} must be an integer between ${j} and ${D}.`);return N}function LV(_){return{baseUrl:_.baseUrl,async list($={}){let U=Oj($.limit,200,"limit",1,200),j=Oj($.offset,0,"offset",0,1e4),D=WV({...$,limit:U,offset:j}),N=await _.list(S6,{query:D});if(!Number.isInteger(N.total)||Number(N.total)<0)throw Error("knowledge cloud list response is missing a valid producer total.");let E=JV($);if(E.length>0&&!w2(N.raw))throw new f2("list",E);return{items:N.items,total:Number(N.total)}},async search($){let U=Oj($.limit,20,"limit",1,200),j=Oj($.offset,0,"offset",0,1e4),D=await _.transport.get(`/${S6}/search`,{query:{q:$.query,archive:$.archive??"active",limit:U,offset:j}});if(!Number.isInteger(D.total)||D.total<0||!Array.isArray(D.items)||D.items.some((N)=>!N||typeof N!=="object"||!N.item||typeof N.rank!=="number"||!Number.isFinite(N.rank)))throw Error("knowledge cloud search response is missing producer rank or total evidence.");if(!w2(D))throw new f2("search",["q","rank","total"]);return{items:D.items,total:D.total}},async get($){return _.get(S6,$)},async create($){return _.create(S6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,U,j={}){try{return await _.update(S6,$,U,{...j.expectedVersion!==void 0?{headers:{"if-match":String(j.expectedVersion)}}:{}})}catch(D){if(v2(D))return null;let N=SV(D);if(N)throw N;throw D}},async delete($){let U=await _.get(S6,$);if(!U)return!1;return await _.delete(S6,U.id),!0},async listVersions($,U={}){try{return await _.transport.get(`/${S6}/${encodeURIComponent($)}/versions`,{query:{limit:U.limit,offset:U.offset}})}catch(j){if(v2(j))return null;throw j}},async getVersion($,U){try{return await _.transport.get(`/${S6}/${encodeURIComponent($)}/versions/${U}`)}catch(j){if(v2(j))return null;throw j}}}}function SV(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,j=(typeof $==="string"?PV($):$)??{};if(j.error!=="version_conflict")return null;return new q0(Number(j.expected??0),Number(j.current??0))}function PV(_){try{return JSON.parse(_)}catch{return null}}function v2(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function ID(_=process.env){let $=zX(_);return $?LV($):null}function OX(_=process.env){return zX(_,{guarded:!0})?.transport??null}function OV(_){let $={..._};return delete $.HOME,delete $.USERPROFILE,delete $[DX],delete $[UX(ND)],$}function zX(_,$={}){if(ED(_).mode!=="postgres")return null;let U=$.guarded?OV(_):_,j=k2(ND,b2(U,"postgres"),PX(U));if(j.transport!=="http")return null;return j.client}function o$(_=process.env){if(ED(_).mode!=="postgres")return!1;return k2(ND,b2(_,"postgres"),PX(_)).transport==="http"}async function zj(_){let U=[];for(let j=0;;j+=200){let{items:D}=await _.list({archive:"all",limit:200,offset:j});if(U.push(...D),D.length<200)break;if(j>1e5)break}return U}class y2 extends Error{location;code="version_history_unsupported";constructor(_){super(`Version history is not kept by the local JSON knowledge store (${_}). It has no version line, so an empty history here would be a claim, not a measurement. Entry versioning lives in the Postgres-backed store: point this CLI at it (HASNA_KNOWLEDGE_STORAGE_MODE=postgres plus the API url/key) and re-run.`);this.location=_;this.name="VersionHistoryUnsupportedError"}}function x2(_,$){return _.id===$||_.short_id===$}function XV(_,$){let U=$.trim().toLowerCase();if(!U)return!0;return _.id.toLowerCase().includes(U)||_.title.toLowerCase().includes(U)||_.content.toLowerCase().includes(U)}function YV(_,$){if($.length===0)return!0;let U=new Set((_.tags??[]).map((j)=>j.toLowerCase()));return $.every((j)=>{let D=j.trim().toLowerCase(),N=j.split(",").map((E)=>E.trim().toLowerCase()).filter(Boolean);return D.length>0&&U.has(D)||N.length>0&&N.every((E)=>U.has(E))})}function RV(_,$,U,j){let D=U==="title"?_.title.localeCompare($.title):_.created_at.localeCompare($.created_at),N=D===0?_.id.localeCompare($.id):D;return j==="desc"?-N:N}function XX(_,$,U,j,D){let N=_??$;if(!Number.isFinite(N)||!Number.isInteger(N)||ND)throw Error(`${U} must be an integer between ${j} and ${D}.`);return N}function QV(_,$){let U=$.archive??"active",j=$.sort??"created",D=$.direction??"asc",N=XX($.limit,50,"limit",1,200),E=XX($.offset,0,"offset",0,1e4),I=_.filter((W)=>U==="all"||(U==="archived"?W.archived===!0:W.archived!==!0));if($.search)I=I.filter((W)=>XV(W,$.search));if($.tags?.length)I=I.filter((W)=>YV(W,$.tags));return I.sort((W,J)=>RV(W,J,j,D)),{total:I.length,items:I.slice(E,E+N)}}class YX{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new y2(this.storePath)}async getVersion(){throw new y2(this.storePath)}get location(){return this.storePath}get exists(){return zV(this.storePath)}async list(_={}){let $=z4(this.storePath);return{...QV($.items,_),exists:$.exists}}async listAll(){let _=z4(this.storePath);return{items:_.items,total:_.items.length,exists:_.exists}}async get(_){return z4(this.storePath).items.find((U)=>x2(U,_))??null}async create(_){return t$(this.storePath,()=>{let $=UD(this.storePath),U=new Date().toISOString(),j=_.id??x3(),D={id:j,short_id:y3(j),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U,version:1};return $.items.push(D),J6(this.storePath,$),D},{createParent:!0})}async update(_,$,U={}){return t$(this.storePath,()=>{let j=UD(this.storePath),D=j.items.findIndex((I)=>x2(I,_));if(D===-1)return null;let N=j.items[D],E=N.version??1;if(U.expectedVersion!==void 0&&U.expectedVersion!==E)throw new q0(U.expectedVersion,E);if($.title!==void 0)N.title=$.title;if($.content!==void 0)N.content=$.content;if($.url!==void 0)N.url=$.url;if($.tags!==void 0)N.tags=$.tags;if($.metadata!==void 0)N.metadata=$.metadata;if($.archived!==void 0)N.archived=$.archived;return N.updated_at=new Date().toISOString(),N.version=E+1,j.items[D]=N,J6(this.storePath,j),N},{createParent:!0})}async delete(_){return t$(this.storePath,()=>{let $=UD(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!x2(D,_));let j=U!==$.items.length;if(j)J6(this.storePath,$);return j},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return t$(this.storePath,()=>{let U=UD(this.storePath),j=U.items.length;U.items=U.items.filter((N)=>!$.has(N.id)&&!(N.short_id!=null&&$.has(N.short_id)));let D=j-U.items.length;if(D>0)J6(this.storePath,U);return D},{createParent:!0})}}class RX{cloud;kind="api";exists=!0;supportsVersions=!0;constructor(_){this.cloud=_}async listVersions(_,$={}){return this.cloud.listVersions(_,$)}async getVersion(_,$){return this.cloud.getVersion(_,$)}get location(){return this.cloud.baseUrl}async list(_={}){let $=await this.cloud.list({search:_.search,tags:_.tags,archive:_.archive,sort:_.sort,direction:_.direction,limit:_.limit,offset:_.offset});return{items:$.items,total:$.total,exists:!0}}async listAll(){let _=await zj(this.cloud);return{items:_,total:_.length,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(_,$,U={}){return this.cloud.update(_,$,{expectedVersion:U.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let U of _)if(await this.cloud.delete(U))$+=1;return $}}function Xj(_){let $=_.storePathOverridden?null:ID(_.env??process.env);if($)return new RX($);return new YX(_.storePath)}function QX(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` +`)}var u2=5000;function GV(_,$){let U=QX(_),j=QX($);if(U.length>u2||j.length>u2)throw Error(`Refusing to line-diff ${Math.max(U.length,j.length)} lines (limit ${u2}). Fetch the two versions and diff them with a dedicated tool.`);let D=Array.from({length:U.length+1},()=>Array(j.length+1).fill(0));for(let W=U.length-1;W>=0;W-=1)for(let J=j.length-1;J>=0;J-=1)D[W][J]=U[W]===j[J]?D[W+1][J+1]+1:Math.max(D[W+1][J],D[W][J+1]);let N=[],E=0,I=0;while(E=D[E][I+1])N.push({op:"remove",from_line:E+1,to_line:null,text:U[E]}),E+=1;else N.push({op:"add",from_line:null,to_line:I+1,text:j[I]}),I+=1;while(E{if(!TV(_[I],$[I]))U.push({field:I,from:_[I]??null,to:$[I]??null})};j("title"),j("url"),j("tags"),j("metadata"),j("archived");let D=GV(_.content,$.content),N=D.filter((I)=>I.op==="add").length,E=D.filter((I)=>I.op==="remove").length;return{identical:U.length===0&&N===0&&E===0,fields:U,content:D,added:N,removed:E}}function TX(_,$,U){let j=[`--- ${$}`,`+++ ${U}`];if(_.identical)return j.push("(no changes)"),j.join(` +`);for(let D of _.fields)j.push(`~ ${D.field}: ${JSON.stringify(D.from)} -> ${JSON.stringify(D.to)}`);if(_.added===0&&_.removed===0){if(_.fields.length>0)j.push("(content unchanged)")}else{j.push(`@@ content +${_.added} -${_.removed} @@`);for(let D of _.content){let N=D.op==="add"?"+":D.op==="remove"?"-":" ";j.push(`${N}${D.text}`)}}return j.join(` +`)}import{Database as VX}from"bun:sqlite";function Yj(_="catalog"){if(o$()){let $=L6[0];throw Error(`knowledge: ${_} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${$}=local `+"(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see "+"which variable selected the current backend.")}}var VV="porter unicode61 remove_diacritics 2",BX=` PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; @@ -266,7 +266,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (1, datetime('now')); -`,O7=` +`,BV=` DROP TABLE IF EXISTS chunks_fts; CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( @@ -279,7 +279,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (2, datetime('now')); -`,S7=` +`,FV=` CREATE TABLE IF NOT EXISTS audit_events ( id TEXT PRIMARY KEY, event_type TEXT NOT NULL, @@ -310,7 +310,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')); -`,L7=` +`,KV=` CREATE TABLE IF NOT EXISTS vector_index_entries ( id TEXT PRIMARY KEY, chunk_id TEXT NOT NULL REFERENCES chunks(id) ON DELETE CASCADE, @@ -341,7 +341,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')); -`,W7=` +`,gV=` CREATE TABLE IF NOT EXISTS reindex_queue ( id TEXT PRIMARY KEY, kind TEXT NOT NULL, @@ -362,7 +362,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')); -`,r3=` +`,FX=` CREATE TABLE IF NOT EXISTS knowledge_machines ( machine_id TEXT PRIMARY KEY, hostname TEXT, @@ -437,7 +437,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')); -`,J7=` +`,MV=` CREATE TABLE IF NOT EXISTS knowledge_sync_table_clocks ( table_name TEXT NOT NULL, machine_id TEXT NOT NULL, @@ -477,7 +477,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')); -`,P7=` +`,ZV=` 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); @@ -485,7 +485,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')); -`,z7=` +`,HV=` BEGIN; CREATE TEMP TABLE _chunks_fts_backup AS @@ -498,7 +498,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${A7}' + tokenize='${VV}' ); INSERT INTO chunks_fts (chunk_id, text, title, source_uri) @@ -510,7 +510,7 @@ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now')); COMMIT; -`,g7=` +`,qV=` CREATE TABLE IF NOT EXISTS knowledge_promotion_candidates ( id TEXT PRIMARY KEY, record_kind TEXT NOT NULL, @@ -571,14 +571,14 @@ CREATE INDEX IF NOT EXISTS idx_durable_records_validity INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (10, datetime('now')); -`;function w(_){p1("opening the local knowledge.db catalog"),u$(_);let $=new v3(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function f3(_){return p1("reading the local knowledge.db catalog"),new v3(_,{readonly:!0})}function c(_){let $=w(_);try{if($.exec(w3),r_($)<2)$.exec(O7);if(r_($)<3)$.exec(S7);if(r_($)<4)$.exec(L7);if(r_($)<5)$.exec(W7);if(r_($)<6)$.exec(r3);if(X7($))G7($);if(R7($))Y7($);if(Q7($))K7($);if(T7($))F7($);return{path:_,schema_version:r_($)}}finally{$.close()}}function r_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function Z_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function W2(_){return`"${_.replaceAll('"','""')}"`}function I6(_,$){let D=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(D)}function U6(_,$,D){if(!I6(_,$))return!1;return _.query(`PRAGMA table_info(${W2($)})`).all().some((U)=>U.name===D)}function B6(_,$,D,I){if(!U6(_,$,D))_.exec(`ALTER TABLE ${W2($)} ADD COLUMN ${W2(D)} ${I};`)}function X7(_){return r_(_)<7||!U6(_,"knowledge_sync_changes","logical_clock")||!U6(_,"knowledge_sync_changes","bundle_id")||!I6(_,"knowledge_sync_table_clocks")||!I6(_,"knowledge_sync_imports")}function G7(_){if(!I6(_,"knowledge_sync_changes"))_.exec(r3);B6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),B6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(J7)}function R7(_){return r_(_)<8||!U6(_,"wiki_pages","valid_from")||!U6(_,"wiki_pages","valid_to")||!U6(_,"wiki_pages","supersedes")||!U6(_,"wiki_pages","superseded_by")||!U6(_,"wiki_pages","confidence")||!U6(_,"wiki_pages","last_verified_at")}function Y7(_){if(!I6(_,"wiki_pages"))_.exec(w3);B6(_,"wiki_pages","valid_from","TEXT"),B6(_,"wiki_pages","valid_to","TEXT"),B6(_,"wiki_pages","supersedes","TEXT"),B6(_,"wiki_pages","superseded_by","TEXT"),B6(_,"wiki_pages","confidence","REAL"),B6(_,"wiki_pages","last_verified_at","TEXT"),_.exec(` +`;function v(_){Yj("opening the local knowledge.db catalog"),i$(_);let $=new VX(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function KX(_){return Yj("reading the local knowledge.db catalog"),new VX(_,{readonly:!0})}function c(_){let $=v(_);try{if($.exec(BX),r_($)<2)$.exec(BV);if(r_($)<3)$.exec(FV);if(r_($)<4)$.exec(KV);if(r_($)<5)$.exec(gV);if(r_($)<6)$.exec(FX);if(kV($))CV($);if(bV($))wV($);if(vV($))fV($);if(xV($))yV($);return{path:_,schema_version:r_($)}}finally{$.close()}}function r_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function q_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function h2(_){return`"${_.replaceAll('"','""')}"`}function O6(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(U)}function P6(_,$,U){if(!O6(_,$))return!1;return _.query(`PRAGMA table_info(${h2($)})`).all().some((D)=>D.name===U)}function f6(_,$,U,j){if(!P6(_,$,U))_.exec(`ALTER TABLE ${h2($)} ADD COLUMN ${h2(U)} ${j};`)}function kV(_){return r_(_)<7||!P6(_,"knowledge_sync_changes","logical_clock")||!P6(_,"knowledge_sync_changes","bundle_id")||!O6(_,"knowledge_sync_table_clocks")||!O6(_,"knowledge_sync_imports")}function CV(_){if(!O6(_,"knowledge_sync_changes"))_.exec(FX);f6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),f6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(MV)}function bV(_){return r_(_)<8||!P6(_,"wiki_pages","valid_from")||!P6(_,"wiki_pages","valid_to")||!P6(_,"wiki_pages","supersedes")||!P6(_,"wiki_pages","superseded_by")||!P6(_,"wiki_pages","confidence")||!P6(_,"wiki_pages","last_verified_at")}function wV(_){if(!O6(_,"wiki_pages"))_.exec(BX);f6(_,"wiki_pages","valid_from","TEXT"),f6(_,"wiki_pages","valid_to","TEXT"),f6(_,"wiki_pages","supersedes","TEXT"),f6(_,"wiki_pages","superseded_by","TEXT"),f6(_,"wiki_pages","confidence","REAL"),f6(_,"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(P7)}function x3(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function Q7(_){if(!I6(_,"chunks_fts"))return!1;return r_(_)<9||!x3(_)}function K7(_){if(!I6(_,"chunks_fts"))return;if(x3(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(z7)}function T7(_){return r_(_)<10||!I6(_,"knowledge_promotion_candidates")||!I6(_,"durable_knowledge_records")}function F7(_){_.exec(g7)}function J2(_){let $=w(_);try{return{schema_version:r_($),sources:Z_($,"sources"),source_revisions:Z_($,"source_revisions"),chunks:Z_($,"chunks"),wiki_pages:Z_($,"wiki_pages"),citations:Z_($,"citations"),indexes:Z_($,"knowledge_indexes"),runs:Z_($,"runs"),run_events:Z_($,"run_events"),redaction_findings:Z_($,"redaction_findings"),audit_events:Z_($,"audit_events"),approval_gates:Z_($,"approval_gates"),storage_objects:Z_($,"storage_objects"),embeddings:Z_($,"chunk_embeddings"),vector_entries:Z_($,"vector_index_entries"),reindex_queue:Z_($,"reindex_queue"),knowledge_machines:Z_($,"knowledge_machines"),sync_snapshots:Z_($,"knowledge_sync_snapshots"),sync_changes:Z_($,"knowledge_sync_changes"),sync_conflicts:Z_($,"knowledge_sync_conflicts"),sync_table_clocks:Z_($,"knowledge_sync_table_clocks"),sync_imports:Z_($,"knowledge_sync_imports"),promotion_candidates:Z_($,"knowledge_promotion_candidates"),durable_records:Z_($,"durable_knowledge_records")}}finally{$.close()}}import{chmodSync as V7,existsSync as B7,mkdirSync as u3,readFileSync as M7,statSync as Z7,writeFileSync as H7}from"fs";import{dirname as b7,join as P2,relative as q7,sep as k7}from"path";import{pathToFileURL as C7}from"url";function c$(_){let $=_.replace(/\\/g,"/").trim();if(!$||$.startsWith("/"))throw Error(`Invalid artifact key: ${_}`);let D=$.split("/").filter(Boolean);if(D.length===0||D.some((I)=>I==="."||I===".."))throw Error(`Invalid artifact key: ${_}`);return D.join("/")}function z2(_,$){let D=q7(_,$);if(D.startsWith("..")||D===".."||D.startsWith(`..${k7}`))throw Error(`Artifact path escapes root: ${$}`)}function v7(_){if(!_)return;let $={};for(let[D,I]of Object.entries(_))if(typeof I==="string")$[D]=I;else if(typeof I==="number"||typeof I==="boolean")$[D]=String(I);return Object.keys($).length>0?$:void 0}class y3{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;u3(_,{recursive:!0,mode:448})}async put(_){let $=c$(_.key),D=P2(this.root,$);return z2(this.root,D),u3(b7(D),{recursive:!0,mode:448}),H7(D,_.body,{mode:384}),V7(D,384),{key:$,uri:C7(D).href,modified_at:Z7(D).mtime.toISOString()}}async getText(_){let $=c$(_),D=P2(this.root,$);return z2(this.root,D),M7(D,"utf8")}async exists(_){let $=c$(_),D=P2(this.root,$);return z2(this.root,D),B7(D)}}class h3{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 $=c$(_),D=this.options.prefix?c$(this.options.prefix):"";return D?`${D}/${$}`:$}async put(_){let[{PutObjectCommand:$},D]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),I=c$(_.key),U=this.objectKey(I);return await D.send(new $({Bucket:this.options.bucket,Key:U,Body:_.body,ContentType:_.content_type,Metadata:v7(_.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:I,uri:`s3://${this.options.bucket}/${U}`,modified_at:new Date().toISOString()}}async getText(_){let[{GetObjectCommand:$},D]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),I=this.objectKey(_),U=await D.send(new $({Bucket:this.options.bucket,Key:I}));if(!U.Body)return"";return await U.Body.transformToString()}async exists(_){let[{HeadObjectCommand:$},D]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),I=this.objectKey(_);try{return await D.send(new $({Bucket:this.options.bucket,Key:I})),!0}catch(U){let E=U instanceof Error?U.name:"";if(E==="NotFound"||E==="NoSuchKey"||E==="NotFoundError")return!1;throw U}}}function g2(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new h3({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 y3($.artifactsDir)}import{createHash as R1}from"crypto";import{spawnSync as kb}from"child_process";import{existsSync as X_,readFileSync as Cb}from"fs";import{hostname as vb}from"os";import{join as A9,resolve as K9}from"path";import{createHash as ET,randomUUID as jT}from"crypto";import{createHash as c7,randomUUID as n7}from"crypto";import{existsSync as R2,readdirSync as d7}from"fs";import{join as t3}from"path";import{pathToFileURL as m7}from"url";import{existsSync as w7,mkdirSync as r7,readFileSync as f7,unlinkSync as x7,writeFileSync as u7}from"fs";import{homedir as y7}from"os";import{dirname as h7,join as c3}from"path";var X2="https://knowledge.md";function E6(_){let $=new URL(_);if($.protocol!=="http:"&&$.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let D=$.pathname.replace(/\/+$/,"");if(D==="/api"||D==="/api/v1")$.pathname="/";else if(D.endsWith("/api/v1"))$.pathname=D.slice(0,-7)||"/";else if(D.endsWith("/api"))$.pathname=D.slice(0,-4)||"/";return $.toString().replace(/\/+$/,"")}function a1(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??c3(y7(),".hasna","knowledge");return c3($,"auth.json")}function e1(_,$=process.env){return E6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??X2)}function n3(_=process.env){try{let $=a1(_);if(!w7($))return null;let D=JSON.parse(f7($,"utf8"));return typeof D.api_key==="string"&&D.api_key.length>0?D:null}catch{return null}}function d3(_,$=process.env){let D=a1($),I={..._,api_url:_.api_url?E6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return r7(h7(D),{recursive:!0,mode:448}),u7(D,`${JSON.stringify(I,null,2)} -`,{mode:384}),I}function m3(_=process.env){try{return x7(a1(_)),!0}catch{return!1}}function G2(_=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 $=n3(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function l3(_,$=process.env){let D=n3($),I=G2($),U=$.KNOWLEDGE_API_URL?e1(_,$):D?.api_url?E6(D.api_url):e1(_,$);return{authenticated:Boolean(I.apiKey),source:I.source,api_url:U,auth_path:a1($),email:I.source==="file"?D?.email??null:null,org_id:I.source==="file"?D?.org_id??null:null,org_slug:I.source==="file"?D?.org_slug??null:null,user_id:I.source==="file"?D?.user_id??null:null,api_key_present:Boolean(I.apiKey)}}var i3=2;var o3=[{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."}],l7=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function p3(_){let $=[];if(R2(t3(_.home,"cloud.env")))$.push("cloud.env");if(R2(t3(_.home,"migration-exports")))$.push("migration-exports");if(R2(_.home)){for(let D of d7(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(D))$.push(D)}return $}function R0(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${c7("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function e3(_){return o3.find((D)=>_.startsWith(D.prefix))?.kind??"artifact"}function s1(_,$,D="global"){let I=Y2(_,$),U=_.storage.s3??null,E=U?.prefix?.replace(/^\/+|\/+$/g,"")??"",j=U?`s3://${U.bucket}/${E?`${E}/`:""}`:"",N=P_.s3.prefix.replace(/^\/+|\/+$/g,""),O=`s3://${P_.s3.bucket}/${N}/`,S=_.storage.type==="s3"&&U?.bucket===P_.s3.bucket&&(U.region??null)===P_.s3.region;return{scope:D,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:s$,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"?j:m7(`${$.artifactsDir}/`).href,s3:U?{bucket:U.bucket,prefix:E,region:U.region??null,profile:U.profile??null,server_side_encryption:U.server_side_encryption??null,kms_key_configured:Boolean(U.kms_key_id)}:null},canonical_example:{division:P_.division,app_type:P_.app_type,app:P_.app,env:P_.env,active:S,local_path:P_.local_path,s3:{bucket:P_.s3.bucket,region:P_.s3.region,profile:P_.s3.profile,prefix:N,uri_prefix:O,server_side_encryption:P_.s3.server_side_encryption},secrets:{env:P_.secrets.env,aws:P_.secrets.aws,s3:P_.secrets.s3,rds:P_.secrets.rds,future_rds:P_.secrets.future_rds},evidence_doc:P_.evidence_doc},hosted:{enabled:_.mode==="hosted",api_url:E6(_.hosted?.api_url??X2),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:i3,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:l7,forbidden_workspace_files_present:p3($),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:P_.secrets.env,aws:P_.secrets.aws,s3:P_.secrets.s3,rds:P_.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((L)=>["open-files","s3","file"].includes(L)),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:o3,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:I.warnings}}function Y2(_,$){let D=[],I=[],U=p3($);for(let E of U)D.push(`Forbidden Knowledge workspace file present: ${E}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!$.home.endsWith(s$))I.push(`Workspace home does not end with ${s$}: ${$.home}`);if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)D.push("storage.s3.bucket is required when storage.type is s3.");if(!_.storage.s3?.prefix)I.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if(_.mode==="local")I.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)I.push("storage.s3 is configured but ignored while storage.type is local.");if(_.sources.preferred_ref!=="open-files")I.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!_.sources.allowed_schemes.includes("open-files"))D.push("sources.allowed_schemes must include open-files.");if(_.mode==="hosted"&&_.hosted?.api_url)try{E6(_.hosted.api_url)}catch{D.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:D.length===0,errors:D,warnings:I}}function j6(_,$,D=new Date){let I=D.toISOString(),U=_.prepare(` + `),_.exec(ZV)}function gX(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function vV(_){if(!O6(_,"chunks_fts"))return!1;return r_(_)<9||!gX(_)}function fV(_){if(!O6(_,"chunks_fts"))return;if(gX(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(HV)}function xV(_){return r_(_)<10||!O6(_,"knowledge_promotion_candidates")||!O6(_,"durable_knowledge_records")}function yV(_){_.exec(qV)}function r2(_){let $=v(_);try{return{schema_version:r_($),sources:q_($,"sources"),source_revisions:q_($,"source_revisions"),chunks:q_($,"chunks"),wiki_pages:q_($,"wiki_pages"),citations:q_($,"citations"),indexes:q_($,"knowledge_indexes"),runs:q_($,"runs"),run_events:q_($,"run_events"),redaction_findings:q_($,"redaction_findings"),audit_events:q_($,"audit_events"),approval_gates:q_($,"approval_gates"),storage_objects:q_($,"storage_objects"),embeddings:q_($,"chunk_embeddings"),vector_entries:q_($,"vector_index_entries"),reindex_queue:q_($,"reindex_queue"),knowledge_machines:q_($,"knowledge_machines"),sync_snapshots:q_($,"knowledge_sync_snapshots"),sync_changes:q_($,"knowledge_sync_changes"),sync_conflicts:q_($,"knowledge_sync_conflicts"),sync_table_clocks:q_($,"knowledge_sync_table_clocks"),sync_imports:q_($,"knowledge_sync_imports"),promotion_candidates:q_($,"knowledge_promotion_candidates"),durable_records:q_($,"durable_knowledge_records")}}finally{$.close()}}import{chmodSync as uV,existsSync as hV,mkdirSync as MX,readFileSync as rV,statSync as cV,writeFileSync as mV}from"fs";import{dirname as nV,join as c2,relative as dV,sep as lV}from"path";import{pathToFileURL as iV}from"url";function p$(_){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 m2(_,$){let U=dV(_,$);if(U.startsWith("..")||U===".."||U.startsWith(`..${lV}`))throw Error(`Artifact path escapes root: ${$}`)}function tV(_){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 ZX{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;MX(_,{recursive:!0,mode:448})}async put(_){let $=p$(_.key),U=c2(this.root,$);return m2(this.root,U),MX(nV(U),{recursive:!0,mode:448}),mV(U,_.body,{mode:384}),uV(U,384),{key:$,uri:iV(U).href,modified_at:cV(U).mtime.toISOString()}}async getText(_){let $=p$(_),U=c2(this.root,$);return m2(this.root,U),rV(U,"utf8")}async exists(_){let $=p$(_),U=c2(this.root,$);return m2(this.root,U),hV(U)}}class HX{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 $=p$(_),U=this.options.prefix?p$(this.options.prefix):"";return U?`${U}/${$}`:$}async put(_){let[{PutObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),j=p$(_.key),D=this.objectKey(j);return await U.send(new $({Bucket:this.options.bucket,Key:D,Body:_.body,ContentType:_.content_type,Metadata:tV(_.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 N=D instanceof Error?D.name:"";if(N==="NotFound"||N==="NoSuchKey"||N==="NotFoundError")return!1;throw D}}}function n2(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new HX({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 ZX($.artifactsDir)}import{createHash as f1}from"crypto";import{spawnSync as lk}from"child_process";import{existsSync as R_,readFileSync as ik}from"fs";import{hostname as tk}from"os";import{join as pR,resolve as JQ}from"path";import{createHash as QF,randomUUID as GF}from"crypto";import{createHash as UB,randomUUID as DB}from"crypto";import{existsSync as i2,readdirSync as jB}from"fs";import{join as fX}from"path";import{pathToFileURL as NB}from"url";import{existsSync as oV,mkdirSync as pV,readFileSync as aV,unlinkSync as eV,writeFileSync as sV}from"fs";import{homedir as _B}from"os";import{dirname as $B,join as qX}from"path";var d2="https://knowledge.md";function z6(_){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 Qj(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??qX(_B(),".hasna","knowledge");return qX($,"auth.json")}function Rj(_,$=process.env){return z6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??d2)}function kX(_=process.env){try{let $=Qj(_);if(!oV($))return null;let U=JSON.parse(aV($,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function CX(_,$=process.env){let U=Qj($),j={..._,api_url:_.api_url?z6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return pV($B(U),{recursive:!0,mode:448}),sV(U,`${JSON.stringify(j,null,2)} +`,{mode:384}),j}function bX(_=process.env){try{return eV(Qj(_)),!0}catch{return!1}}function l2(_=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 $=kX(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function wX(_,$=process.env){let U=kX($),j=l2($),D=$.KNOWLEDGE_API_URL?Rj(_,$):U?.api_url?z6(U.api_url):Rj(_,$);return{authenticated:Boolean(j.apiKey),source:j.source,api_url:D,auth_path:Qj($),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 vX=2;var xX=[{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."}],EB=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function yX(_){let $=[];if(i2(fX(_.home,"cloud.env")))$.push("cloud.env");if(i2(fX(_.home,"migration-exports")))$.push("migration-exports");if(i2(_.home)){for(let U of jB(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))$.push(U)}return $}function k0(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${UB("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function uX(_){return xX.find((U)=>_.startsWith(U.prefix))?.kind??"artifact"}function Gj(_,$,U="global"){let j=t2(_,$),D=_.storage.s3??null,N=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",E=D?`s3://${D.bucket}/${N?`${N}/`:""}`:"",I=z_.s3.prefix.replace(/^\/+|\/+$/g,""),W=`s3://${z_.s3.bucket}/${I}/`,J=_.storage.type==="s3"&&D?.bucket===z_.s3.bucket&&(D.region??null)===z_.s3.region;return{scope:U,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:W6,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"?E:NB(`${$.artifactsDir}/`).href,s3:D?{bucket:D.bucket,prefix:N,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:z_.division,app_type:z_.app_type,app:z_.app,env:z_.env,active:J,local_path:z_.local_path,s3:{bucket:z_.s3.bucket,region:z_.s3.region,profile:z_.s3.profile,prefix:I,uri_prefix:W,server_side_encryption:z_.s3.server_side_encryption},secrets:{env:z_.secrets.env,aws:z_.secrets.aws,s3:z_.secrets.s3,rds:z_.secrets.rds,future_rds:z_.secrets.future_rds},evidence_doc:z_.evidence_doc},hosted:{enabled:_.mode==="hosted",api_url:z6(_.hosted?.api_url??d2),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:vX,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:EB,forbidden_workspace_files_present:yX($),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:z_.secrets.env,aws:z_.secrets.aws,s3:z_.secrets.s3,rds:z_.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((L)=>["open-files","s3","file"].includes(L)),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:xX,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 t2(_,$){let U=[],j=[],D=yX($);for(let N of D)U.push(`Forbidden Knowledge workspace file present: ${N}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!$.home.endsWith(W6))j.push(`Workspace home does not end with ${W6}: ${$.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{z6(_.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 X6(_,$,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 ) @@ -590,49 +590,49 @@ VALUES (10, datetime('now')); size_bytes = excluded.size_bytes, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);_.transaction((j)=>{for(let N of j){let O={key:N.key,...N.modified_at?{artifact_modified_at:N.modified_at}:{},...N.metadata??{}};U.run(n7(),N.uri,N.kind,N.content_type??null,N.hash??null,N.size_bytes??null,JSON.stringify(O),I,I)}})($)}function Q2(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function M6(_){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:Q2($)}}function N$(_){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 a3(_,$){return{..._,provenance:$}}import{createHash as pK}from"crypto";import{existsSync as eK,readFileSync as aK}from"fs";import{basename as UI}from"path";import{createHash as RK}from"crypto";import{existsSync as YK,readFileSync as QK}from"fs";import{basename as KK}from"path";import{fileURLToPath as i7}from"url";function s3(_,$){if(!_)throw Error($);return _}function t7(_){let D=_.slice(13).split("/").filter(Boolean),I=D[0];if(I!=="file"&&I!=="source")throw Error("Invalid open-files ref. Expected open-files://file/, open-files://file//revision/, or open-files://source//path/.");let U=s3(D[1],"Invalid open-files ref. Missing id.");if(I==="file"){if(D.length===2)return{kind:"open-files",uri:_,entity:I,id:U};if(D[2]==="revision"&&D[3]&&D.length===4)return{kind:"open-files",uri:_,entity:I,id:U,revision_id:decodeURIComponent(D[3])};throw Error("Invalid open-files file ref. Expected open-files://file//revision/.")}let E=D.indexOf("path"),j=E>=0?decodeURIComponent(D.slice(E+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:I,id:U,path:j}}function o7(_){let $=new URL(_),D=s3($.hostname,"Invalid s3 ref. Missing bucket."),I=decodeURIComponent($.pathname.replace(/^\/+/,""));if(!I)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:_,bucket:D,key:I}}function p7(_){return{kind:"file",uri:_,path:i7(_)}}function e7(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function J$(_){if(_.startsWith("open-files://"))return t7(_);if(_.startsWith("s3://"))return o7(_);if(_.startsWith("file://"))return p7(_);if(_.startsWith("https://")||_.startsWith("http://"))return e7(_);throw Error(`Unsupported source ref scheme: ${_}`)}function _g(_,$=J$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function $g(_){let $=J$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as a7,randomUUID as T2}from"crypto";import{relative as s7,resolve as Ug,sep as _K}from"path";function Dg(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function Ig(_,$){let D=_,I=new Set(D.safety?.network?.allowed_s3_buckets??[]);if(_.storage.type==="s3"&&_.storage.s3?.bucket)I.add(_.storage.s3.bucket);if(process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS)for(let U of process.env.HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.split(",").map((E)=>E.trim()).filter(Boolean))I.add(U);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((U)=>Ug(U)),readOnlySourceAccess:!0,network:{webSearchEnabled:D.safety?.network?.web_search_enabled??Dg("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:D.safety?.network?.s3_reads_enabled??Dg("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...I].sort()},redaction:{enabled:D.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:D.safety?.approvals?.generated_writes_require_approval??!0}}}function $K(_,$){let D=s7(_,$);return D===""||!D.startsWith("..")&&D!==".."&&!D.startsWith(`..${_K}`)}function N6(_,$){let D=Ug(_);if(!$.allowWriteRoots.some((I)=>$K(I,D)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function Z6(_,$){let I=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(I))throw Error(`Safety policy denied S3 bucket "${I}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function Y0(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var Eg=[{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 u_(_,$){if($&&!$.redaction.enabled)return{text:_,findings:[]};let D=_,I=[];for(let U of Eg)D=D.replace(U.regex,(E,...j)=>{let N=typeof j.at(-2)==="number"?j.at(-2):D.indexOf(E);return I.push({type:U.type,severity:U.severity,start:Math.max(0,N),end:Math.max(0,N+E.length)}),U.replacement});return{text:D,findings:I}}function DK(_){return`audit_${a7("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${T2()}`).digest("hex").slice(0,24)}`}function K2(_,$=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 D=_.slice(0,25).map((I)=>K2(I,$+1));if(_.length>25)D.push(`[Truncated:${_.length-25} items]`);return D}if(typeof _==="object"){let D={},I=Object.entries(_).slice(0,50);for(let[E,j]of I)D[E]=K2(j,$+1);let U=Object.keys(_).length;if(U>I.length)D.__truncated_keys=U-I.length;return D}return String(_)}function R_(_,$){let D=$.created_at??new Date().toISOString(),I=K2($.metadata??{}),U=DK({...$,metadata:I,created_at:D});return _.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[U,$.event_type,$.action,$.target_uri??null,$.decision,JSON.stringify(I),D]),U}function Q0(_,$){let D=$.created_at??new Date().toISOString();for(let I of $.findings)_.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${T2()}`,$.source_uri??null,$.run_id??null,I.severity,I.type,JSON.stringify({...$.metadata??{},start:I.start,end:I.end}),D]);return $.findings.length}function _I(_,$){let D=$.created_at??new Date().toISOString(),I=`approval_${T2()}`;return _.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,$.action,$.target_uri??null,"approved",$.reason??null,$.approved_by??"local-cli",JSON.stringify($.metadata??{}),D,D]),{id:I,status:"approved"}}var UK=[{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]"}];Eg.push(...UK);function IK(_,$,D){let I=_.query(`SELECT id FROM approval_gates + `);_.transaction((E)=>{for(let I of E){let W={key:I.key,...I.modified_at?{artifact_modified_at:I.modified_at}:{},...I.metadata??{}};D.run(DB(),I.uri,I.kind,I.content_type??null,I.hash??null,I.size_bytes??null,JSON.stringify(W),j,j)}})($)}function o2(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function x6(_){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:o2($)}}function P$(_){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 hX(_,$){return{..._,provenance:$}}import{createHash as JF}from"crypto";import{existsSync as LF,readFileSync as SF}from"fs";import{basename as Fj}from"path";import{createHash as bB}from"crypto";import{existsSync as wB,readFileSync as vB}from"fs";import{basename as fB}from"path";import{fileURLToPath as IB}from"url";function rX(_,$){if(!_)throw Error($);return _}function AB(_){let U=_.slice(13).split("/").filter(Boolean),j=U[0];if(j!=="file"&&j!=="source")throw Error("Invalid open-files ref. Expected open-files://file/, open-files://file//revision/, or open-files://source//path/.");let D=rX(U[1],"Invalid open-files ref. Missing id.");if(j==="file"){if(U.length===2)return{kind:"open-files",uri:_,entity:j,id:D};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:_,entity:j,id:D,revision_id:decodeURIComponent(U[3])};throw Error("Invalid open-files file ref. Expected open-files://file//revision/.")}let N=U.indexOf("path"),E=N>=0?decodeURIComponent(U.slice(N+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:j,id:D,path:E}}function WB(_){let $=new URL(_),U=rX($.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 JB(_){return{kind:"file",uri:_,path:IB(_)}}function LB(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function T$(_){if(_.startsWith("open-files://"))return AB(_);if(_.startsWith("s3://"))return WB(_);if(_.startsWith("file://"))return JB(_);if(_.startsWith("https://")||_.startsWith("http://"))return LB(_);throw Error(`Unsupported source ref scheme: ${_}`)}function cX(_,$=T$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function mX(_){let $=T$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as SB,randomUUID as a2}from"crypto";import{relative as PB,resolve as dX,sep as OB}from"path";function nX(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function lX(_,$){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((N)=>N.trim()).filter(Boolean))j.add(D);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((D)=>dX(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??nX("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??nX("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 zB(_,$){let U=PB(_,$);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${OB}`)}function Y6(_,$){let U=dX(_);if(!$.allowWriteRoots.some((j)=>zB(j,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function y6(_,$){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 C0(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var iX=[{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 d_(_,$){if($&&!$.redaction.enabled)return{text:_,findings:[]};let U=_,j=[];for(let D of iX)U=U.replace(D.regex,(N,...E)=>{let I=typeof E.at(-2)==="number"?E.at(-2):U.indexOf(N);return j.push({type:D.type,severity:D.severity,start:Math.max(0,I),end:Math.max(0,I+N.length)}),D.replacement});return{text:U,findings:j}}function XB(_){return`audit_${SB("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${a2()}`).digest("hex").slice(0,24)}`}function p2(_,$=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)=>p2(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[N,E]of j)U[N]=p2(E,$+1);let D=Object.keys(_).length;if(D>j.length)U.__truncated_keys=D-j.length;return U}return String(_)}function G_(_,$){let U=$.created_at??new Date().toISOString(),j=p2($.metadata??{}),D=XB({...$,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 b0(_,$){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_${a2()}`,$.source_uri??null,$.run_id??null,j.severity,j.type,JSON.stringify({...$.metadata??{},start:j.start,end:j.end}),U]);return $.findings.length}function Tj(_,$){let U=$.created_at??new Date().toISOString(),j=`approval_${a2()}`;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 YB=[{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]"}];iX.push(...YB);function RB(_,$,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($,D??null,D??null);return Boolean(I)}function jg(_,$,D,I){let U=D==="generated_write"&&$.approvals.generatedWritesRequireApproval,E=!U||IK(_,D,I);return{action:D,target_uri:I??null,approval_required:U,approved:E,decision:E?"allow":"requires_approval"}}import{createHash as EK}from"crypto";import{realpathSync as jK}from"fs";import{homedir as NK,tmpdir as AK}from"os";var E4=String.raw`[^\s"'<>),\]}]`,V2=String.raw`[^/\\\s"'<>]+`,Og=/file:\/\/[^\s"'<>),\]}]+/gi,OK=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,Sg=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,Lg=new RegExp(String.raw`/(?:home|Users)/${V2}/(?:workspace|Workspace)/${E4}*`,"g"),SK=[new RegExp(String.raw`/(?:home|Users)/${V2}(?:/${E4}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${E4}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${E4}+`,"g"),new RegExp(String.raw`(?),\]}]+)\b/gi,Jg=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,LK=new Set(["content_base64"]);function WK(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function JK(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var Ng=null,F2=[];function PK(){let _=new Set;for(let D of[NK(),AK()]){if(!D)continue;_.add(D);try{_.add(jK(D))}catch{}}let $=[..._].sort().join("\x00");if($===Ng)return F2;return Ng=$,F2=[..._].filter(JK).sort((D,I)=>I.length-D.length).map((D)=>new RegExp(`${WK(D)}(?:[/\\\\]${E4}*)?`,"g")),F2}function P$(_){return EK("sha256").update(_).digest("hex").slice(0,12)}function zK(_){return _.length<=80?_:`${_.slice(0,77)}...`}function Ag(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function gK(_,$,D,I){for(let U of _.matchAll(Og)){let E=U[0];if(!D.allowFileSourceRefs||Ag(E))I.push({type:Ag(E)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:zK(E.replace(/^file:\/\/.*/,`[redacted:file-uri:${P$(E)}]`))})}for(let U of _.matchAll(Sg))I.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${P$(U[0])}]`});for(let U of _.matchAll(Wg))I.push({type:U[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${P$(U[0])}]`});for(let U of _.matchAll(Jg))I.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${P$(U[0])}]`});if(!D.allowPrivateWorkspaceRefs)for(let U of _.matchAll(Lg))I.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${P$(U[0])}]`})}function XK(_,$={},D="$"){let I=[],U=(E,j)=>{if(typeof E==="string"){gK(E,j,$,I);return}if(!E||typeof E!=="object")return;if(Array.isArray(E)){E.forEach((N,O)=>U(N,`${j}[${O}]`));return}for(let[N,O]of Object.entries(E))U(O,`${j}.${N}`)};return U(_,D),I}function j4(_,$={}){let D=XK(_,$);if(D.length===0)return;let I=new Map;for(let E of D)I.set(E.type,(I.get(E.type)??0)+1);let U=[...I.entries()].map(([E,j])=>`${E}:${j}`).join(", ");throw Error(`Knowledge private-ref lint failed (${U}). Store open-files/s3 refs or approved runtime secret refs instead of private .hasna, file://, raw DB/export, or cloud.env refs.`)}function GK(_){let $=u_(_).text.replace(Jg,(D)=>`[REDACTED:database-url:${P$(D)}]`).replace(Og,(D)=>`[REDACTED:local-file-uri:${P$(D)}]`).replace(OK,(D)=>`[REDACTED:local-hasna-path:${P$(D)}]`).replace(Lg,(D)=>`[REDACTED:private-workspace:${P$(D)}]`);for(let D of[...PK(),...SK])$=$.replace(D,(I)=>`[REDACTED:local-path:${P$(I)}]`);return $.replace(Sg,(D)=>`[REDACTED:hasna-path:${P$(D)}]`).replace(Wg,(D)=>`[REDACTED:private-artifact:${P$(D)}]`)}function F_(_){if(typeof _==="string")return GK(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((D)=>F_(D));let $={};for(let[D,I]of Object.entries(_))$[D]=LK.has(D)?I:F_(I);return $}var TK=20971520,Pg=1e4,FK=10;function M2(_,$){return`${_}_${RK("sha256").update($).digest("hex").slice(0,20)}`}function N4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function O_(_){return typeof _==="string"&&_.length>0?_:void 0}function VK(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function BK(_){let $=O_(_.source_ref)??O_(_.source_uri)??O_(_.uri);if($)return $;let D=O_(_.file_id);if(D){let E=O_(_.revision_id)??O_(_.revision),j=`open-files://file/${encodeURIComponent(D)}`;return E?`${j}/revision/${encodeURIComponent(E)}`:j}let I=O_(_.source_id),U=O_(_.path);if(I&&U)return`open-files://source/${encodeURIComponent(I)}/path/${encodeURIComponent(U)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function MK(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function ZK(_){let $=O_(_.extracted_text)??O_(_.text)??O_(_.content_text)??O_(_.markdown);if($!==void 0)return $;let D=_.content;return typeof D==="string"?D:null}function HK(_){let $=O_(_.extracted_text_ref)??O_(_.extracted_text_uri)??O_(_.text_ref);if($)return $;let D=N4(_.content);return O_(D?.extracted_text_ref)??O_(D?.extracted_text_uri)??null}function bK(_){let $=O_(_.path);return O_(_.title)??O_(_.name)??($?KK($):null)}function qK(_){return O_(_.hash)??O_(_.checksum)??O_(_.sha256)??null}var zg=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 gg(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function B2(_){if(Array.isArray(_))return _.map((I)=>B2(I));let $=N4(_);if(!$)return _;let D={};for(let[I,U]of Object.entries($)){if(zg.has(gg(I)))continue;D[I]=B2(U)}return D}function kK(_,$,D){return O_(_.revision_id)??O_(_.revision)??O_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??D??O_(_.updated_at)??"current"}function CK(_,$){let D={};for(let[I,U]of Object.entries(_)){if(zg.has(gg(I)))continue;D[I]=F_(B2(U))}return D.source_ref=$.sourceRef,D.source_uri=$.sourceUri,D.status=$.status,D}function vK(_,$,D={}){let I=BK(_);j4(I,{allowFileSourceRefs:D.allowFileSourceRefs===!0});let U=J$(I),E=MK(I,U),j=qK(_),N=O_(_.status)??"active";return{raw:_,sourceRef:I,sourceUri:E,kind:U.kind,title:bK(_),revision:kK(_,U,j),hash:j,extractedTextUri:HK(_),text:ZK(_),metadata:CK(_,{sourceRef:I,sourceUri:E,status:N}),acl:_.permissions??_.acl??{},status:N,updatedAt:O_(_.updated_at)??$}}function wK(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let D=JSON.parse($);if(!Array.isArray(D))throw Error("Manifest array parse failed.");return D.map((I)=>{let U=N4(I);if(!U)throw Error("Manifest array entries must be objects.");return U})}if($.startsWith("{"))try{let D=JSON.parse($),I=N4(D);if(!I)throw Error("Manifest object parse failed.");if(Array.isArray(I.items))return I.items.map((U)=>{let E=N4(U);if(!E)throw Error("Manifest items entries must be objects.");return E});if("source_ref"in I||"source_uri"in I||"file_id"in I)return[I]}catch(D){let I=$.split(/\r?\n/).filter((U)=>U.trim().length>0);if(I.length<=1)throw D;return I.map((U)=>{let E=N4(JSON.parse(U));if(!E)throw Error("Manifest JSONL entries must be objects.");return E})}return $.split(/\r?\n/).filter((D)=>D.trim().length>0).map((D)=>{let I=N4(JSON.parse(D));if(!I)throw Error("Manifest JSONL entries must be objects.");return I})}async function rK(_,$,D){let I=new URL(_),U=I.hostname,E=decodeURIComponent(I.pathname.replace(/^\/+/,""));if(!U||!E)throw Error(`Invalid S3 manifest URI: ${_}`);if(D)Z6(_,D);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),S=$?.storage.type==="s3"&&$.storage.s3?.bucket===U?$.storage.s3:void 0,W=await new j({region:S?.region,credentials:S?.profile?O({profile:S.profile}):void 0,maxAttempts:S?.max_attempts}).send(new N({Bucket:U,Key:E}));if(!W.Body)return"";return await W.Body.transformToString()}async function fK(_,$,D,I=TK){let U=_.startsWith("s3://")?await rK(_,$,D):(()=>{if(!YK(_))throw Error(`Manifest not found: ${_}`);return QK(_,"utf8")})(),E=Buffer.byteLength(U);if(E>I)throw Error(`Manifest input is too large: ${E} bytes exceeds ${I} byte limit.`);return U}function xK(_,$,D){let I=_.replace(/\r\n/g,` -`);if(!I.trim())return[];let U=[],E=0;while(E),\]}]`,s2=String.raw`[^/\\\s"'<>]+`,aX=/file:\/\/[^\s"'<>),\]}]+/gi,BB=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,eX=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,sX=new RegExp(String.raw`/(?:home|Users)/${s2}/(?:workspace|Workspace)/${X4}*`,"g"),FB=[new RegExp(String.raw`/(?:home|Users)/${s2}(?:/${X4}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${X4}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${X4}+`,"g"),new RegExp(String.raw`(?),\]}]+)\b/gi,$5=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,KB=new Set(["content_base64"]);function gB(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MB(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var oX=null,e2=[];function ZB(){let _=new Set;for(let U of[TB(),VB()]){if(!U)continue;_.add(U);try{_.add(GB(U))}catch{}}let $=[..._].sort().join("\x00");if($===oX)return e2;return oX=$,e2=[..._].filter(MB).sort((U,j)=>j.length-U.length).map((U)=>new RegExp(`${gB(U)}(?:[/\\\\]${X4}*)?`,"g")),e2}function V$(_){return QB("sha256").update(_).digest("hex").slice(0,12)}function HB(_){return _.length<=80?_:`${_.slice(0,77)}...`}function pX(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function qB(_,$,U,j){for(let D of _.matchAll(aX)){let N=D[0];if(!U.allowFileSourceRefs||pX(N))j.push({type:pX(N)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:HB(N.replace(/^file:\/\/.*/,`[redacted:file-uri:${V$(N)}]`))})}for(let D of _.matchAll(eX))j.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${V$(D[0])}]`});for(let D of _.matchAll(_5))j.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${V$(D[0])}]`});for(let D of _.matchAll($5))j.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${V$(D[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let D of _.matchAll(sX))j.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${V$(D[0])}]`})}function kB(_,$={},U="$"){let j=[],D=(N,E)=>{if(typeof N==="string"){qB(N,E,$,j);return}if(!N||typeof N!=="object")return;if(Array.isArray(N)){N.forEach((I,W)=>D(I,`${E}[${W}]`));return}for(let[I,W]of Object.entries(N))D(W,`${E}.${I}`)};return D(_,U),j}function Y4(_,$={}){let U=kB(_,$);if(U.length===0)return;let j=new Map;for(let N of U)j.set(N.type,(j.get(N.type)??0)+1);let D=[...j.entries()].map(([N,E])=>`${N}:${E}`).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 CB(_){let $=d_(_).text.replace($5,(U)=>`[REDACTED:database-url:${V$(U)}]`).replace(aX,(U)=>`[REDACTED:local-file-uri:${V$(U)}]`).replace(BB,(U)=>`[REDACTED:local-hasna-path:${V$(U)}]`).replace(sX,(U)=>`[REDACTED:private-workspace:${V$(U)}]`);for(let U of[...ZB(),...FB])$=$.replace(U,(j)=>`[REDACTED:local-path:${V$(j)}]`);return $.replace(eX,(U)=>`[REDACTED:hasna-path:${V$(U)}]`).replace(_5,(U)=>`[REDACTED:private-artifact:${V$(U)}]`)}function K_(_){if(typeof _==="string")return CB(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((U)=>K_(U));let $={};for(let[U,j]of Object.entries(_))$[U]=KB.has(U)?j:K_(j);return $}var xB=20971520,U5=1e4,yB=10;function $A(_,$){return`${_}_${bB("sha256").update($).digest("hex").slice(0,20)}`}function R4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function J_(_){return typeof _==="string"&&_.length>0?_:void 0}function uB(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function hB(_){let $=J_(_.source_ref)??J_(_.source_uri)??J_(_.uri);if($)return $;let U=J_(_.file_id);if(U){let N=J_(_.revision_id)??J_(_.revision),E=`open-files://file/${encodeURIComponent(U)}`;return N?`${E}/revision/${encodeURIComponent(N)}`:E}let j=J_(_.source_id),D=J_(_.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 rB(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function cB(_){let $=J_(_.extracted_text)??J_(_.text)??J_(_.content_text)??J_(_.markdown);if($!==void 0)return $;let U=_.content;return typeof U==="string"?U:null}function mB(_){let $=J_(_.extracted_text_ref)??J_(_.extracted_text_uri)??J_(_.text_ref);if($)return $;let U=R4(_.content);return J_(U?.extracted_text_ref)??J_(U?.extracted_text_uri)??null}function nB(_){let $=J_(_.path);return J_(_.title)??J_(_.name)??($?fB($):null)}function dB(_){return J_(_.hash)??J_(_.checksum)??J_(_.sha256)??null}var D5=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 j5(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function _A(_){if(Array.isArray(_))return _.map((j)=>_A(j));let $=R4(_);if(!$)return _;let U={};for(let[j,D]of Object.entries($)){if(D5.has(j5(j)))continue;U[j]=_A(D)}return U}function lB(_,$,U){return J_(_.revision_id)??J_(_.revision)??J_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??J_(_.updated_at)??"current"}function iB(_,$){let U={};for(let[j,D]of Object.entries(_)){if(D5.has(j5(j)))continue;U[j]=K_(_A(D))}return U.source_ref=$.sourceRef,U.source_uri=$.sourceUri,U.status=$.status,U}function tB(_,$,U={}){let j=hB(_);Y4(j,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let D=T$(j),N=rB(j,D),E=dB(_),I=J_(_.status)??"active";return{raw:_,sourceRef:j,sourceUri:N,kind:D.kind,title:nB(_),revision:lB(_,D,E),hash:E,extractedTextUri:mB(_),text:cB(_),metadata:iB(_,{sourceRef:j,sourceUri:N,status:I}),acl:_.permissions??_.acl??{},status:I,updatedAt:J_(_.updated_at)??$}}function oB(_){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=R4(j);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),j=R4(U);if(!j)throw Error("Manifest object parse failed.");if(Array.isArray(j.items))return j.items.map((D)=>{let N=R4(D);if(!N)throw Error("Manifest items entries must be objects.");return N});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 N=R4(JSON.parse(D));if(!N)throw Error("Manifest JSONL entries must be objects.");return N})}return $.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let j=R4(JSON.parse(U));if(!j)throw Error("Manifest JSONL entries must be objects.");return j})}async function pB(_,$,U){let j=new URL(_),D=j.hostname,N=decodeURIComponent(j.pathname.replace(/^\/+/,""));if(!D||!N)throw Error(`Invalid S3 manifest URI: ${_}`);if(U)y6(_,U);let[{S3Client:E,GetObjectCommand:I},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new E({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new I({Bucket:D,Key:N}));if(!S.Body)return"";return await S.Body.transformToString()}async function aB(_,$,U,j=xB){let D=_.startsWith("s3://")?await pB(_,$,U):(()=>{if(!wB(_))throw Error(`Manifest not found: ${_}`);return vB(_,"utf8")})(),N=Buffer.byteLength(D);if(N>j)throw Error(`Manifest input is too large: ${N} bytes exceeds ${j} byte limit.`);return D}function eB(_,$,U){let j=_.replace(/\r\n/g,` +`);if(!j.trim())return[];let D=[],N=0;while(NE+Math.floor($*0.5))N=W+(W===S?2:1)}let O=I.slice(E,N).trim();if(O)U.push({ordinal:U.length,text:O,startOffset:E,endOffset:N});if(N>=I.length)break;E=Math.max(0,N-D)}return U}function uK(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function yK(_,$){let D=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($);for(let I of D)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[I.id]);return _.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]),D.length}function hK(_,$,D){let I=M2("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,E),L=j.lastIndexOf(". ",E),S=Math.max(J,L);if(S>N+Math.floor($*0.5))I=S+(S===J?2:1)}let W=j.slice(N,I).trim();if(W)D.push({ordinal:D.length,text:W,startOffset:N,endOffset:I});if(I>=j.length)break;N=Math.max(0,I-U)}return D}function sB(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function _F(_,$){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 $F(_,$,U){let j=$A("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`,[I,$.sourceUri,$.kind,$.title,JSON.stringify($.metadata),JSON.stringify($.acl??{}),D,$.updatedAt]);let U=_.query("SELECT id FROM sources WHERE uri = ?").get($.sourceUri);if(!U)throw Error(`Failed to upsert source: ${$.sourceUri}`);return U.id}function cK(_,$,D,I){let U=M2("rev",`${$}\x00${D.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 UF(_,$,U,j){let D=$A("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`,[U,$,D.revision,D.hash,D.extractedTextUri,JSON.stringify(D.metadata),I]);let E=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,D.revision);if(!E)throw Error(`Failed to upsert source revision: ${D.sourceRef}`);return E.id}function nK(_,$,D,I,U,E,j){if(!D.text||D.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let N=u_(D.text,j);if(N.findings.length>0)Q0(_,{source_uri:D.sourceUri,findings:N.findings,metadata:{source_ref:D.sourceRef,revision:D.revision},created_at:I}),R_(_,{event_type:"redaction",action:"source_text_redact",target_uri:D.sourceUri,decision:"redacted",metadata:{findings:N.findings.length,source_ref:D.sourceRef,revision:D.revision},created_at:I});let O=xK(N.text,U,E);for(let S of O){let L=M2("chk",`${$}\x00${S.ordinal}\x00${S.text}`),W=M6({source_ref:D.sourceRef,source_uri:D.sourceUri,source_kind:D.kind,source_revision_id:$,revision:D.revision,hash:D.hash,chunk_id:L,start_offset:S.startOffset,end_offset:S.endOffset,status:D.status,resolver:"open-files-read-only"}),g=a3({source_ref:D.sourceRef,source_uri:D.sourceUri,source_kind:D.kind,source_revision_id:$,revision:D.revision,hash:D.hash,status:D.status,path:O_(D.raw.path)??null,mime:O_(D.raw.mime)??O_(D.raw.content_type)??null,size:VK(D.raw.size)??null},W);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,$,"source",S.ordinal,S.text,uK(S.text),S.startOffset,S.endOffset,JSON.stringify(g),I]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[L,S.text,D.title??"",D.sourceUri])}return{chunksInserted:O.length,redactions:N.findings.length}}async function Xg(_){let $=_.now??new Date;if(_.safetyPolicy)N6(_.dbPath,_.safetyPolicy);c(_.dbPath);let D=await fK(_.input,_.config,_.safetyPolicy,_.maxInputBytes),I=wK(D),U=_.maxItems??Pg;if(I.length>U)throw Error(`Manifest contains too many items: ${I.length} exceeds ${U} item limit.`);return A4({dbPath:_.dbPath,items:I,sourceLabel:_.input,allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:_.safetyPolicy,now:$,maxChunkChars:_.maxChunkChars,chunkOverlapChars:_.chunkOverlapChars,maxItems:_.maxItems})}async function A4(_){let $=(_.now??new Date).toISOString(),D=_.maxChunkChars??4000,I=_.chunkOverlapChars??200,U=_.maxItems??Pg;if(D<500)throw Error("maxChunkChars must be at least 500.");if(I<0||I>=D)throw Error("chunkOverlapChars must be less than maxChunkChars.");if(_.items.length>U)throw Error(`Manifest contains too many items: ${_.items.length} exceeds ${U} item limit.`);if(_.safetyPolicy)N6(_.dbPath,_.safetyPolicy);c(_.dbPath);let E=w(_.dbPath);try{return E.transaction(()=>{let N=new Set,O=new Set,S=0,L=0,W=0,g=0,z=[];R_(E,{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 G of _.items){let J=vK(G,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(z.length0)return I}return null}function Gg(_,$){for(let D of $){let I=_[D];if(typeof I==="number"&&Number.isFinite(I))return I}return null}function dK(_,$){let D=_.mode;if(typeof D==="string"&&D!=="read_only")throw Error(`Source resolver denied ${$}. Permission mode is ${D}, expected read_only.`);let I=_.denied_purposes;if(Array.isArray(I)&&I.includes($))throw Error(`Source resolver denied ${$}. Purpose is explicitly denied.`);let U=_.allowed_purposes;if(Array.isArray(U)&&U.length>0&&!U.includes($))throw Error(`Source resolver denied ${$}. Allowed purposes: ${U.join(", ")}`)}function mK(_,$,D){if(!$)return D;try{let I=J$(_);if(I.kind==="open-files"&&I.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return D}return D}function lK(_,$,D){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 N=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision);if(!N)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return N.id}function DF(_,$,U,j,D,N,E){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let I=d_(U.text,E);if(I.findings.length>0)b0(_,{source_uri:U.sourceUri,findings:I.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:j}),G_(_,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:I.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:j});let W=eB(I.text,D,N);for(let J of W){let L=$A("chk",`${$}\x00${J.ordinal}\x00${J.text}`),S=x6({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:$,revision:U.revision,hash:U.hash,chunk_id:L,start_offset:J.startOffset,end_offset:J.endOffset,status:U.status,resolver:"open-files-read-only"}),X=hX({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:J_(U.raw.path)??null,mime:J_(U.raw.mime)??J_(U.raw.content_type)??null,size:uB(U.raw.size)??null},S);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,$,"source",J.ordinal,J.text,sB(J.text),J.startOffset,J.endOffset,JSON.stringify(X),j]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[L,J.text,U.title??"",U.sourceUri])}return{chunksInserted:W.length,redactions:I.findings.length}}async function N5(_){let $=_.now??new Date;if(_.safetyPolicy)Y6(_.dbPath,_.safetyPolicy);c(_.dbPath);let U=await aB(_.input,_.config,_.safetyPolicy,_.maxInputBytes),j=oB(U),D=_.maxItems??U5;if(j.length>D)throw Error(`Manifest contains too many items: ${j.length} exceeds ${D} item limit.`);return Q4({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 Q4(_){let $=(_.now??new Date).toISOString(),U=_.maxChunkChars??4000,j=_.chunkOverlapChars??200,D=_.maxItems??U5;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)Y6(_.dbPath,_.safetyPolicy);c(_.dbPath);let N=v(_.dbPath);try{return N.transaction(()=>{let I=new Set,W=new Set,J=0,L=0,S=0,X=0,z=[];G_(N,{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 R of _.items){let P=tB(R,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(z.length0)return j}return null}function E5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return null}function jF(_,$){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 NF(_,$,U){if(!$)return U;try{let j=T$(_);if(j.kind==="open-files"&&j.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return U}return U}function EF(_,$,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($,D,$)??null}function iK(_,$,D){if(D)return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get($,U,$)??null}function IF(_,$,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($,D)??null;return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get($,U)??null;return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? ORDER BY created_at DESC, revision DESC - LIMIT 1`).get($)??null}function tK(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function oK(_,$,D){if(!$||D<=0)return[];return _.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json + LIMIT 1`).get($)??null}function AF(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function WF(_,$,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($,D)}async function DI(_){let $=_.purpose??"knowledge_answer",D=Math.max(0,Math.min(_.limit??10,100)),I=(_.now??new Date).toISOString(),U=J$(_.sourceRef),E=_g(_.sourceRef,U),j=$g(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");N6(_.dbPath,_.safetyPolicy)}c(_.dbPath);let N=w(_.dbPath);try{return N.transaction(()=>{let O=lK(N,E,_.sourceRef);if(!O)return R_(N,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:E},created_at:I}),{source_ref:_.sourceRef,source_uri:E,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 S=$I(O.metadata_json),L=$I(O.acl_json);try{dK(L,$)}catch(Y){throw R_(N,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:O.uri,error:Y instanceof Error?Y.message:String(Y)},created_at:I}),Y}let W=iK(N,O.id,j),g=$I(W?.metadata_json),z=tK(N,W?.id??null),G=oK(N,W?.id??null,D),J=mK(O.uri,W,_.sourceRef),P=G.map((Y)=>{let Q=$I(Y.metadata_json),F={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:O4(Q,["source_ref"])??J,source_uri:O.uri,source_revision_id:W?.id??null,revision:W?.revision??null,hash:W?.hash??O4(Q,["hash"]),chunk_id:Y.id,start_offset:Y.start_offset,end_offset:Y.end_offset,resolved_at:I},B=M6({source_ref:F.source_ref,source_uri:F.source_uri,source_kind:O.kind,source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,chunk_id:Y.id,start_offset:Y.start_offset,end_offset:Y.end_offset,status:O4(Q,["status"]),resolver:F.resolver});return{id:Y.id,kind:Y.kind,ordinal:Y.ordinal,text:Y.text,token_count:Y.token_count,start_offset:Y.start_offset,end_offset:Y.end_offset,metadata:Q,evidence:F,provenance:B}}),X=P.map((Y)=>({source_ref:Y.evidence.source_ref,source_uri:O.uri,chunk_id:Y.id,quote:Y.text.slice(0,500),start_offset:Y.start_offset,end_offset:Y.end_offset,evidence:Y.evidence,provenance:Y.provenance}));R_(N,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:O.uri,revision:W?.revision??null,chunks_returned:P.length,chunks_total:z},created_at:I});let R=O4(S,["mime","content_type"])??O4(g,["mime","content_type"]),T=Gg(S,["size","size_bytes"])??Gg(g,["size","size_bytes"]);return{source_ref:J,source_uri:O.uri,purpose:$,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:O.id,uri:O.uri,kind:O.kind,title:O.title,metadata:S,permissions:L,updated_at:O.updated_at},revision:W?{id:W.id,revision:W.revision,hash:W.hash,extracted_text_uri:W.extracted_text_uri,metadata:g,created_at:W.created_at,reindex_required:g.reindex_required===!0}:null,content:{mime:R,size:T,hash:W?.hash??O4(S,["hash","checksum","sha256"]),text_available:z>0,chunks_total:z,chunks_returned:P.length,char_count_returned:P.reduce((Y,Q)=>Y+Q.text.length,0),extracted_text_ref:W?.extracted_text_uri??O4(g,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:P,citations:X}})()}finally{N.close()}}function K0(_){return`sha256:${pK("sha256").update(_).digest("hex")}`}function sK(_){return _.replace(//gi," ").replace(//gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` + LIMIT ?`).all($,U)}async function Bj(_){let $=_.purpose??"knowledge_answer",U=Math.max(0,Math.min(_.limit??10,100)),j=(_.now??new Date).toISOString(),D=T$(_.sourceRef),N=cX(_.sourceRef,D),E=mX(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");Y6(_.dbPath,_.safetyPolicy)}c(_.dbPath);let I=v(_.dbPath);try{return I.transaction(()=>{let W=EF(I,N,_.sourceRef);if(!W)return G_(I,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:N},created_at:j}),{source_ref:_.sourceRef,source_uri:N,purpose:$,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let J=Vj(W.metadata_json),L=Vj(W.acl_json);try{jF(L,$)}catch(G){throw G_(I,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:W.uri,error:G instanceof Error?G.message:String(G)},created_at:j}),G}let S=IF(I,W.id,E),X=Vj(S?.metadata_json),z=AF(I,S?.id??null),R=WF(I,S?.id??null,U),P=NF(W.uri,S,_.sourceRef),O=R.map((G)=>{let T=Vj(G.metadata_json),F={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:G4(T,["source_ref"])??P,source_uri:W.uri,source_revision_id:S?.id??null,revision:S?.revision??null,hash:S?.hash??G4(T,["hash"]),chunk_id:G.id,start_offset:G.start_offset,end_offset:G.end_offset,resolved_at:j},g=x6({source_ref:F.source_ref,source_uri:F.source_uri,source_kind:W.kind,source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,chunk_id:G.id,start_offset:G.start_offset,end_offset:G.end_offset,status:G4(T,["status"]),resolver:F.resolver});return{id:G.id,kind:G.kind,ordinal:G.ordinal,text:G.text,token_count:G.token_count,start_offset:G.start_offset,end_offset:G.end_offset,metadata:T,evidence:F,provenance:g}}),Y=O.map((G)=>({source_ref:G.evidence.source_ref,source_uri:W.uri,chunk_id:G.id,quote:G.text.slice(0,500),start_offset:G.start_offset,end_offset:G.end_offset,evidence:G.evidence,provenance:G.provenance}));G_(I,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:W.uri,revision:S?.revision??null,chunks_returned:O.length,chunks_total:z},created_at:j});let Q=G4(J,["mime","content_type"])??G4(X,["mime","content_type"]),B=E5(J,["size","size_bytes"])??E5(X,["size","size_bytes"]);return{source_ref:P,source_uri:W.uri,purpose:$,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:W.id,uri:W.uri,kind:W.kind,title:W.title,metadata:J,permissions:L,updated_at:W.updated_at},revision:S?{id:S.id,revision:S.revision,hash:S.hash,extracted_text_uri:S.extracted_text_uri,metadata:X,created_at:S.created_at,reindex_required:X.reindex_required===!0}:null,content:{mime:Q,size:B,hash:S?.hash??G4(J,["hash","checksum","sha256"]),text_available:z>0,chunks_total:z,chunks_returned:O.length,char_count_returned:O.reduce((G,T)=>G+T.text.length,0),extracted_text_ref:S?.extracted_text_uri??G4(X,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:O,citations:Y}})()}finally{I.close()}}function w0(_){return`sha256:${JF("sha256").update(_).digest("hex")}`}function PF(_){return _.replace(//gi," ").replace(//gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` `).replace(/\n\s+/g,` -`).replace(/[ \t]{2,}/g," ").trim()}async function _T(_,$,D){let I=new URL(_),U=I.hostname,E=decodeURIComponent(I.pathname.replace(/^\/+/,""));if(!U||!E)throw Error(`Invalid S3 source URI: ${_}`);if(D)Z6(_,D);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),S=$?.storage.type==="s3"&&$.storage.s3?.bucket===U?$.storage.s3:void 0,W=await new j({region:S?.region,credentials:S?.profile?O({profile:S.profile}):void 0,maxAttempts:S?.max_attempts}).send(new N({Bucket:U,Key:E}));if(!W.Body)return"";return await W.Body.transformToString()}async function $T(_,$){if($)Y0($);let D=await X0(_,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!D.ok)throw Error(`Web source read failed ${D.status}: ${_}`);let I=D.headers.get("content-type"),U=await D.text();return{text:I?.includes("html")?sK(U):U,mime:I}}function II(_){if(_.kind==="file")return UI(_.path);if(_.kind==="s3")return UI(_.key);if(_.kind==="web")return UI(new URL(_.url).pathname)||_.url;return _.path?UI(_.path):_.id}async function Rg(_,$,D){if(_.kind==="file"){if(!eK(_.path))throw Error(`Source file not found: ${_.path}`);let I=aK(_.path,"utf8");return{text:I,contentSource:"file",title:II(_),mime:"text/plain",size:I.length,hash:K0(I),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let I=await _T(_.uri,$,D);return{text:I,contentSource:"s3",title:II(_),mime:"text/plain",size:I.length,hash:K0(I),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let I=await $T(_.url,D);return{text:I.text,contentSource:"web",title:II(_),mime:I.mime,size:I.text.length,hash:K0(I.text),revision:null,extractedTextRef:null,metadata:{url:_.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${_.uri}`)}async function DT(_,$,D){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 I=J$(_);return{text:(await Rg(I,$,D)).text,contentSource:"extracted_text_ref"}}async function UT(_){let $=await DI({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 I=await DT($.revision.extracted_text_uri,_.config,_.safetyPolicy);return{text:I.text,contentSource:I.contentSource,title:$.source?.title??null,mime:$.content.mime,size:I.text.length,hash:$.revision.hash??K0(I.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 D=$.chunks.map((I)=>I.text).join(` +`).replace(/[ \t]{2,}/g," ").trim()}async function OF(_,$,U){let j=new URL(_),D=j.hostname,N=decodeURIComponent(j.pathname.replace(/^\/+/,""));if(!D||!N)throw Error(`Invalid S3 source URI: ${_}`);if(U)y6(_,U);let[{S3Client:E,GetObjectCommand:I},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new E({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new I({Bucket:D,Key:N}));if(!S.Body)return"";return await S.Body.transformToString()}async function zF(_,$){if($)C0($);let U=await H0(_,{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")?PF(D):D,mime:j}}function Kj(_){if(_.kind==="file")return Fj(_.path);if(_.kind==="s3")return Fj(_.key);if(_.kind==="web")return Fj(new URL(_.url).pathname)||_.url;return _.path?Fj(_.path):_.id}async function I5(_,$,U){if(_.kind==="file"){if(!LF(_.path))throw Error(`Source file not found: ${_.path}`);let j=SF(_.path,"utf8");return{text:j,contentSource:"file",title:Kj(_),mime:"text/plain",size:j.length,hash:w0(j),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let j=await OF(_.uri,$,U);return{text:j,contentSource:"s3",title:Kj(_),mime:"text/plain",size:j.length,hash:w0(j),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let j=await zF(_.url,U);return{text:j.text,contentSource:"web",title:Kj(_),mime:j.mime,size:j.text.length,hash:w0(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 XF(_,$,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=T$(_);return{text:(await I5(j,$,U)).text,contentSource:"extracted_text_ref"}}async function YF(_){let $=await Bj({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 XF($.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??w0(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:D,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:D.length,hash:$.revision?.hash??K0(D),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function IT(_,$,D,I){let U=D.hash??K0(D.text),E={...F_(D.metadata),source_ref:_,content_source:D.contentSource,read_only:!0},j={source_ref:_,name:D.title??II($),mime:D.mime??"text/plain",size:D.size??D.text.length,hash:U,revision:D.revision??U,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[I],...D.permissions},metadata:E,extracted_text_ref:D.extractedTextRef,extracted_text:D.text};if($.kind==="open-files"){if($.entity==="file")j.file_id=$.id;if($.entity==="source")j.source_id=$.id,j.path=$.path}if($.kind==="file")j.path=$.path;if($.kind==="s3")j.path=$.key;if($.kind==="web")j.url=$.url;return j}async function EI(_){let $=_.purpose??"knowledge_index";j4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let D=J$(_.sourceRef),I=D.kind==="open-files"?await UT(_):await Rg(D,_.config,_.safetyPolicy),U=IT(_.sourceRef,D,I,$);return{...await A4({dbPath:_.dbPath,items:[U],sourceLabel:_.sourceRef,readAction:"source_ref_ingest_read",allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1,safetyPolicy:_.safetyPolicy,now:_.now}),source_ref:_.sourceRef,content_source:I.contentSource,read_only:!0,hash:String(U.hash)}}function jI(_,$){return`${_}_${ET("sha256").update($).digest("hex").slice(0,20)}`}function NT(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function Z2(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function AT(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function Yg(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function OT(_){let $=_.path?.trim()||`wiki/notes/${NT(_.title)}.md`,D=$.replace(/\\/g,"/");if(!D.startsWith("wiki/notes/")||!D.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(D.startsWith("/")||D.split("/").some((I)=>I===".."||I==="."))throw Error(`Invalid app wiki note path: ${$}`);return D}function ST(_){let $=[`# ${_.title}`,"",_.content.trim(),"",`Updated: ${_.now}`];if(_.tags.length>0)$.push("","Tags:",..._.tags.map((D)=>`- ${D}`));if(_.sourceRefs.length>0)$.push("","Source refs:",..._.sourceRefs.map((D)=>`- ${D}`));return $.push(""),$.join(` -`)}async function Qg(_,$){let D=await _.put($);return{key:D.key,uri:D.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:D.modified_at,...R0($.body),metadata:{...$.metadata??{}}}}async function LT(_,$,D){let I=String(D.getUTCFullYear()),U=String(D.getUTCMonth()+1).padStart(2,"0"),E=String(D.getUTCDate()).padStart(2,"0"),j=`logs/${I}/${U}/${E}.jsonl`,N="";try{N=await _.getText(j)}catch{N=""}return Qg(_,{key:j,body:`${N}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:N$({generated_from:String($.event??"app_wiki_log"),artifact_key:j})}})}function WT(_){return{...F_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function H2(_){let $=Z2(_.metadata_json);return{id:_.id,path:_.path,title:_.title,artifact_uri:_.artifact_uri,content_hash:_.content_hash,tags:Array.isArray($.tags)?$.tags.filter((D)=>typeof D==="string"):[],source_refs:Array.isArray($.source_refs)?$.source_refs.filter((D)=>typeof D==="string"):[],created_at:_.created_at,updated_at:_.updated_at}}function JT(_,$){return $.map((D)=>{let I=_.query(`SELECT +`);return{text:U,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:U.length,hash:$.revision?.hash??w0(U),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function RF(_,$,U,j){let D=U.hash??w0(U.text),N={...K_(U.metadata),source_ref:_,content_source:U.contentSource,read_only:!0},E={source_ref:_,name:U.title??Kj($),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:N,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if($.kind==="open-files"){if($.entity==="file")E.file_id=$.id;if($.entity==="source")E.source_id=$.id,E.path=$.path}if($.kind==="file")E.path=$.path;if($.kind==="s3")E.path=$.key;if($.kind==="web")E.url=$.url;return E}async function gj(_){let $=_.purpose??"knowledge_index";Y4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let U=T$(_.sourceRef),j=U.kind==="open-files"?await YF(_):await I5(U,_.config,_.safetyPolicy),D=RF(_.sourceRef,U,j,$);return{...await Q4({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 Mj(_,$){return`${_}_${QF("sha256").update($).digest("hex").slice(0,20)}`}function TF(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function UA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function VF(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function A5(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function BF(_){let $=_.path?.trim()||`wiki/notes/${TF(_.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 FF(_){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 W5(_,$){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,...k0($.body),metadata:{...$.metadata??{}}}}async function KF(_,$,U){let j=String(U.getUTCFullYear()),D=String(U.getUTCMonth()+1).padStart(2,"0"),N=String(U.getUTCDate()).padStart(2,"0"),E=`logs/${j}/${D}/${N}.jsonl`,I="";try{I=await _.getText(E)}catch{I=""}return W5(_,{key:E,body:`${I}${JSON.stringify($)} +`,content_type:"application/x-ndjson",metadata:{provenance:P$({generated_from:String($.event??"app_wiki_log"),artifact_key:E})}})}function gF(_){return{...K_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function DA(_){let $=UA(_.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 MF(_,$){return $.map((U)=>{let j=_.query(`SELECT s.uri AS source_uri, c.id AS chunk_id, c.text, @@ -646,13 +646,13 @@ VALUES (10, datetime('now')); 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(D,`%${D}%`),U=Z2(I?.metadata_json);return{source_ref:D,source_uri:I?.source_uri??D,chunk_id:I?.chunk_id??null,quote:I?.text?I.text.replace(/\s+/g," ").slice(0,240):null,start_offset:I?.start_offset??null,end_offset:I?.end_offset??null,metadata:{source_ref:D,revision:I?.revision??U.revision,hash:I?.hash??U.hash}}})}function PT(_,$,D,I){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let U=JT(_,D);for(let E of U)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[jI("cit",`${$}\x00${E.source_uri}\x00${E.chunk_id??jT()}`),$,E.chunk_id,E.source_uri,E.quote,E.start_offset,E.end_offset,JSON.stringify(E.metadata),I]);return U.length}function zT(_,$){_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(U,`%${U}%`),D=UA(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 ZF(_,$,U,j){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=MF(_,U);for(let N of D)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Mj("cit",`${$}\x00${N.source_uri}\x00${N.chunk_id??GF()}`),$,N.chunk_id,N.source_uri,N.quote,N.start_offset,N.end_offset,JSON.stringify(N.metadata),j]);return D.length}function HF(_,$){_.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`,[jI("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 gT(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[Mj("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 qF(_,$){_.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, @@ -660,22 +660,22 @@ VALUES (10, datetime('now')); content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify($.metadata),$.now,$.now]);let D=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let U of D)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[U.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let I=jI("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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,$.pageId,"wiki",0,$.body,AT($.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 (?, ?, ?, ?)",[I,$.body,$.title,$.artifactUri])}function mD(_){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)N6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function Kg(_){mD(_);let $=c(_.workspace.knowledgeDbPath),D=w(_.workspace.knowledgeDbPath);try{R_(D,{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{D.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 Tg(_){mD(_);let $=_.now??new Date,D=$.toISOString(),I=Yg(_.tags),U=Yg(_.sourceRefs);for(let W of U)j4(W,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let E=OT(_),j=ST({title:_.title,content:_.content,tags:I,sourceRefs:U,now:D}),N=N$({generated_from:"app_wiki_note",artifact_key:E,source_refs:U}),O=await Qg(_.store,{key:E,body:j,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:N,scope:_.scope,tags:I.join(","),source_refs:U.join(",")}}),S=await LT(_.store,{ts:D,event:"app_wiki_note_written",page_key:E,source_refs:U,tags:I},$);c(_.workspace.knowledgeDbPath);let L=w(_.workspace.knowledgeDbPath);try{let W=jI("wiki",E),g=WT({path:E,tags:I,sourceRefs:U,provenance:N,metadata:_.metadata});j6(L,[O,S],$),gT(L,{pageId:W,path:E,title:_.title,artifactUri:O.uri,contentHash:O.hash??"",body:j,metadata:g,now:D});let z=PT(L,W,U,D);zT(L,{title:_.title,path:E,artifactUri:O.uri,contentHash:O.hash??"",tags:I,sourceRefs:U,now:D}),R_(L,{event_type:"write",action:"app_wiki_note_write",target_uri:O.uri,decision:"allow",metadata:{scope:_.scope,path:E,source_refs:U,tags:I},created_at:D});let G=L.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(W);if(!G)throw Error(`Failed to write app wiki note: ${E}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:H2(G),artifact_uri:O.uri,content_hash:O.hash??"",citations_written:z,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${E}`}}finally{L.close()}}function Fg(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];c(_.dbPath);let D=w(_.dbPath);try{return D.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify($.metadata),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let j=Mj("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,VF($.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 AD(_){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)Y6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function J5(_){AD(_);let $=c(_.workspace.knowledgeDbPath),U=v(_.workspace.knowledgeDbPath);try{G_(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 L5(_){AD(_);let $=_.now??new Date,U=$.toISOString(),j=A5(_.tags),D=A5(_.sourceRefs);for(let S of D)Y4(S,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let N=BF(_),E=FF({title:_.title,content:_.content,tags:j,sourceRefs:D,now:U}),I=P$({generated_from:"app_wiki_note",artifact_key:N,source_refs:D}),W=await W5(_.store,{key:N,body:E,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:I,scope:_.scope,tags:j.join(","),source_refs:D.join(",")}}),J=await KF(_.store,{ts:U,event:"app_wiki_note_written",page_key:N,source_refs:D,tags:j},$);c(_.workspace.knowledgeDbPath);let L=v(_.workspace.knowledgeDbPath);try{let S=Mj("wiki",N),X=gF({path:N,tags:j,sourceRefs:D,provenance:I,metadata:_.metadata});X6(L,[W,J],$),qF(L,{pageId:S,path:N,title:_.title,artifactUri:W.uri,contentHash:W.hash??"",body:E,metadata:X,now:U});let z=ZF(L,S,D,U);HF(L,{title:_.title,path:N,artifactUri:W.uri,contentHash:W.hash??"",tags:j,sourceRefs:D,now:U}),G_(L,{event_type:"write",action:"app_wiki_note_write",target_uri:W.uri,decision:"allow",metadata:{scope:_.scope,path:N,source_refs:D,tags:j},created_at:U});let R=L.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(S);if(!R)throw Error(`Failed to write app wiki note: ${N}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:DA(R),artifact_uri:W.uri,content_hash:W.hash??"",citations_written:z,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${N}`}}finally{L.close()}}function S5(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];c(_.dbPath);let U=v(_.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(H2)}finally{D.close()}}async function Vg(_){c(_.dbPath);let $=w(_.dbPath);try{let D=$.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + LIMIT ?`).all($).map(DA)}finally{U.close()}}async function P5(_){c(_.dbPath);let $=v(_.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(!D)return null;let I=$.query(`SELECT id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at + AND metadata_json LIKE '%"app_wiki":true%'`).get(_.id,_.id);if(!U)return null;let 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(D.id).map((E)=>({...E,metadata:Z2(E.metadata_json),metadata_json:void 0})),U=null;if(_.includeContent!==!1)try{U=await _.store.getText(D.path)}catch{U=null}return{ok:!0,note:H2(D),citations:I,content:U}}finally{$.close()}}async function Bg(_){return mD(_),j4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),EI({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as h2}from"crypto";import{randomUUID as XT}from"crypto";var b2={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"}},GT={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}},RT={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 Zg(_){return _?.providers??{}}function A6(_,$){let D=Zg(_)[$]??{};return{...b2[$],...D}}function Hg(_){let $=Zg(_);return{...RT,...$.default_model?{default:$.default_model}:{},...$.aliases??{}}}function f_(_){let[$,...D]=_.split(":"),I=D.join(":");if($!=="openai"&&$!=="anthropic"&&$!=="deepseek")throw Error(`Unsupported AI provider: ${$}`);if(!I)throw Error(`Invalid model ref: ${_}. Expected provider:model.`);return{provider:$,model:I}}function T$(_,$){return Hg($)[_]??_}function q2(_){let $=Hg(_);return Object.entries($).map(([D,I])=>{let U=f_(I);return{alias:D,model_ref:I,provider:U.provider,model:U.model,default:D==="default",capabilities:GT[U.provider]}})}function bg(_,$=process.env){return Object.keys(b2).map((D)=>{let I=A6(_,D),U=Boolean($[I.api_key_env]);return{provider:D,api_key_env:I.api_key_env,configured:U,source:U?"env":"missing",base_url:I.base_url??null,default_model:I.default_model}})}function qg(_,$=process.env){return{default_model:T$("default",_),providers:bg(_,$),models:q2(_)}}function S4(_,$,D=process.env){let I=bg($,D).find((U)=>U.provider===_);if(!I)throw Error(`Unsupported AI provider: ${_}`);if(!I.configured)throw Error(`Missing ${I.api_key_env} for ${_}. Set the env var to use this provider.`);return I}async function YT(_){if(_==="openai"){let{createOpenAI:D}=await import("@ai-sdk/openai");return D}if(_==="anthropic"){let{createAnthropic:D}=await import("@ai-sdk/anthropic");return D}let{createDeepSeek:$}=await import("@ai-sdk/deepseek");return $}async function QT(_={}){let{createProviderRegistry:$}=await import("ai"),D=_.env??process.env,I={};for(let U of Object.keys(b2)){let E=A6(_.config,U),j=D[E.api_key_env];if(!j)continue;let N=_.factories?.[U]??await YT(U);I[U]=N({apiKey:j,baseURL:E.base_url})}return $(I)}async function lD(_,$={}){let D=T$(_,$.config),I=f_(D);return S4(I.provider,$.config,$.env),(await QT($)).languageModel(D)}function Mg(_,$){for(let D of $){let I=_[D];if(typeof I==="number"&&Number.isFinite(I))return I}return 0}function L4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:Mg($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:Mg($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function T0(_,$){let D=`usage_${XT()}`;return _.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[D,$.run_id??null,$.provider,$.model,$.input_tokens,$.output_tokens,$.cost_usd,JSON.stringify($.metadata),$.created_at??new Date().toISOString()]),D}import{createHash as lT}from"crypto";import{existsSync as HT,readFileSync as bT}from"fs";import{createHash as vg}from"crypto";var KT="openai:text-embedding-3-small",wg=1536;function NI(_){return _?.embeddings??{}}function kg(_,$){return`${_}_${vg("sha256").update($).digest("hex").slice(0,20)}`}function C2(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function F$(_,$){for(let D of $){let I=_[D];if(typeof I==="string"&&I.length>0)return I}return null}function Cg(_,$){for(let D of $){let I=_[D];if(typeof I==="number"&&Number.isFinite(I))return I}return null}function k2(_){return Math.sqrt(_.reduce(($,D)=>$+D*D,0))}function TT(_,$,D=k2($)){let I=k2(_);if(I===0||D===0)return 0;let U=Math.min(_.length,$.length),E=0;for(let j=0;j{let E=D[U%D.length]/255;return Number((E*2-1).toFixed(6))})}async function VT(_,$,D=process.env){S4("openai",$,D);let I=A6($,"openai"),{createOpenAI:U}=await import("@ai-sdk/openai"),E=U({apiKey:D[I.api_key_env],baseURL:I.base_url});if(E.embeddingModel)return E.embeddingModel(_);if(E.textEmbedding)return E.textEmbedding(_);if(E.textEmbeddingModel)return E.textEmbeddingModel(_);throw Error("OpenAI provider does not expose an embedding model factory.")}function W4(_,$){if(!_||_==="default"||_==="embedding")return NI($).default_model??KT;return _}async function rg(_,$={}){let D=W4($.modelRef,$.config),I=f_(D);if(I.provider!=="openai")throw Error(`Embedding provider ${I.provider} is not supported yet. Use openai:text-embedding-3-small.`);let U=$.dimensions??NI($.config).dimensions??wg;if($.fake)return{provider:I.provider,model:I.model,dimensions:U,vectors:_.map((S)=>FT(S,U)),usage:{input_tokens:_.reduce((S,L)=>S+Math.max(1,Math.ceil(L.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:E}=await import("ai"),j=await VT(I.model,$.config,$.env),N=await E({model:j,values:_,maxParallelCalls:$.maxParallelCalls??NI($.config).max_parallel_calls,providerOptions:{openai:{dimensions:U}}}),O=N.embeddings;return{provider:I.provider,model:I.model,dimensions:O[0]?.length??U,vectors:O,usage:{input_tokens:N.usage?.tokens??0}}}function BT(_,$){if($.sourceRevisionId)return _.query(`SELECT + ORDER BY created_at ASC`).all(U.id).map((N)=>({...N,metadata:UA(N.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:DA(U),citations:j,content:D}}finally{$.close()}}async function O5(_){return AD(_),Y4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),gj({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as zA}from"crypto";import{randomUUID as kF}from"crypto";var jA={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"}},CF={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}},bF={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 X5(_){return _?.providers??{}}function R6(_,$){let U=X5(_)[$]??{};return{...jA[$],...U}}function Y5(_){let $=X5(_);return{...bF,...$.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 k$(_,$){return Y5($)[_]??_}function NA(_){let $=Y5(_);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:CF[D.provider]}})}function R5(_,$=process.env){return Object.keys(jA).map((U)=>{let j=R6(_,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 Q5(_,$=process.env){return{default_model:k$("default",_),providers:R5(_,$),models:NA(_)}}function T4(_,$,U=process.env){let j=R5($,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 wF(_){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 vF(_={}){let{createProviderRegistry:$}=await import("ai"),U=_.env??process.env,j={};for(let D of Object.keys(jA)){let N=R6(_.config,D),E=U[N.api_key_env];if(!E)continue;let I=_.factories?.[D]??await wF(D);j[D]=I({apiKey:E,baseURL:N.base_url})}return $(j)}async function WD(_,$={}){let U=k$(_,$.config),j=c_(U);return T4(j.provider,$.config,$.env),(await vF($)).languageModel(U)}function z5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return 0}function V4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:z5($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:z5($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function v0(_,$){let U=`usage_${kF()}`;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 EK}from"crypto";import{existsSync as mF,readFileSync as nF}from"fs";import{createHash as V5}from"crypto";var fF="openai:text-embedding-3-small",B5=1536;function Zj(_){return _?.embeddings??{}}function G5(_,$){return`${_}_${V5("sha256").update($).digest("hex").slice(0,20)}`}function IA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function C$(_,$){for(let U of $){let j=_[U];if(typeof j==="string"&&j.length>0)return j}return null}function T5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return null}function EA(_){return Math.sqrt(_.reduce(($,U)=>$+U*U,0))}function xF(_,$,U=EA($)){let j=EA(_);if(j===0||U===0)return 0;let D=Math.min(_.length,$.length),N=0;for(let E=0;E{let N=U[D%U.length]/255;return Number((N*2-1).toFixed(6))})}async function uF(_,$,U=process.env){T4("openai",$,U);let j=R6($,"openai"),{createOpenAI:D}=await import("@ai-sdk/openai"),N=D({apiKey:U[j.api_key_env],baseURL:j.base_url});if(N.embeddingModel)return N.embeddingModel(_);if(N.textEmbedding)return N.textEmbedding(_);if(N.textEmbeddingModel)return N.textEmbeddingModel(_);throw Error("OpenAI provider does not expose an embedding model factory.")}function B4(_,$){if(!_||_==="default"||_==="embedding")return Zj($).default_model??fF;return _}async function F5(_,$={}){let U=B4($.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??Zj($.config).dimensions??B5;if($.fake)return{provider:j.provider,model:j.model,dimensions:D,vectors:_.map((J)=>yF(J,D)),usage:{input_tokens:_.reduce((J,L)=>J+Math.max(1,Math.ceil(L.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:N}=await import("ai"),E=await uF(j.model,$.config,$.env),I=await N({model:E,values:_,maxParallelCalls:$.maxParallelCalls??Zj($.config).max_parallel_calls,providerOptions:{openai:{dimensions:D}}}),W=I.embeddings;return{provider:j.provider,model:j.model,dimensions:W[0]?.length??D,vectors:W,usage:{input_tokens:I.usage?.tokens??0}}}function hF(_,$){if($.sourceRevisionId)return _.query(`SELECT c.id, c.text, c.token_count, @@ -713,14 +713,14 @@ VALUES (10, datetime('now')); 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 MT(_){let $=C2(_.metadata_json),D=$.provenance;if(D&&typeof D==="object"&&!Array.isArray(D))return D;return M6({source_ref:F$($,["source_ref"]),source_uri:_.source_uri??F$($,["source_uri"]),source_kind:_.source_kind??F$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??F$($,["revision"]),hash:_.hash??F$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??Cg($,["start_offset"]),end_offset:_.end_offset??Cg($,["end_offset"]),status:F$($,["status"]),resolver:"open-files-read-only"})}function ZT(_,$,D,I){let U=_.prepare(` + LIMIT ?`).all($.provider,$.model,$.limit)}function rF(_){let $=IA(_.metadata_json),U=$.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return x6({source_ref:C$($,["source_ref"]),source_uri:_.source_uri??C$($,["source_uri"]),source_kind:_.source_kind??C$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??C$($,["revision"]),hash:_.hash??C$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??T5($,["start_offset"]),end_offset:_.end_offset??T5($,["end_offset"]),status:C$($,["status"]),resolver:"open-files-read-only"})}function cF(_,$,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 dimensions = excluded.dimensions, vector_json = excluded.vector_json, created_at = excluded.created_at - `),E=_.prepare(` + `),N=_.prepare(` INSERT INTO vector_index_entries ( id, chunk_id, source_revision_id, provider, model, dimensions, vector_json, vector_norm, source_uri, source_ref, revision, hash, start_offset, end_offset, token_count, status, @@ -742,10 +742,10 @@ VALUES (10, datetime('now')); status = excluded.status, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);return _.transaction(()=>{for(let N=0;N<$.length;N+=1){let O=$[N],S=D.vectors[N];if(!S)continue;let L=C2(O.metadata_json),W=MT(O),g=W.source_ref??F$(L,["source_ref"]),z=W.source_uri??O.source_uri??F$(L,["source_uri"]),G=W.revision??O.revision??F$(L,["revision"]),J=W.hash??O.hash??F$(L,["hash"]),P=W.status??F$(L,["status"])??"active",X=JSON.stringify(S);U.run(kg("emb",`${O.id}\x00${D.provider}\x00${D.model}`),O.id,D.provider,D.model,D.dimensions,X,I),E.run(kg("vec",`${O.id}\x00${D.provider}\x00${D.model}`),O.id,O.source_revision_id,D.provider,D.model,D.dimensions,X,k2(S),z,g,G,J,W.start_offset,W.end_offset,O.token_count,P,JSON.stringify({...L,provenance:W,embedded_at:I}),I,I)}})(),$.length}async function AI(_){let $=W4(_.modelRef,_.config),D=f_($);if(D.provider!=="openai")throw Error(`Embedding provider ${D.provider} is not supported yet.`);let I=(_.now??new Date).toISOString(),U=Math.max(1,Math.min(_.limit??100,1000));c(_.dbPath);let E=w(_.dbPath),j;try{j=BT(E,{provider:D.provider,model:D.model,limit:U,sourceRevisionId:_.sourceRevisionId})}finally{E.close()}if(j.length===0)return{provider:D.provider,model:D.model,dimensions:_.dimensions??NI(_.config).dimensions??wg,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let N=await rg(j.map((S)=>S.text),_),O=w(_.dbPath);try{let S=ZT(O,j,N,I);return{provider:N.provider,model:N.model,dimensions:N.dimensions,chunks_seen:j.length,chunks_embedded:j.length,embeddings_upserted:S,vector_entries_upserted:S,usage:N.usage}}finally{O.close()}}function fg(_){c(_);let $=w(_);try{let D=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,I=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,U=$.query(`SELECT provider, model, dimensions, COUNT(*) AS entries, MAX(updated_at) AS updated_at + `);return _.transaction(()=>{for(let I=0;I<$.length;I+=1){let W=$[I],J=U.vectors[I];if(!J)continue;let L=IA(W.metadata_json),S=rF(W),X=S.source_ref??C$(L,["source_ref"]),z=S.source_uri??W.source_uri??C$(L,["source_uri"]),R=S.revision??W.revision??C$(L,["revision"]),P=S.hash??W.hash??C$(L,["hash"]),O=S.status??C$(L,["status"])??"active",Y=JSON.stringify(J);D.run(G5("emb",`${W.id}\x00${U.provider}\x00${U.model}`),W.id,U.provider,U.model,U.dimensions,Y,j),N.run(G5("vec",`${W.id}\x00${U.provider}\x00${U.model}`),W.id,W.source_revision_id,U.provider,U.model,U.dimensions,Y,EA(J),z,X,R,P,S.start_offset,S.end_offset,W.token_count,O,JSON.stringify({...L,provenance:S,embedded_at:j}),j,j)}})(),$.length}async function Hj(_){let $=B4(_.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));c(_.dbPath);let N=v(_.dbPath),E;try{E=hF(N,{provider:U.provider,model:U.model,limit:D,sourceRevisionId:_.sourceRevisionId})}finally{N.close()}if(E.length===0)return{provider:U.provider,model:U.model,dimensions:_.dimensions??Zj(_.config).dimensions??B5,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let I=await F5(E.map((J)=>J.text),_),W=v(_.dbPath);try{let J=cF(W,E,I,j);return{provider:I.provider,model:I.model,dimensions:I.dimensions,chunks_seen:E.length,chunks_embedded:E.length,embeddings_upserted:J,vector_entries_upserted:J,usage:I.usage}}finally{W.close()}}function K5(_){c(_);let $=v(_);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:D,total_vector_entries:I,indexes:U}}finally{$.close()}}async function OI(_){let $=W4(_.modelRef,_.config),D=f_($),I=Math.max(1,Math.min(_.limit??10,100)),U=await rg([_.query],_),E=U.vectors[0]??[];c(_.dbPath);let j=w(_.dbPath);try{let O=j.query(`SELECT + ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:j,indexes:D}}finally{$.close()}}async function qj(_){let $=B4(_.modelRef,_.config),U=c_($),j=Math.max(1,Math.min(_.limit??10,100)),D=await F5([_.query],_),N=D.vectors[0]??[];c(_.dbPath);let E=v(_.dbPath);try{let W=E.query(`SELECT v.chunk_id, c.text, v.vector_json, @@ -757,7 +757,7 @@ VALUES (10, datetime('now')); 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(D.provider,D.model).map((S)=>{let L=JSON.parse(S.vector_json),W=C2(S.metadata_json),g=W.provenance&&typeof W.provenance==="object"&&!Array.isArray(W.provenance)?W.provenance:null;return{chunk_id:S.chunk_id,score:TT(E,L,S.vector_norm),text:S.text,source_uri:S.source_uri,source_ref:S.source_ref,revision:S.revision,hash:S.hash,provenance:g}}).sort((S,L)=>L.score-S.score).slice(0,I);return{provider:D.provider,model:D.model,dimensions:U.dimensions,query:_.query,results:O}}finally{j.close()}}function SI(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function A$(_,$){for(let D of $){let I=_[D];if(typeof I==="string"&&I.length>0)return I}return null}function xg(_,$){for(let D of $){let I=_[D];if(typeof I==="number"&&Number.isFinite(I))return I}return null}function hg(_){return Array.from(new Set(_))}function cg(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return hg($.filter((D)=>D.length>0)).slice(0,16)}function ug(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function qT(_){let $=[],D=/"([^"]*)"|(\S+)/g,I,U=!1;while((I=D.exec(_))!==null){if(I[1]!==void 0){let S=ug(I[1]);if(S.length>0)$.push({type:"phrase",value:S.join(" "),negate:U,prefix:!1});U=!1;continue}let E=I[2]??"";if(E==="OR"||E==="||"||E==="|"){$.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(E==="AND"||E==="&&")continue;if(E==="NOT"){U=!0;continue}let j=U;if(U=!1,E.startsWith("-")&&E.length>1)j=!0,E=E.slice(1);let N=!1;if(E.endsWith("*"))N=!0,E=E.slice(0,-1);let O=ug(E);if(O.length===0)continue;$.push({type:O.length>1?"phrase":"term",value:O.join(" "),negate:j,prefix:N})}return $.slice(0,24)}function kT(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function CT(_){let $=qT(_);if($.filter((j)=>j.type!=="or"&&!j.negate).length===0)return{and:null,or:null};let I=(j)=>{let N="",O=!1,S=[];for(let L of $){if(L.type==="or"){O=!0;continue}let W=kT(L);if(L.negate){S.push(W);continue}if(N.length===0)N=W;else N=O?`${N} OR ${W}`:`${N} ${j} ${W}`;O=!1}for(let L of S)N=`(${N}) NOT ${L}`;return N.length>0?N:null},U=I("AND"),E=I("OR");return{and:U,or:E!==U?E:null}}function vT(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function ng(_,$){return _.flatMap((D)=>Array.from({length:$},()=>`%${vT(D)}%`))}function wT(_,$){let D=Number.isFinite(_)?1/(1+Math.abs(_)):0,I=1/(1+$);return LI(Math.max(D,I))}function v2(_,$){if($.length===0)return 0;let D=$.filter((I)=>_.includes(I)).length;if(D===0)return 0;return LI(Math.min(0.85,0.35+D/$.length*0.5))}function rT(_){return LI(Math.max(0,Math.min(1,(_+1)/2)))}function LI(_){return Number(_.toFixed(6))}function V0(_,$){let D=_.keyword??0,I=_.semantic??0,U=_.catalog??0,E=$?.chunk_id?0.05:0;return LI(Math.min(1,D*0.55+I*0.4+U*0.35+E))}function w2(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function fT(_){let $=SI(_.chunk_metadata_json),D=w2($);if(D)return D;if(!_.source_revision_id&&!_.source_uri)return null;return M6({source_ref:A$($,["source_ref"]),source_uri:_.source_uri??A$($,["source_uri"]),source_kind:_.source_kind??A$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??A$($,["revision"]),hash:_.hash??A$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??xg($,["start_offset"]),end_offset:_.end_offset??xg($,["end_offset"]),status:A$($,["status"]),resolver:"open-files-read-only"})}function yg(_,$,D){if(!$)return[];try{return xT(_,$,D)}catch{return[]}}function xT(_,$,D){return _.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((J)=>{let L=JSON.parse(J.vector_json),S=IA(J.metadata_json),X=S.provenance&&typeof S.provenance==="object"&&!Array.isArray(S.provenance)?S.provenance:null;return{chunk_id:J.chunk_id,score:xF(N,L,J.vector_norm),text:J.text,source_uri:J.source_uri,source_ref:J.source_ref,revision:J.revision,hash:J.hash,provenance:X}}).sort((J,L)=>L.score-J.score).slice(0,j);return{provider:U.provider,model:U.model,dimensions:D.dimensions,query:_.query,results:W}}finally{E.close()}}function kj(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function O$(_,$){for(let U of $){let j=_[U];if(typeof j==="string"&&j.length>0)return j}return null}function g5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return null}function H5(_){return Array.from(new Set(_))}function q5(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return H5($.filter((U)=>U.length>0)).slice(0,16)}function M5(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function dF(_){let $=[],U=/"([^"]*)"|(\S+)/g,j,D=!1;while((j=U.exec(_))!==null){if(j[1]!==void 0){let J=M5(j[1]);if(J.length>0)$.push({type:"phrase",value:J.join(" "),negate:D,prefix:!1});D=!1;continue}let N=j[2]??"";if(N==="OR"||N==="||"||N==="|"){$.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(N==="AND"||N==="&&")continue;if(N==="NOT"){D=!0;continue}let E=D;if(D=!1,N.startsWith("-")&&N.length>1)E=!0,N=N.slice(1);let I=!1;if(N.endsWith("*"))I=!0,N=N.slice(0,-1);let W=M5(N);if(W.length===0)continue;$.push({type:W.length>1?"phrase":"term",value:W.join(" "),negate:E,prefix:I})}return $.slice(0,24)}function lF(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function iF(_){let $=dF(_);if($.filter((E)=>E.type!=="or"&&!E.negate).length===0)return{and:null,or:null};let j=(E)=>{let I="",W=!1,J=[];for(let L of $){if(L.type==="or"){W=!0;continue}let S=lF(L);if(L.negate){J.push(S);continue}if(I.length===0)I=S;else I=W?`${I} OR ${S}`:`${I} ${E} ${S}`;W=!1}for(let L of J)I=`(${I}) NOT ${L}`;return I.length>0?I:null},D=j("AND"),N=j("OR");return{and:D,or:N!==D?N:null}}function tF(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function k5(_,$){return _.flatMap((U)=>Array.from({length:$},()=>`%${tF(U)}%`))}function oF(_,$){let U=Number.isFinite(_)?1/(1+Math.abs(_)):0,j=1/(1+$);return Cj(Math.max(U,j))}function AA(_,$){if($.length===0)return 0;let U=$.filter((j)=>_.includes(j)).length;if(U===0)return 0;return Cj(Math.min(0.85,0.35+U/$.length*0.5))}function pF(_){return Cj(Math.max(0,Math.min(1,(_+1)/2)))}function Cj(_){return Number(_.toFixed(6))}function x0(_,$){let U=_.keyword??0,j=_.semantic??0,D=_.catalog??0,N=$?.chunk_id?0.05:0;return Cj(Math.min(1,U*0.55+j*0.4+D*0.35+N))}function WA(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function aF(_){let $=kj(_.chunk_metadata_json),U=WA($);if(U)return U;if(!_.source_revision_id&&!_.source_uri)return null;return x6({source_ref:O$($,["source_ref"]),source_uri:_.source_uri??O$($,["source_uri"]),source_kind:_.source_kind??O$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??O$($,["revision"]),hash:_.hash??O$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??g5($,["start_offset"]),end_offset:_.end_offset??g5($,["end_offset"]),status:O$($,["status"]),resolver:"open-files-read-only"})}function Z5(_,$,U){if(!$)return[];try{return eF(_,$,U)}catch{return[]}}function eF(_,$,U){return _.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -786,49 +786,49 @@ VALUES (10, datetime('now')); LEFT JOIN wiki_pages wp ON wp.id = c.wiki_page_id WHERE chunks_fts MATCH ? ORDER BY rank ASC - LIMIT ?`).all($,D)}function dg(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((I)=>`lower(COALESCE(${I}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function uT(_,$,D){let I=["path","title","artifact_uri","metadata_json"];return _.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json + LIMIT ?`).all($,U)}function C5(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((j)=>`lower(COALESCE(${j}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function sF(_,$,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 (${dg(I,$)}) + WHERE status = 'active' AND (${C5(j,$)}) ORDER BY updated_at DESC - LIMIT ?`).all(...ng($,I.length),D)}function yT(_,$,D){let I=["kind","name","shard_key","artifact_uri","metadata_json"];return _.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json + LIMIT ?`).all(...k5($,j.length),U)}function _K(_,$,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 ${dg(I,$)} + WHERE ${C5(j,$)} ORDER BY updated_at DESC - LIMIT ?`).all(...ng($,I.length),D)}function mg(_){if(!_||!HT(_))return[];try{let $=JSON.parse(bT(_,"utf8"));if(!$||!Array.isArray($.items))return[];return $.items.filter((D)=>{return Boolean(D&&typeof D==="object"&&typeof D.id==="string"&&typeof D.title==="string"&&typeof D.content==="string")})}catch{return[]}}function hT(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function lg(_,$,D){if($.length===0)return[];return _.filter((I)=>I.archived!==!0).map((I)=>({item:I,haystack:hT(I)})).filter(({haystack:I})=>$.some((U)=>I.includes(U))).map(({item:I,haystack:U})=>({item:I,score:v2(U,$)})).sort((I,U)=>U.score-I.score||I.item.id.localeCompare(U.item.id)).slice(0,D)}function cT(_,$,D){return lg(mg(_),$,D)}function nT(_,$){let D=SI(_.chunk_metadata_json),I=fT(_),U=A$(D,["source_ref"]),E=_.source_uri??A$(D,["source_uri"]),j=Boolean(_.wiki_page_id),N={kind:j?"wiki_chunk":"source_chunk",id:_.chunk_id,title:j?_.wiki_title:_.source_title,text:_.text,score:0,scores:{keyword:$},source:E||U?{uri:E,ref:U,kind:_.source_kind??A$(D,["source_kind"]),revision:_.revision??A$(D,["revision"]),hash:_.hash??A$(D,["hash"])}:null,citation:{chunk_id:_.chunk_id,start_offset:_.start_offset,end_offset:_.end_offset},artifact:j?{uri:_.wiki_artifact_uri,path:_.wiki_path,hash:_.wiki_content_hash,shard_key:_.wiki_path}:null,provenance:I,reasons:["keyword_match"]};return N.score=V0(N.scores,N.citation),N}function r2(_,$){let D=`knowledge://item/${encodeURIComponent(_.id)}`,I={kind:"legacy_item",id:_.id,title:_.title,text:_.content,score:0,scores:{keyword:$},source:{uri:D,ref:D,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return I.score=V0(I.scores,I.citation),I}function dT(_,$){let D=SI(_.metadata_json),I=v2(`${_.path} ${_.title} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),U={kind:"wiki_page",id:_.id,title:_.title,text:null,score:0,scores:{catalog:I},source:null,citation:null,artifact:{uri:_.artifact_uri,path:_.path,hash:_.content_hash,shard_key:_.path},provenance:w2(D),reasons:["wiki_catalog_match"]};return U.score=V0(U.scores,U.citation),U}function mT(_,$){let D=SI(_.metadata_json),I=v2(`${_.kind} ${_.name} ${_.shard_key??""} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),U={kind:"knowledge_index",id:_.id,title:_.name,text:null,score:0,scores:{catalog:I},source:null,citation:null,artifact:{uri:_.artifact_uri,path:A$(D,["artifact_key"]),hash:A$(D,["content_hash"]),shard_key:_.shard_key},provenance:w2(D),reasons:["index_catalog_match"]};return U.score=V0(U.scores,U.citation),U}function F0(_,$){let D=`${$.kind}:${$.id}`,I=_.get(D);if(!I){_.set(D,$);return}I.scores={keyword:Math.max(I.scores.keyword??0,$.scores.keyword??0)||void 0,semantic:Math.max(I.scores.semantic??0,$.scores.semantic??0)||void 0,catalog:Math.max(I.scores.catalog??0,$.scores.catalog??0)||void 0},I.reasons=hg([...I.reasons,...$.reasons]),I.text=I.text??$.text,I.title=I.title??$.title,I.source=I.source??$.source,I.citation=I.citation??$.citation,I.artifact=I.artifact??$.artifact,I.provenance=I.provenance??$.provenance,I.score=V0(I.scores,I.citation)}function ig(_){let $={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return _.sort((D,I)=>{if(I.score!==D.score)return I.score-D.score;return $[D.kind]-$[I.kind]||D.id.localeCompare(I.id)})}async function WI(_){let $=_.query.trim();if(!$)throw Error("Search query is required.");let D=Math.max(1,Math.min(_.limit??10,100)),I=Math.max(0,Math.floor(_.offset??0)),U=I+D,E=cg($),j=CT($),N=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),O=[],S=null,L=null,W=null,g=0,z=0,G=0,J=new Map;c(_.dbPath);let P=w(_.dbPath);try{let T=Math.max(U*3,20),Y=yg(P,j.and,T);if(Y.length===0&&j.or)Y=yg(P,j.or,T);g=Y.length,Y.forEach((b,f)=>F0(J,nT(b,wT(b.rank,f))));let Q=uT(P,E,Math.max(U,10)),F=yT(P,E,Math.max(U,10)),B=cT(_.legacyStorePath,E,Math.max(U,10));z=Q.length+F.length,g+=B.length,B.forEach(({item:b,score:f})=>F0(J,r2(b,f))),Q.forEach((b)=>F0(J,dT(b,E))),F.forEach((b)=>F0(J,mT(b,E)))}finally{P.close()}if(N)try{let T=await OI({dbPath:_.dbPath,query:$,limit:Math.max(U*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});S=T.provider,L=T.model,W=T.dimensions,G=T.results.length;for(let Y of T.results){let Q={kind:"source_chunk",id:Y.chunk_id,title:null,text:Y.text,score:0,scores:{semantic:rT(Y.score)},source:{uri:Y.source_uri,ref:Y.source_ref,kind:Y.provenance?.source_kind??null,revision:Y.revision,hash:Y.hash},citation:{chunk_id:Y.chunk_id,start_offset:Y.provenance?.start_offset??null,end_offset:Y.provenance?.end_offset??null},artifact:null,provenance:Y.provenance,reasons:["semantic_match"]};Q.score=V0(Q.scores,Q.citation),F0(J,Q)}}catch(T){O.push(`semantic_search_failed: ${T instanceof Error?T.message:String(T)}`)}let R=ig(Array.from(J.values())).slice(I,I+D);return{query:$,limit:D,offset:I,mode:{keyword:!0,catalog:!0,semantic:N},semantic_provider:S,semantic_model:L,semantic_dimensions:W,counts:{keyword_results:g,catalog_results:z,semantic_results:G,merged_results:R.length},warnings:O,results:R}}async function JI(_){return f2(mg(_.legacyStorePath),_,["knowledge_db_missing"])}async function f2(_,$,D=[]){let I=$.query.trim();if(!I)throw Error("Search query is required.");let U=Math.max(1,Math.min($.limit??10,100)),E=Math.max(0,Math.floor($.offset??0)),j=cg(I),N=$.semantic===!0||$.fake===!0||Boolean($.modelRef),O=new Map,S=lg(_,j,Math.max(E+U,10));S.forEach(({item:g,score:z})=>F0(O,r2(g,z)));let L=[...D];if(N)L.push("semantic_search_requires_local_catalog");let W=ig(Array.from(O.values())).slice(E,E+U);return{query:I,limit:U,offset:E,mode:{keyword:!0,catalog:!0,semantic:N},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:S.length,catalog_results:0,semantic_results:0,merged_results:W.length},warnings:L,results:W}}function x2(_,$,D=[],I=_.length){let U=$.query.trim();if(!U)throw Error("Search query is required.");let E=Math.max(1,Math.min($.limit??10,100)),j=Math.max(0,Math.floor($.offset??0)),N=_.map(({item:O,rank:S})=>r2(O,S));return{query:U,limit:E,offset:j,mode:{keyword:!0,catalog:!0,semantic:$.semantic===!0},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:I,catalog_results:0,semantic_results:0,merged_results:N.length},warnings:D,results:N}}function tg(_,$){return`${_}_${lT("sha256").update($).digest("hex").slice(0,20)}`}function og(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function iT(_){return Array.from(new Set(og(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function tT(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function oT(_,$){if($.length===0)return 0;let D=tT(_),I=$.filter((U)=>D.includes(U)).length;return Number((I/$.length).toFixed(6))}function pT(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function pg(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return Q2(_.status);return!1}function eT(_){if(pg(_.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 aT(_){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 sT(_){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 _F(_,$){let D={base_score:_.score,exact_score:oT(_,$),citation_score:aT(_),freshness_score:eT(_),authority_score:sT(_)},I=Math.min(1,D.base_score*0.65+D.exact_score*0.1+D.citation_score*0.1+D.freshness_score*0.1+D.authority_score*0.05),U=new Set(_.reasons);if(D.exact_score>0.5)U.add("exact_term");if(D.citation_score>=0.75)U.add("cited_source");if(D.freshness_score>=0.85)U.add("fresh_source");return{..._,score:Number(I.toFixed(6)),reasons:Array.from(U),rerank:{...D,final_score:Number(I.toFixed(6))}}}function eg(_,$){let D=_.text??_.title;if(!D)return null;let I=D.replace(/\s+/g," ").trim();return I.length<=$?I:`${I.slice(0,Math.max(0,$-1)).trim()}...`}function $F(_){return{id:tg("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:eg(_,500),provenance:_.provenance}}function DF(_,$,D){let I=eg(_,D);if(!I)return null;return{id:tg("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:I,score:_.score}}function PI(_){return _.map(()=>"?").join(", ")}function UF(_,$){let D=$.map((N)=>N.citation?.chunk_id).filter((N)=>Boolean(N)),I=$.filter((N)=>N.kind==="wiki_page").map((N)=>N.id),U=[],E=[];if(D.length===0&&I.length===0)return{citations:U,backlinks:E};let j=w(_);try{if(D.length>0)U.push(...j.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT ?`).all(...k5($,j.length),U)}function b5(_){if(!_||!mF(_))return[];try{let $=JSON.parse(nF(_,"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 $K(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function w5(_,$,U){if($.length===0)return[];return _.filter((j)=>j.archived!==!0).map((j)=>({item:j,haystack:$K(j)})).filter(({haystack:j})=>$.some((D)=>j.includes(D))).map(({item:j,haystack:D})=>({item:j,score:AA(D,$)})).sort((j,D)=>D.score-j.score||j.item.id.localeCompare(D.item.id)).slice(0,U)}function UK(_,$,U){return w5(b5(_),$,U)}function DK(_,$){let U=kj(_.chunk_metadata_json),j=aF(_),D=O$(U,["source_ref"]),N=_.source_uri??O$(U,["source_uri"]),E=Boolean(_.wiki_page_id),I={kind:E?"wiki_chunk":"source_chunk",id:_.chunk_id,title:E?_.wiki_title:_.source_title,text:_.text,score:0,scores:{keyword:$},source:N||D?{uri:N,ref:D,kind:_.source_kind??O$(U,["source_kind"]),revision:_.revision??O$(U,["revision"]),hash:_.hash??O$(U,["hash"])}:null,citation:{chunk_id:_.chunk_id,start_offset:_.start_offset,end_offset:_.end_offset},artifact:E?{uri:_.wiki_artifact_uri,path:_.wiki_path,hash:_.wiki_content_hash,shard_key:_.wiki_path}:null,provenance:j,reasons:["keyword_match"]};return I.score=x0(I.scores,I.citation),I}function JA(_,$){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=x0(j.scores,j.citation),j}function jK(_,$){let U=kj(_.metadata_json),j=AA(`${_.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:WA(U),reasons:["wiki_catalog_match"]};return D.score=x0(D.scores,D.citation),D}function NK(_,$){let U=kj(_.metadata_json),j=AA(`${_.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:O$(U,["artifact_key"]),hash:O$(U,["content_hash"]),shard_key:_.shard_key},provenance:WA(U),reasons:["index_catalog_match"]};return D.score=x0(D.scores,D.citation),D}function f0(_,$){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=H5([...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=x0(j.scores,j.citation)}function v5(_){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 bj(_){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,N=q5($),E=iF($),I=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),W=[],J=null,L=null,S=null,X=0,z=0,R=0,P=new Map;c(_.dbPath);let O=v(_.dbPath);try{let B=Math.max(D*3,20),G=Z5(O,E.and,B);if(G.length===0&&E.or)G=Z5(O,E.or,B);X=G.length,G.forEach((q,x)=>f0(P,DK(q,oF(q.rank,x))));let T=sF(O,N,Math.max(D,10)),F=_K(O,N,Math.max(D,10)),g=UK(_.legacyStorePath,N,Math.max(D,10));z=T.length+F.length,X+=g.length,g.forEach(({item:q,score:x})=>f0(P,JA(q,x))),T.forEach((q)=>f0(P,jK(q,N))),F.forEach((q)=>f0(P,NK(q,N)))}finally{O.close()}if(I)try{let B=await qj({dbPath:_.dbPath,query:$,limit:Math.max(D*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});J=B.provider,L=B.model,S=B.dimensions,R=B.results.length;for(let G of B.results){let T={kind:"source_chunk",id:G.chunk_id,title:null,text:G.text,score:0,scores:{semantic:pF(G.score)},source:{uri:G.source_uri,ref:G.source_ref,kind:G.provenance?.source_kind??null,revision:G.revision,hash:G.hash},citation:{chunk_id:G.chunk_id,start_offset:G.provenance?.start_offset??null,end_offset:G.provenance?.end_offset??null},artifact:null,provenance:G.provenance,reasons:["semantic_match"]};T.score=x0(T.scores,T.citation),f0(P,T)}}catch(B){W.push(`semantic_search_failed: ${B instanceof Error?B.message:String(B)}`)}let Q=v5(Array.from(P.values())).slice(j,j+U);return{query:$,limit:U,offset:j,mode:{keyword:!0,catalog:!0,semantic:I},semantic_provider:J,semantic_model:L,semantic_dimensions:S,counts:{keyword_results:X,catalog_results:z,semantic_results:R,merged_results:Q.length},warnings:W,results:Q}}async function wj(_){return LA(b5(_.legacyStorePath),_,["knowledge_db_missing"])}async function LA(_,$,U=[]){let j=$.query.trim();if(!j)throw Error("Search query is required.");let D=Math.max(1,Math.min($.limit??10,100)),N=Math.max(0,Math.floor($.offset??0)),E=q5(j),I=$.semantic===!0||$.fake===!0||Boolean($.modelRef),W=new Map,J=w5(_,E,Math.max(N+D,10));J.forEach(({item:X,score:z})=>f0(W,JA(X,z)));let L=[...U];if(I)L.push("semantic_search_requires_local_catalog");let S=v5(Array.from(W.values())).slice(N,N+D);return{query:j,limit:D,offset:N,mode:{keyword:!0,catalog:!0,semantic:I},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:J.length,catalog_results:0,semantic_results:0,merged_results:S.length},warnings:L,results:S}}function SA(_,$,U=[],j=_.length){let D=$.query.trim();if(!D)throw Error("Search query is required.");let N=Math.max(1,Math.min($.limit??10,100)),E=Math.max(0,Math.floor($.offset??0)),I=_.map(({item:W,rank:J})=>JA(W,J));return{query:D,limit:N,offset:E,mode:{keyword:!0,catalog:!0,semantic:$.semantic===!0},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j,catalog_results:0,semantic_results:0,merged_results:I.length},warnings:U,results:I}}function f5(_,$){return`${_}_${EK("sha256").update($).digest("hex").slice(0,20)}`}function x5(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function IK(_){return Array.from(new Set(x5(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function AK(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function WK(_,$){if($.length===0)return 0;let U=AK(_),j=$.filter((D)=>U.includes(D)).length;return Number((j/$.length).toFixed(6))}function JK(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function y5(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return o2(_.status);return!1}function LK(_){if(y5(_.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 SK(_){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 PK(_){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 OK(_,$){let U={base_score:_.score,exact_score:WK(_,$),citation_score:SK(_),freshness_score:LK(_),authority_score:PK(_)},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 u5(_,$){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 zK(_){return{id:f5("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:u5(_,500),provenance:_.provenance}}function XK(_,$,U){let j=u5(_,U);if(!j)return null;return{id:f5("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:j,score:_.score}}function vj(_){return _.map(()=>"?").join(", ")}function YK(_,$){let U=$.map((I)=>I.citation?.chunk_id).filter((I)=>Boolean(I)),j=$.filter((I)=>I.kind==="wiki_page").map((I)=>I.id),D=[],N=[];if(U.length===0&&j.length===0)return{citations:D,backlinks:N};let E=v(_);try{if(U.length>0)D.push(...E.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE chunk_id IN (${PI(D)}) + WHERE chunk_id IN (${vj(U)}) ORDER BY created_at DESC - LIMIT 50`).all(...D));if(I.length>0)U.push(...j.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT 50`).all(...U));if(j.length>0)D.push(...E.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE wiki_page_id IN (${PI(I)}) + WHERE wiki_page_id IN (${vj(j)}) ORDER BY created_at DESC - LIMIT 50`).all(...I)),E.push(...j.query(`SELECT from_page_id, to_page_id, label + LIMIT 50`).all(...j)),N.push(...E.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks - WHERE from_page_id IN (${PI(I)}) OR to_page_id IN (${PI(I)}) - LIMIT 50`).all(...I,...I))}finally{j.close()}return{citations:U,backlinks:E}}function O6(_,$={}){let D=Math.max(200,Math.min($.contextChars??1200,4000)),I=iT(_.query),U=[..._.warnings],E=new Set,j=new Set,O=_.results.filter((W)=>{if(!pT(W.provenance))return U.push(`permission_filtered: ${W.kind}:${W.id}`),E.add("Dropped a result because provenance was not read-only."),!1;if(pg(W.provenance))return U.push(`stale_filtered: ${W.kind}:${W.id}`),j.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((W)=>_F(W,I)).sort((W,g)=>g.score-W.score||W.id.localeCompare(g.id)).slice(0,_.limit),S=O.map($F),L=O.map((W,g)=>DF(W,S[g],D)).filter((W)=>Boolean(W));for(let W of O){if(W.provenance&&"read_only"in W.provenance&&W.provenance.read_only)E.add("All source-backed excerpts are read-only and citation-required.");if(W.rerank.freshness_score>=0.85)j.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:og(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:U,search_counts:_.counts,results:O,citations:S,excerpts:L,graph:$.dbPath?UF($.dbPath,O):{citations:[],backlinks:[]},notes:{permissions:Array.from(E),freshness:Array.from(j)}}}async function B0(_){let $=await WI(_);return O6($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function ag(_,$){let D=await f2(_,$);return O6(D,{contextChars:$.contextChars})}function M0(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function y2(_){return`C${_+1}`}function _X(_,$){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((I,U)=>{let E=$.citations.find((N)=>N.id===I.citation_id),j=E?.source_ref??E?.source_uri??E?.artifact_path??E?.artifact_uri??"unknown source";return`[${y2(U)}] ${I.text} (${j})`})].join(` -`)}function $X(_,$){let D=$.citations.map((U,E)=>({id:y2(E),source_ref:U.source_ref,source_uri:U.source_uri,artifact_path:U.artifact_path,revision:U.revision,hash:U.hash,quote:U.quote})),I=$.excerpts.map((U,E)=>({id:y2(E),kind:U.kind,text:U.text,score:U.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(I,null,2)}`,"",`Citations: -${JSON.stringify(D,null,2)}`].join(` -`)}function DX(_,$){if($.citations.length===0)return[];return[{kind:"answer_note",title:_.length>80?`${_.slice(0,77)}...`:_,citations:$.citations.map((D)=>D.id),requires_approval:!0}]}function IF(_,$){let D=w(_);try{D.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{D.close()}}function u2(_,$){let D=w(_);try{D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${h2()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{D.close()}}function sg(_,$){let D=w(_);try{D.run(`UPDATE runs + WHERE from_page_id IN (${vj(j)}) OR to_page_id IN (${vj(j)}) + LIMIT 50`).all(...j,...j))}finally{E.close()}return{citations:D,backlinks:N}}function Q6(_,$={}){let U=Math.max(200,Math.min($.contextChars??1200,4000)),j=IK(_.query),D=[..._.warnings],N=new Set,E=new Set,W=_.results.filter((S)=>{if(!JK(S.provenance))return D.push(`permission_filtered: ${S.kind}:${S.id}`),N.add("Dropped a result because provenance was not read-only."),!1;if(y5(S.provenance))return D.push(`stale_filtered: ${S.kind}:${S.id}`),E.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((S)=>OK(S,j)).sort((S,X)=>X.score-S.score||S.id.localeCompare(X.id)).slice(0,_.limit),J=W.map(zK),L=W.map((S,X)=>XK(S,J[X],U)).filter((S)=>Boolean(S));for(let S of W){if(S.provenance&&"read_only"in S.provenance&&S.provenance.read_only)N.add("All source-backed excerpts are read-only and citation-required.");if(S.rerank.freshness_score>=0.85)E.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:x5(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:W,citations:J,excerpts:L,graph:$.dbPath?YK($.dbPath,W):{citations:[],backlinks:[]},notes:{permissions:Array.from(N),freshness:Array.from(E)}}}async function y0(_){let $=await bj(_);return Q6($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function h5(_,$){let U=await LA(_,$);return Q6(U,{contextChars:$.contextChars})}function u0(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function OA(_){return`C${_+1}`}function c5(_,$){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 N=$.citations.find((I)=>I.id===j.citation_id),E=N?.source_ref??N?.source_uri??N?.artifact_path??N?.artifact_uri??"unknown source";return`[${OA(D)}] ${j.text} (${E})`})].join(` +`)}function m5(_,$){let U=$.citations.map((D,N)=>({id:OA(N),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,N)=>({id:OA(N),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 n5(_,$){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 RK(_,$){let U=v(_);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 PA(_,$){let U=v(_);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${zA()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{U.close()}}function r5(_,$){let U=v(_);try{U.run(`UPDATE runs SET status = ?, provider = ?, model = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.runId])}finally{D.close()}}function EF(_,$,D,I,U,E,j={}){let N=w(_);try{T0(N,{run_id:$,provider:I,model:U,input_tokens:D.input_tokens,output_tokens:D.output_tokens,cost_usd:D.cost_usd,metadata:j,created_at:E})}finally{N.close()}}async function UX(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let D=(_.now??new Date).toISOString(),I=`run_${h2()}`,U=T$(_.modelRef??"default",_.config),E=f_(U);c(_.dbPath),IF(_.dbPath,{runId:I,prompt:$,status:_.generate?"running":"dry_run",provider:_.generate?E.provider:"local",model:_.generate?E.model:"context-draft",metadata:{semantic:_.semantic===!0||_.fake===!0||Boolean(_.modelRef),approve_write:_.approveWrite===!0,generated:_.generate===!0},now:D});let{prompt:j,generate:N,approveWrite:O,now:S,...L}=_,W=await B0({...L,query:$});u2(_.dbPath,{runId:I,level:"info",event:"context_retrieved",metadata:{results:W.results.length,citations:W.citations.length,warnings:W.warnings},now:D});let g=_X($,W),z=!1,G="local",J="context-draft",P={input_tokens:M0($)+W.excerpts.reduce((Y,Q)=>Y+M0(Q.text),0),output_tokens:M0(g),cost_usd:0},X=[...W.warnings];if(_.generate)try{if(_.fake)z=!0,G=E.provider,J=E.model,g=`Fake generated answer for: ${$} + WHERE id = ?`,[$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.runId])}finally{U.close()}}function QK(_,$,U,j,D,N,E={}){let I=v(_);try{v0(I,{run_id:$,provider:j,model:D,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:E,created_at:N})}finally{I.close()}}async function d5(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let U=(_.now??new Date).toISOString(),j=`run_${zA()}`,D=k$(_.modelRef??"default",_.config),N=c_(D);c(_.dbPath),RK(_.dbPath,{runId:j,prompt:$,status:_.generate?"running":"dry_run",provider:_.generate?N.provider:"local",model:_.generate?N.model:"context-draft",metadata:{semantic:_.semantic===!0||_.fake===!0||Boolean(_.modelRef),approve_write:_.approveWrite===!0,generated:_.generate===!0},now:U});let{prompt:E,generate:I,approveWrite:W,now:J,...L}=_,S=await y0({...L,query:$});PA(_.dbPath,{runId:j,level:"info",event:"context_retrieved",metadata:{results:S.results.length,citations:S.citations.length,warnings:S.warnings},now:U});let X=c5($,S),z=!1,R="local",P="context-draft",O={input_tokens:u0($)+S.excerpts.reduce((G,T)=>G+u0(T.text),0),output_tokens:u0(X),cost_usd:0},Y=[...S.warnings];if(_.generate)try{if(_.fake)z=!0,R=N.provider,P=N.model,X=`Fake generated answer for: ${$} -${g}`;else{let{generateText:Y}=await import("ai"),Q=await lD(U,{config:_.config,env:_.env}),F=await Y({model:Q,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:$X($,W)});z=!0,G=E.provider,J=E.model,g=F.text;let B=L4({provider:G,model:J,usage:F.usage,providerMetadata:F.providerMetadata});P={input_tokens:B.input_tokens,output_tokens:B.output_tokens,cost_usd:B.cost_usd}}}catch(Y){throw u2(_.dbPath,{runId:I,level:"error",event:"answer_generation_failed",metadata:{message:Y instanceof Error?Y.message:String(Y)},now:D}),sg(_.dbPath,{runId:I,status:"failed",provider:E.provider,model:E.model,metadata:{generated:!1,error:Y instanceof Error?Y.message:String(Y)},now:D}),Y}let R=DX($,W),T={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 u2(_.dbPath,{runId:I,level:"info",event:z?"answer_generated":"answer_drafted",metadata:{provider:G,model:J,proposed_updates:R.length,durable_writes_performed:!1},now:D}),EF(_.dbPath,I,P,G,J,D,{generated:z,citations:W.citations.length}),sg(_.dbPath,{runId:I,status:z?"completed":"dry_run",provider:G,model:J,metadata:{generated:z,citations:W.citations.length,proposed_updates:R.length,approve_write:_.approveWrite===!0},now:D}),{run_id:I,prompt:$,generated:z,provider:G,model:J,answer:g,context:W,citations:W.citations,proposed_wiki_updates:R,write_policy:T,usage:P,warnings:X}}async function IX(_,$,D){let I=$.prompt.trim();if(!I)throw Error("Knowledge prompt is required.");let U=`run_${h2()}`,E=T$($.modelRef??"default",$.config),j=f_(E),{prompt:N,generate:O,approveWrite:S,now:L,...W}=$,g=D?O6(D,{contextChars:$.contextChars}):await ag(_,{...W,query:I}),z=_X(I,g),G=!1,J="local",P="context-draft",X={input_tokens:M0(I)+g.excerpts.reduce((Q,F)=>Q+M0(F.text),0),output_tokens:M0(z),cost_usd:0},R=[...g.warnings];if($.generate)if($.fake)G=!0,J=j.provider,P=j.model,z=`Fake generated answer for: ${I} +${X}`;else{let{generateText:G}=await import("ai"),T=await WD(D,{config:_.config,env:_.env}),F=await G({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:m5($,S)});z=!0,R=N.provider,P=N.model,X=F.text;let g=V4({provider:R,model:P,usage:F.usage,providerMetadata:F.providerMetadata});O={input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd}}}catch(G){throw PA(_.dbPath,{runId:j,level:"error",event:"answer_generation_failed",metadata:{message:G instanceof Error?G.message:String(G)},now:U}),r5(_.dbPath,{runId:j,status:"failed",provider:N.provider,model:N.model,metadata:{generated:!1,error:G instanceof Error?G.message:String(G)},now:U}),G}let Q=n5($,S),B={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 PA(_.dbPath,{runId:j,level:"info",event:z?"answer_generated":"answer_drafted",metadata:{provider:R,model:P,proposed_updates:Q.length,durable_writes_performed:!1},now:U}),QK(_.dbPath,j,O,R,P,U,{generated:z,citations:S.citations.length}),r5(_.dbPath,{runId:j,status:z?"completed":"dry_run",provider:R,model:P,metadata:{generated:z,citations:S.citations.length,proposed_updates:Q.length,approve_write:_.approveWrite===!0},now:U}),{run_id:j,prompt:$,generated:z,provider:R,model:P,answer:X,context:S,citations:S.citations,proposed_wiki_updates:Q,write_policy:B,usage:O,warnings:Y}}async function l5(_,$,U){let j=$.prompt.trim();if(!j)throw Error("Knowledge prompt is required.");let D=`run_${zA()}`,N=k$($.modelRef??"default",$.config),E=c_(N),{prompt:I,generate:W,approveWrite:J,now:L,...S}=$,X=U?Q6(U,{contextChars:$.contextChars}):await h5(_,{...S,query:j}),z=c5(j,X),R=!1,P="local",O="context-draft",Y={input_tokens:u0(j)+X.excerpts.reduce((T,F)=>T+u0(F.text),0),output_tokens:u0(z),cost_usd:0},Q=[...X.warnings];if($.generate)if($.fake)R=!0,P=E.provider,O=E.model,z=`Fake generated answer for: ${j} -${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{config:$.config,env:$.env}),B=await Q({model:F,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:$X(I,g)});G=!0,J=j.provider,P=j.model,z=B.text;let b=L4({provider:J,model:P,usage:B.usage,providerMetadata:B.providerMetadata});X={input_tokens:b.input_tokens,output_tokens:b.output_tokens,cost_usd:b.cost_usd}}let T=DX(I,g),Y={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:U,prompt:I,generated:G,provider:J,model:P,answer:z,context:g,citations:g.citations,proposed_wiki_updates:T,write_policy:Y,usage:X,warnings:R}}import{createHash as jF}from"crypto";var NF=1200,AF=6,OF=12000,SF=50,EX=800;function H0(_,$,D=16){return`${_}_${jF("sha256").update($).digest("hex").slice(0,D)}`}function n2(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function d2(_){return n2(_).toLowerCase()}function LF(_){return Array.from(new Set(d2(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function S6(_,$){let D=n2(_);if(D.length<=$)return D;let I="...";if($<=I.length)return D.slice(0,Math.max(0,$));return`${D.slice(0,$-I.length).trim()}${I}`}function jX(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function m2(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function c2(_){return Object.keys(_).filter(($)=>!m2($)).sort().slice(0,12)}function WF(_,$){for(let D of $){if(m2(D))continue;let I=_[D];if(typeof I==="string"&&I.trim())return I.trim()}return null}function iD(_,$){if(!_)return null;let D=u_(_,$).text;try{let I=new URL(D),U=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let E of U)I.searchParams.delete(E);for(let[E]of I.searchParams)if(m2(E))I.searchParams.delete(E);return I.toString()}catch{return D}}function n$(_,$,D){return iD(WF(_,$),D)}function zI(_){let $=[];for(let D of c2(_).slice(0,6)){let I=_[D];if(typeof I==="string"&&I.trim())$.push(`${D}=${S6(I,80)}`);else if(typeof I==="number"||typeof I==="boolean")$.push(`${D}=${String(I)}`);else if(I&&typeof I==="object")$.push(`${D}={...}`)}return $.join("; ")}function JF(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function NX(_){return JF(JSON.stringify(_))}function PF(_){if(!Number.isFinite(_??NaN))return NF;let $=Math.floor(_);if($D.includes(U)).length;return Number((I/$.length).toFixed(6))}function gF(_){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 XF(_,$,D){let I=iD($.source_ref,D),U=iD($.source_uri,D),E=iD($.artifact_uri,D),j=iD($.artifact_path,D),N=I??U??j??E??$.id,O=$.quote?Z0($.quote,D,_<3?220:140):null;return{citation:{id:H0("cite",`${$.id}\x00${N}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:N,source_ref:I,source_uri:U,artifact_uri:E,artifact_path:j,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:O?.text??null},redactions:O?.redactions??0}}async function GF(_,$){let D=(_.query??_.topic??"").trim();if(!D)throw Error("Context pack query is required for search source.");let{config:I,dbPath:U,limit:E,semantic:j,modelRef:N,dimensions:O,fake:S,env:L,batchSize:W,maxParallelCalls:g,legacyStorePath:z}=_,G=await B0({dbPath:U,config:I,legacyStorePath:z,query:D,limit:Math.max($,E??$),semantic:j,modelRef:N,dimensions:O,fake:S,env:L,batchSize:W,maxParallelCalls:g,contextChars:Math.min(_.contextChars??700,1200)}),J=new Map,P=0;G.citations.forEach((Y,Q)=>{let F=XF(Q,Y,_.safetyPolicy);P+=F.redactions,J.set(Y.id,F.citation)});let X=G.excerpts.slice(0,Math.max($*2,$)).map((Y)=>{let Q=G.results.find((f)=>f.id===Y.result_id),F=Y.citation_id?J.get(Y.citation_id):null,B=Z0(Y.text,_.safetyPolicy,520);P+=B.redactions;let b=Q?.title??F?.ref??Y.kind;return{id:H0("ev",`${Y.kind}\x00${Y.result_id}\x00${Y.citation_id??""}`,14),kind:Y.kind,title:S6(b,100),text_preview:B.text,score:Number(Y.score.toFixed(6)),citation_ids:F?[F.id]:[],provenance:{source:"search",record_ref:`${Y.kind}:${Y.result_id}`,created_at:G.created_at,updated_at:null,metadata_keys:[]}}}),R=new Set(X.flatMap((Y)=>Y.citation_ids));return{citations:Array.from(J.values()).filter((Y)=>R.has(Y.id)),evidence:X,duplicateCandidates:[],redactions:P,warnings:G.warnings,available:G.excerpts.length}}function RF(_,$,D){if($)return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{config:$.config,env:$.env}),g=await T({model:F,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:m5(j,X)});R=!0,P=E.provider,O=E.model,z=g.text;let q=V4({provider:P,model:O,usage:g.usage,providerMetadata:g.providerMetadata});Y={input_tokens:q.input_tokens,output_tokens:q.output_tokens,cost_usd:q.cost_usd}}let B=n5(j,X),G={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:D,prompt:j,generated:R,provider:P,model:O,answer:z,context:X,citations:X.citations,proposed_wiki_updates:B,write_policy:G,usage:Y,warnings:Q}}import{createHash as GK}from"crypto";var TK=1200,VK=6,BK=12000,FK=50,i5=800;function r0(_,$,U=16){return`${_}_${GK("sha256").update($).digest("hex").slice(0,U)}`}function YA(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function RA(_){return YA(_).toLowerCase()}function KK(_){return Array.from(new Set(RA(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function G6(_,$){let U=YA(_);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 t5(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function QA(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function XA(_){return Object.keys(_).filter(($)=>!QA($)).sort().slice(0,12)}function gK(_,$){for(let U of $){if(QA(U))continue;let j=_[U];if(typeof j==="string"&&j.trim())return j.trim()}return null}function JD(_,$){if(!_)return null;let U=d_(_,$).text;try{let j=new URL(U),D=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let N of D)j.searchParams.delete(N);for(let[N]of j.searchParams)if(QA(N))j.searchParams.delete(N);return j.toString()}catch{return U}}function a$(_,$,U){return JD(gK(_,$),U)}function fj(_){let $=[];for(let U of XA(_).slice(0,6)){let j=_[U];if(typeof j==="string"&&j.trim())$.push(`${U}=${G6(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 MK(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function o5(_){return MK(JSON.stringify(_))}function ZK(_){if(!Number.isFinite(_??NaN))return TK;let $=Math.floor(_);if($U.includes(D)).length;return Number((j/$.length).toFixed(6))}function qK(_){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 kK(_,$,U){let j=JD($.source_ref,U),D=JD($.source_uri,U),N=JD($.artifact_uri,U),E=JD($.artifact_path,U),I=j??D??E??N??$.id,W=$.quote?h0($.quote,U,_<3?220:140):null;return{citation:{id:r0("cite",`${$.id}\x00${I}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:I,source_ref:j,source_uri:D,artifact_uri:N,artifact_path:E,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:W?.text??null},redactions:W?.redactions??0}}async function CK(_,$){let U=(_.query??_.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:j,dbPath:D,limit:N,semantic:E,modelRef:I,dimensions:W,fake:J,env:L,batchSize:S,maxParallelCalls:X,legacyStorePath:z}=_,R=await y0({dbPath:D,config:j,legacyStorePath:z,query:U,limit:Math.max($,N??$),semantic:E,modelRef:I,dimensions:W,fake:J,env:L,batchSize:S,maxParallelCalls:X,contextChars:Math.min(_.contextChars??700,1200)}),P=new Map,O=0;R.citations.forEach((G,T)=>{let F=kK(T,G,_.safetyPolicy);O+=F.redactions,P.set(G.id,F.citation)});let Y=R.excerpts.slice(0,Math.max($*2,$)).map((G)=>{let T=R.results.find((x)=>x.id===G.result_id),F=G.citation_id?P.get(G.citation_id):null,g=h0(G.text,_.safetyPolicy,520);O+=g.redactions;let q=T?.title??F?.ref??G.kind;return{id:r0("ev",`${G.kind}\x00${G.result_id}\x00${G.citation_id??""}`,14),kind:G.kind,title:G6(q,100),text_preview:g.text,score:Number(G.score.toFixed(6)),citation_ids:F?[F.id]:[],provenance:{source:"search",record_ref:`${G.kind}:${G.result_id}`,created_at:R.created_at,updated_at:null,metadata_keys:[]}}}),Q=new Set(Y.flatMap((G)=>G.citation_ids));return{citations:Array.from(P.values()).filter((G)=>Q.has(G.id)),evidence:Y,duplicateCandidates:[],redactions:O,warnings:R.warnings,available:R.excerpts.length}}function bK(_,$,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($,$,D);return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at + LIMIT ?`).all($,$,U);return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at FROM runs ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(D)}function YF(_,$,D){if($.length===0)return[];let I=$.map(()=>"?").join(", ");return _.query(`SELECT id, run_id, level, event, metadata_json, created_at + LIMIT ?`).all(U)}function wK(_,$,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 (${I}) + WHERE run_id IN (${j}) ORDER BY created_at DESC - LIMIT ?`).all(...$,D)}function QF(_,$){return`${_.type} ${_.metadata_json} ${$.map((I)=>`${I.event} ${I.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function KF(_,$,D){let I=n$($,["source_ref","source_uri","evidence_uri","receipt_uri"],D),U=n$($,["artifact_uri"],D),E=n$($,["artifact_path","artifact_key"],D),j=I??U??E??`knowledge://project/runs/${_.id}`,N=_.prompt?Z0(_.prompt,D,180).text:null;return{id:H0("cite",`run\x00${_.id}\x00${j}`,12),kind:U||E?"artifact":"run",ref:j,source_ref:I?.startsWith("open-files://")?I:null,source_uri:I&&!I.startsWith("open-files://")?I:null,artifact_uri:U,artifact_path:E,run_id:_.id,run_event_id:null,revision:n$($,["revision"],D),hash:n$($,["hash","content_hash"],D),chunk_id:null,offsets:{start:null,end:null},quote_preview:N}}function TF(_,$,D){let I=n$($,["source_ref","source_uri","evidence_uri","receipt_uri"],D),U=n$($,["artifact_uri"],D),E=n$($,["artifact_path","artifact_key"],D),j=I??U??E??`knowledge://project/runs/${_.run_id}`,N=Z0(_.event,D,160).text;return{id:H0("cite",`event\x00${_.id}\x00${j}`,12),kind:U||E?"artifact":"run_event",ref:j,source_ref:I?.startsWith("open-files://")?I:null,source_uri:I&&!I.startsWith("open-files://")?I:null,artifact_uri:U,artifact_path:E,run_id:_.run_id,run_event_id:_.id,revision:n$($,["revision"],D),hash:n$($,["hash","content_hash"],D),chunk_id:null,offsets:{start:null,end:null},quote_preview:N}}function LX(_){let $=new Map;for(let D of _){let I=d2(`${D.title} ${D.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(!I)continue;$.set(I,[...$.get(I)??[],D.id])}return Array.from($.entries()).filter(([,D])=>D.length>1).map(([D,I])=>({id:H0("dup",D,12),reason:"normalized_text_match",evidence_ids:I,confidence:I.length>2?"high":"medium"}))}async function FF(_,$,D){let I=_.source==="loops"?"loops":"runs",U=(_.topic??_.query??"").trim(),E=LF(U),j=SX(_.since,D),N=j.warning?[j.warning]:[];c(_.dbPath);let O=w(_.dbPath);try{let S=RF(O,j.cutoff,Math.max($*8,40)),L=YF(O,S.map((X)=>X.id),Math.max($*12,80)),W=new Map;for(let X of L)W.set(X.run_id,[...W.get(X.run_id)??[],X]);let z=(I==="loops"?S.filter((X)=>QF(X,W.get(X.id)??[])):S).map((X)=>{let R=jX(X.metadata_json),T=`${X.type} ${X.status} ${X.prompt??""} ${zI(R)} ${(W.get(X.id)??[]).map((Y)=>`${Y.event} ${Y.metadata_json}`).join(" ")}`;return{row:X,metadata:R,score:AX(T,E),text:T}}).filter((X)=>E.length===0||X.score>0).sort((X,R)=>R.score-X.score||R.row.updated_at.localeCompare(X.row.updated_at)||X.row.id.localeCompare(R.row.id)),G=[],J=[],P=0;for(let X of z.slice(0,Math.max($*2,$))){let R=KF(X.row,X.metadata,_.safetyPolicy);G.push(R);let T=zI(X.metadata),Y=[X.row.prompt,T].filter(Boolean).join(" | ")||`${X.row.type} ${X.row.status}`,Q=Z0(Y,_.safetyPolicy,420);P+=Q.redactions,J.push({id:`run:${X.row.id}`,kind:X.row.type,title:S6(`${X.row.type}: ${X.row.status}`,100),text_preview:Q.text,score:X.score,citation_ids:[R.id],provenance:{source:I,record_ref:`knowledge://project/runs/${X.row.id}`,created_at:X.row.created_at,updated_at:X.row.updated_at,metadata_keys:c2(X.metadata)}});let F=(W.get(X.row.id)??[]).map((B)=>{let b=jX(B.metadata_json),f=`${B.event} ${zI(b)} ${B.metadata_json}`;return{event:B,metadata:b,score:AX(f,E),text:f}}).filter((B)=>E.length===0||B.score>0).sort((B,b)=>b.score-B.score||b.event.created_at.localeCompare(B.event.created_at)||B.event.id.localeCompare(b.event.id)).slice(0,2);for(let B of F){let b=TF(B.event,B.metadata,_.safetyPolicy);G.push(b);let f=Z0(`${B.event}: ${zI(B.metadata)}`,_.safetyPolicy,320);P+=f.redactions,J.push({id:`event:${B.event.id}`,kind:`run_event:${B.event.level}`,title:S6(B.event.event,100),text_preview:f.text,score:B.score,citation_ids:[b.id],provenance:{source:I,record_ref:`knowledge://project/runs/${B.event.run_id}`,created_at:B.event.created_at,updated_at:null,metadata_keys:c2(B.metadata)}})}}return{citations:G,evidence:J,duplicateCandidates:_.dedupe?LX(J):[],redactions:P,warnings:N,available:z.length}}finally{O.close()}}function VF(_){let $=_.purpose==="proposal"?`Proposal context: ${S6(_.query||"loop evidence",80)}`:`Knowledge context: ${S6(_.query,80)}`,D=_.evidence.slice(0,8).map((E)=>E.id),I=_.duplicates.slice(0,5).map((E)=>E.id),U=_.evidence.slice(0,5).map((E)=>`${E.id}: ${E.title}`);if(_.evidence.length===0)U.push("No matching bounded evidence was found.");return{title:$,bullets:U,evidence_ids:D,duplicate_candidate_ids:I,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 WX(_){let $=new Set(_.evidence.flatMap((D)=>D.citation_ids));_.citations=_.citations.filter((D)=>$.has(D.id))}function OX(_){_.outline.evidence_ids=_.evidence.slice(0,8).map(($)=>$.id),_.outline.bullets=_.evidence.length>0?_.evidence.slice(0,5).map(($)=>`${$.id}: ${$.title}`):["No matching bounded evidence was found."],_.outline.duplicate_candidate_ids=_.duplicate_candidates.slice(0,5).map(($)=>$.id)}function BF(_){let $=_.budgets.max_tokens,D=new Set(_.warnings);while(NX(_)>$){let I=_.evidence.map((E,j)=>({entry:E,index:j})).filter(({entry:E})=>E.text_preview.length>180).sort((E,j)=>j.entry.text_preview.length-E.entry.text_preview.length)[0];if(I){I.entry.text_preview=S6(I.entry.text_preview,180),D.add("text_preview_truncated_for_token_budget");continue}let U=_.citations.filter((E)=>(E.quote_preview?.length??0)>120).sort((E,j)=>(j.quote_preview?.length??0)-(E.quote_preview?.length??0))[0];if(U?.quote_preview){U.quote_preview=S6(U.quote_preview,120),D.add("citation_quote_truncated_for_token_budget");continue}if(_.evidence.length>0){_.evidence.pop(),_.budgets.items_truncated+=1,_.duplicate_candidates=_.duplicate_candidates.map((E)=>({...E,evidence_ids:E.evidence_ids.filter((j)=>_.evidence.some((N)=>N.id===j))})).filter((E)=>E.evidence_ids.length>1),OX(_),D.add("evidence_truncated_for_token_budget"),WX(_);continue}if(_.outline.next_actions.length>1){_.outline.next_actions.pop(),D.add("outline_truncated_for_token_budget");continue}D.add("token_budget_floor_exceeded");break}if(_.warnings=Array.from(D).sort(),_.budgets.items_included=_.evidence.length,OX(_),_.budgets.estimated_tokens=NX(_),_.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 JX(_){let $=_.now??new Date,D=_.source??"search",I=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),U=PF(_.maxTokens),E=zF(_.maxItems,_.limit),j=n2(_.query??_.topic??"");if(I==="proposal"&&D!=="search"&&!j)throw Error("Proposal context requires --topic or a positional topic.");if(D!=="search")c(_.dbPath);let N=SX(_.since,$).cutoff??_.since??"",O=D==="search"?await GF(_,E):await FF(_,E,$),S=O.evidence.sort((G,J)=>J.score-G.score||G.id.localeCompare(J.id)).slice(0,E),L=O.citations.filter((G,J,P)=>P.findIndex((X)=>X.id===G.id)===J).sort((G,J)=>G.id.localeCompare(J.id)),W=_.dedupe?LX(S):O.duplicateCandidates.filter((G)=>G.evidence_ids.every((J)=>S.some((P)=>P.id===J))),g=VF({source:D,purpose:I,query:j,evidence:S,duplicates:W}),z={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:D,purpose:I,query:j,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:H0("ctx",[D,I,j,N,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",U,E,S.map((G)=>G.id).join(","),L.map((G)=>G.id).join(",")].join("\x00"),20),budgets:{max_tokens:U,estimated_tokens:0,max_items:E,items_included:S.length,items_available:O.available,items_truncated:Math.max(0,O.available-S.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:O.redactions,reminders:gF(D)},citations:L,evidence:S,duplicate_candidates:W,outline:g,warnings:O.warnings,message:`${S.length} bounded evidence item(s), estimated under ${U} token(s)`};return WX(z),BF(z)}import{randomUUID as fG}from"crypto";import{createHash as MF,randomUUID as ZF}from"crypto";import{existsSync as HF,readFileSync as bF}from"fs";import{hostname as RX}from"os";import{fileURLToPath as YX}from"url";import{extname as qF,relative as QX,resolve as PX,sep as kF}from"path";var GI=["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"],q6=2,k6=1,aD={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"]},sD=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function d$(_=new Date){return _.toISOString()}function e2(_){return`${_}_${Date.now().toString(36)}_${ZF().slice(0,8)}`}function KX(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??RX()}function q0(_){if(Array.isArray(_))return`[${_.map(q0).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((D)=>`${JSON.stringify(D)}:${q0($[D])}`).join(",")}}`}return JSON.stringify(_)}function oD(_){return`sha256:${MF("sha256").update(_).digest("hex")}`}function gI(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function YI(_,$){try{return JSON.parse(_)}catch{return $}}function O$(_){return`"${_.replace(/"/g,'""')}"`}function CF(_){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 TX(_,$){return $.filter((D)=>z$(_,D))}function z$(_,$){let D=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(D)}function vF(_,$){let D=_.query(`PRAGMA table_info(${O$($)})`).all();return new Set(D.map((I)=>I.name))}function wF(_,$,D){let I=vF(_,$);return D.filter((U)=>I.has(U))}function FX(_){if(!_||_.length===0)return[...GI];let $=new Set(GI),D=_.map((U)=>U.trim()).filter(Boolean),I=D.filter((U)=>!$.has(U));if(I.length>0)throw Error(`Unknown knowledge sync table(s): ${I.join(", ")}`);return D}function P4(_,$){return aD[_].map((I)=>`${I}=${JSON.stringify($[I]??null)}`).join("&")}var rF=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function pD(_,$=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((I)=>pD(I,$+1));let D={};for(let[I,U]of Object.entries(_)){if(rF.has(I.toLowerCase()))continue;D[I]=pD(U,$+1)}return D}function tD(_){if(!_)return null;return pD(_)}function a2(_){return oD(q0(_))}function fF(_,$){let D={};for(let[I,U]of Object.entries(_))if(I==="artifact_uri"&&typeof U==="string"&&$.has(U))D[I]=`artifact:${$.get(U)}`;else D[I]=U;return D}function J4(_,$=new Map){return a2(fF(_,$))}function VX(_,$){if(!z$(_,$))return[];return _.query(`SELECT * FROM ${O$($)} ORDER BY rowid ASC`).all()}function RI(_,$,D=new Map){return a2($.map((I)=>({key:P4(_,I),hash:J4(I,D)})).sort((I,U)=>I.key.localeCompare(U.key)))}function eD(_,$,D){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,D)??null}function xF(_){if(!z$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function QI(_,$){let D=$.now??d$(),U=eD(_,$.table,$.machineId)?.created_at??D;_.query(` + LIMIT ?`).all(...$,U)}function vK(_,$){return`${_.type} ${_.metadata_json} ${$.map((j)=>`${j.event} ${j.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function fK(_,$,U){let j=a$($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=a$($,["artifact_uri"],U),N=a$($,["artifact_path","artifact_key"],U),E=j??D??N??`knowledge://project/runs/${_.id}`,I=_.prompt?h0(_.prompt,U,180).text:null;return{id:r0("cite",`run\x00${_.id}\x00${E}`,12),kind:D||N?"artifact":"run",ref:E,source_ref:j?.startsWith("open-files://")?j:null,source_uri:j&&!j.startsWith("open-files://")?j:null,artifact_uri:D,artifact_path:N,run_id:_.id,run_event_id:null,revision:a$($,["revision"],U),hash:a$($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:I}}function xK(_,$,U){let j=a$($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=a$($,["artifact_uri"],U),N=a$($,["artifact_path","artifact_key"],U),E=j??D??N??`knowledge://project/runs/${_.run_id}`,I=h0(_.event,U,160).text;return{id:r0("cite",`event\x00${_.id}\x00${E}`,12),kind:D||N?"artifact":"run_event",ref:E,source_ref:j?.startsWith("open-files://")?j:null,source_uri:j&&!j.startsWith("open-files://")?j:null,artifact_uri:D,artifact_path:N,run_id:_.run_id,run_event_id:_.id,revision:a$($,["revision"],U),hash:a$($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:I}}function s5(_){let $=new Map;for(let U of _){let j=RA(`${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:r0("dup",U,12),reason:"normalized_text_match",evidence_ids:j,confidence:j.length>2?"high":"medium"}))}async function yK(_,$,U){let j=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),N=KK(D),E=e5(_.since,U),I=E.warning?[E.warning]:[];c(_.dbPath);let W=v(_.dbPath);try{let J=bK(W,E.cutoff,Math.max($*8,40)),L=wK(W,J.map((Y)=>Y.id),Math.max($*12,80)),S=new Map;for(let Y of L)S.set(Y.run_id,[...S.get(Y.run_id)??[],Y]);let z=(j==="loops"?J.filter((Y)=>vK(Y,S.get(Y.id)??[])):J).map((Y)=>{let Q=t5(Y.metadata_json),B=`${Y.type} ${Y.status} ${Y.prompt??""} ${fj(Q)} ${(S.get(Y.id)??[]).map((G)=>`${G.event} ${G.metadata_json}`).join(" ")}`;return{row:Y,metadata:Q,score:p5(B,N),text:B}}).filter((Y)=>N.length===0||Y.score>0).sort((Y,Q)=>Q.score-Y.score||Q.row.updated_at.localeCompare(Y.row.updated_at)||Y.row.id.localeCompare(Q.row.id)),R=[],P=[],O=0;for(let Y of z.slice(0,Math.max($*2,$))){let Q=fK(Y.row,Y.metadata,_.safetyPolicy);R.push(Q);let B=fj(Y.metadata),G=[Y.row.prompt,B].filter(Boolean).join(" | ")||`${Y.row.type} ${Y.row.status}`,T=h0(G,_.safetyPolicy,420);O+=T.redactions,P.push({id:`run:${Y.row.id}`,kind:Y.row.type,title:G6(`${Y.row.type}: ${Y.row.status}`,100),text_preview:T.text,score:Y.score,citation_ids:[Q.id],provenance:{source:j,record_ref:`knowledge://project/runs/${Y.row.id}`,created_at:Y.row.created_at,updated_at:Y.row.updated_at,metadata_keys:XA(Y.metadata)}});let F=(S.get(Y.row.id)??[]).map((g)=>{let q=t5(g.metadata_json),x=`${g.event} ${fj(q)} ${g.metadata_json}`;return{event:g,metadata:q,score:p5(x,N),text:x}}).filter((g)=>N.length===0||g.score>0).sort((g,q)=>q.score-g.score||q.event.created_at.localeCompare(g.event.created_at)||g.event.id.localeCompare(q.event.id)).slice(0,2);for(let g of F){let q=xK(g.event,g.metadata,_.safetyPolicy);R.push(q);let x=h0(`${g.event}: ${fj(g.metadata)}`,_.safetyPolicy,320);O+=x.redactions,P.push({id:`event:${g.event.id}`,kind:`run_event:${g.event.level}`,title:G6(g.event.event,100),text_preview:x.text,score:g.score,citation_ids:[q.id],provenance:{source:j,record_ref:`knowledge://project/runs/${g.event.run_id}`,created_at:g.event.created_at,updated_at:null,metadata_keys:XA(g.metadata)}})}}return{citations:R,evidence:P,duplicateCandidates:_.dedupe?s5(P):[],redactions:O,warnings:I,available:z.length}}finally{W.close()}}function uK(_){let $=_.purpose==="proposal"?`Proposal context: ${G6(_.query||"loop evidence",80)}`:`Knowledge context: ${G6(_.query,80)}`,U=_.evidence.slice(0,8).map((N)=>N.id),j=_.duplicates.slice(0,5).map((N)=>N.id),D=_.evidence.slice(0,5).map((N)=>`${N.id}: ${N.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 _9(_){let $=new Set(_.evidence.flatMap((U)=>U.citation_ids));_.citations=_.citations.filter((U)=>$.has(U.id))}function a5(_){_.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 hK(_){let $=_.budgets.max_tokens,U=new Set(_.warnings);while(o5(_)>$){let j=_.evidence.map((N,E)=>({entry:N,index:E})).filter(({entry:N})=>N.text_preview.length>180).sort((N,E)=>E.entry.text_preview.length-N.entry.text_preview.length)[0];if(j){j.entry.text_preview=G6(j.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let D=_.citations.filter((N)=>(N.quote_preview?.length??0)>120).sort((N,E)=>(E.quote_preview?.length??0)-(N.quote_preview?.length??0))[0];if(D?.quote_preview){D.quote_preview=G6(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((N)=>({...N,evidence_ids:N.evidence_ids.filter((E)=>_.evidence.some((I)=>I.id===E))})).filter((N)=>N.evidence_ids.length>1),a5(_),U.add("evidence_truncated_for_token_budget"),_9(_);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,a5(_),_.budgets.estimated_tokens=o5(_),_.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 $9(_){let $=_.now??new Date,U=_.source??"search",j=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=ZK(_.maxTokens),N=HK(_.maxItems,_.limit),E=YA(_.query??_.topic??"");if(j==="proposal"&&U!=="search"&&!E)throw Error("Proposal context requires --topic or a positional topic.");if(U!=="search")c(_.dbPath);let I=e5(_.since,$).cutoff??_.since??"",W=U==="search"?await CK(_,N):await yK(_,N,$),J=W.evidence.sort((R,P)=>P.score-R.score||R.id.localeCompare(P.id)).slice(0,N),L=W.citations.filter((R,P,O)=>O.findIndex((Y)=>Y.id===R.id)===P).sort((R,P)=>R.id.localeCompare(P.id)),S=_.dedupe?s5(J):W.duplicateCandidates.filter((R)=>R.evidence_ids.every((P)=>J.some((O)=>O.id===P))),X=uK({source:U,purpose:j,query:E,evidence:J,duplicates:S}),z={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:j,query:E,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:r0("ctx",[U,j,E,I,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,N,J.map((R)=>R.id).join(","),L.map((R)=>R.id).join(",")].join("\x00"),20),budgets:{max_tokens:D,estimated_tokens:0,max_items:N,items_included:J.length,items_available:W.available,items_truncated:Math.max(0,W.available-J.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:W.redactions,reminders:qK(U)},citations:L,evidence:J,duplicate_candidates:S,outline:X,warnings:W.warnings,message:`${J.length} bounded evidence item(s), estimated under ${D} token(s)`};return _9(z),hK(z)}import{randomUUID as KY}from"crypto";import{createHash as rK,randomUUID as cK}from"crypto";import{existsSync as mK,readFileSync as nK}from"fs";import{hostname as I9}from"os";import{fileURLToPath as A9}from"url";import{extname as dK,relative as W9,resolve as U9,sep as lK}from"path";var uj=["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"],r6=2,c6=1,zD={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"]},XD=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function e$(_=new Date){return _.toISOString()}function KA(_){return`${_}_${Date.now().toString(36)}_${cK().slice(0,8)}`}function J9(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??I9()}function m0(_){if(Array.isArray(_))return`[${_.map(m0).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((U)=>`${JSON.stringify(U)}:${m0($[U])}`).join(",")}}`}return JSON.stringify(_)}function SD(_){return`sha256:${rK("sha256").update(_).digest("hex")}`}function xj(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function rj(_,$){try{return JSON.parse(_)}catch{return $}}function z$(_){return`"${_.replace(/"/g,'""')}"`}function iK(_){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 L9(_,$){return $.filter((U)=>B$(_,U))}function B$(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(U)}function tK(_,$){let U=_.query(`PRAGMA table_info(${z$($)})`).all();return new Set(U.map((j)=>j.name))}function oK(_,$,U){let j=tK(_,$);return U.filter((D)=>j.has(D))}function S9(_){if(!_||_.length===0)return[...uj];let $=new Set(uj),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 K4(_,$){return zD[_].map((j)=>`${j}=${JSON.stringify($[j]??null)}`).join("&")}var pK=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function PD(_,$=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)=>PD(j,$+1));let U={};for(let[j,D]of Object.entries(_)){if(pK.has(j.toLowerCase()))continue;U[j]=PD(D,$+1)}return U}function LD(_){if(!_)return null;return PD(_)}function gA(_){return SD(m0(_))}function aK(_,$){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 F4(_,$=new Map){return gA(aK(_,$))}function P9(_,$){if(!B$(_,$))return[];return _.query(`SELECT * FROM ${z$($)} ORDER BY rowid ASC`).all()}function hj(_,$,U=new Map){return gA($.map((j)=>({key:K4(_,j),hash:F4(j,U)})).sort((j,D)=>j.key.localeCompare(D.key)))}function OD(_,$,U){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,U)??null}function eK(_){if(!B$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function cj(_,$){let U=$.now??e$(),D=OD(_,$.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, @@ -843,17 +843,17 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{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??D,JSON.stringify($.metadata??{}),U,D);let E=eD(_,$.table,$.machineId);if(!E)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return E}function uF(_,$){let D=eD(_,$.table,$.machineId),I=D?.high_water_hash===$.highWaterHash?D.logical_clock:(D?.logical_clock??0)+1,U=$.record?QI(_,{table:$.table,machineId:$.machineId,logicalClock:I,highWaterHash:$.highWaterHash,highWaterBundleId:null,originMachineId:D?.origin_machine_id??$.machineId,updatedByMachineId:$.machineId,lastAppliedAt:$.now,metadata:{source:"export",row_count:$.rowCount},now:$.now}):{table_name:$.table,machine_id:$.machineId,logical_clock:I,high_water_hash:$.highWaterHash,high_water_bundle_id:D?.high_water_bundle_id??null,origin_machine_id:D?.origin_machine_id??$.machineId,updated_by_machine_id:$.machineId,last_applied_at:$.now,metadata_json:"{}",created_at:D?.created_at??$.now,updated_at:$.now};return{table:$.table,machine_id:$.machineId,logical_clock:U.logical_clock,high_water_hash:$.highWaterHash,high_water_bundle_id:U.high_water_bundle_id,row_count:$.rowCount,updated_at:U.updated_at}}function yF(_,$,D,I,U){if($.high_water_bundle_id=D,!I)return;QI(_,{table:$.table,machineId:$.machine_id,logicalClock:$.logical_clock,highWaterHash:$.high_water_hash,highWaterBundleId:D,originMachineId:$.machine_id,updatedByMachineId:$.machine_id,lastAppliedAt:U,metadata:{source:"export",row_count:$.row_count},now:U})}function BX(_,$){return _.table_clocks?.find((D)=>D.table===$)??null}function hF(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function cF(_,$,D){if(D.length===0)return 0;let I=wF(_,$,Object.keys(D[0]));if(I.length===0)return 0;let U=aD[$],E=I.map(O$).join(", "),j=I.map(()=>"?").join(", "),N=U.map(O$).join(", "),O=I.filter((z)=>!U.includes(z)),S=U[0],L=O.length>0?O.map((z)=>`${O$(z)} = excluded.${O$(z)}`).join(", "):`${O$(S)} = excluded.${O$(S)}`,W=_.query(`INSERT INTO ${O$($)} (${E}) VALUES (${j}) - ON CONFLICT (${N}) DO UPDATE SET ${L}`);return _.transaction((z)=>{for(let G of z)W.run(...I.map((J)=>CF(G[J])))})(D),D.length}function MX(_,$){let D=aD[_],I=[],U=$;for(let E=0;E=0?O.slice(0,W):O;try{I.push(JSON.parse(g))}catch{return null}U=W>=0&&L?O.slice(W+1):""}return U.length===0?I:null}function ZX(_){return aD[_].map(($)=>`${O$($)} = ?`).join(" AND ")}function nF(_,$,D){if(!z$(_,"knowledge_sync_changes"))return new Map;let I=_.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 N=OD(_,$.table,$.machineId);if(!N)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return N}function sK(_,$){let U=OD(_,$.table,$.machineId),j=U?.high_water_hash===$.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,D=$.record?cj(_,{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 _g(_,$,U,j,D){if($.high_water_bundle_id=U,!j)return;cj(_,{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 O9(_,$){return _.table_clocks?.find((U)=>U.table===$)??null}function $g(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function Ug(_,$,U){if(U.length===0)return 0;let j=oK(_,$,Object.keys(U[0]));if(j.length===0)return 0;let D=zD[$],N=j.map(z$).join(", "),E=j.map(()=>"?").join(", "),I=D.map(z$).join(", "),W=j.filter((z)=>!D.includes(z)),J=D[0],L=W.length>0?W.map((z)=>`${z$(z)} = excluded.${z$(z)}`).join(", "):`${z$(J)} = excluded.${z$(J)}`,S=_.query(`INSERT INTO ${z$($)} (${N}) VALUES (${E}) + ON CONFLICT (${I}) DO UPDATE SET ${L}`);return _.transaction((z)=>{for(let R of z)S.run(...j.map((P)=>iK(R[P])))})(U),U.length}function z9(_,$){let U=zD[_],j=[],D=$;for(let N=0;N=0?W.slice(0,S):W;try{j.push(JSON.parse(X))}catch{return null}D=S>=0&&L?W.slice(S+1):""}return D.length===0?j:null}function X9(_){return zD[_].map(($)=>`${z$($)} = ?`).join(" AND ")}function Dg(_,$,U){if(!B$(_,"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(D,$),U=new Map;for(let E of I)U.set(E.entity_id,E.next_hash);return U}function dF(_,$){if(z$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(z$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(z$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(z$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function mF(_,$,D){let I=MX($,D);if(!I)return!1;let U=ZX($),E=_.query(`SELECT * FROM ${O$($)} WHERE ${U} LIMIT 1`).get(...I);if(!E)return!1;if($==="chunks"&&typeof E.id==="string")dF(_,E.id);return _.query(`DELETE FROM ${O$($)} WHERE ${U}`).run(...I),!0}function lF(_,$){if(!z$(_,"chunks_fts"))return;for(let D of $){let I=typeof D.id==="string"?D.id:null,U=typeof D.text==="string"?D.text:null;if(!I||U===null)continue;let E="",j="",N=typeof D.source_revision_id==="string"?D.source_revision_id:null;if(N){let O=_.query(`SELECT s.title, s.uri + ORDER BY created_at ASC, id ASC`).all(U,$),D=new Map;for(let N of j)D.set(N.entity_id,N.next_hash);return D}function jg(_,$){if(B$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(B$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(B$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(B$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function Ng(_,$,U){let j=z9($,U);if(!j)return!1;let D=X9($),N=_.query(`SELECT * FROM ${z$($)} WHERE ${D} LIMIT 1`).get(...j);if(!N)return!1;if($==="chunks"&&typeof N.id==="string")jg(_,N.id);return _.query(`DELETE FROM ${z$($)} WHERE ${D}`).run(...j),!0}function Eg(_,$){if(!B$(_,"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 N="",E="",I=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(I){let W=_.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(N);E=O?.title??"",j=O?.uri??""}if(!j&&typeof D.metadata_json==="string"){let O=YI(D.metadata_json,{});j=typeof O.source_uri==="string"?O.source_uri:""}_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(I),_.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(I,U,E,j)}}function iF(_,$,D){if($==="chunks")lF(_,D)}function tF(_,$){let D=QX(_,$);return D!==".."&&!D.startsWith("..")&&!D.startsWith(`..${kF}`)}function oF(_,$){let D=YI(_.metadata_json,{});if(typeof D.key==="string")return D.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let I=YX(_.artifact_uri),U=PX($),E=PX(I);if(!tF(U,E))return null;let j=QX(U,E).replace(/\\/g,"/");return j?c$(j):null}catch{return null}}var pF=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function eF(_,$){let D=_?.toLowerCase()??"";if(D.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(D))return!0;return $?pF.has(qF($).toLowerCase()):!1}function z4(_){let $=new Map;for(let D of _)if(D.key)$.set(D.artifact_uri,D.key);return $}function H6(_){return a2({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function KI(_){return _.key??_.artifact_uri}function aF(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function HX(_){return Object.fromEntries(GI.map(($)=>[$,z$(_,$)?gI(_,$):0]))}function sF(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(I);N=W?.title??"",E=W?.uri??""}if(!E&&typeof U.metadata_json==="string"){let W=rj(U.metadata_json,{});E=typeof W.source_uri==="string"?W.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,N,E)}}function Ig(_,$,U){if($==="chunks")Eg(_,U)}function Ag(_,$){let U=W9(_,$);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${lK}`)}function Wg(_,$){let U=rj(_.metadata_json,{});if(typeof U.key==="string")return U.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let j=A9(_.artifact_uri),D=U9($),N=U9(j);if(!Ag(D,N))return null;let E=W9(D,N).replace(/\\/g,"/");return E?p$(E):null}catch{return null}}var Jg=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function Lg(_,$){let U=_?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return $?Jg.has(dK($).toLowerCase()):!1}function g4(_){let $=new Map;for(let U of _)if(U.key)$.set(U.artifact_uri,U.key);return $}function u6(_){return gA({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function mj(_){return _.key??_.artifact_uri}function Sg(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function Y9(_){return Object.fromEntries(uj.map(($)=>[$,B$(_,$)?xj(_,$):0]))}function Pg(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function _V(_,$){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 l2(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function $V(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function b6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function XI(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function b0(_){if(Array.isArray(_))return`[${_.map(b0).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[D])=>$.localeCompare(D)).map(([$,D])=>`${JSON.stringify($)}:${b0(D)}`).join(",")}}`;return JSON.stringify(_)}function zX(_){let{recorded_at:$,...D}=_;return D}function H_(_){return typeof _==="string"&&_.length>0?_:null}function DV(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function gX(_){return typeof _==="boolean"?_:null}function UV(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function bX(_){let $=b6(_),D=H_($.observed_at),I=H_($.source_authority);if(!D||!I)return null;return{observed_at:D,verified_at:H_($.verified_at),expires_at:H_($.expires_at),ttl_ms:DV($.ttl_ms),source_authority:I,confidence:H_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:UV($.reasons)}}function qX(_,$){if(!_||_.stale)return!1;if(!_.expires_at)return!0;let D=Date.parse(_.expires_at),I=Date.parse($);return Number.isNaN(D)||Number.isNaN(I)||D>I}function IV(_,$){return H_($.source)===_.source&&H_($.target)===_.target&&H_($.route)===_.route&&H_($.target_kind)===_.targetKind&&H_($.confidence)===_.confidence}function EV(_,$){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&&gX($.current)===_.current&&gX($.primary)===_.primary}function jV(_,$,D){if(!_)return null;let I=bX($.cacheability);if(I&&qX(I,D)&&IV(_,$))return{..._,cacheability:I};return _}function NV(_,$,D){if(!_)return null;let I=bX($.cacheability);if(I&&qX(I,D)&&EV(_,$))return{..._,cacheability:I};return _}function AV(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??RX()}function OV(_,$){let D=new Set,I=Array.isArray($.sources)?$.sources:[];for(let U of I)if(typeof U==="string")D.add(U);if(typeof $.source==="string")D.add($.source);if(_.route?.source)D.add(_.route.source);if(_.workspace?.source)D.add(_.workspace.source);return D.add("knowledge"),[...D].sort()}function XX(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function SV(_,$,D){let I=b6($.resolver_evidence),U=_.route?XI({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}):b6(I.route),E=_.workspace?XI({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}):b6(I.workspace);return XI({...I,recorded_at:D,route:U,workspace:E})}function kX(_,$){c(_);let D=w(_);try{let I=AV($),U=D.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(I)??null,E=d$($.now),j=l2(U?.capabilities_json),N=l2(U?.metadata_json),O=b6(j.resolver),S=b6(N.resolver_evidence),L=b6(S.route),W=b6(S.workspace),g=jV($.route?.source==="registry"?null:$.route??null,L,E),z=NV($.workspace?.source==="registry"?null:$.workspace??null,W,E),G={...$,route:g,workspace:z},J={...j,resolver:XI({...O,route_source:g?.source??O.route_source,route_kind:g?.route??O.route_kind,route_target_kind:g?.targetKind??O.route_target_kind,route_confidence:g?.confidence??O.route_confidence,route_cacheable:g?.cacheability?.cacheable??O.route_cacheable,route_stale:g?.cacheability?.stale??O.route_stale,route_expires_at:g?.cacheability?.expires_at??O.route_expires_at,route_observed_at:g?.cacheability?.observed_at??O.route_observed_at,route_source_authority:g?.cacheability?.source_authority??O.route_source_authority,workspace_source:z?.source??O.workspace_source,project_root_source:z?.project_root_source??O.project_root_source,workspace_root_source:z?.workspace_root_source??O.workspace_root_source,open_files_root_source:z?.open_files_root_source??O.open_files_root_source,trust_status:z?.trust_status??O.trust_status,auth_status:z?.auth_status??O.auth_status,workspace_cacheable:z?.cacheability?.cacheable??O.workspace_cacheable,workspace_stale:z?.cacheability?.stale??O.workspace_stale,workspace_expires_at:z?.cacheability?.expires_at??O.workspace_expires_at,workspace_observed_at:z?.cacheability?.observed_at??O.workspace_observed_at,workspace_source_authority:z?.cacheability?.source_authority??O.workspace_source_authority}),route_fallback:Boolean(g?.target??U?.ssh_target),workspace_fallback:Boolean(z?.project_root??U?.workspace_home)},P=SV(G,N,E);if(U){let R=S;if(U.workspace_home===(z?.project_root??U.workspace_home??null)&&U.tailscale_dns===XX(U,g)&&U.ssh_target===(g?.target??U.ssh_target??null)&&b0(l2(U.capabilities_json))===b0(J)&&b0(zX(R))===b0(zX(P)))return U}let X={machine_id:I,hostname:U?.hostname??null,platform:U?.platform??null,user_label:U?.user_label??null,workspace_home:z?.project_root??U?.workspace_home??null,tailscale_dns:XX(U,g),tailscale_ips_json:JSON.stringify($V(U?.tailscale_ips_json)),ssh_target:g?.target??U?.ssh_target??null,last_seen_at:E,capabilities_json:JSON.stringify(J),metadata_json:JSON.stringify({...N,source:"knowledge",sources:OV(G,N),resolver_evidence:P}),created_at:U?.created_at??E,updated_at:E};return CX(D,X),X}finally{D.close()}}function CX(_,$){_.query(` + ORDER BY artifact_uri ASC`).all()}function Og(_,$){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 GA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function zg(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function h6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function yj(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function c0(_){if(Array.isArray(_))return`[${_.map(c0).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${c0(U)}`).join(",")}}`;return JSON.stringify(_)}function D9(_){let{recorded_at:$,...U}=_;return U}function k_(_){return typeof _==="string"&&_.length>0?_:null}function Xg(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function j9(_){return typeof _==="boolean"?_:null}function Yg(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function R9(_){let $=h6(_),U=k_($.observed_at),j=k_($.source_authority);if(!U||!j)return null;return{observed_at:U,verified_at:k_($.verified_at),expires_at:k_($.expires_at),ttl_ms:Xg($.ttl_ms),source_authority:j,confidence:k_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:Yg($.reasons)}}function Q9(_,$){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 Rg(_,$){return k_($.source)===_.source&&k_($.target)===_.target&&k_($.route)===_.route&&k_($.target_kind)===_.targetKind&&k_($.confidence)===_.confidence}function Qg(_,$){return k_($.source)===_.source&&k_($.requested_machine_id)===_.requested_machine_id&&k_($.machine_id)===_.machine_id&&k_($.project_id)===_.project_id&&k_($.repo_name)===_.repo_name&&k_($.project_root)===_.project_root&&k_($.project_root_source)===_.project_root_source&&k_($.workspace_root)===_.workspace_root&&k_($.workspace_root_source)===_.workspace_root_source&&k_($.open_files_root)===_.open_files_root&&k_($.open_files_root_source)===_.open_files_root_source&&k_($.trust_status)===_.trust_status&&k_($.auth_status)===_.auth_status&&j9($.current)===_.current&&j9($.primary)===_.primary}function Gg(_,$,U){if(!_)return null;let j=R9($.cacheability);if(j&&Q9(j,U)&&Rg(_,$))return{..._,cacheability:j};return _}function Tg(_,$,U){if(!_)return null;let j=R9($.cacheability);if(j&&Q9(j,U)&&Qg(_,$))return{..._,cacheability:j};return _}function Vg(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??I9()}function Bg(_,$){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 N9(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function Fg(_,$,U){let j=h6($.resolver_evidence),D=_.route?yj({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}):h6(j.route),N=_.workspace?yj({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}):h6(j.workspace);return yj({...j,recorded_at:U,route:D,workspace:N})}function G9(_,$){c(_);let U=v(_);try{let j=Vg($),D=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(j)??null,N=e$($.now),E=GA(D?.capabilities_json),I=GA(D?.metadata_json),W=h6(E.resolver),J=h6(I.resolver_evidence),L=h6(J.route),S=h6(J.workspace),X=Gg($.route?.source==="registry"?null:$.route??null,L,N),z=Tg($.workspace?.source==="registry"?null:$.workspace??null,S,N),R={...$,route:X,workspace:z},P={...E,resolver:yj({...W,route_source:X?.source??W.route_source,route_kind:X?.route??W.route_kind,route_target_kind:X?.targetKind??W.route_target_kind,route_confidence:X?.confidence??W.route_confidence,route_cacheable:X?.cacheability?.cacheable??W.route_cacheable,route_stale:X?.cacheability?.stale??W.route_stale,route_expires_at:X?.cacheability?.expires_at??W.route_expires_at,route_observed_at:X?.cacheability?.observed_at??W.route_observed_at,route_source_authority:X?.cacheability?.source_authority??W.route_source_authority,workspace_source:z?.source??W.workspace_source,project_root_source:z?.project_root_source??W.project_root_source,workspace_root_source:z?.workspace_root_source??W.workspace_root_source,open_files_root_source:z?.open_files_root_source??W.open_files_root_source,trust_status:z?.trust_status??W.trust_status,auth_status:z?.auth_status??W.auth_status,workspace_cacheable:z?.cacheability?.cacheable??W.workspace_cacheable,workspace_stale:z?.cacheability?.stale??W.workspace_stale,workspace_expires_at:z?.cacheability?.expires_at??W.workspace_expires_at,workspace_observed_at:z?.cacheability?.observed_at??W.workspace_observed_at,workspace_source_authority:z?.cacheability?.source_authority??W.workspace_source_authority}),route_fallback:Boolean(X?.target??D?.ssh_target),workspace_fallback:Boolean(z?.project_root??D?.workspace_home)},O=Fg(R,I,N);if(D){let Q=J;if(D.workspace_home===(z?.project_root??D.workspace_home??null)&&D.tailscale_dns===N9(D,X)&&D.ssh_target===(X?.target??D.ssh_target??null)&&c0(GA(D.capabilities_json))===c0(P)&&c0(D9(Q))===c0(D9(O)))return D}let Y={machine_id:j,hostname:D?.hostname??null,platform:D?.platform??null,user_label:D?.user_label??null,workspace_home:z?.project_root??D?.workspace_home??null,tailscale_dns:N9(D,X),tailscale_ips_json:JSON.stringify(zg(D?.tailscale_ips_json)),ssh_target:X?.target??D?.ssh_target??null,last_seen_at:N,capabilities_json:JSON.stringify(P),metadata_json:JSON.stringify({...I,source:"knowledge",sources:Bg(R,I),resolver_evidence:O}),created_at:D?.created_at??N,updated_at:N};return T9(U,Y),Y}finally{U.close()}}function T9(_,$){_.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, @@ -871,15 +871,15 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{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 LV(_,$,D=d$()){for(let I of $.machines)CX(_,_V(I,D));return $.machines.length}function s2(_){c(_);let $=w(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function _U(_){c(_.dbPath);let $=w(_.dbPath),D=[],I=d$(_.now),U=KX(_.machineId),E=_.recordClocks!==!1;try{let j=TX($,FX(_.tables)),O=$.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 Kg(_,$,U=e$()){for(let j of $.machines)T9(_,Og(j,U));return $.machines.length}function MA(_){c(_);let $=v(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function YD(_){c(_.dbPath);let $=v(_.dbPath),U=[],j=e$(_.now),D=J9(_.machineId),N=_.recordClocks!==!1;try{let E=L9($,S9(_.tables)),W=$.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all().map((G)=>{let J=oF(G,_.storage.local_layout.directories.artifacts),P={...G,key:J};if(_.includeArtifactContent!==!1&&J&&G.artifact_uri.startsWith("file://"))try{let X=YX(G.artifact_uri);if(HF(X))if(!eF(G.content_type,J))D.push(`artifact_content_not_embedded_binary:${G.id}`);else{let R=bF(X,"utf8"),T=F_(R);if(T!==R)D.push(`artifact_content_redacted:${G.id}`);P.content_base64=Buffer.from(T,"utf8").toString("base64"),P.hash=oD(T),P.size_bytes=Buffer.byteLength(T)}else D.push(`artifact_missing:${G.artifact_uri}`)}catch(X){D.push(`artifact_read_failed:${G.artifact_uri}:${X instanceof Error?X.message:String(X)}`)}else if(_.includeArtifactContent!==!1&&G.artifact_uri.startsWith("s3://"))D.push(`artifact_content_not_embedded:${G.artifact_uri}`);return P=F_(P),P}),S=z4(O),L=j.filter((G)=>!sD.has(G)).map((G)=>({table:G,primary_keys:aD[G],rows:VX($,G).map((J)=>F_(J))})),W=L.map((G)=>uF($,{table:G.table,machineId:U,highWaterHash:RI(G.table,G.rows,S),rowCount:G.rows.length,record:E,now:I})),g=oD(q0({source:{scope:_.scope,workspace_home:F_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:U,artifact_root_uri:F_(_.storage.artifact_store.uri_prefix)},tables:L.map((G)=>({table:G.table,primary_keys:G.primary_keys,rows:G.rows.map((J)=>({key:P4(G.table,J),hash:J4(J,S)})).sort((J,P)=>J.key.localeCompare(P.key))})),table_clocks:W.map((G)=>({table:G.table,machine_id:G.machine_id,logical_clock:G.logical_clock,high_water_hash:G.high_water_hash,row_count:G.row_count})),artifacts:O.map((G)=>({identity:KI(G),fingerprint:H6(G)})).sort((G,J)=>G.identity.localeCompare(J.identity))})),z=`syncbundle_${g.replace("sha256:","").slice(0,32)}`;for(let G of W)yF($,G,z,E,I);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:q6,min_protocol_version:k6,bundle_id:z,content_hash:g,generated_at:I,source:{scope:_.scope,workspace_home:F_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:U,artifact_root_uri:F_(_.storage.artifact_store.uri_prefix)},table_clocks:W,tables:L,artifacts:O,warnings:F_(D),message:`${L.reduce((G,J)=>G+J.rows.length,0)} row(s), ${O.length} artifact(s) exported`}}finally{$.close()}}function WV(_,$){let D=typeof _.protocol_version==="number"?_.protocol_version:null,I=typeof _.min_protocol_version==="number"?_.min_protocol_version:null;if(D===null||I===null||Dq6)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${q6} with min v${k6}.`)}function JV(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");WV(_,"knowledge sync bundle")}function _A(_,$){return _.tables.find((D)=>D.table===$)??null}function vX(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return oD(q0({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((D)=>({key:P4($.table,D),hash:J4(D,z4(_.artifacts))})).sort((D,I)=>D.key.localeCompare(I.key))})),artifacts:_.artifacts.map(($)=>({identity:KI($),fingerprint:H6($)})).sort(($,D)=>$.identity.localeCompare(D.identity))}))}function PV(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${vX(_).replace("sha256:","").slice(0,32)}`}function zV(_,$){return new Map($.map((D)=>[P4(_,D),D]))}function gV(_){return new Map(_.artifacts.map(($)=>[KI($),$]))}async function XV(_){let $=gV(_.targetBundle),D=new Map,I=[],U={source_artifacts:_.bundle.artifacts.length,target_artifacts:_.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let E of _.bundle.artifacts){let j=KI(E),N=$.get(j);if(N&&H6(N)===H6(E)){if(N.artifact_uri)D.set(E.artifact_uri,N.artifact_uri);U.skipped+=1;continue}if(N&&H6(N)!==H6(E)){let G={entityKind:"storage_object",entityId:j,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:H6(N),remoteHash:H6(E),metadata:{direction:_.direction,target_artifact_uri:N.artifact_uri,source_artifact_uri:E.artifact_uri,local_artifact:pD(N),remote_artifact:pD(E)}};if(o2(_.db,G)){U.skipped+=1;continue}U.conflicts+=1,I.push(G);continue}let O=Boolean(E.key&&E.content_base64),S=aF(E,_.targetStorage);if(!O&&!S){U.missing_content+=1,_.warnings.push(`artifact_content_missing:${E.artifact_uri}`);continue}if(_.dryRun){U.copied+=1;continue}let L=E.artifact_uri;if(O&&E.key&&E.content_base64)L=(await _.targetStore.put({key:E.key,body:Buffer.from(E.content_base64,"base64"),content_type:E.content_type??void 0})).uri,D.set(E.artifact_uri,L);else if(S)D.set(E.artifact_uri,L);let W=YI(E.metadata_json,{}),g=typeof W.artifact_modified_at==="string"?W.artifact_modified_at:void 0,z={uri:L,key:E.key??W.key??E.artifact_uri,kind:E.kind,content_type:E.content_type??void 0,hash:E.hash??void 0,size_bytes:E.size_bytes??void 0,modified_at:g,metadata:{...W,synced_from_artifact_uri:E.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};j6(_.db,[z]),U.copied+=1}return{result:U,uriMap:D,conflicts:I}}function i2(_,$){let D={..._};if(typeof D.artifact_uri==="string"&&$.has(D.artifact_uri))D.artifact_uri=$.get(D.artifact_uri);return D}function GV(_,$){let D=d$();_.query(` + ORDER BY artifact_uri ASC`).all().map((R)=>{let P=Wg(R,_.storage.local_layout.directories.artifacts),O={...R,key:P};if(_.includeArtifactContent!==!1&&P&&R.artifact_uri.startsWith("file://"))try{let Y=A9(R.artifact_uri);if(mK(Y))if(!Lg(R.content_type,P))U.push(`artifact_content_not_embedded_binary:${R.id}`);else{let Q=nK(Y,"utf8"),B=K_(Q);if(B!==Q)U.push(`artifact_content_redacted:${R.id}`);O.content_base64=Buffer.from(B,"utf8").toString("base64"),O.hash=SD(B),O.size_bytes=Buffer.byteLength(B)}else U.push(`artifact_missing:${R.artifact_uri}`)}catch(Y){U.push(`artifact_read_failed:${R.artifact_uri}:${Y instanceof Error?Y.message:String(Y)}`)}else if(_.includeArtifactContent!==!1&&R.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${R.artifact_uri}`);return O=K_(O),O}),J=g4(W),L=E.filter((R)=>!XD.has(R)).map((R)=>({table:R,primary_keys:zD[R],rows:P9($,R).map((P)=>K_(P))})),S=L.map((R)=>sK($,{table:R.table,machineId:D,highWaterHash:hj(R.table,R.rows,J),rowCount:R.rows.length,record:N,now:j})),X=SD(m0({source:{scope:_.scope,workspace_home:K_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:D,artifact_root_uri:K_(_.storage.artifact_store.uri_prefix)},tables:L.map((R)=>({table:R.table,primary_keys:R.primary_keys,rows:R.rows.map((P)=>({key:K4(R.table,P),hash:F4(P,J)})).sort((P,O)=>P.key.localeCompare(O.key))})),table_clocks:S.map((R)=>({table:R.table,machine_id:R.machine_id,logical_clock:R.logical_clock,high_water_hash:R.high_water_hash,row_count:R.row_count})),artifacts:W.map((R)=>({identity:mj(R),fingerprint:u6(R)})).sort((R,P)=>R.identity.localeCompare(P.identity))})),z=`syncbundle_${X.replace("sha256:","").slice(0,32)}`;for(let R of S)_g($,R,z,N,j);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:r6,min_protocol_version:c6,bundle_id:z,content_hash:X,generated_at:j,source:{scope:_.scope,workspace_home:K_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:D,artifact_root_uri:K_(_.storage.artifact_store.uri_prefix)},table_clocks:S,tables:L,artifacts:W,warnings:K_(U),message:`${L.reduce((R,P)=>R+P.rows.length,0)} row(s), ${W.length} artifact(s) exported`}}finally{$.close()}}function gg(_,$){let U=typeof _.protocol_version==="number"?_.protocol_version:null,j=typeof _.min_protocol_version==="number"?_.min_protocol_version:null;if(U===null||j===null||Ur6)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${r6} with min v${c6}.`)}function Mg(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");gg(_,"knowledge sync bundle")}function ZA(_,$){return _.tables.find((U)=>U.table===$)??null}function V9(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return SD(m0({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((U)=>({key:K4($.table,U),hash:F4(U,g4(_.artifacts))})).sort((U,j)=>U.key.localeCompare(j.key))})),artifacts:_.artifacts.map(($)=>({identity:mj($),fingerprint:u6($)})).sort(($,U)=>$.identity.localeCompare(U.identity))}))}function Zg(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${V9(_).replace("sha256:","").slice(0,32)}`}function Hg(_,$){return new Map($.map((U)=>[K4(_,U),U]))}function qg(_){return new Map(_.artifacts.map(($)=>[mj($),$]))}async function kg(_){let $=qg(_.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 N of _.bundle.artifacts){let E=mj(N),I=$.get(E);if(I&&u6(I)===u6(N)){if(I.artifact_uri)U.set(N.artifact_uri,I.artifact_uri);D.skipped+=1;continue}if(I&&u6(I)!==u6(N)){let R={entityKind:"storage_object",entityId:E,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:u6(I),remoteHash:u6(N),metadata:{direction:_.direction,target_artifact_uri:I.artifact_uri,source_artifact_uri:N.artifact_uri,local_artifact:PD(I),remote_artifact:PD(N)}};if(BA(_.db,R)){D.skipped+=1;continue}D.conflicts+=1,j.push(R);continue}let W=Boolean(N.key&&N.content_base64),J=Sg(N,_.targetStorage);if(!W&&!J){D.missing_content+=1,_.warnings.push(`artifact_content_missing:${N.artifact_uri}`);continue}if(_.dryRun){D.copied+=1;continue}let L=N.artifact_uri;if(W&&N.key&&N.content_base64)L=(await _.targetStore.put({key:N.key,body:Buffer.from(N.content_base64,"base64"),content_type:N.content_type??void 0})).uri,U.set(N.artifact_uri,L);else if(J)U.set(N.artifact_uri,L);let S=rj(N.metadata_json,{}),X=typeof S.artifact_modified_at==="string"?S.artifact_modified_at:void 0,z={uri:L,key:N.key??S.key??N.artifact_uri,kind:N.kind,content_type:N.content_type??void 0,hash:N.hash??void 0,size_bytes:N.size_bytes??void 0,modified_at:X,metadata:{...S,synced_from_artifact_uri:N.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};X6(_.db,[z]),D.copied+=1}return{result:D,uriMap:U,conflicts:j}}function TA(_,$){let U={..._};if(typeof U.artifact_uri==="string"&&$.has(U.artifact_uri))U.artifact_uri=$.get(U.artifact_uri);return U}function Cg(_,$){let U=e$();_.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(e2("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}),D)}function o2(_,$){let D=$.localHash??"",I=$.remoteHash??"";if(_.query(` + `).run(KA("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 BA(_,$){let U=$.localHash??"",j=$.remoteHash??"";if(_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -890,7 +890,7 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{config:$.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,D,I))return!0;let E=_.query(` + `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,U,j))return!0;let N=_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -901,7 +901,7 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{config:$.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get($.entityKind,$.entityId,$.remoteMachineId,$.localMachineId,I,D);return Boolean(E)}function t2(_,$){if(_.query(` + `).get($.entityKind,$.entityId,$.remoteMachineId,$.localMachineId,j,U);return Boolean(N)}function VA(_,$){if(_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -912,13 +912,13 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{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 I=d$();return _.query(` + `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null))return!1;let j=e$();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(e2("syncconf"),$.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null,$.status??"open",$.resolutionStrategy??null,$.proposedPatchUri??null,$.approvedBy??null,$.resolvedAt??null,JSON.stringify($.metadata??{}),I),!0}function RV(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function YV(_,$){let D=$.now??d$();_.query(` + `).run(KA("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 bg(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function wg(_,$){let U=$.now??e$();_.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, @@ -928,13 +928,13 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{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,D,JSON.stringify({conflicts:$.conflicts,artifacts:$.artifacts,source_workspace_home:$.bundle.source.workspace_home}))}function QV(_){return{ok:!0,protocol_version:q6,min_protocol_version:k6,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(($)=>!sD.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:_A(_.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 KV(_,$){let D=z4(_.artifacts),I=z4($.artifacts);for(let U of _.tables){if(sD.has(U.table))continue;let E=_A($,U.table),N=BX(_,U.table)?.high_water_hash??RI(U.table,U.rows,D);if(RI(U.table,E?.rows??[],I)!==N)return!1}return!0}async function TI(_){JV(_.bundle),c(_.targetDbPath);let $=[..._.bundle.warnings],D=_.dryRun===!0,I=KX(_.localMachineId),U=_.bundle.source.machine_id??"unknown",E=PV(_.bundle),j=vX(_.bundle),N=_.targetBundle??_U({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:I,includeArtifactContent:!1,recordClocks:!D}),O=w(_.targetDbPath);try{if(!D&&RV(O,E)&&KV(_.bundle,N))return QV({bundle:_.bundle,targetBundle:N,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:E});let S=await XV({db:O,bundle:_.bundle,targetBundle:N,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:D,direction:_.direction,localMachineId:I,warnings:$}),L=z4(_.bundle.artifacts),W=z4(N.artifacts),g=[],z=0,G=0,J=0;for(let R of _.bundle.tables){if(R.table==="storage_objects"||sD.has(R.table))continue;if(!z$(O,R.table))continue;let T=BX(_.bundle,R.table),Y=eD(O,R.table,U),Q=_A(N,R.table),F=zV(R.table,Q?.rows??[]),B=new Set(R.rows.map((U_)=>P4(R.table,U_))),b=nF(O,R.table,U),f=[],l={table:R.table,source_rows:R.rows.length,target_rows:Q?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!T)$.push(`legacy_clock_missing:${R.table}`);else if(hF(Y,T)){J+=1,l.skipped+=R.rows.length,l.stale_skipped=R.rows.length,$.push(`stale_table_skipped:${R.table}:${U}:${T.logical_clock}`),g.push(l);continue}for(let U_ of R.rows){let j_=P4(R.table,U_),_$=F.get(j_),G_=J4(U_,L);if(!_$){l.inserted+=1,f.push(i2(U_,S.uriMap));continue}let K$=J4(_$,W);if(K$===G_){l.skipped+=1;continue}let E_=b.get(j_);if(b.has(j_)&&E_===K$){l.updated+=1,f.push(i2(U_,S.uriMap));continue}let v_={entityKind:R.table,entityId:j_,localMachineId:I,remoteMachineId:U,localHash:K$,remoteHash:G_,baseHash:Y?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:E,incoming_logical_clock:T?.logical_clock??null,current_logical_clock:Y?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:tD(_$),remote_row:tD(U_)}};if(o2(O,v_)){l.skipped+=1;continue}if(l.conflicts+=1,!D&&t2(O,v_))z+=1}if(!D&&f.length>0){let U_=f.map((j_)=>i2(j_,S.uriMap));cF(O,R.table,U_),iF(O,R.table,U_);for(let j_ of U_)GV(O,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:I,entityKind:R.table,entityId:P4(R.table,j_),nextHash:J4(j_,z4(_.bundle.artifacts)),logicalClock:T?.logical_clock??0,bundleId:E,row:j_})}for(let[U_,j_]of b){if(B.has(U_))continue;let _$=F.get(U_);if(!_$)continue;let G_=J4(_$,W);if(j_&&G_!==j_){let K$={entityKind:R.table,entityId:U_,localMachineId:I,remoteMachineId:U,localHash:G_,remoteHash:null,baseHash:j_,metadata:{direction:_.direction,bundle_id:E,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:tD(_$),remote_row:null}};if(o2(O,K$)){l.skipped+=1;continue}if(l.conflicts+=1,!D&&t2(O,K$))z+=1;continue}if(l.deleted+=1,!D)mF(O,R.table,U_)}if(!D&&T)QI(O,{table:R.table,machineId:U,logicalClock:T.logical_clock,highWaterHash:T.high_water_hash,highWaterBundleId:E,originMachineId:U,updatedByMachineId:I,lastAppliedAt:d$(),metadata:{source:"import",direction:_.direction,row_count:R.rows.length,inserted:l.inserted,updated:l.updated,deleted:l.deleted,skipped:l.skipped,conflicts:l.conflicts}}),G+=1;g.push(l)}for(let R of S.conflicts)if(!D){if(t2(O,{...R,baseHash:R.baseHash??null,metadata:{...R.metadata,bundle_id:E}}))z+=1}let P=g.reduce((R,T)=>R+T.inserted,0),X=g.reduce((R,T)=>R+T.conflicts,0)+S.result.conflicts;if(!D)YV(O,{bundle:_.bundle,bundleId:E,contentHash:j,sourceMachineId:U,targetMachineId:I,direction:_.direction,status:X===0?"applied":"conflicted",tableResults:g,conflicts:X,artifacts:S.result});return{ok:X===0,protocol_version:q6,min_protocol_version:k6,dry_run:D,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:r_(O),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:g,artifacts:S.result,conflicts_created:z,bundle_id:E,replayed:!1,clocks:{advanced:G,stale_tables:J},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${P} row(s), copied ${S.result.copied} artifact(s), ${X} conflict(s)`}}finally{O.close()}}function wX(_){c(_.dbPath);let $=w(_.dbPath),D=d$(_.now);try{let I=_.topology?LV($,_.topology,D):0,U=HX($),E=F_(sF($)),j=_.machineId??_.topology?.local_machine_id??"unknown",N=F_(_.storage.artifact_store.uri_prefix),O=F_(_.workspaceHome),S=oD(q0({machine_id:j,scope:_.scope,workspace_home:O,sqlite_schema_version:r_($),artifact_root_uri:N,tables:U,artifacts:E})),L={id:e2("syncsnap"),machine_id:j,scope:_.scope,workspace_home:O,sqlite_schema_version:r_($),artifact_root_uri:N,content_hash:S,tables_json:JSON.stringify(U),artifact_hashes_json:JSON.stringify(E),created_at:D};$.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 vg(_){return{ok:!0,protocol_version:r6,min_protocol_version:c6,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(($)=>!XD.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:ZA(_.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 fg(_,$){let U=g4(_.artifacts),j=g4($.artifacts);for(let D of _.tables){if(XD.has(D.table))continue;let N=ZA($,D.table),I=O9(_,D.table)?.high_water_hash??hj(D.table,D.rows,U);if(hj(D.table,N?.rows??[],j)!==I)return!1}return!0}async function nj(_){Mg(_.bundle),c(_.targetDbPath);let $=[..._.bundle.warnings],U=_.dryRun===!0,j=J9(_.localMachineId),D=_.bundle.source.machine_id??"unknown",N=Zg(_.bundle),E=V9(_.bundle),I=_.targetBundle??YD({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:j,includeArtifactContent:!1,recordClocks:!U}),W=v(_.targetDbPath);try{if(!U&&bg(W,N)&&fg(_.bundle,I))return vg({bundle:_.bundle,targetBundle:I,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:N});let J=await kg({db:W,bundle:_.bundle,targetBundle:I,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:U,direction:_.direction,localMachineId:j,warnings:$}),L=g4(_.bundle.artifacts),S=g4(I.artifacts),X=[],z=0,R=0,P=0;for(let Q of _.bundle.tables){if(Q.table==="storage_objects"||XD.has(Q.table))continue;if(!B$(W,Q.table))continue;let B=O9(_.bundle,Q.table),G=OD(W,Q.table,D),T=ZA(I,Q.table),F=Hg(Q.table,T?.rows??[]),g=new Set(Q.rows.map((D_)=>K4(Q.table,D_))),q=Dg(W,Q.table,D),x=[],l={table:Q.table,source_rows:Q.rows.length,target_rows:T?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!B)$.push(`legacy_clock_missing:${Q.table}`);else if($g(G,B)){P+=1,l.skipped+=Q.rows.length,l.stale_skipped=Q.rows.length,$.push(`stale_table_skipped:${Q.table}:${D}:${B.logical_clock}`),X.push(l);continue}for(let D_ of Q.rows){let E_=K4(Q.table,D_),E$=F.get(E_),Q_=F4(D_,L);if(!E$){l.inserted+=1,x.push(TA(D_,J.uriMap));continue}let q$=F4(E$,S);if(q$===Q_){l.skipped+=1;continue}let N_=q.get(E_);if(q.has(E_)&&N_===q$){l.updated+=1,x.push(TA(D_,J.uriMap));continue}let y_={entityKind:Q.table,entityId:E_,localMachineId:j,remoteMachineId:D,localHash:q$,remoteHash:Q_,baseHash:G?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:N,incoming_logical_clock:B?.logical_clock??null,current_logical_clock:G?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:LD(E$),remote_row:LD(D_)}};if(BA(W,y_)){l.skipped+=1;continue}if(l.conflicts+=1,!U&&VA(W,y_))z+=1}if(!U&&x.length>0){let D_=x.map((E_)=>TA(E_,J.uriMap));Ug(W,Q.table,D_),Ig(W,Q.table,D_);for(let E_ of D_)Cg(W,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:j,entityKind:Q.table,entityId:K4(Q.table,E_),nextHash:F4(E_,g4(_.bundle.artifacts)),logicalClock:B?.logical_clock??0,bundleId:N,row:E_})}for(let[D_,E_]of q){if(g.has(D_))continue;let E$=F.get(D_);if(!E$)continue;let Q_=F4(E$,S);if(E_&&Q_!==E_){let q$={entityKind:Q.table,entityId:D_,localMachineId:j,remoteMachineId:D,localHash:Q_,remoteHash:null,baseHash:E_,metadata:{direction:_.direction,bundle_id:N,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:LD(E$),remote_row:null}};if(BA(W,q$)){l.skipped+=1;continue}if(l.conflicts+=1,!U&&VA(W,q$))z+=1;continue}if(l.deleted+=1,!U)Ng(W,Q.table,D_)}if(!U&&B)cj(W,{table:Q.table,machineId:D,logicalClock:B.logical_clock,highWaterHash:B.high_water_hash,highWaterBundleId:N,originMachineId:D,updatedByMachineId:j,lastAppliedAt:e$(),metadata:{source:"import",direction:_.direction,row_count:Q.rows.length,inserted:l.inserted,updated:l.updated,deleted:l.deleted,skipped:l.skipped,conflicts:l.conflicts}}),R+=1;X.push(l)}for(let Q of J.conflicts)if(!U){if(VA(W,{...Q,baseHash:Q.baseHash??null,metadata:{...Q.metadata,bundle_id:N}}))z+=1}let O=X.reduce((Q,B)=>Q+B.inserted,0),Y=X.reduce((Q,B)=>Q+B.conflicts,0)+J.result.conflicts;if(!U)wg(W,{bundle:_.bundle,bundleId:N,contentHash:E,sourceMachineId:D,targetMachineId:j,direction:_.direction,status:Y===0?"applied":"conflicted",tableResults:X,conflicts:Y,artifacts:J.result});return{ok:Y===0,protocol_version:r6,min_protocol_version:c6,dry_run:U,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:r_(W),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:X,artifacts:J.result,conflicts_created:z,bundle_id:N,replayed:!1,clocks:{advanced:R,stale_tables:P},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${O} row(s), copied ${J.result.copied} artifact(s), ${Y} conflict(s)`}}finally{W.close()}}function B9(_){c(_.dbPath);let $=v(_.dbPath),U=e$(_.now);try{let j=_.topology?Kg($,_.topology,U):0,D=Y9($),N=K_(Pg($)),E=_.machineId??_.topology?.local_machine_id??"unknown",I=K_(_.storage.artifact_store.uri_prefix),W=K_(_.workspaceHome),J=SD(m0({machine_id:E,scope:_.scope,workspace_home:W,sqlite_schema_version:r_($),artifact_root_uri:I,tables:D,artifacts:N})),L={id:KA("syncsnap"),machine_id:E,scope:_.scope,workspace_home:W,sqlite_schema_version:r_($),artifact_root_uri:I,content_hash:J,tables_json:JSON.stringify(D),artifact_hashes_json:JSON.stringify(N),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(L.id,L.machine_id,L.scope,L.workspace_home,L.sqlite_schema_version,L.artifact_root_uri,L.content_hash,L.tables_json,L.artifact_hashes_json,L.created_at);let W=new Map;for(let g of TX($,FX()).filter((z)=>!sD.has(z))){let z=VX($,g).map((X)=>F_(X)),G=RI(g,z,W),J=eD($,g,j),P=J?.high_water_hash===G?J.logical_clock:(J?.logical_clock??0)+1;QI($,{table:g,machineId:j,logicalClock:P,highWaterHash:G,highWaterBundleId:L.id,originMachineId:J?.origin_machine_id??j,updatedByMachineId:j,lastAppliedAt:D,metadata:{source:"snapshot",row_count:z.length},now:D})}return{ok:!0,snapshot:{...L,tables:U,artifact_hashes:E},machines_upserted:I,message:`Recorded sync snapshot ${L.id}`}}finally{$.close()}}function rX(_){c(_.dbPath);let $=w(_.dbPath);try{let D=$.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),I=$.query("SELECT * FROM knowledge_sync_snapshots ORDER BY created_at DESC LIMIT 1").get()??null,U=$.query("SELECT status, COUNT(*) AS count FROM knowledge_sync_conflicts GROUP BY status ORDER BY status").all(),E=$.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),j=xF($),N=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,O=U.reduce((L,W)=>L+W.count,0),S=U.filter((L)=>L.status!=="resolved"&&L.status!=="ignored").reduce((L,W)=>L+W.count,0);return{ok:!0,scope:_.scope,workspace_home:F_(_.workspaceHome),sqlite_schema_version:r_($),local_machine_id:_.localMachineId??null,machines:{total:D.length,rows:F_(D)},snapshots:{total:gI($,"knowledge_sync_snapshots"),latest:F_(I)},changes:{total:gI($,"knowledge_sync_changes"),by_operation:E},clocks:{total:j.length,rows:j},imports:{total:gI($,"knowledge_sync_imports"),latest:F_(N)},conflicts:{total:O,by_status:U,open:S},table_counts:HX($),message:`${D.length} machine(s), ${S} open sync conflict(s)`}}finally{$.close()}}function $A(_){return{..._,metadata:YI(_.metadata_json,{})}}function FI(_,$){c(_);let D=w(_);try{let I=D.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return I?$A(I):null}finally{D.close()}}function fX(_,$={}){c(_);let D=w(_),I=Math.max(1,Math.min($.limit??50,200));try{return($.status?D.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all($.status,I):D.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(I)).map($A)}finally{D.close()}}function TV(_){return GI.includes(_)?_:null}function FV(_,$){let D=TV($.entity_kind);if(!D||!z$(_,D))return null;let I=MX(D,$.entity_id);if(!I)return null;let U=ZX(D);return _.query(`SELECT * FROM ${O$(D)} WHERE ${U} LIMIT 1`).get(...I)}function VV(_,$){for(let D of $){let I=_[D];if(I&&typeof I==="object"&&!Array.isArray(I))return tD(I)}return null}function GX(_,$){if(typeof $!=="string")return;let D=$.trim();if(!D)return;if(D.startsWith("open-files://")||D.startsWith("s3://")||D.startsWith("file://")||D.startsWith("https://")||D.startsWith("http://"))_.add(D)}function p2(_,$=new Set,D=0){if(D>8||_===null||_===void 0)return $;if(typeof _==="string")return GX($,_),$;if(Array.isArray(_)){for(let I of _)p2(I,$,D+1);return $}if(typeof _==="object")for(let[I,U]of Object.entries(_)){if(I==="source_ref"||I==="source_uri"||I==="artifact_uri"||I.endsWith("_uri"))GX($,U);p2(U,$,D+1)}return $}function xX(_){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((D,I)=>{$.push({id:`source-${I+1}`,kind:D.startsWith("file://")||D.startsWith("s3://")?"artifact":"source_ref",ref:D,hash:null,quote:null})}),$}function uX(_,$){let D=FI(_,$);if(!D)throw Error(`Sync conflict not found: ${$}`);c(_);let I=w(_);try{let U=tD(FV(I,D)),E=VV(D.metadata,["remote_row","source_row","incoming_row"]),N=[...p2({conflict:{entity_kind:D.entity_kind,entity_id:D.entity_id,metadata:D.metadata},local_row:U,remote_row:E})].slice(0,25),O=[{name:"knowledge_sync_conflict_get",input:{id:$},output_summary:`${D.entity_kind}:${D.entity_id} status=${D.status}`},{name:"knowledge_catalog_row_get",input:{table:D.entity_kind,key:D.entity_id},output_summary:U?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:$},output_summary:`${N.length} source/artifact ref(s) found`}];return{conflict:D,local_row:U,remote_row:E,source_refs:N,citations:xX({conflict:D,localRow:U,remoteRow:E,sourceRefs:N}),read_only_tools:O}}finally{I.close()}}function $U(_,$){let D=FI(_,$);if(!D)throw Error(`Sync conflict not found: ${$}`);let I=D.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",U=[`Conflict ${D.id} affects ${D.entity_kind}:${D.entity_id}.`,`Local machine ${D.local_machine_id} has ${D.local_hash??"unknown hash"}.`,`Remote machine ${D.remote_machine_id} has ${D.remote_hash??"unknown hash"}.`].join(" "),E=["Review this knowledge sync conflict before any durable write.",`Entity: ${D.entity_kind}:${D.entity_id}`,`Local machine/hash: ${D.local_machine_id} / ${D.local_hash??"unknown"}`,`Remote machine/hash: ${D.remote_machine_id} / ${D.remote_hash??"unknown"}`,`Base hash: ${D.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(D.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` -`);return{ok:!0,conflict:D,requires_approval:!0,mode:"deterministic",proposed_strategy:I,summary:U,merge_prompt:E,proposed_patch:null,citations:xX({conflict:D,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:D.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${D.id}`}}function yX(_,$){c(_);let D=w(_),I=d$();try{let U=D.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!U)throw Error(`Sync conflict not found: ${$.id}`);D.query(` + `).run(L.id,L.machine_id,L.scope,L.workspace_home,L.sqlite_schema_version,L.artifact_root_uri,L.content_hash,L.tables_json,L.artifact_hashes_json,L.created_at);let S=new Map;for(let X of L9($,S9()).filter((z)=>!XD.has(z))){let z=P9($,X).map((Y)=>K_(Y)),R=hj(X,z,S),P=OD($,X,E),O=P?.high_water_hash===R?P.logical_clock:(P?.logical_clock??0)+1;cj($,{table:X,machineId:E,logicalClock:O,highWaterHash:R,highWaterBundleId:L.id,originMachineId:P?.origin_machine_id??E,updatedByMachineId:E,lastAppliedAt:U,metadata:{source:"snapshot",row_count:z.length},now:U})}return{ok:!0,snapshot:{...L,tables:D,artifact_hashes:N},machines_upserted:j,message:`Recorded sync snapshot ${L.id}`}}finally{$.close()}}function F9(_){c(_.dbPath);let $=v(_.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(),N=$.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),E=eK($),I=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,W=D.reduce((L,S)=>L+S.count,0),J=D.filter((L)=>L.status!=="resolved"&&L.status!=="ignored").reduce((L,S)=>L+S.count,0);return{ok:!0,scope:_.scope,workspace_home:K_(_.workspaceHome),sqlite_schema_version:r_($),local_machine_id:_.localMachineId??null,machines:{total:U.length,rows:K_(U)},snapshots:{total:xj($,"knowledge_sync_snapshots"),latest:K_(j)},changes:{total:xj($,"knowledge_sync_changes"),by_operation:N},clocks:{total:E.length,rows:E},imports:{total:xj($,"knowledge_sync_imports"),latest:K_(I)},conflicts:{total:W,by_status:D,open:J},table_counts:Y9($),message:`${U.length} machine(s), ${J} open sync conflict(s)`}}finally{$.close()}}function HA(_){return{..._,metadata:rj(_.metadata_json,{})}}function dj(_,$){c(_);let U=v(_);try{let j=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return j?HA(j):null}finally{U.close()}}function K9(_,$={}){c(_);let U=v(_),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(HA)}finally{U.close()}}function xg(_){return uj.includes(_)?_:null}function yg(_,$){let U=xg($.entity_kind);if(!U||!B$(_,U))return null;let j=z9(U,$.entity_id);if(!j)return null;let D=X9(U);return _.query(`SELECT * FROM ${z$(U)} WHERE ${D} LIMIT 1`).get(...j)}function ug(_,$){for(let U of $){let j=_[U];if(j&&typeof j==="object"&&!Array.isArray(j))return LD(j)}return null}function E9(_,$){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 FA(_,$=new Set,U=0){if(U>8||_===null||_===void 0)return $;if(typeof _==="string")return E9($,_),$;if(Array.isArray(_)){for(let j of _)FA(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"))E9($,D);FA(D,$,U+1)}return $}function g9(_){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 M9(_,$){let U=dj(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);c(_);let j=v(_);try{let D=LD(yg(j,U)),N=ug(U.metadata,["remote_row","source_row","incoming_row"]),I=[...FA({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:D,remote_row:N})].slice(0,25),W=[{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:`${I.length} source/artifact ref(s) found`}];return{conflict:U,local_row:D,remote_row:N,source_refs:I,citations:g9({conflict:U,localRow:D,remoteRow:N,sourceRefs:I}),read_only_tools:W}}finally{j.close()}}function RD(_,$){let U=dj(_,$);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(" "),N=["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:N,proposed_patch:null,citations:g9({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 Z9(_,$){c(_);let U=v(_),j=e$();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 = ?, @@ -942,27 +942,27 @@ ${z}`;else{let{generateText:Q}=await import("ai"),F=await lD(E,{config:$.config, approved_by = ?, resolved_at = ? WHERE id = ? - `).run($.strategy,$.proposedPatchUri??U.proposed_patch_uri,$.approvedBy,I,$.id);let E=D.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!E)throw Error(`Sync conflict not found after resolve: ${$.id}`);return $A(E)}finally{D.close()}}function PP(_){let D=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(D*1.25))}function JZ(_){let $=w(_.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 rG(_){let $=w(_.dbPath);try{$.run(`UPDATE runs + `).run($.strategy,$.proposedPatchUri??D.proposed_patch_uri,$.approvedBy,j,$.id);let N=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!N)throw Error(`Sync conflict not found after resolve: ${$.id}`);return HA(N)}finally{U.close()}}function cO(_){let U=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function MH(_){let $=v(_.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 FY(_){let $=v(_.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 zP(_){let $=w(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${fG()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function PZ(_,$,D,I){let U=w(_);try{T0(U,{...D,run_id:$,created_at:I})}finally{U.close()}}function zZ(_){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: + WHERE id = ?`,[_.status,_.provider,_.model,_.usage.input_tokens+_.usage.output_tokens,_.usage.cost_usd,JSON.stringify(_.metadata),_.now,_.runId])}finally{$.close()}}function mO(_){let $=v(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`event_${KY()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function ZH(_,$,U,j){let D=v(_);try{v0(D,{...U,run_id:$,created_at:j})}finally{D.close()}}function HH(_){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 gZ(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function XZ(_,$){let D=_.kind==="choose_local"||_.kind==="choose_remote"||_.kind==="no_op"||_.kind==="custom"||_.kind==="manual_merge"?_.kind:"manual_merge";return{kind:D,target:typeof _.target==="string"&&_.target?_.target:$,strategy:typeof _.strategy==="string"&&_.strategy?_.strategy:D.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 GZ(_){let $=`${_.conflict.entity_kind}:${_.conflict.entity_id}`,D=Boolean(_.local_row&&_.remote_row);return{kind:D?"manual_merge":"custom",target:$,strategy:D?"manual-merge":"review-and-select",summary:D?`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:D?[`--- ${$} 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 xG(_){let $=(_.now??new Date).toISOString();c(_.dbPath);let D=$U(_.dbPath,_.id),I=uX(_.dbPath,_.id),U=T$(_.modelRef??"default",_.config),E=f_(U),j=`run_${fG()}`,N=zZ({deterministic:D,evidence:I});JZ({dbPath:_.dbPath,runId:j,prompt:N,provider:E.provider,model:E.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:I.read_only_tools.map((g)=>g.name)},now:$}),zP({dbPath:_.dbPath,runId:j,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:I.citations.length,source_refs:I.source_refs.length,read_only_tools:I.read_only_tools},now:$});let O,S,L=0.5,W={input_tokens:PP(N),output_tokens:0,cost_usd:0};if(_.fake)O=GZ(I),S=O.summary,W.output_tokens=PP(S)+PP(O.diff??"");else try{let{generateObject:g}=await import("ai"),{z}=await Promise.resolve().then(() => (wG(),vG)),G=await lD(U,{config:_.config,env:_.env}),J=z.object({summary:z.string(),confidence:z.number().min(0).max(1),proposed_patch:z.object({kind:z.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:z.string(),strategy:z.string(),summary:z.string(),diff:z.string().nullable(),metadata:z.record(z.string(),z.unknown()).default({})})}),P=await g({model:G,schema:J,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:N});S=P.object.summary,L=gZ(P.object.confidence),O=XZ(P.object.proposed_patch,`${I.conflict.entity_kind}:${I.conflict.entity_id}`);let X=L4({provider:E.provider,model:E.model,usage:P.usage,providerMetadata:P.providerMetadata});W={input_tokens:X.input_tokens,output_tokens:X.output_tokens,cost_usd:X.cost_usd},PZ(_.dbPath,j,X,$)}catch(g){throw zP({dbPath:_.dbPath,runId:j,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:g instanceof Error?g.message:String(g)},now:$}),rG({dbPath:_.dbPath,runId:j,status:"failed",provider:E.provider,model:E.model,usage:W,metadata:{conflict_id:_.id,mode:"ai",error:g instanceof Error?g.message:String(g)},now:$}),g}return rG({dbPath:_.dbPath,runId:j,status:_.fake?"dry_run":"completed",provider:E.provider,model:E.model,usage:W,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:L,proposed_strategy:O.strategy,citation_count:I.citations.length},now:$}),zP({dbPath:_.dbPath,runId:j,level:"info",event:_.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:O.strategy,confidence:L,patch_kind:O.kind},now:$}),{...D,mode:"ai",proposed_strategy:O.strategy,summary:S,proposed_patch:O,citations:I.citations,confidence:L,agent:{generated:!0,provider:E.provider,model:E.model,run_id:j,read_only_tools:I.read_only_tools,usage:W},warnings:[...D.warnings,...I.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as RZ,randomUUID as YZ}from"crypto";import{existsSync as QZ,readFileSync as KZ}from"fs";import{basename as TZ}from"path";function fj(_,$){return`${_}_${RZ("sha256").update($).digest("hex").slice(0,20)}`}function ID(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function g_(_){return typeof _==="string"&&_.length>0?_:void 0}function FZ(_){let $=g_(_.source_ref)??g_(_.source_uri)??g_(_.uri);if($)return $;let D=g_(_.file_id);if(D){let E=g_(_.revision_id)??g_(_.revision),j=`open-files://file/${encodeURIComponent(D)}`;return E?`${j}/revision/${encodeURIComponent(E)}`:j}let I=g_(_.source_id),U=g_(_.path);if(I&&U)return`open-files://source/${encodeURIComponent(I)}/path/${encodeURIComponent(U)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function VZ(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function BZ(_){return g_(_.hash)??g_(_.checksum)??g_(_.sha256)??null}function MZ(_,$,D){return g_(_.revision_id)??g_(_.revision)??g_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??D??null}function ZZ(_){return g_(_.previous_revision_id)??g_(_.previous_revision)??g_(_.previous_version_id)??null}function HZ(_){return(g_(_.event_type)??g_(_.event)??g_(_.type)??g_(_.action)??g_(_.change_type)??"changed").toLowerCase()}function bZ(_){let $=g_(_.path);return g_(_.title)??g_(_.name)??($?TZ($):null)}function qZ(_,$){let D=FZ(_),I=J$(D),U=BZ(_);return{raw:_,eventType:HZ(_),sourceRef:D,sourceUri:VZ(D,I),kind:I.kind,title:bZ(_),revision:MZ(_,I,U),previousRevision:ZZ(_),hash:U,status:g_(_.status)?.toLowerCase()??null,updatedAt:g_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function kZ(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let D=JSON.parse($);if(!Array.isArray(D))throw Error("Outbox array parse failed.");return D.map((I)=>{let U=ID(I);if(!U)throw Error("Outbox array entries must be objects.");return U})}if($.startsWith("{"))try{let D=JSON.parse($),I=ID(D);if(!I)throw Error("Outbox object parse failed.");if(Array.isArray(I.events))return I.events.map((U)=>{let E=ID(U);if(!E)throw Error("Outbox events entries must be objects.");return E});if("source_ref"in I||"source_uri"in I||"file_id"in I)return[I]}catch(D){let I=$.split(/\r?\n/).filter((U)=>U.trim().length>0);if(I.length<=1)throw D;return I.map((U)=>{let E=ID(JSON.parse(U));if(!E)throw Error("Outbox JSONL entries must be objects.");return E})}return $.split(/\r?\n/).filter((D)=>D.trim().length>0).map((D)=>{let I=ID(JSON.parse(D));if(!I)throw Error("Outbox JSONL entries must be objects.");return I})}async function CZ(_,$,D){let I=new URL(_),U=I.hostname,E=decodeURIComponent(I.pathname.replace(/^\/+/,""));if(!U||!E)throw Error(`Invalid S3 outbox URI: ${_}`);if(D)Z6(_,D);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),S=$?.storage.type==="s3"&&$.storage.s3?.bucket===U?$.storage.s3:void 0,W=await new j({region:S?.region,credentials:S?.profile?O({profile:S.profile}):void 0,maxAttempts:S?.max_attempts}).send(new N({Bucket:U,Key:E}));if(!W.Body)return"";return await W.Body.transformToString()}async function vZ(_,$,D){if(_.startsWith("s3://"))return CZ(_,$,D);if(!QZ(_))throw Error(`Outbox not found: ${_}`);return KZ(_,"utf8")}function uG(_,$){let D={};if(_)try{D=ID(JSON.parse(_))??{}}catch{D={}}return JSON.stringify({...D,...$})}function wZ(_,$,D){let I=fj("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`)}function qH(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function kH(_,$){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 CH(_){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 gY(_){let $=(_.now??new Date).toISOString();c(_.dbPath);let U=RD(_.dbPath,_.id),j=M9(_.dbPath,_.id),D=k$(_.modelRef??"default",_.config),N=c_(D),E=`run_${KY()}`,I=HH({deterministic:U,evidence:j});MH({dbPath:_.dbPath,runId:E,prompt:I,provider:N.provider,model:N.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:j.read_only_tools.map((X)=>X.name)},now:$}),mO({dbPath:_.dbPath,runId:E,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 W,J,L=0.5,S={input_tokens:cO(I),output_tokens:0,cost_usd:0};if(_.fake)W=CH(j),J=W.summary,S.output_tokens=cO(J)+cO(W.diff??"");else try{let{generateObject:X}=await import("ai"),{z}=await Promise.resolve().then(() => (BY(),VY)),R=await WD(D,{config:_.config,env:_.env}),P=z.object({summary:z.string(),confidence:z.number().min(0).max(1),proposed_patch:z.object({kind:z.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:z.string(),strategy:z.string(),summary:z.string(),diff:z.string().nullable(),metadata:z.record(z.string(),z.unknown()).default({})})}),O=await X({model:R,schema:P,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:I});J=O.object.summary,L=qH(O.object.confidence),W=kH(O.object.proposed_patch,`${j.conflict.entity_kind}:${j.conflict.entity_id}`);let Y=V4({provider:N.provider,model:N.model,usage:O.usage,providerMetadata:O.providerMetadata});S={input_tokens:Y.input_tokens,output_tokens:Y.output_tokens,cost_usd:Y.cost_usd},ZH(_.dbPath,E,Y,$)}catch(X){throw mO({dbPath:_.dbPath,runId:E,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:X instanceof Error?X.message:String(X)},now:$}),FY({dbPath:_.dbPath,runId:E,status:"failed",provider:N.provider,model:N.model,usage:S,metadata:{conflict_id:_.id,mode:"ai",error:X instanceof Error?X.message:String(X)},now:$}),X}return FY({dbPath:_.dbPath,runId:E,status:_.fake?"dry_run":"completed",provider:N.provider,model:N.model,usage:S,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:L,proposed_strategy:W.strategy,citation_count:j.citations.length},now:$}),mO({dbPath:_.dbPath,runId:E,level:"info",event:_.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:W.strategy,confidence:L,patch_kind:W.kind},now:$}),{...U,mode:"ai",proposed_strategy:W.strategy,summary:J,proposed_patch:W,citations:j.citations,confidence:L,agent:{generated:!0,provider:N.provider,model:N.model,run_id:E,read_only_tools:j.read_only_tools,usage:S},warnings:[...U.warnings,...j.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as bH,randomUUID as wH}from"crypto";import{existsSync as vH,readFileSync as fH}from"fs";import{basename as xH}from"path";function jI(_,$){return`${_}_${bH("sha256").update($).digest("hex").slice(0,20)}`}function XU(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function Y_(_){return typeof _==="string"&&_.length>0?_:void 0}function yH(_){let $=Y_(_.source_ref)??Y_(_.source_uri)??Y_(_.uri);if($)return $;let U=Y_(_.file_id);if(U){let N=Y_(_.revision_id)??Y_(_.revision),E=`open-files://file/${encodeURIComponent(U)}`;return N?`${E}/revision/${encodeURIComponent(N)}`:E}let j=Y_(_.source_id),D=Y_(_.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 uH(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function hH(_){return Y_(_.hash)??Y_(_.checksum)??Y_(_.sha256)??null}function rH(_,$,U){return Y_(_.revision_id)??Y_(_.revision)??Y_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??null}function cH(_){return Y_(_.previous_revision_id)??Y_(_.previous_revision)??Y_(_.previous_version_id)??null}function mH(_){return(Y_(_.event_type)??Y_(_.event)??Y_(_.type)??Y_(_.action)??Y_(_.change_type)??"changed").toLowerCase()}function nH(_){let $=Y_(_.path);return Y_(_.title)??Y_(_.name)??($?xH($):null)}function dH(_,$){let U=yH(_),j=T$(U),D=hH(_);return{raw:_,eventType:mH(_),sourceRef:U,sourceUri:uH(U,j),kind:j.kind,title:nH(_),revision:rH(_,j,D),previousRevision:cH(_),hash:D,status:Y_(_.status)?.toLowerCase()??null,updatedAt:Y_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function lH(_){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=XU(j);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),j=XU(U);if(!j)throw Error("Outbox object parse failed.");if(Array.isArray(j.events))return j.events.map((D)=>{let N=XU(D);if(!N)throw Error("Outbox events entries must be objects.");return N});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 N=XU(JSON.parse(D));if(!N)throw Error("Outbox JSONL entries must be objects.");return N})}return $.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let j=XU(JSON.parse(U));if(!j)throw Error("Outbox JSONL entries must be objects.");return j})}async function iH(_,$,U){let j=new URL(_),D=j.hostname,N=decodeURIComponent(j.pathname.replace(/^\/+/,""));if(!D||!N)throw Error(`Invalid S3 outbox URI: ${_}`);if(U)y6(_,U);let[{S3Client:E,GetObjectCommand:I},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new E({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new I({Bucket:D,Key:N}));if(!S.Body)return"";return await S.Body.transformToString()}async function tH(_,$,U){if(_.startsWith("s3://"))return iH(_,$,U);if(!vH(_))throw Error(`Outbox not found: ${_}`);return fH(_,"utf8")}function MY(_,$){let U={};if(_)try{U=XU(JSON.parse(_))??{}}catch{U={}}return JSON.stringify({...U,...$})}function oH(_,$,U){let j=jI("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`,[I,$.sourceUri,$.kind,$.title,JSON.stringify({source_ref:$.sourceRef,source_uri:$.sourceUri,status:$.status,last_outbox_event:$.eventType}),JSON.stringify($.acl??{}),D,$.updatedAt]);let U=_.query("SELECT id, metadata_json, acl_json FROM sources WHERE uri = ?").get($.sourceUri);if(!U)throw Error(`Failed to upsert source for outbox event: ${$.sourceUri}`);let E={source_ref:$.sourceRef,source_uri:$.sourceUri,last_outbox_event:$.eventType,last_outbox_at:$.updatedAt};if($.status)E.status=$.status;if(g_($.raw.path))E.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 = ?",[uG(U.metadata_json,E),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,U.id]),U.id}function rZ(_,$,D,I){if(!D.revision)return null;let U=fj("rev",`${$}\x00${D.revision}`),E={source_ref:D.sourceRef,source_uri:D.sourceUri,status:D.status,last_outbox_event:D.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 N={source_ref:$.sourceRef,source_uri:$.sourceUri,last_outbox_event:$.eventType,last_outbox_at:$.updatedAt};if($.status)N.status=$.status;if(Y_($.raw.path))N.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 = ?",[MY(D.metadata_json,N),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function pH(_,$,U,j){if(!U.revision)return null;let D=jI("rev",`${$}\x00${U.revision}`),N={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`,[U,$,D.revision,D.hash,g_(D.raw.extracted_text_ref)??null,JSON.stringify(E),I]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,D.revision)?.id??null}function fZ(_,$,D){if(D.previousRevision){let I=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,D.previousRevision).map((U)=>U.id);if(I.length>0)return I}if(D.revision)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,D.revision).map((I)=>I.id);if(D.hash)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all($,D.hash).map((I)=>I.id);return _.query("SELECT id FROM source_revisions WHERE source_id = ?").all($).map((I)=>I.id)}function xZ(_,$){let D=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),I=0,U=0;for(let j of D){let N=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(j.id);I+=N?.n??0;let O=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(j.id);U+=O?.n??0,_.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[j.id]),_.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[j.id]),_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[j.id])}_.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]);let E=_.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get($);return _.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[uG(E?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:D.length,embeddingsDeleted:I,vectorEntriesDeleted:U}}function uZ(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function yZ(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function hZ(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function yG(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)N6(_.dbPath,_.safetyPolicy);c(_.dbPath);let D=await vZ(_.input,_.config,_.safetyPolicy),I=kZ(D),U=w(_.dbPath),E=`run_${YZ()}`;try{return U.transaction(()=>{U.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[E,"open-files-outbox",_.input,"completed","local","open-files-outbox",JSON.stringify({path:_.input,events:I.length}),$,$]);let j=new Set,N=new Set,O=0,S=0,L=0,W=0,g=0,z=0,G=0;return R_(U,{event_type:"source_read",action:_.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:_.input,decision:"allow",metadata:{events:I.length,read_only:!0},created_at:$}),I.forEach((J,P)=>{let X=qZ(J,$),R=wZ(U,X,$);j.add(R);let T=rZ(U,R,X,$);if(T)N.add(T);let Y=fZ(U,R,X);for(let Q of Y){N.add(Q);let F=xZ(U,Q);O+=F.chunksDeleted,S+=F.embeddingsDeleted,L+=F.vectorEntriesDeleted,W+=1}if(uZ(X.eventType,X.status))g+=1;if(yZ(X.eventType))z+=1;if(hZ(X.eventType)||X.acl!==void 0)G+=1;U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[fj("evt",`${E}\x00${P}\x00${X.sourceRef}\x00${X.eventType}`),E,"info",X.eventType,JSON.stringify({source_ref:X.sourceRef,source_uri:X.sourceUri,revision:X.revision,hash:X.hash,status:X.status,affected_revisions:Y.length}),X.updatedAt])}),U.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[fj("usage",E),E,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),R_(U,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:E,events:I.length,sources:j.size,revisions:N.size,chunks_deleted:O,embeddings_deleted:S,vector_entries_deleted:L},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:E,events_seen:I.length,sources_touched:j.size,revisions_touched:N.size,chunks_deleted:O,embeddings_deleted:S,vector_entries_deleted:L,stale_revisions:W,deleted_sources:g,moved_sources:z,permission_updates:G}})()}finally{U.close()}}import{spawnSync as nG}from"child_process";import{hostname as d4,platform as dG,userInfo as cZ}from"os";var nZ=1,dZ="@hasna/machines",mZ="@hasna/machines/consumer";function m(_){return typeof _==="string"&&_.length>0?_:null}function m6(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function d_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function nj(_){return typeof _==="boolean"?_:null}function lZ(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function dj(_=dG()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function L1(_){let $=nG("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function ED(_,$){return await _($)}async function W1(_,$){return(await ED($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function iZ(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function hG(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function tZ(_,$){let D=new Map;if(!await W1("tailscale",_))return $.push("tailscale_not_available"),{peers:D,selfKey:null};let I=await ED(_,"tailscale status --json");if(I.exitCode!==0)return $.push(`tailscale_status_failed:${I.stderr.trim()||I.exitCode}`),{peers:D,selfKey:null};let U=iZ(I.stdout);if(!U)return $.push("tailscale_status_invalid_json"),{peers:D,selfKey:null};let E=(j)=>{let N=hG(j);if(N&&j)D.set(N,j)};E(U.Self);for(let j of Object.values(U.Peer??{}))E(j);return{peers:D,selfKey:hG(U.Self)}}function oZ(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??d4()}function pZ(_){let $=_.machineId===_.localMachineId||_.machineId===d4(),D=_.peer?.DNSName?.replace(/\.$/,"")??null,I=D??_.peer?.TailscaleIPs?.[0]??null,U=[];if($)U.push({kind:"local",target:"localhost",reachable:!0});if(I)U.push({kind:"tailscale",target:I,reachable:_.peer?.Online??null});let E=U.find((j)=>j.kind==="local")??U.find((j)=>j.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?d4():_.machineId),local:$,platform:_.peer?.OS?dj(_.peer.OS):$?dj():null,os:_.peer?.OS??($?dG():null),user:$?cZ().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:D,ips:_.peer?.TailscaleIPs??[],online:_.peer?.Online??null,active:_.peer?.Active??null,last_seen:_.peer?.LastSeen??null},ssh:{address:null,route:E?.kind==="local"?"local":E?.kind==="tailscale"?"tailscale":"unknown",command_target:E?.target??null},route_hints:U,tags:[],metadata:{},source:"local"}}function eZ(_){if(!Array.isArray(_))return[];return _.map(($)=>{let D=d_($),I=m(D.kind)??"unknown";return{kind:I==="local"||I==="lan"||I==="tailscale"||I==="ssh"?I:"unknown",target:m(D.target)??"",reachable:nj(D.reachable)}}).filter(($)=>$.target.length>0)}function aZ(_,$){let D=m(_.machine_id)??m(_.hostname)??"unknown",I=d_(_.tailscale),U=d_(_.ssh),E=m(_.heartbeat_status),j=m(U.route);return{machine_id:D,hostname:m(_.hostname),local:D===$,platform:m(_.platform),os:m(_.os),user:m(_.user),workspace_path:m(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:E==="online"||E==="offline"?E:"unknown",last_heartbeat_at:m(_.last_heartbeat_at),tailscale:{dns_name:m(I.dns_name),ips:m6(I.ips),online:nj(I.online),active:nj(I.active),last_seen:m(I.last_seen)},ssh:{address:m(U.address),route:j==="local"||j==="lan"||j==="tailscale"?j:"unknown",command_target:m(U.command_target)},route_hints:eZ(_.route_hints),tags:m6(_.tags),metadata:d_(_.metadata),source:"open-machines"}}function sZ(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function L$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function J1(_){return _.adapterMode??"auto"}function mG(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let D=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof D==="number"?D:null}function mj(_){return typeof _.schema_version==="number"?_.schema_version:null}function P1(_){return typeof _==="number"&&_>nZ?_:null}function lj(_){return{package:dZ,entrypoint:mZ,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function A_(_,$="adapter_disabled"){return lj({mode:_,implementation:"disabled",available:!1,error:$})}function ij(_,$){let D=P1(mG($));if(!D)return null;return lj({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${D}`,contractVersion:D})}function tj(_){return lj({mode:_,implementation:"cli",available:!0})}function oj(_,$){return lj({mode:_,implementation:"sdk",available:!0,contractVersion:mG($)})}function pj(_){try{return JSON.parse(_)}catch{return null}}function m4(_){return`'${_.replace(/'/g,"'\\''")}'`}function ej(_){return["machines",..._].map(m4).join(" ")}function aj(_){return _==="local"||_==="localhost"||_===d4()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function _H(_,$){let D=aj(_),I=D?$:`ssh ${m4(_)} ${m4($)}`,U=nG("bash",["-c",I],{encoding:"utf8",env:process.env});return{stdout:U.stdout||"",stderr:U.stderr||"",exitCode:U.status??1,source:D?"local":"ssh"}}async function lG(_,$,D){return await _($,D)}function c4(_,$){if($)return"ok";return _===!1?"warn":"fail"}function n4(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function $H(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function DH(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function iG(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function tG(_){let $={};for(let D of _.split(/\r?\n/)){let I=D.indexOf("=");if(I<=0)continue;$[D.slice(0,I)]=D.slice(I+1)}return $}function G6(_){return{id:_.id,kind:_.kind,status:_.status,target:_.target,expected:_.expected??null,actual:_.actual??null,detail:_.detail,source:_.source}}async function oG(_,$,D){let I=[`cmd=${m4($.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("; "),U=await lG(D,_,I),E=tG(U.stdout);return{path:E.path||null,version:E.version?DH(E.version):null,stderr:U.stderr,source:U.source??(aj(_)?"local":"ssh")}}function cG(_){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 UH(_,$,D){let I=[`path=${m4($.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" "$(${cG("name")})"; printf "version=%s\\n" "$(${cG("version")})"; fi`].join("; "),U=await lG(D,_,I),E=tG(U.stdout);return{exists:E.exists==="yes",packageJson:E.package_json==="yes",packageName:E.package_name||null,version:E.version||null,stderr:U.stderr,source:U.source??(aj(_)?"local":"ssh")}}async function IH(_,$,D){let I=await oG(_,$,D),U=Boolean(I.path),E=[G6({id:`command:${n4($.command)}:path`,kind:"command",status:c4($.required,U),target:$.command,expected:"available",actual:I.path??"missing",detail:U?`found at ${I.path}`:I.stderr||"command missing",source:I.source})];if($.expectedVersion){let j=iG(I.version??"");E.push(G6({id:`command:${n4($.command)}:version`,kind:"command",status:j===$.expectedVersion?"ok":c4($.required,!1),target:$.command,expected:$.expectedVersion,actual:j??I.version??"missing",detail:j?`version output: ${I.version}`:"version unavailable",source:I.source}))}return E}async function EH(_,$,D){let I=$.command??$H($.name),U=await oG(_,{command:I,expectedVersion:$.expectedVersion,required:$.required},D),E=Boolean(U.path),j=[G6({id:`package:${n4($.name)}:command`,kind:"package",status:c4($.required,E),target:$.name,expected:I,actual:U.path??"missing",detail:E?`${I} found at ${U.path}`:`${I} command missing`,source:U.source})];if($.expectedVersion){let N=iG(U.version??"");j.push(G6({id:`package:${n4($.name)}:version`,kind:"package",status:N===$.expectedVersion?"ok":c4($.required,!1),target:$.name,expected:$.expectedVersion,actual:N??U.version??"missing",detail:N?`version output: ${U.version}`:"version unavailable",source:U.source}))}return j}async function jH(_,$,D){let I=await UH(_,$,D),U=$.label??$.path,E=[G6({id:`workspace:${n4(U)}:path`,kind:"workspace",status:c4($.required,I.exists),target:U,expected:$.path,actual:I.exists?"exists":"missing",detail:I.exists?`workspace exists at ${$.path}`:I.stderr||`workspace missing at ${$.path}`,source:I.source})];if($.expectedPackageName)E.push(G6({id:`workspace:${n4(U)}:package-name`,kind:"workspace",status:I.packageName===$.expectedPackageName?"ok":c4($.required,!1),target:U,expected:$.expectedPackageName,actual:I.packageName??(I.packageJson?"missing-name":"missing-package-json"),detail:I.packageJson?"package.json inspected":"package.json missing",source:I.source}));if($.expectedVersion)E.push(G6({id:`workspace:${n4(U)}:version`,kind:"workspace",status:I.version===$.expectedVersion?"ok":c4($.required,!1),target:U,expected:$.expectedVersion,actual:I.version??(I.packageJson?"missing-version":"missing-package-json"),detail:I.packageJson?"package.json inspected":"package.json missing",source:I.source}));return E}function pG(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:s$,workspace_home:$.knowledge?.workspace_home??null},message:sZ(_.source,_.machines.length)}}async function sj(){try{return await import("@hasna/machines/consumer")}catch(_){if(L$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function eG(_,$,D){let I=d_(_);if(P1(mj(I)))return null;let U=Array.isArray(I.machines)?I.machines:null,E=m(I.local_machine_id);if(!U||!E)return null;let j={ok:!0,source:"open-machines",generated_at:m(I.generated_at)??($.now??new Date).toISOString(),local_machine_id:E,local_hostname:m(I.local_hostname)??d4(),current_platform:m(I.current_platform)??dj(),machines:U.map((N)=>aZ(N,E)),warnings:m6(I.warnings),adapter:D};return pG(j,$)}function xj(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function aG(_){let $=d_(_),D=m($.observed_at),I=m($.source_authority);if(!D||!I)return null;return{observed_at:D,verified_at:m($.verified_at),expires_at:m($.expires_at),ttl_ms:lZ($.ttl_ms),source_authority:I,confidence:m($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:m6($.reasons)}}function sG(_,$){let D=d_(_);if(P1(mj(D)))return null;let I=m(D.target)??m(D.command_target);if(D.ok!==!0||!I)return null;let U=typeof D.evidence==="object"&&D.evidence!==null?D.evidence:null,E=typeof U?.selected_hint==="object"&&U.selected_hint!==null?U.selected_hint:null;return{target:I,route:xj(D.route),targetKind:xj(E?.kind)??xj(D.source)??xj(D.route),confidence:m(D.confidence),source:"open-machines",adapter:$,evidence:U,cacheability:aG(D.cacheability),warnings:m6(D.warnings)}}function gP(_){let $=d_(_);return{path:m($.path),source:m($.source)??"unresolved"}}function NH(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let D=d_($),I=m(D.id),U=m(D.status),E=m(D.severity),j=m(D.message);if(!I||!U||!E||!j)return[];return[{id:I,status:U,severity:E,message:j,path:m(D.path),source:m(D.source)??"unknown",path_exists:nj(D.path_exists)}]})}function AH(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let D=d_($),I=m(D.id),U=m(D.reason),E=m6(D.command),j=m(D.shell_command),N=m6(D.apply_command),O=m(D.apply_shell_command);if(!I||!U||!E.length||!j||!N.length||!O)return[];return[{id:I,reason:U,command:E,shell_command:j,apply_command:N,apply_shell_command:O}]})}function OH(_){if(!(_.projectRootSource==="inferred"||_.openFilesRootSource==="inferred"||_.trustStatus==="untrusted"||_.authStatus==="unknown"||_.warnings.some((U)=>U.includes("inferred")||U.includes("untrusted")||U.includes("unknown_auth")||U.includes("missing"))))return[];let D=["machines","workspace","repair","--machine",_.requestedMachineId,"--project",_.projectId,"--repo",_.repoName,"--open-files-repo",_.openFilesRepoName??"open-files","--json"],I=[...D,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:D,shell_command:D.map(m4).join(" "),apply_command:I,apply_shell_command:I.map(m4).join(" ")}]}function _R(_,$,D){let I=d_(_);if(P1(mj(I)))return null;let U=d_(I.paths),E=d_(I.project),j=d_(I.machine),N=gP(U.project_root),O=gP(U.workspace_root),S=gP(U.open_files_root);if(I.ok!==!0||!N.path)return null;let L=typeof I.evidence==="object"&&I.evidence!==null?I.evidence:null,W=m(I.requested_machine_id)??$.machineId,g=m(E.project_id)??$.projectId??"open-knowledge",z=m(E.repo_name)??$.repoName??$.projectId??"open-knowledge",G=m(j.trust_status)??"unknown",J=m(j.auth_status)??"unknown",P=m6(I.warnings),X=NH(I.diagnostics),R=AH(I.repair_hints);return{ok:!0,source:"open-machines",adapter:D,requested_machine_id:W,machine_id:m(I.machine_id),project_id:g,repo_name:z,project_root:N.path,project_root_source:N.source,workspace_root:O.path,workspace_root_source:O.source,open_files_root:S.path,open_files_root_source:S.source,trust_status:G,auth_status:J,current:j.current===!0,primary:j.primary===!0,diagnostics:X,repair_hints:R.length?R:OH({requestedMachineId:W,projectId:g,repoName:z,openFilesRepoName:$.openFilesRepoName,warnings:P,projectRootSource:N.source,openFilesRootSource:S.source,trustStatus:G,authStatus:J}),evidence:L,cacheability:aG(I.cacheability),warnings:P}}async function uj(_,$){let D=_.runner??L1;if(!await W1("machines",D))return null;let I=["topology","--json"];if(_.includeTailscale===!1)I.push("--no-tailscale");let U=await ED(D,ej(I));if(U.exitCode!==0)return null;return eG(pj(U.stdout),_,$)}async function P6(_,$){let D=[];if($.error)D.push(`open_machines_unavailable:${$.error}`);let I=_.runner??L1,U=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await tZ(I,D),E=oZ(U.selfKey),N=[...new Set([E,...U.peers.keys()])].sort().map((O)=>pZ({machineId:O,localMachineId:E,peer:U.peers.get(O)}));return pG({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:E,local_hostname:d4(),current_platform:dj(),machines:N,warnings:D,adapter:$},_)}async function $R(_={}){let $=J1(_);if($==="disabled")return await P6(_,A_($));let D=tj($);try{if($!=="cli"){let U=await(_.loadOpenMachines??sj)(),E=ij($,U);if(E)return await P6(_,E);let j=oj($,U);if(U?.discoverMachineTopology){let N=U.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),O=eG(N,_,j);if(O)return O;if($==="sdk")return await P6(_,A_($,"invalid_topology_shape"));return await uj(_,D)??await P6(_,A_($,"invalid_topology_shape"))}if($==="sdk")return await P6(_,A_($,"missing_discoverMachineTopology"));return await uj(_,D)??await P6(_,A_($,"missing_discoverMachineTopology"))}return await uj(_,D)??await P6(_,A_($,"machines_cli_unavailable"))}catch(I){if($==="sdk")return await P6(_,A_($,L$(I)));return await uj(_,D)??await P6(_,A_($,L$(I)))}}async function yj(_,$){let D=_.runner??L1;if(!await W1("machines",D))return null;let I=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)I.push("--no-tailscale");let U=await ED(D,ej(I));if(U.exitCode!==0)return null;return sG(pj(U.stdout),$)}function z6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function XP(_){let $=J1(_);if($==="disabled")return z6(_.machineId,A_($));let D=tj($);try{if($!=="cli"){let U=await(_.loadOpenMachines??sj)(),E=ij($,U);if(E)return z6(_.machineId,E);let j=oj($,U);if(U?.resolveMachineRoute){let N=sG(U.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),j);if(N)return N;if($==="sdk")return z6(_.machineId,A_($,"invalid_route_shape"));return await yj(_,D)??z6(_.machineId,A_($,"invalid_route_shape"))}if($==="sdk")return z6(_.machineId,A_($,"missing_resolveMachineRoute"));return await yj(_,D)??z6(_.machineId,A_($,"missing_resolveMachineRoute"))}return await yj(_,D)??z6(_.machineId,A_($,"machines_cli_unavailable"))}catch(I){if($==="sdk")return{...z6(_.machineId,A_($,L$(I))),warnings:[L$(I)]};return await yj(_,D)??{...z6(_.machineId,A_($,L$(I))),warnings:[L$(I)]}}}async function hj(_,$){let D=_.runner??L1;if(!await W1("machines",D))return null;let I=_.projectId??"open-knowledge",U=_.repoName??"open-knowledge",E=["workspace","resolve","--machine",_.machineId,"--project",I,"--repo",U,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)E.push("--no-tailscale");let j=await ED(D,ej(E));if(j.exitCode!==0)return null;return _R(pj(j.stdout),_,$)}function SH(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:A_(J1(_),"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 g6(_,$,D){return{ok:!1,source:"raw",adapter:D,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 _N(_){let $=SH(_);if($)return $;let D=J1(_);if(D==="disabled")return g6(_,["adapter_disabled"],A_(D));let I=tj(D);try{if(D!=="cli"){let E=await(_.loadOpenMachines??sj)(),j=ij(D,E);if(j)return g6(_,[`unsupported_contract_version:${j.contract_version}`],j);let N=oj(D,E);if(E?.resolveMachineWorkspace){let O=_R(E.resolveMachineWorkspace({machineId:_.machineId,projectId:_.projectId??"open-knowledge",repoName:_.repoName??"open-knowledge",openFilesRepoName:_.openFilesRepoName??"open-files",includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),_,N);if(O)return O;if(D==="sdk")return g6(_,["invalid_workspace_shape"],A_(D,"invalid_workspace_shape"));return await hj(_,I)??g6(_,["invalid_workspace_shape"],A_(D,"invalid_workspace_shape"))}if(D==="sdk")return g6(_,["missing_resolveMachineWorkspace"],A_(D,"missing_resolveMachineWorkspace"));return await hj(_,I)??g6(_,["missing_resolveMachineWorkspace"],A_(D,"missing_resolveMachineWorkspace"))}return await hj(_,I)??g6(_,["machines_cli_unavailable"],A_(D,"machines_cli_unavailable"))}catch(U){if(D==="sdk")return g6(_,[L$(U)],A_(D,L$(U)));return await hj(_,I)??g6(_,[L$(U)],A_(D,L$(U)))}}function DR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:s$,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 UR(_,$,D){let I=d_(_);if(P1(mj(I)))return null;let U=Array.isArray(I.checks)?I.checks:null,E=m(I.machine_id)??m(I.machineId);if(!U||!E)return null;let j=U.map((O)=>{let S=d_(O),L=m(S.status),W=m(S.kind),g=m(S.source);return G6({id:m(S.id)??"unknown",kind:W==="command"||W==="package"||W==="workspace"?W:"command",status:L==="ok"||L==="warn"||L==="fail"?L:"fail",target:m(S.target)??"unknown",expected:m(S.expected),actual:m(S.actual),detail:m(S.detail)??"",source:g==="local"||g==="ssh"||g==="open-machines"?g:"open-machines"})}),N={ok:j.filter((O)=>O.status==="ok").length,warn:j.filter((O)=>O.status==="warn").length,fail:j.filter((O)=>O.status==="fail").length};return DR({ok:N.fail===0,source:"open-machines",machine_id:E,generated_at:m(I.generated_at)??($.now??new Date).toISOString(),checks:j,summary:N,adapter:D},$)}function LH(_){if(!_.runner)return L1;return async($)=>{let D=await _.runner?.("local",$);return{stdout:D?.stdout??"",stderr:D?.stderr??"",exitCode:D?.exitCode??1}}}function WH(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function JH(_){let $=[_.expectedPackageName,_.expectedVersion].filter((I)=>Boolean(I)).join(":"),D=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${D}`:D}async function cj(_,$){let D=LH(_);if(!await W1("machines",D))return null;let I=["compatibility","--json","--machine",_.machineId??"local"];for(let E of _.commands??[])I.push("--command",E.expectedVersion?`${E.command}:${E.expectedVersion}`:E.command);for(let E of _.packages??[])I.push("--package",WH(E));for(let E of _.workspaces??[])I.push("--workspace",JH(E));let U=await ED(D,ej(I));if(U.exitCode!==0)return null;return UR(pj(U.stdout),_,$)}async function X6(_,$){let D=_.machineId??d4(),I=_.runner??_H,U=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],E=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],j=_.workspaces??[],N=[];for(let S of U)N.push(...await IH(D,S,I));for(let S of E)N.push(...await EH(D,S,I));for(let S of j)N.push(...await jH(D,S,I));if($.error)N.push(G6({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:$.error,detail:"Using knowledge local/ssh compatibility fallback",source:aj(D)?"local":"ssh"}));let O={ok:N.filter((S)=>S.status==="ok").length,warn:N.filter((S)=>S.status==="warn").length,fail:N.filter((S)=>S.status==="fail").length};return DR({ok:O.fail===0,source:"local",machine_id:D,generated_at:(_.now??new Date).toISOString(),checks:N,summary:O,adapter:$},_)}async function IR(_={}){let $=J1(_);if($==="disabled")return await X6(_,A_($));let D=tj($);try{if($!=="cli"){let U=await(_.loadOpenMachines??sj)(),E=ij($,U);if(E)return await X6(_,E);let j=oj($,U);if(U?.checkMachineCompatibility){let N=U.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),O=UR(N,_,j);if(O)return O;if($==="sdk")return await X6(_,A_($,"invalid_compatibility_shape"));return await cj(_,D)??await X6(_,A_($,"invalid_compatibility_shape"))}if($==="sdk")return await X6(_,A_($,"missing_checkMachineCompatibility"));return await cj(_,D)??await X6(_,A_($,"missing_checkMachineCompatibility"))}return await cj(_,D)??await X6(_,A_($,"machines_cli_unavailable"))}catch(I){if($==="sdk")return await X6(_,A_($,L$(I)));return await cj(_,D)??await X6(_,A_($,L$(I)))}}import{createHash as ER}from"crypto";function RP(_,$,D=24){return`${_}_${ER("sha256").update($).digest("hex").slice(0,D)}`}function jD(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function PH(_){return jD(_).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")}function H$(_,$){try{return JSON.parse(_)}catch{return $}}function l6(_){return{..._,record_kind:_.record_kind,source_kind:_.source_kind,status:_.status,source_refs:H$(_.source_refs_json,[]),evidence_refs:H$(_.evidence_refs_json,[]),requires_approval:_.requires_approval===1,checks:H$(_.checks_json,jR()),metadata:H$(_.metadata_json,{})}}function YP(_){return{..._,record_kind:_.record_kind,source_refs:H$(_.source_refs_json,[]),evidence_refs:H$(_.evidence_refs_json,[]),metadata:H$(_.metadata_json,{})}}function jR(){return{citations:{provided:0,valid:0,invalid:0,entries:[]},invalid_source_refs:[],stale_refs:[],duplicate_record_ids:[],duplicate_candidate_ids:[],conflicting_record_ids:[],conflicting_candidate_ids:[],approval_reasons:[]}}function zH(_){let $=typeof _==="string"?{ref:_}:_;return{ref:jD($.ref),citation_id:$.citation_id??null,chunk_id:$.chunk_id??null,revision:$.revision??null,hash:$.hash??null,observed_at:$.observed_at??null,expires_at:$.expires_at??null,status:$.status??null}}function NR(_){try{let $=new URL(_);return $.protocol.length>1&&($.hostname.length>0||$.pathname.length>0)}catch{return/^(?:cite|citation|chunk|run):[A-Za-z0-9._:-]+$/.test(_)}}function $N(_){return["deleted","stale","invalidated","reindex_required","expired","superseded"].includes((_??"").toLowerCase())}function GP(_){if(!_)return null;let $=H$(_,{});if($.stale===!0)return"stale";return typeof $.status==="string"?$.status:null}function gH(_){if(_.citation_id)return _.citation_id;return _.ref.match(/^(?:cite|citation):(.+)$/)?.[1]??null}function XH(_){if(_.chunk_id)return _.chunk_id;return _.ref.match(/^chunk:(.+)$/)?.[1]??null}function GH(_,$,D){let I=$N($.status)||Boolean($.expires_at&&$.expires_at<=D);if(!$.ref||!NR($.ref))return{ref:$.ref,valid:!1,resolved_by:"none",stale:I,reason:"invalid_reference"};let U=gH($),E=_.query(`SELECT c.id, c.source_uri, c.chunk_id, ch.metadata_json AS chunk_metadata_json, + metadata_json = excluded.metadata_json`,[D,$,U.revision,U.hash,Y_(U.raw.extracted_text_ref)??null,JSON.stringify(N),j]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision)?.id??null}function aH(_,$,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 eH(_,$){let U=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),j=0,D=0;for(let E of U){let I=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(E.id);j+=I?.n??0;let W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(E.id);D+=W?.n??0,_.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[E.id]),_.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[E.id]),_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[E.id])}_.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]);let N=_.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get($);return _.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[MY(N?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:U.length,embeddingsDeleted:j,vectorEntriesDeleted:D}}function sH(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function _q(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function $q(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function ZY(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)Y6(_.dbPath,_.safetyPolicy);c(_.dbPath);let U=await tH(_.input,_.config,_.safetyPolicy),j=lH(U),D=v(_.dbPath),N=`run_${wH()}`;try{return D.transaction(()=>{D.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,"open-files-outbox",_.input,"completed","local","open-files-outbox",JSON.stringify({path:_.input,events:j.length}),$,$]);let E=new Set,I=new Set,W=0,J=0,L=0,S=0,X=0,z=0,R=0;return G_(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((P,O)=>{let Y=dH(P,$),Q=oH(D,Y,$);E.add(Q);let B=pH(D,Q,Y,$);if(B)I.add(B);let G=aH(D,Q,Y);for(let T of G){I.add(T);let F=eH(D,T);W+=F.chunksDeleted,J+=F.embeddingsDeleted,L+=F.vectorEntriesDeleted,S+=1}if(sH(Y.eventType,Y.status))X+=1;if(_q(Y.eventType))z+=1;if($q(Y.eventType)||Y.acl!==void 0)R+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[jI("evt",`${N}\x00${O}\x00${Y.sourceRef}\x00${Y.eventType}`),N,"info",Y.eventType,JSON.stringify({source_ref:Y.sourceRef,source_uri:Y.sourceUri,revision:Y.revision,hash:Y.hash,status:Y.status,affected_revisions:G.length}),Y.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, ?, ?)`,[jI("usage",N),N,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),G_(D,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:N,events:j.length,sources:E.size,revisions:I.size,chunks_deleted:W,embeddings_deleted:J,vector_entries_deleted:L},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:N,events_seen:j.length,sources_touched:E.size,revisions_touched:I.size,chunks_deleted:W,embeddings_deleted:J,vector_entries_deleted:L,stale_revisions:S,deleted_sources:X,moved_sources:z,permission_updates:R}})()}finally{D.close()}}import{spawnSync as kY}from"child_process";import{hostname as $0,platform as CY,userInfo as Uq}from"os";var Dq=1,jq="@hasna/machines",Nq="@hasna/machines/consumer";function d(_){return typeof _==="string"&&_.length>0?_:null}function $4(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function p_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function JI(_){return typeof _==="boolean"?_:null}function Eq(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function LI(_=CY()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function Z1(_){let $=kY("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function YU(_,$){return await _($)}async function H1(_,$){return(await YU($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function Iq(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function HY(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function Aq(_,$){let U=new Map;if(!await H1("tailscale",_))return $.push("tailscale_not_available"),{peers:U,selfKey:null};let j=await YU(_,"tailscale status --json");if(j.exitCode!==0)return $.push(`tailscale_status_failed:${j.stderr.trim()||j.exitCode}`),{peers:U,selfKey:null};let D=Iq(j.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let N=(E)=>{let I=HY(E);if(I&&E)U.set(I,E)};N(D.Self);for(let E of Object.values(D.Peer??{}))N(E);return{peers:U,selfKey:HY(D.Self)}}function Wq(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??$0()}function Jq(_){let $=_.machineId===_.localMachineId||_.machineId===$0(),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 N=D.find((E)=>E.kind==="local")??D.find((E)=>E.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?$0():_.machineId),local:$,platform:_.peer?.OS?LI(_.peer.OS):$?LI():null,os:_.peer?.OS??($?CY():null),user:$?Uq().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:N?.kind==="local"?"local":N?.kind==="tailscale"?"tailscale":"unknown",command_target:N?.target??null},route_hints:D,tags:[],metadata:{},source:"local"}}function Lq(_){if(!Array.isArray(_))return[];return _.map(($)=>{let U=p_($),j=d(U.kind)??"unknown";return{kind:j==="local"||j==="lan"||j==="tailscale"||j==="ssh"?j:"unknown",target:d(U.target)??"",reachable:JI(U.reachable)}}).filter(($)=>$.target.length>0)}function Sq(_,$){let U=d(_.machine_id)??d(_.hostname)??"unknown",j=p_(_.tailscale),D=p_(_.ssh),N=d(_.heartbeat_status),E=d(D.route);return{machine_id:U,hostname:d(_.hostname),local:U===$,platform:d(_.platform),os:d(_.os),user:d(_.user),workspace_path:d(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:N==="online"||N==="offline"?N:"unknown",last_heartbeat_at:d(_.last_heartbeat_at),tailscale:{dns_name:d(j.dns_name),ips:$4(j.ips),online:JI(j.online),active:JI(j.active),last_seen:d(j.last_seen)},ssh:{address:d(D.address),route:E==="local"||E==="lan"||E==="tailscale"?E:"unknown",command_target:d(D.command_target)},route_hints:Lq(_.route_hints),tags:$4(_.tags),metadata:p_(_.metadata),source:"open-machines"}}function Pq(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function Y$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function q1(_){return _.adapterMode??"auto"}function bY(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let U=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function SI(_){return typeof _.schema_version==="number"?_.schema_version:null}function k1(_){return typeof _==="number"&&_>Dq?_:null}function PI(_){return{package:jq,entrypoint:Nq,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function W_(_,$="adapter_disabled"){return PI({mode:_,implementation:"disabled",available:!1,error:$})}function OI(_,$){let U=k1(bY($));if(!U)return null;return PI({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function zI(_){return PI({mode:_,implementation:"cli",available:!0})}function XI(_,$){return PI({mode:_,implementation:"sdk",available:!0,contractVersion:bY($)})}function YI(_){try{return JSON.parse(_)}catch{return null}}function U0(_){return`'${_.replace(/'/g,"'\\''")}'`}function RI(_){return["machines",..._].map(U0).join(" ")}function QI(_){return _==="local"||_==="localhost"||_===$0()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function Oq(_,$){let U=QI(_),j=U?$:`ssh ${U0(_)} ${U0($)}`,D=kY("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 wY(_,$,U){return await _($,U)}function s4(_,$){if($)return"ok";return _===!1?"warn":"fail"}function _0(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function zq(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function Xq(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function vY(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function fY(_){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 xY(_,$,U){let j=[`cmd=${U0($.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 wY(U,_,j),N=fY(D.stdout);return{path:N.path||null,version:N.version?Xq(N.version):null,stderr:D.stderr,source:D.source??(QI(_)?"local":"ssh")}}function qY(_){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 Yq(_,$,U){let j=[`path=${U0($.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" "$(${qY("name")})"; printf "version=%s\\n" "$(${qY("version")})"; fi`].join("; "),D=await wY(U,_,j),N=fY(D.stdout);return{exists:N.exists==="yes",packageJson:N.package_json==="yes",packageName:N.package_name||null,version:N.version||null,stderr:D.stderr,source:D.source??(QI(_)?"local":"ssh")}}async function Rq(_,$,U){let j=await xY(_,$,U),D=Boolean(j.path),N=[Z6({id:`command:${_0($.command)}:path`,kind:"command",status:s4($.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 E=vY(j.version??"");N.push(Z6({id:`command:${_0($.command)}:version`,kind:"command",status:E===$.expectedVersion?"ok":s4($.required,!1),target:$.command,expected:$.expectedVersion,actual:E??j.version??"missing",detail:E?`version output: ${j.version}`:"version unavailable",source:j.source}))}return N}async function Qq(_,$,U){let j=$.command??zq($.name),D=await xY(_,{command:j,expectedVersion:$.expectedVersion,required:$.required},U),N=Boolean(D.path),E=[Z6({id:`package:${_0($.name)}:command`,kind:"package",status:s4($.required,N),target:$.name,expected:j,actual:D.path??"missing",detail:N?`${j} found at ${D.path}`:`${j} command missing`,source:D.source})];if($.expectedVersion){let I=vY(D.version??"");E.push(Z6({id:`package:${_0($.name)}:version`,kind:"package",status:I===$.expectedVersion?"ok":s4($.required,!1),target:$.name,expected:$.expectedVersion,actual:I??D.version??"missing",detail:I?`version output: ${D.version}`:"version unavailable",source:D.source}))}return E}async function Gq(_,$,U){let j=await Yq(_,$,U),D=$.label??$.path,N=[Z6({id:`workspace:${_0(D)}:path`,kind:"workspace",status:s4($.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)N.push(Z6({id:`workspace:${_0(D)}:package-name`,kind:"workspace",status:j.packageName===$.expectedPackageName?"ok":s4($.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)N.push(Z6({id:`workspace:${_0(D)}:version`,kind:"workspace",status:j.version===$.expectedVersion?"ok":s4($.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 N}function yY(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:W6,workspace_home:$.knowledge?.workspace_home??null},message:Pq(_.source,_.machines.length)}}async function GI(){try{return await import("@hasna/machines/consumer")}catch(_){if(Y$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function uY(_,$,U){let j=p_(_);if(k1(SI(j)))return null;let D=Array.isArray(j.machines)?j.machines:null,N=d(j.local_machine_id);if(!D||!N)return null;let E={ok:!0,source:"open-machines",generated_at:d(j.generated_at)??($.now??new Date).toISOString(),local_machine_id:N,local_hostname:d(j.local_hostname)??$0(),current_platform:d(j.current_platform)??LI(),machines:D.map((I)=>Sq(I,N)),warnings:$4(j.warnings),adapter:U};return yY(E,$)}function NI(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function hY(_){let $=p_(_),U=d($.observed_at),j=d($.source_authority);if(!U||!j)return null;return{observed_at:U,verified_at:d($.verified_at),expires_at:d($.expires_at),ttl_ms:Eq($.ttl_ms),source_authority:j,confidence:d($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:$4($.reasons)}}function rY(_,$){let U=p_(_);if(k1(SI(U)))return null;let j=d(U.target)??d(U.command_target);if(U.ok!==!0||!j)return null;let D=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,N=typeof D?.selected_hint==="object"&&D.selected_hint!==null?D.selected_hint:null;return{target:j,route:NI(U.route),targetKind:NI(N?.kind)??NI(U.source)??NI(U.route),confidence:d(U.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:hY(U.cacheability),warnings:$4(U.warnings)}}function nO(_){let $=p_(_);return{path:d($.path),source:d($.source)??"unresolved"}}function Tq(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=p_($),j=d(U.id),D=d(U.status),N=d(U.severity),E=d(U.message);if(!j||!D||!N||!E)return[];return[{id:j,status:D,severity:N,message:E,path:d(U.path),source:d(U.source)??"unknown",path_exists:JI(U.path_exists)}]})}function Vq(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=p_($),j=d(U.id),D=d(U.reason),N=$4(U.command),E=d(U.shell_command),I=$4(U.apply_command),W=d(U.apply_shell_command);if(!j||!D||!N.length||!E||!I.length||!W)return[];return[{id:j,reason:D,command:N,shell_command:E,apply_command:I,apply_shell_command:W}]})}function Bq(_){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(U0).join(" "),apply_command:j,apply_shell_command:j.map(U0).join(" ")}]}function cY(_,$,U){let j=p_(_);if(k1(SI(j)))return null;let D=p_(j.paths),N=p_(j.project),E=p_(j.machine),I=nO(D.project_root),W=nO(D.workspace_root),J=nO(D.open_files_root);if(j.ok!==!0||!I.path)return null;let L=typeof j.evidence==="object"&&j.evidence!==null?j.evidence:null,S=d(j.requested_machine_id)??$.machineId,X=d(N.project_id)??$.projectId??"open-knowledge",z=d(N.repo_name)??$.repoName??$.projectId??"open-knowledge",R=d(E.trust_status)??"unknown",P=d(E.auth_status)??"unknown",O=$4(j.warnings),Y=Tq(j.diagnostics),Q=Vq(j.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:S,machine_id:d(j.machine_id),project_id:X,repo_name:z,project_root:I.path,project_root_source:I.source,workspace_root:W.path,workspace_root_source:W.source,open_files_root:J.path,open_files_root_source:J.source,trust_status:R,auth_status:P,current:E.current===!0,primary:E.primary===!0,diagnostics:Y,repair_hints:Q.length?Q:Bq({requestedMachineId:S,projectId:X,repoName:z,openFilesRepoName:$.openFilesRepoName,warnings:O,projectRootSource:I.source,openFilesRootSource:J.source,trustStatus:R,authStatus:P}),evidence:L,cacheability:hY(j.cacheability),warnings:O}}async function EI(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let j=["topology","--json"];if(_.includeTailscale===!1)j.push("--no-tailscale");let D=await YU(U,RI(j));if(D.exitCode!==0)return null;return uY(YI(D.stdout),_,$)}async function F6(_,$){let U=[];if($.error)U.push(`open_machines_unavailable:${$.error}`);let j=_.runner??Z1,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await Aq(j,U),N=Wq(D.selfKey),I=[...new Set([N,...D.peers.keys()])].sort().map((W)=>Jq({machineId:W,localMachineId:N,peer:D.peers.get(W)}));return yY({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:N,local_hostname:$0(),current_platform:LI(),machines:I,warnings:U,adapter:$},_)}async function mY(_={}){let $=q1(_);if($==="disabled")return await F6(_,W_($));let U=zI($);try{if($!=="cli"){let D=await(_.loadOpenMachines??GI)(),N=OI($,D);if(N)return await F6(_,N);let E=XI($,D);if(D?.discoverMachineTopology){let I=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),W=uY(I,_,E);if(W)return W;if($==="sdk")return await F6(_,W_($,"invalid_topology_shape"));return await EI(_,U)??await F6(_,W_($,"invalid_topology_shape"))}if($==="sdk")return await F6(_,W_($,"missing_discoverMachineTopology"));return await EI(_,U)??await F6(_,W_($,"missing_discoverMachineTopology"))}return await EI(_,U)??await F6(_,W_($,"machines_cli_unavailable"))}catch(j){if($==="sdk")return await F6(_,W_($,Y$(j)));return await EI(_,U)??await F6(_,W_($,Y$(j)))}}async function II(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let j=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)j.push("--no-tailscale");let D=await YU(U,RI(j));if(D.exitCode!==0)return null;return rY(YI(D.stdout),$)}function K6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function dO(_){let $=q1(_);if($==="disabled")return K6(_.machineId,W_($));let U=zI($);try{if($!=="cli"){let D=await(_.loadOpenMachines??GI)(),N=OI($,D);if(N)return K6(_.machineId,N);let E=XI($,D);if(D?.resolveMachineRoute){let I=rY(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),E);if(I)return I;if($==="sdk")return K6(_.machineId,W_($,"invalid_route_shape"));return await II(_,U)??K6(_.machineId,W_($,"invalid_route_shape"))}if($==="sdk")return K6(_.machineId,W_($,"missing_resolveMachineRoute"));return await II(_,U)??K6(_.machineId,W_($,"missing_resolveMachineRoute"))}return await II(_,U)??K6(_.machineId,W_($,"machines_cli_unavailable"))}catch(j){if($==="sdk")return{...K6(_.machineId,W_($,Y$(j))),warnings:[Y$(j)]};return await II(_,U)??{...K6(_.machineId,W_($,Y$(j))),warnings:[Y$(j)]}}}async function AI(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let j=_.projectId??"open-knowledge",D=_.repoName??"open-knowledge",N=["workspace","resolve","--machine",_.machineId,"--project",j,"--repo",D,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)N.push("--no-tailscale");let E=await YU(U,RI(N));if(E.exitCode!==0)return null;return cY(YI(E.stdout),_,$)}function Fq(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:W_(q1(_),"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 g6(_,$,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 TI(_){let $=Fq(_);if($)return $;let U=q1(_);if(U==="disabled")return g6(_,["adapter_disabled"],W_(U));let j=zI(U);try{if(U!=="cli"){let N=await(_.loadOpenMachines??GI)(),E=OI(U,N);if(E)return g6(_,[`unsupported_contract_version:${E.contract_version}`],E);let I=XI(U,N);if(N?.resolveMachineWorkspace){let W=cY(N.resolveMachineWorkspace({machineId:_.machineId,projectId:_.projectId??"open-knowledge",repoName:_.repoName??"open-knowledge",openFilesRepoName:_.openFilesRepoName??"open-files",includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),_,I);if(W)return W;if(U==="sdk")return g6(_,["invalid_workspace_shape"],W_(U,"invalid_workspace_shape"));return await AI(_,j)??g6(_,["invalid_workspace_shape"],W_(U,"invalid_workspace_shape"))}if(U==="sdk")return g6(_,["missing_resolveMachineWorkspace"],W_(U,"missing_resolveMachineWorkspace"));return await AI(_,j)??g6(_,["missing_resolveMachineWorkspace"],W_(U,"missing_resolveMachineWorkspace"))}return await AI(_,j)??g6(_,["machines_cli_unavailable"],W_(U,"machines_cli_unavailable"))}catch(D){if(U==="sdk")return g6(_,[Y$(D)],W_(U,Y$(D)));return await AI(_,j)??g6(_,[Y$(D)],W_(U,Y$(D)))}}function nY(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:W6,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 dY(_,$,U){let j=p_(_);if(k1(SI(j)))return null;let D=Array.isArray(j.checks)?j.checks:null,N=d(j.machine_id)??d(j.machineId);if(!D||!N)return null;let E=D.map((W)=>{let J=p_(W),L=d(J.status),S=d(J.kind),X=d(J.source);return Z6({id:d(J.id)??"unknown",kind:S==="command"||S==="package"||S==="workspace"?S:"command",status:L==="ok"||L==="warn"||L==="fail"?L:"fail",target:d(J.target)??"unknown",expected:d(J.expected),actual:d(J.actual),detail:d(J.detail)??"",source:X==="local"||X==="ssh"||X==="open-machines"?X:"open-machines"})}),I={ok:E.filter((W)=>W.status==="ok").length,warn:E.filter((W)=>W.status==="warn").length,fail:E.filter((W)=>W.status==="fail").length};return nY({ok:I.fail===0,source:"open-machines",machine_id:N,generated_at:d(j.generated_at)??($.now??new Date).toISOString(),checks:E,summary:I,adapter:U},$)}function Kq(_){if(!_.runner)return Z1;return async($)=>{let U=await _.runner?.("local",$);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function gq(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function Mq(_){let $=[_.expectedPackageName,_.expectedVersion].filter((j)=>Boolean(j)).join(":"),U=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${U}`:U}async function WI(_,$){let U=Kq(_);if(!await H1("machines",U))return null;let j=["compatibility","--json","--machine",_.machineId??"local"];for(let N of _.commands??[])j.push("--command",N.expectedVersion?`${N.command}:${N.expectedVersion}`:N.command);for(let N of _.packages??[])j.push("--package",gq(N));for(let N of _.workspaces??[])j.push("--workspace",Mq(N));let D=await YU(U,RI(j));if(D.exitCode!==0)return null;return dY(YI(D.stdout),_,$)}async function M6(_,$){let U=_.machineId??$0(),j=_.runner??Oq,D=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],N=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],E=_.workspaces??[],I=[];for(let J of D)I.push(...await Rq(U,J,j));for(let J of N)I.push(...await Qq(U,J,j));for(let J of E)I.push(...await Gq(U,J,j));if($.error)I.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:QI(U)?"local":"ssh"}));let W={ok:I.filter((J)=>J.status==="ok").length,warn:I.filter((J)=>J.status==="warn").length,fail:I.filter((J)=>J.status==="fail").length};return nY({ok:W.fail===0,source:"local",machine_id:U,generated_at:(_.now??new Date).toISOString(),checks:I,summary:W,adapter:$},_)}async function lY(_={}){let $=q1(_);if($==="disabled")return await M6(_,W_($));let U=zI($);try{if($!=="cli"){let D=await(_.loadOpenMachines??GI)(),N=OI($,D);if(N)return await M6(_,N);let E=XI($,D);if(D?.checkMachineCompatibility){let I=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),W=dY(I,_,E);if(W)return W;if($==="sdk")return await M6(_,W_($,"invalid_compatibility_shape"));return await WI(_,U)??await M6(_,W_($,"invalid_compatibility_shape"))}if($==="sdk")return await M6(_,W_($,"missing_checkMachineCompatibility"));return await WI(_,U)??await M6(_,W_($,"missing_checkMachineCompatibility"))}return await WI(_,U)??await M6(_,W_($,"machines_cli_unavailable"))}catch(j){if($==="sdk")return await M6(_,W_($,Y$(j)));return await WI(_,U)??await M6(_,W_($,Y$(j)))}}import{createHash as iY}from"crypto";function iO(_,$,U=24){return`${_}_${iY("sha256").update($).digest("hex").slice(0,U)}`}function RU(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function Zq(_){return RU(_).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")}function x$(_,$){try{return JSON.parse(_)}catch{return $}}function U4(_){return{..._,record_kind:_.record_kind,source_kind:_.source_kind,status:_.status,source_refs:x$(_.source_refs_json,[]),evidence_refs:x$(_.evidence_refs_json,[]),requires_approval:_.requires_approval===1,checks:x$(_.checks_json,tY()),metadata:x$(_.metadata_json,{})}}function tO(_){return{..._,record_kind:_.record_kind,source_refs:x$(_.source_refs_json,[]),evidence_refs:x$(_.evidence_refs_json,[]),metadata:x$(_.metadata_json,{})}}function tY(){return{citations:{provided:0,valid:0,invalid:0,entries:[]},invalid_source_refs:[],stale_refs:[],duplicate_record_ids:[],duplicate_candidate_ids:[],conflicting_record_ids:[],conflicting_candidate_ids:[],approval_reasons:[]}}function Hq(_){let $=typeof _==="string"?{ref:_}:_;return{ref:RU($.ref),citation_id:$.citation_id??null,chunk_id:$.chunk_id??null,revision:$.revision??null,hash:$.hash??null,observed_at:$.observed_at??null,expires_at:$.expires_at??null,status:$.status??null}}function oY(_){try{let $=new URL(_);return $.protocol.length>1&&($.hostname.length>0||$.pathname.length>0)}catch{return/^(?:cite|citation|chunk|run):[A-Za-z0-9._:-]+$/.test(_)}}function VI(_){return["deleted","stale","invalidated","reindex_required","expired","superseded"].includes((_??"").toLowerCase())}function lO(_){if(!_)return null;let $=x$(_,{});if($.stale===!0)return"stale";return typeof $.status==="string"?$.status:null}function qq(_){if(_.citation_id)return _.citation_id;return _.ref.match(/^(?:cite|citation):(.+)$/)?.[1]??null}function kq(_){if(_.chunk_id)return _.chunk_id;return _.ref.match(/^chunk:(.+)$/)?.[1]??null}function Cq(_,$,U){let j=VI($.status)||Boolean($.expires_at&&$.expires_at<=U);if(!$.ref||!oY($.ref))return{ref:$.ref,valid:!1,resolved_by:"none",stale:j,reason:"invalid_reference"};let D=qq($),N=_.query(`SELECT c.id, c.source_uri, c.chunk_id, ch.metadata_json AS chunk_metadata_json, sr.hash AS revision_hash, sr.revision, sr.id AS source_revision_id, sr.source_id, sr.created_at AS revision_created_at, (SELECT MAX(newest.created_at) FROM source_revisions newest WHERE newest.source_id = sr.source_id) AS latest_revision_at @@ -971,46 +971,46 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` LEFT JOIN source_revisions sr ON sr.id = ch.source_revision_id WHERE c.id = ? OR c.source_uri = ? ORDER BY c.created_at DESC - LIMIT 1`).get(U,$.ref);if(E){let S=Boolean($.hash&&E.revision_hash&&$.hash!==E.revision_hash),L=Boolean($.revision&&E.revision&&$.revision!==E.revision),W=Boolean(E.revision_created_at&&E.latest_revision_at&&E.revision_created_at!NR(W)),j.citations.entries=I.map((W)=>GH(_,W,D)),j.citations.provided=I.length,j.citations.valid=j.citations.entries.filter((W)=>W.valid).length,j.citations.invalid=j.citations.entries.length-j.citations.valid,j.stale_refs=j.citations.entries.filter((W)=>W.stale).map((W)=>W.ref),j.duplicate_record_ids=_.query(`SELECT id FROM durable_knowledge_records + WHERE ch.id = ?`).get(E);if(!J)return{ref:$.ref,valid:!1,resolved_by:"none",stale:j,reason:"chunk_not_found"};let L=Boolean($.hash&&J.hash&&$.hash!==J.hash||$.revision&&J.revision&&$.revision!==J.revision),S=j||VI(lO(J.metadata_json))||L;return{ref:$.ref,valid:!0,resolved_by:"chunk",stale:S,reason:L?"source_version_mismatch":S?"stale_chunk":null}}let I=_.query("SELECT metadata_json FROM sources WHERE uri = ? LIMIT 1").get($.ref);if(I){let J=j||VI(lO(I.metadata_json));return{ref:$.ref,valid:!0,resolved_by:"source",stale:J,reason:J?"stale_source":null}}let W=$.ref.match(/^knowledge:\/\/project\/runs\/([^/?#]+)/);if(W){if(!_.query("SELECT id FROM runs WHERE id = ?").get(decodeURIComponent(W[1])))return{ref:$.ref,valid:!1,resolved_by:"none",stale:j,reason:"run_not_found"};return{ref:$.ref,valid:!0,resolved_by:"run",stale:j,reason:j?"expired_evidence":null}}return{ref:$.ref,valid:!0,resolved_by:"external_uri",stale:j,reason:j?"expired_evidence":null}}function D4(_,$){return _.query("SELECT * FROM knowledge_promotion_candidates WHERE id = ?").get($)??null}function oO(_,$,U){let j=x$($.evidence_refs_json,[]),D=x$($.source_refs_json,[]),N=x$($.metadata_json,{}),E=tY();E.invalid_source_refs=D.filter((S)=>!oY(S)),E.citations.entries=j.map((S)=>Cq(_,S,U)),E.citations.provided=j.length,E.citations.valid=E.citations.entries.filter((S)=>S.valid).length,E.citations.invalid=E.citations.entries.length-E.citations.valid,E.stale_refs=E.citations.entries.filter((S)=>S.stale).map((S)=>S.ref),E.duplicate_record_ids=_.query(`SELECT id FROM durable_knowledge_records WHERE record_kind = ? AND content_hash = ? AND status IN ('active', 'conflicted') - ORDER BY created_at`).all($.record_kind,$.content_hash).map((W)=>W.id),j.duplicate_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates + ORDER BY created_at`).all($.record_kind,$.content_hash).map((S)=>S.id),E.duplicate_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates WHERE id <> ? AND record_kind = ? AND content_hash = ? AND status NOT IN ('rejected') - ORDER BY created_at`).all($.id,$.record_kind,$.content_hash).map((W)=>W.id),j.conflicting_record_ids=_.query(`SELECT id FROM durable_knowledge_records + ORDER BY created_at`).all($.id,$.record_kind,$.content_hash).map((S)=>S.id),E.conflicting_record_ids=_.query(`SELECT id FROM durable_knowledge_records WHERE record_kind = ? AND canonical_key = ? AND content_hash <> ? AND status IN ('active', 'conflicted') - ORDER BY created_at`).all($.record_kind,$.canonical_key,$.content_hash).map((W)=>W.id),j.conflicting_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates + ORDER BY created_at`).all($.record_kind,$.canonical_key,$.content_hash).map((S)=>S.id),E.conflicting_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates WHERE id <> ? AND record_kind = ? AND canonical_key = ? AND content_hash <> ? AND status IN ('ready', 'needs_approval', 'promoted') - ORDER BY created_at`).all($.id,$.record_kind,$.canonical_key,$.content_hash).map((W)=>W.id);let N=j.duplicate_record_ids[0]??j.duplicate_candidate_ids[0]??null,O=U.length===0||I.length===0||j.invalid_source_refs.length>0||j.citations.invalid>0;if($.record_kind==="decision"||$.record_kind==="claim")j.approval_reasons.push(`${$.record_kind}_requires_review`);if(E.requested_approval===!0)j.approval_reasons.push("explicit_approval_request");if(j.stale_refs.length>0)j.approval_reasons.push("stale_evidence");if(j.conflicting_record_ids.length>0||j.conflicting_candidate_ids.length>0)j.approval_reasons.push("conflicting_knowledge");let S=j.approval_reasons.length>0,L=N?"duplicate":O?"blocked":S?"needs_approval":"ready";return _.run(`UPDATE knowledge_promotion_candidates + ORDER BY created_at`).all($.id,$.record_kind,$.canonical_key,$.content_hash).map((S)=>S.id);let I=E.duplicate_record_ids[0]??E.duplicate_candidate_ids[0]??null,W=D.length===0||j.length===0||E.invalid_source_refs.length>0||E.citations.invalid>0;if($.record_kind==="decision"||$.record_kind==="claim")E.approval_reasons.push(`${$.record_kind}_requires_review`);if(N.requested_approval===!0)E.approval_reasons.push("explicit_approval_request");if(E.stale_refs.length>0)E.approval_reasons.push("stale_evidence");if(E.conflicting_record_ids.length>0||E.conflicting_candidate_ids.length>0)E.approval_reasons.push("conflicting_knowledge");let J=E.approval_reasons.length>0,L=I?"duplicate":W?"blocked":J?"needs_approval":"ready";return _.run(`UPDATE knowledge_promotion_candidates SET status = ?, requires_approval = ?, checks_json = ?, duplicate_of = ?, updated_at = ?, reviewed_at = ? - WHERE id = ?`,[L,S?1:0,JSON.stringify(j),N,D,D,$.id]),l6(i6(_,$.id))}function AR(_,$){let D=["lesson","decision","claim"],I=["memento","session","report"];if(!D.includes($.kind))throw Error("Promotion kind must be lesson, decision, or claim.");if(!I.includes($.sourceKind))throw Error("Promotion source kind must be memento, session, or report.");let U=u_(jD($.title)),E=u_(jD($.content));if(!U.text)throw Error("Promotion title is required.");if(!E.text)throw Error("Promotion content is required.");let j=Array.from(new Set($.sourceRefs.map(jD).filter(Boolean))).sort(),N=$.evidenceRefs.map(zH).filter((J)=>J.ref.length>0).sort((J,P)=>J.ref.localeCompare(P.ref)),O=PH($.canonicalKey??U.text);if(!O)throw Error("Promotion canonical key is empty after normalization.");let S=`sha256:${ER("sha256").update(`${$.kind}\x00${jD(E.text).toLowerCase()}`).digest("hex")}`,L=RP("promote",[$.sourceKind,$.kind,O,S,...j].join("\x00")),W=RP("promotion",L),g=($.now??new Date).toISOString(),z={...$.metadata??{},requested_approval:$.requiresApproval===!0,confidence:$.confidence??null,valid_from:$.validFrom??g,valid_to:$.validTo??null,redactions:U.findings.length+E.findings.length};c(_);let G=w(_);try{let J=G.query("SELECT * FROM knowledge_promotion_candidates WHERE idempotency_key = ?").get(L);if(J)return{created:!1,candidate:l6(J)};G.run(`INSERT INTO knowledge_promotion_candidates ( + WHERE id = ?`,[L,J?1:0,JSON.stringify(E),I,U,U,$.id]),U4(D4(_,$.id))}function pY(_,$){let U=["lesson","decision","claim"],j=["memento","session","report"];if(!U.includes($.kind))throw Error("Promotion kind must be lesson, decision, or claim.");if(!j.includes($.sourceKind))throw Error("Promotion source kind must be memento, session, or report.");let D=d_(RU($.title)),N=d_(RU($.content));if(!D.text)throw Error("Promotion title is required.");if(!N.text)throw Error("Promotion content is required.");let E=Array.from(new Set($.sourceRefs.map(RU).filter(Boolean))).sort(),I=$.evidenceRefs.map(Hq).filter((P)=>P.ref.length>0).sort((P,O)=>P.ref.localeCompare(O.ref)),W=Zq($.canonicalKey??D.text);if(!W)throw Error("Promotion canonical key is empty after normalization.");let J=`sha256:${iY("sha256").update(`${$.kind}\x00${RU(N.text).toLowerCase()}`).digest("hex")}`,L=iO("promote",[$.sourceKind,$.kind,W,J,...E].join("\x00")),S=iO("promotion",L),X=($.now??new Date).toISOString(),z={...$.metadata??{},requested_approval:$.requiresApproval===!0,confidence:$.confidence??null,valid_from:$.validFrom??X,valid_to:$.validTo??null,redactions:D.findings.length+N.findings.length};c(_);let R=v(_);try{let P=R.query("SELECT * FROM knowledge_promotion_candidates WHERE idempotency_key = ?").get(L);if(P)return{created:!1,candidate:U4(P)};R.run(`INSERT INTO knowledge_promotion_candidates ( id, record_kind, title, content, canonical_key, content_hash, source_kind, source_refs_json, evidence_refs_json, status, requires_approval, checks_json, idempotency_key, metadata_json, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'pending', 0, '{}', ?, ?, ?, ?)`,[W,$.kind,U.text,E.text,O,S,$.sourceKind,JSON.stringify(j),JSON.stringify(N),L,JSON.stringify(z),g,g]);let P=[...U.findings,...E.findings];if(P.length>0)Q0(G,{source_uri:j[0]??`knowledge://promotion/${W}`,findings:P,metadata:{promotion_candidate_id:W},created_at:g});return R_(G,{event_type:"knowledge_promotion",action:"enqueue_promotion",target_uri:`knowledge://promotion/${W}`,decision:"info",metadata:{record_kind:$.kind,source_kind:$.sourceKind,source_refs:j},created_at:g}),{created:!0,candidate:QP(G,i6(G,W),g)}}finally{G.close()}}function OR(_,$){c(_);let D=w(_);try{let I=i6(D,$);return I?l6(I):null}finally{D.close()}}function SR(_,$={}){c(_);let D=Math.max(1,Math.min($.limit??50,200)),I=[],U=[];if($.status==="inbox"||!$.status)I.push("status IN ('ready', 'needs_approval', 'blocked')");else I.push("status = ?"),U.push($.status);if($.kind)I.push("record_kind = ?"),U.push($.kind);let E=w(_);try{return E.query(`SELECT * FROM knowledge_promotion_candidates - WHERE ${I.join(" AND ")} + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'pending', 0, '{}', ?, ?, ?, ?)`,[S,$.kind,D.text,N.text,W,J,$.sourceKind,JSON.stringify(E),JSON.stringify(I),L,JSON.stringify(z),X,X]);let O=[...D.findings,...N.findings];if(O.length>0)b0(R,{source_uri:E[0]??`knowledge://promotion/${S}`,findings:O,metadata:{promotion_candidate_id:S},created_at:X});return G_(R,{event_type:"knowledge_promotion",action:"enqueue_promotion",target_uri:`knowledge://promotion/${S}`,decision:"info",metadata:{record_kind:$.kind,source_kind:$.sourceKind,source_refs:E},created_at:X}),{created:!0,candidate:oO(R,D4(R,S),X)}}finally{R.close()}}function aY(_,$){c(_);let U=v(_);try{let j=D4(U,$);return j?U4(j):null}finally{U.close()}}function eY(_,$={}){c(_);let U=Math.max(1,Math.min($.limit??50,200)),j=[],D=[];if($.status==="inbox"||!$.status)j.push("status IN ('ready', 'needs_approval', 'blocked')");else j.push("status = ?"),D.push($.status);if($.kind)j.push("record_kind = ?"),D.push($.kind);let N=v(_);try{return N.query(`SELECT * FROM knowledge_promotion_candidates + WHERE ${j.join(" AND ")} ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(...U,D).map(l6)}finally{E.close()}}function LR(_,$,D=new Date){c(_);let I=w(_);try{let U=i6(I,$);if(!U)throw Error(`Promotion candidate not found: ${$}`);if(U.status==="promoted"||U.status==="rejected")return l6(U);return QP(I,U,D.toISOString())}finally{I.close()}}function WR(_,$,D={}){c(_);let I=w(_),U=(D.now??new Date).toISOString();try{let E=i6(I,$);if(!E)throw Error(`Promotion candidate not found: ${$}`);if(E.status==="promoted"&&E.promoted_record_id){let z=I.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(E.promoted_record_id);return{ok:!0,promoted:!1,requires_approval:E.requires_approval===1,candidate:l6(E),record:z?YP(z):null,approval_id:null,reason:"already_promoted"}}if(E.status==="rejected")throw Error(`Promotion candidate ${$} was rejected.`);let j=QP(I,E,U);if(j.status==="duplicate")return{ok:!0,promoted:!1,requires_approval:!1,candidate:j,record:null,approval_id:null,reason:"duplicate"};if(j.status==="blocked")return{ok:!1,promoted:!1,requires_approval:!1,candidate:j,record:null,approval_id:null,reason:"citation_check_failed"};if(j.requires_approval&&!D.approveWrite)return{ok:!1,promoted:!1,requires_approval:!0,candidate:j,record:null,approval_id:null,reason:"approval_required"};if(j.requires_approval&&!D.approvedBy?.trim())throw Error("Promotion approval requires --approved-by .");let N=j.requires_approval?D.approvedBy.trim():null,O=null;if(j.requires_approval)O=_I(I,{action:"promote_durable_knowledge",target_uri:`knowledge://promotion/${j.id}`,reason:j.checks.approval_reasons.join(", "),approved_by:N,metadata:{promotion_candidate_id:j.id,checks:j.checks},created_at:U}).id;let S=RP("durable",j.id),L={...j.metadata,promotion_candidate_id:j.id,source_kind:j.source_kind,checks:j.checks,approval_id:O,provenance:N$({generated_from:`knowledge://promotion/${j.id}`,artifact_key:`durable/${j.record_kind}/${j.canonical_key}`,source_refs:j.source_refs,citation_required:!0})};I.run(`INSERT INTO durable_knowledge_records ( + LIMIT ?`).all(...D,U).map(U4)}finally{N.close()}}function sY(_,$,U=new Date){c(_);let j=v(_);try{let D=D4(j,$);if(!D)throw Error(`Promotion candidate not found: ${$}`);if(D.status==="promoted"||D.status==="rejected")return U4(D);return oO(j,D,U.toISOString())}finally{j.close()}}function _R(_,$,U={}){c(_);let j=v(_),D=(U.now??new Date).toISOString();try{let N=D4(j,$);if(!N)throw Error(`Promotion candidate not found: ${$}`);if(N.status==="promoted"&&N.promoted_record_id){let z=j.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(N.promoted_record_id);return{ok:!0,promoted:!1,requires_approval:N.requires_approval===1,candidate:U4(N),record:z?tO(z):null,approval_id:null,reason:"already_promoted"}}if(N.status==="rejected")throw Error(`Promotion candidate ${$} was rejected.`);let E=oO(j,N,D);if(E.status==="duplicate")return{ok:!0,promoted:!1,requires_approval:!1,candidate:E,record:null,approval_id:null,reason:"duplicate"};if(E.status==="blocked")return{ok:!1,promoted:!1,requires_approval:!1,candidate:E,record:null,approval_id:null,reason:"citation_check_failed"};if(E.requires_approval&&!U.approveWrite)return{ok:!1,promoted:!1,requires_approval:!0,candidate:E,record:null,approval_id:null,reason:"approval_required"};if(E.requires_approval&&!U.approvedBy?.trim())throw Error("Promotion approval requires --approved-by .");let I=E.requires_approval?U.approvedBy.trim():null,W=null;if(E.requires_approval)W=Tj(j,{action:"promote_durable_knowledge",target_uri:`knowledge://promotion/${E.id}`,reason:E.checks.approval_reasons.join(", "),approved_by:I,metadata:{promotion_candidate_id:E.id,checks:E.checks},created_at:D}).id;let J=iO("durable",E.id),L={...E.metadata,promotion_candidate_id:E.id,source_kind:E.source_kind,checks:E.checks,approval_id:W,provenance:P$({generated_from:`knowledge://promotion/${E.id}`,artifact_key:`durable/${E.record_kind}/${E.canonical_key}`,source_refs:E.source_refs,citation_required:!0})};j.run(`INSERT INTO durable_knowledge_records ( id, record_kind, title, content, canonical_key, content_hash, status, source_refs_json, evidence_refs_json, confidence, valid_from, valid_to, promoted_from_candidate_id, approved_by, metadata_json, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[S,j.record_kind,j.title,j.content,j.canonical_key,j.content_hash,j.checks.conflicting_record_ids.length>0?"conflicted":"active",JSON.stringify(j.source_refs),JSON.stringify(j.evidence_refs),typeof j.metadata.confidence==="number"?j.metadata.confidence:null,typeof j.metadata.valid_from==="string"?j.metadata.valid_from:U,typeof j.metadata.valid_to==="string"?j.metadata.valid_to:null,j.id,N,JSON.stringify(L),U,U]),I.run(`UPDATE knowledge_promotion_candidates + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,E.record_kind,E.title,E.content,E.canonical_key,E.content_hash,E.checks.conflicting_record_ids.length>0?"conflicted":"active",JSON.stringify(E.source_refs),JSON.stringify(E.evidence_refs),typeof E.metadata.confidence==="number"?E.metadata.confidence:null,typeof E.metadata.valid_from==="string"?E.metadata.valid_from:D,typeof E.metadata.valid_to==="string"?E.metadata.valid_to:null,E.id,I,JSON.stringify(L),D,D]),j.run(`UPDATE knowledge_promotion_candidates SET status = 'promoted', approved_by = ?, promoted_record_id = ?, promoted_at = ?, updated_at = ? - WHERE id = ?`,[N,S,U,U,j.id]),R_(I,{event_type:"knowledge_promotion",action:"promote_durable_knowledge",target_uri:`knowledge://durable/${S}`,decision:"allow",metadata:{promotion_candidate_id:j.id,approval_id:O,source_refs:j.source_refs},created_at:U});let W=l6(i6(I,j.id)),g=I.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(S);return{ok:!0,promoted:!0,requires_approval:j.requires_approval,candidate:W,record:YP(g),approval_id:O,reason:null}}finally{I.close()}}function JR(_,$,D={}){c(_);let I=w(_),U=(D.now??new Date).toISOString();try{let E=i6(I,$);if(!E)throw Error(`Promotion candidate not found: ${$}`);if(E.status==="promoted")throw Error(`Promotion candidate ${$} is already promoted.`);return I.run(`UPDATE knowledge_promotion_candidates + WHERE id = ?`,[I,J,D,D,E.id]),G_(j,{event_type:"knowledge_promotion",action:"promote_durable_knowledge",target_uri:`knowledge://durable/${J}`,decision:"allow",metadata:{promotion_candidate_id:E.id,approval_id:W,source_refs:E.source_refs},created_at:D});let S=U4(D4(j,E.id)),X=j.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(J);return{ok:!0,promoted:!0,requires_approval:E.requires_approval,candidate:S,record:tO(X),approval_id:W,reason:null}}finally{j.close()}}function $R(_,$,U={}){c(_);let j=v(_),D=(U.now??new Date).toISOString();try{let N=D4(j,$);if(!N)throw Error(`Promotion candidate not found: ${$}`);if(N.status==="promoted")throw Error(`Promotion candidate ${$} is already promoted.`);return j.run(`UPDATE knowledge_promotion_candidates SET status = 'rejected', approved_by = ?, updated_at = ?, reviewed_at = ? - WHERE id = ?`,[D.rejectedBy?.trim()||null,U,U,$]),R_(I,{event_type:"knowledge_promotion",action:"reject_promotion",target_uri:`knowledge://promotion/${$}`,decision:"deny",metadata:{rejected_by:D.rejectedBy??null},created_at:U}),l6(i6(I,$))}finally{I.close()}}function PR(_,$={}){c(_);let D=[],I=[];if($.kind)D.push("record_kind = ?"),I.push($.kind);if($.status)D.push("status = ?"),I.push($.status);let U=Math.max(1,Math.min($.limit??50,200)),E=w(_);try{return E.query(`SELECT * FROM durable_knowledge_records - ${D.length?`WHERE ${D.join(" AND ")}`:""} + WHERE id = ?`,[U.rejectedBy?.trim()||null,D,D,$]),G_(j,{event_type:"knowledge_promotion",action:"reject_promotion",target_uri:`knowledge://promotion/${$}`,decision:"deny",metadata:{rejected_by:U.rejectedBy??null},created_at:D}),U4(D4(j,$))}finally{j.close()}}function UR(_,$={}){c(_);let U=[],j=[];if($.kind)U.push("record_kind = ?"),j.push($.kind);if($.status)U.push("status = ?"),j.push($.status);let D=Math.max(1,Math.min($.limit??50,200)),N=v(_);try{return N.query(`SELECT * FROM durable_knowledge_records + ${U.length?`WHERE ${U.join(" AND ")}`:""} ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(...I,U).map(YP)}finally{E.close()}}import{createHash as RH,randomUUID as zR}from"crypto";function YH(_,$){return`${_}_${RH("sha256").update($).digest("hex").slice(0,20)}`}function QH(_){let $=w(_);try{let D=$.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(D.map((I)=>[I.status,I.n]))}finally{$.close()}}function gR(_,$){let D=W4($.modelRef,$.config),I=f_(D),U=w(_);try{return U.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + LIMIT ?`).all(...j,D).map(tO)}finally{N.close()}}import{createHash as bq,randomUUID as DR}from"crypto";function wq(_,$){return`${_}_${bq("sha256").update($).digest("hex").slice(0,20)}`}function vq(_){let $=v(_);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 jR(_,$){let U=B4($.modelRef,$.config),j=c_(U),D=v(_);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(I.provider,I.model)}finally{U.close()}}function XR(_){c(_.dbPath);let $=w(_.dbPath);try{let D=$.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,I=$.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,U=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,E=gR(_.dbPath,_).length,j=$.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:D,chunks:I,vector_entries:U,missing_embeddings:E,queued:QH(_.dbPath),stale_revisions:j}}finally{$.close()}}function KP(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),D=_.reason??"missing_embedding",I=gR(_.dbPath,_),U=w(_.dbPath),E=0,j=0;try{U.transaction(()=>{for(let O of I){let S=YH("rq",`embedding\x00${O.chunk_id}\x00${D}`);if(U.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",O.chunk_id,D)){j+=1;continue}U.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[S,"embedding",O.chunk_id,O.source_uri,D,"pending",JSON.stringify({source_revision_id:O.source_revision_id}),$,$]),E+=1}})()}finally{U.close()}return{enqueued:E,already_queued:j,reason:D}}function KH(_){let $=w(_);try{let D=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,I=$.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:D,vectorEntries:I}}finally{$.close()}}function TH(_,$,D){let I=W4($.modelRef,$.config),U=f_(I),E=w(_);try{return E.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(j.provider,j.model)}finally{D.close()}}function NR(_){c(_.dbPath);let $=v(_.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,N=jR(_.dbPath,_).length,E=$.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:N,queued:vq(_.dbPath),stale_revisions:E}}finally{$.close()}}function pO(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",j=jR(_.dbPath,_),D=v(_.dbPath),N=0,E=0;try{D.transaction(()=>{for(let W of j){let J=wq("rq",`embedding\x00${W.chunk_id}\x00${U}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",W.chunk_id,U)){E+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,"embedding",W.chunk_id,W.source_uri,U,"pending",JSON.stringify({source_revision_id:W.source_revision_id}),$,$]),N+=1}})()}finally{D.close()}return{enqueued:N,already_queued:E,reason:U}}function fq(_){let $=v(_);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 xq(_,$,U){let j=B4($.modelRef,$.config),D=c_(j),N=v(_);try{return N.run(`UPDATE reindex_queue SET status = ?, updated_at = ? WHERE kind = ? AND status = ? @@ -1019,13 +1019,13 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` WHERE v.chunk_id = reindex_queue.target_id AND v.provider = ? AND v.model = ? - )`,["completed",D,"embedding","pending",U.provider,U.model]).changes}finally{E.close()}}async function GR(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),D=`run_${zR()}`,I=_.full?KH(_.dbPath):{embeddings:0,vectorEntries:0},U=KP({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),E=w(_.dbPath);try{E.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[D,"embedding-refresh",_.full?"full":"incremental","running","local",W4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:U}),$,$])}finally{E.close()}let j=await AI({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),N=TH(_.dbPath,_,$),O=w(_.dbPath);try{O.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:U,indexed:j,completed_queue_items:N}),$,D]),O.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${zR()}`,D,"info","embedding_refresh_completed",JSON.stringify({queued:U,indexed:j,completed_queue_items:N}),$])}finally{O.close()}return{run_id:D,full:_.full===!0,deleted_embeddings:I.embeddings,deleted_vector_entries:I.vectorEntries,queued:U,indexed:j,completed_queue_items:N}}import{createHash as QR}from"crypto";import{existsSync as KR,lstatSync as FH,readdirSync as VH,readFileSync as BH,statSync as MH}from"fs";import{basename as ND,extname as ZH,join as HH,relative as bH,resolve as BP,sep as qH}from"path";import{pathToFileURL as RR}from"url";var kH=100,CH=25,vH=262144,wH=5,rH=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),TP=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),fH=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),xH=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,DN=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function FP(_){return`sha256:${QR("sha256").update(_).digest("hex")}`}function uH(_){return`sha256:${QR("sha256").update(_).digest("hex")}`}function z1(_){return _.split(qH).join("/")}function VP(_,$){let D=bH(_,$);return D?z1(D):ND($)}function t6(_){return rH.has(ZH(_).toLowerCase())}function YR(_){return z1(_).split("/").some(($)=>xH.test($))}function TR(_,$=220){let D=_.normalize("NFKC").trim().replace(/\s+/g," ");if(D.length<=$)return D;return`${D.slice(0,Math.max(0,$-1)).trim()}...`}function FR(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function VR(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function yH(){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:(_)=>TP.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=z1(_),D=ND($);if(TP.has(D)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&t6($))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 $=z1(_);return $==="CLAUDE.md"||/^rules\//.test($)&&t6($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=z1(_),D=ND($);if(TP.has(D)||D==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&t6($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>DN.test(_)&&t6(_)}},{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:(_)=>DN.test(_)&&t6(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>DN.test(_)&&t6(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>DN.test(_)&&t6(_)}}]}function hH(_,$){let D=new Map;for(let I of yH()){let U=BP(_,I.base);if(!KR(U))continue;if(MH(U).isFile()){let j=ND(U);if(I.spec.include(j))D.set(U,{...I.spec,absPath:U});continue}BR({basePath:U,depth:0,maxDepth:I.maxDepth??wH,spec:I.spec,candidates:D,skipped:$})}return[...D.values()].sort((I,U)=>{if(I.precedence.rank!==U.precedence.rank)return I.precedence.rank-U.precedence.rank;return I.absPath.localeCompare(U.absPath)})}function BR(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let D of VH(_.basePath,{withFileTypes:!0})){let I=HH(_.basePath,D.name),U=VP($,I);if(D.isSymbolicLink())continue;if(D.isDirectory()){if(fH.has(D.name))continue;if(YR(U)){_.skipped.push({source_family:_.spec.family,source_path:I,reason:"sensitive_path"});continue}BR({..._,rootBasePath:$,basePath:I,depth:_.depth+1});continue}if(!D.isFile())continue;let E=VP(BP($),I);if(YR(E)){_.skipped.push({source_family:_.spec.family,source_path:I,reason:"sensitive_path"});continue}if(!_.spec.include(E))continue;if(!t6(I))continue;_.candidates.set(I,{..._.spec,absPath:I})}}function cH(_){if((_.tags??[]).map((I)=>I.toLowerCase()).some((I)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(I)))return!0;let D=`${_.title} -${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(D)}function MR(_,$){let D={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:D,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 nH(_){let $=FH(_.candidate.absPath),D=_.candidate.absPath,I=VP(_.root,D);if($.size>_.maxBytesPerFile){let z=RR(D).href;return{evidence:{source_family:_.candidate.family,title:ND(D),source_path:D,source_path_ref:I,source_ref:z,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 U=BH(D),E=U.toString("utf8"),j=u_(E,_.safetyPolicy),O=j.findings.some((z)=>z.severity==="high")?"refused":j.findings.length>0?"redacted":"clean",S=FP(j.text),L=RR(D).href,W=FR(j.text),g={source_family:_.candidate.family,title:ND(D),source_path:D,source_path_ref:I,source_ref:L,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:uH(U),content_hash:S,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:O,redactions:j.findings.map((z)=>({type:z.type,severity:z.severity})),citations:[VR({sourceRef:L,sourcePath:D,lineCount:W,contentHash:S})],bytes:U.byteLength,line_count:W,importable:O!=="refused",skipped_reason:O==="refused"?"secret_refused":null,preview:O==="refused"?null:TR(j.text)};return{evidence:g,text:j.text,manifest:g.importable?MR(g,j.text):null}}function dH(_){let $=u_(_.item.content,_.safetyPolicy),I=$.findings.some((S)=>S.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",U=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,E=FP($.text),j=FP(_.item.content),N=FR($.text),O={source_family:"legacy_json",title:_.item.title,source_path:_.legacyStorePath,source_path_ref:`legacy-json:${_.item.id}`,source_ref:U,owner:"legacy-json",scope:_.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:j,content_hash:E,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:I,redactions:$.findings.map((S)=>({type:S.type,severity:S.severity})),citations:[VR({sourceRef:U,sourcePath:_.legacyStorePath,lineCount:N,contentHash:E})],bytes:Buffer.byteLength(_.item.content),line_count:N,importable:I!=="refused",skipped_reason:I==="refused"?"secret_refused":null,preview:I==="refused"?null:TR($.text),legacy_json_id:_.item.id};return{evidence:O,text:$.text,manifest:O.importable?MR(O,$.text):null}}function mH(_){if(!_.legacyStorePath||!KR(_.legacyStorePath))return 0;let $=new Map(_.records.filter((D)=>D.legacy_json_id&&D.importable).map((D)=>[D.legacy_json_id,D]));if($.size===0)return 0;return y$(_.legacyStorePath,()=>{let D=I4(_.legacyStorePath);if(!D.exists)return 0;let I=0;for(let U of D.items){let E=$.get(U.id);if(!E)continue;let j=U.metadata??{};U.archived=!0,U.metadata={...j,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:E.source_ref,source_hash:E.source_hash,content_hash:E.content_hash,data_loss:!1}},U.tags=[...new Set([...U.tags??[],"deprecated:knowledge-rules-import"])],U.updated_at=_.now,I+=1}if(I>0)_6(_.legacyStorePath,{items:D.items});return I})}async function ZR(_={}){let $=BP(_.root??process.cwd()),D=_.scope??"global",I=_.owner??"global-agent-rules-standard",U=_.dryRun!==!1,E=(_.now??new Date).toISOString(),j=Math.max(1,Math.min(_.maxItems??kH,1000)),N=Math.max(1,Math.min(_.limit??CH,100)),O=Math.max(1024,Math.min(_.maxBytesPerFile??vH,2097152)),S=[],W=hH($,S).slice(0,j).map((b)=>nH({root:$,candidate:{...b,owner:b.owner==="repository"?I:b.owner,scope:D},discoveredAt:E,maxBytesPerFile:O,safetyPolicy:_.safetyPolicy})),z=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:I4(_.legacyStorePath)).items.filter((b)=>b.archived!==!0&&cH(b)).slice(0,j),G=z.map((b)=>dH({item:b,legacyStorePath:_.legacyStorePath,discoveredAt:E,scope:D,safetyPolicy:_.safetyPolicy})),J=[...W,...G].slice(0,j),P=J.map((b)=>b.evidence),R=J.filter((b)=>b.manifest).map((b)=>b.manifest),T=P.filter((b)=>b.redaction_status==="refused").length,Y=P.slice(0,N),Q=S.slice(0,N),F=null,B=0;if(!U){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(R.length>0)F=await A4({dbPath:_.dbPath,items:R,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:j});if(_.deprecateLegacy!==!1)B=mH({legacyStorePath:_.legacyStorePath,records:P,now:E})}return{ok:T===0||R.length>0||U,workflow:"global-rules-provenance-import",dry_run:U,writes_performed:!U,root:$,scope:D,owner:I,discovered_at:E,max_items:j,evidence_limit:N,records_seen:P.length,records_importable:R.length,records_refused:T,records_skipped:S.length,evidence_truncated:P.length>Y.length,skipped_truncated:S.length>Q.length,evidence:Y,skipped:Q,import_result:F,legacy:{store_path:_.legacyStorePath??null,candidates:z.length,promoted:G.filter((b)=>b.manifest).length,deprecated:B,data_loss:!1},message:U?`Discovered ${P.length} rule source(s); ${R.length} importable, ${T} refused`:`Imported ${F?.items_seen??0} rule source(s); ${B} legacy note(s) deprecated`}}import{createHash as lH,randomUUID as HR}from"crypto";function iH(_){return`sha256:${lH("sha256").update(_).digest("hex")}`}function bR(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function qR(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function o6(_){return typeof _==="string"&&_.length>0?_:null}function tH(_){let $=qR(_),D=o6($.url)??o6($.uri)??o6($.sourceUrl);if(!D)return null;return{url:D,title:o6($.title)??o6($.name),snippet:o6($.snippet)??o6($.text)??o6($.description),provider_metadata:$}}function UN(_,$){if(Array.isArray(_)){for(let U of _)UN(U,$);return}let D=tH(_);if(D)$.set(D.url,D);let I=qR(_);for(let U of["sources","results","citations","annotations","output"])if(I[U])UN(I[U],$)}function oH(_,$){return Array.from({length:Math.min($,3)},(D,I)=>({url:`https://example.com/knowledge-web-${I+1}`,title:`Fake web source ${I+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:I+1}}))}async function pH(_){let{generateText:$}=await import("ai"),{createOpenAI:D}=await import("@ai-sdk/openai"),I=A6(_.config,"openai"),U=D({apiKey:_.env[I.api_key_env],baseURL:I.base_url}),E=U.tools?.webSearch;if(!E)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:U(_.model),prompt:_.query,tools:{web_search:E({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function eH(_){let{generateText:$}=await import("ai"),{createAnthropic:D}=await import("@ai-sdk/anthropic"),I=A6(_.config,"anthropic"),U=D({apiKey:_.env[I.api_key_env],baseURL:I.base_url}),E=U.tools?.webSearch_20250305??U.tools?.webSearch;if(!E)throw Error("Anthropic provider does not expose a web search tool.");return $({model:U(_.model),prompt:_.query,tools:{web_search:E({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function aH(_,$,D){if(!_.fileResults||$.length===0)return 0;let I=$.map((E)=>{let j=[E.title,E.snippet,E.url].filter(Boolean).join(` -`),N=iH(j);return{source_ref:E.url,name:E.title??E.url,url:E.url,mime:"text/plain",hash:N,revision:N,status:"active",updated_at:D,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:E.url,content_source:"provider_web_search",provider_metadata:E.provider_metadata},extracted_text:j}});return(await A4({dbPath:_.dbPath,items:I,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(D)})).sources_upserted}async function kR(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let D=_.env??process.env,I=(_.now??new Date).toISOString(),U=Math.max(1,Math.min(_.limit??5,20)),E=Math.max(1,Math.min(_.maxUses??3,10)),j=_.domains??[],N=T$(_.modelRef??(_.provider?`${_.provider}:${A6(_.config,_.provider).default_model}`:"default"),_.config),O=f_(N),S=_.provider??O.provider,L=O.provider===S?O.model:A6(_.config,S).default_model,W=`run_${HR()}`;if(!_.fake&&_.safetyPolicy)Y0(_.safetyPolicy);if(!_.fake&&S!=="openai"&&S!=="anthropic")throw Error(`Provider ${S} does not expose native web search yet.`);if(!_.fake)S4(S,_.config,D);c(_.dbPath);let g=w(_.dbPath);try{g.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,"provider-web-search",$,"running",S,L,JSON.stringify({domains:j,max_uses:E,fake:_.fake===!0}),I,I]),R_(g,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:S,model:L,domains:j,max_uses:E},created_at:I})}finally{g.close()}let z="",G=[],J={input_tokens:bR($),output_tokens:0,cost_usd:0},P=[];if(_.fake)G=oH($,U),z=`Fake web search answer for: ${$}`,J.output_tokens=bR(z);else{let T=S==="openai"?await pH({query:$,model:L,config:_.config,env:D,maxUses:E,domains:j}):await eH({query:$,model:L,config:_.config,env:D,maxUses:E,domains:j});z=T.text;let Y=new Map;UN(T.sources,Y),UN(T.toolResults,Y),G=Array.from(Y.values()).slice(0,U);let Q=L4({provider:S,model:L,usage:T.usage,providerMetadata:T.providerMetadata});J={input_tokens:Q.input_tokens,output_tokens:Q.output_tokens,cost_usd:Q.cost_usd}}let X=await aH(_,G,I),R=w(_.dbPath);try{R.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:j,max_uses:E,sources:G.length,filed_sources:X,fake:_.fake===!0}),I,W]),R.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${HR()}`,W,"info","provider_web_search_completed",JSON.stringify({sources:G.length,filed_sources:X}),I]),T0(R,{run_id:W,provider:S,model:L,input_tokens:J.input_tokens,output_tokens:J.output_tokens,cost_usd:J.cost_usd,metadata:{web_search:!0,sources:G.length,filed_sources:X},created_at:I})}finally{R.close()}if(G.length===0)P.push("no_web_sources_returned");return{run_id:W,query:$,provider:S,model:L,answer:z,sources:G,filed_sources:X,usage:J,warnings:P}}import{createHash as sH,randomUUID as _b}from"crypto";function AD(_,$){return`${_}_${sH("sha256").update($).digest("hex").slice(0,20)}`}function MP(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function $b(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Db(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function CR(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Ub(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function vR(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function Ib(_,$){let D=Math.max(1,Math.min($.limit??10,50)),I=$.sourceRefs??[],U=Ub($.query),E=["c.kind = 'source'"],j=[];if(I.length>0){E.push(`(${I.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let N of I)j.push(N,`%${vR(N)}%`)}if(U.length>0){E.push(`(${U.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let N of U)j.push(`%${vR(N)}%`)}return j.push(D),_.query(`SELECT + )`,["completed",U,"embedding","pending",D.provider,D.model]).changes}finally{N.close()}}async function ER(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${DR()}`,j=_.full?fq(_.dbPath):{embeddings:0,vectorEntries:0},D=pO({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),N=v(_.dbPath);try{N.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",B4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{N.close()}let E=await Hj({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),I=xq(_.dbPath,_,$),W=v(_.dbPath);try{W.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:E,completed_queue_items:I}),$,U]),W.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${DR()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:E,completed_queue_items:I}),$])}finally{W.close()}return{run_id:U,full:_.full===!0,deleted_embeddings:j.embeddings,deleted_vector_entries:j.vectorEntries,queued:D,indexed:E,completed_queue_items:I}}import{createHash as WR}from"crypto";import{existsSync as JR,lstatSync as yq,readdirSync as uq,readFileSync as hq,statSync as rq}from"fs";import{basename as QU,extname as cq,join as mq,relative as nq,resolve as _z,sep as dq}from"path";import{pathToFileURL as IR}from"url";var lq=100,iq=25,tq=262144,oq=5,pq=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),aO=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),aq=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),eq=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,BI=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function eO(_){return`sha256:${WR("sha256").update(_).digest("hex")}`}function sq(_){return`sha256:${WR("sha256").update(_).digest("hex")}`}function C1(_){return _.split(dq).join("/")}function sO(_,$){let U=nq(_,$);return U?C1(U):QU($)}function j4(_){return pq.has(cq(_).toLowerCase())}function AR(_){return C1(_).split("/").some(($)=>eq.test($))}function LR(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function SR(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function PR(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function _k(){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:(_)=>aO.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=C1(_),U=QU($);if(aO.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&j4($))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 $=C1(_);return $==="CLAUDE.md"||/^rules\//.test($)&&j4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=C1(_),U=QU($);if(aO.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&j4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>BI.test(_)&&j4(_)}},{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:(_)=>BI.test(_)&&j4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>BI.test(_)&&j4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>BI.test(_)&&j4(_)}}]}function $k(_,$){let U=new Map;for(let j of _k()){let D=_z(_,j.base);if(!JR(D))continue;if(rq(D).isFile()){let E=QU(D);if(j.spec.include(E))U.set(D,{...j.spec,absPath:D});continue}OR({basePath:D,depth:0,maxDepth:j.maxDepth??oq,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 OR(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of uq(_.basePath,{withFileTypes:!0})){let j=mq(_.basePath,U.name),D=sO($,j);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(aq.has(U.name))continue;if(AR(D)){_.skipped.push({source_family:_.spec.family,source_path:j,reason:"sensitive_path"});continue}OR({..._,rootBasePath:$,basePath:j,depth:_.depth+1});continue}if(!U.isFile())continue;let N=sO(_z($),j);if(AR(N)){_.skipped.push({source_family:_.spec.family,source_path:j,reason:"sensitive_path"});continue}if(!_.spec.include(N))continue;if(!j4(j))continue;_.candidates.set(j,{..._.spec,absPath:j})}}function Uk(_){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 zR(_,$){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 Dk(_){let $=yq(_.candidate.absPath),U=_.candidate.absPath,j=sO(_.root,U);if($.size>_.maxBytesPerFile){let z=IR(U).href;return{evidence:{source_family:_.candidate.family,title:QU(U),source_path:U,source_path_ref:j,source_ref:z,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=hq(U),N=D.toString("utf8"),E=d_(N,_.safetyPolicy),W=E.findings.some((z)=>z.severity==="high")?"refused":E.findings.length>0?"redacted":"clean",J=eO(E.text),L=IR(U).href,S=SR(E.text),X={source_family:_.candidate.family,title:QU(U),source_path:U,source_path_ref:j,source_ref:L,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:sq(D),content_hash:J,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:W,redactions:E.findings.map((z)=>({type:z.type,severity:z.severity})),citations:[PR({sourceRef:L,sourcePath:U,lineCount:S,contentHash:J})],bytes:D.byteLength,line_count:S,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:LR(E.text)};return{evidence:X,text:E.text,manifest:X.importable?zR(X,E.text):null}}function jk(_){let $=d_(_.item.content,_.safetyPolicy),j=$.findings.some((J)=>J.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,N=eO($.text),E=eO(_.item.content),I=SR($.text),W={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:E,content_hash:N,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:j,redactions:$.findings.map((J)=>({type:J.type,severity:J.severity})),citations:[PR({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:I,contentHash:N})],bytes:Buffer.byteLength(_.item.content),line_count:I,importable:j!=="refused",skipped_reason:j==="refused"?"secret_refused":null,preview:j==="refused"?null:LR($.text),legacy_json_id:_.item.id};return{evidence:W,text:$.text,manifest:W.importable?zR(W,$.text):null}}function Nk(_){if(!_.legacyStorePath||!JR(_.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 t$(_.legacyStorePath,()=>{let U=z4(_.legacyStorePath);if(!U.exists)return 0;let j=0;for(let D of U.items){let N=$.get(D.id);if(!N)continue;let E=D.metadata??{};D.archived=!0,D.metadata={...E,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:N.source_ref,source_hash:N.source_hash,content_hash:N.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,j+=1}if(j>0)J6(_.legacyStorePath,{items:U.items});return j})}async function XR(_={}){let $=_z(_.root??process.cwd()),U=_.scope??"global",j=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,N=(_.now??new Date).toISOString(),E=Math.max(1,Math.min(_.maxItems??lq,1000)),I=Math.max(1,Math.min(_.limit??iq,100)),W=Math.max(1024,Math.min(_.maxBytesPerFile??tq,2097152)),J=[],S=$k($,J).slice(0,E).map((q)=>Dk({root:$,candidate:{...q,owner:q.owner==="repository"?j:q.owner,scope:U},discoveredAt:N,maxBytesPerFile:W,safetyPolicy:_.safetyPolicy})),z=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:z4(_.legacyStorePath)).items.filter((q)=>q.archived!==!0&&Uk(q)).slice(0,E),R=z.map((q)=>jk({item:q,legacyStorePath:_.legacyStorePath,discoveredAt:N,scope:U,safetyPolicy:_.safetyPolicy})),P=[...S,...R].slice(0,E),O=P.map((q)=>q.evidence),Q=P.filter((q)=>q.manifest).map((q)=>q.manifest),B=O.filter((q)=>q.redaction_status==="refused").length,G=O.slice(0,I),T=J.slice(0,I),F=null,g=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(Q.length>0)F=await Q4({dbPath:_.dbPath,items:Q,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:E});if(_.deprecateLegacy!==!1)g=Nk({legacyStorePath:_.legacyStorePath,records:O,now:N})}return{ok:B===0||Q.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:U,owner:j,discovered_at:N,max_items:E,evidence_limit:I,records_seen:O.length,records_importable:Q.length,records_refused:B,records_skipped:J.length,evidence_truncated:O.length>G.length,skipped_truncated:J.length>T.length,evidence:G,skipped:T,import_result:F,legacy:{store_path:_.legacyStorePath??null,candidates:z.length,promoted:R.filter((q)=>q.manifest).length,deprecated:g,data_loss:!1},message:D?`Discovered ${O.length} rule source(s); ${Q.length} importable, ${B} refused`:`Imported ${F?.items_seen??0} rule source(s); ${g} legacy note(s) deprecated`}}import{createHash as Ek,randomUUID as YR}from"crypto";function Ik(_){return`sha256:${Ek("sha256").update(_).digest("hex")}`}function RR(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function QR(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function N4(_){return typeof _==="string"&&_.length>0?_:null}function Ak(_){let $=QR(_),U=N4($.url)??N4($.uri)??N4($.sourceUrl);if(!U)return null;return{url:U,title:N4($.title)??N4($.name),snippet:N4($.snippet)??N4($.text)??N4($.description),provider_metadata:$}}function FI(_,$){if(Array.isArray(_)){for(let D of _)FI(D,$);return}let U=Ak(_);if(U)$.set(U.url,U);let j=QR(_);for(let D of["sources","results","citations","annotations","output"])if(j[D])FI(j[D],$)}function Wk(_,$){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 Jk(_){let{generateText:$}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),j=R6(_.config,"openai"),D=U({apiKey:_.env[j.api_key_env],baseURL:j.base_url}),N=D.tools?.webSearch;if(!N)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:N({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Lk(_){let{generateText:$}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),j=R6(_.config,"anthropic"),D=U({apiKey:_.env[j.api_key_env],baseURL:j.base_url}),N=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!N)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:N({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function Sk(_,$,U){if(!_.fileResults||$.length===0)return 0;let j=$.map((N)=>{let E=[N.title,N.snippet,N.url].filter(Boolean).join(` +`),I=Ik(E);return{source_ref:N.url,name:N.title??N.url,url:N.url,mime:"text/plain",hash:I,revision:I,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:N.url,content_source:"provider_web_search",provider_metadata:N.provider_metadata},extracted_text:E}});return(await Q4({dbPath:_.dbPath,items:j,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function GR(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let U=_.env??process.env,j=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),N=Math.max(1,Math.min(_.maxUses??3,10)),E=_.domains??[],I=k$(_.modelRef??(_.provider?`${_.provider}:${R6(_.config,_.provider).default_model}`:"default"),_.config),W=c_(I),J=_.provider??W.provider,L=W.provider===J?W.model:R6(_.config,J).default_model,S=`run_${YR()}`;if(!_.fake&&_.safetyPolicy)C0(_.safetyPolicy);if(!_.fake&&J!=="openai"&&J!=="anthropic")throw Error(`Provider ${J} does not expose native web search yet.`);if(!_.fake)T4(J,_.config,U);c(_.dbPath);let X=v(_.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[S,"provider-web-search",$,"running",J,L,JSON.stringify({domains:E,max_uses:N,fake:_.fake===!0}),j,j]),G_(X,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:J,model:L,domains:E,max_uses:N},created_at:j})}finally{X.close()}let z="",R=[],P={input_tokens:RR($),output_tokens:0,cost_usd:0},O=[];if(_.fake)R=Wk($,D),z=`Fake web search answer for: ${$}`,P.output_tokens=RR(z);else{let B=J==="openai"?await Jk({query:$,model:L,config:_.config,env:U,maxUses:N,domains:E}):await Lk({query:$,model:L,config:_.config,env:U,maxUses:N,domains:E});z=B.text;let G=new Map;FI(B.sources,G),FI(B.toolResults,G),R=Array.from(G.values()).slice(0,D);let T=V4({provider:J,model:L,usage:B.usage,providerMetadata:B.providerMetadata});P={input_tokens:T.input_tokens,output_tokens:T.output_tokens,cost_usd:T.cost_usd}}let Y=await Sk(_,R,j),Q=v(_.dbPath);try{Q.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:E,max_uses:N,sources:R.length,filed_sources:Y,fake:_.fake===!0}),j,S]),Q.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${YR()}`,S,"info","provider_web_search_completed",JSON.stringify({sources:R.length,filed_sources:Y}),j]),v0(Q,{run_id:S,provider:J,model:L,input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd,metadata:{web_search:!0,sources:R.length,filed_sources:Y},created_at:j})}finally{Q.close()}if(R.length===0)O.push("no_web_sources_returned");return{run_id:S,query:$,provider:J,model:L,answer:z,sources:R,filed_sources:Y,usage:P,warnings:O}}import{createHash as Pk,randomUUID as Ok}from"crypto";function GU(_,$){return`${_}_${Pk("sha256").update($).digest("hex").slice(0,20)}`}function $z(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function zk(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Xk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function TR(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Yk(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function VR(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function Rk(_,$){let U=Math.max(1,Math.min($.limit??10,50)),j=$.sourceRefs??[],D=Yk($.query),N=["c.kind = 'source'"],E=[];if(j.length>0){N.push(`(${j.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let I of j)E.push(I,`%${VR(I)}%`)}if(D.length>0){N.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let I of D)E.push(`%${VR(I)}%`)}return E.push(U),_.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -1039,12 +1039,12 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| FROM chunks c JOIN source_revisions sr ON sr.id = c.source_revision_id JOIN sources s ON s.id = sr.source_id - WHERE ${E.join(" AND ")} + WHERE ${N.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...j)}function wR(_,$=420){let D=_.replace(/\s+/g," ").trim();return D.length<=$?D:`${D.slice(0,$-1).trim()}...`}function Eb(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function jb(_,$,D){let I=$.map((E,j)=>{return`- [${`S${j+1}`}] ${E.source_title??E.source_uri??"Source"} (${E.source_uri??"unknown"}, revision ${E.revision??"unknown"}, hash ${E.hash??"unknown"})`}),U=$.map((E,j)=>{let N=`S${j+1}`;return[`## ${E.source_title??`Source ${j+1}`}`,"",wR(E.text),"",`Citation: [${N}]`].join(` -`)});return[`# ${_}`,"",`Generated at: ${D}`,"","## Sources","",...I,"",...U,""].join(` -`)}async function IN(_,$){let D=await _.put($);return{key:D.key,uri:D.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:D.modified_at,...R0($.body),metadata:{...$.metadata??{}}}}async function rR(_,$,D){let{year:I,month:U,day:E}=$b(D),j=`logs/${I}/${U}/${E}.jsonl`,N="";try{N=await _.getText(j)}catch{N=""}return IN(_,{key:j,body:`${N}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:N$({generated_from:String($.event??"wiki_log"),artifact_key:j})}})}function ZP(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + LIMIT ?`).all(...E)}function BR(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function Qk(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function Gk(_,$,U){let j=$.map((N,E)=>{return`- [${`S${E+1}`}] ${N.source_title??N.source_uri??"Source"} (${N.source_uri??"unknown"}, revision ${N.revision??"unknown"}, hash ${N.hash??"unknown"})`}),D=$.map((N,E)=>{let I=`S${E+1}`;return[`## ${N.source_title??`Source ${E+1}`}`,"",BR(N.text),"",`Citation: [${I}]`].join(` +`)});return[`# ${_}`,"",`Generated at: ${U}`,"","## Sources","",...j,"",...D,""].join(` +`)}async function KI(_,$){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,...k0($.body),metadata:{...$.metadata??{}}}}async function FR(_,$,U){let{year:j,month:D,day:N}=zk(U),E=`logs/${j}/${D}/${N}.jsonl`,I="";try{I=await _.getText(E)}catch{I=""}return KI(_,{key:E,body:`${I}${JSON.stringify($)} +`,content_type:"application/x-ndjson",metadata:{provenance:P$({generated_from:String($.event??"wiki_log"),artifact_key:E})}})}function Uz(_,$){_.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, @@ -1052,41 +1052,41 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify({artifact_key:$.path,provenance:$.provenance}),$.now,$.now]);let D=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let U of D)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[U.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let I=AD("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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,$.pageId,"wiki",0,$.body,Db($.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 (?, ?, ?, ?)",[I,$.body,$.title,$.artifactUri])}function fR(_,$,D,I){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);for(let U of D)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[AD("cit",`${$}\x00${U.source_uri}\x00${U.chunk_id??_b()}`),$,U.chunk_id,U.source_uri,U.quote,U.start_offset,U.end_offset,JSON.stringify(U.metadata),I]);return D.length}function xR(_,$){return _.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify({artifact_key:$.path,provenance:$.provenance}),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let j=GU("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,Xk($.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 KR(_,$,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[GU("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??Ok()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),j]);return U.length}function gR(_,$){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`,[AD("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function Nb(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function uR(_){let $=_.now??new Date,D=$.toISOString();c(_.dbPath);let I=w(_.dbPath),U;try{U=Ib(I,_)}finally{I.close()}if(U.length===0)throw Error("No source chunks matched wiki compile input.");let E=Eb(_,U),N=`wiki/generated/${MP(E)}.md`,O=jb(E,U,D),S=U.map((F)=>{let B=CR(F.metadata_json);return typeof B.source_ref==="string"?B.source_ref:F.source_uri}).filter((F)=>Boolean(F)),L=N$({generated_from:"wiki_compile",artifact_key:N,source_refs:S}),W=await IN(_.store,{key:N,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),g=AD("wiki",N),z=U.map((F)=>({chunk_id:F.chunk_id,source_uri:F.source_uri??"unknown",quote:wR(F.text,240),start_offset:F.start_offset,end_offset:F.end_offset,metadata:{source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,source_ref:CR(F.metadata_json).source_ref??F.source_uri}})),G=Nb(E),J=`wiki/concepts/${MP(G)}.md`,P=[`# ${G}`,"",`Related page: [[${N}]]`,""].join(` -`),X=N$({generated_from:"wiki_compile_concept",artifact_key:J,source_refs:S}),R=await IN(_.store,{key:J,body:P,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),T=AD("wiki",J),Y=await rR(_.store,{ts:D,event:"wiki_compile_completed",page_key:N,source_refs:S,chunks_seen:U.length},$),Q=w(_.dbPath);try{j6(Q,[W,R,Y],$),ZP(Q,{pageId:g,path:N,title:E,artifactUri:W.uri,contentHash:W.hash??"",body:O,provenance:L,now:D}),ZP(Q,{pageId:T,path:J,title:G,artifactUri:R.uri,contentHash:R.hash??"",body:P,provenance:X,now:D}),Q.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[g,T,"concept",D]);let F=fR(Q,g,z,D),B=xR(Q,{title:E,path:N,artifactUri:W.uri,contentHash:W.hash??"",now:D});return{page_id:g,path:N,artifact_uri:W.uri,content_hash:W.hash??"",chunks_seen:U.length,citations_written:F,concept_page_id:T,indexes_updated:B,log_key:Y.key,warnings:[]}}finally{Q.close()}}async function yR(_){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,D=$.toISOString(),I=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,E=`wiki/answers/${MP(I)}.md`,j=_.context.citations,N=[`# ${I}`,"",_.answer,"","## Citations","",...j.map((G,J)=>`- [C${J+1}] ${G.source_ref??G.source_uri??G.artifact_path??G.artifact_uri??"unknown"} ${G.hash?`(hash ${G.hash})`:""}`),""].join(` -`),O=j.map((G)=>G.source_ref??G.source_uri).filter((G)=>Boolean(G)),S=N$({generated_from:"knowledge_answer",artifact_key:E,source_refs:O}),L=await IN(_.store,{key:E,body:N,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),W=await rR(_.store,{ts:D,event:"wiki_answer_filed",page_key:E,prompt:_.prompt,citations:j.length},$),g=AD("wiki",E),z=w(_.dbPath);try{j6(z,[L,W],$),ZP(z,{pageId:g,path:E,title:I,artifactUri:L.uri,contentHash:L.hash??"",body:N,provenance:S,now:D});let G=fR(z,g,j.map((J)=>({chunk_id:J.chunk_id,source_uri:J.source_uri??J.artifact_uri??"unknown",quote:J.quote,start_offset:J.start_offset,end_offset:J.end_offset,metadata:{source_ref:J.source_ref,artifact_path:J.artifact_path,revision:J.revision,hash:J.hash}})),D);return xR(z,{title:I,path:E,artifactUri:L.uri,contentHash:L.hash??"",now:D}),{approved:!0,durable_writes_performed:!0,page_id:g,path:E,artifact_uri:L.uri,citations_written:G,log_key:W.key,message:`Filed answer to ${E}`}}finally{z.close()}}function l4(_,$){_.push($)}function hR(_){c(_.dbPath);let $=w(_.dbPath),D=[];try{let I=$.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,U=$.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,E=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,j=$.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[GU("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function Tk(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function MR(_){let $=_.now??new Date,U=$.toISOString();c(_.dbPath);let j=v(_.dbPath),D;try{D=Rk(j,_)}finally{j.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let N=Qk(_,D),I=`wiki/generated/${$z(N)}.md`,W=Gk(N,D,U),J=D.map((F)=>{let g=TR(F.metadata_json);return typeof g.source_ref==="string"?g.source_ref:F.source_uri}).filter((F)=>Boolean(F)),L=P$({generated_from:"wiki_compile",artifact_key:I,source_refs:J}),S=await KI(_.store,{key:I,body:W,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),X=GU("wiki",I),z=D.map((F)=>({chunk_id:F.chunk_id,source_uri:F.source_uri??"unknown",quote:BR(F.text,240),start_offset:F.start_offset,end_offset:F.end_offset,metadata:{source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,source_ref:TR(F.metadata_json).source_ref??F.source_uri}})),R=Tk(N),P=`wiki/concepts/${$z(R)}.md`,O=[`# ${R}`,"",`Related page: [[${I}]]`,""].join(` +`),Y=P$({generated_from:"wiki_compile_concept",artifact_key:P,source_refs:J}),Q=await KI(_.store,{key:P,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),B=GU("wiki",P),G=await FR(_.store,{ts:U,event:"wiki_compile_completed",page_key:I,source_refs:J,chunks_seen:D.length},$),T=v(_.dbPath);try{X6(T,[S,Q,G],$),Uz(T,{pageId:X,path:I,title:N,artifactUri:S.uri,contentHash:S.hash??"",body:W,provenance:L,now:U}),Uz(T,{pageId:B,path:P,title:R,artifactUri:Q.uri,contentHash:Q.hash??"",body:O,provenance:Y,now:U}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[X,B,"concept",U]);let F=KR(T,X,z,U),g=gR(T,{title:N,path:I,artifactUri:S.uri,contentHash:S.hash??"",now:U});return{page_id:X,path:I,artifact_uri:S.uri,content_hash:S.hash??"",chunks_seen:D.length,citations_written:F,concept_page_id:B,indexes_updated:g,log_key:G.key,warnings:[]}}finally{T.close()}}async function ZR(_){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,N=`wiki/answers/${$z(j)}.md`,E=_.context.citations,I=[`# ${j}`,"",_.answer,"","## Citations","",...E.map((R,P)=>`- [C${P+1}] ${R.source_ref??R.source_uri??R.artifact_path??R.artifact_uri??"unknown"} ${R.hash?`(hash ${R.hash})`:""}`),""].join(` +`),W=E.map((R)=>R.source_ref??R.source_uri).filter((R)=>Boolean(R)),J=P$({generated_from:"knowledge_answer",artifact_key:N,source_refs:W}),L=await KI(_.store,{key:N,body:I,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),S=await FR(_.store,{ts:U,event:"wiki_answer_filed",page_key:N,prompt:_.prompt,citations:E.length},$),X=GU("wiki",N),z=v(_.dbPath);try{X6(z,[L,S],$),Uz(z,{pageId:X,path:N,title:j,artifactUri:L.uri,contentHash:L.hash??"",body:I,provenance:J,now:U});let R=KR(z,X,E.map((P)=>({chunk_id:P.chunk_id,source_uri:P.source_uri??P.artifact_uri??"unknown",quote:P.quote,start_offset:P.start_offset,end_offset:P.end_offset,metadata:{source_ref:P.source_ref,artifact_path:P.artifact_path,revision:P.revision,hash:P.hash}})),U);return gR(z,{title:j,path:N,artifactUri:L.uri,contentHash:L.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:X,path:N,artifact_uri:L.uri,citations_written:R,log_key:S.key,message:`Filed answer to ${N}`}}finally{z.close()}}function D0(_,$){_.push($)}function HR(_){c(_.dbPath);let $=v(_.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,N=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,E=$.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN citations c ON c.wiki_page_id = wp.id WHERE wp.status = 'active' AND wp.path LIKE 'wiki/generated/%' GROUP BY wp.id - HAVING COUNT(c.id) = 0`).all();for(let z of j)l4(D,{type:"missing_citation",severity:"error",page_id:z.id,path:z.path,message:"Generated wiki page has no citations."});let N=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id + HAVING COUNT(c.id) = 0`).all();for(let z of E)D0(U,{type:"missing_citation",severity:"error",page_id:z.id,path:z.path,message:"Generated wiki page has no citations."});let I=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN chunks ch ON ch.id = c.chunk_id - WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let z of N)l4(D,{type:"stale_citation",severity:"warn",page_id:z.page_id,path:z.path,source_uri:z.source_uri,chunk_id:z.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let O=$.query(`SELECT lower(title) AS title, COUNT(*) AS n + WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let z of I)D0(U,{type:"stale_citation",severity:"warn",page_id:z.page_id,path:z.path,source_uri:z.source_uri,chunk_id:z.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let W=$.query(`SELECT lower(title) AS title, COUNT(*) AS n FROM wiki_pages WHERE status = 'active' GROUP BY lower(title) - HAVING COUNT(*) > 1`).all();for(let z of O)l4(D,{type:"duplicate_page",severity:"warn",message:`Duplicate active wiki title: ${z.title} (${z.n} pages).`});let S=$.query(`SELECT wp.id, wp.path + HAVING COUNT(*) > 1`).all();for(let z of W)D0(U,{type:"duplicate_page",severity:"warn",message:`Duplicate active wiki title: ${z.title} (${z.n} pages).`});let J=$.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN wiki_backlinks wb1 ON wb1.from_page_id = wp.id LEFT JOIN wiki_backlinks wb2 ON wb2.to_page_id = wp.id WHERE wp.status = 'active' AND wp.path NOT IN ('wiki/README.md') GROUP BY wp.id - HAVING COUNT(wb1.to_page_id) = 0 AND COUNT(wb2.from_page_id) = 0`).all();for(let z of S)l4(D,{type:"orphan_page",severity:"info",page_id:z.id,path:z.path,message:"Wiki page has no backlinks."});let L=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri + HAVING COUNT(wb1.to_page_id) = 0 AND COUNT(wb2.from_page_id) = 0`).all();for(let z of J)D0(U,{type:"orphan_page",severity:"info",page_id:z.id,path:z.path,message:"Wiki page has no backlinks."});let L=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN sources s ON s.uri = c.source_uri - WHERE s.id IS NULL AND c.source_uri NOT LIKE 'file://%' AND c.source_uri NOT LIKE 's3://%' AND c.source_uri NOT LIKE 'https://%' AND c.source_uri NOT LIKE 'open-files://%'`).all();for(let z of L)l4(D,{type:"unresolved_source_ref",severity:"error",page_id:z.page_id,path:z.path,source_uri:z.source_uri,message:"Citation source URI cannot be resolved to a known or allowed source ref."});let W=$.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let z of W)l4(D,{type:"contradiction_marker",severity:"warn",page_id:z.id,path:z.path,message:"Page metadata contains a contradiction marker."});let g=$.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 z of L)D0(U,{type:"unresolved_source_ref",severity:"error",page_id:z.page_id,path:z.path,source_uri:z.source_uri,message:"Citation source URI cannot be resolved to a known or allowed source ref."});let S=$.query("SELECT id, path FROM wiki_pages WHERE lower(metadata_json) LIKE '%contradiction%'").all();for(let z of S)D0(U,{type:"contradiction_marker",severity:"warn",page_id:z.id,path:z.path,message:"Page metadata contains a contradiction marker."});let X=$.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 @@ -1094,7 +1094,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 z of g)l4(D,{type:"new_article_candidate",severity:"info",chunk_id:z.chunk_id,source_uri:z.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:D.every((z)=>z.severity!=="error"),issue_count:D.length,issues:D,counts:{active_pages:I,citations:U,backlinks:E,new_article_candidates:g.length}}}finally{$.close()}}import{createHash as Ab}from"crypto";function Ob(_){let $=String(_.getUTCFullYear()),D=String(_.getUTCMonth()+1).padStart(2,"0"),I=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:D,day:I}}function HP(_,$){return`${_}_${Ab("sha256").update($).digest("hex").slice(0,20)}`}function Sb(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function Lb(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let z of X)D0(U,{type:"new_article_candidate",severity:"info",chunk_id:z.chunk_id,source_uri:z.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((z)=>z.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:j,citations:D,backlinks:N,new_article_candidates:X.length}}}finally{$.close()}}import{createHash as Vk}from"crypto";function Bk(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),j=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:j}}function Dz(_,$){return`${_}_${Vk("sha256").update($).digest("hex").slice(0,20)}`}function Fk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function Kk(){return`# Knowledge Agent Schema v1 ## Source Rules @@ -1119,7 +1119,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 Wb(){return`# Knowledge Index +`}function gk(){return`# Knowledge Index This is a compact orientation index for agents. It is not the full search index. @@ -1134,19 +1134,19 @@ This is a compact orientation index for agents. It is not the full search index. Raw source files are resolved through open-files. This app stores source refs, citations, chunks, generated wiki artifacts, indexes, and run records. -`}function cR(){return`# Wiki +`}function qR(){return`# Wiki Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function nR(_,$=new Date){let{year:D,month:I,day:U}=Ob($),E="schemas/v1.md",j="indexes/root.md",N="wiki/README.md",O=`logs/${D}/${I}/${U}.jsonl`,S={ts:$.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},L=[{key:"schemas/v1.md",body:Lb(),content_type:"text/markdown"},{key:"indexes/root.md",body:Wb(),content_type:"text/markdown"},{key:"wiki/README.md",body:cR(),content_type:"text/markdown"},{key:O,body:`${JSON.stringify(S)} -`,content_type:"application/x-ndjson"}],W=await Promise.all(L.map(async(g)=>{let z=await _.put(g);return{key:z.key,uri:z.uri,kind:e3(g.key),content_type:g.content_type,modified_at:z.modified_at,metadata:{provenance:N$({generated_from:"wiki_layout_init",artifact_key:g.key,citation_required:g.key.startsWith("wiki/")||g.key.startsWith("indexes/")})},...R0(g.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:O,artifacts:W,written:["schemas/v1.md","indexes/root.md","wiki/README.md",O]}}function bP(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return N$({generated_from:"wiki_layout_init",artifact_key:_.key})}function Jb(_,$,D,I,U,E){let j=bP(I),N=HP("chk",`${$}\x00${I.hash??I.uri}`),O=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let S of O)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[S.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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,$,"wiki",0,U,Sb(U),0,U.length,JSON.stringify({artifact_key:I.key,artifact_uri:I.uri,content_hash:I.hash??null,provenance:j}),E]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[N,U,D,I.uri])}function dR(_,$,D=new Date){let I=D.toISOString(),U=$.find((j)=>j.key.endsWith("indexes/root.md")),E=$.find((j)=>j.key.endsWith("wiki/README.md"));if(U)_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) +`}async function kR(_,$=new Date){let{year:U,month:j,day:D}=Bk($),N="schemas/v1.md",E="indexes/root.md",I="wiki/README.md",W=`logs/${U}/${j}/${D}.jsonl`,J={ts:$.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},L=[{key:"schemas/v1.md",body:Kk(),content_type:"text/markdown"},{key:"indexes/root.md",body:gk(),content_type:"text/markdown"},{key:"wiki/README.md",body:qR(),content_type:"text/markdown"},{key:W,body:`${JSON.stringify(J)} +`,content_type:"application/x-ndjson"}],S=await Promise.all(L.map(async(X)=>{let z=await _.put(X);return{key:z.key,uri:z.uri,kind:uX(X.key),content_type:X.content_type,modified_at:z.modified_at,metadata:{provenance:P$({generated_from:"wiki_layout_init",artifact_key:X.key,citation_required:X.key.startsWith("wiki/")||X.key.startsWith("indexes/")})},...k0(X.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:W,artifacts:S,written:["schemas/v1.md","indexes/root.md","wiki/README.md",W]}}function jz(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return P$({generated_from:"wiki_layout_init",artifact_key:_.key})}function Mk(_,$,U,j,D,N){let E=jz(j),I=Dz("chk",`${$}\x00${j.hash??j.uri}`),W=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let J of W)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$]),_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,$,"wiki",0,D,Fk(D),0,D.length,JSON.stringify({artifact_key:j.key,artifact_uri:j.uri,content_hash:j.hash??null,provenance:E}),N]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[I,D,U,j.uri])}function CR(_,$,U=new Date){let j=U.toISOString(),D=$.find((E)=>E.key.endsWith("indexes/root.md")),N=$.find((E)=>E.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, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[HP("idx","root:indexes/root.md"),"root","root",U.uri,"root",JSON.stringify({artifact_key:U.key,content_hash:U.hash??null,provenance:bP(U)}),I,I]);if(E){let j=HP("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[Dz("idx","root:indexes/root.md"),"root","root",D.uri,"root",JSON.stringify({artifact_key:D.key,content_hash:D.hash??null,provenance:jz(D)}),j,j]);if(N){let E=Dz("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -1154,9 +1154,9 @@ 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`,[j,"wiki/README.md","Wiki",E.uri,E.hash??null,"active",JSON.stringify({artifact_key:E.key,provenance:bP(E)}),I,I]),Jb(_,j,"Wiki",E,cR(),I)}}import{createHash as mR}from"crypto";import{cpSync as fP,chmodSync as kP,existsSync as b$,lstatSync as pR,mkdirSync as EN,readdirSync as xP,readFileSync as g1,renameSync as Pb,rmSync as NN,writeFileSync as lR}from"fs";import{dirname as CP,join as R6,relative as zb}from"path";function vP(_,$=_){if(!b$(_))return[];let D=pR(_);if(D.isFile())return[zb($,_)||"."];if(!D.isDirectory())return[];return xP(_).flatMap((I)=>vP(R6(_,I),$)).sort()}function iR(_,$){if($.length===0)return{sha256:null,bytes:0};let D=mR("sha256"),I=0;for(let U of $){let E=R6(_,U),j=g1(E),N=mR("sha256").update(j).digest("hex");I+=j.byteLength,D.update(U),D.update("\x00"),D.update(N),D.update("\x00")}return{sha256:D.digest("hex"),bytes:I}}function gb(_){if(!b$(_))return null;let $=JSON.parse(g1(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function Xb(_){if(!b$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=f3(_);try{let D=$.query("PRAGMA integrity_check").get(),I=D?Object.values(D)[0]??null:null,U=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),E={};for(let j of U){let N=`"${j.name.replaceAll('"','""')}"`,O=$.query(`SELECT COUNT(*) AS n FROM ${N}`).get();E[j.name]=O?.n??0}return{exists:!0,integrity_check:I,table_counts:E}}finally{$.close()}}function m_(_,$={}){let D=vP(_.home),I=iR(_.home,D),U=vP(_.artifactsDir),E=iR(_.artifactsDir,U),j=b$(_.knowledgeDbPath);return{path:_.home,exists:b$(_.home),file_count:D.length,total_bytes:I.bytes,tree_sha256:I.sha256,json_items:gb(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:j,integrity_check:null,table_counts:{}}:Xb(_.knowledgeDbPath),artifacts:{exists:b$(_.artifactsDir),file_count:U.length,total_bytes:E.bytes,tree_sha256:E.sha256},files:D}}function Gb(_,$){if(!$.exists)return!0;if($.files.filter((I)=>I!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(g1(_.configPath,"utf8")))===JSON.stringify(vD())}catch{return!1}}function wP(_,$){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 jN(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function rP(_){if(Array.isArray(_))return`[${_.map(rP).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[D])=>$.localeCompare(D)).map(([$,D])=>`${JSON.stringify($)}:${rP(D)}`).join(",")}}`;return JSON.stringify(_)}function tR(_){return rP(_)}function qP(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function i4(_){if(!b$(_))return{items:[]};let $=JSON.parse(g1(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function oR(_,$){let D=new Map(_.items.map((L)=>[L.id,L])),I=new Map;for(let L of _.items){let W=I.get(L.id);if(W&&W.item.id!==L.id);I.set(L.id,{item:L,keyKind:"id",source:"current"});let g=qP(L);if(g&&!I.has(g))I.set(g,{item:L,keyKind:"short_id",source:"current"})}let U=[],E=0,j=0,N=0,O=[];for(let L of $.items){let W=D.get(L.id);if(W){if(tR(W)===tR(L))E+=1;else j+=1,U.push({type:"id_conflict",id:L.id,legacy_title:L.title,current_title:W.title});continue}let g=[{key:L.id,keyKind:"id"},...qP(L)?[{key:qP(L),keyKind:"short_id"}]:[]],z=!1;for(let{key:G,keyKind:J}of g){let P=I.get(G);if(!P)continue;if(J==="id"&&P.keyKind==="id")j+=1,U.push({type:"id_conflict",id:G,legacy_id:L.id,current_id:P.item.id,legacy_title:L.title,current_title:P.item.title});else N+=1,U.push({type:"short_id_conflict",id:G,legacy_id:L.id,current_id:P.item.id,legacy_title:L.title,current_title:P.item.title});z=!0}if(z)continue;O.push(L);for(let{key:G,keyKind:J}of g)I.set(G,{item:L,keyKind:J,source:"legacy"})}let S={items:[..._.items,...O]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:E,duplicate_ids_conflicting:j,short_id_conflicts:N,stranded_items:O.length,merged_items:U.length===0?O.length:0,expected_total_items:_.items.length+O.length,final_items:null},conflicts:U,mergedStore:S}}function Rb(_,$){let D=[...new Set(_)].sort(),I=(U)=>{if(U>=D.length)return $();return y$(D[U],()=>I(U+1),{createParent:!0})};return I(0)}function eR(_){let $=_.now??new Date,D=_.approveWrite!==!0,I=m_(_.legacy),U=m_(_.current),E={legacy_exists:I.exists,legacy_store_exists:b$(_.legacy.jsonStorePath),current_store_exists:b$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},j=[];if(!I.exists||!E.legacy_store_exists)return{ok:!0,dry_run:D,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:I,current_before:U,backup_after:null,current_after:U,merge:{current_items:i4(_.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:i4(_.current.jsonStorePath).items.length,final_items:U.json_items},conflicts:[],checks:{...E,no_conflicts:!0,final_count_matches_expected:!0},warnings:j,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let N=i4(_.current.jsonStorePath),O=i4(_.legacy.jsonStorePath),S=oR(N,O);if(E.no_conflicts=S.conflicts.length===0,S.conflicts.length>0)j.push("merge_conflicts_detected");if(!E.approval_present)j.push("write_approval_required");if(D||!E.approval_present||S.conflicts.length>0)return{ok:S.conflicts.length===0,dry_run:!0,approval_required:!E.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${jN($)}`,legacy_before:I,current_before:U,backup_after:null,current_after:null,merge:S.stats,conflicts:S.conflicts,checks:E,warnings:j,message:S.conflicts.length===0?`Dry run: would merge ${S.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${S.conflicts.length} conflict(s)`};return Rb([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let L=i4(_.current.jsonStorePath),W=i4(_.legacy.jsonStorePath),g=oR(L,W);if(E.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:m_(_.legacy),current_before:m_(_.current),backup_after:null,current_after:null,merge:g.stats,conflicts:g.conflicts,checks:E,warnings:[...j,"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=L.items.length,E.final_count_matches_expected=L.items.length===g.stats.expected_total_items,{ok:E.no_conflicts&&E.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:m_(_.legacy),current_before:m_(_.current),backup_after:null,current_after:m_(_.current),merge:g.stats,conflicts:[],checks:E,warnings:j,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let z=`${_.legacy.home}.merge-backup-${jN($)}`;EN(CP(z),{recursive:!0}),fP(_.legacy.home,z,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let G=j$(z),J=m_(G);if(E.legacy_backup_written=wP(m_(_.legacy),J),!E.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${z}`);_6(_.current.jsonStorePath,g.mergedStore);let P=i4(_.current.jsonStorePath);g.stats.final_items=P.items.length,E.final_count_matches_expected=P.items.length===g.stats.expected_total_items;let X=m_(_.current),R=E.legacy_backup_written&&E.no_conflicts&&E.final_count_matches_expected;return{ok:R,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:z,legacy_before:I,current_before:U,backup_after:J,current_after:X,merge:g.stats,conflicts:[],checks:E,warnings:j,message:R?`Merged ${g.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function Yb(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function uP(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function Qb(_){let $;for(let D=0;D<8;D+=1)try{NN(_,{recursive:!0,force:!1});return}catch(I){if($=I,!uP(I))throw I;Yb(50*(D+1))}throw $}function aR(_){if(!b$(_))return;let $=pR(_);if(kP(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let D of xP(_))aR(R6(_,D))}function Kb(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function Tb(_){for(let $ of xP(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{NN(R6(_,$),{recursive:!0,force:!1})}catch(D){if(!uP(D)||!$.startsWith("knowledge.db"))throw D}}}function Fb(_,$){try{Pb(_,$);return}catch(D){fP(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{Qb(_)}catch(I){if(uP(I)){Tb(_);return}throw NN($,{recursive:!0,force:!0}),I}if(D instanceof Error&&D.message.includes("EXDEV"))return}}function Vb(_,$,D){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((I)=>!Kb(I)))return!1;try{let I=JSON.parse(g1(R6(_.home,"migration.json"),"utf8"));return I.new_path===D&&typeof I.backup_path==="string"}catch{return!1}}function sR(_){let $=_.now??new Date,D=_.approveWrite!==!0,I=m_(_.current),U=Gb(_.current,I),E=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!I.exists||U),j=m_(_.legacy,{includeSqlite:!E}),N={legacy_exists:j.exists,current_absent_or_default_scaffold:!I.exists||U,approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},O=[];if(!j.exists)return{ok:!0,dry_run:D,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:null,legacy_before:j,current_before:I,backup_after:null,current_after:null,checks:N,warnings:O,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(N.legacy_is_tombstone=Vb(_.legacy,j,_.current.home),N.legacy_is_tombstone)return{ok:!0,dry_run:D,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:R6(_.legacy.home,"TOMBSTONE.md"),legacy_before:j,current_before:I,backup_after:null,current_after:I,checks:{...N,tombstone_written:!0},warnings:O,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!N.current_absent_or_default_scaffold)O.push("current_workspace_contains_data");if(!N.approval_present)O.push("write_approval_required");if(D||!N.current_absent_or_default_scaffold||!N.approval_present)return{ok:N.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-${jN($)}`,tombstone_path:R6(_.legacy.home,"TOMBSTONE.md"),legacy_before:j,current_before:I,backup_after:null,current_after:null,checks:N,warnings:O,message:N.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let S=`${_.legacy.home}.backup-${jN($)}`;EN(CP(_.current.home),{recursive:!0}),EN(CP(S),{recursive:!0}),fP(_.legacy.home,S,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),aR(S);let L=j$(S),W=m_(L,{includeSqlite:!1});if(N.backup_matches_legacy=wP(j,W),!N.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${S}`);if(I.exists&&U)NN(_.current.home,{recursive:!0,force:!0});Fb(_.legacy.home,_.current.home);let g=m_(_.current,{includeSqlite:!1});N.migrated_matches_backup=wP(W,g);let z=m_(L),G=m_(_.current),J={...z,path:_.legacy.home};EN(_.legacy.home,{recursive:!0});let P=R6(_.legacy.home,"TOMBSTONE.md");lR(P,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${S}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),kP(P,384);let X=R6(_.legacy.home,"migration.json");lR(X,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:S,legacy_before:J,backup_after:z,current_after:G},null,2)} -`,{mode:384}),kP(X,384),N.tombstone_written=b$(P);let R=N.backup_matches_legacy&&N.migrated_matches_backup&&N.tombstone_written;return{ok:R,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:S,tombstone_path:P,legacy_before:J,current_before:I,backup_after:z,current_after:G,checks:N,warnings:O,message:R?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}import{createHash as D9}from"crypto";var q$="knowledge.project-registration.v1",yP="knowledge.project-resources.v1",Bb=1,t4="explicit_collection_binding",Mb=1;class o extends Error{code;details;constructor(_,$,D={}){super($);this.code=_;this.details=D;this.name="KnowledgeProjectLinksError"}}class U9{db;kind="sqlite";tail=Promise.resolve();closed=!1;constructor(_){this.db=_}async close(){if(await this.tail,this.closed)return;this.closed=!0,this.db.close()}async get(_,$=[]){return this.db.query(_).get(...$)??null}async many(_,$=[]){return this.db.query(_).all(...$)}async run(_,$=[]){let D=this.db.query(_).run(...$);return{changes:Number(D.changes)}}async lock(_){}transaction(_){let $=this.tail.then(async()=>{this.db.exec("BEGIN IMMEDIATE");try{let D=await _(this);return this.db.exec("COMMIT"),D}catch(D){throw this.db.exec("ROLLBACK"),D}});return this.tail=$.then(()=>{return},()=>{return}),$}}function Zb(){return` + updated_at = excluded.updated_at`,[E,"wiki/README.md","Wiki",N.uri,N.hash??null,"active",JSON.stringify({artifact_key:N.key,provenance:jz(N)}),j,j]),Mk(_,E,"Wiki",N,qR(),j)}}import{createHash as bR}from"crypto";import{cpSync as Lz,chmodSync as Ez,existsSync as y$,lstatSync as yR,mkdirSync as gI,readdirSync as Sz,readFileSync as b1,renameSync as Zk,rmSync as ZI,writeFileSync as wR}from"fs";import{dirname as Iz,join as H6,relative as Hk}from"path";function Az(_,$=_){if(!y$(_))return[];let U=yR(_);if(U.isFile())return[Hk($,_)||"."];if(!U.isDirectory())return[];return Sz(_).flatMap((j)=>Az(H6(_,j),$)).sort()}function vR(_,$){if($.length===0)return{sha256:null,bytes:0};let U=bR("sha256"),j=0;for(let D of $){let N=H6(_,D),E=b1(N),I=bR("sha256").update(E).digest("hex");j+=E.byteLength,U.update(D),U.update("\x00"),U.update(I),U.update("\x00")}return{sha256:U.digest("hex"),bytes:j}}function qk(_){if(!y$(_))return null;let $=JSON.parse(b1(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function kk(_){if(!y$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=KX(_);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(),N={};for(let E of D){let I=`"${E.name.replaceAll('"','""')}"`,W=$.query(`SELECT COUNT(*) AS n FROM ${I}`).get();N[E.name]=W?.n??0}return{exists:!0,integrity_check:j,table_counts:N}}finally{$.close()}}function a_(_,$={}){let U=Az(_.home),j=vR(_.home,U),D=Az(_.artifactsDir),N=vR(_.artifactsDir,D),E=y$(_.knowledgeDbPath);return{path:_.home,exists:y$(_.home),file_count:U.length,total_bytes:j.bytes,tree_sha256:j.sha256,json_items:qk(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:E,integrity_check:null,table_counts:{}}:kk(_.knowledgeDbPath),artifacts:{exists:y$(_.artifactsDir),file_count:D.length,total_bytes:N.bytes,tree_sha256:N.sha256},files:U}}function Ck(_,$){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(b1(_.configPath,"utf8")))===JSON.stringify(aU())}catch{return!1}}function Wz(_,$){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 MI(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function Jz(_){if(Array.isArray(_))return`[${_.map(Jz).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${Jz(U)}`).join(",")}}`;return JSON.stringify(_)}function fR(_){return Jz(_)}function Nz(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function j0(_){if(!y$(_))return{items:[]};let $=JSON.parse(b1(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function xR(_,$){let U=new Map(_.items.map((L)=>[L.id,L])),j=new Map;for(let L of _.items){let S=j.get(L.id);if(S&&S.item.id!==L.id);j.set(L.id,{item:L,keyKind:"id",source:"current"});let X=Nz(L);if(X&&!j.has(X))j.set(X,{item:L,keyKind:"short_id",source:"current"})}let D=[],N=0,E=0,I=0,W=[];for(let L of $.items){let S=U.get(L.id);if(S){if(fR(S)===fR(L))N+=1;else E+=1,D.push({type:"id_conflict",id:L.id,legacy_title:L.title,current_title:S.title});continue}let X=[{key:L.id,keyKind:"id"},...Nz(L)?[{key:Nz(L),keyKind:"short_id"}]:[]],z=!1;for(let{key:R,keyKind:P}of X){let O=j.get(R);if(!O)continue;if(P==="id"&&O.keyKind==="id")E+=1,D.push({type:"id_conflict",id:R,legacy_id:L.id,current_id:O.item.id,legacy_title:L.title,current_title:O.item.title});else I+=1,D.push({type:"short_id_conflict",id:R,legacy_id:L.id,current_id:O.item.id,legacy_title:L.title,current_title:O.item.title});z=!0}if(z)continue;W.push(L);for(let{key:R,keyKind:P}of X)j.set(R,{item:L,keyKind:P,source:"legacy"})}let J={items:[..._.items,...W]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:N,duplicate_ids_conflicting:E,short_id_conflicts:I,stranded_items:W.length,merged_items:D.length===0?W.length:0,expected_total_items:_.items.length+W.length,final_items:null},conflicts:D,mergedStore:J}}function bk(_,$){let U=[...new Set(_)].sort(),j=(D)=>{if(D>=U.length)return $();return t$(U[D],()=>j(D+1),{createParent:!0})};return j(0)}function uR(_){let $=_.now??new Date,U=_.approveWrite!==!0,j=a_(_.legacy),D=a_(_.current),N={legacy_exists:j.exists,legacy_store_exists:y$(_.legacy.jsonStorePath),current_store_exists:y$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},E=[];if(!j.exists||!N.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:j0(_.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:j0(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...N,no_conflicts:!0,final_count_matches_expected:!0},warnings:E,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let I=j0(_.current.jsonStorePath),W=j0(_.legacy.jsonStorePath),J=xR(I,W);if(N.no_conflicts=J.conflicts.length===0,J.conflicts.length>0)E.push("merge_conflicts_detected");if(!N.approval_present)E.push("write_approval_required");if(U||!N.approval_present||J.conflicts.length>0)return{ok:J.conflicts.length===0,dry_run:!0,approval_required:!N.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${MI($)}`,legacy_before:j,current_before:D,backup_after:null,current_after:null,merge:J.stats,conflicts:J.conflicts,checks:N,warnings:E,message:J.conflicts.length===0?`Dry run: would merge ${J.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${J.conflicts.length} conflict(s)`};return bk([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let L=j0(_.current.jsonStorePath),S=j0(_.legacy.jsonStorePath),X=xR(L,S);if(N.no_conflicts=X.conflicts.length===0,X.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:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:null,merge:X.stats,conflicts:X.conflicts,checks:N,warnings:[...E,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${X.conflicts.length} conflict(s)`};if(X.stats.stranded_items===0)return X.stats.final_items=L.items.length,N.final_count_matches_expected=L.items.length===X.stats.expected_total_items,{ok:N.no_conflicts&&N.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:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:a_(_.current),merge:X.stats,conflicts:[],checks:N,warnings:E,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let z=`${_.legacy.home}.merge-backup-${MI($)}`;gI(Iz(z),{recursive:!0}),Lz(_.legacy.home,z,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let R=S$(z),P=a_(R);if(N.legacy_backup_written=Wz(a_(_.legacy),P),!N.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${z}`);J6(_.current.jsonStorePath,X.mergedStore);let O=j0(_.current.jsonStorePath);X.stats.final_items=O.items.length,N.final_count_matches_expected=O.items.length===X.stats.expected_total_items;let Y=a_(_.current),Q=N.legacy_backup_written&&N.no_conflicts&&N.final_count_matches_expected;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:z,legacy_before:j,current_before:D,backup_after:P,current_after:Y,merge:X.stats,conflicts:[],checks:N,warnings:E,message:Q?`Merged ${X.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function wk(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Pz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function vk(_){let $;for(let U=0;U<8;U+=1)try{ZI(_,{recursive:!0,force:!1});return}catch(j){if($=j,!Pz(j))throw j;wk(50*(U+1))}throw $}function hR(_){if(!y$(_))return;let $=yR(_);if(Ez(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of Sz(_))hR(H6(_,U))}function fk(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function xk(_){for(let $ of Sz(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{ZI(H6(_,$),{recursive:!0,force:!1})}catch(U){if(!Pz(U)||!$.startsWith("knowledge.db"))throw U}}}function yk(_,$){try{Zk(_,$);return}catch(U){Lz(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{vk(_)}catch(j){if(Pz(j)){xk(_);return}throw ZI($,{recursive:!0,force:!0}),j}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function uk(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((j)=>!fk(j)))return!1;try{let j=JSON.parse(b1(H6(_.home,"migration.json"),"utf8"));return j.new_path===U&&typeof j.backup_path==="string"}catch{return!1}}function rR(_){let $=_.now??new Date,U=_.approveWrite!==!0,j=a_(_.current),D=Ck(_.current,j),N=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!j.exists||D),E=a_(_.legacy,{includeSqlite:!N}),I={legacy_exists:E.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},W=[];if(!E.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:E,current_before:j,backup_after:null,current_after:null,checks:I,warnings:W,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(I.legacy_is_tombstone=uk(_.legacy,E,_.current.home),I.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:H6(_.legacy.home,"TOMBSTONE.md"),legacy_before:E,current_before:j,backup_after:null,current_after:j,checks:{...I,tombstone_written:!0},warnings:W,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!I.current_absent_or_default_scaffold)W.push("current_workspace_contains_data");if(!I.approval_present)W.push("write_approval_required");if(U||!I.current_absent_or_default_scaffold||!I.approval_present)return{ok:I.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-${MI($)}`,tombstone_path:H6(_.legacy.home,"TOMBSTONE.md"),legacy_before:E,current_before:j,backup_after:null,current_after:null,checks:I,warnings:W,message:I.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let J=`${_.legacy.home}.backup-${MI($)}`;gI(Iz(_.current.home),{recursive:!0}),gI(Iz(J),{recursive:!0}),Lz(_.legacy.home,J,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),hR(J);let L=S$(J),S=a_(L,{includeSqlite:!1});if(I.backup_matches_legacy=Wz(E,S),!I.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${J}`);if(j.exists&&D)ZI(_.current.home,{recursive:!0,force:!0});yk(_.legacy.home,_.current.home);let X=a_(_.current,{includeSqlite:!1});I.migrated_matches_backup=Wz(S,X);let z=a_(L),R=a_(_.current),P={...z,path:_.legacy.home};gI(_.legacy.home,{recursive:!0});let O=H6(_.legacy.home,"TOMBSTONE.md");wR(O,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${J}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),Ez(O,384);let Y=H6(_.legacy.home,"migration.json");wR(Y,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:J,legacy_before:P,backup_after:z,current_after:R},null,2)} +`,{mode:384}),Ez(Y,384),I.tombstone_written=y$(O);let Q=I.backup_matches_legacy&&I.migrated_matches_backup&&I.tombstone_written;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:J,tombstone_path:O,legacy_before:P,current_before:j,backup_after:z,current_after:R,checks:I,warnings:W,message:Q?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}import{createHash as nR}from"crypto";var u$="knowledge.project-registration.v1",Oz="knowledge.project-resources.v1",hk=1,N0="explicit_collection_binding",rk=1;class o extends Error{code;details;constructor(_,$,U={}){super($);this.code=_;this.details=U;this.name="KnowledgeProjectLinksError"}}class dR{db;kind="sqlite";tail=Promise.resolve();closed=!1;constructor(_){this.db=_}async close(){if(await this.tail,this.closed)return;this.closed=!0,this.db.close()}async get(_,$=[]){return this.db.query(_).get(...$)??null}async many(_,$=[]){return this.db.query(_).all(...$)}async run(_,$=[]){let U=this.db.query(_).run(...$);return{changes:Number(U.changes)}}async lock(_){}transaction(_){let $=this.tail.then(async()=>{this.db.exec("BEGIN IMMEDIATE");try{let U=await _(this);return this.db.exec("COMMIT"),U}catch(U){throw this.db.exec("ROLLBACK"),U}});return this.tail=$.then(()=>{return},()=>{return}),$}}function ck(){return` PRAGMA foreign_keys = ON; CREATE TABLE IF NOT EXISTS knowledge_projects ( authority_id TEXT NOT NULL, @@ -1247,7 +1247,7 @@ Pages should be concise, cited, and organized for both humans and agents. BEGIN SELECT RAISE(ABORT, 'knowledge project link receipts are immutable'); END; - `}function I9(){return[`CREATE TABLE IF NOT EXISTS knowledge_projects ( + `}function lR(){return[`CREATE TABLE IF NOT EXISTS knowledge_projects ( authority_id TEXT NOT NULL, tenant_id TEXT NOT NULL, corpus_id TEXT NOT NULL, @@ -1331,13 +1331,13 @@ Pages should be concise, cited, and organized for both humans and agents. $$`,`DROP TRIGGER IF EXISTS knowledge_project_link_receipts_immutable ON knowledge_project_link_receipts`,`CREATE TRIGGER knowledge_project_link_receipts_immutable BEFORE UPDATE OR DELETE ON knowledge_project_link_receipts - FOR EACH ROW EXECUTE FUNCTION knowledge_project_link_receipts_immutable()`]}function hP(_){if(Array.isArray(_))return _.map(hP);if(_&&typeof _==="object")return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[D])=>$.localeCompare(D)).map(([$,D])=>[$,hP(D)]));return _}function p6(_){return JSON.stringify(hP(_))}function V_(_){return D9("sha256").update(p6(_)).digest("hex")}function X1(_){let $=D9("sha256").update(_).digest("hex").slice(0,32).split("");$[12]="5",$[16]=(Number.parseInt($[16],16)&3|8).toString(16);let D=$.join("");return`${D.slice(0,8)}-${D.slice(8,12)}-${D.slice(12,16)}-${D.slice(16,20)}-${D.slice(20)}`}function k_(_,$){if(typeof _!=="string"||_.trim().length===0)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`${$} must be a non-empty string.`);return _.trim()}function Hb(_){let $=_??100;if(!Number.isInteger($)||$<1||$>200)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","limit must be an integer between 1 and 200.");return $}function bb(_){let $=["project","collection","item","taxonomy"];if(!_||_.length===0)return $;let D=[...new Set(_)];for(let I of D)if(!$.includes(I))throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`unsupported project resource kind: ${I}`);return D.sort((I,U)=>$.indexOf(I)-$.indexOf(U))}function _9(_){return{receipt_id:_.receipt_id,authority:"knowledge",route:q$,package_version:_.package_version,authority_id:_.authority_id,tenant_id:_.tenant_id,corpus_id:_.corpus_id,operation_id:_.operation_id,step_id:_.step_id,action:_.action,resource_kind:_.resource_kind,direction:_.direction,idempotency_key:_.idempotency_key,request_digest:_.request_digest,precondition_digest:_.precondition_digest,outcome:_.outcome,reason:_.reason,source_project_id:_.source_project_id,project_id:_.project_id,collection_id:_.collection_id,item_id:_.item_id,result_revision:_.result_revision,result_digest:_.result_digest,accepted_receipt_id:_.accepted_receipt_id,created_by_operation:Number(_.created_by_operation)===1,created_at:_.created_at}}function $9(_){let $={source_project_id:_.source_project_id,project_id:_.project_id,project_slug:_.project_slug,project_name:_.project_name,collection_id:_.collection_id,collection_slug:_.collection_slug,collection_name:_.collection_name,membership_rule:t4,revision:`r${Number(_.revision)}`,created_at:_.created_at,updated_at:_.updated_at};return{...$,digest:V_($)}}function AN(_){return[_.receipt_id,_.authority,_.route,_.package_version,_.authority_id,_.tenant_id,_.corpus_id,_.operation_id,_.step_id,_.action,_.resource_kind,_.direction,_.idempotency_key,_.request_digest,_.precondition_digest,_.outcome,_.reason,_.source_project_id,_.project_id,_.collection_id,_.item_id,_.result_revision,_.result_digest,_.accepted_receipt_id,_.created_by_operation?1:0,_.created_at]}var ON=`INSERT INTO knowledge_project_link_receipts ( + FOR EACH ROW EXECUTE FUNCTION knowledge_project_link_receipts_immutable()`]}function zz(_){if(Array.isArray(_))return _.map(zz);if(_&&typeof _==="object")return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>[$,zz(U)]));return _}function E4(_){return JSON.stringify(zz(_))}function g_(_){return nR("sha256").update(E4(_)).digest("hex")}function w1(_){let $=nR("sha256").update(_).digest("hex").slice(0,32).split("");$[12]="5",$[16]=(Number.parseInt($[16],16)&3|8).toString(16);let U=$.join("");return`${U.slice(0,8)}-${U.slice(8,12)}-${U.slice(12,16)}-${U.slice(16,20)}-${U.slice(20)}`}function w_(_,$){if(typeof _!=="string"||_.trim().length===0)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`${$} must be a non-empty string.`);return _.trim()}function mk(_){let $=_??100;if(!Number.isInteger($)||$<1||$>200)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","limit must be an integer between 1 and 200.");return $}function nk(_){let $=["project","collection","item","taxonomy"];if(!_||_.length===0)return $;let U=[...new Set(_)];for(let j of U)if(!$.includes(j))throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`unsupported project resource kind: ${j}`);return U.sort((j,D)=>$.indexOf(j)-$.indexOf(D))}function cR(_){return{receipt_id:_.receipt_id,authority:"knowledge",route:u$,package_version:_.package_version,authority_id:_.authority_id,tenant_id:_.tenant_id,corpus_id:_.corpus_id,operation_id:_.operation_id,step_id:_.step_id,action:_.action,resource_kind:_.resource_kind,direction:_.direction,idempotency_key:_.idempotency_key,request_digest:_.request_digest,precondition_digest:_.precondition_digest,outcome:_.outcome,reason:_.reason,source_project_id:_.source_project_id,project_id:_.project_id,collection_id:_.collection_id,item_id:_.item_id,result_revision:_.result_revision,result_digest:_.result_digest,accepted_receipt_id:_.accepted_receipt_id,created_by_operation:Number(_.created_by_operation)===1,created_at:_.created_at}}function mR(_){let $={source_project_id:_.source_project_id,project_id:_.project_id,project_slug:_.project_slug,project_name:_.project_name,collection_id:_.collection_id,collection_slug:_.collection_slug,collection_name:_.collection_name,membership_rule:N0,revision:`r${Number(_.revision)}`,created_at:_.created_at,updated_at:_.updated_at};return{...$,digest:g_($)}}function HI(_){return[_.receipt_id,_.authority,_.route,_.package_version,_.authority_id,_.tenant_id,_.corpus_id,_.operation_id,_.step_id,_.action,_.resource_kind,_.direction,_.idempotency_key,_.request_digest,_.precondition_digest,_.outcome,_.reason,_.source_project_id,_.project_id,_.collection_id,_.item_id,_.result_revision,_.result_digest,_.accepted_receipt_id,_.created_by_operation?1:0,_.created_at]}var qI=`INSERT INTO knowledge_project_link_receipts ( receipt_id, authority, route, package_version, authority_id, tenant_id, corpus_id, operation_id, step_id, action, resource_kind, direction, idempotency_key, request_digest, precondition_digest, outcome, reason, source_project_id, project_id, collection_id, item_id, result_revision, result_digest, accepted_receipt_id, created_by_operation, created_at -) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;class E9{sql;itemResolver;options;identity;now;constructor(_,$,D){this.sql=_;this.itemResolver=$;this.options=D;this.identity={authority_id:k_(D.authorityId,"authority_id"),tenant_id:k_(D.tenantId,"tenant_id"),corpus_id:k_(D.corpusId,"corpus_id")},this.now=D.now??(()=>new Date().toISOString())}async close(){await this.sql.close()}capabilityValue(){return{authority:"knowledge",route:q$,resource_route:yP,package_version:this.options.packageVersion,schema_version:Bb,...this.identity,registration_resource:"collection",supported_resources:["project","collection","item","taxonomy"],stable_project_ids:!0,stable_collection_ids:!0,explicit_membership:!0,membership_rule:t4,later_child_binding_required:!0,bind_existing_items:!0,immutable_receipts:!0,exact_terminal_lookup:!0,exact_readback:!0,conditional_inverse:!0,complete_keyset_pagination:!0,revision_bound_cursors:!0}}async capability(){return this.capabilityValue()}assertIdentity(_){let $=this.capabilityValue();if(_.authority_route!==$.route||_.package_version!==$.package_version||_.authority_id!==$.authority_id||_.tenant_id!==$.tenant_id||_.corpus_id!==$.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","request does not match the current Knowledge project-registration capability identity.")}stableProjectId(_){return X1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00project\x00${_}`)}stableCollectionId(_,$){return X1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00collection\x00${_}\x00${$}`)}collectionFence(_){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"collection",_].join("\x1F")}membershipFence(_,$){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"membership",_,$].join("\x1F")}stableReceiptId(_,$,D,I){return X1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00receipt\x00${_}\x00${$}\x00${D}\x00${I}`)}async getAggregateBySource(_,$){return _.get(`SELECT p.source_project_id, p.project_id, p.project_slug, p.project_name, +) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;class iR{sql;itemResolver;options;identity;now;constructor(_,$,U){this.sql=_;this.itemResolver=$;this.options=U;this.identity={authority_id:w_(U.authorityId,"authority_id"),tenant_id:w_(U.tenantId,"tenant_id"),corpus_id:w_(U.corpusId,"corpus_id")},this.now=U.now??(()=>new Date().toISOString())}async close(){await this.sql.close()}capabilityValue(){return{authority:"knowledge",route:u$,resource_route:Oz,package_version:this.options.packageVersion,schema_version:hk,...this.identity,registration_resource:"collection",supported_resources:["project","collection","item","taxonomy"],stable_project_ids:!0,stable_collection_ids:!0,explicit_membership:!0,membership_rule:N0,later_child_binding_required:!0,bind_existing_items:!0,immutable_receipts:!0,exact_terminal_lookup:!0,exact_readback:!0,conditional_inverse:!0,complete_keyset_pagination:!0,revision_bound_cursors:!0}}async capability(){return this.capabilityValue()}assertIdentity(_){let $=this.capabilityValue();if(_.authority_route!==$.route||_.package_version!==$.package_version||_.authority_id!==$.authority_id||_.tenant_id!==$.tenant_id||_.corpus_id!==$.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","request does not match the current Knowledge project-registration capability identity.")}stableProjectId(_){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00project\x00${_}`)}stableCollectionId(_,$){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00collection\x00${_}\x00${$}`)}collectionFence(_){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"collection",_].join("\x1F")}membershipFence(_,$){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"membership",_,$].join("\x1F")}stableReceiptId(_,$,U,j){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00receipt\x00${_}\x00${$}\x00${U}\x00${j}`)}async getAggregateBySource(_,$){return _.get(`SELECT p.source_project_id, p.project_id, p.project_slug, p.project_name, c.collection_id, c.collection_slug, c.collection_name, c.membership_rule, c.revision, c.created_at, c.updated_at FROM knowledge_projects p @@ -1367,26 +1367,26 @@ Pages should be concise, cited, and organized for both humans and agents. AND c.corpus_id = p.corpus_id AND c.project_id = p.project_id WHERE p.authority_id = ? AND p.tenant_id = ? AND p.corpus_id = ? - AND (p.source_project_id = ? OR p.project_id = ?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,$])}async getReceiptByAttempt(_,$){let D=await _.get(`SELECT * FROM knowledge_project_link_receipts + AND (p.source_project_id = ? OR p.project_id = ?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,$])}async getReceiptByAttempt(_,$){let U=await _.get(`SELECT * FROM knowledge_project_link_receipts WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND operation_id = ? AND step_id = ? AND action = ? AND direction = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.operation_id,$.step_id,$.action,$.direction]);return D?_9(D):null}assertIdempotent(_,$){if(_.idempotency_key!==$.idempotency_key||$.request_digest!==void 0&&_.request_digest!==$.request_digest||$.precondition_digest!==void 0&&_.precondition_digest!==$.precondition_digest||$.accepted_receipt_id!==void 0&&_.accepted_receipt_id!==$.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_IDEMPOTENCY_MISMATCH","operation and step identity are already bound to a different Knowledge project-link request.",{receipt_id:_.receipt_id})}async registerCollection(_){if(this.assertIdentity(_),_.resource_kind!=="collection"||_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","collection registration requires resource_kind=collection and direction=forward.");let $=k_(_.project_id,"project_id"),D=k_(_.project_slug,"project_slug"),I=k_(_.project_name,"project_name");if(k_(_.target_selector,"target_selector")!==$)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","target_selector must equal the exact source project id.");let E=k_(_.desired.collection_slug??`${D}-knowledge`,"desired.collection_slug"),j=k_(_.desired.collection_name??`${I} Knowledge`,"desired.collection_name"),N=V_({action:"register_collection",source_project_id:$,project_slug:D,project_name:I,collection_slug:E,collection_name:j,membership_rule:t4});if(_.request_digest!==N)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized collection-registration request.",{expected_request_digest:N});let O=this.stableCollectionId($,E);return this.sql.transaction(async(S)=>{let L=await this.getReceiptByAttempt(S,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"forward"});if(L)return this.assertIdempotent(L,_),L;await S.lock(this.collectionFence(O));let W=await this.getAggregateBySource(S,$),g=W===null;if(!W){let J=this.now(),P=this.stableProjectId($),X=O;await S.run(`INSERT INTO knowledge_projects ( + AND operation_id = ? AND step_id = ? AND action = ? AND direction = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.operation_id,$.step_id,$.action,$.direction]);return U?cR(U):null}assertIdempotent(_,$){if(_.idempotency_key!==$.idempotency_key||$.request_digest!==void 0&&_.request_digest!==$.request_digest||$.precondition_digest!==void 0&&_.precondition_digest!==$.precondition_digest||$.accepted_receipt_id!==void 0&&_.accepted_receipt_id!==$.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_IDEMPOTENCY_MISMATCH","operation and step identity are already bound to a different Knowledge project-link request.",{receipt_id:_.receipt_id})}async registerCollection(_){if(this.assertIdentity(_),_.resource_kind!=="collection"||_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","collection registration requires resource_kind=collection and direction=forward.");let $=w_(_.project_id,"project_id"),U=w_(_.project_slug,"project_slug"),j=w_(_.project_name,"project_name");if(w_(_.target_selector,"target_selector")!==$)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","target_selector must equal the exact source project id.");let N=w_(_.desired.collection_slug??`${U}-knowledge`,"desired.collection_slug"),E=w_(_.desired.collection_name??`${j} Knowledge`,"desired.collection_name"),I=g_({action:"register_collection",source_project_id:$,project_slug:U,project_name:j,collection_slug:N,collection_name:E,membership_rule:N0});if(_.request_digest!==I)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized collection-registration request.",{expected_request_digest:I});let W=this.stableCollectionId($,N);return this.sql.transaction(async(J)=>{let L=await this.getReceiptByAttempt(J,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"forward"});if(L)return this.assertIdempotent(L,_),L;await J.lock(this.collectionFence(W));let S=await this.getAggregateBySource(J,$),X=S===null;if(!S){let P=this.now(),O=this.stableProjectId($),Y=W;await J.run(`INSERT INTO knowledge_projects ( authority_id, tenant_id, corpus_id, source_project_id, project_id, project_slug, project_name, created_at, updated_at - ) VALUES (?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,P,D,I,J,J]),await S.run(`INSERT INTO knowledge_project_collections ( + ) VALUES (?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,O,U,j,P,P]),await J.run(`INSERT INTO knowledge_project_collections ( authority_id, tenant_id, corpus_id, collection_id, project_id, collection_slug, collection_name, membership_rule, revision, created_at, updated_at - ) VALUES (?,?,?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,X,P,E,j,t4,1,J,J]),W=await this.getAggregateByCollection(S,X)}else if(W.project_slug!==D||W.project_name!==I||W.collection_slug!==E||W.collection_name!==j||W.membership_rule!==t4)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the source project is already bound to a different Knowledge collection aggregate.",{source_project_id:$,collection_id:W.collection_id});if(!W)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection registration committed but exact aggregate readback was unavailable.");let z=$9(W),G={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","forward"),authority:"knowledge",route:q$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"forward",idempotency_key:k_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:k_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:g?null:"adopted_existing_collection",source_project_id:z.source_project_id,project_id:z.project_id,collection_id:z.collection_id,item_id:null,result_revision:z.revision,result_digest:z.digest,accepted_receipt_id:null,created_by_operation:g,created_at:this.now()};return await S.run(ON,AN(G)),G})}async readCollection(_){let $=await this.getAggregateByCollection(this.sql,k_(_,"collection_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");return $9($)}async lookupReceipt(_){if(_.max_items!==1)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","exact terminal receipt lookup requires max_items=1.");if(_.authority_id!==this.identity.authority_id||_.tenant_id!==this.identity.tenant_id||_.corpus_id!==this.identity.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","receipt lookup does not match this authority identity.");let $=await this.getReceiptByAttempt(this.sql,_);if(!$||$.idempotency_key!==_.idempotency_key)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","exact Knowledge project-link receipt was not found.");return $}async receiptById(_,$){let D=await _.get(`SELECT * FROM knowledge_project_link_receipts - WHERE receipt_id = ? AND authority_id = ? AND tenant_id = ? AND corpus_id = ?`,[$,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id]);return D?_9(D):null}async hasOtherAcceptedForwardReceipt(_,$){let D=$.action==="bind_item"?"AND item_id = ?":"AND item_id IS NULL";return await _.get(`SELECT receipt_id + ) VALUES (?,?,?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,Y,O,N,E,N0,1,P,P]),S=await this.getAggregateByCollection(J,Y)}else if(S.project_slug!==U||S.project_name!==j||S.collection_slug!==N||S.collection_name!==E||S.membership_rule!==N0)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the source project is already bound to a different Knowledge collection aggregate.",{source_project_id:$,collection_id:S.collection_id});if(!S)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection registration committed but exact aggregate readback was unavailable.");let z=mR(S),R={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","forward"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"forward",idempotency_key:w_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:w_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:X?null:"adopted_existing_collection",source_project_id:z.source_project_id,project_id:z.project_id,collection_id:z.collection_id,item_id:null,result_revision:z.revision,result_digest:z.digest,accepted_receipt_id:null,created_by_operation:X,created_at:this.now()};return await J.run(qI,HI(R)),R})}async readCollection(_){let $=await this.getAggregateByCollection(this.sql,w_(_,"collection_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");return mR($)}async lookupReceipt(_){if(_.max_items!==1)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","exact terminal receipt lookup requires max_items=1.");if(_.authority_id!==this.identity.authority_id||_.tenant_id!==this.identity.tenant_id||_.corpus_id!==this.identity.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","receipt lookup does not match this authority identity.");let $=await this.getReceiptByAttempt(this.sql,_);if(!$||$.idempotency_key!==_.idempotency_key)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","exact Knowledge project-link receipt was not found.");return $}async receiptById(_,$){let U=await _.get(`SELECT * FROM knowledge_project_link_receipts + WHERE receipt_id = ? AND authority_id = ? AND tenant_id = ? AND corpus_id = ?`,[$,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id]);return U?cR(U):null}async hasOtherAcceptedForwardReceipt(_,$){let U=$.action==="bind_item"?"AND item_id = ?":"AND item_id IS NULL";return await _.get(`SELECT receipt_id FROM knowledge_project_link_receipts WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND action = ? AND direction = 'forward' AND outcome = 'accepted' AND collection_id = ? AND receipt_id <> ? - ${D} - LIMIT 1`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.action,$.collection_id,$.receipt_id,...$.action==="bind_item"?[$.item_id]:[]])!==null}assertInverseIdentity(_){this.assertIdentity(_),k_(_.accepted_receipt_id,"accepted_receipt_id"),k_(_.idempotency_key,"idempotency_key")}async compensateRegistration(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let D=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(D)return this.assertIdempotent(D,_),D;let I=await this.receiptById($,_.accepted_receipt_id);if(!I||I.action!=="register_collection"||I.direction!=="forward"||I.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection-registration receipt was not found.");if(I.collection_id)await $.lock(this.collectionFence(I.collection_id));let U=I.collection_id?await this.getAggregateByCollection($,I.collection_id):null,E="accepted",j=null;if(!I.created_by_operation)E="terminal_nonacceptance",j="adopted_collection_is_not_inverse_owned";else if(!U)E="terminal_nonacceptance",j="accepted_collection_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,I))E="terminal_nonacceptance",j="collection_has_later_accepted_adopter";else{let S=await $.get(`SELECT COUNT(*) AS count + ${U} + LIMIT 1`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.action,$.collection_id,$.receipt_id,...$.action==="bind_item"?[$.item_id]:[]])!==null}assertInverseIdentity(_){this.assertIdentity(_),w_(_.accepted_receipt_id,"accepted_receipt_id"),w_(_.idempotency_key,"idempotency_key")}async compensateRegistration(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let U=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(U)return this.assertIdempotent(U,_),U;let j=await this.receiptById($,_.accepted_receipt_id);if(!j||j.action!=="register_collection"||j.direction!=="forward"||j.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection-registration receipt was not found.");if(j.collection_id)await $.lock(this.collectionFence(j.collection_id));let D=j.collection_id?await this.getAggregateByCollection($,j.collection_id):null,N="accepted",E=null;if(!j.created_by_operation)N="terminal_nonacceptance",E="adopted_collection_is_not_inverse_owned";else if(!D)N="terminal_nonacceptance",E="accepted_collection_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,j))N="terminal_nonacceptance",E="collection_has_later_accepted_adopter";else{let J=await $.get(`SELECT COUNT(*) AS count FROM knowledge_project_collection_memberships - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,U.collection_id]);if(Number(S?.count??0)>0)E="terminal_nonacceptance",j="collection_has_bound_items";else await $.run(`DELETE FROM knowledge_project_collections - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,U.collection_id]),await $.run(`DELETE FROM knowledge_projects + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]);if(Number(J?.count??0)>0)N="terminal_nonacceptance",E="collection_has_bound_items";else await $.run(`DELETE FROM knowledge_project_collections + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]),await $.run(`DELETE FROM knowledge_projects WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND project_id = ? AND NOT EXISTS ( SELECT 1 FROM knowledge_project_collections c @@ -1394,24 +1394,24 @@ Pages should be concise, cited, and organized for both humans and agents. AND c.tenant_id = knowledge_projects.tenant_id AND c.corpus_id = knowledge_projects.corpus_id AND c.project_id = knowledge_projects.project_id - )`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,U.project_id])}let N={accepted_receipt_id:I.receipt_id,collection_id:I.collection_id,absent:E==="accepted"},O={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","inverse"),authority:"knowledge",route:q$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:V_({accepted_receipt_id:I.receipt_id,collection_id:I.collection_id}),precondition_digest:I.result_digest??"",outcome:E,reason:j,source_project_id:I.source_project_id,project_id:I.project_id,collection_id:I.collection_id,item_id:null,result_revision:E==="accepted"?"absent":I.result_revision,result_digest:V_(N),accepted_receipt_id:I.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(ON,AN(O)),O})}async verifyRegistrationInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection inverse receipt was not found.");if($.collection_id?await this.getAggregateByCollection(this.sql,$.collection_id):null)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","collection inverse verification found the target still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.collection_id,absent:!0,digest:$.result_digest}}async bindItem(_){if(this.assertIdentity(_),_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","item binding requires direction=forward.");let $=k_(_.collection_id,"collection_id"),D=k_(_.item_id,"item_id"),I=await this.itemResolver(D);if(!I||I.id!==D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","bind-existing requires an exact existing Knowledge item id.",{item_id:D});let U=V_({action:"bind_item",collection_id:$,item_id:D});if(_.request_digest!==U)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized item-membership request.",{expected_request_digest:U});return this.sql.transaction(async(E)=>{let j=await this.getReceiptByAttempt(E,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"forward"});if(j)return this.assertIdempotent(j,_),j;if(await E.lock(this.collectionFence($)),await E.lock(this.membershipFence($,D)),!await this.getAggregateByCollection(E,$))throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");let O=await E.get(`SELECT * FROM knowledge_project_collection_memberships + )`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.project_id])}let I={accepted_receipt_id:j.receipt_id,collection_id:j.collection_id,absent:N==="accepted"},W={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","inverse"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:g_({accepted_receipt_id:j.receipt_id,collection_id:j.collection_id}),precondition_digest:j.result_digest??"",outcome:N,reason:E,source_project_id:j.source_project_id,project_id:j.project_id,collection_id:j.collection_id,item_id:null,result_revision:N==="accepted"?"absent":j.result_revision,result_digest:g_(I),accepted_receipt_id:j.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(qI,HI(W)),W})}async verifyRegistrationInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection inverse receipt was not found.");if($.collection_id?await this.getAggregateByCollection(this.sql,$.collection_id):null)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","collection inverse verification found the target still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.collection_id,absent:!0,digest:$.result_digest}}async bindItem(_){if(this.assertIdentity(_),_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","item binding requires direction=forward.");let $=w_(_.collection_id,"collection_id"),U=w_(_.item_id,"item_id"),j=await this.itemResolver(U);if(!j||j.id!==U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","bind-existing requires an exact existing Knowledge item id.",{item_id:U});let D=g_({action:"bind_item",collection_id:$,item_id:U});if(_.request_digest!==D)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized item-membership request.",{expected_request_digest:D});return this.sql.transaction(async(N)=>{let E=await this.getReceiptByAttempt(N,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"forward"});if(E)return this.assertIdempotent(E,_),E;if(await N.lock(this.collectionFence($)),await N.lock(this.membershipFence($,U)),!await this.getAggregateByCollection(N,$))throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");let W=await N.get(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,D]),S=O===null,L=this.now(),W=this.stableReceiptId(_.operation_id,_.step_id,"bind_item","forward");if(!O)await E.run(`INSERT INTO knowledge_project_collection_memberships ( + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,U]),J=W===null,L=this.now(),S=this.stableReceiptId(_.operation_id,_.step_id,"bind_item","forward");if(!W)await N.run(`INSERT INTO knowledge_project_collection_memberships ( authority_id, tenant_id, corpus_id, collection_id, item_id, bound_receipt_id, created_by_operation, bound_at - ) VALUES (?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,D,W,1,L]),await E.run(`UPDATE knowledge_project_collections + ) VALUES (?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,U,S,1,L]),await N.run(`UPDATE knowledge_project_collections SET revision = revision + 1, updated_at = ? - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[L,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$]);let g=await this.getAggregateByCollection(E,$);if(!g)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","item binding committed but collection readback was unavailable.");let z={collection_id:$,item_id:D,collection_revision:`r${Number(g.revision)}`,item_revision:`v${I.version??1}`},G={receipt_id:W,authority:"knowledge",route:q$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"forward",idempotency_key:k_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:k_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:S?null:"adopted_existing_membership",source_project_id:g.source_project_id,project_id:g.project_id,collection_id:$,item_id:D,result_revision:z.collection_revision,result_digest:V_(z),accepted_receipt_id:null,created_by_operation:S,created_at:L};return await E.run(ON,AN(G)),G})}async readItemBinding(_,$){let D=await this.sql.get(`SELECT * FROM knowledge_project_collection_memberships + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[L,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$]);let X=await this.getAggregateByCollection(N,$);if(!X)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","item binding committed but collection readback was unavailable.");let z={collection_id:$,item_id:U,collection_revision:`r${Number(X.revision)}`,item_revision:`v${j.version??1}`},R={receipt_id:S,authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"forward",idempotency_key:w_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:w_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:J?null:"adopted_existing_membership",source_project_id:X.source_project_id,project_id:X.project_id,collection_id:$,item_id:U,result_revision:z.collection_revision,result_digest:g_(z),accepted_receipt_id:null,created_by_operation:J,created_at:L};return await N.run(qI,HI(R)),R})}async readItemBinding(_,$){let U=await this.sql.get(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,k_(_,"collection_id"),k_($,"item_id")]);if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection membership was not found by exact ids.");let I=await this.getAggregateByCollection(this.sql,_);if(!I)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","membership exists without its collection aggregate.");let U={collection_id:_,item_id:$,revision:`r${Number(I.revision)}`,bound_at:D.bound_at};return{...U,digest:V_(U)}}async compensateItemBinding(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let D=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(D)return this.assertIdempotent(D,_),D;let I=await this.receiptById($,_.accepted_receipt_id);if(!I||I.action!=="bind_item"||I.direction!=="forward"||I.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding receipt was not found.");if(I.collection_id)await $.lock(this.collectionFence(I.collection_id));if(I.collection_id&&I.item_id)await $.lock(this.membershipFence(I.collection_id,I.item_id));let U="accepted",E=null,j=await $.get(`SELECT * FROM knowledge_project_collection_memberships + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,w_(_,"collection_id"),w_($,"item_id")]);if(!U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection membership was not found by exact ids.");let j=await this.getAggregateByCollection(this.sql,_);if(!j)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","membership exists without its collection aggregate.");let D={collection_id:_,item_id:$,revision:`r${Number(j.revision)}`,bound_at:U.bound_at};return{...D,digest:g_(D)}}async compensateItemBinding(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let U=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(U)return this.assertIdempotent(U,_),U;let j=await this.receiptById($,_.accepted_receipt_id);if(!j||j.action!=="bind_item"||j.direction!=="forward"||j.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding receipt was not found.");if(j.collection_id)await $.lock(this.collectionFence(j.collection_id));if(j.collection_id&&j.item_id)await $.lock(this.membershipFence(j.collection_id,j.item_id));let D="accepted",N=null,E=await $.get(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,I.collection_id,I.item_id]);if(!I.created_by_operation)U="terminal_nonacceptance",E="adopted_membership_is_not_inverse_owned";else if(!j)U="terminal_nonacceptance",E="accepted_membership_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,I))U="terminal_nonacceptance",E="membership_has_later_accepted_adopter";else if(j.bound_receipt_id!==I.receipt_id||Number(j.created_by_operation)!==1)U="terminal_nonacceptance",E="membership_is_owned_by_a_different_receipt";else await $.run(`DELETE FROM knowledge_project_collection_memberships + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,j.collection_id,j.item_id]);if(!j.created_by_operation)D="terminal_nonacceptance",N="adopted_membership_is_not_inverse_owned";else if(!E)D="terminal_nonacceptance",N="accepted_membership_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,j))D="terminal_nonacceptance",N="membership_has_later_accepted_adopter";else if(E.bound_receipt_id!==j.receipt_id||Number(E.created_by_operation)!==1)D="terminal_nonacceptance",N="membership_is_owned_by_a_different_receipt";else await $.run(`DELETE FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ? AND bound_receipt_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,I.collection_id,I.item_id,I.receipt_id]),await $.run(`UPDATE knowledge_project_collections + AND collection_id = ? AND item_id = ? AND bound_receipt_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,j.collection_id,j.item_id,j.receipt_id]),await $.run(`UPDATE knowledge_project_collections SET revision = revision + 1, updated_at = ? - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.now(),this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,I.collection_id]);let N=I.collection_id?await this.getAggregateByCollection($,I.collection_id):null,O={accepted_receipt_id:I.receipt_id,collection_id:I.collection_id,item_id:I.item_id,absent:U==="accepted"},S={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"bind_item","inverse"),authority:"knowledge",route:q$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:V_({accepted_receipt_id:I.receipt_id,collection_id:I.collection_id,item_id:I.item_id}),precondition_digest:I.result_digest??"",outcome:U,reason:E,source_project_id:I.source_project_id,project_id:I.project_id,collection_id:I.collection_id,item_id:I.item_id,result_revision:U==="accepted"&&N?`r${Number(N.revision)}`:I.result_revision,result_digest:V_(O),accepted_receipt_id:I.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(ON,AN(S)),S})}async verifyItemBindingInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding inverse receipt was not found.");if(await this.sql.get(`SELECT item_id FROM knowledge_project_collection_memberships + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.now(),this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,j.collection_id]);let I=j.collection_id?await this.getAggregateByCollection($,j.collection_id):null,W={accepted_receipt_id:j.receipt_id,collection_id:j.collection_id,item_id:j.item_id,absent:D==="accepted"},J={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"bind_item","inverse"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:g_({accepted_receipt_id:j.receipt_id,collection_id:j.collection_id,item_id:j.item_id}),precondition_digest:j.result_digest??"",outcome:D,reason:N,source_project_id:j.source_project_id,project_id:j.project_id,collection_id:j.collection_id,item_id:j.item_id,result_revision:D==="accepted"&&I?`r${Number(I.revision)}`:j.result_revision,result_digest:g_(W),accepted_receipt_id:j.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(qI,HI(J)),J})}async verifyItemBindingInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding inverse receipt was not found.");if(await this.sql.get(`SELECT item_id FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id,$.item_id]))throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","item-binding inverse verification found the membership still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.item_id,absent:!0,digest:$.result_digest}}resourceBase(_){return{project_id:_.project_id,source_project_id:_.source_project_id,collection_id:_.collection_id,revision:`r${Number(_.revision)}`}}projectResource(_){let $={...this.resourceBase(_),kind:"project",id:_.project_id,title:_.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${_.project_id}`},metadata:{source_project_id:_.source_project_id,slug:_.project_slug,collection_count:1}};return{...$,key:`project:${_.project_id}`,digest:V_($)}}collectionResource(_,$){let D={...this.resourceBase(_),kind:"collection",id:_.collection_id,title:_.collection_name,locator:{kind:"external_uuid",value:_.collection_id},metadata:{slug:_.collection_slug,membership_rule:t4,member_count:$}};return{...D,key:`collection:${_.collection_id}`,digest:V_(D)}}itemResource(_,$){let D={...this.resourceBase(_),kind:"item",id:$.id,revision:`v${$.version??1}`,title:$.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent($.id)}`},metadata:{tags:[...$.tags??[]],archived:$.archived===!0,updated_at:$.updated_at}};return{...D,key:`item:${$.id}`,digest:V_(D)}}taxonomyResource(_,$,D){let I=X1(`${_.collection_id}\x00taxonomy\x00${$}`),U={...this.resourceBase(_),kind:"taxonomy",id:I,title:D.label,locator:{kind:"external_uuid",value:I},metadata:{tag:D.label,normalized_tag:$,item_count:D.itemCount,member_digest:D.memberDigest}};return{...U,key:`taxonomy:${I}`,digest:V_(U)}}postgresItem(_){let $=(D,I)=>{if(D==null)return I;if(typeof D==="string")try{return JSON.parse(D)}catch{return I}return D};return{id:String(_.id),short_id:_.short_id??null,title:String(_.title??""),content:String(_.content??""),url:_.url??null,tags:$(_.tags,[]),metadata:$(_.metadata,{}),archived:Boolean(_.archived),created_at:String(_.created_at),updated_at:String(_.updated_at),version:_.version==null?1:Number(_.version)}}resourceCursorAfter(_){if(!_.cursor)return"";let $;try{$=JSON.parse(Buffer.from(_.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if($.version!==1||$.project_id!==_.aggregate.project_id||$.collection_id!==_.aggregate.collection_id||$.collection_revision!==_.revision||$.population_digest!==_.populationDigest||p6($.kinds)!==p6(_.kinds)||typeof $.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");return $.after}async listPostgresProjectResources(_,$,D,I){let U=await this.getAggregateByProject(this.sql,k_(_,"project_id"));if(!U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let E=[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,U.collection_id],j=await this.sql.get(`SELECT + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id,$.item_id]))throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","item-binding inverse verification found the membership still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.item_id,absent:!0,digest:$.result_digest}}resourceBase(_){return{project_id:_.project_id,source_project_id:_.source_project_id,collection_id:_.collection_id,revision:`r${Number(_.revision)}`}}projectResource(_){let $={...this.resourceBase(_),kind:"project",id:_.project_id,title:_.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${_.project_id}`},metadata:{source_project_id:_.source_project_id,slug:_.project_slug,collection_count:1}};return{...$,key:`project:${_.project_id}`,digest:g_($)}}collectionResource(_,$){let U={...this.resourceBase(_),kind:"collection",id:_.collection_id,title:_.collection_name,locator:{kind:"external_uuid",value:_.collection_id},metadata:{slug:_.collection_slug,membership_rule:N0,member_count:$}};return{...U,key:`collection:${_.collection_id}`,digest:g_(U)}}itemResource(_,$){let U={...this.resourceBase(_),kind:"item",id:$.id,revision:`v${$.version??1}`,title:$.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent($.id)}`},metadata:{tags:[...$.tags??[]],archived:$.archived===!0,updated_at:$.updated_at}};return{...U,key:`item:${$.id}`,digest:g_(U)}}taxonomyResource(_,$,U){let j=w1(`${_.collection_id}\x00taxonomy\x00${$}`),D={...this.resourceBase(_),kind:"taxonomy",id:j,title:U.label,locator:{kind:"external_uuid",value:j},metadata:{tag:U.label,normalized_tag:$,item_count:U.itemCount,member_digest:U.memberDigest}};return{...D,key:`taxonomy:${j}`,digest:g_(D)}}postgresItem(_){let $=(U,j)=>{if(U==null)return j;if(typeof U==="string")try{return JSON.parse(U)}catch{return j}return U};return{id:String(_.id),short_id:_.short_id??null,title:String(_.title??""),content:String(_.content??""),url:_.url??null,tags:$(_.tags,[]),metadata:$(_.metadata,{}),archived:Boolean(_.archived),created_at:String(_.created_at),updated_at:String(_.updated_at),version:_.version==null?1:Number(_.version)}}resourceCursorAfter(_){if(!_.cursor)return"";let $;try{$=JSON.parse(Buffer.from(_.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if($.version!==1||$.project_id!==_.aggregate.project_id||$.collection_id!==_.aggregate.collection_id||$.collection_revision!==_.revision||$.population_digest!==_.populationDigest||E4($.kinds)!==E4(_.kinds)||typeof $.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");return $.after}async listPostgresProjectResources(_,$,U,j){let D=await this.getAggregateByProject(this.sql,w_(_,"project_id"));if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let N=[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id],E=await this.sql.get(`SELECT COUNT(*)::text AS membership_count, COUNT(i.id)::text AS visible_item_count, encode(sha256(convert_to(COALESCE(string_agg( @@ -1428,7 +1428,7 @@ Pages should be concise, cited, and organized for both humans and agents. ON i.id = m.item_id AND (i.authority_classification IS NULL OR i.tenant_id::text = ?) WHERE m.authority_id = ? AND m.tenant_id = ? AND m.corpus_id = ? - AND m.collection_id = ?`,[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,U.collection_id]),N=Number(j?.membership_count??0),O=Number(j?.visible_item_count??0);if(N!==O)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing or inaccessible Knowledge item; refusing a partial resource population.",{collection_id:U.collection_id,membership_count:N,visible_item_count:O});let S=await this.sql.get(`SELECT COUNT(*)::text AS taxonomy_count + AND m.collection_id = ?`,[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]),I=Number(E?.membership_count??0),W=Number(E?.visible_item_count??0);if(I!==W)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing or inaccessible Knowledge item; refusing a partial resource population.",{collection_id:D.collection_id,membership_count:I,visible_item_count:W});let J=await this.sql.get(`SELECT COUNT(*)::text AS taxonomy_count FROM ( SELECT LOWER(BTRIM(tag.value)) AS normalized_tag FROM knowledge_project_collection_memberships m @@ -1440,7 +1440,7 @@ Pages should be concise, cited, and organized for both humans and agents. AND m.collection_id = ? AND BTRIM(tag.value) <> '' GROUP BY LOWER(BTRIM(tag.value)) - ) taxonomy`,E),L=Number(S?.taxonomy_count??0),W=`r${Number(U.revision)}`,g=V_({collection_revision:W,kinds:I,item_snapshot_digest:I.includes("item")||I.includes("taxonomy")?j?.item_snapshot_digest??"":null,taxonomy_count:I.includes("taxonomy")?L:null}),z=this.resourceCursorAfter({cursor:$.cursor,aggregate:U,revision:W,populationDigest:g,kinds:I}),G=D+Mb,J=[],P=(Q)=>{if(J.lengthz)J.push(Q)};if(P(this.collectionResource(U,N)),I.includes("item")&&J.length{if(P.lengthz)P.push(T)};if(O(this.collectionResource(D,I)),j.includes("item")&&P.length ? ORDER BY m.item_id ASC - LIMIT ${G-J.length}`,[...E,Q]);for(let B of F)P(this.itemResource(U,this.postgresItem(B)))}if(P(this.projectResource(U)),I.includes("taxonomy")&&J.length ? ORDER BY taxonomy_id ASC - LIMIT ${G-J.length}`,[...E,U.collection_id,Q]);for(let B of F)P(this.taxonomyResource(U,B.normalized_tag,{label:B.label,itemCount:Number(B.item_count),memberDigest:B.member_digest}))}let X=(I.includes("collection")?1:0)+(I.includes("item")?N:0)+(I.includes("project")?1:0)+(I.includes("taxonomy")?L:0),R=J.slice(0,D),T=J.length>R.length,Y=T&&R.length>0?Buffer.from(JSON.stringify({version:1,project_id:U.project_id,collection_id:U.collection_id,collection_revision:W,population_digest:g,kinds:I,after:R.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:yP,...this.identity,project_id:U.project_id,source_project_id:U.source_project_id,collection_id:U.collection_id,collection_revision:W,population_digest:g,resource_kinds:I,resources:R,count:R.length,total:X,limit:D,cursor:$.cursor??null,next_cursor:Y,has_more:T,complete:!T,truncated:!1}}async buildResources(_){let $=await this.getAggregateByProject(this.sql,k_(_,"project_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let D=await this.sql.many(`SELECT * FROM knowledge_project_collection_memberships + LIMIT ${R-P.length}`,[...N,D.collection_id,T]);for(let g of F)O(this.taxonomyResource(D,g.normalized_tag,{label:g.label,itemCount:Number(g.item_count),memberDigest:g.member_digest}))}let Y=(j.includes("collection")?1:0)+(j.includes("item")?I:0)+(j.includes("project")?1:0)+(j.includes("taxonomy")?L:0),Q=P.slice(0,U),B=P.length>Q.length,G=B&&Q.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:S,population_digest:X,kinds:j,after:Q.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:Oz,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:S,population_digest:X,resource_kinds:j,resources:Q,count:Q.length,total:Y,limit:U,cursor:$.cursor??null,next_cursor:G,has_more:B,complete:!B,truncated:!1}}async buildResources(_){let $=await this.getAggregateByProject(this.sql,w_(_,"project_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let U=await this.sql.many(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ? - ORDER BY item_id ASC`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id]),I=await Promise.all(D.map(async(L)=>{let W=await this.itemResolver(L.item_id);if(!W||W.id!==L.item_id)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing Knowledge item; refusing a partial resource population.",{collection_id:$.collection_id,item_id:L.item_id});return W})),U=`r${Number($.revision)}`,E={project_id:$.project_id,source_project_id:$.source_project_id,collection_id:$.collection_id,revision:U},j=[],N={...E,kind:"project",id:$.project_id,title:$.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${$.project_id}`},metadata:{source_project_id:$.source_project_id,slug:$.project_slug,collection_count:1}};j.push({...N,key:`project:${$.project_id}`,digest:V_(N)});let O={...E,kind:"collection",id:$.collection_id,title:$.collection_name,locator:{kind:"external_uuid",value:$.collection_id},metadata:{slug:$.collection_slug,membership_rule:t4,member_count:I.length}};j.push({...O,key:`collection:${$.collection_id}`,digest:V_(O)});for(let L of I){let W={...E,kind:"item",id:L.id,revision:`v${L.version??1}`,title:L.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent(L.id)}`},metadata:{tags:[...L.tags??[]],archived:L.archived===!0,updated_at:L.updated_at}};j.push({...W,key:`item:${L.id}`,digest:V_(W)})}let S=new Map;for(let L of I)for(let W of L.tags??[]){let g=W.trim().toLowerCase();if(!g)continue;let z=S.get(g)??{label:W.trim(),itemIds:[]};z.itemIds.push(L.id),S.set(g,z)}for(let[L,W]of[...S.entries()].sort(([g],[z])=>g.localeCompare(z))){let g=X1(`${$.collection_id}\x00taxonomy\x00${L}`),z={...E,kind:"taxonomy",id:g,title:W.label,locator:{kind:"external_uuid",value:g},metadata:{tag:W.label,normalized_tag:L,item_count:W.itemIds.length,member_digest:V_([...W.itemIds].sort())}};j.push({...z,key:`taxonomy:${g}`,digest:V_(z)})}return j.sort((L,W)=>L.key.localeCompare(W.key)),{aggregate:$,resources:j}}async listProjectResources(_,$={}){let D=Hb($.limit),I=bb($.kinds);if(this.sql.kind==="postgres")return this.listPostgresProjectResources(_,$,D,I);let{aggregate:U,resources:E}=await this.buildResources(_),j=`r${Number(U.revision)}`,N=E.filter((G)=>I.includes(G.kind)),O=V_(N.map((G)=>({key:G.key,digest:G.digest}))),S="";if($.cursor){let G;try{G=JSON.parse(Buffer.from($.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if(G.version!==1||G.project_id!==U.project_id||G.collection_id!==U.collection_id||G.collection_revision!==j||G.population_digest!==O||p6(G.kinds)!==p6(I)||typeof G.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");S=G.after}let L=S?N.filter((G)=>G.key>S):N,W=L.slice(0,D),g=L.length>W.length,z=g&&W.length>0?Buffer.from(JSON.stringify({version:1,project_id:U.project_id,collection_id:U.collection_id,collection_revision:j,population_digest:O,kinds:I,after:W.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:yP,...this.identity,project_id:U.project_id,source_project_id:U.source_project_id,collection_id:U.collection_id,collection_revision:j,population_digest:O,resource_kinds:I,resources:W,count:W.length,total:N.length,limit:D,cursor:$.cursor??null,next_cursor:z,has_more:g,complete:!g,truncated:!1}}async readProjectResource(_,$,D){let{resources:I}=await this.buildResources(_),U=I.find((E)=>E.kind===$&&E.id===D);if(!U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project resource was not found by exact kind and id.");return U}async readAllProjectResources(_,$={}){let D=[],I=new Set,U=null,E=null;do{let j=await this.listProjectResources(_,{...$,cursor:U}),N={project_id:j.project_id,collection_id:j.collection_id,collection_revision:j.collection_revision,population_digest:j.population_digest,total:j.total,kinds:p6(j.resource_kinds)};if(E&&p6(E)!==p6(N))throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete population was being read.");E??=N;for(let O of j.resources){if(I.has(O.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource pagination returned a duplicate stable resource key.",{key:O.key});I.add(O.key),D.push(O)}if(j.has_more&&!j.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource page claims more data without a continuation cursor.");U=j.next_cursor}while(U);if(!E||D.length!==E.total)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete project resource enumeration did not match the producer total.",{expected_total:E?.total??null,received:D.length});return D}}function SN(_){if(_.databasePath!==":memory:")u$(_.databasePath);let $=import.meta.require;if(typeof $!=="function")throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the local Knowledge project-links authority requires the Bun runtime.");let{Database:D}=$("bun:sqlite"),I=new D(_.databasePath,{create:!0});return I.exec(Zb()),new E9(new U9(I),(U)=>_.itemStore.get(U),_.options)}class j9{options;fetchImpl;root;constructor(_){this.options=_;this.fetchImpl=_.fetch??X0,this.root=_.baseUrl.replace(/\/+$/,"")}async close(){}headers(_={}){let $=new Headers(this.options.headers);if($.set("accept","application/json"),this.options.apiKey)$.set("x-api-key",this.options.apiKey);for(let[D,I]of Object.entries(_))$.set(D,I);return $}async request(_,$={}){let D=await this.fetchImpl(`${this.root}${_}`,{...$,headers:this.headers($.body?{"content-type":"application/json"}:{})}),I=await D.json().catch(()=>({}));if(!D.ok)throw new o(typeof I.error==="string"?I.error:"KNOWLEDGE_PROJECT_LINKS_CONFLICT",typeof I.message==="string"?I.message:`Knowledge project-links HTTP ${D.status}`,I.details&&typeof I.details==="object"?I.details:{});return I}async capability(){return(await this.request("/v1/project-registration/capability")).capability}async registerCollection(_){return(await this.request("/v1/project-registration/create",{method:"POST",body:JSON.stringify(_)})).receipt}async readCollection(_){return(await this.request("/v1/project-registration/read-exact",{method:"POST",body:JSON.stringify({collection_id:_})})).record}async lookupReceipt(_){return(await this.request("/v1/project-registration/receipts/lookup",{method:"POST",body:JSON.stringify(_)})).receipt}async compensateRegistration(_){return(await this.request("/v1/project-registration/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyRegistrationInverse(_){return(await this.request("/v1/project-registration/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async bindItem(_){return(await this.request("/v1/project-registration/items/bind",{method:"POST",body:JSON.stringify(_)})).receipt}async readItemBinding(_,$){return(await this.request("/v1/project-registration/items/read-exact",{method:"POST",body:JSON.stringify({collection_id:_,item_id:$})})).record}async compensateItemBinding(_){return(await this.request("/v1/project-registration/items/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyItemBindingInverse(_){return(await this.request("/v1/project-registration/items/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async listProjectResources(_,$={}){let D=new URLSearchParams;if($.limit!==void 0)D.set("limit",String($.limit));if($.cursor)D.set("cursor",$.cursor);for(let U of $.kinds??[])D.append("kind",U);let I=D.size>0?`?${D.toString()}`:"";return this.request(`/v1/projects/${encodeURIComponent(_)}/resources${I}`)}async readProjectResource(_,$,D){return(await this.request(`/v1/projects/${encodeURIComponent(_)}/resources/${$}/${encodeURIComponent(D)}`)).resource}async readAllProjectResources(_,$={}){let D=[],I=new Set,U=null,E=null,j=null,N=null;do{let O=await this.listProjectResources(_,{...$,cursor:U});if(E??=O.total,j??=O.collection_revision,N??=O.population_digest,O.total!==E||O.collection_revision!==j||O.population_digest!==N)throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete HTTP population was being read.");for(let S of O.resources){if(I.has(S.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP pagination returned a duplicate stable key.");I.add(S.key),D.push(S)}if(O.has_more&&!O.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP page claims more data without a cursor.");U=O.next_cursor}while(U);if(E===null||D.length!==E)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete HTTP resource enumeration did not match the producer total.");return D}}function N9(_){return new j9(_)}var E$={name:"@hasna/knowledge",version:"0.2.102",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/live-private-query.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","live:private-query":"bun scripts/live-private-query.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","contracts:conformance":"contracts conformance fixtures",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 contracts:conformance && contracts no-cloud-scan . && bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. ",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.8.5","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};function wb(_){let $=K9(_);if(X_(A9($,"knowledge.db"))||X_(A9($,"config.json")))return S0($);return S0(j$(xN($)).home)}function cP(_){return`${vb()}:${R1("sha256").update(_.home).digest("hex").slice(0,12)}`}function mP(_){return`'${_.replace(/'/g,"'\\''")}'`}function rb(_){return["knowledge",..._].map(mP).join(" ")}function O9(_,$){return`cd ${mP(_)} && knowledge ${$.map(mP).join(" ")}`}function T9(_){return!_||_==="local"||_==="localhost"}function G1(_,$){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 nP(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function fb(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((D)=>typeof D==="string"):[]}catch{return[]}}function Y1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function C_(_){return typeof _==="string"&&_.length>0?_:null}function xb(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function LN(_){return typeof _==="boolean"?_:null}function ub(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function F9(_,$,D){let I=Y1(_),U=C_(I.observed_at)??C_($[`${D}_observed_at`]),E=C_(I.source_authority)??C_($[`${D}_source_authority`]);if(!U||!E)return null;return{observed_at:U,verified_at:C_(I.verified_at),expires_at:C_(I.expires_at)??C_($[`${D}_expires_at`]),ttl_ms:xb(I.ttl_ms),source_authority:E,confidence:C_(I.confidence)??(D==="route"?C_($.route_confidence):null),cacheable:LN(I.cacheable)??LN($[`${D}_cacheable`])??!1,stale:LN(I.stale)??LN($[`${D}_stale`])??!1,reasons:ub(I.reasons)}}function yb(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||fb(_.tailscale_ips_json).includes($)}function S9(_,$){return s2(_).find((D)=>yb(D,$))??null}function V9(_){return Y1(o4(_.metadata_json).resolver_evidence)}function Q1(_){return Y1(o4(_.capabilities_json).resolver)}function B9(_){let $=Q1(_),D=C_($.route_kind);if(D==="local"||D==="lan"||D==="tailscale"||D==="ssh"||D==="unknown")return D;if(_.tailscale_dns&&_.ssh_target===_.tailscale_dns)return"tailscale";return _.ssh_target?"ssh":"unknown"}function hb(_){let $=Q1(_),D=C_($.route_target_kind);if(D==="local"||D==="lan"||D==="tailscale"||D==="ssh"||D==="unknown")return D;return B9(_)}function cb(_){return C_(Q1(_).route_confidence)??"medium"}function L9(_,$,D){let I=V9(_),U=Y1(I.route),E=Q1(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:B9(_),targetKind:hb(_),confidence:cb(_),source:"registry",adapter:D.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:U},cacheability:F9(U.cacheability,E,"route")??D.cacheability,warnings:[...new Set([...D.warnings,"registry_route_fallback"])]}}function W9(_,$,D){if(!_.workspace_home)return null;let I=V9(_),U=Y1(I.workspace),E=Q1(_);return{ok:!0,source:"registry",adapter:D.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:C_(U.project_id)??D.project_id,repo_name:C_(U.repo_name)??D.repo_name,project_root:_.workspace_home,project_root_source:C_(E.project_root_source)??"registry",workspace_root:C_(U.workspace_root),workspace_root_source:C_(E.workspace_root_source)??"registry",open_files_root:C_(U.open_files_root),open_files_root_source:C_(E.open_files_root_source)??"registry",trust_status:C_(E.trust_status)??"unknown",auth_status:C_(E.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:U},cacheability:F9(U.cacheability,E,"workspace")??D.cacheability,warnings:[...new Set([...D.warnings,"registry_workspace_fallback"])]}}function J9(_){if(!_)return null;let $=_.diagnostics.filter((I)=>I.severity!=="ok"),D=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!D)return null;return[$.length?`workspace diagnostics: ${$.map((I)=>`${I.id}=${I.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,D?`repair: ${D.shell_command}`:null].filter(Boolean).join("; ")}function WN(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:rb(_.args)}}function JN(_,$){let D=w(_);try{return Number(D.query($).get()?.count??0)}finally{D.close()}}function nb(_,$){let D=JN(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),I=JN(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),U=JN(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),E=JN(_,["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(" ")),j=E===0;return{ok:j,source_of_truth:"open-files",configured_root:$?.open_files_root??null,configured_root_source:$?.open_files_root_source??null,source_refs:{open_files:D,metadata_mentions:I},extracted_text_artifacts:U,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:E,message:j?`${D} open-files source ref(s); raw source bytes remain owned by open-files`:`${E} raw source payload metadata sentinel(s) found`}}var db=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function lP(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((D)=>lP(D,$+1));for(let[D,I]of Object.entries(_)){if(db.has(D.toLowerCase()))return!0;if(lP(I,$+1))return!0}return!1}function o4(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function P9(_,$=20,D=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),D)}function mb(_,$=220){let D=_??"";return D.length>$?`${D.slice(0,$)}...`:D}function G$(_,$=["metadata_json"]){return _.map((D)=>{let I={...D};for(let U of $){let E=I[U];if(typeof E==="string"){let j=U.endsWith("_json")?U.slice(0,-5):U;I[j]=o4(E),delete I[U]}}return I})}function zN(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function iP(_){if(typeof _!=="string")return{};return o4(_)}function lb(_){let $={..._};return $.source_refs=zN($.source_refs_json),$.evidence_refs=zN($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=iP($.checks_json),$.metadata=iP($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function ib(_){let $={..._};return $.source_refs=zN($.source_refs_json),$.evidence_refs=zN($.evidence_refs_json),$.metadata=iP($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function e_(_,$,D=[]){return _.query($).all(...D)}function tb(_){if(!X_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(Cb(_,"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 z9(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:mb(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function g9(){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,promotion_candidates:0,durable_records:0}}function M9(_,$,D=!1){return{query:_,limit:$,offset:0,mode:{keyword:!0,catalog:!0,semantic:D},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 ob(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function pb(_,$,D=!1){let I=M9(_,$,D);return{query:_,normalized_query:ob(_),created_at:new Date().toISOString(),mode:I.mode,warnings:I.warnings,search_counts:I.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function dP(_,$,D){let I=D??$.jsonStorePath;if(X_(I))return I;if(_==="global"){let U=CD();if(X_(U))return U}return I}function eb(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function tP(_,$){let D=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(D.length<=$)return D;return`${D.slice(0,Math.max(0,$-1)).trim()}...`}function X9(_,$,D){let I=u_(tP(_,D),$);return{text:I.text,redactions:I.findings.length}}function G9(_,$,D){let I=_.now??new Date,U=_.source??"search",E=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),j=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),N=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),O=Math.max(500,Math.min(_.maxTokens??6000,1e5)),S=0,L=$.citations.slice(0,Math.max(N*2,N)).map((R,T)=>{let Y=X9(R.quote,D,T<3?220:140);S+=Y.redactions;let Q=R.source_ref??R.source_uri??R.artifact_path??R.artifact_uri??R.id;return{id:`cite_${R1("sha256").update(`${R.id}\x00${Q}`).digest("hex").slice(0,12)}`,kind:R.artifact_uri||R.artifact_path?"artifact":"source",ref:Q,source_ref:R.source_ref,source_uri:R.source_uri,artifact_uri:R.artifact_uri,artifact_path:R.artifact_path,run_id:null,run_event_id:null,revision:R.revision,hash:R.hash,chunk_id:R.chunk_id,offsets:{start:R.start_offset,end:R.end_offset},quote_preview:Y.text}}),W=new Map($.citations.map((R,T)=>[R.id,L[T]])),g=$.excerpts.slice(0,Math.max(N*2,N)).map((R)=>{let T=$.results.find((F)=>F.id===R.result_id),Y=R.citation_id?W.get(R.citation_id):void 0,Q=X9(R.text,D,520);return S+=Q.redactions,{id:`ev_${R1("sha256").update(`${R.kind}\x00${R.result_id}\x00${R.citation_id??""}`).digest("hex").slice(0,14)}`,kind:R.kind,title:tP(T?.title??Y?.ref??R.kind,100),text_preview:Q.text,score:Number(R.score.toFixed(6)),citation_ids:Y?[Y.id]:[],provenance:{source:U,record_ref:`${R.kind}:${R.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((R,T)=>T.score-R.score||R.id.localeCompare(T.id)).slice(0,N),z=new Set(g.flatMap((R)=>R.citation_ids)),G=L.filter((R)=>z.has(R.id)),J=Array.from(new Set($.warnings)),P=`ctx_${R1("sha256").update([U,E,j,J.join(","),g.map((R)=>R.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,X={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:I.toISOString(),source:U,purpose:E,query:j,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:P,budgets:{max_tokens:O,estimated_tokens:0,max_items:N,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:S,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:G,evidence:g,duplicate_candidates:[],outline:{title:j?`Knowledge context: ${tP(j,80)}`:"Knowledge context",bullets:g.length>0?g.slice(0,5).map((R)=>`${R.id}: ${R.title}`):["No matching bounded evidence was found."],evidence_ids:g.slice(0,8).map((R)=>R.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:J,message:`${g.length} bounded evidence item(s), estimated under ${O} token(s)`};return X.budgets.estimated_tokens=eb(X),X.budgets.token_budget_exceeded=X.budgets.estimated_tokens>O,X.message=`${X.evidence.length} bounded evidence item(s), estimated ${X.budgets.estimated_tokens}/${O} token(s)`,X}function ab(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function sb(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function _q(_){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 R9(_){let $=_.now??new Date,D=_.source??"search",I=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),U=(_.query??_.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),E=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),j=Math.max(500,Math.min(_.maxTokens??6000,1e5)),N=`ctx_${R1("sha256").update(["empty",D,I,U,_.topic??"",_.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:D,purpose:I,query:U,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:N,budgets:{max_tokens:j,estimated_tokens:0,max_items:E,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:U?`Context for ${U}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${j} token(s)`}}function oP(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function $q(_,$){let D=w(_);try{let I=D.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY item_id ASC`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id]),j=await Promise.all(U.map(async(L)=>{let S=await this.itemResolver(L.item_id);if(!S||S.id!==L.item_id)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing Knowledge item; refusing a partial resource population.",{collection_id:$.collection_id,item_id:L.item_id});return S})),D=`r${Number($.revision)}`,N={project_id:$.project_id,source_project_id:$.source_project_id,collection_id:$.collection_id,revision:D},E=[],I={...N,kind:"project",id:$.project_id,title:$.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${$.project_id}`},metadata:{source_project_id:$.source_project_id,slug:$.project_slug,collection_count:1}};E.push({...I,key:`project:${$.project_id}`,digest:g_(I)});let W={...N,kind:"collection",id:$.collection_id,title:$.collection_name,locator:{kind:"external_uuid",value:$.collection_id},metadata:{slug:$.collection_slug,membership_rule:N0,member_count:j.length}};E.push({...W,key:`collection:${$.collection_id}`,digest:g_(W)});for(let L of j){let S={...N,kind:"item",id:L.id,revision:`v${L.version??1}`,title:L.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent(L.id)}`},metadata:{tags:[...L.tags??[]],archived:L.archived===!0,updated_at:L.updated_at}};E.push({...S,key:`item:${L.id}`,digest:g_(S)})}let J=new Map;for(let L of j)for(let S of L.tags??[]){let X=S.trim().toLowerCase();if(!X)continue;let z=J.get(X)??{label:S.trim(),itemIds:[]};z.itemIds.push(L.id),J.set(X,z)}for(let[L,S]of[...J.entries()].sort(([X],[z])=>X.localeCompare(z))){let X=w1(`${$.collection_id}\x00taxonomy\x00${L}`),z={...N,kind:"taxonomy",id:X,title:S.label,locator:{kind:"external_uuid",value:X},metadata:{tag:S.label,normalized_tag:L,item_count:S.itemIds.length,member_digest:g_([...S.itemIds].sort())}};E.push({...z,key:`taxonomy:${X}`,digest:g_(z)})}return E.sort((L,S)=>L.key.localeCompare(S.key)),{aggregate:$,resources:E}}async listProjectResources(_,$={}){let U=mk($.limit),j=nk($.kinds);if(this.sql.kind==="postgres")return this.listPostgresProjectResources(_,$,U,j);let{aggregate:D,resources:N}=await this.buildResources(_),E=`r${Number(D.revision)}`,I=N.filter((R)=>j.includes(R.kind)),W=g_(I.map((R)=>({key:R.key,digest:R.digest}))),J="";if($.cursor){let R;try{R=JSON.parse(Buffer.from($.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if(R.version!==1||R.project_id!==D.project_id||R.collection_id!==D.collection_id||R.collection_revision!==E||R.population_digest!==W||E4(R.kinds)!==E4(j)||typeof R.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");J=R.after}let L=J?I.filter((R)=>R.key>J):I,S=L.slice(0,U),X=L.length>S.length,z=X&&S.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:E,population_digest:W,kinds:j,after:S.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:Oz,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:E,population_digest:W,resource_kinds:j,resources:S,count:S.length,total:I.length,limit:U,cursor:$.cursor??null,next_cursor:z,has_more:X,complete:!X,truncated:!1}}async readProjectResource(_,$,U){let{resources:j}=await this.buildResources(_),D=j.find((N)=>N.kind===$&&N.id===U);if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project resource was not found by exact kind and id.");return D}async readAllProjectResources(_,$={}){let U=[],j=new Set,D=null,N=null;do{let E=await this.listProjectResources(_,{...$,cursor:D}),I={project_id:E.project_id,collection_id:E.collection_id,collection_revision:E.collection_revision,population_digest:E.population_digest,total:E.total,kinds:E4(E.resource_kinds)};if(N&&E4(N)!==E4(I))throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete population was being read.");N??=I;for(let W of E.resources){if(j.has(W.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource pagination returned a duplicate stable resource key.",{key:W.key});j.add(W.key),U.push(W)}if(E.has_more&&!E.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource page claims more data without a continuation cursor.");D=E.next_cursor}while(D);if(!N||U.length!==N.total)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete project resource enumeration did not match the producer total.",{expected_total:N?.total??null,received:U.length});return U}}function kI(_){if(_.databasePath!==":memory:")i$(_.databasePath);let $=import.meta.require;if(typeof $!=="function")throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the local Knowledge project-links authority requires the Bun runtime.");let{Database:U}=$("bun:sqlite"),j=new U(_.databasePath,{create:!0});return j.exec(ck()),new iR(new dR(j),(D)=>_.itemStore.get(D),_.options)}class tR{options;fetchImpl;root;constructor(_){this.options=_;this.fetchImpl=_.fetch??H0,this.root=_.baseUrl.replace(/\/+$/,"")}async close(){}headers(_={}){let $=new Headers(this.options.headers);if($.set("accept","application/json"),this.options.apiKey)$.set("x-api-key",this.options.apiKey);for(let[U,j]of Object.entries(_))$.set(U,j);return $}async request(_,$={}){let U=await this.fetchImpl(`${this.root}${_}`,{...$,headers:this.headers($.body?{"content-type":"application/json"}:{})}),j=await U.json().catch(()=>({}));if(!U.ok)throw new o(typeof j.error==="string"?j.error:"KNOWLEDGE_PROJECT_LINKS_CONFLICT",typeof j.message==="string"?j.message:`Knowledge project-links HTTP ${U.status}`,j.details&&typeof j.details==="object"?j.details:{});return j}async capability(){return(await this.request("/v1/project-registration/capability")).capability}async registerCollection(_){return(await this.request("/v1/project-registration/create",{method:"POST",body:JSON.stringify(_)})).receipt}async readCollection(_){return(await this.request("/v1/project-registration/read-exact",{method:"POST",body:JSON.stringify({collection_id:_})})).record}async lookupReceipt(_){return(await this.request("/v1/project-registration/receipts/lookup",{method:"POST",body:JSON.stringify(_)})).receipt}async compensateRegistration(_){return(await this.request("/v1/project-registration/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyRegistrationInverse(_){return(await this.request("/v1/project-registration/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async bindItem(_){return(await this.request("/v1/project-registration/items/bind",{method:"POST",body:JSON.stringify(_)})).receipt}async readItemBinding(_,$){return(await this.request("/v1/project-registration/items/read-exact",{method:"POST",body:JSON.stringify({collection_id:_,item_id:$})})).record}async compensateItemBinding(_){return(await this.request("/v1/project-registration/items/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyItemBindingInverse(_){return(await this.request("/v1/project-registration/items/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async listProjectResources(_,$={}){let U=new URLSearchParams;if($.limit!==void 0)U.set("limit",String($.limit));if($.cursor)U.set("cursor",$.cursor);for(let D of $.kinds??[])U.append("kind",D);let j=U.size>0?`?${U.toString()}`:"";return this.request(`/v1/projects/${encodeURIComponent(_)}/resources${j}`)}async readProjectResource(_,$,U){return(await this.request(`/v1/projects/${encodeURIComponent(_)}/resources/${$}/${encodeURIComponent(U)}`)).resource}async readAllProjectResources(_,$={}){let U=[],j=new Set,D=null,N=null,E=null,I=null;do{let W=await this.listProjectResources(_,{...$,cursor:D});if(N??=W.total,E??=W.collection_revision,I??=W.population_digest,W.total!==N||W.collection_revision!==E||W.population_digest!==I)throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete HTTP population was being read.");for(let J of W.resources){if(j.has(J.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP pagination returned a duplicate stable key.");j.add(J.key),U.push(J)}if(W.has_more&&!W.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP page claims more data without a cursor.");D=W.next_cursor}while(D);if(N===null||U.length!==N)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete HTTP resource enumeration did not match the producer total.");return U}}function oR(_){return new tR(_)}var L$={name:"@hasna/knowledge",version:"0.2.104",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/live-private-query.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","live:private-query":"bun scripts/live-private-query.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","contracts:conformance":"contracts conformance fixtures",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 contracts:conformance && contracts no-cloud-scan . && bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. ",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.8.5","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};function ok(_){let $=JQ(_);if(R_(pR($,"knowledge.db"))||R_(pR($,"config.json")))return V0($);return V0(S$(S2($)).home)}function Xz(_){return`${tk()}:${f1("sha256").update(_.home).digest("hex").slice(0,12)}`}function Qz(_){return`'${_.replace(/'/g,"'\\''")}'`}function pk(_){return["knowledge",..._].map(Qz).join(" ")}function aR(_,$){return`cd ${Qz(_)} && knowledge ${$.map(Qz).join(" ")}`}function LQ(_){return!_||_==="local"||_==="localhost"}function v1(_,$){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 Yz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function ak(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function x1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function v_(_){return typeof _==="string"&&_.length>0?_:null}function ek(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function CI(_){return typeof _==="boolean"?_:null}function sk(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function SQ(_,$,U){let j=x1(_),D=v_(j.observed_at)??v_($[`${U}_observed_at`]),N=v_(j.source_authority)??v_($[`${U}_source_authority`]);if(!D||!N)return null;return{observed_at:D,verified_at:v_(j.verified_at),expires_at:v_(j.expires_at)??v_($[`${U}_expires_at`]),ttl_ms:ek(j.ttl_ms),source_authority:N,confidence:v_(j.confidence)??(U==="route"?v_($.route_confidence):null),cacheable:CI(j.cacheable)??CI($[`${U}_cacheable`])??!1,stale:CI(j.stale)??CI($[`${U}_stale`])??!1,reasons:sk(j.reasons)}}function _C(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||ak(_.tailscale_ips_json).includes($)}function eR(_,$){return MA(_).find((U)=>_C(U,$))??null}function PQ(_){return x1(E0(_.metadata_json).resolver_evidence)}function y1(_){return x1(E0(_.capabilities_json).resolver)}function OQ(_){let $=y1(_),U=v_($.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 $C(_){let $=y1(_),U=v_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return OQ(_)}function UC(_){return v_(y1(_).route_confidence)??"medium"}function sR(_,$,U){let j=PQ(_),D=x1(j.route),N=y1(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:OQ(_),targetKind:$C(_),confidence:UC(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:SQ(D.cacheability,N,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function _Q(_,$,U){if(!_.workspace_home)return null;let j=PQ(_),D=x1(j.workspace),N=y1(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:v_(D.project_id)??U.project_id,repo_name:v_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:v_(N.project_root_source)??"registry",workspace_root:v_(D.workspace_root),workspace_root_source:v_(N.workspace_root_source)??"registry",open_files_root:v_(D.open_files_root),open_files_root_source:v_(N.open_files_root_source)??"registry",trust_status:v_(N.trust_status)??"unknown",auth_status:v_(N.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:SQ(D.cacheability,N,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function $Q(_){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 bI(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:pk(_.args)}}function wI(_,$){let U=v(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function DC(_,$){let U=wI(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),j=wI(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=wI(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),N=wI(_,["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(" ")),E=N===0;return{ok:E,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:N,message:E?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${N} raw source payload metadata sentinel(s) found`}}var jC=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(jC.has(U.toLowerCase()))return!0;if(Gz(j,$+1))return!0}return!1}function E0(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function UQ(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function NC(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function g$(_,$=["metadata_json"]){return _.map((U)=>{let j={...U};for(let D of $){let N=j[D];if(typeof N==="string"){let E=D.endsWith("_json")?D.slice(0,-5):D;j[E]=E0(N),delete j[D]}}return j})}function fI(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function Tz(_){if(typeof _!=="string")return{};return E0(_)}function EC(_){let $={..._};return $.source_refs=fI($.source_refs_json),$.evidence_refs=fI($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=Tz($.checks_json),$.metadata=Tz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function IC(_){let $={..._};return $.source_refs=fI($.source_refs_json),$.evidence_refs=fI($.evidence_refs_json),$.metadata=Tz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function D$(_,$,U=[]){return _.query($).all(...U)}function AC(_){if(!R_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(ik(_,"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 DQ(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:NC(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function jQ(){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,promotion_candidates:0,durable_records:0}}function zQ(_,$,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 WC(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function JC(_,$,U=!1){let j=zQ(_,$,U);return{query:_,normalized_query:WC(_),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 Rz(_,$,U){let j=U??$.jsonStorePath;if(R_(j))return j;if(_==="global"){let D=pU();if(R_(D))return D}return j}function LC(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Vz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function NQ(_,$,U){let j=d_(Vz(_,U),$);return{text:j.text,redactions:j.findings.length}}function EQ(_,$,U){let j=_.now??new Date,D=_.source??"search",N=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),E=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),I=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),W=Math.max(500,Math.min(_.maxTokens??6000,1e5)),J=0,L=$.citations.slice(0,Math.max(I*2,I)).map((Q,B)=>{let G=NQ(Q.quote,U,B<3?220:140);J+=G.redactions;let T=Q.source_ref??Q.source_uri??Q.artifact_path??Q.artifact_uri??Q.id;return{id:`cite_${f1("sha256").update(`${Q.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:Q.artifact_uri||Q.artifact_path?"artifact":"source",ref:T,source_ref:Q.source_ref,source_uri:Q.source_uri,artifact_uri:Q.artifact_uri,artifact_path:Q.artifact_path,run_id:null,run_event_id:null,revision:Q.revision,hash:Q.hash,chunk_id:Q.chunk_id,offsets:{start:Q.start_offset,end:Q.end_offset},quote_preview:G.text}}),S=new Map($.citations.map((Q,B)=>[Q.id,L[B]])),X=$.excerpts.slice(0,Math.max(I*2,I)).map((Q)=>{let B=$.results.find((F)=>F.id===Q.result_id),G=Q.citation_id?S.get(Q.citation_id):void 0,T=NQ(Q.text,U,520);return J+=T.redactions,{id:`ev_${f1("sha256").update(`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`).digest("hex").slice(0,14)}`,kind:Q.kind,title:Vz(B?.title??G?.ref??Q.kind,100),text_preview:T.text,score:Number(Q.score.toFixed(6)),citation_ids:G?[G.id]:[],provenance:{source:D,record_ref:`${Q.kind}:${Q.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((Q,B)=>B.score-Q.score||Q.id.localeCompare(B.id)).slice(0,I),z=new Set(X.flatMap((Q)=>Q.citation_ids)),R=L.filter((Q)=>z.has(Q.id)),P=Array.from(new Set($.warnings)),O=`ctx_${f1("sha256").update([D,N,E,P.join(","),X.map((Q)=>Q.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,Y={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:j.toISOString(),source:D,purpose:N,query:E,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:O,budgets:{max_tokens:W,estimated_tokens:0,max_items:I,items_included:X.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-X.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:J,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:R,evidence:X,duplicate_candidates:[],outline:{title:E?`Knowledge context: ${Vz(E,80)}`:"Knowledge context",bullets:X.length>0?X.slice(0,5).map((Q)=>`${Q.id}: ${Q.title}`):["No matching bounded evidence was found."],evidence_ids:X.slice(0,8).map((Q)=>Q.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:P,message:`${X.length} bounded evidence item(s), estimated under ${W} token(s)`};return Y.budgets.estimated_tokens=LC(Y),Y.budgets.token_budget_exceeded=Y.budgets.estimated_tokens>W,Y.message=`${Y.evidence.length} bounded evidence item(s), estimated ${Y.budgets.estimated_tokens}/${W} token(s)`,Y}function SC(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function PC(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function OC(_){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 IQ(_){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," "),N=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),E=Math.max(500,Math.min(_.maxTokens??6000,1e5)),I=`ctx_${f1("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:I,budgets:{max_tokens:E,estimated_tokens:0,max_items:N,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/${E} token(s)`}}function Bz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function zC(_,$){let U=v(_);try{let j=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),U=new Map,E=0,j=0,N=0,O=0,S=0,L=0,W=0,g=0,z=0,G=0,J=0,P=0,X=new Map,R=[],T=[],Y=[],Q=[],F=$.artifact_store.uri_prefix,B=oP($);for(let E_ of I){if(U.set(E_.kind,(U.get(E_.kind)??0)+1),E_.hash?.startsWith("sha256:"))E+=1;if(typeof E_.size_bytes==="number"&&E_.size_bytes>=0)j+=1,N+=E_.size_bytes;if(E_.artifact_uri.startsWith(F))O+=1;else if(R.length<5)R.push(E_.artifact_uri);let v_=o4(E_.metadata_json);if(lP(v_))W+=1;let O0=typeof v_.key==="string"?v_.key:null;if(!O0)S+=1;else if(B&&O0.startsWith(B)){if(L+=1,T.length<5)T.push(O0)}let bz=typeof v_.artifact_modified_at==="string"?v_.artifact_modified_at:null;if(bz)if(Number.isNaN(Date.parse(bz))){if(z+=1,Y.length<5)Y.push(E_.artifact_uri)}else g+=1;let kD=v_.provenance&&typeof v_.provenance==="object"&&!Array.isArray(v_.provenance)?v_.provenance:null;if(kD){G+=1;let vN=typeof kD.artifact_key==="string"?kD.artifact_key:null,qz=typeof kD.generated_from==="string"?kD.generated_from:"unknown";if(X.set(qz,(X.get(qz)??0)+1),vN){if(J+=1,O0&&vN!==O0){if(P+=1,Q.length<5)Q.push(`${E_.artifact_uri}:provenance.artifact_key=${vN}:key=${O0}`)}}else if(Q.length<5)Q.push(`${E_.artifact_uri}:missing_provenance_artifact_key`)}else if(Q.length<5)Q.push(`${E_.artifact_uri}:missing_provenance`)}let b=I.length-E,f=I.length-j,l=I.length-g-z,U_=I.length-G,j_=G-J,_$=I.length-O,G_=[b>0?`artifact_manifest_missing_hash:${b}`:null,f>0?`artifact_manifest_missing_size:${f}`:null,S>0?`artifact_manifest_missing_key:${S}`:null,_$>0?`artifact_manifest_uri_prefix_mismatch:${_$}`:null,L>0?`artifact_manifest_s3_key_contains_storage_prefix:${L}`:null,z>0?`artifact_manifest_invalid_modified_at:${z}`:null,U_>0?`artifact_manifest_missing_provenance:${U_}`:null,j_>0?`artifact_manifest_missing_provenance_artifact_key:${j_}`:null,P>0?`artifact_manifest_provenance_key_mismatch:${P}`:null,W>0?`artifact_manifest_raw_payload_sentinels:${W}`:null].filter((E_)=>Boolean(E_)),K$=G_.length===0;return{ok:K$,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:F,s3:$.artifact_store.s3,artifacts:{total:I.length,by_kind:[...U.entries()].map(([E_,v_])=>({kind:E_,count:v_})).sort((E_,v_)=>E_.kind.localeCompare(v_.kind)),with_hash:E,missing_hash:b,with_size:j,missing_size:f,total_size_bytes:N},modified_time:{with_modified_at:g,missing_modified_at:l,invalid_modified_at:z,examples:Y},provenance:{with_provenance:G,missing_provenance:U_,with_artifact_key:J,missing_artifact_key:j_,artifact_key_mismatches:P,generated_from:[...X.entries()].map(([E_,v_])=>({value:E_,count:v_})).sort((E_,v_)=>E_.value.localeCompare(v_.value)),examples:Q},uri_prefix:{matching:O,mismatched:_$,examples:R},keys:{with_key:I.length-S,missing_key:S,prefixed_with_storage_prefix:L,prefixed_examples:T},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:L===0&&S===0,tracks_modified_time:g>0&&z===0,preserves_provenance:U_===0&&j_===0&&P===0},raw_payload_sentinel_hits:W,warnings:G_,message:K$?`${I.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${G_.join(", ")}`}}finally{D.close()}}function Dq(_,$){let D=oP($);if(!D)return[];let I=w(_);try{let U=I.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY artifact_uri ASC`).all(),D=new Map,N=0,E=0,I=0,W=0,J=0,L=0,S=0,X=0,z=0,R=0,P=0,O=0,Y=new Map,Q=[],B=[],G=[],T=[],F=$.artifact_store.uri_prefix,g=Bz($);for(let N_ of j){if(D.set(N_.kind,(D.get(N_.kind)??0)+1),N_.hash?.startsWith("sha256:"))N+=1;if(typeof N_.size_bytes==="number"&&N_.size_bytes>=0)E+=1,I+=N_.size_bytes;if(N_.artifact_uri.startsWith(F))W+=1;else if(Q.length<5)Q.push(N_.artifact_uri);let y_=E0(N_.metadata_json);if(Gz(y_))S+=1;let T0=typeof y_.key==="string"?y_.key:null;if(!T0)J+=1;else if(g&&T0.startsWith(g)){if(L+=1,B.length<5)B.push(T0)}let X3=typeof y_.artifact_modified_at==="string"?y_.artifact_modified_at:null;if(X3)if(Number.isNaN(Date.parse(X3))){if(z+=1,G.length<5)G.push(N_.artifact_uri)}else X+=1;let oU=y_.provenance&&typeof y_.provenance==="object"&&!Array.isArray(y_.provenance)?y_.provenance:null;if(oU){R+=1;let A2=typeof oU.artifact_key==="string"?oU.artifact_key:null,Y3=typeof oU.generated_from==="string"?oU.generated_from:"unknown";if(Y.set(Y3,(Y.get(Y3)??0)+1),A2){if(P+=1,T0&&A2!==T0){if(O+=1,T.length<5)T.push(`${N_.artifact_uri}:provenance.artifact_key=${A2}:key=${T0}`)}}else if(T.length<5)T.push(`${N_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${N_.artifact_uri}:missing_provenance`)}let q=j.length-N,x=j.length-E,l=j.length-X-z,D_=j.length-R,E_=R-P,E$=j.length-W,Q_=[q>0?`artifact_manifest_missing_hash:${q}`:null,x>0?`artifact_manifest_missing_size:${x}`:null,J>0?`artifact_manifest_missing_key:${J}`:null,E$>0?`artifact_manifest_uri_prefix_mismatch:${E$}`:null,L>0?`artifact_manifest_s3_key_contains_storage_prefix:${L}`:null,z>0?`artifact_manifest_invalid_modified_at:${z}`:null,D_>0?`artifact_manifest_missing_provenance:${D_}`:null,E_>0?`artifact_manifest_missing_provenance_artifact_key:${E_}`:null,O>0?`artifact_manifest_provenance_key_mismatch:${O}`:null,S>0?`artifact_manifest_raw_payload_sentinels:${S}`:null].filter((N_)=>Boolean(N_)),q$=Q_.length===0;return{ok:q$,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:F,s3:$.artifact_store.s3,artifacts:{total:j.length,by_kind:[...D.entries()].map(([N_,y_])=>({kind:N_,count:y_})).sort((N_,y_)=>N_.kind.localeCompare(y_.kind)),with_hash:N,missing_hash:q,with_size:E,missing_size:x,total_size_bytes:I},modified_time:{with_modified_at:X,missing_modified_at:l,invalid_modified_at:z,examples:G},provenance:{with_provenance:R,missing_provenance:D_,with_artifact_key:P,missing_artifact_key:E_,artifact_key_mismatches:O,generated_from:[...Y.entries()].map(([N_,y_])=>({value:N_,count:y_})).sort((N_,y_)=>N_.value.localeCompare(y_.value)),examples:T},uri_prefix:{matching:W,mismatched:E$,examples:Q},keys:{with_key:j.length-J,missing_key:J,prefixed_with_storage_prefix:L,prefixed_examples:B},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:L===0&&J===0,tracks_modified_time:X>0&&z===0,preserves_provenance:D_===0&&E_===0&&O===0},raw_payload_sentinel_hits:S,warnings:Q_,message:q$?`${j.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${Q_.join(", ")}`}}finally{U.close()}}function XC(_,$){let U=Bz($);if(!U)return[];let j=v(_);try{let D=j.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),E=[];for(let j of U){let N=o4(j.metadata_json),O=typeof N.key==="string"?N.key:null;if(!O?.startsWith(D))continue;let S=O.slice(D.length);if(!S)continue;E.push({id:j.id,artifact_uri:j.artifact_uri,kind:j.kind,current_key:O,repaired_key:c$(S),hash:j.hash,size_bytes:j.size_bytes})}return E}finally{I.close()}}function Uq(_){let $=["--scope",_.scope,"--json"],D=_.tables?.length?["--tables",_.tables.join(",")]:[],I=[WN({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!T9(_.machine))I.push(WN({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",_.machine,..._.peerWorkspace?["--peer-workspace",_.peerWorkspace]:[],...D,...$]}));else if(_.peerWorkspace)I.push(WN({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",_.peerWorkspace,...D,...$]}));for(let U of _.resolvedWorkspace?.repair_hints??[])I.push({id:U.id,reason:U.reason,command:U.command,shell_command:U.shell_command});if(_.openConflicts>0)I.push(WN({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return I}function Iq(){let _=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",$=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!$)return{command:_,argsPrefix:[]};let D;try{D=JSON.parse($)}catch(I){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${I instanceof Error?I.message:String(I)}`)}if(!Array.isArray(D)||!D.every((I)=>typeof I==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:D}}function Y9(_,$,D,I){let U=Iq(),E=kb(U.command,[...U.argsPrefix,I.target,$],{encoding:"utf8",env:process.env,input:D,maxBuffer:67108864});if((E.status??1)!==0){let j=I.source==="open-machines"?` via ${I.route??"resolved"}:${I.target}`:"";throw Error(`ssh ${_}${j} failed: ${(E.stderr||E.stdout||String(E.status)).trim()}`)}return E.stdout||""}function Q9(_,$,D){try{return JSON.parse(D)}catch(I){let U=D.trim().slice(0,240);throw Error(`Remote knowledge ${$} on ${_} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${U||String(I)}`)}}function Eq(_,$){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:D,min_protocol_version:I}=$;if(typeof D!=="number"||typeof I!=="number"||Dq6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function jq(_,$){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:D,min_protocol_version:I}=$;if(typeof D!=="number"||typeof I!=="number"||Dq6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Nq(_){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 PN extends Error{code="semantic_query_unavailable";constructor(){super("semantic_query_unavailable: the hosted Knowledge item store has no configured vector index.");this.name="KnowledgeSemanticSearchUnavailableError"}}class Z9{options;ensuredWorkspace;cachedConfig;cachedProjectLinksAuthority;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??x1(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=S0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return o1({storePath:_.jsonStorePath,storePathOverridden:!1})}projectLinksAuthority(){if(this.options.projectLinksAuthority)return this.options.projectLinksAuthority;if(this.cachedProjectLinksAuthority)return this.cachedProjectLinksAuthority;if(h$()){let{apiKey:$}=G2(process.env);if(!$)throw Error("Knowledge project links require the configured API credential in postgres mode.");return this.cachedProjectLinksAuthority=N9({baseUrl:e1(this.config(),process.env),apiKey:$}),this.cachedProjectLinksAuthority}let _=this.ensureWorkspace();return this.cachedProjectLinksAuthority=SN({databasePath:_.knowledgeDbPath,itemStore:this.itemStore(),options:{packageVersion:E$.version,authorityId:this.options.projectLinksIdentity?.authorityId??process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:this.options.projectLinksIdentity?.tenantId??process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:this.options.projectLinksIdentity?.corpusId??process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),this.cachedProjectLinksAuthority}async close(){let _=this.cachedProjectLinksAuthority;this.cachedProjectLinksAuthority=void 0,await _?.close()}async listItems(_={}){return this.itemStore().list(_)}async getItem(_){return this.itemStore().get(_)}async createItem(_){return this.itemStore().create(_)}async updateItem(_,$){return this.itemStore().update(_,$)}async deleteItem(_){return this.itemStore().delete(_)}async deleteItems(_){return this.itemStore().deleteMany(_)}async resolveInventory(_={}){if(this.isApiMode())return this.cloudInventory(_);return this.inventory(_)}config(_={}){let $=_.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||_.ensure||X_($.configPath))this.cachedConfig=X_($.configPath)?yN($.configPath):vD();return this.cachedConfig}safetyPolicy(){return Ig(this.config(),this.workspace)}artifactStore(){return g2(this.config(),this.ensureWorkspace())}storageContract(){return s1(this.config(),this.workspace,this.scope)}validateStorage(){return Y2(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,D=uN(this.options.scope,this.options.cwd),I=sR({scope:this.scope,current:$,legacy:D,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!I.dry_run&&I.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return I}mergeLegacyPath(_={}){let $=this.workspace,D=uN(this.options.scope,this.options.cwd),I=eR({scope:this.scope,current:$,legacy:D,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!I.dry_run&&I.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return I}setup(_={}){let $=this.ensureWorkspace(),D=this.config({ensure:!0}),I=Nq(_.mode)??D.mode,U=_.apiUrl?E6(_.apiUrl):D.hosted?.api_url?E6(D.hosted.api_url):null,E={...D,mode:I,hosted:{...D.hosted??{},...U?{api_url:U}:{}},storage:_.canonicalExample?rz():D.storage};fz($.configPath,E),this.cachedConfig=E;let j=s1(E,$,this.scope);return{ok:!0,mode:I,api_url:E.hosted?.api_url??null,storage_type:E.storage.type,artifact_uri_prefix:j.artifact_store.uri_prefix,canonical_example:j.canonical_example,config_path:$.configPath,next:I==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${I}`}}authStatus(_=process.env){return l3(this.config(),_)}saveAuth(_,$=process.env){let D=_.apiUrl??this.config().hosted?.api_url;return d3({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:D},$)}clearAuth(_=process.env){return m3(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:X_(_.home),config_path:_.configPath,config_exists:X_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:X_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:X_(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,runs_dir:_.runsDir,schemas_dir:_.schemasDir,wiki_dir:_.wikiDir,config:this.config(),message:_.home}}initDb(){return c(this.ensureWorkspace().knowledgeDbPath)}dbStats(){p1("reading knowledge.db stats");let _=this.workspace;if(!X_(_.knowledgeDbPath))return g9();return J2(_.knowledgeDbPath)}enqueuePromotion(_){return AR(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return SR(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return OR(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return LR(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return WR(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return JR(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return PR(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:D,limit:I,includeArchived:U,storePath:E,storeExists:j,storeReadError:N}=_,O=D.filter((g)=>g.archived!==!0),S=U?D:O,L=g9(),W={legacy_items:D.length,active_items:O.length,archived_items:D.length-O.length,schema_version:L.schema_version,sources:L.sources,source_revisions:L.source_revisions,chunks:L.chunks,wiki_pages:L.wiki_pages,citations:L.citations,indexes:L.indexes,runs:L.runs,run_events:L.run_events,storage_objects:L.storage_objects,embeddings:L.embeddings,vector_entries:L.vector_entries,reindex_queue:L.reindex_queue,redaction_findings:L.redaction_findings,audit_events:L.audit_events,approval_gates:L.approval_gates,knowledge_machines:L.knowledge_machines,sync_snapshots:L.sync_snapshots,sync_changes:L.sync_changes,sync_conflicts:L.sync_conflicts,sync_table_clocks:L.sync_table_clocks,sync_imports:L.sync_imports,promotion_candidates:L.promotion_candidates,durable_records:L.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:I,paths:{json_store_path:$.jsonStorePath,json_store_exists:X_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:X_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:W,legacy_store:{path:E,exists:j,read_error:N,total_items:D.length,active_items:O.length,archived_items:D.length-O.length,items_returned:Math.min(S.length,I)},items:S.slice(0,I).map(z9),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],promotion_candidates:[],durable_records:[],message:`${D.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=P9(_.limit),D=await this.fetchCloudItems(),I=dD();return this.itemOnlyInventory({items:D,limit:$,includeArchived:_.includeArchived??!1,storePath:I?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,D=P9(_.limit),I=_.storePath??$.jsonStorePath,U=tb(I),E=U.items.filter((L)=>L.archived!==!0),j=_.includeArchived?U.items:E;if(!X_($.knowledgeDbPath))return this.itemOnlyInventory({items:U.items,limit:D,includeArchived:_.includeArchived??!1,storePath:I,storeExists:U.exists,storeReadError:U.read_error});c($.knowledgeDbPath);let O=J2($.knowledgeDbPath),S=w($.knowledgeDbPath);try{let L=G$(e_(S,` + ORDER BY artifact_uri ASC`).all(),N=[];for(let E of D){let I=E0(E.metadata_json),W=typeof I.key==="string"?I.key:null;if(!W?.startsWith(U))continue;let J=W.slice(U.length);if(!J)continue;N.push({id:E.id,artifact_uri:E.artifact_uri,kind:E.kind,current_key:W,repaired_key:p$(J),hash:E.hash,size_bytes:E.size_bytes})}return N}finally{j.close()}}function YC(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],j=[bI({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!LQ(_.machine))j.push(bI({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(bI({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(bI({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return j}function RC(){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 AQ(_,$,U,j){let D=RC(),N=lk(D.command,[...D.argsPrefix,j.target,$],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((N.status??1)!==0){let E=j.source==="open-machines"?` via ${j.route??"resolved"}:${j.target}`:"";throw Error(`ssh ${_}${E} failed: ${(N.stderr||N.stdout||String(N.status)).trim()}`)}return N.stdout||""}function WQ(_,$,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 QC(_,$){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"||Ur6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function GC(_,$){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"||Ur6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function TC(_){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 vI extends Error{code="semantic_query_unavailable";constructor(){super("semantic_query_unavailable: the hosted Knowledge item store has no configured vector index.");this.name="KnowledgeSemanticSearchUnavailableError"}}class XQ{options;ensuredWorkspace;cachedConfig;cachedProjectLinksAuthority;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??Nj(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=V0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return Xj({storePath:_.jsonStorePath,storePathOverridden:!1})}projectLinksAuthority(){if(this.options.projectLinksAuthority)return this.options.projectLinksAuthority;if(this.cachedProjectLinksAuthority)return this.cachedProjectLinksAuthority;if(o$()){let{apiKey:$}=l2(process.env);if(!$)throw Error("Knowledge project links require the configured API credential in postgres mode.");return this.cachedProjectLinksAuthority=oR({baseUrl:Rj(this.config(),process.env),apiKey:$}),this.cachedProjectLinksAuthority}let _=this.ensureWorkspace();return this.cachedProjectLinksAuthority=kI({databasePath:_.knowledgeDbPath,itemStore:this.itemStore(),options:{packageVersion:L$.version,authorityId:this.options.projectLinksIdentity?.authorityId??process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:this.options.projectLinksIdentity?.tenantId??process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:this.options.projectLinksIdentity?.corpusId??process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),this.cachedProjectLinksAuthority}async close(){let _=this.cachedProjectLinksAuthority;this.cachedProjectLinksAuthority=void 0,await _?.close()}async listItems(_={}){return this.itemStore().list(_)}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||R_($.configPath))this.cachedConfig=R_($.configPath)?O2($.configPath):aU();return this.cachedConfig}safetyPolicy(){return lX(this.config(),this.workspace)}artifactStore(){return n2(this.config(),this.ensureWorkspace())}storageContract(){return Gj(this.config(),this.workspace,this.scope)}validateStorage(){return t2(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=P2(this.options.scope,this.options.cwd),j=rR({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=P2(this.options.scope,this.options.cwd),j=uR({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=TC(_.mode)??U.mode,D=_.apiUrl?z6(_.apiUrl):U.hosted?.api_url?z6(U.hosted.api_url):null,N={...U,mode:j,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?V3():U.storage};B3($.configPath,N),this.cachedConfig=N;let E=Gj(N,$,this.scope);return{ok:!0,mode:j,api_url:N.hosted?.api_url??null,storage_type:N.storage.type,artifact_uri_prefix:E.artifact_store.uri_prefix,canonical_example:E.canonical_example,config_path:$.configPath,next:j==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${j}`}}authStatus(_=process.env){return wX(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return CX({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return bX(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:R_(_.home),config_path:_.configPath,config_exists:R_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:R_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:R_(_.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 c(this.ensureWorkspace().knowledgeDbPath)}dbStats(){Yj("reading knowledge.db stats");let _=this.workspace;if(!R_(_.knowledgeDbPath))return jQ();return r2(_.knowledgeDbPath)}enqueuePromotion(_){return pY(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return eY(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return aY(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return sY(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return _R(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return $R(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return UR(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:j,includeArchived:D,storePath:N,storeExists:E,storeReadError:I}=_,W=U.filter((X)=>X.archived!==!0),J=D?U:W,L=jQ(),S={legacy_items:U.length,active_items:W.length,archived_items:U.length-W.length,schema_version:L.schema_version,sources:L.sources,source_revisions:L.source_revisions,chunks:L.chunks,wiki_pages:L.wiki_pages,citations:L.citations,indexes:L.indexes,runs:L.runs,run_events:L.run_events,storage_objects:L.storage_objects,embeddings:L.embeddings,vector_entries:L.vector_entries,reindex_queue:L.reindex_queue,redaction_findings:L.redaction_findings,audit_events:L.audit_events,approval_gates:L.approval_gates,knowledge_machines:L.knowledge_machines,sync_snapshots:L.sync_snapshots,sync_changes:L.sync_changes,sync_conflicts:L.sync_conflicts,sync_table_clocks:L.sync_table_clocks,sync_imports:L.sync_imports,promotion_candidates:L.promotion_candidates,durable_records:L.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:j,paths:{json_store_path:$.jsonStorePath,json_store_exists:R_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:R_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:S,legacy_store:{path:N,exists:E,read_error:I,total_items:U.length,active_items:W.length,archived_items:U.length-W.length,items_returned:Math.min(J.length,j)},items:J.slice(0,j).map(DQ),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],promotion_candidates:[],durable_records:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=UQ(_.limit),U=await this.fetchCloudItems(),j=ID();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:j?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=UQ(_.limit),j=_.storePath??$.jsonStorePath,D=AC(j),N=D.items.filter((L)=>L.archived!==!0),E=_.includeArchived?D.items:N;if(!R_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:U,includeArchived:_.includeArchived??!1,storePath:j,storeExists:D.exists,storeReadError:D.read_error});c($.knowledgeDbPath);let W=r2($.knowledgeDbPath),J=v($.knowledgeDbPath);try{let L=g$(D$(J,` SELECT s.id, s.uri, @@ -1541,7 +1541,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 ? - `,[D]),["metadata_json","acl_json"]),W=G$(e_(S,` + `,[U]),["metadata_json","acl_json"]),S=g$(D$(J,` SELECT sr.id, s.uri AS source_uri, @@ -1554,7 +1554,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 ? - `,[D])),g=G$(e_(S,` + `,[U])),X=g$(D$(J,` SELECT c.id, c.kind, @@ -1575,22 +1575,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 ? - `,[D])),z=G$(e_(S,` + `,[U])),z=g$(D$(J,` SELECT id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at FROM wiki_pages ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D])),G=G$(e_(S,` + `,[U])),R=g$(D$(J,` SELECT id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at FROM knowledge_indexes ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D])),J=G$(e_(S,` + `,[U])),P=g$(D$(J,` SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at FROM storage_objects ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D])),P=G$(e_(S,` + `,[U])),O=g$(D$(J,` SELECT id, type, @@ -1606,18 +1606,18 @@ Pages should be concise, cited, and organized for both humans and agents. FROM runs ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D])),X=e_(S,` + `,[U])),Y=D$(J,` SELECT provider, model, dimensions, status, COUNT(*) AS entries FROM vector_index_entries GROUP BY provider, model, dimensions, status ORDER BY entries DESC LIMIT ? - `,[D]),R=G$(e_(S,` + `,[U]),Q=g$(D$(J,` SELECT id, kind, target_id, source_uri, reason, status, attempts, metadata_json, created_at, updated_at FROM reindex_queue ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D])),T=G$(e_(S,` + `,[U])),B=g$(D$(J,` SELECT machine_id, hostname, @@ -1635,7 +1635,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 ? - `,[D]),["tailscale_ips_json","capabilities_json","metadata_json"]),Y=G$(e_(S,` + `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),G=g$(D$(J,` SELECT id, entity_kind, @@ -1652,17 +1652,17 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ? - `,[D])),Q=G$(e_(S,` + `,[U])),T=g$(D$(J,` SELECT id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at FROM approval_gates ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D])),F=G$(e_(S,` + `,[U])),F=g$(D$(J,` SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT ? - `,[D])),B=e_(S,` + `,[U])),g=D$(J,` SELECT id, record_kind, @@ -1687,7 +1687,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_promotion_candidates ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D]).map(lb),b=e_(S,` + `,[U]).map(EC),q=D$(J,` SELECT id, record_kind, @@ -1709,15 +1709,16 @@ Pages should be concise, cited, and organized for both humans and agents. FROM durable_knowledge_records ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[D]).map(ib),f={legacy_items:U.items.length,active_items:E.length,archived_items:U.items.length-E.length,schema_version:O.schema_version,sources:O.sources,source_revisions:O.source_revisions,chunks:O.chunks,wiki_pages:O.wiki_pages,citations:O.citations,indexes:O.indexes,runs:O.runs,run_events:O.run_events,storage_objects:O.storage_objects,embeddings:O.embeddings,vector_entries:O.vector_entries,reindex_queue:O.reindex_queue,redaction_findings:O.redaction_findings,audit_events:O.audit_events,approval_gates:O.approval_gates,knowledge_machines:O.knowledge_machines,sync_snapshots:O.sync_snapshots,sync_changes:O.sync_changes,sync_conflicts:O.sync_conflicts,sync_table_clocks:O.sync_table_clocks,sync_imports:O.sync_imports,promotion_candidates:O.promotion_candidates,durable_records:O.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:D,paths:{json_store_path:I,json_store_exists:U.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:I,exists:U.exists,read_error:U.read_error,total_items:U.items.length,active_items:E.length,archived_items:U.items.length-E.length,items_returned:Math.min(j.length,D)},items:j.slice(0,D).map(z9),sources:L,source_revisions:W,chunks:g,wiki_pages:z,indexes:G,storage_objects:J,runs:P,vector_indexes:X,reindex_queue:R,machines:T,sync_conflicts:Y,approval_gates:Q,audit_events:F,promotion_candidates:B,durable_records:b,message:`${U.items.length} item(s), ${O.sources} source(s), ${O.chunks} chunk(s), ${O.wiki_pages} wiki page(s), ${O.storage_objects} artifact(s)`}}finally{S.close()}}assertAppWikiWrite(_){mD({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return Kg({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return Tg({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal,title:_.title,content:_.content,tags:_.tags,sourceRefs:_.sourceRefs,path:_.path,metadata:_.metadata})}listAppWikiNotes(_={}){let $=this.workspace;if(!X_($.knowledgeDbPath))return[];return Fg({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let D=this.workspace;if(!X_(D.knowledgeDbPath))return null;return Vg({dbPath:D.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return Bg({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();c(_.knowledgeDbPath);let $=await nR(this.artifactStore()),D=w(_.knowledgeDbPath);try{j6(D,$.artifacts),dR(D,$.artifacts)}finally{D.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return uR({..._,dbPath:$.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer(_){let $=this.ensureWorkspace(),D=await this.retrieveContext({query:_.prompt,limit:_.limit,semantic:_.semantic,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake});return yR({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:D,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return hR({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return Xg({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let D=this.ensureWorkspace();return EI({dbPath:D.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,D=$?this.workspace:this.ensureWorkspace();return ZR({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:D.jsonStorePath,dbPath:D.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let D=this.ensureWorkspace();return DI({dbPath:D.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return yG({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!X_($.knowledgeDbPath))return ab();return XR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return KP({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return GR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return qg(this.config(),_)}modelRegistry(){return q2(this.config())}embeddingStatus(){let _=this.workspace;if(!X_(_.knowledgeDbPath))return sb();return fg(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return AI({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return h$()}cloudStore(){let _=dD();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return _}async fetchCloudItems(){return t1(this.cloudStore())}async semanticSearch(_){let $=this.workspace;if(this.isApiMode())throw new PN;if(!X_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return OI({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new PN;let I=await this.cloudStore().search({query:_.query,archive:"active",limit:_.limit,offset:_.offset});return x2(I.items,_,[],I.total)}let D=dP(this.scope,$,_.legacyStorePath);if(!X_($.knowledgeDbPath)){if(X_(D))return JI({..._,legacyStorePath:D,config:this.config()});return M9(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return WI({..._,dbPath:$.knowledgeDbPath,legacyStorePath:D,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let I=await this.search(_);return O6(I,{contextChars:_.contextChars})}let D=dP(this.scope,$,_.legacyStorePath);if(!X_($.knowledgeDbPath)){if(X_(D)){let I=await JI({..._,legacyStorePath:D,config:this.config()});return O6(I,{contextChars:_.contextChars})}return pb(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return B0({..._,dbPath:$.knowledgeDbPath,legacyStorePath:D,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let I=(_.query??_.topic??"").trim();if(I&&_.source!=="loops"&&_.source!=="runs"){let U=await this.search({..._,query:I}),E=O6(U,{contextChars:_.contextChars});return G9(_,E,this.safetyPolicy())}return R9(_)}let D=dP(this.scope,$,_.legacyStorePath);if(!X_($.knowledgeDbPath)){let I=(_.query??_.topic??"").trim();if(I&&_.source!=="loops"&&_.source!=="runs"&&X_(D)){let U=await JI({..._,query:I,legacyStorePath:D,config:this.config()}),E=O6(U,{contextChars:_.contextChars});return G9(_,E,this.safetyPolicy())}return R9(_)}return JX({..._,dbPath:$.knowledgeDbPath,legacyStorePath:D,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new PN;let I=await this.cloudStore().search({query:_.prompt,archive:"active",limit:_.limit,offset:_.offset}),U=x2(I.items,{query:_.prompt,limit:_.limit,offset:_.offset,semantic:!1},[],I.total);return IX(I.items.map((E)=>E.item),{..._,config:this.config()},U)}let $=this.ensureWorkspace(),D=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)xD(D);return UX({..._,dbPath:$.knowledgeDbPath,legacyStorePath:D,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return kR({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return $R({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return IR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!X_(_.knowledgeDbPath))return _q({scope:this.scope,workspaceHome:_.home});return rX({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let D=this.syncStatus(),I=this.storageContract(),U=this.validateStorage(),E=$q($.knowledgeDbPath,I),j=_.machine?.trim()||null,N=_.peerWorkspace?.trim()||null,O=[],S=null,L=null;if(j&&!T9(j)){let J=await XP({machineId:j,includeTailscale:_.includeTailscale});S=nP(J),O.push(...J.warnings)}if(j||N){let J=await _N({machineId:j??cP($),peerWorkspace:N,includeTailscale:_.includeTailscale});if(j&&!N&&(S?.source==="raw"||!J.ok||!J.project_root)){let P=S9($.knowledgeDbPath,j);if(P){if(S?.source==="raw"&&P.ssh_target)S=nP(L9(P,j,{target:S.target,route:S.route,targetKind:S.target_kind,confidence:S.confidence,source:S.source,adapter:S.adapter,evidence:S.evidence,cacheability:S.cacheability,warnings:[]}));if(!J.ok||!J.project_root){let X=W9(P,j,J);if(X)L=G1(X,X.project_root),O.push(...X.warnings)}}}L=J.ok&&J.project_root?G1(J,J.project_root):L??{...G1(J,N??""),project_root:J.project_root??N??""},O.push(...J.warnings)}if(!U.ok)O.push(...U.errors.map((J)=>`storage:${J}`));let W=nb($.knowledgeDbPath,L);if(!W.ok)O.push("open_files_boundary_raw_payload_sentinels");if(!E.ok)O.push(...E.warnings);let g=L?.diagnostics.filter((J)=>J.severity==="fail")??[],z=U.ok&&E.ok&&W.ok&&g.length===0&&(L?.project_root!==""||!L),G=Uq({scope:this.scope,machine:j,peerWorkspace:N,tables:_.tables,resolvedWorkspace:L,openConflicts:D.conflicts.open});return{ok:z,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:$.home,database:{sqlite_schema_version:D.sqlite_schema_version,table_counts:D.table_counts},storage:{contract:I,validation:U,artifact_manifest:E},sync:{machines:D.machines.total,snapshots:D.snapshots.total,clocks:D.clocks.total,imports:D.imports.total,open_conflicts:D.conflicts.open,table_clocks:D.clocks.rows},open_files:W,resolved_route:S,resolved_workspace:L,recommended_commands:G,warnings:[...new Set(O)],message:z?`Sync readiness ok: ${D.clocks.total} table clock(s), ${D.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(O)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let D=this.storageContract(),I=oP(D),U=Dq($.knowledgeDbPath,D),E=_.dryRun===!0||_.approveWrite!==!0;if(U.length===0)return{ok:!0,dry_run:E,approval_required:!1,storage_type:D.storage_type,storage_prefix:I,candidates:U,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:D.storage_type,storage_prefix:I,candidates:U,repaired:0,audit_event_id:null,message:`Would repair ${U.length} legacy S3 artifact manifest key(s)`};if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:D.storage_type,storage_prefix:I,candidates:U,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let j=w($.knowledgeDbPath);try{let N=new Date().toISOString();j.transaction((L)=>{let W=j.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),g=j.query("SELECT id, metadata_json FROM storage_objects").all(),z=new Map(g.map((G)=>[G.id,o4(G.metadata_json)]));for(let G of L){let J=z.get(G.id)??{};J.key=G.repaired_key,W.run(JSON.stringify(J),N,G.id)}})(U);let S=R_(j,{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:U.length,storage_type:D.storage_type,storage_prefix:I,artifact_uris:U.map((L)=>L.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:D.storage_type,storage_prefix:I,candidates:U,repaired:U.length,audit_event_id:S,message:`Repaired ${U.length} legacy S3 artifact manifest key(s)`}}finally{j.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),D=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return wX({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:D,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!X_($.knowledgeDbPath))return[];return fX($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),D=FI($.knowledgeDbPath,_);if(!D)throw Error(`Sync conflict not found: ${_}`);return D}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return $U($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return xG({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),D=$U($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:D.conflict,proposal:D,message:"Sync conflict resolution requires --approve-write and --approved-by "};let I=yX($.knowledgeDbPath,{id:_.id,strategy:_.strategy??D.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),U=w($.knowledgeDbPath);try{let E=R_(U,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:I.entity_kind,entity_id:I.entity_id,strategy:I.resolution_strategy,approved_by:I.approved_by,proposed_patch_uri:I.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:I,audit_event_id:E,message:`Resolved sync conflict ${_.id}`}}finally{U.close()}}syncMachines(){let _=this.workspace;if(!X_(_.knowledgeDbPath))return[];return s2(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),c($.knowledgeDbPath),_U({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"),c($.knowledgeDbPath),TI({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",D=_.dryRun===!0,I=this.ensureWorkspace();c(I.knowledgeDbPath);let U=_.tables?.length?["--tables",_.tables.join(",")]:[],E=_.includeArtifactContent===!1?["--no-artifact-content"]:[],j=["--scope",this.scope,"--json"],N=await XP({machineId:_.machine,includeTailscale:_.includeTailscale}),O=await _N({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&N.source==="raw"||!O.ok||!O.project_root){let z=S9(I.knowledgeDbPath,_.machine);if(z){if(!_.peerWorkspace&&N.source==="raw"&&z.ssh_target)N=L9(z,_.machine,N);if(!O.ok||!O.project_root){let G=W9(z,_.machine,O);if(G)O=G}}}if(!O.ok||!O.project_root)throw Error([`Unable to resolve peer workspace for ${_.machine}.`,"Pass --peer-workspace or configure workspace path mapping in machines.",O.warnings.length?`Warnings: ${O.warnings.join(", ")}`:null].filter(Boolean).join(" "));let S=O.project_root,L={ok:!0,dry_run:D,direction:$,transport:"ssh",machine:_.machine,resolved_machine:N.target,resolved_route:nP(N),resolved_workspace:G1(O,O.project_root),peer_workspace:S,message:""},W=!1,g=()=>{if(D||W)return;kX(I.knowledgeDbPath,{machineId:_.machine,route:N,workspace:O}),W=!0};if($==="pull"||$==="both"){let z=O9(S,["sync","export",...j,...U,...E]),G=Y9(_.machine,z,void 0,N),J=Q9(_.machine,"sync export",G);Eq(_.machine,J),L.pull=await this.importSyncBundle({bundle:J,dryRun:D,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){g();let z=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!D}),G=O9(S,["sync","import",...j,...D?["--dry-run"]:[]]),J=Q9(_.machine,"sync import",Y9(_.machine,G,JSON.stringify(z),N));jq(_.machine,J),L.push=J}return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),g(),L.message=[J9(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}async syncPeer(_){let $=_.direction??"both",D=this.ensureWorkspace();c(D.knowledgeDbPath);let I=K9(_.peerWorkspace),U=wb(I);c(U.knowledgeDbPath);let E=yN(U.configPath),j=s1(E,U,this.scope),N=g2(E,U),O=_.machineId??cP(D),S=cP(U),L=await _N({machineId:_.machineId??S,peerWorkspace:I,includeTailscale:!1}),W=()=>_U({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:this.storageContract(),machineId:O,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),g=()=>_U({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:j,machineId:S,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),z={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:G1(L,L.project_root??I),message:""};if($==="pull"||$==="both")z.pull=await TI({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:g(),targetBundle:W(),direction:"pull",dryRun:_.dryRun,localMachineId:O});if($==="push"||$==="both")z.push=await TI({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:j,targetStore:N,bundle:W(),targetBundle:g(),direction:"push",dryRun:_.dryRun,localMachineId:S});return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),z.message=[J9(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}}function gN(_={}){return new Z9(_)}import{createHash as H9}from"crypto";var Aq=Object.defineProperty,Oq=(_)=>_;function Sq(_,$){this[_]=Oq.bind(null,$)}var Lq=(_,$)=>{for(var D in $)Aq(_,D,{get:$[D],enumerable:!0,configurable:!0,set:Sq.bind($,D)})},A={};Lq(A,{void:()=>oq,util:()=>N_,unknown:()=>iq,union:()=>sq,undefined:()=>dq,tuple:()=>Dk,transformer:()=>k9,symbol:()=>nq,string:()=>l9,strictObject:()=>aq,setErrorMap:()=>Pq,set:()=>Ek,record:()=>Uk,quotelessJson:()=>Wq,promise:()=>Lk,preprocess:()=>Pk,pipeline:()=>zk,ostring:()=>gk,optional:()=>Wk,onumber:()=>Xk,oboolean:()=>Gk,objectUtil:()=>aP,object:()=>eq,number:()=>i9,nullable:()=>Jk,null:()=>mq,never:()=>tq,nativeEnum:()=>Sk,nan:()=>yq,map:()=>Ik,makeIssue:()=>RN,literal:()=>Ak,lazy:()=>Nk,late:()=>xq,isValid:()=>p4,isDirty:()=>_z,isAsync:()=>K1,isAborted:()=>sP,intersection:()=>$k,instanceof:()=>uq,getParsedType:()=>Q6,getErrorMap:()=>GN,function:()=>jk,enum:()=>Ok,effect:()=>k9,discriminatedUnion:()=>_k,defaultErrorMap:()=>zD,datetimeRegex:()=>n9,date:()=>cq,custom:()=>m9,coerce:()=>Rk,boolean:()=>t9,bigint:()=>hq,array:()=>pq,any:()=>lq,addIssueToContext:()=>u,ZodVoid:()=>F1,ZodUnknown:()=>e6,ZodUnion:()=>RD,ZodUndefined:()=>XD,ZodType:()=>$_,ZodTuple:()=>p$,ZodTransformer:()=>Q$,ZodSymbol:()=>T1,ZodString:()=>k$,ZodSet:()=>s4,ZodSchema:()=>$_,ZodRecord:()=>V1,ZodReadonly:()=>BD,ZodPromise:()=>_0,ZodPipeline:()=>Z1,ZodParsedType:()=>h,ZodOptional:()=>v$,ZodObject:()=>q_,ZodNumber:()=>a6,ZodNullable:()=>K6,ZodNull:()=>GD,ZodNever:()=>o$,ZodNativeEnum:()=>TD,ZodNaN:()=>M1,ZodMap:()=>B1,ZodLiteral:()=>KD,ZodLazy:()=>QD,ZodIssueCode:()=>C,ZodIntersection:()=>YD,ZodFunction:()=>JD,ZodFirstPartyTypeKind:()=>t,ZodError:()=>W$,ZodEnum:()=>_4,ZodEffects:()=>Q$,ZodDiscriminatedUnion:()=>KN,ZodDefault:()=>FD,ZodDate:()=>e4,ZodCatch:()=>VD,ZodBranded:()=>TN,ZodBoolean:()=>gD,ZodBigInt:()=>s6,ZodArray:()=>C$,ZodAny:()=>a4,Schema:()=>$_,ParseStatus:()=>l_,OK:()=>s_,NEVER:()=>Yk,INVALID:()=>i,EMPTY_PATH:()=>zq,DIRTY:()=>WD,BRAND:()=>fq});var N_;(function(_){_.assertEqual=(U)=>{};function $(U){}_.assertIs=$;function D(U){throw Error()}_.assertNever=D,_.arrayToEnum=(U)=>{let E={};for(let j of U)E[j]=j;return E},_.getValidEnumValues=(U)=>{let E=_.objectKeys(U).filter((N)=>typeof U[U[N]]!=="number"),j={};for(let N of E)j[N]=U[N];return _.objectValues(j)},_.objectValues=(U)=>{return _.objectKeys(U).map(function(E){return U[E]})},_.objectKeys=typeof Object.keys==="function"?(U)=>Object.keys(U):(U)=>{let E=[];for(let j in U)if(Object.prototype.hasOwnProperty.call(U,j))E.push(j);return E},_.find=(U,E)=>{for(let j of U)if(E(j))return j;return},_.isInteger=typeof Number.isInteger==="function"?(U)=>Number.isInteger(U):(U)=>typeof U==="number"&&Number.isFinite(U)&&Math.floor(U)===U;function I(U,E=" | "){return U.map((j)=>typeof j==="string"?`'${j}'`:j).join(E)}_.joinValues=I,_.jsonStringifyReplacer=(U,E)=>{if(typeof E==="bigint")return E.toString();return E}})(N_||(N_={}));var aP;(function(_){_.mergeShapes=($,D)=>{return{...$,...D}}})(aP||(aP={}));var h=N_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Q6=(_)=>{switch(typeof _){case"undefined":return h.undefined;case"string":return h.string;case"number":return Number.isNaN(_)?h.nan:h.number;case"boolean":return h.boolean;case"function":return h.function;case"bigint":return h.bigint;case"symbol":return h.symbol;case"object":if(Array.isArray(_))return h.array;if(_===null)return h.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return h.promise;if(typeof Map<"u"&&_ instanceof Map)return h.map;if(typeof Set<"u"&&_ instanceof Set)return h.set;if(typeof Date<"u"&&_ instanceof Date)return h.date;return h.object;default:return h.unknown}},C=N_.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"]),Wq=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class W$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(D)=>{this.issues=[...this.issues,D]},this.addIssues=(D=[])=>{this.issues=[...this.issues,...D]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=_}format(_){let $=_||function(U){return U.message},D={_errors:[]},I=(U)=>{for(let E of U.issues)if(E.code==="invalid_union")E.unionErrors.map(I);else if(E.code==="invalid_return_type")I(E.returnTypeError);else if(E.code==="invalid_arguments")I(E.argumentsError);else if(E.path.length===0)D._errors.push($(E));else{let j=D,N=0;while(N$.message){let $={},D=[];for(let I of this.issues)if(I.path.length>0){let U=I.path[0];$[U]=$[U]||[],$[U].push(_(I))}else D.push(_(I));return{formErrors:D,fieldErrors:$}}get formErrors(){return this.flatten()}}W$.create=(_)=>{return new W$(_)};var Jq=(_,$)=>{let D;switch(_.code){case C.invalid_type:if(_.received===h.undefined)D="Required";else D=`Expected ${_.expected}, received ${_.received}`;break;case C.invalid_literal:D=`Invalid literal value, expected ${JSON.stringify(_.expected,N_.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:D=`Unrecognized key(s) in object: ${N_.joinValues(_.keys,", ")}`;break;case C.invalid_union:D="Invalid input";break;case C.invalid_union_discriminator:D=`Invalid discriminator value. Expected ${N_.joinValues(_.options)}`;break;case C.invalid_enum_value:D=`Invalid enum value. Expected ${N_.joinValues(_.options)}, received '${_.received}'`;break;case C.invalid_arguments:D="Invalid function arguments";break;case C.invalid_return_type:D="Invalid function return type";break;case C.invalid_date:D="Invalid date";break;case C.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(D=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")D=`${D} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)D=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)D=`Invalid input: must end with "${_.validation.endsWith}"`;else N_.assertNever(_.validation);else if(_.validation!=="regex")D=`Invalid ${_.validation}`;else D="Invalid";break;case C.too_small:if(_.type==="array")D=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")D=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")D=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")D=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")D=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else D="Invalid input";break;case C.too_big:if(_.type==="array")D=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")D=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")D=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")D=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")D=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else D="Invalid input";break;case C.custom:D="Invalid input";break;case C.invalid_intersection_types:D="Intersection results could not be merged";break;case C.not_multiple_of:D=`Number must be a multiple of ${_.multipleOf}`;break;case C.not_finite:D="Number must be finite";break;default:D=$.defaultError,N_.assertNever(_)}return{message:D}},zD=Jq,y9=zD;function Pq(_){y9=_}function GN(){return y9}var RN=(_)=>{let{data:$,path:D,errorMaps:I,issueData:U}=_,E=[...D,...U.path||[]],j={...U,path:E};if(U.message!==void 0)return{...U,path:E,message:U.message};let N="",O=I.filter((S)=>!!S).slice().reverse();for(let S of O)N=S(j,{data:$,defaultError:N}).message;return{...U,path:E,message:N}},zq=[];function u(_,$){let D=GN(),I=RN({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,D,D===zD?void 0:zD].filter((U)=>!!U)});_.common.issues.push(I)}class l_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let D=[];for(let I of $){if(I.status==="aborted")return i;if(I.status==="dirty")_.dirty();D.push(I.value)}return{status:_.value,value:D}}static async mergeObjectAsync(_,$){let D=[];for(let I of $){let U=await I.key,E=await I.value;D.push({key:U,value:E})}return l_.mergeObjectSync(_,D)}static mergeObjectSync(_,$){let D={};for(let I of $){let{key:U,value:E}=I;if(U.status==="aborted")return i;if(E.status==="aborted")return i;if(U.status==="dirty")_.dirty();if(E.status==="dirty")_.dirty();if(U.value!=="__proto__"&&(typeof E.value<"u"||I.alwaysSet))D[U.value]=E.value}return{status:_.value,value:D}}}var i=Object.freeze({status:"aborted"}),WD=(_)=>({status:"dirty",value:_}),s_=(_)=>({status:"valid",value:_}),sP=(_)=>_.status==="aborted",_z=(_)=>_.status==="dirty",p4=(_)=>_.status==="valid",K1=(_)=>typeof Promise<"u"&&_ instanceof Promise,d;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(d||(d={}));class w${constructor(_,$,D,I){this._cachedPath=[],this.parent=_,this.data=$,this._path=D,this._key=I}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 b9=(_,$)=>{if(p4($))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 D=new W$(_.common.issues);return this._error=D,this._error}}}};function s(_){if(!_)return{};let{errorMap:$,invalid_type_error:D,required_error:I,description:U}=_;if($&&(D||I))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:U};return{errorMap:(j,N)=>{let{message:O}=_;if(j.code==="invalid_enum_value")return{message:O??N.defaultError};if(typeof N.data>"u")return{message:O??I??N.defaultError};if(j.code!=="invalid_type")return{message:N.defaultError};return{message:O??D??N.defaultError}},description:U}}class $_{get description(){return this._def.description}_getType(_){return Q6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:Q6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new l_,ctx:{common:_.parent.common,data:_.data,parsedType:Q6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(K1($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let D=this.safeParse(_,$);if(D.success)return D.data;throw D.error}safeParse(_,$){let D={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:Q6(_)},I=this._parseSync({data:_,path:D.path,parent:D});return b9(D,I)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:Q6(_)};if(!this["~standard"].async)try{let D=this._parseSync({data:_,path:[],parent:$});return p4(D)?{value:D.value}:{issues:$.common.issues}}catch(D){if(D?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((D)=>p4(D)?{value:D.value}:{issues:$.common.issues})}async parseAsync(_,$){let D=await this.safeParseAsync(_,$);if(D.success)return D.data;throw D.error}async safeParseAsync(_,$){let D={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:Q6(_)},I=this._parse({data:_,path:D.path,parent:D}),U=await(K1(I)?I:Promise.resolve(I));return b9(D,U)}refine(_,$){let D=(I)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(I);else return $};return this._refinement((I,U)=>{let E=_(I),j=()=>U.addIssue({code:C.custom,...D(I)});if(typeof Promise<"u"&&E instanceof Promise)return E.then((N)=>{if(!N)return j(),!1;else return!0});if(!E)return j(),!1;else return!0})}refinement(_,$){return this._refinement((D,I)=>{if(!_(D))return I.addIssue(typeof $==="function"?$(D,I):$),!1;else return!0})}_refinement(_){return new Q$({schema:this,typeName:t.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 K6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return C$.create(this)}promise(){return _0.create(this,this._def)}or(_){return RD.create([this,_],this._def)}and(_){return YD.create(this,_,this._def)}transform(_){return new Q$({...s(this._def),schema:this,typeName:t.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new FD({...s(this._def),innerType:this,defaultValue:$,typeName:t.ZodDefault})}brand(){return new TN({typeName:t.ZodBranded,type:this,...s(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new VD({...s(this._def),innerType:this,catchValue:$,typeName:t.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return Z1.create(this,_)}readonly(){return BD.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var gq=/^c[^\s-]{8,}$/i,Xq=/^[0-9a-z]+$/,Gq=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Rq=/^[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,Yq=/^[a-z0-9_-]{21}$/i,Qq=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Kq=/^[-+]?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)?)??$/,Tq=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Fq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",pP,Vq=/^(?:(?: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])$/,Bq=/^(?:(?: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])$/,Mq=/^(([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]))$/,Zq=/^(([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])$/,Hq=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,bq=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,h9="((\\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])))",qq=new RegExp(`^${h9}$`);function c9(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let D=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${D}`}function kq(_){return new RegExp(`^${c9(_)}$`)}function n9(_){let $=`${h9}T${c9(_)}`,D=[];if(D.push(_.local?"Z?":"Z"),_.offset)D.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${D.join("|")})`,new RegExp(`^${$}$`)}function Cq(_,$){if(($==="v4"||!$)&&Vq.test(_))return!0;if(($==="v6"||!$)&&Mq.test(_))return!0;return!1}function vq(_,$){if(!Qq.test(_))return!1;try{let[D]=_.split(".");if(!D)return!1;let I=D.replace(/-/g,"+").replace(/_/g,"/").padEnd(D.length+(4-D.length%4)%4,"="),U=JSON.parse(atob(I));if(typeof U!=="object"||U===null)return!1;if("typ"in U&&U?.typ!=="JWT")return!1;if(!U.alg)return!1;if($&&U.alg!==$)return!1;return!0}catch{return!1}}function wq(_,$){if(($==="v4"||!$)&&Bq.test(_))return!0;if(($==="v6"||!$)&&Zq.test(_))return!0;return!1}class k$ extends $_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==h.string){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:h.string,received:U.parsedType}),i}let D=new l_,I=void 0;for(let U of this._def.checks)if(U.kind==="min"){if(_.data.lengthU.value)I=this._getOrReturnCtx(_,I),u(I,{code:C.too_big,maximum:U.value,type:"string",inclusive:!0,exact:!1,message:U.message}),D.dirty()}else if(U.kind==="length"){let E=_.data.length>U.value,j=_.data.length_.test(I),{validation:$,code:C.invalid_string,...d.errToObj(D)})}_addCheck(_){return new k$({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...d.errToObj(_)})}url(_){return this._addCheck({kind:"url",...d.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...d.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...d.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...d.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...d.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...d.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...d.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...d.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...d.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...d.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...d.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...d.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,...d.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,...d.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...d.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...d.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...d.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...d.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...d.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...d.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...d.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...d.errToObj($)})}nonempty(_){return this.min(1,d.errToObj(_))}trim(){return new k$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new k$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new k$({...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 _}}k$.create=(_)=>{return new k$({checks:[],typeName:t.ZodString,coerce:_?.coerce??!1,...s(_)})};function rq(_,$){let D=(_.toString().split(".")[1]||"").length,I=($.toString().split(".")[1]||"").length,U=D>I?D:I,E=Number.parseInt(_.toFixed(U).replace(".","")),j=Number.parseInt($.toFixed(U).replace(".",""));return E%j/10**U}class a6 extends $_{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(_)!==h.number){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:h.number,received:U.parsedType}),i}let D=void 0,I=new l_;for(let U of this._def.checks)if(U.kind==="int"){if(!N_.isInteger(_.data))D=this._getOrReturnCtx(_,D),u(D,{code:C.invalid_type,expected:"integer",received:"float",message:U.message}),I.dirty()}else if(U.kind==="min"){if(U.inclusive?_.dataU.value:_.data>=U.value)D=this._getOrReturnCtx(_,D),u(D,{code:C.too_big,maximum:U.value,type:"number",inclusive:U.inclusive,exact:!1,message:U.message}),I.dirty()}else if(U.kind==="multipleOf"){if(rq(_.data,U.value)!==0)D=this._getOrReturnCtx(_,D),u(D,{code:C.not_multiple_of,multipleOf:U.value,message:U.message}),I.dirty()}else if(U.kind==="finite"){if(!Number.isFinite(_.data))D=this._getOrReturnCtx(_,D),u(D,{code:C.not_finite,message:U.message}),I.dirty()}else N_.assertNever(U);return{status:I.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,d.toString($))}gt(_,$){return this.setLimit("min",_,!1,d.toString($))}lte(_,$){return this.setLimit("max",_,!0,d.toString($))}lt(_,$){return this.setLimit("max",_,!1,d.toString($))}setLimit(_,$,D,I){return new a6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:D,message:d.toString(I)}]})}_addCheck(_){return new a6({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:d.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:d.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:d.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:d.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:d.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:d.toString($)})}finite(_){return this._addCheck({kind:"finite",message:d.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:d.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:d.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"&&N_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let D of this._def.checks)if(D.kind==="finite"||D.kind==="int"||D.kind==="multipleOf")return!0;else if(D.kind==="min"){if($===null||D.value>$)$=D.value}else if(D.kind==="max"){if(_===null||D.value<_)_=D.value}return Number.isFinite($)&&Number.isFinite(_)}}a6.create=(_)=>{return new a6({checks:[],typeName:t.ZodNumber,coerce:_?.coerce||!1,...s(_)})};class s6 extends $_{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(_)!==h.bigint)return this._getInvalidInput(_);let D=void 0,I=new l_;for(let U of this._def.checks)if(U.kind==="min"){if(U.inclusive?_.dataU.value:_.data>=U.value)D=this._getOrReturnCtx(_,D),u(D,{code:C.too_big,type:"bigint",maximum:U.value,inclusive:U.inclusive,message:U.message}),I.dirty()}else if(U.kind==="multipleOf"){if(_.data%U.value!==BigInt(0))D=this._getOrReturnCtx(_,D),u(D,{code:C.not_multiple_of,multipleOf:U.value,message:U.message}),I.dirty()}else N_.assertNever(U);return{status:I.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:h.bigint,received:$.parsedType}),i}gte(_,$){return this.setLimit("min",_,!0,d.toString($))}gt(_,$){return this.setLimit("min",_,!1,d.toString($))}lte(_,$){return this.setLimit("max",_,!0,d.toString($))}lt(_,$){return this.setLimit("max",_,!1,d.toString($))}setLimit(_,$,D,I){return new s6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:D,message:d.toString(I)}]})}_addCheck(_){return new s6({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:d.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:d.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:d.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:d.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:d.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 _}}s6.create=(_)=>{return new s6({checks:[],typeName:t.ZodBigInt,coerce:_?.coerce??!1,...s(_)})};class gD extends $_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==h.boolean){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:h.boolean,received:D.parsedType}),i}return s_(_.data)}}gD.create=(_)=>{return new gD({typeName:t.ZodBoolean,coerce:_?.coerce||!1,...s(_)})};class e4 extends $_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==h.date){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:h.date,received:U.parsedType}),i}if(Number.isNaN(_.data.getTime())){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_date}),i}let D=new l_,I=void 0;for(let U of this._def.checks)if(U.kind==="min"){if(_.data.getTime()U.value)I=this._getOrReturnCtx(_,I),u(I,{code:C.too_big,message:U.message,inclusive:!0,exact:!1,maximum:U.value,type:"date"}),D.dirty()}else N_.assertNever(U);return{status:D.value,value:new Date(_.data.getTime())}}_addCheck(_){return new e4({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:d.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:d.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}}e4.create=(_)=>{return new e4({checks:[],coerce:_?.coerce||!1,typeName:t.ZodDate,...s(_)})};class T1 extends $_{_parse(_){if(this._getType(_)!==h.symbol){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:h.symbol,received:D.parsedType}),i}return s_(_.data)}}T1.create=(_)=>{return new T1({typeName:t.ZodSymbol,...s(_)})};class XD extends $_{_parse(_){if(this._getType(_)!==h.undefined){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:h.undefined,received:D.parsedType}),i}return s_(_.data)}}XD.create=(_)=>{return new XD({typeName:t.ZodUndefined,...s(_)})};class GD extends $_{_parse(_){if(this._getType(_)!==h.null){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:h.null,received:D.parsedType}),i}return s_(_.data)}}GD.create=(_)=>{return new GD({typeName:t.ZodNull,...s(_)})};class a4 extends $_{constructor(){super(...arguments);this._any=!0}_parse(_){return s_(_.data)}}a4.create=(_)=>{return new a4({typeName:t.ZodAny,...s(_)})};class e6 extends $_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return s_(_.data)}}e6.create=(_)=>{return new e6({typeName:t.ZodUnknown,...s(_)})};class o$ extends $_{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:h.never,received:$.parsedType}),i}}o$.create=(_)=>{return new o$({typeName:t.ZodNever,...s(_)})};class F1 extends $_{_parse(_){if(this._getType(_)!==h.undefined){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:h.void,received:D.parsedType}),i}return s_(_.data)}}F1.create=(_)=>{return new F1({typeName:t.ZodVoid,...s(_)})};class C$ extends $_{_parse(_){let{ctx:$,status:D}=this._processInputParams(_),I=this._def;if($.parsedType!==h.array)return u($,{code:C.invalid_type,expected:h.array,received:$.parsedType}),i;if(I.exactLength!==null){let E=$.data.length>I.exactLength.value,j=$.data.lengthI.maxLength.value)u($,{code:C.too_big,maximum:I.maxLength.value,type:"array",inclusive:!0,exact:!1,message:I.maxLength.message}),D.dirty()}if($.common.async)return Promise.all([...$.data].map((E,j)=>{return I.type._parseAsync(new w$($,E,$.path,j))})).then((E)=>{return l_.mergeArray(D,E)});let U=[...$.data].map((E,j)=>{return I.type._parseSync(new w$($,E,$.path,j))});return l_.mergeArray(D,U)}get element(){return this._def.type}min(_,$){return new C$({...this._def,minLength:{value:_,message:d.toString($)}})}max(_,$){return new C$({...this._def,maxLength:{value:_,message:d.toString($)}})}length(_,$){return new C$({...this._def,exactLength:{value:_,message:d.toString($)}})}nonempty(_){return this.min(1,_)}}C$.create=(_,$)=>{return new C$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:t.ZodArray,...s($)})};function SD(_){if(_ instanceof q_){let $={};for(let D in _.shape){let I=_.shape[D];$[D]=v$.create(SD(I))}return new q_({..._._def,shape:()=>$})}else if(_ instanceof C$)return new C$({..._._def,type:SD(_.element)});else if(_ instanceof v$)return v$.create(SD(_.unwrap()));else if(_ instanceof K6)return K6.create(SD(_.unwrap()));else if(_ instanceof p$)return p$.create(_.items.map(($)=>SD($)));else return _}class q_ extends $_{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(),$=N_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==h.object){let O=this._getOrReturnCtx(_);return u(O,{code:C.invalid_type,expected:h.object,received:O.parsedType}),i}let{status:D,ctx:I}=this._processInputParams(_),{shape:U,keys:E}=this._getCached(),j=[];if(!(this._def.catchall instanceof o$&&this._def.unknownKeys==="strip")){for(let O in I.data)if(!E.includes(O))j.push(O)}let N=[];for(let O of E){let S=U[O],L=I.data[O];N.push({key:{status:"valid",value:O},value:S._parse(new w$(I,L,I.path,O)),alwaysSet:O in I.data})}if(this._def.catchall instanceof o$){let O=this._def.unknownKeys;if(O==="passthrough")for(let S of j)N.push({key:{status:"valid",value:S},value:{status:"valid",value:I.data[S]}});else if(O==="strict"){if(j.length>0)u(I,{code:C.unrecognized_keys,keys:j}),D.dirty()}else if(O==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let O=this._def.catchall;for(let S of j){let L=I.data[S];N.push({key:{status:"valid",value:S},value:O._parse(new w$(I,L,I.path,S)),alwaysSet:S in I.data})}}if(I.common.async)return Promise.resolve().then(async()=>{let O=[];for(let S of N){let L=await S.key,W=await S.value;O.push({key:L,value:W,alwaysSet:S.alwaysSet})}return O}).then((O)=>{return l_.mergeObjectSync(D,O)});else return l_.mergeObjectSync(D,N)}get shape(){return this._def.shape()}strict(_){return d.errToObj,new q_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,D)=>{let I=this._def.errorMap?.($,D).message??D.defaultError;if($.code==="unrecognized_keys")return{message:d.errToObj(_).message??I};return{message:I}}}:{}})}strip(){return new q_({...this._def,unknownKeys:"strip"})}passthrough(){return new q_({...this._def,unknownKeys:"passthrough"})}extend(_){return new q_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new q_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:t.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new q_({...this._def,catchall:_})}pick(_){let $={};for(let D of N_.objectKeys(_))if(_[D]&&this.shape[D])$[D]=this.shape[D];return new q_({...this._def,shape:()=>$})}omit(_){let $={};for(let D of N_.objectKeys(this.shape))if(!_[D])$[D]=this.shape[D];return new q_({...this._def,shape:()=>$})}deepPartial(){return SD(this)}partial(_){let $={};for(let D of N_.objectKeys(this.shape)){let I=this.shape[D];if(_&&!_[D])$[D]=I;else $[D]=I.optional()}return new q_({...this._def,shape:()=>$})}required(_){let $={};for(let D of N_.objectKeys(this.shape))if(_&&!_[D])$[D]=this.shape[D];else{let U=this.shape[D];while(U instanceof v$)U=U._def.innerType;$[D]=U}return new q_({...this._def,shape:()=>$})}keyof(){return d9(N_.objectKeys(this.shape))}}q_.create=(_,$)=>{return new q_({shape:()=>_,unknownKeys:"strip",catchall:o$.create(),typeName:t.ZodObject,...s($)})};q_.strictCreate=(_,$)=>{return new q_({shape:()=>_,unknownKeys:"strict",catchall:o$.create(),typeName:t.ZodObject,...s($)})};q_.lazycreate=(_,$)=>{return new q_({shape:_,unknownKeys:"strip",catchall:o$.create(),typeName:t.ZodObject,...s($)})};class RD extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),D=this._def.options;function I(U){for(let j of U)if(j.result.status==="valid")return j.result;for(let j of U)if(j.result.status==="dirty")return $.common.issues.push(...j.ctx.common.issues),j.result;let E=U.map((j)=>new W$(j.ctx.common.issues));return u($,{code:C.invalid_union,unionErrors:E}),i}if($.common.async)return Promise.all(D.map(async(U)=>{let E={...$,common:{...$.common,issues:[]},parent:null};return{result:await U._parseAsync({data:$.data,path:$.path,parent:E}),ctx:E}})).then(I);else{let U=void 0,E=[];for(let N of D){let O={...$,common:{...$.common,issues:[]},parent:null},S=N._parseSync({data:$.data,path:$.path,parent:O});if(S.status==="valid")return S;else if(S.status==="dirty"&&!U)U={result:S,ctx:O};if(O.common.issues.length)E.push(O.common.issues)}if(U)return $.common.issues.push(...U.ctx.common.issues),U.result;let j=E.map((N)=>new W$(N));return u($,{code:C.invalid_union,unionErrors:j}),i}}get options(){return this._def.options}}RD.create=(_,$)=>{return new RD({options:_,typeName:t.ZodUnion,...s($)})};var Y6=(_)=>{if(_ instanceof QD)return Y6(_.schema);else if(_ instanceof Q$)return Y6(_.innerType());else if(_ instanceof KD)return[_.value];else if(_ instanceof _4)return _.options;else if(_ instanceof TD)return N_.objectValues(_.enum);else if(_ instanceof FD)return Y6(_._def.innerType);else if(_ instanceof XD)return[void 0];else if(_ instanceof GD)return[null];else if(_ instanceof v$)return[void 0,...Y6(_.unwrap())];else if(_ instanceof K6)return[null,...Y6(_.unwrap())];else if(_ instanceof TN)return Y6(_.unwrap());else if(_ instanceof BD)return Y6(_.unwrap());else if(_ instanceof VD)return Y6(_._def.innerType);else return[]};class KN extends $_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==h.object)return u($,{code:C.invalid_type,expected:h.object,received:$.parsedType}),i;let D=this.discriminator,I=$.data[D],U=this.optionsMap.get(I);if(!U)return u($,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[D]}),i;if($.common.async)return U._parseAsync({data:$.data,path:$.path,parent:$});else return U._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(_,$,D){let I=new Map;for(let U of $){let E=Y6(U.shape[_]);if(!E.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let j of E){if(I.has(j))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(j)}`);I.set(j,U)}}return new KN({typeName:t.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:I,...s(D)})}}function $z(_,$){let D=Q6(_),I=Q6($);if(_===$)return{valid:!0,data:_};else if(D===h.object&&I===h.object){let U=N_.objectKeys($),E=N_.objectKeys(_).filter((N)=>U.indexOf(N)!==-1),j={..._,...$};for(let N of E){let O=$z(_[N],$[N]);if(!O.valid)return{valid:!1};j[N]=O.data}return{valid:!0,data:j}}else if(D===h.array&&I===h.array){if(_.length!==$.length)return{valid:!1};let U=[];for(let E=0;E<_.length;E++){let j=_[E],N=$[E],O=$z(j,N);if(!O.valid)return{valid:!1};U.push(O.data)}return{valid:!0,data:U}}else if(D===h.date&&I===h.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class YD extends $_{_parse(_){let{status:$,ctx:D}=this._processInputParams(_),I=(U,E)=>{if(sP(U)||sP(E))return i;let j=$z(U.value,E.value);if(!j.valid)return u(D,{code:C.invalid_intersection_types}),i;if(_z(U)||_z(E))$.dirty();return{status:$.value,value:j.data}};if(D.common.async)return Promise.all([this._def.left._parseAsync({data:D.data,path:D.path,parent:D}),this._def.right._parseAsync({data:D.data,path:D.path,parent:D})]).then(([U,E])=>I(U,E));else return I(this._def.left._parseSync({data:D.data,path:D.path,parent:D}),this._def.right._parseSync({data:D.data,path:D.path,parent:D}))}}YD.create=(_,$,D)=>{return new YD({left:_,right:$,typeName:t.ZodIntersection,...s(D)})};class p$ extends $_{_parse(_){let{status:$,ctx:D}=this._processInputParams(_);if(D.parsedType!==h.array)return u(D,{code:C.invalid_type,expected:h.array,received:D.parsedType}),i;if(D.data.lengththis._def.items.length)u(D,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let U=[...D.data].map((E,j)=>{let N=this._def.items[j]||this._def.rest;if(!N)return null;return N._parse(new w$(D,E,D.path,j))}).filter((E)=>!!E);if(D.common.async)return Promise.all(U).then((E)=>{return l_.mergeArray($,E)});else return l_.mergeArray($,U)}get items(){return this._def.items}rest(_){return new p$({...this._def,rest:_})}}p$.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new p$({items:_,typeName:t.ZodTuple,rest:null,...s($)})};class V1 extends $_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:D}=this._processInputParams(_);if(D.parsedType!==h.object)return u(D,{code:C.invalid_type,expected:h.object,received:D.parsedType}),i;let I=[],U=this._def.keyType,E=this._def.valueType;for(let j in D.data)I.push({key:U._parse(new w$(D,j,D.path,j)),value:E._parse(new w$(D,D.data[j],D.path,j)),alwaysSet:j in D.data});if(D.common.async)return l_.mergeObjectAsync($,I);else return l_.mergeObjectSync($,I)}get element(){return this._def.valueType}static create(_,$,D){if($ instanceof $_)return new V1({keyType:_,valueType:$,typeName:t.ZodRecord,...s(D)});return new V1({keyType:k$.create(),valueType:_,typeName:t.ZodRecord,...s($)})}}class B1 extends $_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:D}=this._processInputParams(_);if(D.parsedType!==h.map)return u(D,{code:C.invalid_type,expected:h.map,received:D.parsedType}),i;let I=this._def.keyType,U=this._def.valueType,E=[...D.data.entries()].map(([j,N],O)=>{return{key:I._parse(new w$(D,j,D.path,[O,"key"])),value:U._parse(new w$(D,N,D.path,[O,"value"]))}});if(D.common.async){let j=new Map;return Promise.resolve().then(async()=>{for(let N of E){let O=await N.key,S=await N.value;if(O.status==="aborted"||S.status==="aborted")return i;if(O.status==="dirty"||S.status==="dirty")$.dirty();j.set(O.value,S.value)}return{status:$.value,value:j}})}else{let j=new Map;for(let N of E){let{key:O,value:S}=N;if(O.status==="aborted"||S.status==="aborted")return i;if(O.status==="dirty"||S.status==="dirty")$.dirty();j.set(O.value,S.value)}return{status:$.value,value:j}}}}B1.create=(_,$,D)=>{return new B1({valueType:$,keyType:_,typeName:t.ZodMap,...s(D)})};class s4 extends $_{_parse(_){let{status:$,ctx:D}=this._processInputParams(_);if(D.parsedType!==h.set)return u(D,{code:C.invalid_type,expected:h.set,received:D.parsedType}),i;let I=this._def;if(I.minSize!==null){if(D.data.sizeI.maxSize.value)u(D,{code:C.too_big,maximum:I.maxSize.value,type:"set",inclusive:!0,exact:!1,message:I.maxSize.message}),$.dirty()}let U=this._def.valueType;function E(N){let O=new Set;for(let S of N){if(S.status==="aborted")return i;if(S.status==="dirty")$.dirty();O.add(S.value)}return{status:$.value,value:O}}let j=[...D.data.values()].map((N,O)=>U._parse(new w$(D,N,D.path,O)));if(D.common.async)return Promise.all(j).then((N)=>E(N));else return E(j)}min(_,$){return new s4({...this._def,minSize:{value:_,message:d.toString($)}})}max(_,$){return new s4({...this._def,maxSize:{value:_,message:d.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}s4.create=(_,$)=>{return new s4({valueType:_,minSize:null,maxSize:null,typeName:t.ZodSet,...s($)})};class JD extends $_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==h.function)return u($,{code:C.invalid_type,expected:h.function,received:$.parsedType}),i;function D(j,N){return RN({data:j,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,GN(),zD].filter((O)=>!!O),issueData:{code:C.invalid_arguments,argumentsError:N}})}function I(j,N){return RN({data:j,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,GN(),zD].filter((O)=>!!O),issueData:{code:C.invalid_return_type,returnTypeError:N}})}let U={errorMap:$.common.contextualErrorMap},E=$.data;if(this._def.returns instanceof _0){let j=this;return s_(async function(...N){let O=new W$([]),S=await j._def.args.parseAsync(N,U).catch((g)=>{throw O.addIssue(D(N,g)),O}),L=await Reflect.apply(E,this,S);return await j._def.returns._def.type.parseAsync(L,U).catch((g)=>{throw O.addIssue(I(L,g)),O})})}else{let j=this;return s_(function(...N){let O=j._def.args.safeParse(N,U);if(!O.success)throw new W$([D(N,O.error)]);let S=Reflect.apply(E,this,O.data),L=j._def.returns.safeParse(S,U);if(!L.success)throw new W$([I(S,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new JD({...this._def,args:p$.create(_).rest(e6.create())})}returns(_){return new JD({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,D){return new JD({args:_?_:p$.create([]).rest(e6.create()),returns:$||e6.create(),typeName:t.ZodFunction,...s(D)})}}class QD extends $_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}QD.create=(_,$)=>{return new QD({getter:_,typeName:t.ZodLazy,...s($)})};class KD extends $_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:C.invalid_literal,expected:this._def.value}),i}return{status:"valid",value:_.data}}get value(){return this._def.value}}KD.create=(_,$)=>{return new KD({value:_,typeName:t.ZodLiteral,...s($)})};function d9(_,$){return new _4({values:_,typeName:t.ZodEnum,...s($)})}class _4 extends $_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),D=this._def.values;return u($,{expected:N_.joinValues(D),received:$.parsedType,code:C.invalid_type}),i}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),D=this._def.values;return u($,{received:$.data,code:C.invalid_enum_value,options:D}),i}return s_(_.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 _4.create(_,{...this._def,...$})}exclude(_,$=this._def){return _4.create(this.options.filter((D)=>!_.includes(D)),{...this._def,...$})}}_4.create=d9;class TD extends $_{_parse(_){let $=N_.getValidEnumValues(this._def.values),D=this._getOrReturnCtx(_);if(D.parsedType!==h.string&&D.parsedType!==h.number){let I=N_.objectValues($);return u(D,{expected:N_.joinValues(I),received:D.parsedType,code:C.invalid_type}),i}if(!this._cache)this._cache=new Set(N_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let I=N_.objectValues($);return u(D,{received:D.data,code:C.invalid_enum_value,options:I}),i}return s_(_.data)}get enum(){return this._def.values}}TD.create=(_,$)=>{return new TD({values:_,typeName:t.ZodNativeEnum,...s($)})};class _0 extends $_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==h.promise&&$.common.async===!1)return u($,{code:C.invalid_type,expected:h.promise,received:$.parsedType}),i;let D=$.parsedType===h.promise?$.data:Promise.resolve($.data);return s_(D.then((I)=>{return this._def.type.parseAsync(I,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}_0.create=(_,$)=>{return new _0({type:_,typeName:t.ZodPromise,...s($)})};class Q$ extends $_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===t.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:D}=this._processInputParams(_),I=this._def.effect||null,U={addIssue:(E)=>{if(u(D,E),E.fatal)$.abort();else $.dirty()},get path(){return D.path}};if(U.addIssue=U.addIssue.bind(U),I.type==="preprocess"){let E=I.transform(D.data,U);if(D.common.async)return Promise.resolve(E).then(async(j)=>{if($.value==="aborted")return i;let N=await this._def.schema._parseAsync({data:j,path:D.path,parent:D});if(N.status==="aborted")return i;if(N.status==="dirty")return WD(N.value);if($.value==="dirty")return WD(N.value);return N});else{if($.value==="aborted")return i;let j=this._def.schema._parseSync({data:E,path:D.path,parent:D});if(j.status==="aborted")return i;if(j.status==="dirty")return WD(j.value);if($.value==="dirty")return WD(j.value);return j}}if(I.type==="refinement"){let E=(j)=>{let N=I.refinement(j,U);if(D.common.async)return Promise.resolve(N);if(N instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return j};if(D.common.async===!1){let j=this._def.schema._parseSync({data:D.data,path:D.path,parent:D});if(j.status==="aborted")return i;if(j.status==="dirty")$.dirty();return E(j.value),{status:$.value,value:j.value}}else return this._def.schema._parseAsync({data:D.data,path:D.path,parent:D}).then((j)=>{if(j.status==="aborted")return i;if(j.status==="dirty")$.dirty();return E(j.value).then(()=>{return{status:$.value,value:j.value}})})}if(I.type==="transform")if(D.common.async===!1){let E=this._def.schema._parseSync({data:D.data,path:D.path,parent:D});if(!p4(E))return i;let j=I.transform(E.value,U);if(j instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:j}}else return this._def.schema._parseAsync({data:D.data,path:D.path,parent:D}).then((E)=>{if(!p4(E))return i;return Promise.resolve(I.transform(E.value,U)).then((j)=>({status:$.value,value:j}))});N_.assertNever(I)}}Q$.create=(_,$,D)=>{return new Q$({schema:_,typeName:t.ZodEffects,effect:$,...s(D)})};Q$.createWithPreprocess=(_,$,D)=>{return new Q$({schema:$,effect:{type:"preprocess",transform:_},typeName:t.ZodEffects,...s(D)})};class v$ extends $_{_parse(_){if(this._getType(_)===h.undefined)return s_(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}v$.create=(_,$)=>{return new v$({innerType:_,typeName:t.ZodOptional,...s($)})};class K6 extends $_{_parse(_){if(this._getType(_)===h.null)return s_(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}K6.create=(_,$)=>{return new K6({innerType:_,typeName:t.ZodNullable,...s($)})};class FD extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),D=$.data;if($.parsedType===h.undefined)D=this._def.defaultValue();return this._def.innerType._parse({data:D,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}FD.create=(_,$)=>{return new FD({innerType:_,typeName:t.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...s($)})};class VD extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),D={...$,common:{...$.common,issues:[]}},I=this._def.innerType._parse({data:D.data,path:D.path,parent:{...D}});if(K1(I))return I.then((U)=>{return{status:"valid",value:U.status==="valid"?U.value:this._def.catchValue({get error(){return new W$(D.common.issues)},input:D.data})}});else return{status:"valid",value:I.status==="valid"?I.value:this._def.catchValue({get error(){return new W$(D.common.issues)},input:D.data})}}removeCatch(){return this._def.innerType}}VD.create=(_,$)=>{return new VD({innerType:_,typeName:t.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...s($)})};class M1 extends $_{_parse(_){if(this._getType(_)!==h.nan){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:h.nan,received:D.parsedType}),i}return{status:"valid",value:_.data}}}M1.create=(_)=>{return new M1({typeName:t.ZodNaN,...s(_)})};var fq=Symbol("zod_brand");class TN extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),D=$.data;return this._def.type._parse({data:D,path:$.path,parent:$})}unwrap(){return this._def.type}}class Z1 extends $_{_parse(_){let{status:$,ctx:D}=this._processInputParams(_);if(D.common.async)return(async()=>{let U=await this._def.in._parseAsync({data:D.data,path:D.path,parent:D});if(U.status==="aborted")return i;if(U.status==="dirty")return $.dirty(),WD(U.value);else return this._def.out._parseAsync({data:U.value,path:D.path,parent:D})})();else{let I=this._def.in._parseSync({data:D.data,path:D.path,parent:D});if(I.status==="aborted")return i;if(I.status==="dirty")return $.dirty(),{status:"dirty",value:I.value};else return this._def.out._parseSync({data:I.value,path:D.path,parent:D})}}static create(_,$){return new Z1({in:_,out:$,typeName:t.ZodPipeline})}}class BD extends $_{_parse(_){let $=this._def.innerType._parse(_),D=(I)=>{if(p4(I))I.value=Object.freeze(I.value);return I};return K1($)?$.then((I)=>D(I)):D($)}unwrap(){return this._def.innerType}}BD.create=(_,$)=>{return new BD({innerType:_,typeName:t.ZodReadonly,...s($)})};function q9(_,$){let D=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof D==="string"?{message:D}:D}function m9(_,$={},D){if(_)return a4.create().superRefine((I,U)=>{let E=_(I);if(E instanceof Promise)return E.then((j)=>{if(!j){let N=q9($,I),O=N.fatal??D??!0;U.addIssue({code:"custom",...N,fatal:O})}});if(!E){let j=q9($,I),N=j.fatal??D??!0;U.addIssue({code:"custom",...j,fatal:N})}return});return a4.create()}var xq={object:q_.lazycreate},t;(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"})(t||(t={}));var uq=(_,$={message:`Input not instance of ${_.name}`})=>m9((D)=>D instanceof _,$),l9=k$.create,i9=a6.create,yq=M1.create,hq=s6.create,t9=gD.create,cq=e4.create,nq=T1.create,dq=XD.create,mq=GD.create,lq=a4.create,iq=e6.create,tq=o$.create,oq=F1.create,pq=C$.create,eq=q_.create,aq=q_.strictCreate,sq=RD.create,_k=KN.create,$k=YD.create,Dk=p$.create,Uk=V1.create,Ik=B1.create,Ek=s4.create,jk=JD.create,Nk=QD.create,Ak=KD.create,Ok=_4.create,Sk=TD.create,Lk=_0.create,k9=Q$.create,Wk=v$.create,Jk=K6.create,Pk=Q$.createWithPreprocess,zk=Z1.create,gk=()=>l9().optional(),Xk=()=>i9().optional(),Gk=()=>t9().optional(),Rk={string:(_)=>k$.create({..._,coerce:!0}),number:(_)=>a6.create({..._,coerce:!0}),boolean:(_)=>gD.create({..._,coerce:!0}),bigint:(_)=>s6.create({..._,coerce:!0}),date:(_)=>e4.create({..._,coerce:!0})},Yk=i;var y={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",taskToPrProjection:"hasna.task_to_pr_projection.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",secureLocalStorePolicy:"hasna.secure_local_store_policy.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"},Uz=A.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),M_=A.string().datetime(),e=A.string().trim().min(1),r$=e.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://"),o9=A.string().regex(/^[a-fA-F0-9]{64}$/),p9=A.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),$4=A.record(A.unknown()),HD=A.array(A.string().min(1)).default([]),$0=M_.nullable().optional(),Qk=new Set(["succeeded","failed","cancelled","blocked","skipped"]),I0=A.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function J_(_){return A.object({schema:A.literal(_),id:A.string().min(1),createdAt:M_,updatedAt:$0,metadata:$4.optional()}).strict()}var Sm=A.object({schema:Uz,id:A.string().min(1),createdAt:M_,updatedAt:$0,metadata:$4.optional()}).strict(),e9=A.enum(["agent","human","service","model","workflow","system"]),Kk=J_(y.actorRef).extend({kind:e9,name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional(),capabilities:A.array(A.string().min(1)).default([])}).strict(),e$=A.object({kind:e9,id:A.string().min(1),name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional()}).strict(),a9=A.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"]),Tk=J_(y.resourceRef).extend({kind:a9,name:A.string().min(1).optional(),uri:r$.optional(),externalId:e.optional(),sourcePackage:e.optional(),tags:HD}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),__=A.object({kind:a9,id:A.string().min(1),name:A.string().min(1).optional(),uri:r$.optional(),externalId:e.optional(),sourcePackage:e.optional(),tags:HD}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),Iz=A.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),Fk=A.enum(["none","partial","full","unknown"]),Vk=J_(y.evidenceRef).extend({kind:Iz,uri:r$,sha256:o9.optional(),summary:A.string().min(1).optional(),contentType:A.string().min(1).optional(),sizeBytes:A.number().int().nonnegative().optional(),redaction:Fk.default("unknown"),producer:e$.optional(),resourceRefs:A.array(__).default([]),tags:HD}).strict(),T_=A.object({id:A.string().min(1),kind:Iz.optional(),uri:r$.optional(),sha256:o9.optional(),summary:A.string().min(1).optional()}).strict(),H1=J_(y.costEstimate).extend({currency:A.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:A.number().int().nonnegative(),provider:A.string().min(1).optional(),model:A.string().min(1).optional(),accountId:A.string().min(1).optional(),promptTokens:A.number().int().nonnegative().optional(),completionTokens:A.number().int().nonnegative().optional(),totalTokens:A.number().int().nonnegative().optional(),basis:A.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:A.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),Bk=A.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),s9=J_(y.decisionEnvelope).extend({decisionType:A.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:Bk,actor:e$.optional(),traceId:A.string().min(1).optional(),inputHash:p9.optional(),policyBundleId:A.string().min(1).optional(),selected:A.array(__).default([]),skipped:A.array(__).default([]),reason:A.string().min(1),obligations:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),costEstimate:H1.optional(),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),Mk=J_(y.capabilityCard).extend({kind:A.enum(["model","tool","machine","agent","lane","connector","service"]),name:A.string().min(1),version:A.string().min(1).optional(),status:A.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:A.array(A.string().min(1)).default([]),limitations:A.array(A.string().min(1)).default([]),riskLevel:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:H1.optional(),evidenceRefs:A.array(T_).default([])}).strict(),MD=A.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),Zk=A.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"]),Hk=A.object({refName:e,requiredForModes:A.array(MD).min(1),allowedSecretInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:e,revocationCheck:A.boolean().default(!0)}).strict(),bk=A.object({operation:e,supportedModes:A.array(MD).min(1),sideEffectClass:Zk,requiresApproval:A.boolean().default(!1),requiresIdempotencyKey:A.boolean().default(!1),requiresSandboxEvidence:A.boolean().default(!1),requiresRollbackOrRevocation:A.boolean().default(!1),rollbackOrRevocation:e.optional(),noSideEffectSmoke:e.optional(),reconciliation:e.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),qk=A.object({providerId:e,appId:e,adapterId:e,ownerPackage:e,modes:A.array(MD).min(1),defaultMode:MD,credentialRequirements:A.array(Hk).default([]),operations:A.array(bk).min(1),rateLimitPosture:e,costPosture:e.optional(),auditEvents:A.array(e).default([]),redactionRules:A.array(e).default([]),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:A.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let D=new Set(_.operations.flatMap((I)=>I.supportedModes));for(let I of D)if(!_.modes.includes(I))$.addIssue({code:A.ZodIssueCode.custom,message:`operation mode ${I} is not declared in provider modes`,path:["operations"]});if(D.has("live_mutating")){if(!_.credentialRequirements.some((U)=>U.requiredForModes.includes("live_mutating")))$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),kk=A.object({appId:e,repo:e,priority:A.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:A.array(e).min(1),firstOperations:A.array(e).min(1),blockedUntil:A.array(e).default([])}).strict(),Ck=J_(y.providerLiveModeStandard).extend({name:e,version:e,modes:A.array(MD).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:A.array(e).min(1),liveMutationGate:A.object({requiredMode:A.literal("live_mutating"),requiredChecks:A.array(e).min(1),forbiddenBypassSignals:A.array(e).min(1),disabledLiveSmoke:e}).strict(),noSideEffectSmoke:A.object({requiredForModes:A.array(MD).min(1),commandEvidence:A.array(e).min(1),secretOutputScan:A.boolean().default(!0)}).strict(),credentialPolicy:A.object({acceptedInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:A.literal(!1),missingCredentialBehavior:A.literal("fail_closed"),revocationCheckRequired:A.boolean().default(!0)}).strict(),operationCards:A.array(qk).min(1),firstAdoptionTargets:A.array(kk).min(1),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{let D=new Set(_.firstAdoptionTargets.map((U)=>U.appId)),I=new Set(_.operationCards.map((U)=>U.appId));for(let U of D)if(!I.has(U))$.addIssue({code:A.ZodIssueCode.custom,message:`first adoption target ${U} requires a provider capability card`,path:["firstAdoptionTargets"]})}),vk=A.object({id:A.string().min(1),title:A.string().min(1).optional(),summary:A.string().min(1),text:A.string().optional(),tokens:A.number().int().nonnegative().optional(),source:T_,resourceRefs:A.array(__).default([])}).strict(),_8=J_(y.contextPack).extend({objective:A.string().min(1),budget:A.object({maxTokens:A.number().int().positive().optional(),maxBytes:A.number().int().positive().optional()}).strict().optional(),items:A.array(vk).default([]),citations:A.array(T_).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),permissions:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),conflicts:A.array(A.string().min(1)).default([]),uncertainty:A.string().min(1).optional()}).strict(),R$=e.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),D0=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),wk=A.enum(["public","internal","private","sensitive"]),rk=A.enum(["draft","active","paused","archived"]),Ez=A.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),$8=J_(y.integrationRef).extend({kind:Ez,name:A.string().min(1),projectId:D0.optional(),sourcePackage:e.optional(),externalId:e.optional(),uri:r$.optional(),enabled:A.boolean().default(!0),readOnly:A.boolean().default(!0),capabilities:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:__.optional(),evidenceRefs:A.array(T_).default([]),config:$4.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),fk=A.object({schemaRoot:R$.default(".hasna/project"),dashboardManifest:R$.default(".hasna/project/dashboard.render.json"),snapshotsDir:R$.default(".hasna/project/snapshots"),documentsDir:R$.default("documents"),reportsDir:R$.default("reports"),evidenceDir:R$.default(".hasna/project/evidence"),privateDir:R$.default(".hasna/project/private")}).strict(),xk=J_(y.projectManifest).extend({projectId:D0,slug:D0,name:A.string().min(1),summary:A.string().min(1).optional(),status:rk.default("active"),classification:wk.default("private"),owner:e$.optional(),layout:fk.default({}),integrations:A.array($8).default([]),renderManifests:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([]),tags:HD}).strict().superRefine((_,$)=>{let D=new Set,I=new Set;if(_.projectId!==_.slug)$.addIssue({code:A.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[U,E]of _.integrations.entries()){if(D.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",U,"id"]});if(D.add(E.id),E.projectId&&E.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",U,"projectId"]})}for(let[U,E]of _.renderManifests.entries()){if(E.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",U,"kind"]});if(I.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",U,"id"]});I.add(E.id)}}),uk=A.enum(["local","package","provider","url"]),jz=A.object({id:A.string().min(1),kind:uk,specifier:A.string().min(1),path:R$.optional(),packageName:A.string().min(1).optional(),uri:r$.optional(),provider:Ez.optional(),schemaId:Uz.optional(),integrity:p9.optional(),resourceRef:__.optional(),optional:A.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:A.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:A.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:A.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),yk=A.enum(["dashboard","canvas","panel","report","document","custom"]),hk=A.object({id:A.string().min(1),title:A.string().min(1),kind:yk,default:A.boolean().default(!1),entry:R$.optional(),imports:A.array(jz).default([]),panelRefs:A.array(__).default([]),dataRefs:A.array(__).default([]),layout:$4.optional()}).strict(),ck=J_(y.renderManifest).extend({projectId:D0,name:A.string().min(1),version:A.string().min(1),manifestPath:R$.default(".hasna/project/dashboard.render.json"),renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:A.array(hk).min(1),imports:A.array(jz).default([]),theme:$4.optional(),compatibility:A.object({minProjectsVersion:A.string().min(1).optional(),minContractsVersion:A.string().min(1).optional()}).strict().optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{let D=_.views.filter((E)=>E.default),I=new Set,U=new Set;if(D.length>1)$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[E,j]of _.imports.entries()){if(U.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",E,"id"]});U.add(j.id)}for(let[E,j]of _.views.entries()){if(I.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",E,"id"]});I.add(j.id);let N=new Set;for(let[O,S]of j.imports.entries()){if(N.has(S.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",E,"imports",O,"id"]});N.add(S.id)}for(let[O,S]of j.panelRefs.entries())if(S.kind!=="panel")$.addIssue({code:A.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",E,"panelRefs",O,"kind"]})}}),nk=A.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),dk=A.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),mk=A.object({id:A.string().min(1),label:A.string().min(1),value:A.union([A.string(),A.number(),A.boolean()]),unit:A.string().min(1).optional(),status:A.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:A.array(__).default([])}).strict(),lk=A.object({id:A.string().min(1),title:A.string().min(1),summary:A.string().min(1).optional(),status:A.string().min(1).optional(),priority:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:M_.optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([]),metadata:$4.optional()}).strict(),ik=A.object({renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:A.string().min(1).optional(),entry:R$.optional(),imports:A.array(jz).default([]),spec:$4.default({})}).strict(),D8=J_(y.projectPanel).extend({projectId:D0,provider:A.object({kind:Ez,id:A.string().min(1),name:A.string().min(1).optional(),sourcePackage:e.optional(),externalId:e.optional()}).strict(),kind:dk,title:A.string().min(1),summary:A.string().min(1).optional(),state:nk.default("ready"),stateReason:A.string().min(1).optional(),generatedAt:M_,freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),metrics:A.array(mk).default([]),items:A.array(lk).default([]),actions:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([]),renderFragment:ik.optional(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let D=new Set(["error","auth_required","unavailable","stale"]),I=new Set,U=new Set;if(D.has(_.state)&&!_.stateReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:A.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[E,j]of _.metrics.entries()){if(I.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",E,"id"]});I.add(j.id)}for(let[E,j]of _.items.entries()){if(U.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",E,"id"]});U.add(j.id)}for(let[E,j]of _.actions.entries())if(j.kind!=="action")$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",E,"kind"]})}),tk=J_(y.projectSnapshot).extend({projectId:D0,generatedAt:M_,status:I0.default("unknown"),manifestRef:__,renderManifestRef:__.optional(),panels:A.array(D8).default([]),contextPacks:A.array(_8).default([]),proofBundleRefs:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([]),warnings:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let D=new Set,I=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[U,E]of _.proofBundleRefs.entries())if(E.kind!=="proof_bundle")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",U,"kind"]});for(let[U,E]of _.panels.entries()){if(E.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",U,"projectId"]});if(D.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",U,"id"]});D.add(E.id)}for(let[U,E]of _.contextPacks.entries()){if(I.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",U,"id"]});I.add(E.id)}}),U8=A.object({id:A.string().min(1),kind:A.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),expected:A.string().min(1).optional(),timeoutMs:A.number().int().positive().optional(),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:A.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),ok=J_(y.validationPlan).extend({objective:A.string().min(1),subject:__.optional(),checks:A.array(U8).min(1),verifier:e$.optional(),requiredEvidenceKinds:A.array(Iz).default([])}).strict(),pk=A.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),ek=A.enum(["draft","active","deprecated","archived"]),ak=A.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"]),sk=A.object({key:A.string().regex(/^[A-Z][A-Z0-9_]*$/),description:A.string().min(1),required:A.boolean().default(!1),["secret"]:A.boolean().default(!1),group:A.string().min(1).optional(),default:A.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),_C=A.object({name:A.string().min(1),command:A.string().min(1),description:A.string().min(1).optional(),required:A.boolean().default(!1)}).strict(),$C=A.object({packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:A.array(A.string().min(1)).default([]),requiredFiles:A.array(A.string().min(1)).default([]),requiredDirectories:A.array(A.string().min(1)).default([]),optionalDirectories:A.array(A.string().min(1)).default([])}).strict(),DC=J_(y.scaffoldManifest).extend({name:A.string().min(1),version:A.string().min(1),summary:A.string().min(1),type:pk,status:ek.default("draft"),capabilities:A.array(ak).default([]),techStack:A.array(A.string().min(1)).default([]),tags:HD,source:__.optional(),output:$C,env:A.array(sk).default([]),scripts:A.array(_C).default([]),validationChecks:A.array(U8).default([]),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:A.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),UC=A.enum(["installed","failed","cancelled","partial","unknown"]),IC=J_(y.scaffoldInstallRecord).extend({scaffoldId:A.string().min(1),scaffoldVersion:A.string().min(1).optional(),manifestRef:__.optional(),target:__,status:UC,installedAt:M_.optional(),installer:e$.optional(),packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:$4.optional(),generatedFiles:A.array(__).default([]),evidenceRefs:A.array(T_).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),ZD=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),Nz=A.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),I8=A.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"),EC=A.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),jC=e.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),NC=A.enum(["active","stub","deprecated","archived"]),AC=A.enum(["stable","beta","canary","internal"]),OC=A.object({transport:A.enum(["http","stdio"]).default("http"),bin:A.string().min(1).optional(),url:r$.optional()}).strict(),SC=A.object({healthPath:A.string().min(1).default("/health"),port:A.number().int().positive().optional(),baseUrl:r$.optional()}).strict(),LC=A.object({bins:A.array(A.string().min(1)).default([]),mcp:OC.optional(),http:SC.optional()}).strict(),WC=J_(y.app).extend({appId:ZD,npmName:Nz,repoFolder:ZD,githubUrl:jC,projectSlug:D0,surfaces:LC.default({}),lifecycle:NC,releaseChannel:AC.default("stable"),summary:A.string().min(1).optional(),tags:HD}).strict().superRefine((_,$)=>{let D=new Set;for(let[I,U]of _.surfaces.bins.entries()){if(D.has(U))$.addIssue({code:A.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",I]});D.add(U)}}),JC=A.enum(["skill","ci","backfilled"]),PC=J_(y.release).extend({appId:ZD,package:Nz,version:I8,gitSha:EC,publishedAt:M_,publishPath:JC,changelogRef:__.optional(),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),zC=A.enum(["install","update","rollback","freeze-blocked"]),gC=A.object({cliVersion:A.string().min(1).optional(),mcpHealth:A.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),XC=J_(y.rolloutRecord).extend({appId:ZD,package:Nz,version:I8,machine:e,action:zC,result:I0,verifiedBy:gC.optional(),at:M_,evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:A.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let D=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",I=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||I&&!D))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),GC=A.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),RC=A.enum(["pending","queued","sent","failed","skipped","suppressed"]),YC=A.object({channel:GC,status:RC,deliveredAt:M_.optional(),detail:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),QC=J_(y.announcement).extend({campaignId:e,appId:ZD.optional(),releaseRef:__.optional(),channels:A.array(YC).min(1),audienceRef:__,sentAt:M_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),KC=A.enum(["tag","attribute","group"]),TC=A.enum(["eq","neq","in","not_in","exists","not_exists"]),C9=A.union([A.string(),A.number(),A.boolean()]),FC=A.object({kind:KC,key:A.string().min(1).optional(),op:TC.default("eq"),value:C9.optional(),values:A.array(C9).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:A.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),VC=A.object({match:A.enum(["all","any"]).default("all"),predicates:A.array(FC).min(1)}).strict(),BC=A.enum(["opt_in","opt_out","transactional","none"]),MC=J_(y.audience).extend({audienceId:ZD,name:e,definition:VC,consentPolicy:BC,suppressionSyncedAt:$0}).strict(),XN=["@hasna/cloud","open-cloud"],ZC=A.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),HC=A.object({id:A.string().min(1),provider:ZC,kind:A.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:A.string().min(1),region:A.string().min(1).optional(),accountId:A.string().min(1).optional(),uri:r$.optional(),machineScoped:A.boolean().default(!1)}).strict(),E8=J_(y.appCloudManifest).extend({packageName:A.string().min(1),packageVersion:A.string().min(1).optional(),appId:A.string().min(1),repository:__.optional(),storageMode:A.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:A.enum(["none","app_owned","external_service","local_cache"]),cloudResources:A.array(HC).default([]),localCache:A.object({path:A.string().min(1).optional(),pullMode:A.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:A.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:A.array(A.string().min(1)).default([...XN]),dependencies:A.array(A.string().min(1)).default([]),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{let D=new Set([...XN,..._.forbiddenSharedRuntimes]);if(D.has(_.packageName))$.addIssue({code:A.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let I of XN)if(!_.forbiddenSharedRuntimes.includes(I))$.addIssue({code:A.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${I}`,path:["forbiddenSharedRuntimes"]});for(let I of D)if(_.dependencies.includes(I))$.addIssue({code:A.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${I}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:A.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:A.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((I,U)=>{if(I.ownerPackage!==_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",U,"ownerPackage"]})})}),j8=A.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),bC=A.enum(["low","medium","high","critical"]),N8=A.object({id:A.string().min(1),kind:j8,severity:bC,path:A.string().min(1).optional(),packageName:A.string().min(1).optional(),pattern:A.string().min(1),message:A.string().min(1),evidenceRefs:A.array(T_).default([])}).strict(),qC=A.object({id:A.string().min(1),kind:j8,status:I0,target:A.string().min(1),command:A.string().min(1).optional(),evidenceRefs:A.array(T_).default([]),findings:A.array(N8).default([])}).strict(),kC=J_(y.noCloudEvidencePack).extend({subject:__,packageName:A.string().min(1).optional(),packageVersion:A.string().min(1).optional(),generatedBy:e$.optional(),scanMode:A.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:I0,verdict:A.enum(["passed","failed","warning","not_run"]),appCloudManifest:E8.optional(),checks:A.array(qC).min(1),findings:A.array(N8).default([]),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{let D=[..._.findings,..._.checks.flatMap((U)=>U.findings)],I=D.filter((U)=>U.severity==="high"||U.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(I.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((U)=>U.status!=="succeeded"))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&D.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((U)=>U.status==="failed"))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((U,E)=>{let j=U.findings.filter((N)=>N.severity==="high"||N.severity==="critical");if(U.status==="succeeded"&&j.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",E,"findings"]})})}),CC=A.object({checkId:A.string().min(1),status:I0,summary:A.string().min(1).optional(),startedAt:$0,finishedAt:$0,evidenceRefs:A.array(T_).default([])}).strict(),vC=J_(y.proofBundle).extend({subject:__,validationPlanRef:__.optional(),status:I0,verdict:A.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:A.array(CC).default([]),verifier:e$.optional(),evidenceRefs:A.array(T_).default([]),residualRisks:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((I,U)=>{if(I.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",U,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((I)=>I.evidenceRefs.length>0)))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((D)=>D.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),wC=J_(y.workRun).extend({objective:A.string().min(1),status:I0,actor:e$,traceId:A.string().min(1).optional(),startedAt:$0,finishedAt:$0,constraints:A.array(A.string().min(1)).default([]),resourceRefs:A.array(__).default([]),decisions:A.array(s9).default([]),costEstimates:A.array(H1).default([]),evidenceRefs:A.array(T_).default([]),validationPlanRefs:A.array(__).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!D)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!D&&_.decisions.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),rC=Object.freeze({work_run:Object.freeze(["codewith"]),root_request:Object.freeze(["todos"]),pr_group:Object.freeze(["todos"]),leaf_task:Object.freeze(["todos"]),attempt:Object.freeze(["todos"]),writer_generation:Object.freeze(["todos"]),writer_lease:Object.freeze(["repos"]),writer_fence:Object.freeze(["repos"]),provider_profile:Object.freeze(["codewith"]),provider_route:Object.freeze(["codewith"]),admission:Object.freeze(["codewith"]),worker_actor:Object.freeze(["codewith"]),worker:Object.freeze(["codewith"]),runtime:Object.freeze(["codewith"]),repo:Object.freeze(["repos"]),worktree:Object.freeze(["repos"]),branch:Object.freeze(["repos"]),event_stream:Object.freeze(["todos"]),replay_cursor:Object.freeze(["todos"]),handoff:Object.freeze(["todos"]),pull_request:Object.freeze(["todos"]),commit:Object.freeze(["repos"]),review:Object.freeze(["review"]),reviewer:Object.freeze(["review"]),review_run:Object.freeze(["review"]),proof_bundle:Object.freeze(["review"]),repair_cycle:Object.freeze(["todos"]),merge_guard:Object.freeze(["todos"]),merge_operator:Object.freeze(["merge_provider"]),merge_operator_run:Object.freeze(["merge_provider"]),merge_guard_receipt:Object.freeze(["merge_provider"]),merge_outcome:Object.freeze(["merge_provider"]),recovery:Object.freeze(["todos"]),cancellation:Object.freeze(["todos"]),cleanup_eligibility:Object.freeze(["repos"]),cleanup_outcome:Object.freeze(["repos"]),rollback_plan:Object.freeze(["todos"]),rollback_outcome:Object.freeze(["repos"]),terminal_disposition:Object.freeze(["todos"]),openloops_invocation:Object.freeze(["openloops"]),adapter_extension:Object.freeze(["adapter"])}),fC=A.enum(["work_run","root_request","pr_group","leaf_task","attempt","writer_generation","writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","repo","worktree","branch","event_stream","replay_cursor","handoff","pull_request","commit","review","reviewer","review_run","proof_bundle","repair_cycle","merge_guard","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","recovery","cancellation","cleanup_eligibility","cleanup_outcome","rollback_plan","rollback_outcome","terminal_disposition","openloops_invocation","adapter_extension"]),xC=A.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),U0=A.string().regex(/^[a-f0-9]{64}$/),FN=A.string().trim().min(3).max(256),A8=/^[a-f0-9]{32}$/;function uC(_,$,D){return`${_}:${$}:opaque-${D.slice(0,32)}`}function yC(_){return`evidence:opaque-${_.slice(0,32)}`}var O8=FN.refine((_)=>{let D=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return A8.test(D)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),Az=FN.refine((_)=>{let D=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return A8.test(D)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),hC=new Set(["writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","worktree","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","openloops_invocation","adapter_extension"]),Oz=A.object({role:fC,authority:xC,id:FN,digest:U0,redaction:A.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let D=rC[_.role];if(!D.includes(_.authority))$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${D.join(" or ")}`,path:["authority"]});if(hC.has(_.role)&&_.redaction==="none")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let I=uC(_.role,_.authority,_.digest);if(_.id!==I)$.addIssue({code:A.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),Y$=A.object({id:FN,digest:U0,redaction:A.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==yC(_.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function S8(_,$,D,I){if(_.id===$.id||_.digest===$.digest)D.addIssue({code:A.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:I})}function H(_){return Oz.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function B_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function Sz(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function PD(_,$,D,I,U){if(Sz(_,$))D.addIssue({code:A.ZodIssueCode.custom,message:`${U} requires a fresh canonical role/authority/id`,path:I});if(_.digest===$.digest)D.addIssue({code:A.ZodIssueCode.custom,message:`${U} requires a fresh canonical digest`,path:I})}function YN(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function a_(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var K_=A.object({algorithm:A.enum(["sha1","sha256"]),value:A.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let D=_.algorithm==="sha1"?40:64;if(_.value.length!==D)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${D} lowercase hex characters`,path:["value"]})});function v9(_){if(_.canonicalizationVersion===1){let D=JSON.stringify(["hasna.task_to_pr_projection.binding.v1",_.canonicalizationVersion,_.rootRequestRef.id,_.rootRequestRef.digest,_.prGroupRef.id,_.prGroupRef.digest,_.leafTaskRef.id,_.leafTaskRef.digest,_.repoRef.id,_.repoRef.digest,_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return H9("sha256").update(D,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((D)=>[D.role,D.authority,D.id,D.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return H9("sha256").update($,"utf8").digest("hex")}var cC=A.object({ref:H("attempt"),nonce:Az,admissionRef:H("admission"),admissionWriterGenerationRef:H("writer_generation"),workerActorRef:H("worker_actor"),workerRef:H("worker"),runtimeRef:H("runtime"),writerGenerationRef:H("writer_generation"),writerLeaseRef:H("writer_lease"),writerFenceRef:H("writer_fence"),providerProfileRef:H("provider_profile"),providerRouteRef:H("provider_route")}).strict(),nC=A.object({repoRef:H("repo"),worktreeRef:H("worktree"),branchRef:H("branch"),baseHead:K_,branchHead:K_}).strict(),dC=A.object({streamRef:H("event_stream"),replayCursorRef:H("replay_cursor"),sequence:A.number().int().safe().nonnegative(),prefixDigest:U0}).strict(),mC=A.object({ref:H("handoff"),previousAttemptRef:H("attempt"),nextAttemptRef:H("attempt"),previousWriterGenerationRef:H("writer_generation"),nextWriterGenerationRef:H("writer_generation"),stoppedWorkRunRef:H("work_run"),stopEvidenceRef:Y$,leaseRevocationEvidenceRef:Y$}).strict().superRefine((_,$)=>{PD(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),PD(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),S8(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),lC=A.object({ref:H("review"),pullRequestRef:H("pull_request"),base:K_,head:K_,reviewerRef:H("reviewer"),reviewRunRef:H("review_run"),proofBundleRef:H("proof_bundle"),verdict:A.enum(["approved","changes_requested","blocked"]),reviewedAt:M_}).strict(),iC=A.object({pullRequestRef:H("pull_request"),remoteBranchRef:H("branch"),expectedBase:K_,providerPullRequestBase:K_,localHead:K_,remoteHead:K_,providerPullRequestHead:K_,equalityProofRef:H("proof_bundle"),ciProofBundleRefs:A.array(H("proof_bundle")).min(1),verifiedAt:M_}).strict().superRefine((_,$)=>{if(!a_(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!a_(_.localHead,_.remoteHead)||!a_(_.localHead,_.providerPullRequestHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let D=_.ciProofBundleRefs.map(YN);if(new Set(D).size!==D.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let I=_.ciProofBundleRefs.map((U)=>U.digest);if(new Set(I).size!==I.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((U)=>Sz(U,_.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical identities",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((U)=>U.digest===_.equalityProofRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),tC=A.object({ref:H("repair_cycle"),cycle:A.number().int().min(0).max(2),cap:A.literal(2),exhausted:A.boolean(),latestRepairRef:H("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&Sz(_.ref,_.latestRepairRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),oC=A.object({ref:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:K_,expectedHead:K_,reviewRefs:A.array(H("review")).min(1),proofBundleRefs:A.array(H("proof_bundle")).min(1),operatorRef:H("merge_operator"),operatorRunRef:H("merge_operator_run"),providerGuardReceiptRef:H("merge_guard_receipt"),mechanism:A.enum(["compare_and_swap","queue_expected_head"]),decision:A.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:M_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((E)=>E.id)).size!==_.reviewRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(YN)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((E)=>E.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),pC=A.object({ref:H("merge_outcome"),guardRef:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:K_,observedBase:K_,expectedHead:K_,observedHead:K_,status:A.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:H("commit").optional(),finishedAt:M_,evidenceRefs:A.array(Y$).min(1)}).strict().superRefine((_,$)=>{let D=a_(_.expectedBase,_.observedBase),I=a_(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!D||!I)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!D?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&I)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!D)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&D)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!I)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!I&&_.status!=="head_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!D&&_.status!=="base_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),eC=A.object({guard:oC,outcome:pC.optional()}).strict(),aC=A.object({ref:H("recovery"),priorAttemptRef:H("attempt"),priorWriterGenerationRef:H("writer_generation"),priorWorkRunRef:H("work_run"),successorAttemptNonce:Az,successorWriterGenerationRef:H("writer_generation"),preservedStateRefs:A.array(Oz).min(1),stopEvidenceRef:Y$,leaseRevocationEvidenceRef:Y$}).strict().superRefine((_,$)=>{PD(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),S8(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),sC=A.object({ref:H("cancellation"),cancelledAttemptRef:H("attempt"),preservedStateRefs:A.array(Oz).min(1),evidenceRefs:A.array(Y$).min(1)}).strict(),_v=A.object({ref:H("cleanup_eligibility"),status:A.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:H("worktree"),eventCursorRef:H("replay_cursor"),terminalDispositionRef:H("terminal_disposition"),writerLeaseRef:H("writer_lease"),leaseRevocationEvidenceRef:Y$,consumedEventEvidenceRef:Y$,evaluatedAt:M_,evidenceRefs:A.array(Y$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),$v=A.object({ref:H("cleanup_outcome"),eligibilityRef:H("cleanup_eligibility"),targetWorktreeRef:H("worktree"),status:A.enum(["preserved","deleted","failed","skipped"]),finishedAt:M_,evidenceRefs:A.array(Y$).min(1)}).strict(),Dv=A.object({eligibility:_v,outcome:$v.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!B_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!B_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility and outcome must bind the same target worktree",path:["outcome","targetWorktreeRef"]});if(_.outcome?.status==="deleted"&&_.eligibility.status!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),Uv=A.object({plan:A.object({ref:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),createdAt:M_}).strict(),outcome:A.object({ref:H("rollback_outcome"),planRef:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),status:A.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:M_,evidenceRefs:A.array(Y$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!B_(_.outcome.planRef,_.plan.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!B_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback target",path:["outcome","targetRef"]});if(_.outcome&&Date.parse(_.outcome.finishedAt)({category:"ci_proof",ref:$,base:_.exactHead.expectedBase,head:_.exactHead.localHead}))]:[],..._.reviews.flatMap(($)=>[{category:"review_proof",ref:$.proofBundleRef,base:$.base,head:$.head},{category:"review_record",ref:$.ref,base:$.base,head:$.head},{category:"review_run",ref:$.reviewRunRef,base:$.base,head:$.head}]),..._.merge?[{category:"merge_guard",ref:_.merge.guard.ref},{category:"provider_guard_receipt",ref:_.merge.guard.providerGuardReceiptRef,base:_.merge.guard.expectedBase,head:_.merge.guard.expectedHead}]:[],..._.cleanup?[{category:"cleanup_eligibility",ref:_.cleanup.eligibility.ref}]:[],..._.rollback?[{category:"rollback_plan",ref:_.rollback.plan.ref}]:[],..._.terminalDispositionRef?[{category:"terminal_disposition",ref:_.terminalDispositionRef}]:[]]}function jv(_,$){if(_.category!==$.category)return!1;if(_.category==="projection_id"&&$.category==="projection_id")return _.projectionId===$.projectionId;if(_.category==="attempt_nonce"&&$.category==="attempt_nonce")return _.nonce===$.nonce;if(_.category==="replay_prefix"&&$.category==="replay_prefix")return _.sequence===$.sequence&&_.prefixDigest===$.prefixDigest;if(!("ref"in _)||!("ref"in $))return!1;return B_(_.ref,$.ref)&&(("head"in _)&&("head"in $)&&("base"in _)&&("base"in $)&&a_(_.base,$.base)&&a_(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var Nv="hasna.task_to_pr_adapter_extension.",Av=A.object({mode:A.enum(["local","cloud"]),schema:Uz,ref:H("adapter_extension"),digest:U0}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(Nv))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),Ov=A.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),w9=new Set(["admitted","running","handed_off"]),r9=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),Sv={admitted:new Set(["absent","denied:none","revoked:none"]),running:new Set(["absent","denied:none","revoked:none"]),handed_off:new Set(["absent","denied:none","revoked:none"]),reviewing:new Set(["absent","denied:none","revoked:none"]),repairing:new Set(["absent","denied:none","revoked:none"]),merge_ready:new Set(["eligible:none"]),merged:new Set(["consumed:merged"]),closed_unmerged:new Set(["consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),failed:new Set(["absent","revoked:none"]),blocked:new Set(["absent","revoked:none"]),cancelled:new Set(["absent","revoked:none"]),recovering:new Set(["absent","denied:none","revoked:none"]),cleanup_complete:new Set(["absent","revoked:none","consumed:merged","consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),rolled_back:new Set(["consumed:merged"])},Lv=A.object({schema:A.literal(y.taskToPrProjection),id:O8,createdAt:M_,canonicalizationVersion:A.union([A.literal(1),A.literal(2)]),identityDigest:U0,frozenScopeDigest:U0,state:Ov,workRunRef:H("work_run"),rootRequestRef:H("root_request"),prGroupRef:H("pr_group"),leafTaskRef:H("leaf_task"),attempt:cC,repository:nC,events:dC,openLoopsInvocationRef:H("openloops_invocation").optional(),pullRequestRef:H("pull_request").optional(),exactHead:iC.optional(),handoff:mC.optional(),reviews:A.array(lC).default([]),repair:tC,merge:eC.optional(),recovery:aC.optional(),cancellation:sC.optional(),cleanup:Dv.optional(),rollback:Uv.optional(),terminalDispositionRef:H("terminal_disposition").optional(),provenanceLedger:A.array(Iv),adapterExtensions:A.array(Av).default([]),evidenceRefs:A.array(Y$).default([])}).strict().superRefine((_,$)=>{let D=_.canonicalizationVersion===1?v9({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):v9({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==D)$.addIssue({code:A.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let I=new Set,U=new Set,E=new Set,j=new Set,N=new Set,O=new Set;for(let[Q,F]of _.provenanceLedger.entries()){if("ref"in F){if(I.has(F.ref.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",Q,"ref","id"]});if(I.add(F.ref.id),U.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",Q,"ref","digest"]});U.add(F.ref.digest);continue}if(F.category==="projection_id"){if(E.has(F.projectionId))$.addIssue({code:A.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",Q,"projectionId"]});E.add(F.projectionId);continue}if(F.category==="attempt_nonce"){if(j.has(F.nonce))$.addIssue({code:A.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",Q,"nonce"]});j.add(F.nonce);continue}if(N.has(F.prefixDigest))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",Q,"prefixDigest"]});if(N.add(F.prefixDigest),O.has(F.sequence))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",Q,"sequence"]});O.add(F.sequence)}for(let Q of Ev(_))if(!_.provenanceLedger.some((F)=>jv(F,Q)))$.addIssue({code:A.ZodIssueCode.custom,message:`The active ${Q.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let S=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],L=(Q,F,B,b)=>{let f=new Set(F.map((U_)=>U_.role)),l=new Set;for(let[U_,j_]of Q.entries()){if(!f.has(j_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${b} cannot preserve an unrecognized ${j_.role} role`,path:[...B,U_]});if(l.has(j_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${b} must preserve exactly one canonical ref per role`,path:[...B,U_]});l.add(j_.role)}if(Q.length!==F.length)$.addIssue({code:A.ZodIssueCode.custom,message:`${b} preservation refs must exactly equal the required canonical role set`,path:B});for(let U_ of F)if(!Q.some((j_)=>B_(j_,U_)))$.addIssue({code:A.ZodIssueCode.custom,message:`${b} must preserve ${U_.role}`,path:B})};if(_.handoff&&!B_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next generation must be the current attempt writer generation",path:["handoff","nextWriterGenerationRef"]});if(_.handoff&&!B_(_.handoff.nextAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)PD(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!B_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});PD(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),PD(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),L(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...S],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!B_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)L(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...S],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the handoff and recovery snapshot",path:["recovery"]});if(_.cleanup&&!B_(_.cleanup.eligibility.eventCursorRef,_.events.replayCursorRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the current canonical replay cursor",path:["cleanup","eligibility","eventCursorRef"]});if(_.cleanup&&(!_.terminalDispositionRef||!B_(_.cleanup.eligibility.terminalDispositionRef,_.terminalDispositionRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact durable terminal owner fact",path:["cleanup","eligibility","terminalDispositionRef"]});if(_.cleanup&&!B_(_.cleanup.eligibility.writerLeaseRef,_.attempt.writerLeaseRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact writer lease being revoked",path:["cleanup","eligibility","writerLeaseRef"]});if(_.cleanup&&!B_(_.cleanup.eligibility.targetWorktreeRef,_.repository.worktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!B_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[Q,F]of _.reviews.entries())if(!B_(F.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",Q,"pullRequestRef"]});if(_.merge&&!B_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard must bind the canonical pull request ref",path:["merge","guard","pullRequestRef"]});if(_.merge?.outcome&&!B_(_.merge.outcome.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the canonical pull request ref",path:["merge","outcome","pullRequestRef"]})}else if(_.exactHead||_.reviews.length>0||_.merge)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!a_(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!a_(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head expected base must equal the canonical repository base",path:["exactHead","expectedBase"]});if(_.exactHead&&!B_(_.exactHead.remoteBranchRef,_.repository.branchRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head remote branch ref must equal the canonical repository branch ref",path:["exactHead","remoteBranchRef"]});if(_.exactHead&&Date.parse(_.exactHead.verifiedAt)0&&!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews require local/remote/provider exact-head proof",path:["exactHead"]});if(_.exactHead){let Q=[{ref:_.exactHead.equalityProofRef,path:["exactHead","equalityProofRef"]},..._.exactHead.ciProofBundleRefs.map((b,f)=>({ref:b,path:["exactHead","ciProofBundleRefs",f]})),..._.reviews.map((b,f)=>({ref:b.proofBundleRef,path:["reviews",f,"proofBundleRef"]}))],F=new Set,B=new Set;for(let b of Q){let f=YN(b.ref);if(F.has(f))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:b.path});if(F.add(f),B.has(b.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:b.path});B.add(b.ref.digest)}}let W=new Set,g=new Set,z=new Set,G=new Set,J=new Set,P=new Set,X=new Set,R=new Set;for(let[Q,F]of _.reviews.entries()){if(!a_(F.base,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",Q,"base"]});if(!a_(F.head,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",Q,"head"]});for(let[b,f,l]of[[F.ref.id,W,"ref"],[F.reviewerRef.id,z,"reviewerRef"],[F.reviewRunRef.id,J,"reviewRunRef"]]){if(f.has(b))$.addIssue({code:A.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",Q,l]});f.add(b)}if(g.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",Q,"ref"]});if(g.add(F.ref.digest),G.has(F.reviewerRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",Q,"reviewerRef"]});if(G.add(F.reviewerRef.digest),P.has(F.reviewRunRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",Q,"reviewRunRef"]});P.add(F.reviewRunRef.digest);let B=YN(F.proofBundleRef);if(X.has(B))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",Q,"proofBundleRef"]});if(X.add(B),R.has(F.proofBundleRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",Q,"proofBundleRef"]});if(R.add(F.proofBundleRef.digest),F.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",Q,"reviewerRef"]});if(F.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",Q,"reviewRunRef"]});if(_.exactHead&&Date.parse(F.reviewedAt)Date.parse(_.merge.guard.evaluatedAt)Q.verdict!=="approved"))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards require at least one review and all reviews approved",path:["merge","guard","decision"]});if(_.merge.guard.reviewRefs.length!==_.reviews.length||_.merge.guard.reviewRefs.some((Q)=>!_.reviews.some((F)=>B_(Q,F.ref))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guard review refs must exactly equal the projected approved review refs as a canonical set",path:["merge","guard","reviewRefs"]});for(let Q of _.reviews)if(!_.merge.guard.proofBundleRefs.some((F)=>B_(F,Q.proofBundleRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((Q)=>B_(Q,_.exactHead.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind the exact-head equality proof",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&_.exactHead.ciProofBundleRefs.some((Q)=>!_.merge.guard.proofBundleRefs.some((F)=>B_(F,Q))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact-head CI proof",path:["merge","guard","proofBundleRefs"]})}}if(_.merge?.outcome){if(!B_(_.merge.outcome.guardRef,_.merge.guard.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!a_(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!a_(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:A.ZodIssueCode.custom,message:"Every merge outcome requires an explicitly consumed merge guard",path:["merge","guard","decision"]});if(Date.parse(_.merge.outcome.finishedAt)0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((w9.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let T=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!Sv[_.state].has(T))$.addIssue({code:A.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${T}`,path:["merge"]});if(r9.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!r9.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Repairing projections require a non-zero repair cycle",path:["repair","cycle"]});if(_.merge&&(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed")&&!B_(_.attempt.admissionWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge eligibility requires admission from the current writer generation",path:["attempt","admissionWriterGenerationRef"]});if(_.state==="merge_ready"&&_.merge?.guard.decision!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:A.ZodIssueCode.custom,message:"Merged projections require a merged immutable outcome",path:["merge"]});if(_.state==="closed_unmerged"&&!_.merge?.outcome?.status.match(/^(closed_unmerged|refused|head_drift|base_drift)$/))$.addIssue({code:A.ZodIssueCode.custom,message:"Closed-unmerged projections require a non-merged terminal outcome",path:["merge"]});if(_.state==="cleanup_complete"&&(!_.cleanup?.outcome||!["deleted","preserved","skipped"].includes(_.cleanup.outcome.status)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed and blocked projections require redacted evidence refs",path:["evidenceRefs"]});if(["admitted","running","handed_off","reviewing","repairing","merge_ready","recovering"].includes(_.state)&&(_.merge?.outcome||_.cancellation||_.cleanup?.outcome||_.rollback?.outcome))$.addIssue({code:A.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let Y=new Set;for(let[Q,F]of _.adapterExtensions.entries()){let B=`${F.mode}:${F.schema}`;if(Y.has(B))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",Q]});Y.add(B)}});var Wv=A.object({id:A.string().min(1),at:M_,kind:A.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:A.string().min(1),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([]),costEstimate:H1.optional()}).strict(),Jv=J_(y.agentTrajectory).extend({actor:e$,workRunRef:__.optional(),events:A.array(Wv).default([]),outcome:A.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:__.optional()}).strict(),Pv="v1",zv=A.enum(["library","cli-with-store","service","saas"]),gv=["user-hosted","hasna-saas"],Xv=A.enum(gv),Gv=["api","sdk","mcp","cli"],L8=A.enum(Gv),Rv=A.enum(["supported","deferred","unsupported"]),Yv=A.enum(["none","local-only","api-key","session","service-token","custom"]),eP=A.object({method:A.enum(["GET","POST","PUT","PATCH","DELETE"]),path:A.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:A.boolean().default(!1),description:A.string().min(1).optional()}).strict(),Qv=A.object({id:A.string().min(1),kind:A.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),evidenceRef:T_.optional(),status:A.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),Kv=A.object({name:A.string().min(1),kind:L8.optional(),status:Rv,bin:A.string().min(1).optional(),mcpBin:A.string().min(1).optional(),authMode:Yv,health:eP.optional(),readiness:eP.optional(),version:eP.optional(),apiBasePath:A.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:A.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:A.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:A.string().min(1).optional(),readinessGates:A.array(Qv).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),Tv=["sqlite","postgres"],W8=A.enum(Tv),J8=["sqlite","postgres"],Fv=A.enum(J8),Dz=["postgres"],Vv=A.object({kind:L8,reason:A.string().trim().min(1)}).strict(),Lz=500,Wz=200,QN=(_)=>A.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),Bv=["domain","host","ip","email"],Mv=A.object({kind:A.enum(Bv),reason:QN(Lz),reviewedBy:QN(Wz),expiresAt:M_}).strict(),Zv=A.object({engine:A.enum(Dz),reason:QN(Lz),reviewedBy:QN(Wz).optional(),expiresAt:M_.optional()}).strict();function Hv(_){if(_.class!=="cli-with-store")return`storage waivers are not permitted for class ${_.class}`;if(_.bins.includes(`${_.name}-serve`))return`storage waivers are not permitted for a service-capable cli-with-store repo shipping ${_.name}-serve`;if(_.storageMode==="postgres")return"storage waivers are not permitted while storage.mode is postgres, which reads and writes PostgreSQL directly";if(_.hosting.includes("hasna-saas"))return"storage waivers are not permitted for a repo declaring the hasna-saas product story";return null}var bv=A.object({conformance:A.object({waivedSurfaces:A.array(Vv).default([]),waiverProfile:A.literal("non-node-monorepo").optional(),waivedStorageEngines:A.array(Zv).default([]),waivedAssetInventories:A.array(Mv).default([])}).catchall(A.unknown()).optional(),release:A.object({artifactScan:A.object({script:A.string().trim().min(1)}).strict().optional()}).catchall(A.unknown()).optional()}).catchall(A.unknown()),qv=A.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),kv=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Cv(_){return kv.map(($)=>`${_}${$}`)}function f9(_){return`hasna/oss/${_}/database-url`}var vv=A.object({mode:W8,engines:A.array(Fv).min(1).optional(),envPrefix:A.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:A.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:A.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:A.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:A.object({envVar:A.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:A.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA__DATABASE_URL contract",path:["envPrefix"]})}),P8=A.enum(["0600"]),z8=A.enum(["0700"]),g8=A.enum([".hasna",".codewith"]),wv=A.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),LD=R$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),rv=A.object({id:A.string().min(1),source:A.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:A.string().min(1).optional(),column:A.string().min(1).optional(),description:A.string().min(1),required:A.boolean().default(!0)}).strict(),fv=A.object({safeWhen:A.enum(["exclusive_access","offline_only","never"]),operations:A.array(A.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),xv=A.object({id:A.string().min(1),description:A.string().min(1),ttlDays:A.number().int().nonnegative().optional(),artifactClasses:A.array(wv).min(1),allowlistGlobs:A.array(LD).min(1),activeRecordExclusions:A.array(rv).default([]),sqliteMaintenance:fv.optional()}).strict(),uv=A.object({storeId:A.string().regex(/^[a-z][a-z0-9-]*$/),packageName:A.string().min(1),displayName:A.string().min(1),root:g8,relativePath:LD,directoryMode:z8.default("0700"),fileMode:P8.default("0600"),sqliteDatabaseGlobs:A.array(LD).default([]),sensitiveFileGlobs:A.array(LD).default([]),backupGlobs:A.array(LD).default([]),exportGlobs:A.array(LD).default([]),retentionAdapters:A.array(xv).default([]),notes:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:A.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let D=new Set;for(let[I,U]of _.retentionAdapters.entries()){if(D.has(U.id))$.addIssue({code:A.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",I,"id"]});D.add(U.id)}}),X8=J_(y.secureLocalStorePolicy).extend({version:A.string().min(1),scope:A.array(g8).min(1),defaults:A.object({directoryMode:z8.default("0700"),fileMode:P8.default("0600"),dryRunDefault:A.literal(!0),requireExplicitApply:A.literal(!0),includeSqliteSidecars:A.literal(!0),redactedEvidenceOnly:A.literal(!0)}).strict(),stores:A.array(uv).min(1),lifecycle:A.object({retentionDryRunDefault:A.literal(!0),requireActiveRecordExclusionProof:A.literal(!0),requireArtifactAllowlist:A.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:A.literal(!0)}).strict(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let D=new Set;for(let[I,U]of _.stores.entries()){if(D.has(U.storeId))$.addIssue({code:A.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",I,"storeId"]});if(D.add(U.storeId),!_.scope.includes(U.root))$.addIssue({code:A.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",I,"root"]})}}),yv=A.object({$schema:A.string().min(1).optional(),schema:A.literal(y.serviceContract),name:qv,class:zv,contractVersion:A.literal(Pv),kitVersion:A.string().min(1),description:A.string().min(1).optional(),bins:A.array(A.string().min(1)).default([]),storage:vv.optional(),hosting:A.array(Xv).min(1).default(["user-hosted"]),serviceSurfaces:A.array(Kv).default([]),metadata:bv.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:A.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let D=new Set(Cv(_.name)),I=new Set;for(let[S,L]of _.bins.entries()){if(I.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",S]});if(I.add(L),!D.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:`Bin "${L}" is not allowlisted for app "${_.name}"; allowed: ${[...D].join(", ")}`,path:["bins",S]})}let U=(S)=>I.has(`${_.name}${S}`);if(_.storage){let S=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${S}_`)$.addIssue({code:A.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${S}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==f9(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${f9(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(U("-serve")||U("-mcp"))$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:A.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let S=new Set(_.storage.engines),L=_.metadata?.conformance?.waivedStorageEngines??[],W=Hv({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),g=new Set(W?[]:L.map((G)=>G.engine)),z=J8.filter((G)=>!S.has(G)&&!g.has(G));if(z.length>0){let G=W&&L.length>0?`; declared waiver ignored: ${W}`:"";$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${z.join(", ")}${G}`,path:["storage","engines"]})}}}if(!I.has(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:A.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!U("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!U("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[S,L]of _.serviceSurfaces.entries()){if(L.bin&&!I.has(L.bin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface bin "${L.bin}" must be declared in bins`,path:["serviceSurfaces",S,"bin"]});if(L.mcpBin&&!I.has(L.mcpBin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface MCP bin "${L.mcpBin}" must be declared in bins`,path:["serviceSurfaces",S,"mcpBin"]})}let E=_.metadata?.conformance?.waivedSurfaces??[],j=new Set;for(let[S,L]of E.entries()){if(j.has(L.kind))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${L.kind}`,path:["metadata","conformance","waivedSurfaces",S,"kind"]});j.add(L.kind)}let N=_.metadata?.conformance?.waivedStorageEngines??[],O=new Set;for(let[S,L]of N.entries()){if(O.has(L.engine))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${L.engine}`,path:["metadata","conformance","waivedStorageEngines",S,"engine"]});O.add(L.engine)}}),Lm=A.object({status:A.enum(["ok","degraded","unavailable"]),version:A.string().min(1),mode:W8}).strict(),Wm=A.object({ready:A.boolean(),reason:A.string().min(1).optional()}).strict(),Jm=A.object({version:A.string().min(1)}).strict(),hv=A.enum(["info","notice","breaking","critical"]),cv=A.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 (..)"),nv=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],dv=A.enum(nv);var mv=A.enum(["fleet","package","machine"]),G8=J_(y.commsEventEnvelope).extend({type:cv,severity:hv,scope:mv,summary:A.string().min(1).optional(),source:e$.optional(),affected_packages:A.array(e).default([]),affected_machines:A.array(e).default([]),action_required:A.boolean().default(!1),ack_by:M_.optional(),dedupe_key:e,resourceRefs:A.array(__).default([]),evidenceRefs:A.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),lv=A.enum(["fleet","package","product","loop-lane","initiative","personal"]),iv=A.enum(["quiet","work","firehose"]),tv=e.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:)"),ov=J_(y.commsChannelMetadata).extend({class:lv,noise:iv.optional(),owner:e.optional(),until:tv.optional(),successor:e.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),x9={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}},pv=J_(y.commsMessageMetadata).extend({tag:dv,envelope:G8}).strict().superRefine((_,$)=>{let D=x9[_.tag];if(!D.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${D.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(D.requiredEventType&&_.envelope.type!==D.requiredEventType)$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${D.requiredEventType}`,path:["envelope","type"]});for(let[I,U]of Object.entries(x9))if(U.requiredEventType===_.envelope.type&&_.tag!==I)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${I}] tag`,path:["tag"]})});var ev={[y.actorRef]:Kk,[y.resourceRef]:Tk,[y.evidenceRef]:Vk,[y.workRun]:wC,[y.taskToPrProjection]:Lv,[y.decisionEnvelope]:s9,[y.costEstimate]:H1,[y.capabilityCard]:Mk,[y.providerLiveModeStandard]:Ck,[y.contextPack]:_8,[y.integrationRef]:$8,[y.projectManifest]:xk,[y.projectPanel]:D8,[y.projectSnapshot]:tk,[y.renderManifest]:ck,[y.agentTrajectory]:Jv,[y.validationPlan]:ok,[y.proofBundle]:vC,[y.scaffoldManifest]:DC,[y.scaffoldInstallRecord]:IC,[y.appCloudManifest]:E8,[y.noCloudEvidencePack]:kC,[y.secureLocalStorePolicy]:X8,[y.serviceContract]:yv,[y.commsEventEnvelope]:G8,[y.commsChannelMetadata]:ov,[y.commsMessageMetadata]:pv,[y.app]:WC,[y.release]:PC,[y.rolloutRecord]:XC,[y.announcement]:QC,[y.audience]:MC};class R8 extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function Y8(_,$){let I=ev[_].safeParse($);if(!I.success)throw new R8(_,I.error.issues);return I.data}var Pm=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var Jz=[{pattern:"@hasna/cloud",kind:"module",message:"Shared @hasna/cloud runtime reference is forbidden"},{pattern:"open-cloud",kind:"module",message:"Shared open-cloud runtime reference is forbidden"},{pattern:"cloud-mcp",kind:"module",message:"Legacy cloud-mcp runtime surface is forbidden"},{pattern:"registerCloudTools",kind:"symbol",message:"Legacy registerCloudTools runtime surface is forbidden"},{pattern:"registerCloudCommands",kind:"symbol",message:"Legacy registerCloudCommands runtime surface is forbidden"},{pattern:".hasna/cloud",kind:"config",checkKind:"runtime_config",message:"Legacy .hasna/cloud runtime config is forbidden"},{pattern:"HASNA_CLOUD_",kind:"config",message:"Shared HASNA_CLOUD_* runtime config is forbidden"},{pattern:"HASNA_RDS_PASSWORD",kind:"config",message:"Legacy shared RDS credential config is forbidden"}],zm=Jz.filter((_)=>("checkKind"in _)),av=Jz.filter((_)=>_.kind==="module"),gm=[...new Set([...XN,...av.map((_)=>_.pattern)])],Xm=Jz.filter((_)=>_.kind==="config");var u9="^[^\\u0000-\\u001f\\u007f]*$",Gm={$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. Hosting story, product surfaces, and storage capabilities are separate declarations; the storage backend (sqlite | postgres) is the only runtime switch.",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],allOf:[{if:{required:["class"],properties:{class:{const:"saas"}}},then:{required:["storage"],properties:{storage:{required:["mode","envPrefix"],properties:{mode:{const:"postgres"}}}}}}],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:y.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: , -cli, -mcp, -serve, -worker, -runner, -daemon, -migrate, -doctor."},hosting:{type:"array",items:{enum:["user-hosted","hasna-saas"]},minItems:1,uniqueItems:!0,description:"Customer-facing product stories. Public OSS cores include user-hosted; add hasna-saas only when a managed control plane exists."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode"],allOf:[{if:{required:["status"],properties:{status:{const:"supported"},kind:{const:"api"}}},then:{required:["bin","health","readiness","version"]}}],properties:{name:{type:"string",minLength:1},kind:{enum:["api","sdk","mcp","cli"]},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"]},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},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:{const:"GET"},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:{const:"GET"},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_./:-]*$"},exportSubpath:{type:"string",pattern:"^\\.(?:\\/[A-Za-z0-9_.-]+(?:\\/[A-Za-z0-9_.-]+)*)?$",description:"SDK package export key such as . or ./sdk."},generatedFrom:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$",description:"OpenAPI path used to generate the SDK."},clientClassName:{type:"string",pattern:"^[A-Za-z_$][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 API, SDK, MCP, and CLI product surfaces. Legacy entries without kind remain parseable; new manifests declare kind explicitly."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["sqlite","postgres"],description:"Active data backend. sqlite|postgres ONLY \u2014 the single runtime switch."},engines:{type:"array",items:{enum:["sqlite","postgres"]},minItems:1,uniqueItems:!0,description:"Supported storage engines; capability metadata independent of the active backend."},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:"Legacy/private-tier database secret ref. Public conformance rejects this field."},sqlitePath:{type:"string",pattern:"\\.db$",description:"Local sqlite path (~/.hasna//.db)."},pgTestGate:{type:"object",additionalProperties:!1,required:["envVar","command"],properties:{envVar:{type:"string",pattern:"^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$"},command:{type:"string",minLength:1}},description:"Environment-gated live PostgreSQL test command."}}},metadata:{type:"object",additionalProperties:!0,properties:{conformance:{type:"object",additionalProperties:!0,properties:{waiverProfile:{const:"non-node-monorepo",description:"Explicit surface-waiver eligibility for exceptional non-Node monorepos. Libraries are eligible for API/MCP waivers without this profile."},waivedSurfaces:{type:"array",uniqueItems:!0,items:{type:"object",additionalProperties:!1,required:["kind","reason"],properties:{kind:{enum:["api","sdk","mcp","cli"]},reason:{type:"string",minLength:1}}}},waivedStorageEngines:{type:"array",uniqueItems:!0,maxItems:Dz.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...Dz]},reason:{type:"string",minLength:1,maxLength:Lz,allOf:[{pattern:"\\S"},{pattern:u9}]},reviewedBy:{type:"string",minLength:1,maxLength:Wz,allOf:[{pattern:"\\S"},{pattern:u9}]},expiresAt:{type:"string",format:"date-time"}}},description:"Explicit storage-engine exceptions, at most one per engine. Only a CLI-only cli-with-store repo (no -serve bin, storage.mode sqlite, no hasna-saas story) may waive postgres; sqlite is never waivable, expiresAt is a UTC RFC 3339 timestamp, and conformance stops honouring a waiver once it has passed."}}}}}}};var sv="2026-07-06";function t$(_,$,D,I,U,E=[],j){return{id:_,description:$,ttlDays:D,artifactClasses:I,allowlistGlobs:U,activeRecordExclusions:E.map((N)=>({...N,required:N.required??!0})),sqliteMaintenance:j}}var Rm=X8.parse({schema:y.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:sv,scope:[".hasna",".codewith"],defaults:{directoryMode:"0700",fileMode:"0600",dryRunDefault:!0,requireExplicitApply:!0,includeSqliteSidecars:!0,redactedEvidenceOnly:!0},lifecycle:{retentionDryRunDefault:!0,requireActiveRecordExclusionProof:!0,requireArtifactAllowlist:!0,sqliteMaintenanceRequiresExclusiveAccess:!0},stores:[{storeId:"codewith",packageName:"codewith",displayName:"Codewith native state",root:".codewith",relativePath:".",sqliteDatabaseGlobs:["logs_*.sqlite","state_*.sqlite","goals_*.sqlite"],sensitiveFileGlobs:["sessions/**/*.jsonl","shell_snapshots/**/*","logs*.sqlite","state*.sqlite","goals*.sqlite"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[t$("codewith-session-snapshots","Codewith sessions, shell snapshots, logs, monitor output, mailbox payloads, and scheduler state need package-owned redaction before retention applies.",30,["session","snapshot","log"],["sessions/**/*.jsonl","shell_snapshots/**/*","logs/**/*"],[{id:"codewith-active-session",source:"package_adapter",description:"Exclude currently active sessions, leased schedules, monitors, pending interactions, and active goal rows."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})],notes:["Includes native .codewith DBs and transcript-like artifacts; redaction-before-persistence remains package-owned."]},{storeId:"todos",packageName:"@hasna/todos",displayName:"Todos",root:".hasna",relativePath:"todos",sqliteDatabaseGlobs:["todos.db"],sensitiveFileGlobs:["todos.db","todos.db-wal","todos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak","*.backup"],exportGlobs:["exports/**/*","*.jsonl","*.csv"],retentionAdapters:[t$("todos-exports-backups","Todos backups and exports are deleted only after package redaction and active task/evidence references are excluded.",14,["backup","export"],["backups/**/*","exports/**/*"],[{id:"todos-active-evidence",source:"sqlite",table:"task_files",column:"path",description:"Exclude files still referenced by active tasks, verification evidence, task comments, or handoff records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"conversations",packageName:"@hasna/conversations",displayName:"Conversations",root:".hasna",relativePath:"conversations",sqliteDatabaseGlobs:["messages.db"],sensitiveFileGlobs:["messages.db","messages.db-wal","messages.db-shm","exports/**/*","attachments/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*","*.json","*.csv"],retentionAdapters:[t$("conversations-exports-attachments","Conversation exports and attachments require message-id redaction and active attachment reference checks before deletion.",14,["export","backup"],["exports/**/*","backups/**/*","attachments/**/*"],[{id:"conversations-active-attachments",source:"sqlite",table:"messages",column:"attachments",description:"Exclude attachments still referenced by retained messages or audited redaction records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"mementos",packageName:"@hasna/mementos",displayName:"Mementos",root:".hasna",relativePath:"mementos",sqliteDatabaseGlobs:["mementos.db"],sensitiveFileGlobs:["mementos.db","mementos.db-wal","mementos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*"],retentionAdapters:[t$("mementos-audit-search-history","Mementos retention must preserve active memory versions while compacting audit/search surfaces through package-owned adapters.",30,["backup","export","log"],["backups/**/*","exports/**/*","audit/**/*"],[{id:"mementos-active-memory-versions",source:"sqlite",table:"memory_versions",column:"memory_id",description:"Exclude current memory versions and audit entries required for provenance."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"knowledge",packageName:"@hasna/knowledge",displayName:"Knowledge",root:".hasna",relativePath:"knowledge",sqliteDatabaseGlobs:["knowledge.db"],sensitiveFileGlobs:["knowledge.db","knowledge.db-wal","knowledge.db-shm","db.json","migration-exports/**/*","*.bak"],backupGlobs:["*.bak","backups/**/*","*.pre-cloud-*"],exportGlobs:["migration-exports/**/*","exports/**/*","*.jsonl"],retentionAdapters:[t$("knowledge-migrations-exports","Knowledge migration exports and pre-cloud backups require replacement, encryption, or redaction before retention deletion.",14,["backup","export"],["migration-exports/**/*","exports/**/*","*.bak","*.pre-cloud-*"],[{id:"knowledge-current-catalog",source:"manifest",description:"Exclude files referenced by the active catalog or migration ledger."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"projects",packageName:"@hasna/projects",displayName:"Projects",root:".hasna",relativePath:"projects",sqliteDatabaseGlobs:["projects.db","data/*/project.db"],sensitiveFileGlobs:["projects.db","projects.db-wal","projects.db-shm","data/*/project.db","data/*/project.db-wal","data/*/project.db-shm","reports/**/*"],backupGlobs:["backups/**/*","data/*/backups/**/*"],exportGlobs:["reports/**/*","exports/**/*"],retentionAdapters:[t$("projects-reports-workspaces","Project reports, dashboards, workspaces, and per-project DBs need active workspace/location references before cleanup.",30,["backup","export","report","tmp"],["backups/**/*","reports/**/*","workspaces/**/*","data/*/backups/**/*"],[{id:"projects-active-workspaces",source:"sqlite",table:"workspaces",column:"primary_path",description:"Exclude active workspace paths, locations, linked reports, and project store artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"browser",packageName:"@hasna/browser",displayName:"Browser",root:".hasna",relativePath:"browser",sqliteDatabaseGlobs:["browser.db"],sensitiveFileGlobs:["browser.db","browser.db-wal","browser.db-shm","profiles/**/cookies.json","states/**/*.json","auth/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*","traces/**/*","har/**/*"],retentionAdapters:[t$("browser-auth-traces","Browser state, trace, HAR, and auth artifacts require session invalidation or redaction before deletion.",7,["backup","export","session","snapshot"],["profiles/**/*","states/**/*","traces/**/*","har/**/*","exports/**/*"],[{id:"browser-active-profiles",source:"sqlite",table:"sessions",column:"profile_path",description:"Exclude profiles, cookies, and storage state used by active browser sessions."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"terminal",packageName:"@hasna/terminal",displayName:"Terminal",root:".hasna",relativePath:"terminal",sqliteDatabaseGlobs:["sessions.db"],sensitiveFileGlobs:["sessions.db","sessions.db-wal","sessions.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[t$("terminal-sessions","Terminal sessions and interactions need active session exclusion plus command-output redaction before retention.",30,["backup","export","session","log"],["backups/**/*","exports/**/*","sessions/**/*"],[{id:"terminal-active-sessions",source:"sqlite",table:"sessions",column:"id",description:"Exclude active terminal session records and any linked interaction artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"logs",packageName:"@hasna/logs",displayName:"Logs",root:".hasna",relativePath:"logs",sqliteDatabaseGlobs:["logs.db"],sensitiveFileGlobs:["logs.db","logs.db-wal","logs.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[t$("logs-retention","Logs require redaction before compaction and must preserve active incident/evidence references.",14,["backup","export","log"],["backups/**/*","exports/**/*","*.log","logs/**/*"],[{id:"logs-active-evidence",source:"sqlite",table:"logs",column:"id",description:"Exclude log rows or files linked to active incidents, tasks, or proof bundles."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"loops",packageName:"@hasna/loops",displayName:"OpenLoops",root:".hasna",relativePath:"loops",sqliteDatabaseGlobs:["loops.db","state.db","*.sqlite"],sensitiveFileGlobs:["*.db","*.sqlite","*.db-wal","*.db-shm","reports/**/*","tmp/**/*","runs/**/*"],backupGlobs:["backups/**/*","tmp/**/*"],exportGlobs:["reports/**/*","runs/**/*","exports/**/*"],retentionAdapters:[t$("loops-reports-tmp","Loop reports, tmp files, workflow artifacts, and command output need run-state checks and redaction before retention deletion.",14,["backup","export","report","tmp","log"],["reports/**/*","tmp/**/*","runs/**/*","exports/**/*"],[{id:"loops-active-runs",source:"sqlite",table:"loop_runs",column:"id",description:"Exclude active, leased, recently failed, or evidence-linked loop and workflow run artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]}],warnings:["This package publishes declarations only; each owning package implements and verifies its own local-store lifecycle.","Retention and redaction evidence remain package-owned and must preserve active-record exclusions.","SQLite maintenance is descriptive policy metadata only and is never executed by @hasna/contracts."]});var _w=64,Ym=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${_w-1}}$`),OD="[0-9a-fA-F]",Qm=new RegExp(`^\\{?(?:${OD}{8}-${OD}{4}-${OD}{4}-${OD}{4}-${OD}{12}|${OD}{32})\\}?$`);var $w=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var Km=new RegExp($w.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var Q8="@hasna/knowledge";function Dw(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Uw(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function b1(_,$=180){let D=String(_??"").replace(/\s+/g," ").trim();if(D.length<=$)return D;return`${D.slice(0,Math.max(0,$-3))}...`}function w_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function q1(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function bD(_){if(typeof _!=="string"||_.length===0)return;let $=_.includes("T")?_:`${_.replace(" ","T")}Z`,D=new Date($);return Number.isNaN(D.valueOf())?void 0:D.toISOString()}function VN(_){return r$.safeParse(_).success}function f$(_,$,D,I,U=[]){return{kind:_,id:$,name:D,uri:I&&VN(I)?I:void 0,externalId:$,sourcePackage:Q8,tags:U}}function Iw(_){return[..._.items.flatMap((D)=>[D.updated_at,D.created_at]),..._.sources.flatMap((D)=>[D.updated_at,D.created_at]),..._.chunks.map((D)=>D.created_at),..._.wiki_pages.flatMap((D)=>[D.updated_at,D.created_at]),..._.storage_objects.flatMap((D)=>[D.updated_at,D.created_at]),..._.runs.flatMap((D)=>[D.updated_at,D.created_at]),..._.reindex_queue.flatMap((D)=>[D.updated_at,D.created_at]),..._.sync_conflicts.map((D)=>D.created_at),..._.approval_gates.flatMap((D)=>[D.updated_at,D.created_at])].map(bD).filter(Boolean).sort((D,I)=>I.localeCompare(D))[0]}function Ew(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function jw(_){let $=(D)=>{let I=String(D??"").toLowerCase();return I!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(I)};return _.reindex_queue.filter((D)=>$(D.status)).length+_.sync_conflicts.filter((D)=>$(D.status)).length+_.approval_gates.filter((D)=>$(D.status)).length}function Nw(_,$){let D=[];for(let I of _.items.slice(0,$))D.push({id:`item_${I.id}`,title:I.title,summary:b1(I.content_preview),status:I.archived?"archived":"active",priority:"medium",timestamp:bD(I.updated_at??I.created_at),resourceRefs:[f$("knowledge",I.id,I.title,`knowledge://item/${encodeURIComponent(I.id)}`,I.tags)],evidenceRefs:I.url&&VN(I.url)?[{id:`url_${I.id}`,kind:"url",uri:I.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:I.archived,tags:I.tags,url:I.url||void 0}});for(let I of _.sources.slice(0,Math.max(0,$-D.length))){let U=w_(I.id,w_(I.uri,"source")),E=w_(I.title,w_(I.uri,U)),j=w_(I.uri,`knowledge://source/${encodeURIComponent(U)}`);D.push({id:`source_${U}`,title:E,summary:b1(`${q1(I.chunks)} chunk(s), ${q1(I.revisions)} revision(s)`),status:q1(I.chunks)>0?"indexed":"source",priority:"medium",timestamp:bD(I.updated_at??I.created_at),resourceRefs:[f$("document",U,E,j)],evidenceRefs:VN(j)?[{id:`source_${U}`,kind:"url",uri:j,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:I.kind,chunks:q1(I.chunks),revisions:q1(I.revisions)}})}for(let I of _.chunks.slice(0,Math.max(0,$-D.length))){let U=w_(I.id,"chunk"),E=w_(I.source_uri);D.push({id:`chunk_${U}`,title:w_(I.wiki_title,E?`Chunk from ${E}`:`Knowledge chunk ${U}`),summary:b1(I.text_preview),status:"chunk",priority:"low",timestamp:bD(I.created_at),resourceRefs:[f$("context_pack",U,w_(I.wiki_title,U),`knowledge://chunk/${encodeURIComponent(U)}`)],evidenceRefs:E&&VN(E)?[{id:`chunk_source_${U}`,kind:"url",uri:E,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:E||void 0,token_count:I.token_count,ordinal:I.ordinal}})}for(let I of _.sync_conflicts.slice(0,Math.max(0,$-D.length))){let U=w_(I.id,"sync_conflict");D.push({id:`sync_conflict_${U}`,title:`Sync conflict: ${w_(I.entity_kind,"entity")}/${w_(I.entity_id,U)}`,summary:b1(`Status ${w_(I.status,"unknown")}; strategy ${w_(I.resolution_strategy,"none")}.`),status:w_(I.status,"unknown"),priority:"critical",timestamp:bD(I.created_at),resourceRefs:[f$("finding",U,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(U)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:I.local_machine_id,remote_machine_id:I.remote_machine_id}})}for(let I of _.reindex_queue.slice(0,Math.max(0,$-D.length))){let U=w_(I.id,"reindex");D.push({id:`reindex_${U}`,title:`Reindex ${w_(I.kind,"item")}: ${w_(I.target_id,U)}`,summary:b1(I.reason),status:w_(I.status,"unknown"),priority:w_(I.status).toLowerCase()==="failed"?"high":"medium",timestamp:bD(I.updated_at??I.created_at),resourceRefs:[f$("action",U,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(U)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:I.attempts,source_uri:I.source_uri}})}return D.slice(0,$)}async function K8(_,$={}){let D=Dw($.limit),I=new Date().toISOString(),U=Uw(_),j=await($.service??gN({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:D,storePath:$.storePath,includeArchived:$.includeArchived}),N=Iw(j),O=Ew(N),S=j.summary.active_items+j.summary.sources+j.summary.chunks+j.summary.wiki_pages+j.summary.storage_objects,L=jw(j),W=S===0?"empty":O==="stale"?"stale":"ready",g=Nw(j,D),z={schema:y.projectPanel,id:`knowledge_panel_${U}`,createdAt:I,projectId:U,provider:{kind:"knowledge",id:`knowledge_${U}`,name:"Knowledge",sourcePackage:Q8,externalId:j.home},kind:"knowledge",title:"Knowledge",summary:W==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${j.summary.active_items} active note(s), ${j.summary.sources} source(s), ${j.summary.chunks} chunk(s), and ${j.summary.wiki_pages} wiki page(s).`,state:W,stateReason:W==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:I,freshness:O,metrics:[{id:"active_items",label:"Active notes",value:j.summary.active_items,status:j.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:j.summary.sources,status:j.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:j.summary.chunks,status:j.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:j.summary.wiki_pages,status:j.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:j.summary.storage_objects,status:j.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:j.summary.vector_entries,status:j.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:L,status:L>0?"warning":"good"}],items:g,actions:[f$("action","knowledge:inventory","Inspect knowledge inventory"),f$("action","knowledge:context-pack","Build cited context pack"),f$("action","knowledge:ingest","Ingest project source")],resourceRefs:[f$("project",U,_,`project://${U}`),f$("knowledge",`home_${U}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(U)}`),f$("artifact",`db_${U}`,"Knowledge database",`knowledge://db/${encodeURIComponent(U)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:D}},metadata:{scope:j.scope,home:j.home,json_store_exists:j.paths.json_store_exists,latest_activity_at:N}};return Y8(y.projectPanel,z)}function T8(_){let $=[`${_.title}: ${_.state}`,_.summary??"",..._.metrics.map((D)=>`${D.label}: ${D.value}`)].filter(Boolean);if(_.items.length>0){$.push("Items:");for(let D of _.items.slice(0,10))if($.push(`- ${D.title}${D.status?` [${D.status}]`:""}`),D.summary)$.push(` ${D.summary}`)}return $.join(` -`)}var B8=["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 M8="HASNA_KNOWLEDGE_STORAGE_MODE",Z8="KNOWLEDGE_STORAGE_MODE";function F8(_){return process.env[_]?.trim()||void 0}function V8(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function Aw(_={}){let $=S0(x1(_.scope,_.cwd).home);return c($.knowledgeDbPath),{db:w($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function H8(){let _=V8(F8(M8))??V8(F8(Z8));if(_)return _;return"sqlite"}function Pz(_={}){let $=Aw(_);try{Ow($.db);let D=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:H8(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:B8,sync:D}}finally{$.db.close()}}function Ow(_){_.exec(` + `,[U]).map(IC),x={legacy_items:D.items.length,active_items:N.length,archived_items:D.items.length-N.length,schema_version:W.schema_version,sources:W.sources,source_revisions:W.source_revisions,chunks:W.chunks,wiki_pages:W.wiki_pages,citations:W.citations,indexes:W.indexes,runs:W.runs,run_events:W.run_events,storage_objects:W.storage_objects,embeddings:W.embeddings,vector_entries:W.vector_entries,reindex_queue:W.reindex_queue,redaction_findings:W.redaction_findings,audit_events:W.audit_events,approval_gates:W.approval_gates,knowledge_machines:W.knowledge_machines,sync_snapshots:W.sync_snapshots,sync_changes:W.sync_changes,sync_conflicts:W.sync_conflicts,sync_table_clocks:W.sync_table_clocks,sync_imports:W.sync_imports,promotion_candidates:W.promotion_candidates,durable_records:W.durable_records};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:x,legacy_store:{path:j,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:N.length,archived_items:D.items.length-N.length,items_returned:Math.min(E.length,U)},items:E.slice(0,U).map(DQ),sources:L,source_revisions:S,chunks:X,wiki_pages:z,indexes:R,storage_objects:P,runs:O,vector_indexes:Y,reindex_queue:Q,machines:B,sync_conflicts:G,approval_gates:T,audit_events:F,promotion_candidates:g,durable_records:q,message:`${D.items.length} item(s), ${W.sources} source(s), ${W.chunks} chunk(s), ${W.wiki_pages} wiki page(s), ${W.storage_objects} artifact(s)`}}finally{J.close()}}assertAppWikiWrite(_){AD({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return J5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return L5({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(!R_($.knowledgeDbPath))return[];return S5({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!R_(U.knowledgeDbPath))return null;return P5({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return O5({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();c(_.knowledgeDbPath);let $=await kR(this.artifactStore()),U=v(_.knowledgeDbPath);try{X6(U,$.artifacts),CR(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return MR({..._,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 ZR({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return HR({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return N5({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return gj({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return XR({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let U=this.ensureWorkspace();return Bj({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return ZY({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!R_($.knowledgeDbPath))return SC();return NR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return pO({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return ER({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return Q5(this.config(),_)}modelRegistry(){return NA(this.config())}embeddingStatus(){let _=this.workspace;if(!R_(_.knowledgeDbPath))return PC();return K5(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return Hj({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return o$()}cloudStore(){let _=ID();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return _}async fetchCloudItems(){return zj(this.cloudStore())}async semanticSearch(_){let $=this.workspace;if(this.isApiMode())throw new vI;if(!R_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return qj({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new vI;let j=await this.cloudStore().search({query:_.query,archive:"active",limit:_.limit,offset:_.offset});return SA(j.items,_,[],j.total)}let U=Rz(this.scope,$,_.legacyStorePath);if(!R_($.knowledgeDbPath)){if(R_(U))return wj({..._,legacyStorePath:U,config:this.config()});return zQ(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return bj({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let j=await this.search(_);return Q6(j,{contextChars:_.contextChars})}let U=Rz(this.scope,$,_.legacyStorePath);if(!R_($.knowledgeDbPath)){if(R_(U)){let j=await wj({..._,legacyStorePath:U,config:this.config()});return Q6(j,{contextChars:_.contextChars})}return JC(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return y0({..._,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.search({..._,query:j}),N=Q6(D,{contextChars:_.contextChars});return EQ(_,N,this.safetyPolicy())}return IQ(_)}let U=Rz(this.scope,$,_.legacyStorePath);if(!R_($.knowledgeDbPath)){let j=(_.query??_.topic??"").trim();if(j&&_.source!=="loops"&&_.source!=="runs"&&R_(U)){let D=await wj({..._,query:j,legacyStorePath:U,config:this.config()}),N=Q6(D,{contextChars:_.contextChars});return EQ(_,N,this.safetyPolicy())}return IQ(_)}return $9({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new vI;let j=await this.cloudStore().search({query:_.prompt,archive:"active",limit:_.limit,offset:_.offset}),D=SA(j.items,{query:_.prompt,limit:_.limit,offset:_.offset,semantic:!1},[],j.total);return l5(j.items.map((N)=>N.item),{..._,config:this.config()},D)}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)$D(U);return d5({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return GR({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return mY({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return lY({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!R_(_.knowledgeDbPath))return OC({scope:this.scope,workspaceHome:_.home});return F9({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.syncStatus(),j=this.storageContract(),D=this.validateStorage(),N=zC($.knowledgeDbPath,j),E=_.machine?.trim()||null,I=_.peerWorkspace?.trim()||null,W=[],J=null,L=null;if(E&&!LQ(E)){let P=await dO({machineId:E,includeTailscale:_.includeTailscale});J=Yz(P),W.push(...P.warnings)}if(E||I){let P=await TI({machineId:E??Xz($),peerWorkspace:I,includeTailscale:_.includeTailscale});if(E&&!I&&(J?.source==="raw"||!P.ok||!P.project_root)){let O=eR($.knowledgeDbPath,E);if(O){if(J?.source==="raw"&&O.ssh_target)J=Yz(sR(O,E,{target:J.target,route:J.route,targetKind:J.target_kind,confidence:J.confidence,source:J.source,adapter:J.adapter,evidence:J.evidence,cacheability:J.cacheability,warnings:[]}));if(!P.ok||!P.project_root){let Y=_Q(O,E,P);if(Y)L=v1(Y,Y.project_root),W.push(...Y.warnings)}}}L=P.ok&&P.project_root?v1(P,P.project_root):L??{...v1(P,I??""),project_root:P.project_root??I??""},W.push(...P.warnings)}if(!D.ok)W.push(...D.errors.map((P)=>`storage:${P}`));let S=DC($.knowledgeDbPath,L);if(!S.ok)W.push("open_files_boundary_raw_payload_sentinels");if(!N.ok)W.push(...N.warnings);let X=L?.diagnostics.filter((P)=>P.severity==="fail")??[],z=D.ok&&N.ok&&S.ok&&X.length===0&&(L?.project_root!==""||!L),R=YC({scope:this.scope,machine:E,peerWorkspace:I,tables:_.tables,resolvedWorkspace:L,openConflicts:U.conflicts.open});return{ok:z,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:N},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:S,resolved_route:J,resolved_workspace:L,recommended_commands:R,warnings:[...new Set(W)],message:z?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(W)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.storageContract(),j=Bz(U),D=XC($.knowledgeDbPath,U),N=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:N,approval_required:!1,storage_type:U.storage_type,storage_prefix:j,candidates:D,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if(_.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:j,candidates:D,repaired:0,audit_event_id:null,message:`Would repair ${D.length} legacy S3 artifact manifest key(s)`};if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:j,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let E=v($.knowledgeDbPath);try{let I=new Date().toISOString();E.transaction((L)=>{let S=E.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),X=E.query("SELECT id, metadata_json FROM storage_objects").all(),z=new Map(X.map((R)=>[R.id,E0(R.metadata_json)]));for(let R of L){let P=z.get(R.id)??{};P.key=R.repaired_key,S.run(JSON.stringify(P),I,R.id)}})(D);let J=G_(E,{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((L)=>L.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:J,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{E.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return B9({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!R_($.knowledgeDbPath))return[];return K9($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=dj($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return RD($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return gY({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=RD($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by "};let j=Z9($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let N=G_(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:N,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!R_(_.knowledgeDbPath))return[];return MA(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),c($.knowledgeDbPath),YD({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"),c($.knowledgeDbPath),nj({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();c(j.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],N=_.includeArtifactContent===!1?["--no-artifact-content"]:[],E=["--scope",this.scope,"--json"],I=await dO({machineId:_.machine,includeTailscale:_.includeTailscale}),W=await TI({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&I.source==="raw"||!W.ok||!W.project_root){let z=eR(j.knowledgeDbPath,_.machine);if(z){if(!_.peerWorkspace&&I.source==="raw"&&z.ssh_target)I=sR(z,_.machine,I);if(!W.ok||!W.project_root){let R=_Q(z,_.machine,W);if(R)W=R}}}if(!W.ok||!W.project_root)throw Error([`Unable to resolve peer workspace for ${_.machine}.`,"Pass --peer-workspace or configure workspace path mapping in machines.",W.warnings.length?`Warnings: ${W.warnings.join(", ")}`:null].filter(Boolean).join(" "));let J=W.project_root,L={ok:!0,dry_run:U,direction:$,transport:"ssh",machine:_.machine,resolved_machine:I.target,resolved_route:Yz(I),resolved_workspace:v1(W,W.project_root),peer_workspace:J,message:""},S=!1,X=()=>{if(U||S)return;G9(j.knowledgeDbPath,{machineId:_.machine,route:I,workspace:W}),S=!0};if($==="pull"||$==="both"){let z=aR(J,["sync","export",...E,...D,...N]),R=AQ(_.machine,z,void 0,I),P=WQ(_.machine,"sync export",R);QC(_.machine,P),L.pull=await this.importSyncBundle({bundle:P,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){X();let z=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),R=aR(J,["sync","import",...E,...U?["--dry-run"]:[]]),P=WQ(_.machine,"sync import",AQ(_.machine,R,JSON.stringify(z),I));GC(_.machine,P),L.push=P}return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),X(),L.message=[$Q(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}async syncPeer(_){let $=_.direction??"both",U=this.ensureWorkspace();c(U.knowledgeDbPath);let j=JQ(_.peerWorkspace),D=ok(j);c(D.knowledgeDbPath);let N=O2(D.configPath),E=Gj(N,D,this.scope),I=n2(N,D),W=_.machineId??Xz(U),J=Xz(D),L=await TI({machineId:_.machineId??J,peerWorkspace:j,includeTailscale:!1}),S=()=>YD({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:W,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),X=()=>YD({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:E,machineId:J,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),z={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:v1(L,L.project_root??j),message:""};if($==="pull"||$==="both")z.pull=await nj({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:X(),targetBundle:S(),direction:"pull",dryRun:_.dryRun,localMachineId:W});if($==="push"||$==="both")z.push=await nj({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:E,targetStore:I,bundle:S(),targetBundle:X(),direction:"push",dryRun:_.dryRun,localMachineId:J});return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),z.message=[$Q(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}}function xI(_={}){return new XQ(_)}import{createHash as YQ}from"crypto";var VC=Object.defineProperty,BC=(_)=>_;function FC(_,$){this[_]=BC.bind(null,$)}var KC=(_,$)=>{for(var U in $)VC(_,U,{get:$[U],enumerable:!0,configurable:!0,set:FC.bind($,U)})},A={};KC(A,{void:()=>Wb,util:()=>I_,unknown:()=>Ib,union:()=>Pb,undefined:()=>jb,tuple:()=>Xb,transformer:()=>GQ,symbol:()=>Db,string:()=>wQ,strictObject:()=>Sb,setErrorMap:()=>ZC,set:()=>Qb,record:()=>Yb,quotelessJson:()=>gC,promise:()=>Kb,preprocess:()=>Zb,pipeline:()=>Hb,ostring:()=>qb,optional:()=>gb,onumber:()=>kb,oboolean:()=>Cb,objectUtil:()=>gz,object:()=>Lb,number:()=>vQ,nullable:()=>Mb,null:()=>Nb,never:()=>Ab,nativeEnum:()=>Fb,nan:()=>_b,map:()=>Rb,makeIssue:()=>hI,literal:()=>Vb,lazy:()=>Tb,late:()=>eC,isValid:()=>I0,isDirty:()=>Zz,isAsync:()=>u1,isAborted:()=>Mz,intersection:()=>zb,instanceof:()=>sC,getParsedType:()=>k6,getErrorMap:()=>uI,function:()=>Gb,enum:()=>Bb,effect:()=>GQ,discriminatedUnion:()=>Ob,defaultErrorMap:()=>MU,datetimeRegex:()=>kQ,date:()=>Ub,custom:()=>bQ,coerce:()=>bb,boolean:()=>fQ,bigint:()=>$b,array:()=>Jb,any:()=>Eb,addIssueToContext:()=>u,ZodVoid:()=>r1,ZodUnknown:()=>I4,ZodUnion:()=>kU,ZodUndefined:()=>HU,ZodType:()=>$_,ZodTuple:()=>j6,ZodTransformer:()=>H$,ZodSymbol:()=>h1,ZodString:()=>h$,ZodSet:()=>J0,ZodSchema:()=>$_,ZodRecord:()=>c1,ZodReadonly:()=>yU,ZodPromise:()=>L0,ZodPipeline:()=>d1,ZodParsedType:()=>r,ZodOptional:()=>c$,ZodObject:()=>b_,ZodNumber:()=>A4,ZodNullable:()=>C6,ZodNull:()=>qU,ZodNever:()=>D6,ZodNativeEnum:()=>vU,ZodNaN:()=>n1,ZodMap:()=>m1,ZodLiteral:()=>wU,ZodLazy:()=>bU,ZodIssueCode:()=>b,ZodIntersection:()=>CU,ZodFunction:()=>KU,ZodFirstPartyTypeKind:()=>t,ZodError:()=>R$,ZodEnum:()=>J4,ZodEffects:()=>H$,ZodDiscriminatedUnion:()=>mI,ZodDefault:()=>fU,ZodDate:()=>A0,ZodCatch:()=>xU,ZodBranded:()=>nI,ZodBoolean:()=>ZU,ZodBigInt:()=>W4,ZodArray:()=>r$,ZodAny:()=>W0,Schema:()=>$_,ParseStatus:()=>e_,OK:()=>N$,NEVER:()=>wb,INVALID:()=>i,EMPTY_PATH:()=>HC,DIRTY:()=>FU,BRAND:()=>aC});var I_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let N={};for(let E of D)N[E]=E;return N},_.getValidEnumValues=(D)=>{let N=_.objectKeys(D).filter((I)=>typeof D[D[I]]!=="number"),E={};for(let I of N)E[I]=D[I];return _.objectValues(E)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(N){return D[N]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let N=[];for(let E in D)if(Object.prototype.hasOwnProperty.call(D,E))N.push(E);return N},_.find=(D,N)=>{for(let E of D)if(N(E))return E;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function j(D,N=" | "){return D.map((E)=>typeof E==="string"?`'${E}'`:E).join(N)}_.joinValues=j,_.jsonStringifyReplacer=(D,N)=>{if(typeof N==="bigint")return N.toString();return N}})(I_||(I_={}));var gz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(gz||(gz={}));var r=I_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),k6=(_)=>{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}},b=I_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),gC=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class R$ 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 N of D.issues)if(N.code==="invalid_union")N.unionErrors.map(j);else if(N.code==="invalid_return_type")j(N.returnTypeError);else if(N.code==="invalid_arguments")j(N.argumentsError);else if(N.path.length===0)U._errors.push($(N));else{let E=U,I=0;while(I$.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()}}R$.create=(_)=>{return new R$(_)};var MC=(_,$)=>{let U;switch(_.code){case b.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case b.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,I_.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:U=`Unrecognized key(s) in object: ${I_.joinValues(_.keys,", ")}`;break;case b.invalid_union:U="Invalid input";break;case b.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I_.joinValues(_.options)}`;break;case b.invalid_enum_value:U=`Invalid enum value. Expected ${I_.joinValues(_.options)}, received '${_.received}'`;break;case b.invalid_arguments:U="Invalid function arguments";break;case b.invalid_return_type:U="Invalid function return type";break;case b.invalid_date:U="Invalid date";break;case b.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else I_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case b.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 b.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 b.custom:U="Invalid input";break;case b.invalid_intersection_types:U="Intersection results could not be merged";break;case b.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case b.not_finite:U="Number must be finite";break;default:U=$.defaultError,I_.assertNever(_)}return{message:U}},MU=MC,ZQ=MU;function ZC(_){ZQ=_}function uI(){return ZQ}var hI=(_)=>{let{data:$,path:U,errorMaps:j,issueData:D}=_,N=[...U,...D.path||[]],E={...D,path:N};if(D.message!==void 0)return{...D,path:N,message:D.message};let I="",W=j.filter((J)=>!!J).slice().reverse();for(let J of W)I=J(E,{data:$,defaultError:I}).message;return{...D,path:N,message:I}},HC=[];function u(_,$){let U=uI(),j=hI({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===MU?void 0:MU].filter((D)=>!!D)});_.common.issues.push(j)}class e_{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 i;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,N=await j.value;U.push({key:D,value:N})}return e_.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let j of $){let{key:D,value:N}=j;if(D.status==="aborted")return i;if(N.status==="aborted")return i;if(D.status==="dirty")_.dirty();if(N.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof N.value<"u"||j.alwaysSet))U[D.value]=N.value}return{status:_.value,value:U}}}var i=Object.freeze({status:"aborted"}),FU=(_)=>({status:"dirty",value:_}),N$=(_)=>({status:"valid",value:_}),Mz=(_)=>_.status==="aborted",Zz=(_)=>_.status==="dirty",I0=(_)=>_.status==="valid",u1=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class m${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 RQ=(_,$)=>{if(I0($))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 R$(_.common.issues);return this._error=U,this._error}}}};function s(_){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:(E,I)=>{let{message:W}=_;if(E.code==="invalid_enum_value")return{message:W??I.defaultError};if(typeof I.data>"u")return{message:W??j??I.defaultError};if(E.code!=="invalid_type")return{message:I.defaultError};return{message:W??U??I.defaultError}},description:D}}class $_{get description(){return this._def.description}_getType(_){return k6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:k6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new e_,ctx:{common:_.parent.common,data:_.data,parsedType:k6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(u1($))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:k6(_)},j=this._parseSync({data:_,path:U.path,parent:U});return RQ(U,j)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:k6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return I0(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)=>I0(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:k6(_)},j=this._parse({data:_,path:U.path,parent:U}),D=await(u1(j)?j:Promise.resolve(j));return RQ(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 N=_(j),E=()=>D.addIssue({code:b.custom,...U(j)});if(typeof Promise<"u"&&N instanceof Promise)return N.then((I)=>{if(!I)return E(),!1;else return!0});if(!N)return E(),!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 H$({schema:this,typeName:t.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 c$.create(this,this._def)}nullable(){return C6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return r$.create(this)}promise(){return L0.create(this,this._def)}or(_){return kU.create([this,_],this._def)}and(_){return CU.create(this,_,this._def)}transform(_){return new H$({...s(this._def),schema:this,typeName:t.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new fU({...s(this._def),innerType:this,defaultValue:$,typeName:t.ZodDefault})}brand(){return new nI({typeName:t.ZodBranded,type:this,...s(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new xU({...s(this._def),innerType:this,catchValue:$,typeName:t.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return d1.create(this,_)}readonly(){return yU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var qC=/^c[^\s-]{8,}$/i,kC=/^[0-9a-z]+$/,CC=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bC=/^[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,wC=/^[a-z0-9_-]{21}$/i,vC=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fC=/^[-+]?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)?)??$/,xC=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,yC="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Fz,uC=/^(?:(?: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])$/,hC=/^(?:(?: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])$/,rC=/^(([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]))$/,cC=/^(([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])$/,mC=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nC=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,HQ="((\\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])))",dC=new RegExp(`^${HQ}$`);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 lC(_){return new RegExp(`^${qQ(_)}$`)}function kQ(_){let $=`${HQ}T${qQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function iC(_,$){if(($==="v4"||!$)&&uC.test(_))return!0;if(($==="v6"||!$)&&rC.test(_))return!0;return!1}function tC(_,$){if(!vC.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 oC(_,$){if(($==="v4"||!$)&&hC.test(_))return!0;if(($==="v6"||!$)&&cC.test(_))return!0;return!1}class h$ extends $_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return u(D,{code:b.invalid_type,expected:r.string,received:D.parsedType}),i}let U=new e_,j=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)j=this._getOrReturnCtx(_,j),u(j,{code:b.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="length"){let N=_.data.length>D.value,E=_.data.length_.test(j),{validation:$,code:b.invalid_string,...n.errToObj(U)})}_addCheck(_){return new h$({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...n.errToObj(_)})}url(_){return this._addCheck({kind:"url",...n.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...n.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...n.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...n.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...n.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...n.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...n.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...n.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...n.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...n.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...n.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...n.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,...n.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,...n.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...n.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...n.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...n.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...n.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...n.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...n.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...n.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...n.errToObj($)})}nonempty(_){return this.min(1,n.errToObj(_))}trim(){return new h$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new h$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new h$({...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 _}}h$.create=(_)=>{return new h$({checks:[],typeName:t.ZodString,coerce:_?.coerce??!1,...s(_)})};function pC(_,$){let U=(_.toString().split(".")[1]||"").length,j=($.toString().split(".")[1]||"").length,D=U>j?U:j,N=Number.parseInt(_.toFixed(D).replace(".","")),E=Number.parseInt($.toFixed(D).replace(".",""));return N%E/10**D}class A4 extends $_{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 u(D,{code:b.invalid_type,expected:r.number,received:D.parsedType}),i}let U=void 0,j=new e_;for(let D of this._def.checks)if(D.kind==="int"){if(!I_.isInteger(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:b.invalid_type,expected:"integer",received:"float",message:D.message}),j.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:b.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),j.dirty()}else if(D.kind==="multipleOf"){if(pC(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),u(U,{code:b.not_multiple_of,multipleOf:D.value,message:D.message}),j.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:b.not_finite,message:D.message}),j.dirty()}else I_.assertNever(D);return{status:j.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,j){return new A4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(j)}]})}_addCheck(_){return new A4({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:n.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.toString($)})}finite(_){return this._addCheck({kind:"finite",message:n.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:n.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:n.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&I_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if($===null||U.value>$)$=U.value}else if(U.kind==="max"){if(_===null||U.value<_)_=U.value}return Number.isFinite($)&&Number.isFinite(_)}}A4.create=(_)=>{return new A4({checks:[],typeName:t.ZodNumber,coerce:_?.coerce||!1,...s(_)})};class W4 extends $_{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 e_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:b.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),u(U,{code:b.not_multiple_of,multipleOf:D.value,message:D.message}),j.dirty()}else I_.assertNever(D);return{status:j.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:b.invalid_type,expected:r.bigint,received:$.parsedType}),i}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,j){return new W4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(j)}]})}_addCheck(_){return new W4({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.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 _}}W4.create=(_)=>{return new W4({checks:[],typeName:t.ZodBigInt,coerce:_?.coerce??!1,...s(_)})};class ZU extends $_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.boolean,received:U.parsedType}),i}return N$(_.data)}}ZU.create=(_)=>{return new ZU({typeName:t.ZodBoolean,coerce:_?.coerce||!1,...s(_)})};class A0 extends $_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==r.date){let D=this._getOrReturnCtx(_);return u(D,{code:b.invalid_type,expected:r.date,received:D.parsedType}),i}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:b.invalid_date}),i}let U=new e_,j=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)j=this._getOrReturnCtx(_,j),u(j,{code:b.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else I_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new A0({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:n.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:n.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}}A0.create=(_)=>{return new A0({checks:[],coerce:_?.coerce||!1,typeName:t.ZodDate,...s(_)})};class h1 extends $_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.symbol,received:U.parsedType}),i}return N$(_.data)}}h1.create=(_)=>{return new h1({typeName:t.ZodSymbol,...s(_)})};class HU extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.undefined,received:U.parsedType}),i}return N$(_.data)}}HU.create=(_)=>{return new HU({typeName:t.ZodUndefined,...s(_)})};class qU extends $_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.null,received:U.parsedType}),i}return N$(_.data)}}qU.create=(_)=>{return new qU({typeName:t.ZodNull,...s(_)})};class W0 extends $_{constructor(){super(...arguments);this._any=!0}_parse(_){return N$(_.data)}}W0.create=(_)=>{return new W0({typeName:t.ZodAny,...s(_)})};class I4 extends $_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return N$(_.data)}}I4.create=(_)=>{return new I4({typeName:t.ZodUnknown,...s(_)})};class D6 extends $_{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:b.invalid_type,expected:r.never,received:$.parsedType}),i}}D6.create=(_)=>{return new D6({typeName:t.ZodNever,...s(_)})};class r1 extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.void,received:U.parsedType}),i}return N$(_.data)}}r1.create=(_)=>{return new r1({typeName:t.ZodVoid,...s(_)})};class r$ extends $_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),j=this._def;if($.parsedType!==r.array)return u($,{code:b.invalid_type,expected:r.array,received:$.parsedType}),i;if(j.exactLength!==null){let N=$.data.length>j.exactLength.value,E=$.data.lengthj.maxLength.value)u($,{code:b.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((N,E)=>{return j.type._parseAsync(new m$($,N,$.path,E))})).then((N)=>{return e_.mergeArray(U,N)});let D=[...$.data].map((N,E)=>{return j.type._parseSync(new m$($,N,$.path,E))});return e_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new r$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new r$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new r$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}r$.create=(_,$)=>{return new r$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:t.ZodArray,...s($)})};function VU(_){if(_ instanceof b_){let $={};for(let U in _.shape){let j=_.shape[U];$[U]=c$.create(VU(j))}return new b_({..._._def,shape:()=>$})}else if(_ instanceof r$)return new r$({..._._def,type:VU(_.element)});else if(_ instanceof c$)return c$.create(VU(_.unwrap()));else if(_ instanceof C6)return C6.create(VU(_.unwrap()));else if(_ instanceof j6)return j6.create(_.items.map(($)=>VU($)));else return _}class b_ extends $_{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=I_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==r.object){let W=this._getOrReturnCtx(_);return u(W,{code:b.invalid_type,expected:r.object,received:W.parsedType}),i}let{status:U,ctx:j}=this._processInputParams(_),{shape:D,keys:N}=this._getCached(),E=[];if(!(this._def.catchall instanceof D6&&this._def.unknownKeys==="strip")){for(let W in j.data)if(!N.includes(W))E.push(W)}let I=[];for(let W of N){let J=D[W],L=j.data[W];I.push({key:{status:"valid",value:W},value:J._parse(new m$(j,L,j.path,W)),alwaysSet:W in j.data})}if(this._def.catchall instanceof D6){let W=this._def.unknownKeys;if(W==="passthrough")for(let J of E)I.push({key:{status:"valid",value:J},value:{status:"valid",value:j.data[J]}});else if(W==="strict"){if(E.length>0)u(j,{code:b.unrecognized_keys,keys:E}),U.dirty()}else if(W==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let J of E){let L=j.data[J];I.push({key:{status:"valid",value:J},value:W._parse(new m$(j,L,j.path,J)),alwaysSet:J in j.data})}}if(j.common.async)return Promise.resolve().then(async()=>{let W=[];for(let J of I){let L=await J.key,S=await J.value;W.push({key:L,value:S,alwaysSet:J.alwaysSet})}return W}).then((W)=>{return e_.mergeObjectSync(U,W)});else return e_.mergeObjectSync(U,I)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new b_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let j=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??j};return{message:j}}}:{}})}strip(){return new b_({...this._def,unknownKeys:"strip"})}passthrough(){return new b_({...this._def,unknownKeys:"passthrough"})}extend(_){return new b_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new b_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:t.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new b_({...this._def,catchall:_})}pick(_){let $={};for(let U of I_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new b_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of I_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new b_({...this._def,shape:()=>$})}deepPartial(){return VU(this)}partial(_){let $={};for(let U of I_.objectKeys(this.shape)){let j=this.shape[U];if(_&&!_[U])$[U]=j;else $[U]=j.optional()}return new b_({...this._def,shape:()=>$})}required(_){let $={};for(let U of I_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof c$)D=D._def.innerType;$[U]=D}return new b_({...this._def,shape:()=>$})}keyof(){return CQ(I_.objectKeys(this.shape))}}b_.create=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strip",catchall:D6.create(),typeName:t.ZodObject,...s($)})};b_.strictCreate=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strict",catchall:D6.create(),typeName:t.ZodObject,...s($)})};b_.lazycreate=(_,$)=>{return new b_({shape:_,unknownKeys:"strip",catchall:D6.create(),typeName:t.ZodObject,...s($)})};class kU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function j(D){for(let E of D)if(E.result.status==="valid")return E.result;for(let E of D)if(E.result.status==="dirty")return $.common.issues.push(...E.ctx.common.issues),E.result;let N=D.map((E)=>new R$(E.ctx.common.issues));return u($,{code:b.invalid_union,unionErrors:N}),i}if($.common.async)return Promise.all(U.map(async(D)=>{let N={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:N}),ctx:N}})).then(j);else{let D=void 0,N=[];for(let I of U){let W={...$,common:{...$.common,issues:[]},parent:null},J=I._parseSync({data:$.data,path:$.path,parent:W});if(J.status==="valid")return J;else if(J.status==="dirty"&&!D)D={result:J,ctx:W};if(W.common.issues.length)N.push(W.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let E=N.map((I)=>new R$(I));return u($,{code:b.invalid_union,unionErrors:E}),i}}get options(){return this._def.options}}kU.create=(_,$)=>{return new kU({options:_,typeName:t.ZodUnion,...s($)})};var q6=(_)=>{if(_ instanceof bU)return q6(_.schema);else if(_ instanceof H$)return q6(_.innerType());else if(_ instanceof wU)return[_.value];else if(_ instanceof J4)return _.options;else if(_ instanceof vU)return I_.objectValues(_.enum);else if(_ instanceof fU)return q6(_._def.innerType);else if(_ instanceof HU)return[void 0];else if(_ instanceof qU)return[null];else if(_ instanceof c$)return[void 0,...q6(_.unwrap())];else if(_ instanceof C6)return[null,...q6(_.unwrap())];else if(_ instanceof nI)return q6(_.unwrap());else if(_ instanceof yU)return q6(_.unwrap());else if(_ instanceof xU)return q6(_._def.innerType);else return[]};class mI extends $_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return u($,{code:b.invalid_type,expected:r.object,received:$.parsedType}),i;let U=this.discriminator,j=$.data[U],D=this.optionsMap.get(j);if(!D)return u($,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),i;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 N=q6(D.shape[_]);if(!N.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let E of N){if(j.has(E))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(E)}`);j.set(E,D)}}return new mI({typeName:t.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:j,...s(U)})}}function Hz(_,$){let U=k6(_),j=k6($);if(_===$)return{valid:!0,data:_};else if(U===r.object&&j===r.object){let D=I_.objectKeys($),N=I_.objectKeys(_).filter((I)=>D.indexOf(I)!==-1),E={..._,...$};for(let I of N){let W=Hz(_[I],$[I]);if(!W.valid)return{valid:!1};E[I]=W.data}return{valid:!0,data:E}}else if(U===r.array&&j===r.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let N=0;N<_.length;N++){let E=_[N],I=$[N],W=Hz(E,I);if(!W.valid)return{valid:!1};D.push(W.data)}return{valid:!0,data:D}}else if(U===r.date&&j===r.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class CU extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),j=(D,N)=>{if(Mz(D)||Mz(N))return i;let E=Hz(D.value,N.value);if(!E.valid)return u(U,{code:b.invalid_intersection_types}),i;if(Zz(D)||Zz(N))$.dirty();return{status:$.value,value:E.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,N])=>j(D,N));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}))}}CU.create=(_,$,U)=>{return new CU({left:_,right:$,typeName:t.ZodIntersection,...s(U)})};class j6 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return u(U,{code:b.invalid_type,expected:r.array,received:U.parsedType}),i;if(U.data.lengththis._def.items.length)u(U,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((N,E)=>{let I=this._def.items[E]||this._def.rest;if(!I)return null;return I._parse(new m$(U,N,U.path,E))}).filter((N)=>!!N);if(U.common.async)return Promise.all(D).then((N)=>{return e_.mergeArray($,N)});else return e_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new j6({...this._def,rest:_})}}j6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new j6({items:_,typeName:t.ZodTuple,rest:null,...s($)})};class c1 extends $_{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 u(U,{code:b.invalid_type,expected:r.object,received:U.parsedType}),i;let j=[],D=this._def.keyType,N=this._def.valueType;for(let E in U.data)j.push({key:D._parse(new m$(U,E,U.path,E)),value:N._parse(new m$(U,U.data[E],U.path,E)),alwaysSet:E in U.data});if(U.common.async)return e_.mergeObjectAsync($,j);else return e_.mergeObjectSync($,j)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof $_)return new c1({keyType:_,valueType:$,typeName:t.ZodRecord,...s(U)});return new c1({keyType:h$.create(),valueType:_,typeName:t.ZodRecord,...s($)})}}class m1 extends $_{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 u(U,{code:b.invalid_type,expected:r.map,received:U.parsedType}),i;let j=this._def.keyType,D=this._def.valueType,N=[...U.data.entries()].map(([E,I],W)=>{return{key:j._parse(new m$(U,E,U.path,[W,"key"])),value:D._parse(new m$(U,I,U.path,[W,"value"]))}});if(U.common.async){let E=new Map;return Promise.resolve().then(async()=>{for(let I of N){let W=await I.key,J=await I.value;if(W.status==="aborted"||J.status==="aborted")return i;if(W.status==="dirty"||J.status==="dirty")$.dirty();E.set(W.value,J.value)}return{status:$.value,value:E}})}else{let E=new Map;for(let I of N){let{key:W,value:J}=I;if(W.status==="aborted"||J.status==="aborted")return i;if(W.status==="dirty"||J.status==="dirty")$.dirty();E.set(W.value,J.value)}return{status:$.value,value:E}}}}m1.create=(_,$,U)=>{return new m1({valueType:$,keyType:_,typeName:t.ZodMap,...s(U)})};class J0 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.set)return u(U,{code:b.invalid_type,expected:r.set,received:U.parsedType}),i;let j=this._def;if(j.minSize!==null){if(U.data.sizej.maxSize.value)u(U,{code:b.too_big,maximum:j.maxSize.value,type:"set",inclusive:!0,exact:!1,message:j.maxSize.message}),$.dirty()}let D=this._def.valueType;function N(I){let W=new Set;for(let J of I){if(J.status==="aborted")return i;if(J.status==="dirty")$.dirty();W.add(J.value)}return{status:$.value,value:W}}let E=[...U.data.values()].map((I,W)=>D._parse(new m$(U,I,U.path,W)));if(U.common.async)return Promise.all(E).then((I)=>N(I));else return N(E)}min(_,$){return new J0({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new J0({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}J0.create=(_,$)=>{return new J0({valueType:_,minSize:null,maxSize:null,typeName:t.ZodSet,...s($)})};class KU extends $_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return u($,{code:b.invalid_type,expected:r.function,received:$.parsedType}),i;function U(E,I){return hI({data:E,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,uI(),MU].filter((W)=>!!W),issueData:{code:b.invalid_arguments,argumentsError:I}})}function j(E,I){return hI({data:E,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,uI(),MU].filter((W)=>!!W),issueData:{code:b.invalid_return_type,returnTypeError:I}})}let D={errorMap:$.common.contextualErrorMap},N=$.data;if(this._def.returns instanceof L0){let E=this;return N$(async function(...I){let W=new R$([]),J=await E._def.args.parseAsync(I,D).catch((X)=>{throw W.addIssue(U(I,X)),W}),L=await Reflect.apply(N,this,J);return await E._def.returns._def.type.parseAsync(L,D).catch((X)=>{throw W.addIssue(j(L,X)),W})})}else{let E=this;return N$(function(...I){let W=E._def.args.safeParse(I,D);if(!W.success)throw new R$([U(I,W.error)]);let J=Reflect.apply(N,this,W.data),L=E._def.returns.safeParse(J,D);if(!L.success)throw new R$([j(J,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new KU({...this._def,args:j6.create(_).rest(I4.create())})}returns(_){return new KU({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new KU({args:_?_:j6.create([]).rest(I4.create()),returns:$||I4.create(),typeName:t.ZodFunction,...s(U)})}}class bU extends $_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}bU.create=(_,$)=>{return new bU({getter:_,typeName:t.ZodLazy,...s($)})};class wU extends $_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:b.invalid_literal,expected:this._def.value}),i}return{status:"valid",value:_.data}}get value(){return this._def.value}}wU.create=(_,$)=>{return new wU({value:_,typeName:t.ZodLiteral,...s($)})};function CQ(_,$){return new J4({values:_,typeName:t.ZodEnum,...s($)})}class J4 extends $_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{expected:I_.joinValues(U),received:$.parsedType,code:b.invalid_type}),i}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{received:$.data,code:b.invalid_enum_value,options:U}),i}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 J4.create(_,{...this._def,...$})}exclude(_,$=this._def){return J4.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}J4.create=CQ;class vU extends $_{_parse(_){let $=I_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==r.string&&U.parsedType!==r.number){let j=I_.objectValues($);return u(U,{expected:I_.joinValues(j),received:U.parsedType,code:b.invalid_type}),i}if(!this._cache)this._cache=new Set(I_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let j=I_.objectValues($);return u(U,{received:U.data,code:b.invalid_enum_value,options:j}),i}return N$(_.data)}get enum(){return this._def.values}}vU.create=(_,$)=>{return new vU({values:_,typeName:t.ZodNativeEnum,...s($)})};class L0 extends $_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.promise&&$.common.async===!1)return u($,{code:b.invalid_type,expected:r.promise,received:$.parsedType}),i;let U=$.parsedType===r.promise?$.data:Promise.resolve($.data);return N$(U.then((j)=>{return this._def.type.parseAsync(j,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}L0.create=(_,$)=>{return new L0({type:_,typeName:t.ZodPromise,...s($)})};class H$ extends $_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===t.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),j=this._def.effect||null,D={addIssue:(N)=>{if(u(U,N),N.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),j.type==="preprocess"){let N=j.transform(U.data,D);if(U.common.async)return Promise.resolve(N).then(async(E)=>{if($.value==="aborted")return i;let I=await this._def.schema._parseAsync({data:E,path:U.path,parent:U});if(I.status==="aborted")return i;if(I.status==="dirty")return FU(I.value);if($.value==="dirty")return FU(I.value);return I});else{if($.value==="aborted")return i;let E=this._def.schema._parseSync({data:N,path:U.path,parent:U});if(E.status==="aborted")return i;if(E.status==="dirty")return FU(E.value);if($.value==="dirty")return FU(E.value);return E}}if(j.type==="refinement"){let N=(E)=>{let I=j.refinement(E,D);if(U.common.async)return Promise.resolve(I);if(I instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return E};if(U.common.async===!1){let E=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(E.status==="aborted")return i;if(E.status==="dirty")$.dirty();return N(E.value),{status:$.value,value:E.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((E)=>{if(E.status==="aborted")return i;if(E.status==="dirty")$.dirty();return N(E.value).then(()=>{return{status:$.value,value:E.value}})})}if(j.type==="transform")if(U.common.async===!1){let N=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!I0(N))return i;let E=j.transform(N.value,D);if(E instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:E}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((N)=>{if(!I0(N))return i;return Promise.resolve(j.transform(N.value,D)).then((E)=>({status:$.value,value:E}))});I_.assertNever(j)}}H$.create=(_,$,U)=>{return new H$({schema:_,typeName:t.ZodEffects,effect:$,...s(U)})};H$.createWithPreprocess=(_,$,U)=>{return new H$({schema:$,effect:{type:"preprocess",transform:_},typeName:t.ZodEffects,...s(U)})};class c$ extends $_{_parse(_){if(this._getType(_)===r.undefined)return N$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}c$.create=(_,$)=>{return new c$({innerType:_,typeName:t.ZodOptional,...s($)})};class C6 extends $_{_parse(_){if(this._getType(_)===r.null)return N$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}C6.create=(_,$)=>{return new C6({innerType:_,typeName:t.ZodNullable,...s($)})};class fU extends $_{_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}}fU.create=(_,$)=>{return new fU({innerType:_,typeName:t.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...s($)})};class xU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},j=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(u1(j))return j.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new R$(U.common.issues)},input:U.data})}});else return{status:"valid",value:j.status==="valid"?j.value:this._def.catchValue({get error(){return new R$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}xU.create=(_,$)=>{return new xU({innerType:_,typeName:t.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...s($)})};class n1 extends $_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.nan,received:U.parsedType}),i}return{status:"valid",value:_.data}}}n1.create=(_)=>{return new n1({typeName:t.ZodNaN,...s(_)})};var aC=Symbol("zod_brand");class nI extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class d1 extends $_{_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 i;if(D.status==="dirty")return $.dirty(),FU(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 i;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 d1({in:_,out:$,typeName:t.ZodPipeline})}}class yU extends $_{_parse(_){let $=this._def.innerType._parse(_),U=(j)=>{if(I0(j))j.value=Object.freeze(j.value);return j};return u1($)?$.then((j)=>U(j)):U($)}unwrap(){return this._def.innerType}}yU.create=(_,$)=>{return new yU({innerType:_,typeName:t.ZodReadonly,...s($)})};function QQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function bQ(_,$={},U){if(_)return W0.create().superRefine((j,D)=>{let N=_(j);if(N instanceof Promise)return N.then((E)=>{if(!E){let I=QQ($,j),W=I.fatal??U??!0;D.addIssue({code:"custom",...I,fatal:W})}});if(!N){let E=QQ($,j),I=E.fatal??U??!0;D.addIssue({code:"custom",...E,fatal:I})}return});return W0.create()}var eC={object:b_.lazycreate},t;(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"})(t||(t={}));var sC=(_,$={message:`Input not instance of ${_.name}`})=>bQ((U)=>U instanceof _,$),wQ=h$.create,vQ=A4.create,_b=n1.create,$b=W4.create,fQ=ZU.create,Ub=A0.create,Db=h1.create,jb=HU.create,Nb=qU.create,Eb=W0.create,Ib=I4.create,Ab=D6.create,Wb=r1.create,Jb=r$.create,Lb=b_.create,Sb=b_.strictCreate,Pb=kU.create,Ob=mI.create,zb=CU.create,Xb=j6.create,Yb=c1.create,Rb=m1.create,Qb=J0.create,Gb=KU.create,Tb=bU.create,Vb=wU.create,Bb=J4.create,Fb=vU.create,Kb=L0.create,GQ=H$.create,gb=c$.create,Mb=C6.create,Zb=H$.createWithPreprocess,Hb=d1.create,qb=()=>wQ().optional(),kb=()=>vQ().optional(),Cb=()=>fQ().optional(),bb={string:(_)=>h$.create({..._,coerce:!0}),number:(_)=>A4.create({..._,coerce:!0}),boolean:(_)=>ZU.create({..._,coerce:!0}),bigint:(_)=>W4.create({..._,coerce:!0}),date:(_)=>A0.create({..._,coerce:!0})},wb=i;var h={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",taskToPrProjection:"hasna.task_to_pr_projection.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",secureLocalStorePolicy:"hasna.secure_local_store_policy.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"},kz=A.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),H_=A.string().datetime(),a=A.string().trim().min(1),n$=a.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://"),xQ=A.string().regex(/^[a-fA-F0-9]{64}$/),yQ=A.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),L4=A.record(A.unknown()),rU=A.array(A.string().min(1)).default([]),S0=H_.nullable().optional(),vb=new Set(["succeeded","failed","cancelled","blocked","skipped"]),z0=A.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function O_(_){return A.object({schema:A.literal(_),id:A.string().min(1),createdAt:H_,updatedAt:S0,metadata:L4.optional()}).strict()}var il=A.object({schema:kz,id:A.string().min(1),createdAt:H_,updatedAt:S0,metadata:L4.optional()}).strict(),uQ=A.enum(["agent","human","service","model","workflow","system"]),fb=O_(h.actorRef).extend({kind:uQ,name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional(),capabilities:A.array(A.string().min(1)).default([])}).strict(),N6=A.object({kind:uQ,id:A.string().min(1),name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional()}).strict(),hQ=A.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"]),xb=O_(h.resourceRef).extend({kind:hQ,name:A.string().min(1).optional(),uri:n$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:rU}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),__=A.object({kind:hQ,id:A.string().min(1),name:A.string().min(1).optional(),uri:n$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:rU}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),Cz=A.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),yb=A.enum(["none","partial","full","unknown"]),ub=O_(h.evidenceRef).extend({kind:Cz,uri:n$,sha256:xQ.optional(),summary:A.string().min(1).optional(),contentType:A.string().min(1).optional(),sizeBytes:A.number().int().nonnegative().optional(),redaction:yb.default("unknown"),producer:N6.optional(),resourceRefs:A.array(__).default([]),tags:rU}).strict(),F_=A.object({id:A.string().min(1),kind:Cz.optional(),uri:n$.optional(),sha256:xQ.optional(),summary:A.string().min(1).optional()}).strict(),l1=O_(h.costEstimate).extend({currency:A.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:A.number().int().nonnegative(),provider:A.string().min(1).optional(),model:A.string().min(1).optional(),accountId:A.string().min(1).optional(),promptTokens:A.number().int().nonnegative().optional(),completionTokens:A.number().int().nonnegative().optional(),totalTokens:A.number().int().nonnegative().optional(),basis:A.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:A.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),hb=A.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),rQ=O_(h.decisionEnvelope).extend({decisionType:A.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:hb,actor:N6.optional(),traceId:A.string().min(1).optional(),inputHash:yQ.optional(),policyBundleId:A.string().min(1).optional(),selected:A.array(__).default([]),skipped:A.array(__).default([]),reason:A.string().min(1),obligations:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),costEstimate:l1.optional(),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),rb=O_(h.capabilityCard).extend({kind:A.enum(["model","tool","machine","agent","lane","connector","service"]),name:A.string().min(1),version:A.string().min(1).optional(),status:A.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:A.array(A.string().min(1)).default([]),limitations:A.array(A.string().min(1)).default([]),riskLevel:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:l1.optional(),evidenceRefs:A.array(F_).default([])}).strict(),uU=A.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),cb=A.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"]),mb=A.object({refName:a,requiredForModes:A.array(uU).min(1),allowedSecretInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:a,revocationCheck:A.boolean().default(!0)}).strict(),nb=A.object({operation:a,supportedModes:A.array(uU).min(1),sideEffectClass:cb,requiresApproval:A.boolean().default(!1),requiresIdempotencyKey:A.boolean().default(!1),requiresSandboxEvidence:A.boolean().default(!1),requiresRollbackOrRevocation:A.boolean().default(!1),rollbackOrRevocation:a.optional(),noSideEffectSmoke:a.optional(),reconciliation:a.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),db=A.object({providerId:a,appId:a,adapterId:a,ownerPackage:a,modes:A.array(uU).min(1),defaultMode:uU,credentialRequirements:A.array(mb).default([]),operations:A.array(nb).min(1),rateLimitPosture:a,costPosture:a.optional(),auditEvents:A.array(a).default([]),redactionRules:A.array(a).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:A.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:A.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:A.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),lb=A.object({appId:a,repo:a,priority:A.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:A.array(a).min(1),firstOperations:A.array(a).min(1),blockedUntil:A.array(a).default([])}).strict(),ib=O_(h.providerLiveModeStandard).extend({name:a,version:a,modes:A.array(uU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:A.array(a).min(1),liveMutationGate:A.object({requiredMode:A.literal("live_mutating"),requiredChecks:A.array(a).min(1),forbiddenBypassSignals:A.array(a).min(1),disabledLiveSmoke:a}).strict(),noSideEffectSmoke:A.object({requiredForModes:A.array(uU).min(1),commandEvidence:A.array(a).min(1),secretOutputScan:A.boolean().default(!0)}).strict(),credentialPolicy:A.object({acceptedInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:A.literal(!1),missingCredentialBehavior:A.literal("fail_closed"),revocationCheckRequired:A.boolean().default(!0)}).strict(),operationCards:A.array(db).min(1),firstAdoptionTargets:A.array(lb).min(1),evidenceRefs:A.array(F_).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:A.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),tb=A.object({id:A.string().min(1),title:A.string().min(1).optional(),summary:A.string().min(1),text:A.string().optional(),tokens:A.number().int().nonnegative().optional(),source:F_,resourceRefs:A.array(__).default([])}).strict(),cQ=O_(h.contextPack).extend({objective:A.string().min(1),budget:A.object({maxTokens:A.number().int().positive().optional(),maxBytes:A.number().int().positive().optional()}).strict().optional(),items:A.array(tb).default([]),citations:A.array(F_).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),permissions:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),conflicts:A.array(A.string().min(1)).default([]),uncertainty:A.string().min(1).optional()}).strict(),M$=a.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),P0=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),ob=A.enum(["public","internal","private","sensitive"]),pb=A.enum(["draft","active","paused","archived"]),bz=A.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),mQ=O_(h.integrationRef).extend({kind:bz,name:A.string().min(1),projectId:P0.optional(),sourcePackage:a.optional(),externalId:a.optional(),uri:n$.optional(),enabled:A.boolean().default(!0),readOnly:A.boolean().default(!0),capabilities:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:__.optional(),evidenceRefs:A.array(F_).default([]),config:L4.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),ab=A.object({schemaRoot:M$.default(".hasna/project"),dashboardManifest:M$.default(".hasna/project/dashboard.render.json"),snapshotsDir:M$.default(".hasna/project/snapshots"),documentsDir:M$.default("documents"),reportsDir:M$.default("reports"),evidenceDir:M$.default(".hasna/project/evidence"),privateDir:M$.default(".hasna/project/private")}).strict(),eb=O_(h.projectManifest).extend({projectId:P0,slug:P0,name:A.string().min(1),summary:A.string().min(1).optional(),status:pb.default("active"),classification:ob.default("private"),owner:N6.optional(),layout:ab.default({}),integrations:A.array(mQ).default([]),renderManifests:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),tags:rU}).strict().superRefine((_,$)=>{let U=new Set,j=new Set;if(_.projectId!==_.slug)$.addIssue({code:A.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,N]of _.integrations.entries()){if(U.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(U.add(N.id),N.projectId&&N.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,N]of _.renderManifests.entries()){if(N.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(j.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});j.add(N.id)}}),sb=A.enum(["local","package","provider","url"]),wz=A.object({id:A.string().min(1),kind:sb,specifier:A.string().min(1),path:M$.optional(),packageName:A.string().min(1).optional(),uri:n$.optional(),provider:bz.optional(),schemaId:kz.optional(),integrity:yQ.optional(),resourceRef:__.optional(),optional:A.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:A.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:A.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:A.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),_w=A.enum(["dashboard","canvas","panel","report","document","custom"]),$w=A.object({id:A.string().min(1),title:A.string().min(1),kind:_w,default:A.boolean().default(!1),entry:M$.optional(),imports:A.array(wz).default([]),panelRefs:A.array(__).default([]),dataRefs:A.array(__).default([]),layout:L4.optional()}).strict(),Uw=O_(h.renderManifest).extend({projectId:P0,name:A.string().min(1),version:A.string().min(1),manifestPath:M$.default(".hasna/project/dashboard.render.json"),renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:A.array($w).min(1),imports:A.array(wz).default([]),theme:L4.optional(),compatibility:A.object({minProjectsVersion:A.string().min(1).optional(),minContractsVersion:A.string().min(1).optional()}).strict().optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((N)=>N.default),j=new Set,D=new Set;if(U.length>1)$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[N,E]of _.imports.entries()){if(D.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",N,"id"]});D.add(E.id)}for(let[N,E]of _.views.entries()){if(j.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",N,"id"]});j.add(E.id);let I=new Set;for(let[W,J]of E.imports.entries()){if(I.has(J.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",N,"imports",W,"id"]});I.add(J.id)}for(let[W,J]of E.panelRefs.entries())if(J.kind!=="panel")$.addIssue({code:A.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",N,"panelRefs",W,"kind"]})}}),Dw=A.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),jw=A.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Nw=A.object({id:A.string().min(1),label:A.string().min(1),value:A.union([A.string(),A.number(),A.boolean()]),unit:A.string().min(1).optional(),status:A.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:A.array(__).default([])}).strict(),Ew=A.object({id:A.string().min(1),title:A.string().min(1),summary:A.string().min(1).optional(),status:A.string().min(1).optional(),priority:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:H_.optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),metadata:L4.optional()}).strict(),Iw=A.object({renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:A.string().min(1).optional(),entry:M$.optional(),imports:A.array(wz).default([]),spec:L4.default({})}).strict(),nQ=O_(h.projectPanel).extend({projectId:P0,provider:A.object({kind:bz,id:A.string().min(1),name:A.string().min(1).optional(),sourcePackage:a.optional(),externalId:a.optional()}).strict(),kind:jw,title:A.string().min(1),summary:A.string().min(1).optional(),state:Dw.default("ready"),stateReason:A.string().min(1).optional(),generatedAt:H_,freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),metrics:A.array(Nw).default([]),items:A.array(Ew).default([]),actions:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),renderFragment:Iw.optional(),warnings:A.array(A.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:A.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:A.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[N,E]of _.metrics.entries()){if(j.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",N,"id"]});j.add(E.id)}for(let[N,E]of _.items.entries()){if(D.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",N,"id"]});D.add(E.id)}for(let[N,E]of _.actions.entries())if(E.kind!=="action")$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",N,"kind"]})}),Aw=O_(h.projectSnapshot).extend({projectId:P0,generatedAt:H_,status:z0.default("unknown"),manifestRef:__,renderManifestRef:__.optional(),panels:A.array(nQ).default([]),contextPacks:A.array(cQ).default([]),proofBundleRefs:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),warnings:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,j=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,N]of _.proofBundleRefs.entries())if(N.kind!=="proof_bundle")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,N]of _.panels.entries()){if(N.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});U.add(N.id)}for(let[D,N]of _.contextPacks.entries()){if(j.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});j.add(N.id)}}),dQ=A.object({id:A.string().min(1),kind:A.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),expected:A.string().min(1).optional(),timeoutMs:A.number().int().positive().optional(),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:A.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Ww=O_(h.validationPlan).extend({objective:A.string().min(1),subject:__.optional(),checks:A.array(dQ).min(1),verifier:N6.optional(),requiredEvidenceKinds:A.array(Cz).default([])}).strict(),Jw=A.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Lw=A.enum(["draft","active","deprecated","archived"]),Sw=A.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"]),Pw=A.object({key:A.string().regex(/^[A-Z][A-Z0-9_]*$/),description:A.string().min(1),required:A.boolean().default(!1),["secret"]:A.boolean().default(!1),group:A.string().min(1).optional(),default:A.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Ow=A.object({name:A.string().min(1),command:A.string().min(1),description:A.string().min(1).optional(),required:A.boolean().default(!1)}).strict(),zw=A.object({packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:A.array(A.string().min(1)).default([]),requiredFiles:A.array(A.string().min(1)).default([]),requiredDirectories:A.array(A.string().min(1)).default([]),optionalDirectories:A.array(A.string().min(1)).default([])}).strict(),Xw=O_(h.scaffoldManifest).extend({name:A.string().min(1),version:A.string().min(1),summary:A.string().min(1),type:Jw,status:Lw.default("draft"),capabilities:A.array(Sw).default([]),techStack:A.array(A.string().min(1)).default([]),tags:rU,source:__.optional(),output:zw,env:A.array(Pw).default([]),scripts:A.array(Ow).default([]),validationChecks:A.array(dQ).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:A.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Yw=A.enum(["installed","failed","cancelled","partial","unknown"]),Rw=O_(h.scaffoldInstallRecord).extend({scaffoldId:A.string().min(1),scaffoldVersion:A.string().min(1).optional(),manifestRef:__.optional(),target:__,status:Yw,installedAt:H_.optional(),installer:N6.optional(),packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:L4.optional(),generatedFiles:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),hU=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),vz=A.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),lQ=A.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"),Qw=A.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Gw=a.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Tw=A.enum(["active","stub","deprecated","archived"]),Vw=A.enum(["stable","beta","canary","internal"]),Bw=A.object({transport:A.enum(["http","stdio"]).default("http"),bin:A.string().min(1).optional(),url:n$.optional()}).strict(),Fw=A.object({healthPath:A.string().min(1).default("/health"),port:A.number().int().positive().optional(),baseUrl:n$.optional()}).strict(),Kw=A.object({bins:A.array(A.string().min(1)).default([]),mcp:Bw.optional(),http:Fw.optional()}).strict(),gw=O_(h.app).extend({appId:hU,npmName:vz,repoFolder:hU,githubUrl:Gw,projectSlug:P0,surfaces:Kw.default({}),lifecycle:Tw,releaseChannel:Vw.default("stable"),summary:A.string().min(1).optional(),tags:rU}).strict().superRefine((_,$)=>{let U=new Set;for(let[j,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",j]});U.add(D)}}),Mw=A.enum(["skill","ci","backfilled"]),Zw=O_(h.release).extend({appId:hU,package:vz,version:lQ,gitSha:Qw,publishedAt:H_,publishPath:Mw,changelogRef:__.optional(),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Hw=A.enum(["install","update","rollback","freeze-blocked"]),qw=A.object({cliVersion:A.string().min(1).optional(),mcpHealth:A.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),kw=O_(h.rolloutRecord).extend({appId:hU,package:vz,version:lQ,machine:a,action:Hw,result:z0,verifiedBy:qw.optional(),at:H_,evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Cw=A.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),bw=A.enum(["pending","queued","sent","failed","skipped","suppressed"]),ww=A.object({channel:Cw,status:bw,deliveredAt:H_.optional(),detail:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),vw=O_(h.announcement).extend({campaignId:a,appId:hU.optional(),releaseRef:__.optional(),channels:A.array(ww).min(1),audienceRef:__,sentAt:H_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),fw=A.enum(["tag","attribute","group"]),xw=A.enum(["eq","neq","in","not_in","exists","not_exists"]),TQ=A.union([A.string(),A.number(),A.boolean()]),yw=A.object({kind:fw,key:A.string().min(1).optional(),op:xw.default("eq"),value:TQ.optional(),values:A.array(TQ).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:A.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),uw=A.object({match:A.enum(["all","any"]).default("all"),predicates:A.array(yw).min(1)}).strict(),hw=A.enum(["opt_in","opt_out","transactional","none"]),rw=O_(h.audience).extend({audienceId:hU,name:a,definition:uw,consentPolicy:hw,suppressionSyncedAt:S0}).strict(),yI=["@hasna/cloud","open-cloud"],cw=A.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),mw=A.object({id:A.string().min(1),provider:cw,kind:A.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:A.string().min(1),region:A.string().min(1).optional(),accountId:A.string().min(1).optional(),uri:n$.optional(),machineScoped:A.boolean().default(!1)}).strict(),iQ=O_(h.appCloudManifest).extend({packageName:A.string().min(1),packageVersion:A.string().min(1).optional(),appId:A.string().min(1),repository:__.optional(),storageMode:A.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:A.enum(["none","app_owned","external_service","local_cache"]),cloudResources:A.array(mw).default([]),localCache:A.object({path:A.string().min(1).optional(),pullMode:A.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:A.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:A.array(A.string().min(1)).default([...yI]),dependencies:A.array(A.string().min(1)).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...yI,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:A.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let j of yI)if(!_.forbiddenSharedRuntimes.includes(j))$.addIssue({code:A.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${j}`,path:["forbiddenSharedRuntimes"]});for(let j of U)if(_.dependencies.includes(j))$.addIssue({code:A.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${j}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:A.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:A.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((j,D)=>{if(j.ownerPackage!==_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),tQ=A.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),nw=A.enum(["low","medium","high","critical"]),oQ=A.object({id:A.string().min(1),kind:tQ,severity:nw,path:A.string().min(1).optional(),packageName:A.string().min(1).optional(),pattern:A.string().min(1),message:A.string().min(1),evidenceRefs:A.array(F_).default([])}).strict(),dw=A.object({id:A.string().min(1),kind:tQ,status:z0,target:A.string().min(1),command:A.string().min(1).optional(),evidenceRefs:A.array(F_).default([]),findings:A.array(oQ).default([])}).strict(),lw=O_(h.noCloudEvidencePack).extend({subject:__,packageName:A.string().min(1).optional(),packageVersion:A.string().min(1).optional(),generatedBy:N6.optional(),scanMode:A.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:z0,verdict:A.enum(["passed","failed","warning","not_run"]),appCloudManifest:iQ.optional(),checks:A.array(dw).min(1),findings:A.array(oQ).default([]),evidenceRefs:A.array(F_).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:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(j.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,N)=>{let E=D.findings.filter((I)=>I.severity==="high"||I.severity==="critical");if(D.status==="succeeded"&&E.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",N,"findings"]})})}),iw=A.object({checkId:A.string().min(1),status:z0,summary:A.string().min(1).optional(),startedAt:S0,finishedAt:S0,evidenceRefs:A.array(F_).default([])}).strict(),tw=O_(h.proofBundle).extend({subject:__,validationPlanRef:__.optional(),status:z0,verdict:A.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:A.array(iw).default([]),verifier:N6.optional(),evidenceRefs:A.array(F_).default([]),residualRisks:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:A.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:A.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:A.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),ow=O_(h.workRun).extend({objective:A.string().min(1),status:z0,actor:N6,traceId:A.string().min(1).optional(),startedAt:S0,finishedAt:S0,constraints:A.array(A.string().min(1)).default([]),resourceRefs:A.array(__).default([]),decisions:A.array(rQ).default([]),costEstimates:A.array(l1).default([]),evidenceRefs:A.array(F_).default([]),validationPlanRefs:A.array(__).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),pw=Object.freeze({work_run:Object.freeze(["codewith"]),root_request:Object.freeze(["todos"]),pr_group:Object.freeze(["todos"]),leaf_task:Object.freeze(["todos"]),attempt:Object.freeze(["todos"]),writer_generation:Object.freeze(["todos"]),writer_lease:Object.freeze(["repos"]),writer_fence:Object.freeze(["repos"]),provider_profile:Object.freeze(["codewith"]),provider_route:Object.freeze(["codewith"]),admission:Object.freeze(["codewith"]),worker_actor:Object.freeze(["codewith"]),worker:Object.freeze(["codewith"]),runtime:Object.freeze(["codewith"]),repo:Object.freeze(["repos"]),worktree:Object.freeze(["repos"]),branch:Object.freeze(["repos"]),event_stream:Object.freeze(["todos"]),replay_cursor:Object.freeze(["todos"]),handoff:Object.freeze(["todos"]),pull_request:Object.freeze(["todos"]),commit:Object.freeze(["repos"]),review:Object.freeze(["review"]),reviewer:Object.freeze(["review"]),review_run:Object.freeze(["review"]),proof_bundle:Object.freeze(["review"]),repair_cycle:Object.freeze(["todos"]),merge_guard:Object.freeze(["todos"]),merge_operator:Object.freeze(["merge_provider"]),merge_operator_run:Object.freeze(["merge_provider"]),merge_guard_receipt:Object.freeze(["merge_provider"]),merge_outcome:Object.freeze(["merge_provider"]),recovery:Object.freeze(["todos"]),cancellation:Object.freeze(["todos"]),cleanup_eligibility:Object.freeze(["repos"]),cleanup_outcome:Object.freeze(["repos"]),rollback_plan:Object.freeze(["todos"]),rollback_outcome:Object.freeze(["repos"]),terminal_disposition:Object.freeze(["todos"]),openloops_invocation:Object.freeze(["openloops"]),adapter_extension:Object.freeze(["adapter"])}),aw=A.enum(["work_run","root_request","pr_group","leaf_task","attempt","writer_generation","writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","repo","worktree","branch","event_stream","replay_cursor","handoff","pull_request","commit","review","reviewer","review_run","proof_bundle","repair_cycle","merge_guard","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","recovery","cancellation","cleanup_eligibility","cleanup_outcome","rollback_plan","rollback_outcome","terminal_disposition","openloops_invocation","adapter_extension"]),ew=A.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),O0=A.string().regex(/^[a-f0-9]{64}$/),dI=A.string().trim().min(3).max(256),pQ=/^[a-f0-9]{32}$/;function sw(_,$,U){return`${_}:${$}:opaque-${U.slice(0,32)}`}function _v(_){return`evidence:opaque-${_.slice(0,32)}`}var aQ=dI.refine((_)=>{let U=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return pQ.test(U)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),fz=dI.refine((_)=>{let U=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return pQ.test(U)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),$v=new Set(["writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","worktree","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","openloops_invocation","adapter_extension"]),xz=A.object({role:aw,authority:ew,id:dI,digest:O0,redaction:A.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let U=pw[_.role];if(!U.includes(_.authority))$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${U.join(" or ")}`,path:["authority"]});if($v.has(_.role)&&_.redaction==="none")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let j=sw(_.role,_.authority,_.digest);if(_.id!==j)$.addIssue({code:A.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),Z$=A.object({id:dI,digest:O0,redaction:A.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==_v(_.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function eQ(_,$,U,j){if(_.id===$.id||_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:j})}function H(_){return xz.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function M_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function yz(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function gU(_,$,U,j,D){if(yz(_,$))U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:j});if(_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:j})}function rI(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function j$(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var B_=A.object({algorithm:A.enum(["sha1","sha256"]),value:A.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let U=_.algorithm==="sha1"?40:64;if(_.value.length!==U)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${U} lowercase hex characters`,path:["value"]})});function VQ(_){if(_.canonicalizationVersion===1){let U=JSON.stringify(["hasna.task_to_pr_projection.binding.v1",_.canonicalizationVersion,_.rootRequestRef.id,_.rootRequestRef.digest,_.prGroupRef.id,_.prGroupRef.digest,_.leafTaskRef.id,_.leafTaskRef.digest,_.repoRef.id,_.repoRef.digest,_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return YQ("sha256").update(U,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((U)=>[U.role,U.authority,U.id,U.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return YQ("sha256").update($,"utf8").digest("hex")}var Uv=A.object({ref:H("attempt"),nonce:fz,admissionRef:H("admission"),admissionWriterGenerationRef:H("writer_generation"),workerActorRef:H("worker_actor"),workerRef:H("worker"),runtimeRef:H("runtime"),writerGenerationRef:H("writer_generation"),writerLeaseRef:H("writer_lease"),writerFenceRef:H("writer_fence"),providerProfileRef:H("provider_profile"),providerRouteRef:H("provider_route")}).strict(),Dv=A.object({repoRef:H("repo"),worktreeRef:H("worktree"),branchRef:H("branch"),baseHead:B_,branchHead:B_}).strict(),jv=A.object({streamRef:H("event_stream"),replayCursorRef:H("replay_cursor"),sequence:A.number().int().safe().nonnegative(),prefixDigest:O0}).strict(),Nv=A.object({ref:H("handoff"),previousAttemptRef:H("attempt"),nextAttemptRef:H("attempt"),previousWriterGenerationRef:H("writer_generation"),nextWriterGenerationRef:H("writer_generation"),stoppedWorkRunRef:H("work_run"),stopEvidenceRef:Z$,leaseRevocationEvidenceRef:Z$}).strict().superRefine((_,$)=>{gU(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),gU(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),eQ(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Ev=A.object({ref:H("review"),pullRequestRef:H("pull_request"),base:B_,head:B_,reviewerRef:H("reviewer"),reviewRunRef:H("review_run"),proofBundleRef:H("proof_bundle"),verdict:A.enum(["approved","changes_requested","blocked"]),reviewedAt:H_}).strict(),Iv=A.object({pullRequestRef:H("pull_request"),remoteBranchRef:H("branch"),expectedBase:B_,providerPullRequestBase:B_,localHead:B_,remoteHead:B_,providerPullRequestHead:B_,equalityProofRef:H("proof_bundle"),ciProofBundleRefs:A.array(H("proof_bundle")).min(1),verifiedAt:H_}).strict().superRefine((_,$)=>{if(!j$(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!j$(_.localHead,_.remoteHead)||!j$(_.localHead,_.providerPullRequestHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let U=_.ciProofBundleRefs.map(rI);if(new Set(U).size!==U.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let j=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(j).size!==j.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>yz(D,_.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical identities",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>D.digest===_.equalityProofRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),Av=A.object({ref:H("repair_cycle"),cycle:A.number().int().min(0).max(2),cap:A.literal(2),exhausted:A.boolean(),latestRepairRef:H("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&yz(_.ref,_.latestRepairRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),Wv=A.object({ref:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:B_,expectedHead:B_,reviewRefs:A.array(H("review")).min(1),proofBundleRefs:A.array(H("proof_bundle")).min(1),operatorRef:H("merge_operator"),operatorRunRef:H("merge_operator_run"),providerGuardReceiptRef:H("merge_guard_receipt"),mechanism:A.enum(["compare_and_swap","queue_expected_head"]),decision:A.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:H_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((N)=>N.id)).size!==_.reviewRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(rI)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((N)=>N.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),Jv=A.object({ref:H("merge_outcome"),guardRef:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:B_,observedBase:B_,expectedHead:B_,observedHead:B_,status:A.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:H("commit").optional(),finishedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict().superRefine((_,$)=>{let U=j$(_.expectedBase,_.observedBase),j=j$(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!U||!j)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!U?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&j)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&U)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!j)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!j&&_.status!=="head_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!U&&_.status!=="base_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),Lv=A.object({guard:Wv,outcome:Jv.optional()}).strict(),Sv=A.object({ref:H("recovery"),priorAttemptRef:H("attempt"),priorWriterGenerationRef:H("writer_generation"),priorWorkRunRef:H("work_run"),successorAttemptNonce:fz,successorWriterGenerationRef:H("writer_generation"),preservedStateRefs:A.array(xz).min(1),stopEvidenceRef:Z$,leaseRevocationEvidenceRef:Z$}).strict().superRefine((_,$)=>{gU(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),eQ(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Pv=A.object({ref:H("cancellation"),cancelledAttemptRef:H("attempt"),preservedStateRefs:A.array(xz).min(1),evidenceRefs:A.array(Z$).min(1)}).strict(),Ov=A.object({ref:H("cleanup_eligibility"),status:A.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:H("worktree"),eventCursorRef:H("replay_cursor"),terminalDispositionRef:H("terminal_disposition"),writerLeaseRef:H("writer_lease"),leaseRevocationEvidenceRef:Z$,consumedEventEvidenceRef:Z$,evaluatedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),zv=A.object({ref:H("cleanup_outcome"),eligibilityRef:H("cleanup_eligibility"),targetWorktreeRef:H("worktree"),status:A.enum(["preserved","deleted","failed","skipped"]),finishedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict(),Xv=A.object({eligibility:Ov,outcome:zv.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!M_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!M_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility and outcome must bind the same target worktree",path:["outcome","targetWorktreeRef"]});if(_.outcome?.status==="deleted"&&_.eligibility.status!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),Yv=A.object({plan:A.object({ref:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),createdAt:H_}).strict(),outcome:A.object({ref:H("rollback_outcome"),planRef:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),status:A.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!M_(_.outcome.planRef,_.plan.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!M_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback target",path:["outcome","targetRef"]});if(_.outcome&&Date.parse(_.outcome.finishedAt)({category:"ci_proof",ref:$,base:_.exactHead.expectedBase,head:_.exactHead.localHead}))]:[],..._.reviews.flatMap(($)=>[{category:"review_proof",ref:$.proofBundleRef,base:$.base,head:$.head},{category:"review_record",ref:$.ref,base:$.base,head:$.head},{category:"review_run",ref:$.reviewRunRef,base:$.base,head:$.head}]),..._.merge?[{category:"merge_guard",ref:_.merge.guard.ref},{category:"provider_guard_receipt",ref:_.merge.guard.providerGuardReceiptRef,base:_.merge.guard.expectedBase,head:_.merge.guard.expectedHead}]:[],..._.cleanup?[{category:"cleanup_eligibility",ref:_.cleanup.eligibility.ref}]:[],..._.rollback?[{category:"rollback_plan",ref:_.rollback.plan.ref}]:[],..._.terminalDispositionRef?[{category:"terminal_disposition",ref:_.terminalDispositionRef}]:[]]}function Gv(_,$){if(_.category!==$.category)return!1;if(_.category==="projection_id"&&$.category==="projection_id")return _.projectionId===$.projectionId;if(_.category==="attempt_nonce"&&$.category==="attempt_nonce")return _.nonce===$.nonce;if(_.category==="replay_prefix"&&$.category==="replay_prefix")return _.sequence===$.sequence&&_.prefixDigest===$.prefixDigest;if(!("ref"in _)||!("ref"in $))return!1;return M_(_.ref,$.ref)&&(("head"in _)&&("head"in $)&&("base"in _)&&("base"in $)&&j$(_.base,$.base)&&j$(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var Tv="hasna.task_to_pr_adapter_extension.",Vv=A.object({mode:A.enum(["local","cloud"]),schema:kz,ref:H("adapter_extension"),digest:O0}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(Tv))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),Bv=A.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),BQ=new Set(["admitted","running","handed_off"]),FQ=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),Fv={admitted:new Set(["absent","denied:none","revoked:none"]),running:new Set(["absent","denied:none","revoked:none"]),handed_off:new Set(["absent","denied:none","revoked:none"]),reviewing:new Set(["absent","denied:none","revoked:none"]),repairing:new Set(["absent","denied:none","revoked:none"]),merge_ready:new Set(["eligible:none"]),merged:new Set(["consumed:merged"]),closed_unmerged:new Set(["consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),failed:new Set(["absent","revoked:none"]),blocked:new Set(["absent","revoked:none"]),cancelled:new Set(["absent","revoked:none"]),recovering:new Set(["absent","denied:none","revoked:none"]),cleanup_complete:new Set(["absent","revoked:none","consumed:merged","consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),rolled_back:new Set(["consumed:merged"])},Kv=A.object({schema:A.literal(h.taskToPrProjection),id:aQ,createdAt:H_,canonicalizationVersion:A.union([A.literal(1),A.literal(2)]),identityDigest:O0,frozenScopeDigest:O0,state:Bv,workRunRef:H("work_run"),rootRequestRef:H("root_request"),prGroupRef:H("pr_group"),leafTaskRef:H("leaf_task"),attempt:Uv,repository:Dv,events:jv,openLoopsInvocationRef:H("openloops_invocation").optional(),pullRequestRef:H("pull_request").optional(),exactHead:Iv.optional(),handoff:Nv.optional(),reviews:A.array(Ev).default([]),repair:Av,merge:Lv.optional(),recovery:Sv.optional(),cancellation:Pv.optional(),cleanup:Xv.optional(),rollback:Yv.optional(),terminalDispositionRef:H("terminal_disposition").optional(),provenanceLedger:A.array(Rv),adapterExtensions:A.array(Vv).default([]),evidenceRefs:A.array(Z$).default([])}).strict().superRefine((_,$)=>{let U=_.canonicalizationVersion===1?VQ({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):VQ({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==U)$.addIssue({code:A.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let j=new Set,D=new Set,N=new Set,E=new Set,I=new Set,W=new Set;for(let[T,F]of _.provenanceLedger.entries()){if("ref"in F){if(j.has(F.ref.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(j.add(F.ref.id),D.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(F.ref.digest);continue}if(F.category==="projection_id"){if(N.has(F.projectionId))$.addIssue({code:A.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});N.add(F.projectionId);continue}if(F.category==="attempt_nonce"){if(E.has(F.nonce))$.addIssue({code:A.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});E.add(F.nonce);continue}if(I.has(F.prefixDigest))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(I.add(F.prefixDigest),W.has(F.sequence))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});W.add(F.sequence)}for(let T of Qv(_))if(!_.provenanceLedger.some((F)=>Gv(F,T)))$.addIssue({code:A.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let J=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],L=(T,F,g,q)=>{let x=new Set(F.map((D_)=>D_.role)),l=new Set;for(let[D_,E_]of T.entries()){if(!x.has(E_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} cannot preserve an unrecognized ${E_.role} role`,path:[...g,D_]});if(l.has(E_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve exactly one canonical ref per role`,path:[...g,D_]});l.add(E_.role)}if(T.length!==F.length)$.addIssue({code:A.ZodIssueCode.custom,message:`${q} preservation refs must exactly equal the required canonical role set`,path:g});for(let D_ of F)if(!T.some((E_)=>M_(E_,D_)))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve ${D_.role}`,path:g})};if(_.handoff&&!M_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next generation must be the current attempt writer generation",path:["handoff","nextWriterGenerationRef"]});if(_.handoff&&!M_(_.handoff.nextAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)gU(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!M_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});gU(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),gU(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),L(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...J],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!M_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)L(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...J],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the handoff and recovery snapshot",path:["recovery"]});if(_.cleanup&&!M_(_.cleanup.eligibility.eventCursorRef,_.events.replayCursorRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the current canonical replay cursor",path:["cleanup","eligibility","eventCursorRef"]});if(_.cleanup&&(!_.terminalDispositionRef||!M_(_.cleanup.eligibility.terminalDispositionRef,_.terminalDispositionRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact durable terminal owner fact",path:["cleanup","eligibility","terminalDispositionRef"]});if(_.cleanup&&!M_(_.cleanup.eligibility.writerLeaseRef,_.attempt.writerLeaseRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact writer lease being revoked",path:["cleanup","eligibility","writerLeaseRef"]});if(_.cleanup&&!M_(_.cleanup.eligibility.targetWorktreeRef,_.repository.worktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!M_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,F]of _.reviews.entries())if(!M_(F.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!M_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard must bind the canonical pull request ref",path:["merge","guard","pullRequestRef"]});if(_.merge?.outcome&&!M_(_.merge.outcome.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the canonical pull request ref",path:["merge","outcome","pullRequestRef"]})}else if(_.exactHead||_.reviews.length>0||_.merge)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!j$(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!j$(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head expected base must equal the canonical repository base",path:["exactHead","expectedBase"]});if(_.exactHead&&!M_(_.exactHead.remoteBranchRef,_.repository.branchRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head remote branch ref must equal the canonical repository branch ref",path:["exactHead","remoteBranchRef"]});if(_.exactHead&&Date.parse(_.exactHead.verifiedAt)0&&!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews require local/remote/provider exact-head proof",path:["exactHead"]});if(_.exactHead){let T=[{ref:_.exactHead.equalityProofRef,path:["exactHead","equalityProofRef"]},..._.exactHead.ciProofBundleRefs.map((q,x)=>({ref:q,path:["exactHead","ciProofBundleRefs",x]})),..._.reviews.map((q,x)=>({ref:q.proofBundleRef,path:["reviews",x,"proofBundleRef"]}))],F=new Set,g=new Set;for(let q of T){let x=rI(q.ref);if(F.has(x))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:q.path});if(F.add(x),g.has(q.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:q.path});g.add(q.ref.digest)}}let S=new Set,X=new Set,z=new Set,R=new Set,P=new Set,O=new Set,Y=new Set,Q=new Set;for(let[T,F]of _.reviews.entries()){if(!j$(F.base,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!j$(F.head,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[q,x,l]of[[F.ref.id,S,"ref"],[F.reviewerRef.id,z,"reviewerRef"],[F.reviewRunRef.id,P,"reviewRunRef"]]){if(x.has(q))$.addIssue({code:A.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,l]});x.add(q)}if(X.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(X.add(F.ref.digest),R.has(F.reviewerRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(R.add(F.reviewerRef.digest),O.has(F.reviewRunRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});O.add(F.reviewRunRef.digest);let g=rI(F.proofBundleRef);if(Y.has(g))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(Y.add(g),Q.has(F.proofBundleRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(Q.add(F.proofBundleRef.digest),F.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(F.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(F.reviewedAt)Date.parse(_.merge.guard.evaluatedAt)T.verdict!=="approved"))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards require at least one review and all reviews approved",path:["merge","guard","decision"]});if(_.merge.guard.reviewRefs.length!==_.reviews.length||_.merge.guard.reviewRefs.some((T)=>!_.reviews.some((F)=>M_(T,F.ref))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guard review refs must exactly equal the projected approved review refs as a canonical set",path:["merge","guard","reviewRefs"]});for(let T of _.reviews)if(!_.merge.guard.proofBundleRefs.some((F)=>M_(F,T.proofBundleRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>M_(T,_.exactHead.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind the exact-head equality proof",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&_.exactHead.ciProofBundleRefs.some((T)=>!_.merge.guard.proofBundleRefs.some((F)=>M_(F,T))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact-head CI proof",path:["merge","guard","proofBundleRefs"]})}}if(_.merge?.outcome){if(!M_(_.merge.outcome.guardRef,_.merge.guard.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!j$(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!j$(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:A.ZodIssueCode.custom,message:"Every merge outcome requires an explicitly consumed merge guard",path:["merge","guard","decision"]});if(Date.parse(_.merge.outcome.finishedAt)0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((BQ.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let B=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!Fv[_.state].has(B))$.addIssue({code:A.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${B}`,path:["merge"]});if(FQ.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!FQ.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Repairing projections require a non-zero repair cycle",path:["repair","cycle"]});if(_.merge&&(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed")&&!M_(_.attempt.admissionWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge eligibility requires admission from the current writer generation",path:["attempt","admissionWriterGenerationRef"]});if(_.state==="merge_ready"&&_.merge?.guard.decision!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:A.ZodIssueCode.custom,message:"Merged projections require a merged immutable outcome",path:["merge"]});if(_.state==="closed_unmerged"&&!_.merge?.outcome?.status.match(/^(closed_unmerged|refused|head_drift|base_drift)$/))$.addIssue({code:A.ZodIssueCode.custom,message:"Closed-unmerged projections require a non-merged terminal outcome",path:["merge"]});if(_.state==="cleanup_complete"&&(!_.cleanup?.outcome||!["deleted","preserved","skipped"].includes(_.cleanup.outcome.status)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed and blocked projections require redacted evidence refs",path:["evidenceRefs"]});if(["admitted","running","handed_off","reviewing","repairing","merge_ready","recovering"].includes(_.state)&&(_.merge?.outcome||_.cancellation||_.cleanup?.outcome||_.rollback?.outcome))$.addIssue({code:A.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let G=new Set;for(let[T,F]of _.adapterExtensions.entries()){let g=`${F.mode}:${F.schema}`;if(G.has(g))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});G.add(g)}});var gv=A.object({id:A.string().min(1),at:H_,kind:A.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:A.string().min(1),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),costEstimate:l1.optional()}).strict(),Mv=O_(h.agentTrajectory).extend({actor:N6,workRunRef:__.optional(),events:A.array(gv).default([]),outcome:A.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:__.optional()}).strict(),Zv="v1",Hv=A.enum(["library","cli-with-store","service","saas"]),qv=["user-hosted","hasna-saas"],kv=A.enum(qv),Cv=["api","sdk","mcp","cli"],sQ=A.enum(Cv),bv=A.enum(["supported","deferred","unsupported"]),wv=A.enum(["none","local-only","api-key","session","service-token","custom"]),Kz=A.object({method:A.enum(["GET","POST","PUT","PATCH","DELETE"]),path:A.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:A.boolean().default(!1),description:A.string().min(1).optional()}).strict(),vv=A.object({id:A.string().min(1),kind:A.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),evidenceRef:F_.optional(),status:A.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),fv=A.object({name:A.string().min(1),kind:sQ.optional(),status:bv,bin:A.string().min(1).optional(),mcpBin:A.string().min(1).optional(),authMode:wv,health:Kz.optional(),readiness:Kz.optional(),version:Kz.optional(),apiBasePath:A.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:A.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:A.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:A.string().min(1).optional(),readinessGates:A.array(vv).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),xv=["sqlite","postgres"],_G=A.enum(xv),$G=["sqlite","postgres"],yv=A.enum($G),qz=["postgres"],uv=A.object({kind:sQ,reason:A.string().trim().min(1)}).strict(),uz=500,hz=200,cI=(_)=>A.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),hv=["domain","host","ip","email"],rv=A.object({kind:A.enum(hv),reason:cI(uz),reviewedBy:cI(hz),expiresAt:H_}).strict(),cv=A.object({engine:A.enum(qz),reason:cI(uz),reviewedBy:cI(hz).optional(),expiresAt:H_.optional()}).strict();function mv(_){if(_.class!=="cli-with-store")return`storage waivers are not permitted for class ${_.class}`;if(_.bins.includes(`${_.name}-serve`))return`storage waivers are not permitted for a service-capable cli-with-store repo shipping ${_.name}-serve`;if(_.storageMode==="postgres")return"storage waivers are not permitted while storage.mode is postgres, which reads and writes PostgreSQL directly";if(_.hosting.includes("hasna-saas"))return"storage waivers are not permitted for a repo declaring the hasna-saas product story";return null}var nv=A.object({conformance:A.object({waivedSurfaces:A.array(uv).default([]),waiverProfile:A.literal("non-node-monorepo").optional(),waivedStorageEngines:A.array(cv).default([]),waivedAssetInventories:A.array(rv).default([])}).catchall(A.unknown()).optional(),release:A.object({artifactScan:A.object({script:A.string().trim().min(1)}).strict().optional()}).catchall(A.unknown()).optional()}).catchall(A.unknown()),dv=A.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),lv=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function iv(_){return lv.map(($)=>`${_}${$}`)}function KQ(_){return`hasna/oss/${_}/database-url`}var tv=A.object({mode:_G,engines:A.array(yv).min(1).optional(),envPrefix:A.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:A.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:A.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:A.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:A.object({envVar:A.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:A.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA__DATABASE_URL contract",path:["envPrefix"]})}),UG=A.enum(["0600"]),DG=A.enum(["0700"]),jG=A.enum([".hasna",".codewith"]),ov=A.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),BU=M$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),pv=A.object({id:A.string().min(1),source:A.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:A.string().min(1).optional(),column:A.string().min(1).optional(),description:A.string().min(1),required:A.boolean().default(!0)}).strict(),av=A.object({safeWhen:A.enum(["exclusive_access","offline_only","never"]),operations:A.array(A.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),ev=A.object({id:A.string().min(1),description:A.string().min(1),ttlDays:A.number().int().nonnegative().optional(),artifactClasses:A.array(ov).min(1),allowlistGlobs:A.array(BU).min(1),activeRecordExclusions:A.array(pv).default([]),sqliteMaintenance:av.optional()}).strict(),sv=A.object({storeId:A.string().regex(/^[a-z][a-z0-9-]*$/),packageName:A.string().min(1),displayName:A.string().min(1),root:jG,relativePath:BU,directoryMode:DG.default("0700"),fileMode:UG.default("0600"),sqliteDatabaseGlobs:A.array(BU).default([]),sensitiveFileGlobs:A.array(BU).default([]),backupGlobs:A.array(BU).default([]),exportGlobs:A.array(BU).default([]),retentionAdapters:A.array(ev).default([]),notes:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:A.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let U=new Set;for(let[j,D]of _.retentionAdapters.entries()){if(U.has(D.id))$.addIssue({code:A.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",j,"id"]});U.add(D.id)}}),NG=O_(h.secureLocalStorePolicy).extend({version:A.string().min(1),scope:A.array(jG).min(1),defaults:A.object({directoryMode:DG.default("0700"),fileMode:UG.default("0600"),dryRunDefault:A.literal(!0),requireExplicitApply:A.literal(!0),includeSqliteSidecars:A.literal(!0),redactedEvidenceOnly:A.literal(!0)}).strict(),stores:A.array(sv).min(1),lifecycle:A.object({retentionDryRunDefault:A.literal(!0),requireActiveRecordExclusionProof:A.literal(!0),requireArtifactAllowlist:A.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:A.literal(!0)}).strict(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set;for(let[j,D]of _.stores.entries()){if(U.has(D.storeId))$.addIssue({code:A.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",j,"storeId"]});if(U.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:A.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",j,"root"]})}}),_f=A.object({$schema:A.string().min(1).optional(),schema:A.literal(h.serviceContract),name:dv,class:Hv,contractVersion:A.literal(Zv),kitVersion:A.string().min(1),description:A.string().min(1).optional(),bins:A.array(A.string().min(1)).default([]),storage:tv.optional(),hosting:A.array(kv).min(1).default(["user-hosted"]),serviceSurfaces:A.array(fv).default([]),metadata:nv.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:A.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let U=new Set(iv(_.name)),j=new Set;for(let[J,L]of _.bins.entries()){if(j.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",J]});if(j.add(L),!U.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:`Bin "${L}" 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:A.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${J}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==KQ(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${KQ(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:A.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let J=new Set(_.storage.engines),L=_.metadata?.conformance?.waivedStorageEngines??[],S=mv({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),X=new Set(S?[]:L.map((R)=>R.engine)),z=$G.filter((R)=>!J.has(R)&&!X.has(R));if(z.length>0){let R=S&&L.length>0?`; declared waiver ignored: ${S}`:"";$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${z.join(", ")}${R}`,path:["storage","engines"]})}}}if(!j.has(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:A.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[J,L]of _.serviceSurfaces.entries()){if(L.bin&&!j.has(L.bin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface bin "${L.bin}" must be declared in bins`,path:["serviceSurfaces",J,"bin"]});if(L.mcpBin&&!j.has(L.mcpBin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface MCP bin "${L.mcpBin}" must be declared in bins`,path:["serviceSurfaces",J,"mcpBin"]})}let N=_.metadata?.conformance?.waivedSurfaces??[],E=new Set;for(let[J,L]of N.entries()){if(E.has(L.kind))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${L.kind}`,path:["metadata","conformance","waivedSurfaces",J,"kind"]});E.add(L.kind)}let I=_.metadata?.conformance?.waivedStorageEngines??[],W=new Set;for(let[J,L]of I.entries()){if(W.has(L.engine))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${L.engine}`,path:["metadata","conformance","waivedStorageEngines",J,"engine"]});W.add(L.engine)}}),tl=A.object({status:A.enum(["ok","degraded","unavailable"]),version:A.string().min(1),mode:_G}).strict(),ol=A.object({ready:A.boolean(),reason:A.string().min(1).optional()}).strict(),pl=A.object({version:A.string().min(1)}).strict(),$f=A.enum(["info","notice","breaking","critical"]),Uf=A.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 (..)"),Df=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],jf=A.enum(Df);var Nf=A.enum(["fleet","package","machine"]),EG=O_(h.commsEventEnvelope).extend({type:Uf,severity:$f,scope:Nf,summary:A.string().min(1).optional(),source:N6.optional(),affected_packages:A.array(a).default([]),affected_machines:A.array(a).default([]),action_required:A.boolean().default(!1),ack_by:H_.optional(),dedupe_key:a,resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Ef=A.enum(["fleet","package","product","loop-lane","initiative","personal"]),If=A.enum(["quiet","work","firehose"]),Af=a.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:)"),Wf=O_(h.commsChannelMetadata).extend({class:Ef,noise:If.optional(),owner:a.optional(),until:Af.optional(),successor:a.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),gQ={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}},Jf=O_(h.commsMessageMetadata).extend({tag:jf,envelope:EG}).strict().superRefine((_,$)=>{let U=gQ[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[j,D]of Object.entries(gQ))if(D.requiredEventType===_.envelope.type&&_.tag!==j)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${j}] tag`,path:["tag"]})});var Lf={[h.actorRef]:fb,[h.resourceRef]:xb,[h.evidenceRef]:ub,[h.workRun]:ow,[h.taskToPrProjection]:Kv,[h.decisionEnvelope]:rQ,[h.costEstimate]:l1,[h.capabilityCard]:rb,[h.providerLiveModeStandard]:ib,[h.contextPack]:cQ,[h.integrationRef]:mQ,[h.projectManifest]:eb,[h.projectPanel]:nQ,[h.projectSnapshot]:Aw,[h.renderManifest]:Uw,[h.agentTrajectory]:Mv,[h.validationPlan]:Ww,[h.proofBundle]:tw,[h.scaffoldManifest]:Xw,[h.scaffoldInstallRecord]:Rw,[h.appCloudManifest]:iQ,[h.noCloudEvidencePack]:lw,[h.secureLocalStorePolicy]:NG,[h.serviceContract]:_f,[h.commsEventEnvelope]:EG,[h.commsChannelMetadata]:Wf,[h.commsMessageMetadata]:Jf,[h.app]:gw,[h.release]:Zw,[h.rolloutRecord]:kw,[h.announcement]:vw,[h.audience]:rw};class IG extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function AG(_,$){let j=Lf[_].safeParse($);if(!j.success)throw new IG(_,j.error.issues);return j.data}var al=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var rz=[{pattern:"@hasna/cloud",kind:"module",message:"Shared @hasna/cloud runtime reference is forbidden"},{pattern:"open-cloud",kind:"module",message:"Shared open-cloud runtime reference is forbidden"},{pattern:"cloud-mcp",kind:"module",message:"Legacy cloud-mcp runtime surface is forbidden"},{pattern:"registerCloudTools",kind:"symbol",message:"Legacy registerCloudTools runtime surface is forbidden"},{pattern:"registerCloudCommands",kind:"symbol",message:"Legacy registerCloudCommands runtime surface is forbidden"},{pattern:".hasna/cloud",kind:"config",checkKind:"runtime_config",message:"Legacy .hasna/cloud runtime config is forbidden"},{pattern:"HASNA_CLOUD_",kind:"config",message:"Shared HASNA_CLOUD_* runtime config is forbidden"},{pattern:"HASNA_RDS_PASSWORD",kind:"config",message:"Legacy shared RDS credential config is forbidden"}],el=rz.filter((_)=>("checkKind"in _)),Sf=rz.filter((_)=>_.kind==="module"),sl=[...new Set([...yI,...Sf.map((_)=>_.pattern)])],_i=rz.filter((_)=>_.kind==="config");var MQ="^[^\\u0000-\\u001f\\u007f]*$",$i={$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. Hosting story, product surfaces, and storage capabilities are separate declarations; the storage backend (sqlite | postgres) is the only runtime switch.",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],allOf:[{if:{required:["class"],properties:{class:{const:"saas"}}},then:{required:["storage"],properties:{storage:{required:["mode","envPrefix"],properties:{mode:{const:"postgres"}}}}}}],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:h.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: , -cli, -mcp, -serve, -worker, -runner, -daemon, -migrate, -doctor."},hosting:{type:"array",items:{enum:["user-hosted","hasna-saas"]},minItems:1,uniqueItems:!0,description:"Customer-facing product stories. Public OSS cores include user-hosted; add hasna-saas only when a managed control plane exists."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode"],allOf:[{if:{required:["status"],properties:{status:{const:"supported"},kind:{const:"api"}}},then:{required:["bin","health","readiness","version"]}}],properties:{name:{type:"string",minLength:1},kind:{enum:["api","sdk","mcp","cli"]},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"]},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},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:{const:"GET"},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:{const:"GET"},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_./:-]*$"},exportSubpath:{type:"string",pattern:"^\\.(?:\\/[A-Za-z0-9_.-]+(?:\\/[A-Za-z0-9_.-]+)*)?$",description:"SDK package export key such as . or ./sdk."},generatedFrom:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$",description:"OpenAPI path used to generate the SDK."},clientClassName:{type:"string",pattern:"^[A-Za-z_$][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 API, SDK, MCP, and CLI product surfaces. Legacy entries without kind remain parseable; new manifests declare kind explicitly."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["sqlite","postgres"],description:"Active data backend. sqlite|postgres ONLY \u2014 the single runtime switch."},engines:{type:"array",items:{enum:["sqlite","postgres"]},minItems:1,uniqueItems:!0,description:"Supported storage engines; capability metadata independent of the active backend."},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:"Legacy/private-tier database secret ref. Public conformance rejects this field."},sqlitePath:{type:"string",pattern:"\\.db$",description:"Local sqlite path (~/.hasna//.db)."},pgTestGate:{type:"object",additionalProperties:!1,required:["envVar","command"],properties:{envVar:{type:"string",pattern:"^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$"},command:{type:"string",minLength:1}},description:"Environment-gated live PostgreSQL test command."}}},metadata:{type:"object",additionalProperties:!0,properties:{conformance:{type:"object",additionalProperties:!0,properties:{waiverProfile:{const:"non-node-monorepo",description:"Explicit surface-waiver eligibility for exceptional non-Node monorepos. Libraries are eligible for API/MCP waivers without this profile."},waivedSurfaces:{type:"array",uniqueItems:!0,items:{type:"object",additionalProperties:!1,required:["kind","reason"],properties:{kind:{enum:["api","sdk","mcp","cli"]},reason:{type:"string",minLength:1}}}},waivedStorageEngines:{type:"array",uniqueItems:!0,maxItems:qz.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...qz]},reason:{type:"string",minLength:1,maxLength:uz,allOf:[{pattern:"\\S"},{pattern:MQ}]},reviewedBy:{type:"string",minLength:1,maxLength:hz,allOf:[{pattern:"\\S"},{pattern:MQ}]},expiresAt:{type:"string",format:"date-time"}}},description:"Explicit storage-engine exceptions, at most one per engine. Only a CLI-only cli-with-store repo (no -serve bin, storage.mode sqlite, no hasna-saas story) may waive postgres; sqlite is never waivable, expiresAt is a UTC RFC 3339 timestamp, and conformance stops honouring a waiver once it has passed."}}}}}}};var Pf="2026-07-06";function U6(_,$,U,j,D,N=[],E){return{id:_,description:$,ttlDays:U,artifactClasses:j,allowlistGlobs:D,activeRecordExclusions:N.map((I)=>({...I,required:I.required??!0})),sqliteMaintenance:E}}var Ui=NG.parse({schema:h.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Pf,scope:[".hasna",".codewith"],defaults:{directoryMode:"0700",fileMode:"0600",dryRunDefault:!0,requireExplicitApply:!0,includeSqliteSidecars:!0,redactedEvidenceOnly:!0},lifecycle:{retentionDryRunDefault:!0,requireActiveRecordExclusionProof:!0,requireArtifactAllowlist:!0,sqliteMaintenanceRequiresExclusiveAccess:!0},stores:[{storeId:"codewith",packageName:"codewith",displayName:"Codewith native state",root:".codewith",relativePath:".",sqliteDatabaseGlobs:["logs_*.sqlite","state_*.sqlite","goals_*.sqlite"],sensitiveFileGlobs:["sessions/**/*.jsonl","shell_snapshots/**/*","logs*.sqlite","state*.sqlite","goals*.sqlite"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("codewith-session-snapshots","Codewith sessions, shell snapshots, logs, monitor output, mailbox payloads, and scheduler state need package-owned redaction before retention applies.",30,["session","snapshot","log"],["sessions/**/*.jsonl","shell_snapshots/**/*","logs/**/*"],[{id:"codewith-active-session",source:"package_adapter",description:"Exclude currently active sessions, leased schedules, monitors, pending interactions, and active goal rows."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})],notes:["Includes native .codewith DBs and transcript-like artifacts; redaction-before-persistence remains package-owned."]},{storeId:"todos",packageName:"@hasna/todos",displayName:"Todos",root:".hasna",relativePath:"todos",sqliteDatabaseGlobs:["todos.db"],sensitiveFileGlobs:["todos.db","todos.db-wal","todos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak","*.backup"],exportGlobs:["exports/**/*","*.jsonl","*.csv"],retentionAdapters:[U6("todos-exports-backups","Todos backups and exports are deleted only after package redaction and active task/evidence references are excluded.",14,["backup","export"],["backups/**/*","exports/**/*"],[{id:"todos-active-evidence",source:"sqlite",table:"task_files",column:"path",description:"Exclude files still referenced by active tasks, verification evidence, task comments, or handoff records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"conversations",packageName:"@hasna/conversations",displayName:"Conversations",root:".hasna",relativePath:"conversations",sqliteDatabaseGlobs:["messages.db"],sensitiveFileGlobs:["messages.db","messages.db-wal","messages.db-shm","exports/**/*","attachments/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*","*.json","*.csv"],retentionAdapters:[U6("conversations-exports-attachments","Conversation exports and attachments require message-id redaction and active attachment reference checks before deletion.",14,["export","backup"],["exports/**/*","backups/**/*","attachments/**/*"],[{id:"conversations-active-attachments",source:"sqlite",table:"messages",column:"attachments",description:"Exclude attachments still referenced by retained messages or audited redaction records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"mementos",packageName:"@hasna/mementos",displayName:"Mementos",root:".hasna",relativePath:"mementos",sqliteDatabaseGlobs:["mementos.db"],sensitiveFileGlobs:["mementos.db","mementos.db-wal","mementos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("mementos-audit-search-history","Mementos retention must preserve active memory versions while compacting audit/search surfaces through package-owned adapters.",30,["backup","export","log"],["backups/**/*","exports/**/*","audit/**/*"],[{id:"mementos-active-memory-versions",source:"sqlite",table:"memory_versions",column:"memory_id",description:"Exclude current memory versions and audit entries required for provenance."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"knowledge",packageName:"@hasna/knowledge",displayName:"Knowledge",root:".hasna",relativePath:"knowledge",sqliteDatabaseGlobs:["knowledge.db"],sensitiveFileGlobs:["knowledge.db","knowledge.db-wal","knowledge.db-shm","db.json","migration-exports/**/*","*.bak"],backupGlobs:["*.bak","backups/**/*","*.pre-cloud-*"],exportGlobs:["migration-exports/**/*","exports/**/*","*.jsonl"],retentionAdapters:[U6("knowledge-migrations-exports","Knowledge migration exports and pre-cloud backups require replacement, encryption, or redaction before retention deletion.",14,["backup","export"],["migration-exports/**/*","exports/**/*","*.bak","*.pre-cloud-*"],[{id:"knowledge-current-catalog",source:"manifest",description:"Exclude files referenced by the active catalog or migration ledger."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"projects",packageName:"@hasna/projects",displayName:"Projects",root:".hasna",relativePath:"projects",sqliteDatabaseGlobs:["projects.db","data/*/project.db"],sensitiveFileGlobs:["projects.db","projects.db-wal","projects.db-shm","data/*/project.db","data/*/project.db-wal","data/*/project.db-shm","reports/**/*"],backupGlobs:["backups/**/*","data/*/backups/**/*"],exportGlobs:["reports/**/*","exports/**/*"],retentionAdapters:[U6("projects-reports-workspaces","Project reports, dashboards, workspaces, and per-project DBs need active workspace/location references before cleanup.",30,["backup","export","report","tmp"],["backups/**/*","reports/**/*","workspaces/**/*","data/*/backups/**/*"],[{id:"projects-active-workspaces",source:"sqlite",table:"workspaces",column:"primary_path",description:"Exclude active workspace paths, locations, linked reports, and project store artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"browser",packageName:"@hasna/browser",displayName:"Browser",root:".hasna",relativePath:"browser",sqliteDatabaseGlobs:["browser.db"],sensitiveFileGlobs:["browser.db","browser.db-wal","browser.db-shm","profiles/**/cookies.json","states/**/*.json","auth/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*","traces/**/*","har/**/*"],retentionAdapters:[U6("browser-auth-traces","Browser state, trace, HAR, and auth artifacts require session invalidation or redaction before deletion.",7,["backup","export","session","snapshot"],["profiles/**/*","states/**/*","traces/**/*","har/**/*","exports/**/*"],[{id:"browser-active-profiles",source:"sqlite",table:"sessions",column:"profile_path",description:"Exclude profiles, cookies, and storage state used by active browser sessions."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"terminal",packageName:"@hasna/terminal",displayName:"Terminal",root:".hasna",relativePath:"terminal",sqliteDatabaseGlobs:["sessions.db"],sensitiveFileGlobs:["sessions.db","sessions.db-wal","sessions.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("terminal-sessions","Terminal sessions and interactions need active session exclusion plus command-output redaction before retention.",30,["backup","export","session","log"],["backups/**/*","exports/**/*","sessions/**/*"],[{id:"terminal-active-sessions",source:"sqlite",table:"sessions",column:"id",description:"Exclude active terminal session records and any linked interaction artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"logs",packageName:"@hasna/logs",displayName:"Logs",root:".hasna",relativePath:"logs",sqliteDatabaseGlobs:["logs.db"],sensitiveFileGlobs:["logs.db","logs.db-wal","logs.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("logs-retention","Logs require redaction before compaction and must preserve active incident/evidence references.",14,["backup","export","log"],["backups/**/*","exports/**/*","*.log","logs/**/*"],[{id:"logs-active-evidence",source:"sqlite",table:"logs",column:"id",description:"Exclude log rows or files linked to active incidents, tasks, or proof bundles."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"loops",packageName:"@hasna/loops",displayName:"OpenLoops",root:".hasna",relativePath:"loops",sqliteDatabaseGlobs:["loops.db","state.db","*.sqlite"],sensitiveFileGlobs:["*.db","*.sqlite","*.db-wal","*.db-shm","reports/**/*","tmp/**/*","runs/**/*"],backupGlobs:["backups/**/*","tmp/**/*"],exportGlobs:["reports/**/*","runs/**/*","exports/**/*"],retentionAdapters:[U6("loops-reports-tmp","Loop reports, tmp files, workflow artifacts, and command output need run-state checks and redaction before retention deletion.",14,["backup","export","report","tmp","log"],["reports/**/*","tmp/**/*","runs/**/*","exports/**/*"],[{id:"loops-active-runs",source:"sqlite",table:"loop_runs",column:"id",description:"Exclude active, leased, recently failed, or evidence-linked loop and workflow run artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]}],warnings:["This package publishes declarations only; each owning package implements and verifies its own local-store lifecycle.","Retention and redaction evidence remain package-owned and must preserve active-record exclusions.","SQLite maintenance is descriptive policy metadata only and is never executed by @hasna/contracts."]});var Of=64,Di=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Of-1}}$`),TU="[0-9a-fA-F]",ji=new RegExp(`^\\{?(?:${TU}{8}-${TU}{4}-${TU}{4}-${TU}{4}-${TU}{12}|${TU}{32})\\}?$`);var zf=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var Ni=new RegExp(zf.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var WG="@hasna/knowledge";function Xf(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Yf(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function i1(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function u_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function t1(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function cU(_){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 lI(_){return n$.safeParse(_).success}function d$(_,$,U,j,D=[]){return{kind:_,id:$,name:U,uri:j&&lI(j)?j:void 0,externalId:$,sourcePackage:WG,tags:D}}function Rf(_){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(cU).filter(Boolean).sort((U,j)=>j.localeCompare(U))[0]}function Qf(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function Gf(_){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 Tf(_,$){let U=[];for(let j of _.items.slice(0,$))U.push({id:`item_${j.id}`,title:j.title,summary:i1(j.content_preview),status:j.archived?"archived":"active",priority:"medium",timestamp:cU(j.updated_at??j.created_at),resourceRefs:[d$("knowledge",j.id,j.title,`knowledge://item/${encodeURIComponent(j.id)}`,j.tags)],evidenceRefs:j.url&&lI(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=u_(j.id,u_(j.uri,"source")),N=u_(j.title,u_(j.uri,D)),E=u_(j.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:N,summary:i1(`${t1(j.chunks)} chunk(s), ${t1(j.revisions)} revision(s)`),status:t1(j.chunks)>0?"indexed":"source",priority:"medium",timestamp:cU(j.updated_at??j.created_at),resourceRefs:[d$("document",D,N,E)],evidenceRefs:lI(E)?[{id:`source_${D}`,kind:"url",uri:E,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:j.kind,chunks:t1(j.chunks),revisions:t1(j.revisions)}})}for(let j of _.chunks.slice(0,Math.max(0,$-U.length))){let D=u_(j.id,"chunk"),N=u_(j.source_uri);U.push({id:`chunk_${D}`,title:u_(j.wiki_title,N?`Chunk from ${N}`:`Knowledge chunk ${D}`),summary:i1(j.text_preview),status:"chunk",priority:"low",timestamp:cU(j.created_at),resourceRefs:[d$("context_pack",D,u_(j.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:N&&lI(N)?[{id:`chunk_source_${D}`,kind:"url",uri:N,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:N||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=u_(j.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${u_(j.entity_kind,"entity")}/${u_(j.entity_id,D)}`,summary:i1(`Status ${u_(j.status,"unknown")}; strategy ${u_(j.resolution_strategy,"none")}.`),status:u_(j.status,"unknown"),priority:"critical",timestamp:cU(j.created_at),resourceRefs:[d$("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=u_(j.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${u_(j.kind,"item")}: ${u_(j.target_id,D)}`,summary:i1(j.reason),status:u_(j.status,"unknown"),priority:u_(j.status).toLowerCase()==="failed"?"high":"medium",timestamp:cU(j.updated_at??j.created_at),resourceRefs:[d$("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 JG(_,$={}){let U=Xf($.limit),j=new Date().toISOString(),D=Yf(_),E=await($.service??xI({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),I=Rf(E),W=Qf(I),J=E.summary.active_items+E.summary.sources+E.summary.chunks+E.summary.wiki_pages+E.summary.storage_objects,L=Gf(E),S=J===0?"empty":W==="stale"?"stale":"ready",X=Tf(E,U),z={schema:h.projectPanel,id:`knowledge_panel_${D}`,createdAt:j,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:WG,externalId:E.home},kind:"knowledge",title:"Knowledge",summary:S==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${E.summary.active_items} active note(s), ${E.summary.sources} source(s), ${E.summary.chunks} chunk(s), and ${E.summary.wiki_pages} wiki page(s).`,state:S,stateReason:S==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:j,freshness:W,metrics:[{id:"active_items",label:"Active notes",value:E.summary.active_items,status:E.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:E.summary.sources,status:E.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:E.summary.chunks,status:E.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:E.summary.wiki_pages,status:E.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:E.summary.storage_objects,status:E.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:E.summary.vector_entries,status:E.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:L,status:L>0?"warning":"good"}],items:X,actions:[d$("action","knowledge:inventory","Inspect knowledge inventory"),d$("action","knowledge:context-pack","Build cited context pack"),d$("action","knowledge:ingest","Ingest project source")],resourceRefs:[d$("project",D,_,`project://${D}`),d$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),d$("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:E.scope,home:E.home,json_store_exists:E.paths.json_store_exists,latest_activity_at:I}};return AG(h.projectPanel,z)}function LG(_){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(` +`)}import{fstatSync as vf,readlinkSync as ff,readSync as xf,writeSync as yf}from"fs";import{TextDecoder as uf}from"util";import{createHash as PG,randomUUID as mz}from"crypto";var Z_="FCAME-1",Vf="hasna.knowledge.private-input.v1";var Bf="hasna.knowledge.private-query.v1",Ff="hasna.knowledge.private-result.v1";var cz=Object.freeze({submission:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:1e4}),reconciliation:Object.freeze({max_calls:1,max_items:1,max_bytes:262144,wall_time_ms:5000}),readback:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:5000})}),iI=4194304,tI=30000,nU=3600000,OG=new WeakMap,Kf=new WeakMap,zG=new WeakMap,XG=new WeakMap;function n_(_,$,U,j=U){if(!_||typeof _!=="object"||Array.isArray(_))throw Error(`${$} must be an object.`);let D=Object.keys(_),N=D.filter((I)=>!U.includes(I)),E=j.filter((I)=>!D.includes(I));if(N.length>0||E.length>0)throw Error(`${$} keys must match its FCAME-1 schema${N.length>0?`; unexpected: ${N.sort().join(",")}`:""}${E.length>0?`; missing: ${E.sort().join(",")}`:""}.`)}function A_(_,$,U=512){if(typeof _!=="string"||_.length===0||_.length>U||_.trim()!==_||/[\u0000-\u001f\u007f]/.test(_))throw Error(`${$} must be a non-empty, trimmed string without control characters.`)}function E6(_){if(n_(_,"binding",["authority","tenant_id","scope","parent_id"]),n_(_.authority,"binding.authority",["classification","authority_id"]),!["user_hosted","hasna_saas"].includes(_.authority.classification))throw Error("binding.authority.classification must be user_hosted or hasna_saas.");A_(_.authority.authority_id,"binding.authority.authority_id"),A_(_.tenant_id,"binding.tenant_id",64),A_(_.scope,"binding.scope"),A_(_.parent_id,"binding.parent_id")}function pI(_,$){if(!["create","update"].includes(_))throw Error("verb must be create or update.");if(_==="create"){if(n_($,"precondition",["kind"]),!$||$.kind!=="absent")throw Error("create requires the create-if-absent precondition.");return}if(n_($,"precondition",["kind","expected_version"]),!$||$.kind!=="version"||!Number.isInteger($.expected_version)||$.expected_version<1)throw Error("update requires a positive compare-and-swap expected_version.")}function YG(_){if(n_(_,"manifest",["manifest_id","ordinal","phase","compensates_receipt_id"]),A_(_.manifest_id,"manifest.manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("manifest.ordinal must be a non-negative integer.");if(!["primary","recovery"].includes(_.phase))throw Error("manifest.phase must be primary or recovery.");if(_.phase==="primary"&&_.compensates_receipt_id!==null)throw Error("a primary manifest step cannot compensate a receipt.");if(_.compensates_receipt_id!==null&&(typeof _.compensates_receipt_id!=="string"||!/^kwr_[0-9a-f]{64}$/.test(_.compensates_receipt_id)))throw Error("manifest.compensates_receipt_id must be null or an immutable guarded receipt id.")}function Q$(_,$="limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(_.max_items!==1)throw Error(`${$}.max_items must be exactly 1.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>iI)throw Error(`${$}.max_bytes must be a positive integer no greater than ${iI}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>tI)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${tI}.`)}function RG(_,$="query limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(!Number.isInteger(_.max_items)||_.max_items<1||_.max_items>50)throw Error(`${$}.max_items must be an integer between 1 and 50.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>iI)throw Error(`${$}.max_bytes must be a positive integer no greater than ${iI}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>tI)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${tI}.`)}function nz(_,$){if(n_(_,"query page",["limit","offset"]),!Number.isInteger(_.limit)||_.limit<1||_.limit>$.max_items)throw Error("query page.limit must be a positive integer no greater than limits.max_items.");if(!Number.isInteger(_.offset)||_.offset<0||_.offset>1e4)throw Error("query page.offset must be an integer between 0 and 10000.")}function gf(_){if(!_||typeof _!=="object"||Array.isArray(_))throw Error("private query selector must be an object.");switch(_.kind){case"exact_title":n_(_,"private query selector",["kind","title"]),A_(_.title,"private query selector.title",2048);return;case"lexical_overlap":case"semantic_overlap":n_(_,"private query selector",["kind","query"]),A_(_.query,"private query selector.query",4096);return;case"supersession":n_(_,"private query selector",["kind","supersedes_item_id"]),A_(_.supersedes_item_id,"private query selector.supersedes_item_id");return;case"current_version":n_(_,"private query selector",["kind","item_id"]),A_(_.item_id,"private query selector.item_id");return;case"historical_version":if(n_(_,"private query selector",["kind","item_id","version"]),A_(_.item_id,"private query selector.item_id"),!Number.isInteger(_.version)||_.version<1)throw Error("private query selector.version must be a positive integer.");return;case"canonical_pointer":n_(_,"private query selector",["kind","canonical_item_id"]),A_(_.canonical_item_id,"private query selector.canonical_item_id");return;default:throw Error("private query selector.kind is unsupported.")}}function aI(_={}){if(n_(_,"limits",["submission","reconciliation","readback"],[]),_.submission!==void 0)Q$(_.submission,"limits.submission");if(_.reconciliation!==void 0)Q$(_.reconciliation,"limits.reconciliation");if(_.readback!==void 0)Q$(_.readback,"limits.readback");let $={submission:{...cz.submission,..._.submission},reconciliation:{...cz.reconciliation,..._.reconciliation},readback:{...cz.readback,..._.readback}};return Q$($.submission,"limits.submission"),Q$($.reconciliation,"limits.reconciliation"),Q$($.readback,"limits.readback"),Object.freeze({submission:Object.freeze($.submission),reconciliation:Object.freeze($.reconciliation),readback:Object.freeze($.readback)})}function oI(_,$){if(_===null||typeof _==="string"||typeof _==="boolean")return _;if(typeof _==="number"){if(!Number.isFinite(_))throw Error(`${$} contains a non-finite number.`);return _}if(Array.isArray(_))return _.map((D,N)=>oI(D,`${$}[${N}]`));if(typeof _!=="object")throw Error(`${$} must contain only JSON values.`);let U=Object.getPrototypeOf(_);if(U!==Object.prototype&&U!==null)throw Error(`${$} must contain plain JSON objects.`);let j={};for(let D of Object.keys(_).sort()){let N=_[D];if(N===void 0)throw Error(`${$}.${D} must not be undefined.`);j[D]=oI(N,`${$}.${D}`)}return j}function dz(_){if(_!==null&&typeof _==="object"){for(let $ of Object.values(_))dz($);Object.freeze(_)}return _}function h_(_){return JSON.stringify(oI(_,"value"))}function f_(_){return PG("sha256").update(h_(_),"utf8").digest("hex")}function mU(_){if(typeof _!=="string")throw Error("content must be a string.");return PG("sha256").update(_,"utf8").digest("hex")}function lz(_){if(!["adopt","rollback"].includes(_.action))throw Error("adoption action must be adopt or rollback.");if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),!Number.isInteger(_.expected_version)||_.expected_version<1)throw Error("expected_version must be a positive integer.");if(!/^[0-9a-f]{64}$/.test(_.expected_content_sha256))throw Error("expected_content_sha256 must be a lowercase sha256 hex digest.");let $=_.adoption_receipt_id??null;if(_.action==="adopt"&&$!==null)throw Error("adopt must not reference an adoption receipt.");if(_.action==="rollback"&&(typeof $!=="string"||!/^kar_[0-9a-f]{64}$/.test($)))throw Error("rollback requires an immutable adoption receipt id.");return`fcame1_adoption_${f_({contract:Z_,action:_.action,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:_.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:$})}`}function eI(_){if(E6(_.binding),A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),!/^[0-9a-f]{64}$/.test(_.payload_digest))throw Error("payload_digest must be a lowercase sha256 hex digest.");if(pI(_.verb,_.precondition),_.manifest)YG(_.manifest);return`fcame1_${f_({contract:Z_,authority:_.binding.authority,tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest??null})}`}function Mf(_){if(A_(_.manifest_id,"manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("ordinal must be a non-negative integer.");if(!/^fcame1_[0-9a-f]{64}$/.test(_.step_deterministic_key))throw Error("step_deterministic_key must be an FCAME-1 deterministic key.");A_(_.operation_id,"recovery.operation_id"),A_(_.step_id,"recovery.step_id"),A_(_.target_id,"recovery.target_id"),E6(_.binding),pI(_.verb,_.precondition);let $=aI(_.limits);if(h_($)!==h_(_.limits))throw Error("recovery.limits must be explicit and complete.");if(!/^[0-9a-f]{64}$/.test(_.semantic_digest))throw Error("recovery.semantic_digest must be a lowercase sha256 hex digest.");if(!["forward_repair","receipt_scoped_compensation"].includes(_.strategy))throw Error("recovery.strategy must be forward_repair or receipt_scoped_compensation.");if(_.strategy==="receipt_scoped_compensation"&&_.receipt_scope!=="accepted_step_receipt"||_.strategy==="forward_repair"&&_.receipt_scope!==null)throw Error("receipt_scoped_compensation requires accepted_step_receipt; forward_repair requires null receipt_scope.");let U=Zf(_.step_deterministic_key);if(_.strategy==="receipt_scoped_compensation"&&_.compensates_receipt_id!==U||_.strategy==="forward_repair"&&_.compensates_receipt_id!==null)throw Error("receipt-scoped compensation must bind the deterministic accepted-step receipt; forward repair must not bind one.");return eI({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.semantic_digest,precondition:_.precondition,manifest:{manifest_id:_.manifest_id,ordinal:_.ordinal,phase:"recovery",compensates_receipt_id:_.compensates_receipt_id}})}function Zf(_){if(!/^fcame1_[0-9a-f]{64}$/.test(_))throw Error("deterministicKey must be an FCAME-1 write key.");return`kwr_${_.slice(7)}`}function Hf(_,$){return E6(_),A_($,"operation_id"),`kmf_${f_({contract:Z_,maintainer:_,operation_id:$})}`}function qf(_,$,U){if(n_($,`steps[${U}]`,["ordinal","operation_id","step_id","deterministic_key","verb","target_id","binding","semantic_digest","precondition","dependencies","limits","recovery"]),n_($.recovery,`steps[${U}].recovery`,["strategy","operation_id","step_id","deterministic_key","verb","target_id","semantic_digest","precondition","binding","limits","receipt_scope","compensates_receipt_id"]),$.ordinal!==U)throw Error(`manifest steps must be ordered contiguously from zero; expected ordinal ${U}.`);if(A_($.operation_id,`steps[${U}].operation_id`),A_($.step_id,`steps[${U}].step_id`),A_($.target_id,`steps[${U}].target_id`),E6($.binding),pI($.verb,$.precondition),!/^[0-9a-f]{64}$/.test($.semantic_digest))throw Error(`steps[${U}].semantic_digest must be a lowercase sha256 digest.`);let j=aI($.limits);if(h_(j)!==h_($.limits))throw Error(`steps[${U}].limits must be explicit and complete.`);let D=Array.from({length:U},(I,W)=>W);if(!Array.isArray($.dependencies)||h_($.dependencies)!==h_(D))throw Error(`steps[${U}].dependencies must name every prior ordinal in order.`);let N=eI({binding:$.binding,operation_id:$.operation_id,step_id:$.step_id,verb:$.verb,target_id:$.target_id,payload_digest:$.semantic_digest,precondition:$.precondition,manifest:{manifest_id:_,ordinal:$.ordinal,phase:"primary",compensates_receipt_id:null}});if($.deterministic_key!==N)throw Error(`steps[${U}].deterministic_key does not match its frozen tuple.`);let E=Mf({manifest_id:_,ordinal:$.ordinal,step_deterministic_key:$.deterministic_key,strategy:$.recovery.strategy,operation_id:$.recovery.operation_id,step_id:$.recovery.step_id,verb:$.recovery.verb,target_id:$.recovery.target_id,semantic_digest:$.recovery.semantic_digest,precondition:$.recovery.precondition,binding:$.recovery.binding,limits:$.recovery.limits,receipt_scope:$.recovery.receipt_scope,compensates_receipt_id:$.recovery.compensates_receipt_id});if($.recovery.deterministic_key!==E)throw Error(`steps[${U}].recovery.deterministic_key does not match its frozen tuple.`)}function kf(_,$){E6(_),n_($,"manifest",["manifest_id","operation_id","steps"]),A_($.manifest_id,"manifest_id"),A_($.operation_id,"operation_id");let U=Hf(_,$.operation_id);if($.manifest_id!==U)throw Error("manifest_id must be the deterministic FCAME-1 id for its maintainer and workflow operation.");if(!Array.isArray($.steps)||$.steps.length<2||$.steps.length>64)throw Error("a guarded workflow manifest must contain between 2 and 64 ordered steps.");let j=new Set,D=new Set;$.steps.forEach((N,E)=>{if(qf($.manifest_id,N,E),N.binding.tenant_id!==_.tenant_id||N.recovery.binding.tenant_id!==_.tenant_id)throw Error(`manifest step ${E} crosses tenants without an authority delegation contract.`);for(let I of[N,N.recovery]){let W=`${I.binding.authority.classification}\x00${I.binding.authority.authority_id}\x00${I.binding.tenant_id}\x00${I.binding.scope}\x00${I.binding.parent_id}\x00${I.operation_id}\x00${I.step_id}`;if(j.has(W))throw Error(`manifest step ${E} repeats an operation/step identity.`);if(j.add(W),D.has(I.deterministic_key))throw Error(`manifest step ${E} repeats a deterministic action key.`);D.add(I.deterministic_key)}})}function Cf(_,$){return kf(_,$),f_({contract:Z_,manifest_id:$.manifest_id,operation_id:$.operation_id,maintainer:_,steps:$.steps})}function QG(_,$){return`fcame1_manifest_${Cf(_,$)}`}function bf(_,$){if(!$||typeof $!=="object"||Array.isArray($))throw Error("payload must be a JSON object.");if(oI($,"payload"),_==="create"){let j=$.title;if(typeof j!=="string"||j.trim().length===0)throw Error("create payload.title is required.")}let U=_==="create"?new Set(["title","content","url","tags","metadata"]):new Set(["title","content","url","tags","metadata","archived"]);for(let j of Object.keys($))if(!U.has(j))throw Error(`payload.${j} is not allowed for ${_}.`);if("title"in $&&$.title!==void 0)A_($.title,"payload.title",2048);if("content"in $&&$.content!==void 0&&typeof $.content!=="string")throw Error("payload.content must be a string.");if("url"in $&&$.url!==void 0&&$.url!==null&&(typeof $.url!=="string"||$.url.length>8192||/[\u0000-\u001f\u007f]/.test($.url)))throw Error("payload.url must be null or a string without control characters.");if("tags"in $&&$.tags!==void 0){if(!Array.isArray($.tags)||$.tags.length>256)throw Error("payload.tags must be an array of strings.");$.tags.forEach((j,D)=>A_(j,`payload.tags[${D}]`,256))}if("archived"in $&&$.archived!==void 0&&typeof $.archived!=="boolean")throw Error("payload.archived must be a boolean.");if("metadata"in $&&$.metadata!==void 0){if($.metadata===null||typeof $.metadata!=="object"||Array.isArray($.metadata))throw Error("payload.metadata must be a JSON object.")}if(_==="update"&&Object.keys($).length===0)throw Error("update payload must change at least one field.")}function GG(_){if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),pI(_.verb,_.precondition),_.manifest)YG(_.manifest);bf(_.verb,_.payload);let $=_.expires_in_ms??300000;if(!Number.isInteger($)||$<1||$>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let U=dz(JSON.parse(h_(_.payload))),j=f_(U),D=f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:j,manifest:_.manifest??null}),N=new Date(Date.now()+$).toISOString(),E=Object.freeze({contract:Z_,schema:Vf,descriptor_id:`kpv_${mz()}`,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:j,binding_digest:D,precondition:Object.freeze({..._.precondition}),binding:Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),manifest:_.manifest?Object.freeze({manifest_id:_.manifest.manifest_id,ordinal:_.manifest.ordinal,phase:_.manifest.phase,compensates_receipt_id:_.manifest.compensates_receipt_id}):null,expires_at:N}),I=Object.freeze({...E,toJSON:()=>E});return OG.set(I,{payload:U,revoked:!1}),I}function iz(_){let $=OG.get(_);if(!$)throw Error("private input descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private input descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private input descriptor has expired.");return $.payload}function TG(_){let $=Kf.get(_);if(!$)throw Error("private title lookup descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private title lookup descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private title lookup descriptor has expired.");if(mU($.title)!==_.title_digest)throw Error("private title lookup descriptor digest changed after freeze.");return $.title}function VG(_){A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),E6(_.binding),gf(_.selector);let $=_.archive??"active";if(!["active","archived","all"].includes($))throw Error("archive must be active, archived, or all.");let U=_.limit??10,j=_.offset??0;nz({limit:U,offset:j},{max_calls:1,max_items:50,max_bytes:1048576,wall_time_ms:1e4});let N=_.expires_in_ms??300000;if(!Number.isInteger(N)||N<1||N>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let E=dz(JSON.parse(h_(_.selector))),I=f_(E),W=Object.freeze({limit:U,offset:j}),J=Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),L=f_({binding:J,operation_id:_.operation_id,step_id:_.step_id,query_kind:E.kind,selector_digest:I,archive:$,page:W}),S=Object.freeze({contract:Z_,schema:Bf,operation_id:_.operation_id,step_id:_.step_id,query_kind:E.kind,selector_digest:I,binding_digest:L,binding:J,archive:$,page:W,expires_at:new Date(Date.now()+N).toISOString()}),X={...S,toJSON:()=>S};return Object.defineProperty(X,"descriptor_id",{value:`kpq_${mz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(X),zG.set(X,{selector:E,revoked:!1}),X}function tz(_){let $=zG.get(_);if(!$)throw Error("private query descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private query descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private query descriptor has expired.");if(f_($.selector)!==_.selector_digest)throw Error("private query descriptor selector digest changed after freeze.");return $.selector}function SG(_){return Object.freeze({id:_.id,version:Number(_.version??1),title_sha256:mU(_.title),content_sha256:mU(_.content),url_sha256:_.url===null||_.url===void 0?null:mU(_.url),tags_sha256:f_(_.tags??[]),metadata_sha256:f_(_.metadata??{}),archived:_.archived===!0})}function o1(_,$=300000){if(!Number.isInteger($)||$<1||$>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let U=_.kind==="title_lookup"||_.kind==="query"?_.value.item_count:1,j=Object.freeze({contract:Z_,schema:Ff,kind:_.kind,result_digest:f_(_.value),item_count:U,expires_at:new Date(Date.now()+$).toISOString()}),D={...j,toJSON:()=>j};return Object.defineProperty(D,"descriptor_id",{value:`kpr_${mz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(D),XG.set(D,{result:_,revoked:!1}),D}function p1(_){let $=XG.get(_);if(!$)throw Error("private result descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private result descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private result descriptor has expired.");if(f_($.result.value)!==_.result_digest)throw Error("private result descriptor digest changed after freeze.");if($.result.kind==="write")return Object.freeze({kind:"write",item_count:1,items:Object.freeze([SG($.result.value.readback.item)]),deterministic_key:$.result.value.deterministic_key,receipt_id:$.result.value.receipt.receipt_id,duplicate:$.result.value.duplicate});if($.result.kind==="readback")return Object.freeze({kind:"readback",item_count:1,items:Object.freeze([SG($.result.value.item)])});if($.result.kind==="query")return Object.freeze({kind:"query",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items]),query_kind:$.result.value.query_kind,status:$.result.value.status,code:$.result.value.code,total:$.result.value.total,page:Object.freeze({...$.result.value.page})});return Object.freeze({kind:"title_lookup",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items])})}function BG(_,$){if(_.contract!==Z_||_.deterministic_key!==$.deterministic_key||_.operation_id!==$.operation_id||_.step_id!==$.step_id||_.exact!==!0||_.bounded!==!0||_.receipt_count!==1||_.terminal_complete!==!0||_.receipt===null)throw Error("terminal_completeness_failed: exact bounded reconciliation did not yield one terminal receipt.");if(_.receipt.deterministic_key!==$.deterministic_key||_.receipt.operation_id!==$.operation_id||_.receipt.step_id!==$.step_id)throw Error("terminal_completeness_failed: receipt identity does not match the frozen operation.");return _.receipt}function G$(_){return Buffer.byteLength(JSON.stringify(_),"utf8")}class ZG extends Error{receipt;reconciliation;code="guarded_write_rejected";constructor(_,$){super(`guarded_write_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedWriteRejectedError"}}class oz extends Error{receipt;code="guarded_operation_conflict";constructor(_){super("guarded_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedOperationConflictError"}}class HG extends Error{code="private_title_lookup_ambiguous";constructor(){super("private_title_lookup_ambiguous: more than one exact title exists in the frozen binding.");this.name="KnowledgePrivateTitleLookupAmbiguousError"}}class X0 extends Error{code="private_query_response_invalid";constructor(){super("private_query_response_invalid: the bounded private query response was unavailable or malformed.");this.name="KnowledgePrivateQueryResponseError"}}class e1 extends Error{code="guarded_readback_response_invalid";constructor(){super("guarded_readback_response_invalid: the exact guarded readback was unavailable or malformed.");this.name="KnowledgeGuardedReadbackError"}}class sI extends Error{manifest;code="guarded_manifest_conflict";constructor(_){super("guarded_manifest_conflict: this manifest id is already bound to a different immutable ordered workflow.");this.manifest=_;this.name="KnowledgeGuardedManifestConflictError"}}class pz extends Error{deterministic_key;reason;code="guarded_manifest_step_refused";constructor(_,$){super(`guarded_manifest_step_refused: ${$}`);this.deterministic_key=_;this.reason=$;this.name="KnowledgeGuardedManifestStepRefusedError"}}class az extends Error{deterministic_key;code="guarded_manifest_terminal_state_unavailable";constructor(_){super("guarded_manifest_terminal_state_unavailable: manifest submission did not yield an exact immutable readback; the producer did not retry creation.");this.deterministic_key=_;this.name="KnowledgeGuardedManifestUncertainError"}}class dU extends Error{deterministic_key;code="guarded_write_terminal_state_unavailable";constructor(_){super("guarded_write_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not retry the mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedWriteUncertainError"}}class qG extends Error{receipt;reconciliation;code="guarded_adoption_rejected";constructor(_,$){super(`guarded_adoption_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedAdoptionRejectedError"}}class ez extends Error{receipt;code="guarded_adoption_operation_conflict";constructor(_){super("guarded_adoption_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedAdoptionOperationConflictError"}}class lU extends Error{deterministic_key;code="guarded_adoption_terminal_state_unavailable";constructor(_){super("guarded_adoption_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not attempt an unguarded mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedAdoptionUncertainError"}}function I6(_){return{"x-knowledge-max-calls":String(_.max_calls),"x-knowledge-max-items":String(_.max_items),"x-knowledge-max-bytes":String(_.max_bytes),"x-knowledge-wall-time-ms":String(_.wall_time_ms)}}function a1(_){return{authority_classification:_.authority.classification,authority_id:_.authority.authority_id,tenant_id:_.tenant_id,scope:_.scope,parent_id:_.parent_id}}function S4(_,$){return h_(_)===h_($)}function wf(_){switch(_.kind){case"exact_title":return _.title;case"lexical_overlap":case"semantic_overlap":return _.query;case"supersession":return _.supersedes_item_id;case"current_version":case"historical_version":return _.item_id;case"canonical_pointer":return _.canonical_item_id}}function iU(_){if(!_||typeof _!=="object")return null;let $=_.body;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $&&typeof $==="object"?$:null}function FG(_){let $=iU(_);if($?.error!=="operation_binding_conflict")return null;let U=$.receipt;return U&&typeof U==="object"?U:null}function KG(_){let $=iU(_);if($?.error!=="manifest_binding_conflict")return null;let U=$.manifest;return U&&typeof U==="object"?U:null}function gG(_){let U=iU(_)?.message;if(typeof U!=="string")return null;return["guarded manifest","guarded write does not match its immutable manifest step","manifest_","external_authority_receipt_verifier_required"].some((D)=>U.startsWith(D))?U:null}function MG(_){let $=iU(_);if($?.error!=="adoption_operation_conflict")return;let U=$.receipt;return U&&typeof U==="object"?U:null}class kG{transport;require_manifest;binding;limits;constructor(_,$,U,j){this.transport=_;this.require_manifest=j;this.binding=Object.freeze({authority:Object.freeze({...$.authority}),tenant_id:$.tenant_id,scope:$.scope,parent_id:$.parent_id}),this.limits=U}async execute(_){if(this.require_manifest&&!_.manifest)throw Error("guarded_manifest_required: this writer is configured for multi-step work and refuses an unmanifested write.");if(!S4(_.binding,this.binding))throw Error("private input descriptor binding does not match this guarded writer.");let $=iz(_);if(f_($)!==_.payload_digest)throw Error("private input descriptor payload digest changed after freeze.");if(f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:_.payload_digest,manifest:_.manifest})!==_.binding_digest)throw Error("private input descriptor binding digest changed after freeze.");let j=eI({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest}),D={contract:Z_,descriptor:_.toJSON(),deterministic_key:j,limits:this.limits,payload:$};if(G$(D)>this.limits.submission.max_bytes)throw Error("guarded_write_request_exceeds_submission_byte_cap.");let N=null,E=null;try{N=await this.transport.post("/guarded-writes",D,{headers:{...I6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:j,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(L){E=L}let I;try{I=await this.reconcile(j,_.operation_id,_.step_id)}catch{let L=FG(E);if(L)throw new oz(L);let S=_.manifest?gG(E):null;if(S)throw new pz(j,S);throw new dU(j)}if(I.receipt_count===0||I.receipt===null){let L=FG(E);if(L)throw new oz(L);let S=_.manifest?gG(E):null;if(S)throw new pz(j,S);throw new dU(j)}let W=BG(I,{deterministic_key:j,operation_id:_.operation_id,step_id:_.step_id});if(N&&(N.deterministic_key!==j||N.receipt.receipt_id!==W.receipt_id))throw new dU(j);if(W.status!=="accepted")throw new ZG(W,I);if(W.effect_count!==1||W.result_id!==_.target_id)throw new dU(j);let J=await this.readback(W.result_id);if(J.item.id!==_.target_id||!S4(J.binding,this.binding)||J.item.version!==W.result_version)throw new dU(j);return{deterministic_key:j,duplicate:N?.duplicate??!1,receipt:W,reconciliation:I,readback:J}}async executePrivate(_){let $=await this.execute(_);return o1({kind:"write",value:$})}async lookupTitle(_){if(!S4(_.binding,this.binding))throw Error("private title lookup descriptor binding does not match this guarded writer.");let $=TG(_);if(f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,title_digest:_.title_digest})!==_.binding_digest)throw Error("private title lookup descriptor binding digest changed after freeze.");let j={contract:Z_,descriptor:_.toJSON(),title:$,limits:this.limits.readback};if(G$(j)>this.limits.readback.max_bytes)throw Error("private_title_lookup_request_exceeds_byte_cap.");let D;try{D=await this.transport.post("/guarded-writes/lookups/title",j,{headers:{...I6(this.limits.readback),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:this.limits.readback.wall_time_ms,retry:!1})}catch(N){if(iU(N)?.error==="private_title_lookup_ambiguous")throw new HG;throw N}if(G$(D)>this.limits.readback.max_bytes||D.contract!==Z_||D.exact!==!0||D.bounded!==!0||D.title_digest!==_.title_digest||!S4(D.binding,this.binding)||D.item_count!==D.items.length||D.item_count>1||D.items.some((N)=>N.title_sha256!==_.title_digest))throw Error("private_title_lookup_exact_bounded_readback_failed.");return o1({kind:"title_lookup",value:D})}async query(_,$={max_calls:1,max_items:_.page.limit,max_bytes:this.limits.readback.max_bytes,wall_time_ms:this.limits.readback.wall_time_ms}){if(RG($),nz(_.page,$),!S4(_.binding,this.binding))throw Error("private query descriptor binding does not match this guarded writer.");let U=tz(_);if(U.kind!==_.query_kind)throw Error("private query descriptor kind changed after freeze.");if(f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,query_kind:_.query_kind,selector_digest:_.selector_digest,archive:_.archive,page:_.page})!==_.binding_digest)throw Error("private query descriptor binding digest changed after freeze.");let D={contract:Z_,descriptor:_.toJSON(),selector:U,limits:$};if(G$(D)>$.max_bytes)throw Error("private_query_request_exceeds_byte_cap.");let N;try{let I=await this.transport.post("/guarded-writes/queries",D,{headers:{...I6($),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:$.wall_time_ms,retry:!1});if(!I||typeof I!=="object"||Array.isArray(I))throw new X0;N=I}catch(I){if(I instanceof X0)throw I;throw new X0}let E=mU(wf(U));if(G$(N)>$.max_bytes||N.contract!==Z_||N.exact!==!0||N.bounded!==!0||N.private!==!0||N.query_kind!==_.query_kind||N.selector_digest!==_.selector_digest||!S4(N.binding,this.binding)||N.item_count!==N.items.length||N.item_count!==N.page.returned||N.item_count>_.page.limit||N.page.limit!==_.page.limit||N.page.offset!==_.page.offset||N.totalI.matched_value_sha256!==E))throw new X0;if(_.query_kind==="semantic_overlap"&&(N.status!=="unavailable"||N.code!=="semantic_query_unavailable"||N.item_count!==0||N.total!==0))throw new X0;if(_.query_kind!=="semantic_overlap"&&(N.status!=="available"||N.code!==null))throw new X0;return o1({kind:"query",value:N})}async createManifest(_,$=this.limits.submission){Q$($,"manifest submission bounds");let U=QG(this.binding,_),j={contract:Z_,maintainer:this.binding,manifest:_,deterministic_key:U};if(G$(j)>$.max_bytes)throw Error("guarded_manifest_request_exceeds_byte_cap.");let D=null,N=null;try{D=await this.transport.post("/guarded-manifests",j,{headers:{...I6($),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:U,timeoutMs:$.wall_time_ms,retry:!1})}catch(I){let W=KG(I);if(W)throw new sI(W);N=I}let E;try{E=await this.reconcileManifest(_.manifest_id,$)}catch{let I=KG(N);if(I)throw new sI(I);throw new az(U)}if(E.manifest.deterministic_key!==U)throw new sI(E.manifest);if(D&&(D.contract!==Z_||D.deterministic_key!==U||D.manifest.manifest_receipt_id!==E.manifest.manifest_receipt_id))throw new az(U);return D??{contract:Z_,deterministic_key:U,manifest:E.manifest,duplicate:!0}}async reconcileManifest(_,$=this.limits.reconciliation){Q$($,"manifest reconciliation bounds");let U=await this.transport.get(`/guarded-manifests/${encodeURIComponent(_)}`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:I6($),timeoutMs:$.wall_time_ms,retry:!1});if(G$(U)>$.max_bytes)throw Error("guarded_manifest_response_exceeds_byte_cap.");if(U.contract!==Z_||U.manifest.manifest_id!==_||U.exact!==!0||U.bounded!==!0)throw Error("guarded_manifest_exact_reconciliation_failed.");return U}async reconcile(_,$,U,j=this.limits.reconciliation){Q$(j,"write reconciliation bounds");let D=await this.transport.get(`/guarded-writes/receipts/${encodeURIComponent(_)}`,{query:{...a1(this.binding),operation_id:$,step_id:U,max_calls:j.max_calls,max_items:j.max_items,max_bytes:j.max_bytes,wall_time_ms:j.wall_time_ms},headers:I6(j),timeoutMs:j.wall_time_ms,retry:!1});if(G$(D)>j.max_bytes)throw Error("guarded_reconciliation_response_exceeds_byte_cap.");return D}async reconcileAdoption(_,$,U,j=this.limits.reconciliation){Q$(j,"adoption reconciliation bounds");let D=await this.transport.get(`/guarded-adoptions/receipts/${encodeURIComponent(_)}`,{query:{...a1(this.binding),operation_id:$,step_id:U,max_calls:j.max_calls,max_items:j.max_items,max_bytes:j.max_bytes,wall_time_ms:j.wall_time_ms},headers:I6(j),timeoutMs:j.wall_time_ms,retry:!1});if(G$(D)>j.max_bytes)throw Error("guarded_adoption_reconciliation_response_exceeds_byte_cap.");return D}async readBindingState(_,$=this.limits.readback){Q$($,"binding-state readback bounds");let U=await this.transport.get(`/guarded-adoptions/items/${encodeURIComponent(_)}/binding-state`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:I6($),timeoutMs:$.wall_time_ms,retry:!1});if(G$(U)>$.max_bytes||U.contract!==Z_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||U.target_id!==_)throw Error("guarded_binding_state_exact_readback_failed.");return U}async submitAdoption(_){if(G$(_)>this.limits.submission.max_bytes)throw Error("guarded_adoption_request_exceeds_submission_byte_cap.");let $=null,U=null;try{$=await this.transport.post("/guarded-adoptions",_,{headers:{...I6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:_.deterministic_key,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(N){if(iU(N)?.error==="not_found")throw N;U=N}let j;try{j=await this.reconcileAdoption(_.deterministic_key,_.operation_id,_.step_id)}catch{let N=MG(U);if(N!==void 0)throw new ez(N);throw new lU(_.deterministic_key)}if(!j.terminal_complete||j.receipt_count!==1||!j.receipt){let N=MG(U);if(N!==void 0)throw new ez(N);throw new lU(_.deterministic_key)}let D=j.receipt;if(D.deterministic_key!==_.deterministic_key||D.operation_id!==_.operation_id||D.step_id!==_.step_id)throw new lU(_.deterministic_key);if(D.status!=="accepted")throw new qG(D,j);return{submission:$,receipt:D,reconciliation:j}}async adoptLegacy(_){let $=lz({action:"adopt",..._,binding:this.binding,adoption_receipt_id:null}),U={contract:Z_,action:"adopt",deterministic_key:$,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:this.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:null,limits:this.limits},j=await this.submitAdoption(U),D=await this.readBindingState(_.target_id),N=await this.readback(_.target_id);if(D.state!=="bound_to_requested"||D.item_version!==j.receipt.result_version||D.content_sha256!==j.receipt.result_content_sha256||N.item.version!==j.receipt.result_version)throw new lU($);return{deterministic_key:$,duplicate:j.submission?.duplicate??!1,receipt:j.receipt,reconciliation:j.reconciliation,binding_state:D,readback:N}}async rollbackLegacyAdoption(_){let $=_.adoption_receipt;if($.action!=="adopt"||$.status!=="accepted"||$.effect_count!==1||!S4($.binding,this.binding)||$.result_version===null||$.result_content_sha256===null)throw Error("rollback requires an accepted adoption receipt for this guarded writer binding.");let U=lz({action:"rollback",operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id}),j={contract:Z_,action:"rollback",deterministic_key:U,operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id,limits:this.limits},D=await this.submitAdoption(j),N=await this.readBindingState($.target_id);if(N.state!=="legacy_unbound"||N.item_version!==D.receipt.result_version||N.content_sha256!==D.receipt.result_content_sha256)throw new lU(U);return{deterministic_key:U,duplicate:D.submission?.duplicate??!1,receipt:D.receipt,reconciliation:D.reconciliation,binding_state:N}}async readback(_,$=this.limits.readback){Q$($,"readback bounds");let U;try{let j=await this.transport.get(`/guarded-writes/items/${encodeURIComponent(_)}`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:I6($),timeoutMs:$.wall_time_ms,retry:!1});if(!j||typeof j!=="object"||Array.isArray(j))throw new e1;U=j}catch(j){if(j instanceof e1)throw j;if(j&&typeof j==="object"&&typeof j.status==="number")throw j;throw new e1}if(G$(U)>$.max_bytes||U.contract!==Z_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||!U.item||U.item.id!==_||!S4(U.binding,this.binding)||h_(U.limits)!==h_($))throw new e1;return U}async readbackPrivate(_,$=this.limits.readback){let U=await this.readback(_,$);return o1({kind:"readback",value:U})}}function CG(_){E6(_.binding);let $=OX(_.env??process.env);if(!$)throw Error("FCAME-1 guarded writes require the authenticated postgres/API transport; local JSON, SQLite, and raw-store fallbacks are refused.");return new kG($,_.binding,aI(_.limits),_.require_manifest===!0)}var hf="knowledge.guarded-cli-request.v1",xG="knowledge.guarded-cli-result.v1",sz=1048576;class x_ extends Error{code;constructor(_){super(_);this.code=_;this.name="KnowledgeGuardedCliDescriptorError"}}function bG(_,$,U){let j=Object.keys(_).sort(),D=[...$].sort();if(j.length!==D.length||j.some((N,E)=>N!==D[E]))throw new x_(`${U}_shape_invalid`)}function wG(_,$){if(!Number.isInteger(_)||_<3)throw new x_(`${$}_must_be_inherited_private_fd`);let U;try{U=vf(_)}catch{throw new x_(`${$}_unavailable`)}if(!U.isFIFO()&&!U.isSocket())throw new x_(`${$}_must_be_anonymous_pipe_or_socket`);if(U.isFIFO()){let j;try{j=ff(`/proc/self/fd/${_}`)}catch{throw new x_(`${$}_anonymous_pipe_identity_unverified`)}if(!/^pipe:\[\d+\]$/.test(j))throw new x_(`${$}_must_be_anonymous_pipe_or_socket`)}}function rf(_){let $=[],U=0;while(!0){let j=Buffer.allocUnsafe(Math.min(65536,sz+1-U)),D=xf(_,j,0,j.length,null);if(D===0)break;if(U+=D,U>sz)throw new x_("private_request_byte_cap_exceeded");$.push(j.subarray(0,D))}try{return new uf("utf-8",{fatal:!0}).decode(Buffer.concat($,U))}catch{throw new x_("private_request_invalid_utf8")}}function vG(_,$){let U=Buffer.from(`${h_($)} +`,"utf8");if(U.byteLength>sz)throw new x_("private_result_byte_cap_exceeded");let j=0;while(j> '{hasna_knowledge_relations,schema}' - = 'hasna.knowledge.relations.v1'`,...I9()];var l8=bY(m8(),1),{program:Al,createCommand:Ol,createArgument:Sl,createOption:Ll,CommanderError:Wl,InvalidArgumentError:Jl,InvalidOptionArgumentError:Pl,Command:i8,Argument:zl,Option:gl,Help:Xl}=l8.default;import{chmod as Tz,mkdir as Or,readFile as Sr,rename as Lr,writeFile as e8}from"fs/promises";import{Buffer as EY}from"buffer";import{existsSync as jY}from"fs";import{homedir as Wr}from"os";import{join as w1}from"path";import{createHmac as Gr,timingSafeEqual as Vl}from"crypto";import{randomUUID as Qr}from"crypto";import{spawn as Kr}from"child_process";import{randomUUID as Zr}from"crypto";function $r(_,$){return $.split(".").reduce((D,I)=>{if(D&&typeof D==="object"&&I in D)return D[I];return},_)}function Dr(_,$){let D=[],I=(E)=>{if(!D.some((j)=>Object.is(j,E)))D.push(E)};if($.includes(".")&&$ in _)I(_[$]);let U=$r(_,$);if(U!==void 0||!$.includes("."))I(U);return D}function Ur(_,$={}){let D="";for(let I=0;I<_.length;I+=1){let U=_[I];if(U==="*")if(_[I+1]==="*")D+=".*",I+=1;else D+=$.segmentSafe?"[^/]*":".*";else D+=U.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${D}$`)}function C1(_,$,D={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((U)=>Ur(U,D).test(_))}function t8(_,$){if(!$)return!0;return Object.entries($).every(([D,I])=>{let U=Dr(_,D);return Ir(U,I,D)})}function Ir(_,$,D){if(Nr($))return!_.some((I)=>o8(I,$.not,D));return _.some((I)=>o8(I,$,D))}function o8(_,$,D){if(typeof $==="string"||Array.isArray($))return Er(_).some((I)=>C1(I,$,{segmentSafe:D.endsWith("_path")||D.endsWith(".path")}));if(Array.isArray(_))return _.some((I)=>I===$);return _===$}function Er(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>jr($)?[String($)]:[]);return[String(_)]}function jr(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function Nr(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function Ar(_,$){return C1(_.source,$.source)&&C1(_.type,$.type)&&C1(_.subject,$.subject)&&C1(_.severity,$.severity)&&t8(_.data,$.data)&&t8(_.metadata,$.metadata)}function p8(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((D)=>Ar($,D))}var HN="HASNA_EVENTS_DIR",bN="HASNA_EVENTS_HOME",Mz="local-json-v1:",Jr=100,Pr=1000;function NY(_){return _||process.env[HN]||process.env[bN]||w1(Wr(),".hasna","events")}function zr(){if(process.env[HN])return HN;if(process.env[bN])return bN;return null}class qN{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=NY()){this.dataDir=_,this.runtime=gr(_),this.channelsPath=w1(_,"channels.json"),this.eventsPath=w1(_,"events.json"),this.deliveriesPath=w1(_,"deliveries.json")}async init(){await Or(this.dataDir,{recursive:!0,mode:448}),await Tz(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),D=$.findIndex((I)=>I.id===_.id);if(D>=0)$[D]={..._,createdAt:$[D].createdAt,updatedAt:new Date().toISOString()};else $.push(_);return await this.writeJson(this.channelsPath,$),D>=0?$[D]:_}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel(_){return(await this.listChannels()).find((D)=>D.id===_)}async removeChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),D=$.filter((I)=>I.id!==_);return await this.writeJson(this.channelsPath,D),D.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 D=await this.readJson(this.eventsPath,[]);if($.dedupe!==!1){let U=s8(D,{id:_.id,dedupeKey:_.dedupeKey});if(U)return{event:U,stored:!1,deduped:!0,identity:{id:U.id,dedupeKey:U.dedupeKey}}}return D.push(_),await this.writeJson(this.eventsPath,D),{event:_,stored:!0,deduped:!1,identity:{id:_.id,dedupeKey:_.dedupeKey}}}async listEvents(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]);return a8($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),D=a8($,{eventId:_.eventId,source:_.source,type:_.type}),I=kN(_.cursor,_),U=CN(_.limit),E=D.slice(I,I+U),j=I+E.length,N=j{return})}async readJson(_,$){try{let D=await Sr(_,"utf-8");if(!D.trim())return $;return JSON.parse(D)}catch(D){if(D.code==="ENOENT")return $;throw D}}async writeJson(_,$){let D=`${_}.${process.pid}.${Date.now()}.tmp`;await e8(D,`${JSON.stringify($,null,2)} -`,{encoding:"utf-8",mode:384}),await Lr(D,_),await Tz(_,384).catch(()=>{return})}}function gr(_=NY()){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 AY(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let D={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${Mz}${EY.from(JSON.stringify(D),"utf-8").toString("base64url")}`}function kN(_,$={}){if(!_)return 0;if(!_.startsWith(Mz))throw Error(`Invalid local JSON event cursor: ${_}`);let D=_.slice(Mz.length),I;try{I=JSON.parse(EY.from(D,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let U=I.offset;if(!Number.isInteger(U)||U<0)throw Error(`Invalid local JSON event cursor: ${_}`);return Fz("eventId",I.eventId,$.eventId),Fz("source",I.source,$.source),Fz("type",I.type,$.type),U}function CN(_){if(_===void 0)return Jr;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,Pr)}function a8(_,$){let D=_;if($.eventId)D=D.filter((I)=>I.id===$.eventId);if($.source)D=D.filter((I)=>I.source===$.source);if($.type)D=D.filter((I)=>I.type===$.type);if($.cursor){let I=kN($.cursor,$);D=D.slice(I)}if($.limit!==void 0)D=D.slice(0,CN($.limit));return D}function Fz(_,$,D){if($!==D)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function s8(_,$){return _.find((D)=>$.id!==void 0&&D.id===$.id||$.dedupeKey!==void 0&&D.dedupeKey===$.dedupeKey)}async function Xr(_){let $=new qN(_);await $.init();let[D,I,U]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),E=D.reduce((j,N)=>{return j[N.transport]=(j[N.transport]??0)+1,j},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:HN,fallback:bN,active:zr()},files:{channels:Vz($.dataDir,"channels.json",D.length),events:Vz($.dataDir,"events.json",I.length),deliveries:Vz($.dataDir,"deliveries.json",U.length)},counts:{channels:D.length,enabledChannels:D.filter((j)=>j.enabled).length,disabledChannels:D.filter((j)=>!j.enabled).length,events:I.length,deliveries:U.length},transports:E,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function Vz(_,$,D){let I=w1(_,$);return{path:I,exists:jY(I),records:D}}function Rr(_,$){return`${_}.${$}`}function Yr(_,$,D){return`sha256=${Gr("sha256",_).update(Rr($,D)).digest("hex")}`}function a$(){return new Date().toISOString()}function v1(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Tr(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let D=JSON.stringify(_),I=_.time,U={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":I,...$.webhook.headers};if($.webhook.secret)U["X-Hasna-Signature"]=Yr($.webhook.secret,I,D);return{body:D,headers:U}}async function Fr(_,$,D={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let I=a$(),{body:U,headers:E}=Tr(_,$),j=new AbortController,N=setTimeout(()=>j.abort(),$.webhook.timeoutMs??15000);try{let O=await(D.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:E,body:U,signal:j.signal}),S=v1(await O.text());return{attempt:1,status:O.ok?"success":"failed",startedAt:I,completedAt:a$(),responseStatus:O.status,responseBody:S,error:O.ok?void 0:`Webhook returned HTTP ${O.status}`}}catch(O){return{attempt:1,status:"failed",startedAt:I,completedAt:a$(),error:O instanceof Error?O.message:String(O)}}finally{clearTimeout(N)}}async function Vr(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let D=a$(),I=JSON.stringify(_),U={...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:I};return new Promise((E)=>{let j=Kr($.command.command,$.command.args??[],{cwd:$.command.cwd,env:U,stdio:["pipe","pipe","pipe"]}),N="",O="",S=setTimeout(()=>j.kill("SIGTERM"),$.command.timeoutMs??15000);j.stdin.end(I),j.stdout.on("data",(L)=>{N+=L.toString()}),j.stderr.on("data",(L)=>{O+=L.toString()}),j.on("error",(L)=>{clearTimeout(S),E({attempt:1,status:"failed",startedAt:D,completedAt:a$(),stdout:v1(N),stderr:v1(O),error:L.message})}),j.on("close",(L,W)=>{clearTimeout(S);let g=L===0;E({attempt:1,status:g?"success":"failed",startedAt:D,completedAt:a$(),stdout:v1(N),stderr:v1(O),error:g?void 0:`Command exited with ${W?`signal ${W}`:`code ${L}`}`})})})}async function Br(_,$,D={}){if($.transport==="webhook")return Fr(_,$,D);if($.transport==="command")return Vr(_,$);return{attempt:1,status:"skipped",startedAt:a$(),completedAt:a$(),error:`Unsupported transport: ${$.transport}`}}function _Y(_,$,D){let I=D.some((U)=>U.status==="success")?"success":D.every((U)=>U.status==="skipped")?"skipped":"failed";return{id:Qr(),eventId:_.id,channelId:$.id,transport:$.transport,status:I,attempts:D,createdAt:D[0]?.startedAt??a$(),completedAt:D.at(-1)?.completedAt??a$()}}class OY extends Error{eventType;issues;constructor(_,$){let D=$.map((I)=>`${I.path||""}: ${I.message}`).join("; ");super(`Event validation failed for type "${_}": ${D}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class SY{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 OY(_.type,$.issues)}}var Mr=new SY;function Bz(_){return{id:_.id??Zr(),source:_.source,type:_.type,time:Cr(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class LY{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new qN(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Mr,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 D=$.redactSensitiveData===!1?Bz(_):qr(Bz(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(D);let I=await this.appendEvent(D,{dedupe:$.dedupe!==!1});if(I.deduped)return{event:I.event,deliveries:[],deduped:!0};let U=$.deliver===!1?[]:await this.deliver(I.event);return{event:I.event,deliveries:U,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return $Y(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=$Y(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),D=kN(_.cursor,_),I=CN(_.limit),U=$.slice(D,D+I),E=D+U.length,j=E<$.length;return{events:U,cursor:_.cursor,nextCursor:j?AY(E,_):void 0,hasMore:j}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let D=(await this.store.listChannels()).filter((U)=>p8(U,_)),I=[];for(let U of D){let E=await this.applyRedaction(_,U),j=await this.deliverWithRetry(E,U);await this.store.appendDelivery(j),I.push(j)}return I}async matchChannel(_,$={}){let D=await this.store.getChannel(_);if(!D)throw Error(`Channel not found: ${_}`);let I=Bz({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}),U=p8(D,I);return{channelId:D.id,matched:U,event:I,filters:D.filters,reason:U?void 0:D.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},D={}){let I=await this.store.getChannel(_);if(!I)throw Error(`Channel not found: ${_}`);let U=await this.matchChannel(_,$),E=U.event;if(D.honorFilters&&!U.matched){let O=new Date().toISOString(),S=_Y(E,I,[{attempt:1,status:"skipped",startedAt:O,completedAt:O,error:U.reason}]);return S.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(S),S}let j=await this.applyRedaction(E,I),N=await this.deliverWithRetry(j,I);return await this.store.appendDelivery(N),N}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 D=[];for(let I of $.events)D.push(...await this.deliver(I));return{events:$.events,deliveries:D,cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore}}async appendEvent(_,$){if(this.store.appendEventOnce)return this.store.appendEventOnce(_,{dedupe:$.dedupe});if($.dedupe){let I=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(I)return{event:I,stored:!1,deduped:!0,identity:{id:I.id,dedupeKey:I.dedupeKey}}}let D=await this.store.appendEvent(_);return{event:D,stored:!0,deduped:!1,identity:{id:D.id,dedupeKey:D.dedupeKey}}}async applyRedaction(_,$){let D=Hr(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let I of this.redactors)D=await I(D,$);return D}async deliverWithRetry(_,$){let D=vr($.retry),I=[];for(let U=0;U[D,JY(D)?"[REDACTED]":I]));return $}function br(_){return _.map(WY)}function qr(_,$="[REDACTED]"){return Zz(_,$)}function JY(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function Zz(_,$){if(Array.isArray(_))return _.map((D)=>Zz(D,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([D,I])=>[D,JY(D)?$:Zz(I,$)]))}function kr(_,$,D){let I=$.split("."),U=_;for(let j of I.slice(0,-1)){let N=U[j];if(!N||typeof N!=="object")return;U=N}let E=I.at(-1);if(E&&E in U)U[E]=D}function $Y(_,$){let D=_;if($.eventId)D=D.filter((I)=>I.id===$.eventId);if($.source)D=D.filter((I)=>I.source===$.source);if($.type)D=D.filter((I)=>I.type===$.type);if($.cursor)D=D.slice(kN($.cursor,$));if($.limit!==void 0)D=D.slice(0,CN($.limit));return D}function Cr(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function vr(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function ZN(_,$,D=!1){if(!_?.length)return;let I={};for(let U of _){let E=fr(U,$),j=E.path;if(j in I)throw Error(`Duplicate ${$} filter path: ${j}`);let N=D?rr(E.rawValue,$):E.rawValue;I[j]=E.negated?{not:N}:N}return I}function wr(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let D=DY(ZN(_.data,"data"),ZN(_.dataJson,"data-json",!0)),I=DY(ZN(_.metadata,"metadata"),ZN(_.metadataJson,"metadata-json",!0));if(Object.keys(D).length>0)$.data=D;if(Object.keys(I).length>0)$.metadata=I;return Object.keys($).length>0?[$]:void 0}function DY(..._){let $={};for(let D of _){if(!D)continue;for(let[I,U]of Object.entries(D)){if(I in $)throw Error(`Duplicate filter path: ${I}`);$[I]=U}}return $}function rr(_,$){let D=JSON.parse(_);if(D===null||typeof D==="string"||typeof D==="number"||typeof D==="boolean"||Array.isArray(D)&&D.every((I)=>typeof I==="string"))return D;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function fr(_,$){let D=_.indexOf("!=");if(D>0)return{path:_.slice(0,D),rawValue:_.slice(D+2),negated:!0};let I=_.indexOf("=");if(I<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,I),rawValue:_.slice(I+1),negated:!1}}var xr=100;function qD(_,$){if(!_)return $;let D=JSON.parse(_);if(!D||typeof D!=="object"||Array.isArray(D))throw Error("Expected a JSON object");return D}function ur(_){if(!_?.length)return;let $={};for(let D of _){let I=D.indexOf("=");if(I===-1)throw Error(`Invalid header, expected name=value: ${D}`);$[D.slice(0,I)]=D.slice(I+1)}return $}function D4(_){if(_.createClient)return _.createClient();return new LY({store:new qN(_.dataDir)})}function j0(_,$,D){if($)console.log(JSON.stringify(_,null,2));else console.log(D)}function UY(_,$){let D=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:D},null,2));else console.error(D);process.exitCode=1}function IY(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function F6(_,$){return IY(_)||IY($)}function yr(_,$){let D=_.command($.channelsCommandName??"channels").description("Manage Hasna event channels");return D.command("add").description("Add or replace a channel").argument("","Webhook URL or command binary").requiredOption("--id ","Channel identifier").option("--transport ","Transport kind: webhook or command","webhook").option("--name ","Display name").option("--type ","Event type filter, e.g. todos.task.*").option("--source ","Event source filter").option("--subject ","Event subject filter").option("--severity ","Event severity filter").option("--data ","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",E0,[]).option("--metadata ","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",E0,[]).option("--data-json ","Event data field filter with typed JSON value; path!=json negatives supported",E0,[]).option("--metadata-json ","Event metadata field filter with typed JSON value; path!=json negatives supported",E0,[]).option("--secret ","Webhook HMAC secret").option("--header ","Webhook header",E0,[]).option("--arg ","Command argument",E0,[]).option("--timeout-ms ","Transport timeout in milliseconds",r1).option("--retry-attempts ","Maximum delivery attempts",r1).option("--retry-backoff-ms ","Initial retry backoff in milliseconds",r1).option("--redact ","Event field path to redact before delivery",E0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(I,U,E)=>{let j=new Date().toISOString(),N={id:U.id,name:U.name,enabled:!U.disabled,transport:U.transport,filters:wr(U),retry:U.retryAttempts||U.retryBackoffMs?{maxAttempts:U.retryAttempts,backoffMs:U.retryBackoffMs}:void 0,redact:U.redact?.length?{paths:U.redact}:void 0,createdAt:j,updatedAt:j};if(U.transport==="webhook")N.webhook={url:I,secret:U.secret,headers:ur(U.header),timeoutMs:U.timeoutMs};else if(U.transport==="command")N.command={command:I,args:U.arg??[],timeoutMs:U.timeoutMs};else throw Error(`Transport ${U.transport} is reserved for future use and cannot be added yet`);let O=await D4($).addChannel(N);j0(WY(O),F6(U,E),`Added ${O.transport} channel ${O.id}`)}),D.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(I,U)=>{let E=await D4($).listChannels();if(F6(I,U)){console.log(JSON.stringify(br(E),null,2));return}if(!E.length){console.log("No channels configured.");return}for(let j of E)console.log(`${j.id} ${j.enabled?"enabled":"disabled"} ${j.transport} ${j.webhook?.url??j.command?.command??j.transport}`)}),D.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(I,U)=>{let E=await Xr($.dataDir);j0(E,F6(I,U),`events dataDir: ${E.dataDir}`)}),D.command("remove").description("Remove a channel").argument("","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(I,U,E)=>{let j=await D4($).removeChannel(I);j0({removed:j},F6(U,E),j?`Removed ${I}`:`Channel not found: ${I}`)}),D.command("test").description("Send a test event to one channel").argument("","Channel identifier").option("--source ","Event source override").option("--type ","Event type","events.test").option("--subject ","Event subject").option("--message ","Event message","Hasna events test delivery").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(I,U,E)=>{let j=F6(U,E);try{let N=await D4($).testChannel(I,{source:U.source??$.source,type:U.type,subject:U.subject??I,message:U.message,data:qD(U.data,{test:!0}),metadata:qD(U.metadata,{})},{honorFilters:U.honorFilters});j0(N,j,`${N.status}: ${N.channelId}`)}catch(N){UY(N,j)}}),D.command("match").description("Check whether a sample event matches one channel without delivering").argument("","Channel identifier").option("--source ","Event source override").option("--type ","Event type","events.test").option("--subject ","Event subject").option("--message ","Event message","Hasna events match preview").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(I,U,E)=>{let j=F6(U,E);try{let N=await D4($).matchChannel(I,{source:U.source??$.source,type:U.type,subject:U.subject??I,message:U.message,data:qD(U.data,{test:!0}),metadata:qD(U.metadata,{})});j0(N,j,`${N.matched?"matched":"skipped"}: ${N.channelId}`)}catch(N){UY(N,j)}}),D}function hr(_,$){let D=_.command($.eventsCommandName??"events").description("Emit, list, and replay Hasna events");D.command("emit").description("Emit an event from this app").argument("","Event type").option("--source ","Event source override").option("--subject ","Event subject").option("--severity ","Event severity","info").option("--message ","Event message").option("--dedupe-key ","Dedupe key").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(U,E,j)=>{let N=await D4($).emit({source:E.source??$.source,type:U,subject:E.subject,severity:E.severity,message:E.message,dedupeKey:E.dedupeKey,data:qD(E.data,{}),metadata:qD(E.metadata,{})},{deliver:E.deliver,dedupe:E.dedupe});j0(N,F6(E,j),`${N.deduped?"Deduped":"Emitted"} ${N.event.id} to ${N.deliveries.length} channel(s)`)});let I=$.defaultEventListLimit??xr;return D.command("list").description("List recorded events").option("--source ","Filter by source").option("--type ","Filter by type").option("--limit ",`Limit to the most recent events (default ${I}; use 0 for all)`,r1,I).option("-j, --json","Print JSON output",!1).action(async(U,E)=>{let j=await D4($).listEvents();if(U.source)j=j.filter((N)=>N.source===U.source);if(U.type)j=j.filter((N)=>N.type===U.type);if(U.limit)j=j.slice(-U.limit);if(F6(U,E)){console.log(JSON.stringify(j,null,2));return}if(!j.length){console.log("No events recorded.");return}for(let N of j)console.log(`${N.time} ${N.id} ${N.source} ${N.type} ${N.severity}`)}),D.command("replay").description("Replay recorded events").option("--id ","Replay one event id").option("--source ","Filter by source").option("--type ","Filter by type").option("--cursor ","Opaque replay cursor from a previous page").option("--limit ","Maximum events to replay",r1).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(U,E)=>{let j=await D4($).replay({eventId:U.id,source:U.source,type:U.type,cursor:U.cursor,limit:U.limit,dryRun:U.dryRun});j0(j,F6(U,E),cr(j.events.length,j.deliveries.length,j.nextCursor))}),D}function PY(_,$){yr(_,$),hr(_,$)}function r1(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function E0(_,$){return $.push(_),$}function cr(_,$,D){let I=D?`, next cursor: ${D}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${I}`}import{basename as nr,dirname as dr,join as mr}from"path";var zY={debug:0,info:1,warn:2,error:3},lr=()=>{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 A0(_,$,D){if(zY[_]I.toLowerCase()));return $.filter((I)=>!D.has(I.toLowerCase()))}function Hz(_,$,D){if(D===void 0)return{..._,message:$};return{..._,added:D.length,message:`${$} (added ${D.length} tag${D.length===1?"":"s"})`}}function pr(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <content> -t <tag> -t <tag>");let D=$.split(",").map((I)=>I.trim()).filter((I)=>I.length>0);if(D.length===0)throw Error(`Invalid --tag value ${JSON.stringify($)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return or([..._??[],...D])}function er(_){let $=[],D={},I=!1;for(let U=0;U<_.length;U+=1){let E=_[U];if(I){$.push(E);continue}if(E==="--"){I=!0;continue}if(!E.startsWith("-")||$[0]==="add"&&$.length===2&&E.startsWith("---")){$.push(E);continue}switch(E){case"--json":D.json=!0;break;case"--verbose":D.verbose=!0;break;case"--yes":case"-y":D.yes=!0;break;case"--help":case"-h":D.help=!0;break;case"--version":case"-v":D.version=!0;break;case"--desc":D.desc=!0;break;case"--page":case"-p":D.page=Number(_[U+1]),U+=1;break;case"--limit":case"-l":D.limit=Number(_[U+1]),U+=1;break;case"--search":case"-s":D.search=_[U+1],U+=1;break;case"--sort":D.sort=_[U+1],U+=1;break;case"--id":D.id=_[U+1],U+=1;break;case"--store":D.store=_[U+1],U+=1;break;case"--title":D.title=_[U+1],U+=1;break;case"--content":D.content=_[U+1],U+=1;break;case"--url":D.url=_[U+1],U+=1;break;case"--tag":case"-t":D.tag=pr(D.tag,_[U+1]),D.tagRaw=[...D.tagRaw??[],_[U+1]],U+=1;break;case"--format":D.format=_[U+1],U+=1;break;case"--completions":D.completions=_[U+1],U+=1;break;case"--purpose":D.purpose=_[U+1],U+=1;break;case"--model":D.model=_[U+1],U+=1;break;case"--strategy":D.strategy=_[U+1],U+=1;break;case"--dimensions":D.dimensions=Number(_[U+1]),U+=1;break;case"--semantic":D.semantic=!0;break;case"--context":D.context=!0;break;case"--max-tokens":D.maxTokens=Number(_[U+1]),U+=1;break;case"--max-items":D.maxItems=Number(_[U+1]),U+=1;break;case"--from":D.from=_[U+1],U+=1;break;case"--to":D.to=_[U+1],U+=1;break;case"--rev":D.rev=Number(_[U+1]),U+=1;break;case"--if-version":D.ifVersion=Number(_[U+1]),U+=1;break;case"--since":D.since=_[U+1],U+=1;break;case"--topic":D.topic=_[U+1],U+=1;break;case"--dedupe":D.dedupe=!0;break;case"--generate":D.generate=!0;break;case"--approve-write":D.approveWrite=!0;break;case"--provider":D.provider=_[U+1],U+=1;break;case"--mode":D.mode=_[U+1],U+=1;break;case"--machine":D.machine=_[U+1],U+=1;break;case"--workspace":D.workspace=_[U+1],U+=1;break;case"--api-url":D.apiUrl=_[U+1],U+=1;break;case"--canonical-example":D.canonicalExample=!0;break;case"--api-key":D.apiKey=_[U+1],U+=1;break;case"--email":D.email=_[U+1],U+=1;break;case"--org":D.org=_[U+1],U+=1;break;case"--org-id":D.orgId=_[U+1],U+=1;break;case"--user-id":D.userId=_[U+1],U+=1;break;case"--owner":D.owner=_[U+1],U+=1;break;case"--approved-by":D.approvedBy=_[U+1],U+=1;break;case"--patch-uri":D.patchUri=_[U+1],U+=1;break;case"--domain":D.domain=[...D.domain??[],_[U+1]],U+=1;break;case"--file-results":D.fileResults=!0;break;case"--full":D.full=!0;break;case"--dry-run":D.dryRun=!0;break;case"--fake":D.fake=!0;break;case"--no-tailscale":D.tailscale=!1;break;case"--no-artifact-content":D.artifactContent=!1;break;case"--no-color":D.noColor=!0;break;case"--scope":D.scope=_[U+1],U+=1;break;case"--tables":D.tables=_[U+1],U+=1;break;case"--peer-workspace":D.peerWorkspace=_[U+1],U+=1;break;case"--older-than":D.olderThan=Number(_[U+1]),U+=1;break;case"--empty":D.empty=!0;break;case"--archived":D.archived=!0;break;case"--include-archived":D.includeArchived=!0;break;case"--project":D.project=_[U+1],U+=1;break;case"--contract":D.contract=!0;break;case"--source-ref":D.sourceRef=[...D.sourceRef??[],_[U+1]],U+=1;break;case"--allow-global":D.allowGlobal=!0;break;case"--operation-id":D.operationId=_[U+1],U+=1;break;case"--step-id":D.stepId=_[U+1],U+=1;break;case"--idempotency-key":D.idempotencyKey=_[U+1],U+=1;break;case"--collection-id":D.collectionId=_[U+1],U+=1;break;case"--item-id":D.itemId=_[U+1],U+=1;break;case"--receipt-id":D.receiptId=_[U+1],U+=1;break;case"--cursor":D.cursor=_[U+1],U+=1;break;case"--kind":D.kind=[...D.kind??[],_[U+1]],U+=1;break;case"--all":D.all=!0;break;case"--slug":D.slug=_[U+1],U+=1;break;case"--name":D.name=_[U+1],U+=1;break;case"--collection-slug":D.collectionSlug=_[U+1],U+=1;break;case"--collection-name":D.collectionName=_[U+1],U+=1;break;default:throw Error(`Unknown flag: ${E}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:D}}function ar(_){if(!_)return"";return KY[_]??_}function sr(_,$){let D=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let I=0;I<=_.length;I+=1)D[I][0]=I;for(let I=0;I<=$.length;I+=1)D[0][I]=I;for(let I=1;I<=_.length;I+=1)for(let U=1;U<=$.length;U+=1){let E=_[I-1]===$[U-1]?0:1;D[I][U]=Math.min(D[I-1][U]+1,D[I][U-1]+1,D[I-1][U-1]+E)}return D[_.length][$.length]}function _f(_){if(!_)return"";let $=[...QY,...Object.keys(KY)],D="",I=Number.POSITIVE_INFINITY;for(let U of $){let E=sr(_,U);if(E<I)I=E,D=U}return I<=3?D:""}function $f(){return nr(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Df(_){if(!YY.includes(_[0]??""))return!1;let $=new i8;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),PY($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function Uf(){console.log(`knowledge - local agent knowledge store + = 'hasna.knowledge.relations.v1'`,...lR()];var I7=d7(E7(),1),{program:$t,createCommand:Ut,createArgument:Dt,createOption:jt,CommanderError:Nt,InvalidArgumentError:Et,InvalidOptionArgumentError:It,Command:A7,Argument:At,Option:Wt,Help:Jt}=I7.default;import{chmod as W3,mkdir as ix,readFile as tx,rename as ox,writeFile as S7}from"fs/promises";import{Buffer as G7}from"buffer";import{existsSync as T7}from"fs";import{homedir as px}from"os";import{join as Uj}from"path";import{createHmac as Uy,timingSafeEqual as Rt}from"crypto";import{randomUUID as Ny}from"crypto";import{spawn as Ey}from"child_process";import{randomUUID as Sy}from"crypto";function ux(_,$){return $.split(".").reduce((U,j)=>{if(U&&typeof U==="object"&&j in U)return U[j];return},_)}function hx(_,$){let U=[],j=(N)=>{if(!U.some((E)=>Object.is(E,N)))U.push(N)};if($.includes(".")&&$ in _)j(_[$]);let D=ux(_,$);if(D!==void 0||!$.includes("."))j(D);return U}function rx(_,$={}){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 _j(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>rx(D,U).test(_))}function W7(_,$){if(!$)return!0;return Object.entries($).every(([U,j])=>{let D=hx(_,U);return cx(D,j,U)})}function cx(_,$,U){if(dx($))return!_.some((j)=>J7(j,$.not,U));return _.some((j)=>J7(j,$,U))}function J7(_,$,U){if(typeof $==="string"||Array.isArray($))return mx(_).some((j)=>_j(j,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((j)=>j===$);return _===$}function mx(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>nx($)?[String($)]:[]);return[String(_)]}function nx(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function dx(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function lx(_,$){return _j(_.source,$.source)&&_j(_.type,$.type)&&_j(_.subject,$.subject)&&_j(_.severity,$.severity)&&W7(_.data,$.data)&&W7(_.metadata,$.metadata)}function L7(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>lx($,U))}var D2="HASNA_EVENTS_DIR",j2="HASNA_EVENTS_HOME",P3="local-json-v1:",ax=100,ex=1000;function V7(_){return _||process.env[D2]||process.env[j2]||Uj(px(),".hasna","events")}function sx(){if(process.env[D2])return D2;if(process.env[j2])return j2;return null}class N2{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=V7()){this.dataDir=_,this.runtime=_y(_),this.channelsPath=Uj(_,"channels.json"),this.eventsPath=Uj(_,"events.json"),this.deliveriesPath=Uj(_,"deliveries.json")}async init(){await ix(this.dataDir,{recursive:!0,mode:448}),await W3(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=O7(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 P7($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=P7($,{eventId:_.eventId,source:_.source,type:_.type}),j=E2(_.cursor,_),D=I2(_.limit),N=U.slice(j,j+D),E=j+N.length,I=E<U.length;return{events:N,cursor:_.cursor,nextCursor:I?B7(E,_):void 0,hasMore:I}}async findEventByIdentity(_){let $=await this.listEvents();return O7($,_)}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(!T7(_))await S7(_,`[] +`,{encoding:"utf-8",mode:384});await W3(_,384).catch(()=>{return})}async readJson(_,$){try{let U=await tx(_,"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 S7(U,`${JSON.stringify($,null,2)} +`,{encoding:"utf-8",mode:384}),await ox(U,_),await W3(_,384).catch(()=>{return})}}function _y(_=V7()){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 B7(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${P3}${G7.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function E2(_,$={}){if(!_)return 0;if(!_.startsWith(P3))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(P3.length),j;try{j=JSON.parse(G7.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 J3("eventId",j.eventId,$.eventId),J3("source",j.source,$.source),J3("type",j.type,$.type),D}function I2(_){if(_===void 0)return ax;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,ex)}function P7(_,$){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=E2($.cursor,$);U=U.slice(j)}if($.limit!==void 0)U=U.slice(0,I2($.limit));return U}function J3(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function O7(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function $y(_){let $=new N2(_);await $.init();let[U,j,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),N=U.reduce((E,I)=>{return E[I.transport]=(E[I.transport]??0)+1,E},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:D2,fallback:j2,active:sx()},files:{channels:L3($.dataDir,"channels.json",U.length),events:L3($.dataDir,"events.json",j.length),deliveries:L3($.dataDir,"deliveries.json",D.length)},counts:{channels:U.length,enabledChannels:U.filter((E)=>E.enabled).length,disabledChannels:U.filter((E)=>!E.enabled).length,events:j.length,deliveries:D.length},transports:N,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function L3(_,$,U){let j=Uj(_,$);return{path:j,exists:T7(j),records:U}}function Dy(_,$){return`${_}.${$}`}function jy(_,$,U){return`sha256=${Uy("sha256",_).update(Dy($,U)).digest("hex")}`}function A6(){return new Date().toISOString()}function $j(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Iy(_,$){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"]=jy($.webhook.secret,j,U);return{body:U,headers:D}}async function Ay(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let j=A6(),{body:D,headers:N}=Iy(_,$),E=new AbortController,I=setTimeout(()=>E.abort(),$.webhook.timeoutMs??15000);try{let W=await(U.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:N,body:D,signal:E.signal}),J=$j(await W.text());return{attempt:1,status:W.ok?"success":"failed",startedAt:j,completedAt:A6(),responseStatus:W.status,responseBody:J,error:W.ok?void 0:`Webhook returned HTTP ${W.status}`}}catch(W){return{attempt:1,status:"failed",startedAt:j,completedAt:A6(),error:W instanceof Error?W.message:String(W)}}finally{clearTimeout(I)}}async function Wy(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=A6(),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((N)=>{let E=Ey($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),I="",W="",J=setTimeout(()=>E.kill("SIGTERM"),$.command.timeoutMs??15000);E.stdin.end(j),E.stdout.on("data",(L)=>{I+=L.toString()}),E.stderr.on("data",(L)=>{W+=L.toString()}),E.on("error",(L)=>{clearTimeout(J),N({attempt:1,status:"failed",startedAt:U,completedAt:A6(),stdout:$j(I),stderr:$j(W),error:L.message})}),E.on("close",(L,S)=>{clearTimeout(J);let X=L===0;N({attempt:1,status:X?"success":"failed",startedAt:U,completedAt:A6(),stdout:$j(I),stderr:$j(W),error:X?void 0:`Command exited with ${S?`signal ${S}`:`code ${L}`}`})})})}async function Jy(_,$,U={}){if($.transport==="webhook")return Ay(_,$,U);if($.transport==="command")return Wy(_,$);return{attempt:1,status:"skipped",startedAt:A6(),completedAt:A6(),error:`Unsupported transport: ${$.transport}`}}function z7(_,$,U){let j=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Ny(),eventId:_.id,channelId:$.id,transport:$.transport,status:j,attempts:U,createdAt:U[0]?.startedAt??A6(),completedAt:U.at(-1)?.completedAt??A6()}}class F7 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 K7{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 F7(_.type,$.issues)}}var Ly=new K7;function S3(_){return{id:_.id??Sy(),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 g7{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new N2(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Ly,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?S3(_):zy(S3(_));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 X7(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=X7(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=E2(_.cursor,_),j=I2(_.limit),D=$.slice(U,U+j),N=U+D.length,E=N<$.length;return{events:D,cursor:_.cursor,nextCursor:E?B7(N,_):void 0,hasMore:E}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>L7(D,_)),j=[];for(let D of U){let N=await this.applyRedaction(_,D),E=await this.deliverWithRetry(N,D);await this.store.appendDelivery(E),j.push(E)}return j}async matchChannel(_,$={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let j=S3({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=L7(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(_,$),N=D.event;if(U.honorFilters&&!D.matched){let W=new Date().toISOString(),J=z7(N,j,[{attempt:1,status:"skipped",startedAt:W,completedAt:W,error:D.reason}]);return J.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(J),J}let E=await this.applyRedaction(N,j),I=await this.deliverWithRetry(E,j);return await this.store.appendDelivery(I),I}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=Py(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let j of this.redactors)U=await j(U,$);return U}async deliverWithRetry(_,$){let U=Ry($.retry),j=[];for(let D=0;D<U.maxAttempts;D+=1){let N=await Jy(_,$,this.transportOptions);if(N.attempt=D+1,N.status==="failed"&&D+1<U.maxAttempts)N.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**D);if(j.push(N),N.status!=="failed")break;if(N.nextBackoffMs)await Bun.sleep(N.nextBackoffMs)}return z7(_,$,j)}}function Py(_,$,U="[REDACTED]"){if($.length===0)return _;let j=structuredClone(_);for(let D of $)Xy(j,D,U);return j}function M7(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([U,j])=>[U,Z7(U)?"[REDACTED]":j]));return $}function Oy(_){return _.map(M7)}function zy(_,$="[REDACTED]"){return O3(_,$)}function Z7(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function O3(_,$){if(Array.isArray(_))return _.map((U)=>O3(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,j])=>[U,Z7(U)?$:O3(j,$)]))}function Xy(_,$,U){let j=$.split("."),D=_;for(let E of j.slice(0,-1)){let I=D[E];if(!I||typeof I!=="object")return;D=I}let N=j.at(-1);if(N&&N in D)D[N]=U}function X7(_,$){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(E2($.cursor,$));if($.limit!==void 0)U=U.slice(0,I2($.limit));return U}function Yy(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function Ry(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function U2(_,$,U=!1){if(!_?.length)return;let j={};for(let D of _){let N=Ty(D,$),E=N.path;if(E in j)throw Error(`Duplicate ${$} filter path: ${E}`);let I=U?Gy(N.rawValue,$):N.rawValue;j[E]=N.negated?{not:I}:I}return j}function Qy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=Y7(U2(_.data,"data"),U2(_.dataJson,"data-json",!0)),j=Y7(U2(_.metadata,"metadata"),U2(_.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 Y7(..._){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 Gy(_,$){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 Ty(_,$){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 Vy=100;function tU(_,$){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 P4(_){if(_.createClient)return _.createClient();return new g7({store:new N2(_.dataDir)})}function R0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function R7(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function Q7(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function w6(_,$){return Q7(_)||Q7($)}function Fy(_,$){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",Y0,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",Y0,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",Y0,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",Y0,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",Y0,[]).option("--arg <arg...>","Command argument",Y0,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",Dj).option("--retry-attempts <n>","Maximum delivery attempts",Dj).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",Dj).option("--redact <path...>","Event field path to redact before delivery",Y0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(j,D,N)=>{let E=new Date().toISOString(),I={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:E,updatedAt:E};if(D.transport==="webhook")I.webhook={url:j,secret:D.secret,headers:By(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")I.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 W=await P4($).addChannel(I);R0(M7(W),w6(D,N),`Added ${W.transport} channel ${W.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(j,D)=>{let N=await P4($).listChannels();if(w6(j,D)){console.log(JSON.stringify(Oy(N),null,2));return}if(!N.length){console.log("No channels configured.");return}for(let E of N)console.log(`${E.id} ${E.enabled?"enabled":"disabled"} ${E.transport} ${E.webhook?.url??E.command?.command??E.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(j,D)=>{let N=await $y($.dataDir);R0(N,w6(j,D),`events dataDir: ${N.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(j,D,N)=>{let E=await P4($).removeChannel(j);R0({removed:E},w6(D,N),E?`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,N)=>{let E=w6(D,N);try{let I=await P4($).testChannel(j,{source:D.source??$.source,type:D.type,subject:D.subject??j,message:D.message,data:tU(D.data,{test:!0}),metadata:tU(D.metadata,{})},{honorFilters:D.honorFilters});R0(I,E,`${I.status}: ${I.channelId}`)}catch(I){R7(I,E)}}),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,N)=>{let E=w6(D,N);try{let I=await P4($).matchChannel(j,{source:D.source??$.source,type:D.type,subject:D.subject??j,message:D.message,data:tU(D.data,{test:!0}),metadata:tU(D.metadata,{})});R0(I,E,`${I.matched?"matched":"skipped"}: ${I.channelId}`)}catch(I){R7(I,E)}}),U}function Ky(_,$){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,N,E)=>{let I=await P4($).emit({source:N.source??$.source,type:D,subject:N.subject,severity:N.severity,message:N.message,dedupeKey:N.dedupeKey,data:tU(N.data,{}),metadata:tU(N.metadata,{})},{deliver:N.deliver,dedupe:N.dedupe});R0(I,w6(N,E),`${I.deduped?"Deduped":"Emitted"} ${I.event.id} to ${I.deliveries.length} channel(s)`)});let j=$.defaultEventListLimit??Vy;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)`,Dj,j).option("-j, --json","Print JSON output",!1).action(async(D,N)=>{let E=await P4($).listEvents();if(D.source)E=E.filter((I)=>I.source===D.source);if(D.type)E=E.filter((I)=>I.type===D.type);if(D.limit)E=E.slice(-D.limit);if(w6(D,N)){console.log(JSON.stringify(E,null,2));return}if(!E.length){console.log("No events recorded.");return}for(let I of E)console.log(`${I.time} ${I.id} ${I.source} ${I.type} ${I.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",Dj).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,N)=>{let E=await P4($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});R0(E,w6(D,N),gy(E.events.length,E.deliveries.length,E.nextCursor))}),U}function H7(_,$){Fy(_,$),Ky(_,$)}function Dj(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function Y0(_,$){return $.push(_),$}function gy(_,$,U){let j=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${j}`}import{basename as My,dirname as Zy,join as Hy}from"path";var q7={debug:0,info:1,warn:2,error:3},qy=()=>{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 G0(_,$,U){if(q7[_]<q7[qy()])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 v7=["events","webhooks"],f7=["add","list","get","delete","update","archive","restore","upsert","untag","versions","diff","export","prune","dedupe","stats","inventory","project-panel","project-registration","project-membership","project-resources","project-resource","paths","mode","guarded","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...v7],x7={ls:"list",rm:"delete",edit:"update",unarchive:"restore"},ky=/^k_[A-Za-z0-9][A-Za-z0-9_-]*$/;async function Cy(_,$,U){if(/\s/.test($))return!0;if(_.length<=1)return!1;let j=_[1]??"";if(ky.test(j))return!1;return await U.get(j)===null}function by(_){let $=new Set,U=[];for(let j of _){let D=j.toLowerCase();if($.has(D))continue;$.add(D),U.push(j)}return U}function k7(_,$){let U=new Set((_??[]).map((j)=>j.toLowerCase()));return $.filter((j)=>!U.has(j.toLowerCase()))}function z3(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function wy(_,$){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 by([..._??[],...U])}function vy(_){let $=[],U={},j=_.indexOf("guarded"),D=j>=0&&_.indexOf("execute-descriptor",j+1)>=0,N=!1;for(let E=0;E<_.length;E+=1){let I=_[E];if(N){$.push(I);continue}if(I==="--"){N=!0;continue}if(!I.startsWith("-")||$[0]==="add"&&$.length===2&&I.startsWith("---")){$.push(I);continue}switch(I){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(_[E+1]),E+=1;break;case"--limit":case"-l":U.limit=Number(_[E+1]),E+=1;break;case"--search":case"-s":U.search=_[E+1],E+=1;break;case"--sort":U.sort=_[E+1],E+=1;break;case"--id":U.id=_[E+1],E+=1;break;case"--store":U.store=_[E+1],E+=1;break;case"--title":U.title=_[E+1],E+=1;break;case"--content":U.content=_[E+1],E+=1;break;case"--url":U.url=_[E+1],E+=1;break;case"--tag":case"-t":U.tag=wy(U.tag,_[E+1]),U.tagRaw=[...U.tagRaw??[],_[E+1]],E+=1;break;case"--format":U.format=_[E+1],E+=1;break;case"--completions":U.completions=_[E+1],E+=1;break;case"--purpose":U.purpose=_[E+1],E+=1;break;case"--model":U.model=_[E+1],E+=1;break;case"--strategy":U.strategy=_[E+1],E+=1;break;case"--dimensions":U.dimensions=Number(_[E+1]),E+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number(_[E+1]),E+=1;break;case"--max-items":U.maxItems=Number(_[E+1]),E+=1;break;case"--from":U.from=_[E+1],E+=1;break;case"--to":U.to=_[E+1],E+=1;break;case"--rev":U.rev=Number(_[E+1]),E+=1;break;case"--if-version":U.ifVersion=Number(_[E+1]),E+=1;break;case"--since":U.since=_[E+1],E+=1;break;case"--topic":U.topic=_[E+1],E+=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=_[E+1],E+=1;break;case"--mode":U.mode=_[E+1],E+=1;break;case"--machine":U.machine=_[E+1],E+=1;break;case"--workspace":U.workspace=_[E+1],E+=1;break;case"--api-url":U.apiUrl=_[E+1],E+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=_[E+1],E+=1;break;case"--email":U.email=_[E+1],E+=1;break;case"--org":U.org=_[E+1],E+=1;break;case"--org-id":U.orgId=_[E+1],E+=1;break;case"--user-id":U.userId=_[E+1],E+=1;break;case"--owner":U.owner=_[E+1],E+=1;break;case"--approved-by":U.approvedBy=_[E+1],E+=1;break;case"--patch-uri":U.patchUri=_[E+1],E+=1;break;case"--domain":U.domain=[...U.domain??[],_[E+1]],E+=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=_[E+1],E+=1;break;case"--tables":U.tables=_[E+1],E+=1;break;case"--peer-workspace":U.peerWorkspace=_[E+1],E+=1;break;case"--older-than":U.olderThan=Number(_[E+1]),E+=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=_[E+1],E+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],_[E+1]],E+=1;break;case"--allow-global":U.allowGlobal=!0;break;case"--operation-id":U.operationId=_[E+1],E+=1;break;case"--step-id":U.stepId=_[E+1],E+=1;break;case"--idempotency-key":U.idempotencyKey=_[E+1],E+=1;break;case"--collection-id":U.collectionId=_[E+1],E+=1;break;case"--item-id":U.itemId=_[E+1],E+=1;break;case"--receipt-id":U.receiptId=_[E+1],E+=1;break;case"--cursor":U.cursor=_[E+1],E+=1;break;case"--kind":U.kind=[...U.kind??[],_[E+1]],E+=1;break;case"--all":U.all=!0;break;case"--slug":U.slug=_[E+1],E+=1;break;case"--name":U.name=_[E+1],E+=1;break;case"--collection-slug":U.collectionSlug=_[E+1],E+=1;break;case"--collection-name":U.collectionName=_[E+1],E+=1;break;case"--request-fd":U.requestFd=Number(_[E+1]),E+=1;break;case"--result-fd":U.resultFd=Number(_[E+1]),E+=1;break;default:if(D)throw Error("guarded_descriptor_public_input_refused");throw Error(`Unknown flag: ${I}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:U}}function fy(_){if(!_)return"";return x7[_]??_}function xy(_,$){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 N=_[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]+N)}return U[_.length][$.length]}function yy(_){if(!_)return"";let $=[...f7,...Object.keys(x7)],U="",j=Number.POSITIVE_INFINITY;for(let D of $){let N=xy(_,D);if(N<j)j=N,U=D}return j<=3?U:""}function uy(){return My(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function hy(_){if(!v7.includes(_[0]??""))return!1;let $=new A7;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),H7($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function ry(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -2905,6 +2906,7 @@ Commands: paths Show resolved workspace/store paths mode Report the resolved backend (local or cloud) and why guarded capabilities Report FCAME-1 private transport capability + guarded execute-descriptor Execute an opaque descriptor over inherited private FDs setup Configure local, hosted, or canonical example S3 mode auth login|whoami|logout Manage hosted API credentials storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path|import-legacy @@ -3024,7 +3026,7 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function If(_){if(_==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] + --empty Remove items with empty content`)}function cy(_){if(_==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"`);return}if(_==="list"||_==="ls"){console.log(`Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json] -s/--search is a CASE-INSENSITIVE LITERAL SUBSTRING filter over id, title and content \u2014 not a tokenised or semantic search, so a word order that never appears verbatim matches nothing. It @@ -3064,31 +3066,37 @@ Prune Options: Reports which backend this process would use \u2014 sqlite (on-box store) or postgres (HTTP /v1) \u2014 and which env var selected it. Reads the environment only: no store is opened, no config file is read, and no request is made, so it is safe on a machine with no config and no network. - Selection is EXPLICIT-ONLY: set ${$6[0]}=sqlite|postgres. Setting only - ${m1[0]} / ${l1[0]} does NOT switch backends; - those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if(_==="guarded"){console.log(`Usage: knowledge guarded capabilities [--json] - Reports metadata-only FCAME-1 private input, private result, and exact-title lookup support.`);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] + Selection is EXPLICIT-ONLY: set ${L6[0]}=sqlite|postgres. Setting only + ${Sj[0]} / ${Pj[0]} does NOT switch backends; + those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if(_==="guarded"){console.log(`Usage: + knowledge guarded capabilities [--json] + knowledge guarded execute-descriptor --request-fd <fd> --result-fd <fd> [--json] + + execute-descriptor is an internal package-owned worker. Private requests and results must use + distinct inherited anonymous pipe or socket descriptors numbered 3 or higher. It rejects stdin, + regular files, positional bodies, and body-bearing flags. Use the exported opaque-descriptor + helpers rather than invoking this worker directly from a shell.`);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}Uf()}function Ef(_){if(_.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function k(_,$,D){if($){console.log(JSON.stringify(_,null,2));return}if(typeof _==="string"){console.log(_);return}if(D?.verbose){console.log(JSON.stringify(_,null,2));return}let I=_.message;console.log(I?`${I} -${i_()}`:jf(_))}function i_(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function I_(_,$=120){let D=_===null||_===void 0?"":String(_).replace(/\s+/g," ").trim();if(D.length<=$)return D;return`${D.slice(0,Math.max(0,$-3))}...`}function jf(_){if(!_||typeof _!=="object")return String(_);let $=_,D=[$.ok===!1?"Result: not ok":"Result: ok"];for(let[I,U]of Object.entries($).slice(0,8)){if(I==="ok"||I==="message")continue;if(Array.isArray(U))D.push(`${I}: ${U.length} item(s)`);else if(U&&typeof U==="object")D.push(`${I}: ${Object.keys(U).length} field(s)`);else D.push(`${I}: ${I_(U,100)}`)}return D.push(i_()),D.join(` -`)}function Nf(_){let $=_.mode==="postgres"?"postgres (HTTP /v1 API)":"sqlite (on-box store)",D=_.source.kind==="env"?`selected by ${_.source.name}=${_.source.value}`:`default (no mode var set; set ${$6[0]}=postgres to use the API)`,I=[`Knowledge mode: ${$}`,` ${D}`];if(_.pointer_env_present.length>0){let U=_.pointer_ignored?"present but IGNORED for mode selection":"present";I.push(` Pointer env ${U}: ${_.pointer_env_present.join(", ")}`)}if(_.network_guard_active)I.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if(_.warning)I.push(` Note: ${_.warning}`);return I.join(` -`)}function Af(_){return[`Knowledge paths (${_.scope})`,`Home: ${_.home}`,`SQLite: ${_.knowledge_db_path}`,`JSON store: ${_.json_store_path}`,`Wiki: ${_.wiki_dir}`,i_("config and all paths")].join(` -`)}function XY(_){console.log(JSON.stringify(_))}function Of(_){let $=_.summary,D=[`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)`],I=(U,E,j)=>{if(E.length===0)return;D.push("",`${U}:`);for(let N of E.slice(0,_.limit))D.push(`- ${j(N)}`)};return I("Items",_.items,(U)=>`${U.id}: ${U.title}`),I("Sources",_.sources,(U)=>`${U.kind??"source"} ${U.uri} (${U.chunks??0} chunk(s))`),I("Chunks",_.chunks,(U)=>`${U.kind??"chunk"} ${U.id}: ${U.text_preview??""}`),I("Wiki pages",_.wiki_pages,(U)=>`${U.path}: ${U.title}`),I("Indexes",_.indexes,(U)=>`${U.kind??"index"} ${U.name}${U.shard_key?` (${U.shard_key})`:""}`),I("Artifacts",_.storage_objects,(U)=>`${U.kind??"artifact"} ${U.artifact_uri}`),I("Runs",_.runs,(U)=>`${U.type??"run"} ${U.id}: ${U.status??"unknown"}`),I("Machines",_.machines,(U)=>`${U.machine_id}${U.workspace_home?` ${U.workspace_home}`:""}`),I("Sync conflicts",_.sync_conflicts,(U)=>`${U.id}: ${U.entity_kind}/${U.entity_id} ${U.status}`),D.join(` -`)}function Sf(_){let $=Array.isArray(_.results)?_.results:[],D=[`${$.length} search result(s) for "${I_(_.query,80)}"${_.mode?.semantic?" (semantic enabled)":""}`];for(let I of $.slice(0,_.limit??10)){let U=I.source?.uri??I.provenance?.source_uri??I.artifact?.path??I.artifact?.uri??I.id,E=typeof I.score==="number"?` score=${I.score.toFixed(3)}`:"";if(D.push(`- ${I.kind??"result"} ${I_(I.title??I.id,80)}${E}`),U)D.push(` source: ${I_(U,120)}`);if(I.text)D.push(` text: ${I_(I.text,180)}`)}if($.length===0)D.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(D.push(i_("scores, provenance, and full result objects")),!_.context)D.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return D.join(` -`)}function Lf(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],D=Array.isArray(_.citations)?_.citations:[],I=[`${$.length} context excerpt(s) for "${I_(_.query??_.normalized_query,80)}"`];for(let U of $.slice(0,10)){let E=D.find((O)=>O.id===U.citation_id||O.result_id===U.result_id),j=E?.source_uri??E?.artifact_path??U.result_id,N=typeof U.score==="number"?` score=${U.score.toFixed(3)}`:"";if(I.push(`- ${U.kind??"excerpt"} ${I_(U.id,44)}${N}`),j)I.push(` source: ${I_(j,120)}`);I.push(` text: ${I_(U.text,220)}`)}return I.push(`Citations: ${D.length}`),I.push(i_("citations, graph, notes, and full excerpts")),I.join(` -`)}function Wf(_){let $=Array.isArray(_.results)?_.results:[],D=[`${$.length} semantic result(s) for "${I_(_.query,80)}"`,`Index: ${_.provider??"unknown"}:${_.model??"unknown"} (${_.dimensions??"?"} dimensions)`];for(let I of $.slice(0,_.limit??10)){let U=typeof I.score==="number"?` score=${I.score.toFixed(3)}`:"";if(D.push(`- ${I_(I.chunk_id,44)}${U}`),I.source_uri)D.push(` source: ${I_(I.source_uri,120)}`);if(I.text)D.push(` text: ${I_(I.text,180)}`)}return D.push(i_("provenance and full vector result objects")),D.join(` -`)}function Jf(_){let $=Array.isArray(_.sources)?_.sources:[],D=[`${$.length} web source(s) for "${I_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let I of $.slice(0,_.limit??10)){D.push(`- ${I_(I.title??I.url??I.uri??"source",100)}`);let U=I.url??I.uri??I.source_ref;if(U)D.push(` url: ${I_(U,140)}`);if(I.snippet)D.push(` snippet: ${I_(I.snippet,180)}`)}return D.push(i_("provider payloads and filed source refs")),D.join(` -`)}function Pf(_){let $=Array.isArray(_.machines)?_.machines:[],D=[`${$.length} machine(s) discovered via ${_.source??"unknown"}`,`Adapter: ${_.adapter?.package??"@hasna/machines"} ${_.adapter?.available?"available":"unavailable"}`];for(let I of $.slice(0,10)){let U=I.local?" local":"",E=I.tailscale_dns??I.ssh_target??I.hostname??"";D.push(`- ${I_(I.machine_id??I.id??"unknown",48)}${U}${E?` -> ${I_(E,80)}`:""}`)}if($.length>10)D.push(`... ${$.length-10} more machine(s).`);if(Array.isArray(_.warnings)&&_.warnings.length>0)D.push(`Warnings: ${_.warnings.slice(0,3).join("; ")}`);return D.push(i_("full topology, route hints, and adapter evidence")),D.join(` -`)}function zf(_){let $=Array.isArray(_.checks)?_.checks:[],D=$.filter((E)=>E.status==="fail"||E.severity==="fail"),I=$.filter((E)=>E.status==="warn"||E.severity==="warn"),U=[`Machine preflight ${_.ok?"passed":"needs attention"} for ${_.machine_id??_.requested_machine_id??"local"}`,`Checks: ${$.length} total, ${D.length} failed, ${I.length} warning(s)`];for(let E of[...D,...I].slice(0,8))U.push(`- ${E.status??E.severity??"check"} ${I_(E.id??E.kind??"check",72)}: ${I_(E.message??E.detail??"",140)}`);return U.push(i_("all checks and repair hints")),U.join(` -`)}function gf(_){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(([D,I])=>`${D}=${I}`).join(", ")||"none"}`,i_("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function Xf(_){let $=Array.isArray(_.warnings)?_.warnings:[],D=Array.isArray(_.recommended_commands)?_.recommended_commands:[],I=[_.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)I.push(`Warnings: ${$.slice(0,5).join("; ")}`);for(let U of D.slice(0,5))I.push(`- next: ${I_(U.shell_command??U.command?.join(" ")??U.id,160)}`);return I.push(i_("diagnostics, route evidence, and all recommended commands")),I.join(` -`)}function Gf(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${I_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${I_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,i_("snapshot payload and topology evidence")].join(` -`)}function Rf(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],D=[`${$.length} sync conflict(s)`];for(let I of $.slice(0,10))D.push(`- ${I_(I.id,48)} ${I.status??"unknown"} ${I.entity_kind??""}/${I_(I.entity_id,80)}`);return D.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),D.push(i_("full conflict objects")),D.join(` -`)}function Yf(_){let $=Array.isArray(_.machines)?_.machines:[],D=[`${$.length} registered sync machine(s)`];for(let I of $.slice(0,10))D.push(`- ${I_(I.machine_id,48)} ${I_(I.hostname??I.workspace_home??"",100)}`);return D.push(i_("machine registry rows")),D.join(` -`)}function GY(_,$){let D=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],I=(U,E)=>{if(!E)return;let N=(Array.isArray(E.tables)?E.tables:[]).reduce((L,W)=>L+(W.inserted??0)+(W.updated??0)+(W.deleted??0),0),O=E.artifacts?.copied??0,S=Array.isArray(E.errors)?E.errors.length:0;D.push(`${U}: ${N} table row change(s), ${O} artifact(s), ${S} error(s)`)};if(I("pull",_.pull),I("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)D.push(`Errors: ${_.errors.slice(0,3).map((U)=>I_(U,120)).join("; ")}`);return D.push(i_("per-table rows, artifacts, clocks, and errors")),D.join(` -`)}function Qf(_){let $=Array.isArray(_.citations)?_.citations:[],D=Array.isArray(_.context?.excerpts)?_.context.excerpts:Array.isArray(_.excerpts)?_.excerpts:[],I=[_.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${$.length}; excerpts: ${D.length}`];if(_.answer)I.push(`Answer: ${I_(_.answer,500)}`);for(let U of $.slice(0,5))I.push(`- ${I_(U.source_uri??U.ref??U.id,120)}`);return I.push(i_("full answer payload, context, citations, and run ledger")),I.join(` -`)}function Kf(_,$){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 RY(_){return!_||_==="local"||_==="localhost"}function N0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Tf(_,$){let D=$.sort??"created";if(D!=="created"&&D!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let I=[..._].sort((U,E)=>{if(D==="title")return U.title.localeCompare(E.title);return U.created_at.localeCompare(E.created_at)});if($.desc)I.reverse();return{sorted:I,sort:D,direction:$.desc?"desc":"asc"}}async function Ff(_){if(await Df(_))return;let{positional:$,flags:D}=er(_);if(A0("debug","CLI invoked",{command:$[0],flags:{json:D.json,store:D.store}}),D.version){console.log(D.json?JSON.stringify({name:E$.name,version:E$.version},null,2):`${E$.name} ${E$.version}`);return}if(D.completions){let S=D.completions;if(S==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 --rev --to --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 --operation-id --step-id --idempotency-key --slug --name --collection-id --collection-slug --collection-name --item-id --receipt-id --cursor --kind --all --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(S==="zsh")console.log(`#compdef knowledge -_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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" "(--all)--all" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(--search)--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}:" "(--to)--to[diff target: version number or current]:" "(--rev)--rev[entry version for diff]:number:" "(--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]:" "(--operation-id)--operation-id[registration operation id]:" "(--step-id)--step-id[registration step id]:" "(--idempotency-key)--idempotency-key[caller idempotency key]:" "(--slug)--slug[project slug]:" "(--name)--name[project name]:" "(--collection-id)--collection-id[exact collection id]:" "(--collection-slug)--collection-slug[collection slug]:" "(--collection-name)--collection-name[collection name]:" "(--item-id)--item-id[exact item id]:" "(--receipt-id)--receipt-id[exact receipt id]:" "(--cursor)--cursor[resource cursor]:" "(--kind)--kind[resource kind]:(project collection item taxonomy):" "(--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(S==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 to; complete -c knowledge -l rev; 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 operation-id; complete -c knowledge -l step-id; complete -c knowledge -l idempotency-key; complete -c knowledge -l slug; complete -c knowledge -l name; complete -c knowledge -l collection-id; complete -c knowledge -l collection-slug; complete -c knowledge -l collection-name; complete -c knowledge -l item-id; complete -c knowledge -l receipt-id; complete -c knowledge -l cursor; complete -c knowledge -l kind -a "project collection item taxonomy"; complete -c knowledge -l all; 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 I=ar($[0]),U=1,E=$f()&&I&&!QY.includes(I);if(!I||D.help||I==="help"){let S=I==="help"?$[1]:I||$[1];If(S);return}if(I==="mode"){let S=B3(process.env);k(D.json||D.verbose?{ok:!0,...S}:Nf(S),D.json,D);return}if(I==="guarded"){if(($[1]??"capabilities")!=="capabilities")throw Error("Usage: knowledge guarded capabilities [--json]");k({ok:!0,contract:"FCAME-1",private_input:!0,private_result:!0,exact_title_lookup:!0,private_transport_body_output:!1},D.json,D);return}V3(process.env,{storePathOverridden:Boolean(D.store)});let j=I==="project-panel"||I==="app-wiki"?D.scope??"project":D.scope,N=gN({scope:j}),O;try{if(I==="storage"){let J=$[1]??"status";if(J==="import-legacy"){if(D.scope&&D.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let P=oN({dryRun:D.dryRun});if(k(P,D.json),!P.ok)process.exitCode=1;return}if(J==="migrate-legacy-path"||J==="migrate-legacy"||J==="migrate-path"){let P=N.migrateLegacyPath({approveWrite:D.approveWrite,approvedBy:D.approvedBy});if(k(P,D.json),!P.ok&&!D.json)process.exitCode=1;return}if(J==="merge-legacy-path"||J==="merge-legacy"||J==="merge-path"){let P=N.mergeLegacyPath({approveWrite:D.approveWrite,approvedBy:D.approvedBy});if(k(P,D.json),!P.ok&&!D.json)process.exitCode=1;return}}let S=Boolean(D.store),L=D.store;if(!L)if(j==="project"||j==="local")L=N.workspace.jsonStorePath;else L=y1();let W=o1({storePath:L,storePathOverridden:S});if(E&&await tr($,I,W))I="ask",U=0;if(!S&&(I==="ask"||I==="build")&&!h$())xD(L);let g=()=>{if(!S||h$())return N.projectLinksAuthority();return O??=SN({databasePath:mr(dr(L),"knowledge.db"),itemStore:W,options:{packageVersion:E$.version,authorityId:process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),O};if(I==="project-registration"){let J=$[1]??"capability",P=g();if(J==="capability"){k({ok:!0,capability:await P.capability()},D.json,D);return}if(J==="create"){let X=await P.capability(),R=D.project,T=D.slug,Y=D.name;if(!D.operationId||!D.stepId||!D.idempotencyKey||!R||!T||!Y)throw Error("Usage: knowledge project-registration create --operation-id <id> --step-id <id> --idempotency-key <key> --project <id> --slug <slug> --name <name> [--collection-slug <slug>] [--collection-name <name>] [--json]");let Q={collection_slug:D.collectionSlug??`${T}-knowledge`,collection_name:D.collectionName??`${Y} Knowledge`},F=V_({action:"register_collection",source_project_id:R,project_slug:T,project_name:Y,collection_slug:Q.collection_slug,collection_name:Q.collection_name,membership_rule:"explicit_collection_binding"}),B=await P.registerCollection({operation_id:D.operationId,step_id:D.stepId,resource_kind:"collection",direction:"forward",authority_route:q$,package_version:X.package_version,authority_id:X.authority_id,tenant_id:X.tenant_id,corpus_id:X.corpus_id,target_selector:R,idempotency_key:D.idempotencyKey,request_digest:F,precondition_digest:V_({source_project_id:R,expected:"absent_or_exact_match"}),project_id:R,project_slug:T,project_name:Y,desired:Q});k({ok:B.outcome==="accepted",receipt:B},D.json,D);return}if(J==="read-exact"){if(!D.collectionId)throw Error("Usage: knowledge project-registration read-exact --collection-id <uuid> [--json]");k({ok:!0,record:await P.readCollection(D.collectionId)},D.json,D);return}if(J==="receipt"){let X=$[2],R=$[3];if(!D.operationId||!D.stepId||!D.idempotencyKey||!X||!R)throw Error("Usage: knowledge project-registration receipt <register_collection|bind_item> <forward|inverse> --operation-id <id> --step-id <id> --idempotency-key <key> [--json]");let T=await P.capability(),Y=await P.lookupReceipt({authority_id:T.authority_id,tenant_id:T.tenant_id,corpus_id:T.corpus_id,operation_id:D.operationId,step_id:D.stepId,action:X,direction:R,idempotency_key:D.idempotencyKey,max_items:1});k({ok:!0,receipt:Y},D.json,D);return}if(J==="compensate"||J==="verify-inverse"){if(!D.operationId||!D.stepId||!D.idempotencyKey||!D.receiptId)throw Error(`Usage: knowledge project-registration ${J} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let X=await P.capability(),R={operation_id:D.operationId,step_id:D.stepId,authority_route:q$,package_version:X.package_version,authority_id:X.authority_id,tenant_id:X.tenant_id,corpus_id:X.corpus_id,idempotency_key:D.idempotencyKey,accepted_receipt_id:D.receiptId},T=J==="compensate"?{receipt:await P.compensateRegistration(R)}:{verification:await P.verifyRegistrationInverse(R)};k({ok:!0,...T},D.json,D);return}throw Error("Invalid project-registration action. Use capability, create, read-exact, receipt, compensate, or verify-inverse.")}if(I==="project-membership"){let J=$[1]??"read-exact",P=g();if(J==="bind"){if(!D.operationId||!D.stepId||!D.idempotencyKey||!D.collectionId||!D.itemId)throw Error("Usage: knowledge project-membership bind --operation-id <id> --step-id <id> --idempotency-key <key> --collection-id <uuid> --item-id <id> [--json]");let X=await P.capability(),R=await P.bindItem({operation_id:D.operationId,step_id:D.stepId,direction:"forward",authority_route:q$,package_version:X.package_version,authority_id:X.authority_id,tenant_id:X.tenant_id,corpus_id:X.corpus_id,idempotency_key:D.idempotencyKey,request_digest:V_({action:"bind_item",collection_id:D.collectionId,item_id:D.itemId}),precondition_digest:V_({collection_id:D.collectionId,item_id:D.itemId,expected:"unbound_or_exact_membership"}),collection_id:D.collectionId,item_id:D.itemId});k({ok:R.outcome==="accepted",receipt:R},D.json,D);return}if(J==="read-exact"){if(!D.collectionId||!D.itemId)throw Error("Usage: knowledge project-membership read-exact --collection-id <uuid> --item-id <id> [--json]");k({ok:!0,record:await P.readItemBinding(D.collectionId,D.itemId)},D.json,D);return}if(J==="compensate"||J==="verify-inverse"){if(!D.operationId||!D.stepId||!D.idempotencyKey||!D.receiptId)throw Error(`Usage: knowledge project-membership ${J} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let X=await P.capability(),R={operation_id:D.operationId,step_id:D.stepId,authority_route:q$,package_version:X.package_version,authority_id:X.authority_id,tenant_id:X.tenant_id,corpus_id:X.corpus_id,idempotency_key:D.idempotencyKey,accepted_receipt_id:D.receiptId},T=J==="compensate"?{receipt:await P.compensateItemBinding(R)}:{verification:await P.verifyItemBindingInverse(R)};k({ok:!0,...T},D.json,D);return}throw Error("Invalid project-membership action. Use bind, read-exact, compensate, or verify-inverse.")}if(I==="project-resources"){let J=D.project??$[1];if(!J)throw Error("Usage: knowledge project-resources <project-id> [--kind <kind>]... [--limit <n>] [--cursor <cursor>] [--all] [--json]");let P=g(),X=D.kind,R=D.all?{resources:await P.readAllProjectResources(J,{limit:D.limit,kinds:X})}:await P.listProjectResources(J,{limit:D.limit,cursor:D.cursor,kinds:X});k({ok:!0,...R},D.json,D);return}if(I==="project-resource"){let J=D.project??$[1],P=$[2],X=$[3];if(!J||!P||!X)throw Error("Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]");k({ok:!0,resource:await g().readProjectResource(J,P,X)},D.json,D);return}if(I==="inventory"){let J=await N.resolveInventory({limit:D.limit,includeArchived:D.includeArchived||D.archived,storePath:h$()?void 0:L});k(D.json||D.verbose?J:Of(J),D.json,D);return}if(I==="project-panel"){let J=D.project??$[1];if(!J)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let P=await K8(J,{service:N,limit:D.limit,storePath:h$()?void 0:L,includeArchived:D.includeArchived||D.archived});k(D.json||D.contract?P:T8(P),D.json||D.contract);return}if(I==="paths"){let J=N.paths();k(D.json||D.verbose?J:Af(J),D.json,D);return}if(I==="setup"){let J=N.setup({mode:D.mode,apiUrl:D.apiUrl,canonicalExample:D.canonicalExample});k(J,D.json,D);return}if(I==="auth"){let J=$[1]??"whoami";if(J==="whoami"||J==="status"){let P=N.authStatus(process.env);k({ok:!0,...P,message:P.authenticated?`Authenticated via ${P.source}`:"Not authenticated"},D.json,D);return}if(J==="login"){let P=D.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!P)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let X=N.saveAuth({apiKey:P,email:D.email,orgSlug:D.org,orgId:D.orgId,userId:D.userId,apiUrl:D.apiUrl},process.env);k({ok:!0,authenticated:!0,email:X.email??null,org_slug:X.org_slug??null,api_url:X.api_url??N.authStatus(process.env).api_url,auth_path:N.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${X.email??"API key"}`},D.json,D);return}if(J==="logout"){let P=N.clearAuth(process.env);k({ok:!0,removed:P,message:P?"Removed hosted credentials":"No hosted credentials found"},D.json,D);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(I==="storage"){let J=$[1]??"status";if(J==="status"){let P=N.storageContract(),X=N.validateStorage();k({ok:X.ok,...P,validation:X,message:`${P.storage_type} artifact storage at ${P.artifact_store.uri_prefix}`},D.json,D);return}if(J==="validate"){let P=N.validateStorage();if(k({ok:P.ok,validation:P,message:P.ok?"Storage contract valid":`Storage contract invalid: ${P.errors.join("; ")}`},D.json,D),!P.ok)process.exitCode=1;return}if(J==="repair-artifact-keys"||J==="repair-keys"){let P=N.repairArtifactManifestKeys({approveWrite:D.approveWrite,approvedBy:D.approvedBy,dryRun:D.dryRun});k(P,D.json,D);return}if(J==="migrate-legacy-path"||J==="migrate-legacy"||J==="migrate-path"){let P=N.migrateLegacyPath({approveWrite:D.approveWrite,approvedBy:D.approvedBy});if(k(P,D.json),!P.ok&&!D.json)process.exitCode=1;return}if(J==="merge-legacy-path"||J==="merge-legacy"||J==="merge-path"){let P=N.mergeLegacyPath({approveWrite:D.approveWrite,approvedBy:D.approvedBy});if(k(P,D.json),!P.ok&&!D.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(I==="machines"){let J=$[1]??"topology";if(J==="topology"||J==="status"){let P=await N.machineTopology({includeTailscale:D.tailscale!==!1});k(D.json||D.verbose?P:Pf(P),D.json,D);return}if(J==="preflight"||J==="check"){let P=$[2]??D.machine??"local",X=D.workspace??process.cwd(),R=await N.machinePreflight({machineId:P,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:X,expectedPackageName:E$.name,expectedVersion:E$.version,required:!0}]});if(k(D.json||D.verbose?R:zf(R),D.json,D),!R.ok&&!D.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(I==="sync"){let J=$[1]??"status",P=D.tables?D.tables.split(",").map((X)=>X.trim()).filter(Boolean):void 0;if(J==="status"){let X=N.syncStatus();k(D.json||D.verbose?X:gf(X),D.json,D);return}if(J==="doctor"||J==="readiness"||J==="preflight"){let X=await N.syncDoctor({machine:D.machine??null,peerWorkspace:D.peerWorkspace??null,includeTailscale:D.tailscale!==!1,tables:P}),R={package:{name:E$.name,version:E$.version},...X};if(k(D.json||D.verbose?R:Xf(R),D.json,D),!X.ok&&!D.json)process.exitCode=1;return}if(J==="snapshot"||J==="record"){let X=await N.createSyncSnapshot({includeTailscale:D.tailscale!==!1,machineId:D.machine});k(D.json||D.verbose?X:Gf(X),D.json,D);return}if(J==="conflicts"||J==="conflict"){let X=$[2];if(X==="show"||X==="get"){let Y=$[3]??D.id;if(!Y)throw Error("Usage: knowledge sync conflicts show <id>");let Q=N.syncConflict(Y);k({ok:!0,conflict:Q,message:`Sync conflict ${Y}`},D.json,D);return}if(X==="propose"||X==="proposal"){let Y=$[3]??D.id;if(!Y)throw Error("Usage: knowledge sync conflicts propose <id>");k(D.mode==="ai"?await N.proposeSyncConflictResolutionWithAi({id:Y,modelRef:D.model,fake:D.fake}):N.proposeSyncConflictResolution(Y),D.json,D);return}if(X==="resolve"){let Y=$[3]??D.id;if(!Y)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let Q=N.resolveSyncConflict({id:Y,strategy:D.strategy,approvedBy:D.approvedBy,approveWrite:D.approveWrite,proposedPatchUri:D.patchUri});if(k(Q,D.json,D),!Q.ok&&!D.json)process.exitCode=1;return}let R=N.syncConflicts({status:X,limit:D.limit}),T={ok:!0,conflicts:R,message:`${R.length} sync conflict(s)`};k(D.json||D.verbose?T:Rf(T),D.json,D);return}if(J==="machines"||J==="registry"){let X=N.syncMachines(),R={ok:!0,machines:X,message:`${X.length} registered sync machine(s)`};k(D.json||D.verbose?R:Yf(R),D.json,D);return}if(J==="export"){let X=N.exportSyncBundle({machineId:D.machine??null,tables:P,includeArtifactContent:D.artifactContent!==!1});k(X,!0);return}if(J==="import"){let X=await Bun.stdin.text();if(!X.trim())throw Error("Usage: knowledge sync import < bundle.json");let R=await N.importSyncBundle({bundle:JSON.parse(X),dryRun:D.dryRun,direction:"import",machineId:D.machine??null});k(D.json||D.verbose?R:GY(R,J),D.json,D);return}if(J==="dry-run"||J==="pull"||J==="push"||J==="sync"){if(!D.peerWorkspace&&RY(D.machine))throw Error(`Usage: knowledge sync ${J} --peer-workspace <repo-or-knowledge-home> [--scope project] -Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let X=J==="dry-run"?"both":J==="sync"?"both":J,R=!RY(D.machine)?await N.syncRemotePeer({direction:X,machine:D.machine,peerWorkspace:D.peerWorkspace,tables:P,dryRun:D.dryRun===!0||J==="dry-run",includeArtifactContent:D.artifactContent!==!1,includeTailscale:D.tailscale!==!1}):await N.syncPeer({peerWorkspace:D.peerWorkspace,direction:X,dryRun:D.dryRun===!0||J==="dry-run",tables:P,includeArtifactContent:D.artifactContent!==!1,machineId:D.machine??null});if(k(D.json||D.verbose?R:GY(R,J),D.json,D),!R.ok&&!D.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(I==="db"){let J=$[1]??"init";if(J==="init"){let P=N.initDb();k({ok:!0,...P,message:`Initialized ${P.path}`},D.json,D);return}if(J==="stats"){let P=N.dbStats();k({ok:!0,path:N.workspace.knowledgeDbPath,...P,message:`knowledge.db schema v${P.schema_version}`},D.json,D);return}if(J==="storage"){if(($[2]??"status")==="status"){let X=Pz({scope:D.scope});k({ok:!0,...X,message:`knowledge.db storage mode ${X.mode}`},D.json,D);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(I==="app-wiki"){let J=$[1]??"init";if(J==="paths"||J==="status"){k({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...N.paths()},D.json);return}if(J==="init"||J==="open"){let P=await N.initAppWiki({allowGlobal:D.allowGlobal});k(P,D.json);return}if(J==="note"||J==="notes"){let P=$[2]??"list";if(P==="add"||P==="create"){let X=D.title??$[3],R=D.content??$.slice(4).join(" ");if(!X||!R)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let T=await N.addAppWikiNote({title:X,content:R,tags:D.tag,sourceRefs:D.sourceRef,allowGlobal:D.allowGlobal});k(T,D.json);return}if(P==="list"||P==="ls"){let X=N.listAppWikiNotes({limit:D.limit});k({ok:!0,scope:N.scope,home:N.workspace.home,notes:X,message:`${X.length} app wiki note(s)`},D.json);return}if(P==="get"||P==="show"){let X=$[3]??D.id;if(!X)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let R=await N.getAppWikiNote(X,{includeContent:!0});if(!R)throw Error(`App wiki note not found: ${X}`);k(R,D.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(J==="source"||J==="sources"){let P=$[2]??"add";if(P!=="add"&&P!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let X=$[3]??D.sourceRef?.[0];if(!X)throw Error("Usage: knowledge app-wiki source add <source-ref>");let R=await N.addAppWikiSourceRef({sourceRef:X,purpose:D.purpose,allowGlobal:D.allowGlobal});k({ok:!0,...R,message:`Added app wiki source ${R.source_ref}`},D.json);return}if(J==="search"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge app-wiki search <query>");let X=await N.searchAppWiki({query:P,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...X,message:`${X.results.length} app wiki result(s)`},D.json);return}if(J==="query"||J==="context"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge app-wiki query <query>");let X=await N.queryAppWiki({query:P,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...X,message:`${X.excerpts.length} app wiki excerpt(s)`},D.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(I==="wiki"){let J=$[1]??"init";if(J==="init"){let P=await N.initWiki();k({ok:!0,...P,message:`Initialized wiki layout in ${N.workspace.home}`},D.json,D);return}if(J==="compile"){let P=$.slice(2),X=P.filter((Y)=>/^(open-files|file|s3|https?):\/\//.test(Y)),R=P.filter((Y)=>!/^(open-files|file|s3|https?):\/\//.test(Y)).join(" "),T=await N.compileWiki({title:D.title,query:R||D.search,sourceRefs:X.length>0?X:void 0,limit:D.limit});k({ok:!0,...T,message:`Compiled wiki page ${T.path}`},D.json,D);return}if(J==="file-answer"||J==="answer"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!D.content)throw Error("Missing --content <answer> for wiki file-answer.");let X=await N.fileAnswer({prompt:P,answer:D.content,approveWrite:D.approveWrite,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...X},D.json,D);return}if(J==="lint"){let P=N.lintWiki();k({ok:P.ok,...P,message:P.ok?"Wiki lint passed":`Wiki lint found ${P.issue_count} issue(s)`},D.json,D);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(I==="safety"){let J=$[1]??"status",P=N.ensureWorkspace(),X=N.safetyPolicy();N.initDb();let R=w(P.knowledgeDbPath);try{if(J==="status"){k({ok:!0,mode:X.mode,workspace:P.home,allow_write_roots:X.allowWriteRoots,read_only_source_access:X.readOnlySourceAccess,network:X.network,redaction:X.redaction,approvals:X.approvals,message:`Safety policy: ${X.mode}`},D.json,D);return}if(J==="check"){let T=$[2]??"generated_write",Y=$[3]??null,Q;try{if(T==="web_search")Y0(X),Q={action:T,target_uri:Y,approval_required:!1,approved:!0,decision:"allow"};else if(T==="s3_read"){if(!Y)throw Error("safety check s3_read requires an s3:// target.");Z6(Y,X),Q={action:T,target_uri:Y,approval_required:!1,approved:!0,decision:"allow"}}else Q=jg(R,X,T,Y);R_(R,{event_type:"safety_check",action:T,target_uri:Y,decision:Q.decision==="allow"?"allow":"requires_approval",metadata:Q}),k({ok:!0,...Q,message:`Safety check ${Q.decision}`},D.json,D);return}catch(F){throw R_(R,{event_type:"safety_check",action:T,target_uri:Y,decision:"deny",metadata:{error:F instanceof Error?F.message:String(F)}}),F}}if(J==="approve"){let T=$[2]??"generated_write",Y=$[3]??null,Q=_I(R,{action:T,target_uri:Y,reason:"local-cli approval",metadata:{scope:D.scope??"global"}});R_(R,{event_type:"approval",action:T,target_uri:Y,decision:"allow",metadata:{approval_id:Q.id}}),k({ok:!0,...Q,action:T,target_uri:Y,message:`Approved ${T}`},D.json,D);return}if(J==="audit"){let T=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((Y)=>({id:Y.id,event_type:Y.event_type,action:Y.action,target_uri:Y.target_uri,decision:Y.decision,metadata:JSON.parse(Y.metadata_json),created_at:Y.created_at}));k({ok:!0,events:T,message:`${T.length} audit event(s)`},D.json,D);return}if(J==="redact"){let T=$.slice(2).join(" ");if(!T)throw Error("Usage: knowledge safety redact <text>");let Y=u_(T,X);if(Y.findings.length>0)Q0(R,{source_uri:"safety://redact",findings:Y.findings,metadata:{command:"safety redact"}});R_(R,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:Y.findings.length>0?"redacted":"allow",metadata:{findings:Y.findings.length}}),k({ok:!0,text:Y.text,findings:Y.findings,message:`Redacted ${Y.findings.length} finding(s)`},D.json,D);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{R.close()}}if(I==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let P=$[2];if(!P)throw Error("Usage: knowledge source resolve <source-ref>");let X=await N.resolveSource(P,{purpose:D.purpose,limit:D.limit});k({ok:!0,...X,message:X.resolved?`Resolved ${X.source_ref} (${X.content.chunks_returned}/${X.content.chunks_total} chunks)`:`Source not indexed: ${P}`},D.json,D);return}if(I==="ingest"){let J=$[1]??"";if(J==="rules"||J==="global-rules"||J==="agent-rules"){let P=await N.importRulesProvenance({root:D.workspace??process.cwd(),owner:D.owner,dryRun:D.dryRun===!0,maxItems:D.maxItems,limit:D.limit});k({ok:!0,...P},D.json);return}if(J==="manifest"){let P=$[2];if(!P)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let X=await N.ingestManifest(P);k({ok:!0,...X,message:`Ingested ${X.items_seen} manifest item(s)`},D.json,D);return}if(J==="source"){let P=$[2];if(!P)throw Error("Usage: knowledge ingest source <source-ref>");let X=await N.ingestSource(P,D.purpose);k({ok:!0,...X,message:`Ingested source ${X.source_ref} (${X.chunks_inserted} chunks)`},D.json,D);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(I==="reindex"){let J=$[1]??"status";if(J==="status"){let P=N.reindexHealth({modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...P,message:`${P.missing_embeddings} chunk(s) missing embeddings`},D.json,D);return}if(J==="enqueue"){let P=N.enqueueReindex({modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...P,message:`Queued ${P.enqueued} embedding refresh item(s)`},D.json,D);return}if(J==="embeddings"){let P=await N.refreshEmbeddings({full:D.full,limit:D.limit,modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...P,message:`Embedded ${P.indexed.chunks_embedded} chunk(s)`},D.json,D);return}if(J==="outbox"){let P=$[2];if(!P)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let X=await N.consumeOutbox(P);k({ok:!0,...X,message:`Consumed ${X.events_seen} outbox event(s)`},D.json,D);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(I==="embeddings"){let J=$[1]??"status";if(J==="status"){let P=N.embeddingStatus();k({ok:!0,...P,message:`${P.total_vector_entries} vector index entries`},D.json,D);return}if(J==="index"){let P=await N.indexEmbeddings({limit:D.limit,modelRef:D.model,dimensions:D.dimensions,fake:D.fake});k({ok:!0,...P,message:`Embedded ${P.chunks_embedded} chunk(s)`},D.json,D);return}if(J==="search"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge embeddings search <query>");let X=await N.semanticSearch({query:P,limit:D.limit,modelRef:D.model,dimensions:D.dimensions,fake:D.fake}),R={ok:!0,...X,message:`${X.results.length} semantic result(s)`};k(D.json||D.verbose?R:Wf(R),D.json,D);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(I==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let P=D.from??"search";if(!["search","loops","runs"].includes(P))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let X=$.slice(2).join(" ")||D.topic||"",R=await N.contextPack({source:P,purpose:P==="loops"||P==="runs"?"proposal":"agent_context",query:X,topic:D.topic,since:D.since,dedupe:D.dedupe,maxTokens:D.maxTokens,maxItems:D.maxItems,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake,legacyStorePath:L});XY({ok:!0,...R,message:R.message});return}if(I==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let P=D.from??"loops";if(!["loops","runs"].includes(P))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let X=D.topic??$.slice(2).join(" ");if(!X.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let R=await N.contextPack({source:P,purpose:"proposal",query:X,topic:X,since:D.since,dedupe:D.dedupe??!0,maxTokens:D.maxTokens,maxItems:D.maxItems,limit:D.limit});XY({ok:!0,...R,message:R.message});return}if(I==="search"){let J=$.slice(1).join(" ");if(!J)throw Error("Usage: knowledge search <query>");if(D.context){let R=await N.retrieveContext({query:J,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake,legacyStorePath:L}),T={ok:!0,...R,message:`${R.excerpts.length} context excerpt(s)`};k(D.json||D.verbose?T:Lf(T),D.json,D);return}let P=await N.search({query:J,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake,legacyStorePath:L}),X={ok:!0,...P,message:`${P.results.length} search result(s)`};k(D.json||D.verbose?X:Sf(X),D.json,D);return}if(I==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge web search <query>");let X=await N.webSearch({query:P,limit:D.limit,modelRef:D.model,provider:D.provider,domains:D.domain,fake:D.fake,fileResults:D.fileResults}),R={ok:!0,...X,message:`${X.sources.length} web source(s)`};k(D.json||D.verbose?R:Jf(R),D.json,D);return}if(I==="ask"||I==="build"){let J=$.slice(U).join(" ");if(!J)throw Error("Usage: knowledge ask <prompt>");let P=await N.runPrompt({prompt:J,limit:D.limit,semantic:D.semantic,modelRef:D.model,dimensions:D.dimensions,fake:D.fake,generate:D.generate,approveWrite:D.approveWrite,legacyStorePath:L}),X={ok:!0,...P,message:P.generated?"Generated answer with citations":"Prepared citation context draft"};k(D.json||D.verbose?X:Qf(X),D.json,D);return}if(I==="providers"){let J=$[1]??"status";if(J==="status"){let P=N.providerStatus(),X=P.providers.filter((R)=>R.configured).length;k({ok:!0,...P,message:`${X}/${P.providers.length} provider credential(s) configured`},D.json,D);return}if(J==="models"){let P=N.modelRegistry();k({ok:!0,models:P,message:`${P.length} model alias(es)`},D.json,D);return}if(J==="check"){let P=$[2]??"default",X=T$(P,N.config()),R=f_(X),T=S4(R.provider,N.config());k({ok:!0,target:P,model_ref:X,provider:R.provider,model:R.model,credential:T,message:`${R.provider} credentials configured`},D.json,D);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(I==="add"){let J=$[1],P=$[2];if(!J||!P)throw Error("Usage: knowledge add <title> <content>");let X=await W.create({title:J,content:P,url:D.url??null,tags:D.tag??[]});A0("info","Item added",{id:X.id,title:X.title,tags:X.tags?.length??0,transport:W.kind}),k({ok:!0,item:X,message:`Added ${X.id}`},D.json,D);return}if(I==="list"){if(D.format!==void 0&&D.format!=="table"&&D.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");if(D.page!==void 0&&(!Number.isFinite(D.page)||!Number.isInteger(D.page)||D.page<1))throw Error("--page must be a positive integer.");if(D.limit!==void 0&&(!Number.isFinite(D.limit)||!Number.isInteger(D.limit)||D.limit<1||D.limit>200))throw Error("--limit must be an integer between 1 and 200.");let J=D.page??1,P=D.limit??20,X=D.search?String(D.search).toLowerCase():"",R=D.tagRaw??D.tag??[],T=D.tag?.length?D.tag.map((G_)=>G_.toLowerCase()).join(","):"none",Y=D.format==="table"||!D.json&&!D.format&&Ef(D),Q=D.json||D.format==="json",F=D.archived?"archived":D.includeArchived?"all":"active",{sort:B,direction:b}=Tf([],D),f=(J-1)*P;if(f>1e4)throw Error("The requested page exceeds the maximum bounded offset of 10000.");let l=await W.list({search:X,tags:R,archive:F,sort:B,direction:b,limit:P,offset:f}),U_=l.items,j_=Math.max(1,Math.ceil(l.total/P)),_$={ok:!0,page:J,limit:P,total:l.total,total_pages:j_,sort:B,direction:b,items:U_,store_exists:l.exists};if(Q){k(_$,!0);return}if(D.verbose){k(_$,!1,D);return}if(U_.length===0){k(`No items found (search=${X||"none"}, tag=${T})`,!1);return}if(Y){let G_=(E_)=>E_,K$=`${G_("ID")} ${G_("TITLE")} ${G_("CREATED")} ${G_("URL")} ${G_("TAGS")}`;console.log(K$);for(let E_ of U_)console.log(`${E_.id} ${G_(I_(E_.title,80))} ${E_.created_at} ${E_.url?G_(I_(E_.url,90)):""} ${E_.tags?.length?G_(I_(`[${E_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${J}/${j_} | showing ${U_.length} of ${l.total} | sort=${B} ${b} | search=${X||"none"} | tag=${T}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let G_ of U_)console.log(`${G_.id} ${I_(G_.title,80)} ${G_.created_at}${G_.url?` ${I_(G_.url,90)}`:""}${G_.tags?.length?` ${I_(`[${G_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${J}/${j_} | showing ${U_.length} of ${l.total} | sort=${B} ${b} | search=${X||"none"} | tag=${T}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(I==="get"){N0(D);let J=await W.get(D.id);if(!J)throw Error(`Item not found: ${D.id}`);k({ok:!0,item:J,store_exists:W.exists,message:`${J.id}: ${J.title}`},D.json,D);return}if(I==="versions"){N0(D);let J=Number.isFinite(D.page)&&D.page>0?D.page:1,P=Number.isFinite(D.limit)&&D.limit>0?D.limit:void 0,X=await W.listVersions(D.id,{limit:P,offset:(J-1)*(P??50)});if(!X)throw Error(`Item not found: ${D.id}`);let R={ok:!0,id:X.item_id,current_version:X.current_version,total:X.total,page:J,store:W.location,versions:X.items,message:X.total===0?`${X.item_id} is at version ${X.current_version} with no retained prior versions`:`${X.item_id} is at version ${X.current_version}; ${X.total} prior version(s) retained`};if(D.json||D.verbose){k(R,D.json,D);return}console.log(R.message);for(let T of X.items){let Y=T.actor?` by ${T.actor}`:"",Q=T.reason?` (${T.reason})`:"";console.log(`v${T.version} ${T.valid_to}${Y}${Q} ${T.content_bytes} bytes ${T.content_hash.slice(0,12)}`)}if(X.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(I==="diff"){N0(D);let J=await W.get(D.id);if(!J)throw Error(`Item not found: ${D.id}`);if(D.rev!==void 0&&(D.from!==void 0||D.to!==void 0))throw Error("Use either --rev <n> or --from <a> --to <b>, not both.");let P=()=>({title:J.title,content:J.content,url:J.url,tags:J.tags??[],metadata:J.metadata??{},archived:J.archived??!1}),X=`v${J.version??"?"} (current)`,R=async(b)=>{if(b==="current")return{label:X,snapshot:P()};let f=Number(b);if(!Number.isInteger(f)||f<1)throw Error(`Not a version number: ${b}`);if(J.version!==void 0&&f===J.version)return{label:X,snapshot:P()};let l=await W.getVersion(J.id,f);if(!l)throw Error(`No version ${f} retained for ${J.id} (it is at version ${J.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${l.version}`,snapshot:{title:l.title,content:l.content,url:l.url,tags:l.tags,metadata:l.metadata,archived:l.archived}}},T,Y;if(D.rev!==void 0){if(!Number.isInteger(D.rev)||D.rev<1)throw Error("--rev must be a positive version number.");if(D.rev===1)throw Error("Version 1 has no predecessor to diff against.");T=String(D.rev-1),Y=String(D.rev)}else if(D.from!==void 0||D.to!==void 0){if(D.from===void 0||D.to===void 0)throw Error("--from and --to must be given together.");T=D.from,Y=D.to}else{let b=await W.listVersions(J.id,{limit:1});if(!b)throw Error(`Item not found: ${D.id}`);if(b.items.length===0)throw Error(`${J.id} is at version ${b.current_version} with no retained prior versions to diff against.`);T=String(b.items[0].version),Y="current"}let Q=await R(T),F=await R(Y),B=k3(Q.snapshot,F.snapshot);if(D.json||D.verbose){k({ok:!0,id:J.id,from:Q.label,to:F.label,...B},D.json,D);return}console.log(C3(B,`${J.id} ${Q.label}`,`${J.id} ${F.label}`));return}if(I==="update"){N0(D);let J=await W.get(D.id);if(!J)throw Error(`Item not found: ${D.id}`);if(D.ifVersion!==void 0&&(!Number.isInteger(D.ifVersion)||D.ifVersion<1))throw Error(`Invalid --if-version ${JSON.stringify(String(D.ifVersion))}: must be a positive integer version number, e.g. the "version" field from a prior 'knowledge get'.`);let P={};if(D.title!==void 0)P.title=D.title;if(D.content!==void 0)P.content=D.content;if(D.url!==void 0)P.url=D.url;let X;if(D.tag!==void 0){if(X=gY(J.tags,D.tag),X.length>0)P.tags=[...J.tags??[],...X]}let R=D.ifVersion!==void 0?D.ifVersion:J.version,T=await W.update(J.id,P,{expectedVersion:R});k(Hz({ok:!0,item:T},`Updated ${T?.id??J.id}`,X),D.json,D);return}if(I==="archive"||I==="restore"){N0(D);let J=await W.get(D.id);if(!J)throw Error(`Item not found: ${D.id}`);let P=await W.update(J.id,{archived:I==="archive"},{expectedVersion:J.version});k({ok:!0,item:P,message:`${I==="archive"?"Archived":"Restored"} ${P?.id??J.id}`},D.json,D);return}if(I==="untag"){if(N0(D),!D.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let J=await W.get(D.id);if(!J)throw Error(`Item not found: ${D.id}`);let P=J.tags??[],X=new Set(P.map((f)=>f.toLowerCase())),R=new Set;for(let f of D.tagRaw??D.tag){let l=f.trim().toLowerCase();if(l.length>0&&X.has(l)){R.add(l);continue}for(let U_ of f.split(",").map((j_)=>j_.trim().toLowerCase()).filter((j_)=>j_.length>0))R.add(U_)}let T=P.filter((f)=>!R.has(f.toLowerCase())),Y=P.length-T.length,Q=[...R].filter((f)=>!X.has(f));if(Y===0)throw Error(`No matching tag on ${J.id}: ${Q.map((f)=>JSON.stringify(f)).join(", ")} not in [${P.map((f)=>JSON.stringify(f)).join(", ")}]`);let F=await W.update(J.id,{tags:T},{expectedVersion:J.version}),B=Q.length>0?` (not found: ${Q.map((f)=>JSON.stringify(f)).join(", ")})`:"",b={ok:!0,item:F,removed:Y,message:`Removed ${Y} tag${Y===1?"":"s"} from ${F?.id??J.id}${B}`};if(Q.length>0)b.not_found=Q;k(b,D.json,D);return}if(I==="upsert"){let J=D.title??$[1],P=D.content??$[2],X=D.id?await W.get(D.id):null;if(!X){if(!J||!P)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let Q=await W.create({id:D.id,title:J,content:P,url:D.url??null,tags:D.tag??[]});k(Hz({ok:!0,created:!0,item:Q},`Upserted ${Q.id}`,D.tag),D.json,D);return}let R={};if(J!==void 0)R.title=J;if(P!==void 0)R.content=P;if(D.url!==void 0)R.url=D.url;let T;if(D.tag!==void 0){if(T=gY(X.tags,D.tag),T.length>0)R.tags=[...X.tags??[],...T]}let Y=await W.update(X.id,R,{expectedVersion:X.version});k(Hz({ok:!0,created:!1,item:Y},`Upserted ${Y?.id??X.id}`,T),D.json,D);return}if(I==="delete"){if(N0(D),!D.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await W.delete(D.id))throw Error(`Item not found: ${D.id}`);A0("info","Item deleted",{id:D.id,transport:W.kind}),k({ok:!0,deleted_id:D.id,message:`Deleted ${D.id}`},D.json,D);return}if(I==="export"){let J=D.format??"json";if(J!=="json"&&J!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let P=await W.listAll();if(J==="jsonl")for(let X of P.items)console.log(JSON.stringify(X));else if(D.json||D.format==="json"||D.verbose)k({ok:!0,items:P.items,store_exists:P.exists},D.json||D.format==="json",D);else k(Kf(P.items,J),!1);return}if(I==="prune"){if(!D.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:J}=await W.listAll(),P=D.olderThan!==void 0?new Date(Date.now()-D.olderThan*86400000):null,X=J.filter((Y)=>P!==null&&new Date(Y.created_at)<P||D.empty&&Y.content.trim().length===0),R=await W.deleteMany(X.map((Y)=>Y.id)),T=J.length-R;A0("info","Prune completed",{pruned:R,remaining:T,transport:W.kind}),k({ok:!0,pruned:R,remaining:T,message:`Pruned ${R} item(s)`},D.json,D);return}if(I==="dedupe"){if(!D.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:J}=await W.listAll(),P=new Set,X=[];for(let Y of J){let Q=`${Y.title}\x00${Y.content}`;if(P.has(Q))X.push(Y);else P.add(Q)}let R=await W.deleteMany(X.map((Y)=>Y.id)),T=J.length-R;A0("info","Dedupe completed",{removed:R,remaining:T,transport:W.kind}),k({ok:!0,removed:R,remaining:T,message:`Dedupe removed ${R} duplicate(s)`},D.json,D);return}if(I==="stats"){let J=await W.listAll(),P=J.items.filter((f)=>!f.archived),X=P.length,R=J.items.length-X,T=P.filter((f)=>f.url).length,Y=P.filter((f)=>f.tags&&f.tags.length>0).length,Q=X>0?P.map((f)=>f.created_at).sort()[0]:null,F=X>0?P.map((f)=>f.created_at).sort()[X-1]:null,B={};for(let f of P)for(let l of f.tags||[])B[l]=(B[l]||0)+1;let b=Object.entries(B).sort((f,l)=>l[1]-f[1]).slice(0,5).map(([f,l])=>({tag:f,count:l}));k({ok:!0,total:X,archived:R,with_url:T,with_tags:Y,oldest:Q,newest:F,top_tags:b,store_exists:J.exists,message:`${X} items | ${T} with URL | ${Y} with tags`},D.json,D);return}let z=_f($[0]),G=z?` Did you mean '${z}'?`:"";throw A0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${G} Run 'knowledge --help' for available commands.`)}finally{await O?.close(),await N.close()}}function Vf(_,$){let D=_ instanceof Error?_.message:String(_);A0("debug","CLI error",{message:D,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${D}`);let I=_ instanceof G0?_:null;if($.includes("--json"))k({ok:!1,error:D,message:D,...I?{code:"version_conflict",expected:I.expected,current:I.current}:{}},!0);process.exitCode=I?2:1}if(import.meta.main){let _=process.argv.slice(2);Ff(_).catch(($)=>Vf($,_))}export{_f as suggestCommand,Tf as sortItems,Ff as run,er as parseArgs,Vf 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}ry()}function my(_){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} +${s_()}`:ny(_))}function s_(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function j_(_,$=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 ny(_){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}: ${j_(D,100)}`)}return U.push(s_()),U.join(` +`)}function dy(_){let $=_.mode==="postgres"?"postgres (HTTP /v1 API)":"sqlite (on-box store)",U=_.source.kind==="env"?`selected by ${_.source.name}=${_.source.value}`:`default (no mode var set; set ${L6[0]}=postgres to use the API)`,j=[`Knowledge mode: ${$}`,` ${U}`];if(_.pointer_env_present.length>0){let D=_.pointer_ignored?"present but IGNORED for mode selection":"present";j.push(` Pointer env ${D}: ${_.pointer_env_present.join(", ")}`)}if(_.network_guard_active)j.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if(_.warning)j.push(` Note: ${_.warning}`);return j.join(` +`)}function ly(_){return[`Knowledge paths (${_.scope})`,`Home: ${_.home}`,`SQLite: ${_.knowledge_db_path}`,`JSON store: ${_.json_store_path}`,`Wiki: ${_.wiki_dir}`,s_("config and all paths")].join(` +`)}function C7(_){console.log(JSON.stringify(_))}function iy(_){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,N,E)=>{if(N.length===0)return;U.push("",`${D}:`);for(let I of N.slice(0,_.limit))U.push(`- ${E(I)}`)};return j("Items",_.items,(D)=>`${D.id}: ${D.title}`),j("Sources",_.sources,(D)=>`${D.kind??"source"} ${D.uri} (${D.chunks??0} chunk(s))`),j("Chunks",_.chunks,(D)=>`${D.kind??"chunk"} ${D.id}: ${D.text_preview??""}`),j("Wiki pages",_.wiki_pages,(D)=>`${D.path}: ${D.title}`),j("Indexes",_.indexes,(D)=>`${D.kind??"index"} ${D.name}${D.shard_key?` (${D.shard_key})`:""}`),j("Artifacts",_.storage_objects,(D)=>`${D.kind??"artifact"} ${D.artifact_uri}`),j("Runs",_.runs,(D)=>`${D.type??"run"} ${D.id}: ${D.status??"unknown"}`),j("Machines",_.machines,(D)=>`${D.machine_id}${D.workspace_home?` ${D.workspace_home}`:""}`),j("Sync conflicts",_.sync_conflicts,(D)=>`${D.id}: ${D.entity_kind}/${D.entity_id} ${D.status}`),U.join(` +`)}function ty(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} search result(s) for "${j_(_.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,N=typeof j.score==="number"?` score=${j.score.toFixed(3)}`:"";if(U.push(`- ${j.kind??"result"} ${j_(j.title??j.id,80)}${N}`),D)U.push(` source: ${j_(D,120)}`);if(j.text)U.push(` text: ${j_(j.text,180)}`)}if($.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(s_("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 oy(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],U=Array.isArray(_.citations)?_.citations:[],j=[`${$.length} context excerpt(s) for "${j_(_.query??_.normalized_query,80)}"`];for(let D of $.slice(0,10)){let N=U.find((W)=>W.id===D.citation_id||W.result_id===D.result_id),E=N?.source_uri??N?.artifact_path??D.result_id,I=typeof D.score==="number"?` score=${D.score.toFixed(3)}`:"";if(j.push(`- ${D.kind??"excerpt"} ${j_(D.id,44)}${I}`),E)j.push(` source: ${j_(E,120)}`);j.push(` text: ${j_(D.text,220)}`)}return j.push(`Citations: ${U.length}`),j.push(s_("citations, graph, notes, and full excerpts")),j.join(` +`)}function py(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} semantic result(s) for "${j_(_.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(`- ${j_(j.chunk_id,44)}${D}`),j.source_uri)U.push(` source: ${j_(j.source_uri,120)}`);if(j.text)U.push(` text: ${j_(j.text,180)}`)}return U.push(s_("provenance and full vector result objects")),U.join(` +`)}function ay(_){let $=Array.isArray(_.sources)?_.sources:[],U=[`${$.length} web source(s) for "${j_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let j of $.slice(0,_.limit??10)){U.push(`- ${j_(j.title??j.url??j.uri??"source",100)}`);let D=j.url??j.uri??j.source_ref;if(D)U.push(` url: ${j_(D,140)}`);if(j.snippet)U.push(` snippet: ${j_(j.snippet,180)}`)}return U.push(s_("provider payloads and filed source refs")),U.join(` +`)}function ey(_){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":"",N=j.tailscale_dns??j.ssh_target??j.hostname??"";U.push(`- ${j_(j.machine_id??j.id??"unknown",48)}${D}${N?` -> ${j_(N,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(s_("full topology, route hints, and adapter evidence")),U.join(` +`)}function sy(_){let $=Array.isArray(_.checks)?_.checks:[],U=$.filter((N)=>N.status==="fail"||N.severity==="fail"),j=$.filter((N)=>N.status==="warn"||N.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 N of[...U,...j].slice(0,8))D.push(`- ${N.status??N.severity??"check"} ${j_(N.id??N.kind??"check",72)}: ${j_(N.message??N.detail??"",140)}`);return D.push(s_("all checks and repair hints")),D.join(` +`)}function _u(_){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"}`,s_("registry rows, clocks, snapshots, imports, and conflicts")].join(` +`)}function $u(_){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: ${j_(D.shell_command??D.command?.join(" ")??D.id,160)}`);return j.push(s_("diagnostics, route evidence, and all recommended commands")),j.join(` +`)}function Uu(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${j_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${j_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,s_("snapshot payload and topology evidence")].join(` +`)}function Du(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],U=[`${$.length} sync conflict(s)`];for(let j of $.slice(0,10))U.push(`- ${j_(j.id,48)} ${j.status??"unknown"} ${j.entity_kind??""}/${j_(j.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(s_("full conflict objects")),U.join(` +`)}function ju(_){let $=Array.isArray(_.machines)?_.machines:[],U=[`${$.length} registered sync machine(s)`];for(let j of $.slice(0,10))U.push(`- ${j_(j.machine_id,48)} ${j_(j.hostname??j.workspace_home??"",100)}`);return U.push(s_("machine registry rows")),U.join(` +`)}function b7(_,$){let U=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],j=(D,N)=>{if(!N)return;let I=(Array.isArray(N.tables)?N.tables:[]).reduce((L,S)=>L+(S.inserted??0)+(S.updated??0)+(S.deleted??0),0),W=N.artifacts?.copied??0,J=Array.isArray(N.errors)?N.errors.length:0;U.push(`${D}: ${I} table row change(s), ${W} artifact(s), ${J} error(s)`)};if(j("pull",_.pull),j("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)U.push(`Errors: ${_.errors.slice(0,3).map((D)=>j_(D,120)).join("; ")}`);return U.push(s_("per-table rows, artifacts, clocks, and errors")),U.join(` +`)}function Nu(_){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: ${j_(_.answer,500)}`);for(let D of $.slice(0,5))j.push(`- ${j_(D.source_uri??D.ref??D.id,120)}`);return j.push(s_("full answer payload, context, citations, and run ledger")),j.join(` +`)}function Eu(_,$){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 w7(_){return!_||_==="local"||_==="localhost"}function Q0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Iu(_,$){let U=$.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let j=[..._].sort((D,N)=>{if(U==="title")return D.title.localeCompare(N.title);return D.created_at.localeCompare(N.created_at)});if($.desc)j.reverse();return{sorted:j,sort:U,direction:$.desc?"desc":"asc"}}async function Au(_){if(await hy(_))return;let{positional:$,flags:U}=vy(_);if(G0("debug","CLI invoked",{command:$[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:L$.name,version:L$.version},null,2):`${L$.name} ${L$.version}`);return}if(U.completions){let J=U.completions;if(J==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 --rev --to --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 --operation-id --step-id --idempotency-key --slug --name --collection-id --collection-slug --collection-name --item-id --receipt-id --cursor --kind --all --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(J==="zsh")console.log(`#compdef knowledge +_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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" "(--all)--all" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(--search)--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}:" "(--to)--to[diff target: version number or current]:" "(--rev)--rev[entry version for diff]:number:" "(--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]:" "(--operation-id)--operation-id[registration operation id]:" "(--step-id)--step-id[registration step id]:" "(--idempotency-key)--idempotency-key[caller idempotency key]:" "(--slug)--slug[project slug]:" "(--name)--name[project name]:" "(--collection-id)--collection-id[exact collection id]:" "(--collection-slug)--collection-slug[collection slug]:" "(--collection-name)--collection-name[collection name]:" "(--item-id)--item-id[exact item id]:" "(--receipt-id)--receipt-id[exact receipt id]:" "(--cursor)--cursor[resource cursor]:" "(--kind)--kind[resource kind]:(project collection item taxonomy):" "(--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(J==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 to; complete -c knowledge -l rev; 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 operation-id; complete -c knowledge -l step-id; complete -c knowledge -l idempotency-key; complete -c knowledge -l slug; complete -c knowledge -l name; complete -c knowledge -l collection-id; complete -c knowledge -l collection-slug; complete -c knowledge -l collection-name; complete -c knowledge -l item-id; complete -c knowledge -l receipt-id; complete -c knowledge -l cursor; complete -c knowledge -l kind -a "project collection item taxonomy"; complete -c knowledge -l all; 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=fy($[0]),D=1,N=uy()&&j&&!f7.includes(j);if(!j||U.help||j==="help"){let J=j==="help"?$[1]:j||$[1];cy(J);return}if(j==="mode"){let J=SX(process.env);C(U.json||U.verbose?{ok:!0,...J}:dy(J),U.json,U);return}if(j==="guarded"){let J=$[1]??"capabilities";if(J==="capabilities"){C({ok:!0,contract:"FCAME-1",private_input:!0,private_result:!0,exact_title_lookup:!0,private_transport_body_output:!1,private_cli_descriptor_transport:!0,private_cli_transport:"anonymous_fd",guarded_actions:["create","update","query","readback"]},U.json,U);return}if(J!=="execute-descriptor")throw Error("Usage: knowledge guarded capabilities|execute-descriptor [--json]");let L=[U.title,U.content,U.url,U.tag,U.tagRaw,U.id,U.itemId,U.operationId,U.stepId,U.idempotencyKey,U.sourceRef,U.search,U.topic,U.project,U.collectionId,U.collectionSlug,U.collectionName].some((S)=>S!==void 0);if($.length!==2||L)throw Error("guarded_descriptor_public_input_refused");if(!Number.isInteger(U.requestFd)||!Number.isInteger(U.resultFd)||U.requestFd<3||U.resultFd<3)throw Error("guarded_descriptor_private_fds_required");C({ok:!0,...await yG(U.requestFd,U.resultFd,process.env)},U.json,U);return}LX(process.env,{storePathOverridden:Boolean(U.store)});let E=j==="project-panel"||j==="app-wiki"?U.scope??"project":U.scope,I=xI({scope:E}),W;try{if(j==="storage"){let P=$[1]??"status";if(P==="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 O=B2({dryRun:U.dryRun});if(C(O,U.json),!O.ok)process.exitCode=1;return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=I.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=I.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}}let J=Boolean(U.store),L=U.store;if(!L)if(E==="project"||E==="local")L=I.workspace.jsonStorePath;else L=Ij();let S=Xj({storePath:L,storePathOverridden:J});if(N&&await Cy($,j,S))j="ask",D=0;if(!J&&(j==="ask"||j==="build")&&!o$())$D(L);let X=()=>{if(!J||o$())return I.projectLinksAuthority();return W??=kI({databasePath:Hy(Zy(L),"knowledge.db"),itemStore:S,options:{packageVersion:L$.version,authorityId:process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),W};if(j==="project-registration"){let P=$[1]??"capability",O=X();if(P==="capability"){C({ok:!0,capability:await O.capability()},U.json,U);return}if(P==="create"){let Y=await O.capability(),Q=U.project,B=U.slug,G=U.name;if(!U.operationId||!U.stepId||!U.idempotencyKey||!Q||!B||!G)throw Error("Usage: knowledge project-registration create --operation-id <id> --step-id <id> --idempotency-key <key> --project <id> --slug <slug> --name <name> [--collection-slug <slug>] [--collection-name <name>] [--json]");let T={collection_slug:U.collectionSlug??`${B}-knowledge`,collection_name:U.collectionName??`${G} Knowledge`},F=g_({action:"register_collection",source_project_id:Q,project_slug:B,project_name:G,collection_slug:T.collection_slug,collection_name:T.collection_name,membership_rule:"explicit_collection_binding"}),g=await O.registerCollection({operation_id:U.operationId,step_id:U.stepId,resource_kind:"collection",direction:"forward",authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,target_selector:Q,idempotency_key:U.idempotencyKey,request_digest:F,precondition_digest:g_({source_project_id:Q,expected:"absent_or_exact_match"}),project_id:Q,project_slug:B,project_name:G,desired:T});C({ok:g.outcome==="accepted",receipt:g},U.json,U);return}if(P==="read-exact"){if(!U.collectionId)throw Error("Usage: knowledge project-registration read-exact --collection-id <uuid> [--json]");C({ok:!0,record:await O.readCollection(U.collectionId)},U.json,U);return}if(P==="receipt"){let Y=$[2],Q=$[3];if(!U.operationId||!U.stepId||!U.idempotencyKey||!Y||!Q)throw Error("Usage: knowledge project-registration receipt <register_collection|bind_item> <forward|inverse> --operation-id <id> --step-id <id> --idempotency-key <key> [--json]");let B=await O.capability(),G=await O.lookupReceipt({authority_id:B.authority_id,tenant_id:B.tenant_id,corpus_id:B.corpus_id,operation_id:U.operationId,step_id:U.stepId,action:Y,direction:Q,idempotency_key:U.idempotencyKey,max_items:1});C({ok:!0,receipt:G},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-registration ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let Y=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},B=P==="compensate"?{receipt:await O.compensateRegistration(Q)}:{verification:await O.verifyRegistrationInverse(Q)};C({ok:!0,...B},U.json,U);return}throw Error("Invalid project-registration action. Use capability, create, read-exact, receipt, compensate, or verify-inverse.")}if(j==="project-membership"){let P=$[1]??"read-exact",O=X();if(P==="bind"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership bind --operation-id <id> --step-id <id> --idempotency-key <key> --collection-id <uuid> --item-id <id> [--json]");let Y=await O.capability(),Q=await O.bindItem({operation_id:U.operationId,step_id:U.stepId,direction:"forward",authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,idempotency_key:U.idempotencyKey,request_digest:g_({action:"bind_item",collection_id:U.collectionId,item_id:U.itemId}),precondition_digest:g_({collection_id:U.collectionId,item_id:U.itemId,expected:"unbound_or_exact_membership"}),collection_id:U.collectionId,item_id:U.itemId});C({ok:Q.outcome==="accepted",receipt:Q},U.json,U);return}if(P==="read-exact"){if(!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership read-exact --collection-id <uuid> --item-id <id> [--json]");C({ok:!0,record:await O.readItemBinding(U.collectionId,U.itemId)},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-membership ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let Y=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},B=P==="compensate"?{receipt:await O.compensateItemBinding(Q)}:{verification:await O.verifyItemBindingInverse(Q)};C({ok:!0,...B},U.json,U);return}throw Error("Invalid project-membership action. Use bind, read-exact, compensate, or verify-inverse.")}if(j==="project-resources"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-resources <project-id> [--kind <kind>]... [--limit <n>] [--cursor <cursor>] [--all] [--json]");let O=X(),Y=U.kind,Q=U.all?{resources:await O.readAllProjectResources(P,{limit:U.limit,kinds:Y})}:await O.listProjectResources(P,{limit:U.limit,cursor:U.cursor,kinds:Y});C({ok:!0,...Q},U.json,U);return}if(j==="project-resource"){let P=U.project??$[1],O=$[2],Y=$[3];if(!P||!O||!Y)throw Error("Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]");C({ok:!0,resource:await X().readProjectResource(P,O,Y)},U.json,U);return}if(j==="inventory"){let P=await I.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:o$()?void 0:L});C(U.json||U.verbose?P:iy(P),U.json,U);return}if(j==="project-panel"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let O=await JG(P,{service:I,limit:U.limit,storePath:o$()?void 0:L,includeArchived:U.includeArchived||U.archived});C(U.json||U.contract?O:LG(O),U.json||U.contract);return}if(j==="paths"){let P=I.paths();C(U.json||U.verbose?P:ly(P),U.json,U);return}if(j==="setup"){let P=I.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});C(P,U.json,U);return}if(j==="auth"){let P=$[1]??"whoami";if(P==="whoami"||P==="status"){let O=I.authStatus(process.env);C({ok:!0,...O,message:O.authenticated?`Authenticated via ${O.source}`:"Not authenticated"},U.json,U);return}if(P==="login"){let O=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!O)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let Y=I.saveAuth({apiKey:O,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);C({ok:!0,authenticated:!0,email:Y.email??null,org_slug:Y.org_slug??null,api_url:Y.api_url??I.authStatus(process.env).api_url,auth_path:I.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${Y.email??"API key"}`},U.json,U);return}if(P==="logout"){let O=I.clearAuth(process.env);C({ok:!0,removed:O,message:O?"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 P=$[1]??"status";if(P==="status"){let O=I.storageContract(),Y=I.validateStorage();C({ok:Y.ok,...O,validation:Y,message:`${O.storage_type} artifact storage at ${O.artifact_store.uri_prefix}`},U.json,U);return}if(P==="validate"){let O=I.validateStorage();if(C({ok:O.ok,validation:O,message:O.ok?"Storage contract valid":`Storage contract invalid: ${O.errors.join("; ")}`},U.json,U),!O.ok)process.exitCode=1;return}if(P==="repair-artifact-keys"||P==="repair-keys"){let O=I.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});C(O,U.json,U);return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=I.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=I.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.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 P=$[1]??"topology";if(P==="topology"||P==="status"){let O=await I.machineTopology({includeTailscale:U.tailscale!==!1});C(U.json||U.verbose?O:ey(O),U.json,U);return}if(P==="preflight"||P==="check"){let O=$[2]??U.machine??"local",Y=U.workspace??process.cwd(),Q=await I.machinePreflight({machineId:O,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:L$.name,command:"knowledge",expectedVersion:L$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:Y,expectedPackageName:L$.name,expectedVersion:L$.version,required:!0}]});if(C(U.json||U.verbose?Q:sy(Q),U.json,U),!Q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(j==="sync"){let P=$[1]??"status",O=U.tables?U.tables.split(",").map((Y)=>Y.trim()).filter(Boolean):void 0;if(P==="status"){let Y=I.syncStatus();C(U.json||U.verbose?Y:_u(Y),U.json,U);return}if(P==="doctor"||P==="readiness"||P==="preflight"){let Y=await I.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:O}),Q={package:{name:L$.name,version:L$.version},...Y};if(C(U.json||U.verbose?Q:$u(Q),U.json,U),!Y.ok&&!U.json)process.exitCode=1;return}if(P==="snapshot"||P==="record"){let Y=await I.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});C(U.json||U.verbose?Y:Uu(Y),U.json,U);return}if(P==="conflicts"||P==="conflict"){let Y=$[2];if(Y==="show"||Y==="get"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts show <id>");let T=I.syncConflict(G);C({ok:!0,conflict:T,message:`Sync conflict ${G}`},U.json,U);return}if(Y==="propose"||Y==="proposal"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts propose <id>");C(U.mode==="ai"?await I.proposeSyncConflictResolutionWithAi({id:G,modelRef:U.model,fake:U.fake}):I.proposeSyncConflictResolution(G),U.json,U);return}if(Y==="resolve"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let T=I.resolveSyncConflict({id:G,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(C(T,U.json,U),!T.ok&&!U.json)process.exitCode=1;return}let Q=I.syncConflicts({status:Y,limit:U.limit}),B={ok:!0,conflicts:Q,message:`${Q.length} sync conflict(s)`};C(U.json||U.verbose?B:Du(B),U.json,U);return}if(P==="machines"||P==="registry"){let Y=I.syncMachines(),Q={ok:!0,machines:Y,message:`${Y.length} registered sync machine(s)`};C(U.json||U.verbose?Q:ju(Q),U.json,U);return}if(P==="export"){let Y=I.exportSyncBundle({machineId:U.machine??null,tables:O,includeArtifactContent:U.artifactContent!==!1});C(Y,!0);return}if(P==="import"){let Y=await Bun.stdin.text();if(!Y.trim())throw Error("Usage: knowledge sync import < bundle.json");let Q=await I.importSyncBundle({bundle:JSON.parse(Y),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});C(U.json||U.verbose?Q:b7(Q,P),U.json,U);return}if(P==="dry-run"||P==="pull"||P==="push"||P==="sync"){if(!U.peerWorkspace&&w7(U.machine))throw Error(`Usage: knowledge sync ${P} --peer-workspace <repo-or-knowledge-home> [--scope project] +Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let Y=P==="dry-run"?"both":P==="sync"?"both":P,Q=!w7(U.machine)?await I.syncRemotePeer({direction:Y,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:O,dryRun:U.dryRun===!0||P==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await I.syncPeer({peerWorkspace:U.peerWorkspace,direction:Y,dryRun:U.dryRun===!0||P==="dry-run",tables:O,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(C(U.json||U.verbose?Q:b7(Q,P),U.json,U),!Q.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 P=$[1]??"init";if(P==="init"){let O=I.initDb();C({ok:!0,...O,message:`Initialized ${O.path}`},U.json,U);return}if(P==="stats"){let O=I.dbStats();C({ok:!0,path:I.workspace.knowledgeDbPath,...O,message:`knowledge.db schema v${O.schema_version}`},U.json,U);return}if(P==="storage"){if(($[2]??"status")==="status"){let Y=_3({scope:U.scope});C({ok:!0,...Y,message:`knowledge.db storage mode ${Y.mode}`},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 P=$[1]??"init";if(P==="paths"||P==="status"){C({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...I.paths()},U.json);return}if(P==="init"||P==="open"){let O=await I.initAppWiki({allowGlobal:U.allowGlobal});C(O,U.json);return}if(P==="note"||P==="notes"){let O=$[2]??"list";if(O==="add"||O==="create"){let Y=U.title??$[3],Q=U.content??$.slice(4).join(" ");if(!Y||!Q)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let B=await I.addAppWikiNote({title:Y,content:Q,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});C(B,U.json);return}if(O==="list"||O==="ls"){let Y=I.listAppWikiNotes({limit:U.limit});C({ok:!0,scope:I.scope,home:I.workspace.home,notes:Y,message:`${Y.length} app wiki note(s)`},U.json);return}if(O==="get"||O==="show"){let Y=$[3]??U.id;if(!Y)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let Q=await I.getAppWikiNote(Y,{includeContent:!0});if(!Q)throw Error(`App wiki note not found: ${Y}`);C(Q,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(P==="source"||P==="sources"){let O=$[2]??"add";if(O!=="add"&&O!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let Y=$[3]??U.sourceRef?.[0];if(!Y)throw Error("Usage: knowledge app-wiki source add <source-ref>");let Q=await I.addAppWikiSourceRef({sourceRef:Y,purpose:U.purpose,allowGlobal:U.allowGlobal});C({ok:!0,...Q,message:`Added app wiki source ${Q.source_ref}`},U.json);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki search <query>");let Y=await I.searchAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...Y,message:`${Y.results.length} app wiki result(s)`},U.json);return}if(P==="query"||P==="context"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki query <query>");let Y=await I.queryAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...Y,message:`${Y.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 P=$[1]??"init";if(P==="init"){let O=await I.initWiki();C({ok:!0,...O,message:`Initialized wiki layout in ${I.workspace.home}`},U.json,U);return}if(P==="compile"){let O=$.slice(2),Y=O.filter((G)=>/^(open-files|file|s3|https?):\/\//.test(G)),Q=O.filter((G)=>!/^(open-files|file|s3|https?):\/\//.test(G)).join(" "),B=await I.compileWiki({title:U.title,query:Q||U.search,sourceRefs:Y.length>0?Y:void 0,limit:U.limit});C({ok:!0,...B,message:`Compiled wiki page ${B.path}`},U.json,U);return}if(P==="file-answer"||P==="answer"){let O=$.slice(2).join(" ");if(!O)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 Y=await I.fileAnswer({prompt:O,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...Y},U.json,U);return}if(P==="lint"){let O=I.lintWiki();C({ok:O.ok,...O,message:O.ok?"Wiki lint passed":`Wiki lint found ${O.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(j==="safety"){let P=$[1]??"status",O=I.ensureWorkspace(),Y=I.safetyPolicy();I.initDb();let Q=v(O.knowledgeDbPath);try{if(P==="status"){C({ok:!0,mode:Y.mode,workspace:O.home,allow_write_roots:Y.allowWriteRoots,read_only_source_access:Y.readOnlySourceAccess,network:Y.network,redaction:Y.redaction,approvals:Y.approvals,message:`Safety policy: ${Y.mode}`},U.json,U);return}if(P==="check"){let B=$[2]??"generated_write",G=$[3]??null,T;try{if(B==="web_search")C0(Y),T={action:B,target_uri:G,approval_required:!1,approved:!0,decision:"allow"};else if(B==="s3_read"){if(!G)throw Error("safety check s3_read requires an s3:// target.");y6(G,Y),T={action:B,target_uri:G,approval_required:!1,approved:!0,decision:"allow"}}else T=tX(Q,Y,B,G);G_(Q,{event_type:"safety_check",action:B,target_uri:G,decision:T.decision==="allow"?"allow":"requires_approval",metadata:T}),C({ok:!0,...T,message:`Safety check ${T.decision}`},U.json,U);return}catch(F){throw G_(Q,{event_type:"safety_check",action:B,target_uri:G,decision:"deny",metadata:{error:F instanceof Error?F.message:String(F)}}),F}}if(P==="approve"){let B=$[2]??"generated_write",G=$[3]??null,T=Tj(Q,{action:B,target_uri:G,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});G_(Q,{event_type:"approval",action:B,target_uri:G,decision:"allow",metadata:{approval_id:T.id}}),C({ok:!0,...T,action:B,target_uri:G,message:`Approved ${B}`},U.json,U);return}if(P==="audit"){let B=Q.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((G)=>({id:G.id,event_type:G.event_type,action:G.action,target_uri:G.target_uri,decision:G.decision,metadata:JSON.parse(G.metadata_json),created_at:G.created_at}));C({ok:!0,events:B,message:`${B.length} audit event(s)`},U.json,U);return}if(P==="redact"){let B=$.slice(2).join(" ");if(!B)throw Error("Usage: knowledge safety redact <text>");let G=d_(B,Y);if(G.findings.length>0)b0(Q,{source_uri:"safety://redact",findings:G.findings,metadata:{command:"safety redact"}});G_(Q,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:G.findings.length>0?"redacted":"allow",metadata:{findings:G.findings.length}}),C({ok:!0,text:G.text,findings:G.findings,message:`Redacted ${G.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{Q.close()}}if(j==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let O=$[2];if(!O)throw Error("Usage: knowledge source resolve <source-ref>");let Y=await I.resolveSource(O,{purpose:U.purpose,limit:U.limit});C({ok:!0,...Y,message:Y.resolved?`Resolved ${Y.source_ref} (${Y.content.chunks_returned}/${Y.content.chunks_total} chunks)`:`Source not indexed: ${O}`},U.json,U);return}if(j==="ingest"){let P=$[1]??"";if(P==="rules"||P==="global-rules"||P==="agent-rules"){let O=await I.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});C({ok:!0,...O},U.json);return}if(P==="manifest"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let Y=await I.ingestManifest(O);C({ok:!0,...Y,message:`Ingested ${Y.items_seen} manifest item(s)`},U.json,U);return}if(P==="source"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest source <source-ref>");let Y=await I.ingestSource(O,U.purpose);C({ok:!0,...Y,message:`Ingested source ${Y.source_ref} (${Y.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(j==="reindex"){let P=$[1]??"status";if(P==="status"){let O=I.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`${O.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(P==="enqueue"){let O=I.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`Queued ${O.enqueued} embedding refresh item(s)`},U.json,U);return}if(P==="embeddings"){let O=await I.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`Embedded ${O.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="outbox"){let O=$[2];if(!O)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let Y=await I.consumeOutbox(O);C({ok:!0,...Y,message:`Consumed ${Y.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(j==="embeddings"){let P=$[1]??"status";if(P==="status"){let O=I.embeddingStatus();C({ok:!0,...O,message:`${O.total_vector_entries} vector index entries`},U.json,U);return}if(P==="index"){let O=await I.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`Embedded ${O.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge embeddings search <query>");let Y=await I.semanticSearch({query:O,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),Q={ok:!0,...Y,message:`${Y.results.length} semantic result(s)`};C(U.json||U.verbose?Q:py(Q),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 O=U.from??"search";if(!["search","loops","runs"].includes(O))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let Y=$.slice(2).join(" ")||U.topic||"",Q=await I.contextPack({source:O,purpose:O==="loops"||O==="runs"?"proposal":"agent_context",query:Y,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:L});C7({ok:!0,...Q,message:Q.message});return}if(j==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let O=U.from??"loops";if(!["loops","runs"].includes(O))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let Y=U.topic??$.slice(2).join(" ");if(!Y.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let Q=await I.contextPack({source:O,purpose:"proposal",query:Y,topic:Y,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});C7({ok:!0,...Q,message:Q.message});return}if(j==="search"){let P=$.slice(1).join(" ");if(!P)throw Error("Usage: knowledge search <query>");if(U.context){let Q=await I.retrieveContext({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:L}),B={ok:!0,...Q,message:`${Q.excerpts.length} context excerpt(s)`};C(U.json||U.verbose?B:oy(B),U.json,U);return}let O=await I.search({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:L}),Y={ok:!0,...O,message:`${O.results.length} search result(s)`};C(U.json||U.verbose?Y:ty(Y),U.json,U);return}if(j==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge web search <query>");let Y=await I.webSearch({query:O,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),Q={ok:!0,...Y,message:`${Y.sources.length} web source(s)`};C(U.json||U.verbose?Q:ay(Q),U.json,U);return}if(j==="ask"||j==="build"){let P=$.slice(D).join(" ");if(!P)throw Error("Usage: knowledge ask <prompt>");let O=await I.runPrompt({prompt:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:L}),Y={ok:!0,...O,message:O.generated?"Generated answer with citations":"Prepared citation context draft"};C(U.json||U.verbose?Y:Nu(Y),U.json,U);return}if(j==="providers"){let P=$[1]??"status";if(P==="status"){let O=I.providerStatus(),Y=O.providers.filter((Q)=>Q.configured).length;C({ok:!0,...O,message:`${Y}/${O.providers.length} provider credential(s) configured`},U.json,U);return}if(P==="models"){let O=I.modelRegistry();C({ok:!0,models:O,message:`${O.length} model alias(es)`},U.json,U);return}if(P==="check"){let O=$[2]??"default",Y=k$(O,I.config()),Q=c_(Y),B=T4(Q.provider,I.config());C({ok:!0,target:O,model_ref:Y,provider:Q.provider,model:Q.model,credential:B,message:`${Q.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(j==="add"){let P=$[1],O=$[2];if(!P||!O)throw Error("Usage: knowledge add <title> <content>");let Y=await S.create({title:P,content:O,url:U.url??null,tags:U.tag??[]});G0("info","Item added",{id:Y.id,title:Y.title,tags:Y.tags?.length??0,transport:S.kind}),C({ok:!0,item:Y,message:`Added ${Y.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'.");if(U.page!==void 0&&(!Number.isFinite(U.page)||!Number.isInteger(U.page)||U.page<1))throw Error("--page must be a positive integer.");if(U.limit!==void 0&&(!Number.isFinite(U.limit)||!Number.isInteger(U.limit)||U.limit<1||U.limit>200))throw Error("--limit must be an integer between 1 and 200.");let P=U.page??1,O=U.limit??20,Y=U.search?String(U.search).toLowerCase():"",Q=U.tagRaw??U.tag??[],B=U.tag?.length?U.tag.map((Q_)=>Q_.toLowerCase()).join(","):"none",G=U.format==="table"||!U.json&&!U.format&&my(U),T=U.json||U.format==="json",F=U.archived?"archived":U.includeArchived?"all":"active",{sort:g,direction:q}=Iu([],U),x=(P-1)*O;if(x>1e4)throw Error("The requested page exceeds the maximum bounded offset of 10000.");let l=await S.list({search:Y,tags:Q,archive:F,sort:g,direction:q,limit:O,offset:x}),D_=l.items,E_=Math.max(1,Math.ceil(l.total/O)),E$={ok:!0,page:P,limit:O,total:l.total,total_pages:E_,sort:g,direction:q,items:D_,store_exists:l.exists};if(T){C(E$,!0);return}if(U.verbose){C(E$,!1,U);return}if(D_.length===0){C(`No items found (search=${Y||"none"}, tag=${B})`,!1);return}if(G){let Q_=(N_)=>N_,q$=`${Q_("ID")} ${Q_("TITLE")} ${Q_("CREATED")} ${Q_("URL")} ${Q_("TAGS")}`;console.log(q$);for(let N_ of D_)console.log(`${N_.id} ${Q_(j_(N_.title,80))} ${N_.created_at} ${N_.url?Q_(j_(N_.url,90)):""} ${N_.tags?.length?Q_(j_(`[${N_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${E_} | showing ${D_.length} of ${l.total} | sort=${g} ${q} | search=${Y||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let Q_ of D_)console.log(`${Q_.id} ${j_(Q_.title,80)} ${Q_.created_at}${Q_.url?` ${j_(Q_.url,90)}`:""}${Q_.tags?.length?` ${j_(`[${Q_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${E_} | showing ${D_.length} of ${l.total} | sort=${g} ${q} | search=${Y||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(j==="get"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);C({ok:!0,item:P,store_exists:S.exists,message:`${P.id}: ${P.title}`},U.json,U);return}if(j==="versions"){Q0(U);let P=Number.isFinite(U.page)&&U.page>0?U.page:1,O=Number.isFinite(U.limit)&&U.limit>0?U.limit:void 0,Y=await S.listVersions(U.id,{limit:O,offset:(P-1)*(O??50)});if(!Y)throw Error(`Item not found: ${U.id}`);let Q={ok:!0,id:Y.item_id,current_version:Y.current_version,total:Y.total,page:P,store:S.location,versions:Y.items,message:Y.total===0?`${Y.item_id} is at version ${Y.current_version} with no retained prior versions`:`${Y.item_id} is at version ${Y.current_version}; ${Y.total} prior version(s) retained`};if(U.json||U.verbose){C(Q,U.json,U);return}console.log(Q.message);for(let B of Y.items){let G=B.actor?` by ${B.actor}`:"",T=B.reason?` (${B.reason})`:"";console.log(`v${B.version} ${B.valid_to}${G}${T} ${B.content_bytes} bytes ${B.content_hash.slice(0,12)}`)}if(Y.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(j==="diff"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.rev!==void 0&&(U.from!==void 0||U.to!==void 0))throw Error("Use either --rev <n> or --from <a> --to <b>, not both.");let O=()=>({title:P.title,content:P.content,url:P.url,tags:P.tags??[],metadata:P.metadata??{},archived:P.archived??!1}),Y=`v${P.version??"?"} (current)`,Q=async(q)=>{if(q==="current")return{label:Y,snapshot:O()};let x=Number(q);if(!Number.isInteger(x)||x<1)throw Error(`Not a version number: ${q}`);if(P.version!==void 0&&x===P.version)return{label:Y,snapshot:O()};let l=await S.getVersion(P.id,x);if(!l)throw Error(`No version ${x} retained for ${P.id} (it is at version ${P.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${l.version}`,snapshot:{title:l.title,content:l.content,url:l.url,tags:l.tags,metadata:l.metadata,archived:l.archived}}},B,G;if(U.rev!==void 0){if(!Number.isInteger(U.rev)||U.rev<1)throw Error("--rev must be a positive version number.");if(U.rev===1)throw Error("Version 1 has no predecessor to diff against.");B=String(U.rev-1),G=String(U.rev)}else if(U.from!==void 0||U.to!==void 0){if(U.from===void 0||U.to===void 0)throw Error("--from and --to must be given together.");B=U.from,G=U.to}else{let q=await S.listVersions(P.id,{limit:1});if(!q)throw Error(`Item not found: ${U.id}`);if(q.items.length===0)throw Error(`${P.id} is at version ${q.current_version} with no retained prior versions to diff against.`);B=String(q.items[0].version),G="current"}let T=await Q(B),F=await Q(G),g=GX(T.snapshot,F.snapshot);if(U.json||U.verbose){C({ok:!0,id:P.id,from:T.label,to:F.label,...g},U.json,U);return}console.log(TX(g,`${P.id} ${T.label}`,`${P.id} ${F.label}`));return}if(j==="update"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.ifVersion!==void 0&&(!Number.isInteger(U.ifVersion)||U.ifVersion<1))throw Error(`Invalid --if-version ${JSON.stringify(String(U.ifVersion))}: must be a positive integer version number, e.g. the "version" field from a prior 'knowledge get'.`);let O={};if(U.title!==void 0)O.title=U.title;if(U.content!==void 0)O.content=U.content;if(U.url!==void 0)O.url=U.url;let Y;if(U.tag!==void 0){if(Y=k7(P.tags,U.tag),Y.length>0)O.tags=[...P.tags??[],...Y]}let Q=U.ifVersion!==void 0?U.ifVersion:P.version,B=await S.update(P.id,O,{expectedVersion:Q});C(z3({ok:!0,item:B},`Updated ${B?.id??P.id}`,Y),U.json,U);return}if(j==="archive"||j==="restore"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=await S.update(P.id,{archived:j==="archive"},{expectedVersion:P.version});C({ok:!0,item:O,message:`${j==="archive"?"Archived":"Restored"} ${O?.id??P.id}`},U.json,U);return}if(j==="untag"){if(Q0(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=P.tags??[],Y=new Set(O.map((x)=>x.toLowerCase())),Q=new Set;for(let x of U.tagRaw??U.tag){let l=x.trim().toLowerCase();if(l.length>0&&Y.has(l)){Q.add(l);continue}for(let D_ of x.split(",").map((E_)=>E_.trim().toLowerCase()).filter((E_)=>E_.length>0))Q.add(D_)}let B=O.filter((x)=>!Q.has(x.toLowerCase())),G=O.length-B.length,T=[...Q].filter((x)=>!Y.has(x));if(G===0)throw Error(`No matching tag on ${P.id}: ${T.map((x)=>JSON.stringify(x)).join(", ")} not in [${O.map((x)=>JSON.stringify(x)).join(", ")}]`);let F=await S.update(P.id,{tags:B},{expectedVersion:P.version}),g=T.length>0?` (not found: ${T.map((x)=>JSON.stringify(x)).join(", ")})`:"",q={ok:!0,item:F,removed:G,message:`Removed ${G} tag${G===1?"":"s"} from ${F?.id??P.id}${g}`};if(T.length>0)q.not_found=T;C(q,U.json,U);return}if(j==="upsert"){let P=U.title??$[1],O=U.content??$[2],Y=U.id?await S.get(U.id):null;if(!Y){if(!P||!O)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let T=await S.create({id:U.id,title:P,content:O,url:U.url??null,tags:U.tag??[]});C(z3({ok:!0,created:!0,item:T},`Upserted ${T.id}`,U.tag),U.json,U);return}let Q={};if(P!==void 0)Q.title=P;if(O!==void 0)Q.content=O;if(U.url!==void 0)Q.url=U.url;let B;if(U.tag!==void 0){if(B=k7(Y.tags,U.tag),B.length>0)Q.tags=[...Y.tags??[],...B]}let G=await S.update(Y.id,Q,{expectedVersion:Y.version});C(z3({ok:!0,created:!1,item:G},`Upserted ${G?.id??Y.id}`,B),U.json,U);return}if(j==="delete"){if(Q0(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await S.delete(U.id))throw Error(`Item not found: ${U.id}`);G0("info","Item deleted",{id:U.id,transport:S.kind}),C({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(j==="export"){let P=U.format??"json";if(P!=="json"&&P!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let O=await S.listAll();if(P==="jsonl")for(let Y of O.items)console.log(JSON.stringify(Y));else if(U.json||U.format==="json"||U.verbose)C({ok:!0,items:O.items,store_exists:O.exists},U.json||U.format==="json",U);else C(Eu(O.items,P),!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:P}=await S.listAll(),O=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,Y=P.filter((G)=>O!==null&&new Date(G.created_at)<O||U.empty&&G.content.trim().length===0),Q=await S.deleteMany(Y.map((G)=>G.id)),B=P.length-Q;G0("info","Prune completed",{pruned:Q,remaining:B,transport:S.kind}),C({ok:!0,pruned:Q,remaining:B,message:`Pruned ${Q} 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:P}=await S.listAll(),O=new Set,Y=[];for(let G of P){let T=`${G.title}\x00${G.content}`;if(O.has(T))Y.push(G);else O.add(T)}let Q=await S.deleteMany(Y.map((G)=>G.id)),B=P.length-Q;G0("info","Dedupe completed",{removed:Q,remaining:B,transport:S.kind}),C({ok:!0,removed:Q,remaining:B,message:`Dedupe removed ${Q} duplicate(s)`},U.json,U);return}if(j==="stats"){let P=await S.listAll(),O=P.items.filter((x)=>!x.archived),Y=O.length,Q=P.items.length-Y,B=O.filter((x)=>x.url).length,G=O.filter((x)=>x.tags&&x.tags.length>0).length,T=Y>0?O.map((x)=>x.created_at).sort()[0]:null,F=Y>0?O.map((x)=>x.created_at).sort()[Y-1]:null,g={};for(let x of O)for(let l of x.tags||[])g[l]=(g[l]||0)+1;let q=Object.entries(g).sort((x,l)=>l[1]-x[1]).slice(0,5).map(([x,l])=>({tag:x,count:l}));C({ok:!0,total:Y,archived:Q,with_url:B,with_tags:G,oldest:T,newest:F,top_tags:q,store_exists:P.exists,message:`${Y} items | ${B} with URL | ${G} with tags`},U.json,U);return}let z=yy($[0]),R=z?` Did you mean '${z}'?`:"";throw G0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${R} Run 'knowledge --help' for available commands.`)}finally{await W?.close(),await I.close()}}function Wu(_,$){let U=_ instanceof Error?_.message:String(_);G0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`);let j=_ instanceof q0?_:null;if($.includes("--json"))C({ok:!1,error:U,message:U,...j?{code:"version_conflict",expected:j.expected,current:j.current}:{}},!0);process.exitCode=j?2:1}if(import.meta.main){let _=process.argv.slice(2);Au(_).catch(($)=>Wu($,_))}export{yy as suggestCommand,Iu as sortItems,Au as run,vy as parseArgs,Wu as emitCliError}; diff --git a/dist/guarded-cli.d.ts b/dist/guarded-cli.d.ts new file mode 100644 index 0000000..b8e186c --- /dev/null +++ b/dist/guarded-cli.d.ts @@ -0,0 +1,27 @@ +import { KNOWLEDGE_GUARDED_WRITE_CONTRACT, type KnowledgePrivateInputDescriptor, type KnowledgePrivateQueryDescriptor, type KnowledgePrivateResultProof } from './guarded-write-contract.js'; +export declare const KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA: 'knowledge.guarded-cli-request.v1'; +export declare const KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA: 'knowledge.guarded-cli-result.v1'; +type KnowledgeGuardedCliAction = 'write' | 'query' | 'readback'; +export interface KnowledgeGuardedCliPrivateResult { + schema: typeof KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA; + ok: true; + contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; + action: KnowledgeGuardedCliAction; + transport: 'anonymous_fd'; + request_digest: string; + result_digest: string; + proof: KnowledgePrivateResultProof; +} +export interface KnowledgeGuardedCliDescriptorOptions { + env?: NodeJS.ProcessEnv; + timeoutMs?: number; +} +export declare class KnowledgeGuardedCliDescriptorError extends Error { + readonly code: string; + constructor(code: string); +} +export declare function runKnowledgeGuardedCliDescriptorWorker(requestFd: number, resultFd: number, env?: NodeJS.ProcessEnv): Promise<Omit<KnowledgeGuardedCliPrivateResult, 'proof'>>; +export declare function executeKnowledgeGuardedCliWrite(descriptor: KnowledgePrivateInputDescriptor, options?: KnowledgeGuardedCliDescriptorOptions): Promise<KnowledgeGuardedCliPrivateResult>; +export declare function executeKnowledgeGuardedCliQuery(descriptor: KnowledgePrivateQueryDescriptor, options?: KnowledgeGuardedCliDescriptorOptions): Promise<KnowledgeGuardedCliPrivateResult>; +export declare function executeKnowledgeGuardedCliReadback(descriptor: KnowledgePrivateQueryDescriptor, options?: KnowledgeGuardedCliDescriptorOptions): Promise<KnowledgeGuardedCliPrivateResult>; +export {}; diff --git a/dist/index.d.ts b/dist/index.d.ts index 0cb8ae4..65e748b 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -5,6 +5,7 @@ export { type KnowledgeItem, type Store as KnowledgeItemStoreFile, } from './sto export { KNOWLEDGE_APP_SLUG, KNOWLEDGE_BOUNDED_QUERY_CAPABILITY, KNOWLEDGE_RESOURCE, KnowledgeBoundedQueryCapabilityError, isKnowledgeApiMode, resolveKnowledgeCloudStore, type KnowledgeCloudStore, type KnowledgeCloudCreateInput, type KnowledgeCloudListOptions, type KnowledgeCloudPatch, type KnowledgeCloudSearchHit, type KnowledgeCloudSearchOptions, } from './cloud-store.js'; export { DEFAULT_KNOWLEDGE_GUARDED_LIMITS, KNOWLEDGE_GUARDED_WRITE_CONTRACT, KNOWLEDGE_PRIVATE_INPUT_SCHEMA, KNOWLEDGE_PRIVATE_QUERY_SCHEMA, KNOWLEDGE_PRIVATE_RESULT_SCHEMA, KNOWLEDGE_PRIVATE_TITLE_LOOKUP_SCHEMA, KNOWLEDGE_RELATIONS_METADATA_KEY, KNOWLEDGE_RELATIONS_SCHEMA, assertKnowledgeGuardedBinding, assertKnowledgeGuardedBounds, assertKnowledgeGuardedManifestBinding, assertKnowledgeGuardedManifestOptions, assertKnowledgeGuardedManifestTerminalCompleteness, assertKnowledgeGuardedPayload, assertKnowledgeGuardedPrecondition, assertKnowledgePrivateQueryBounds, assertKnowledgePrivateQueryPage, assertKnowledgePrivateQuerySelector, assertKnowledgeRelationsMetadata, assertKnowledgeTerminalCompleteness, canonicalKnowledgeGuardedJson, computeKnowledgeGuardedAdoptionDeterministicKey, computeKnowledgeGuardedAdoptionReceiptId, computeKnowledgeGuardedDeterministicKey, computeKnowledgeGuardedManifestId, computeKnowledgeGuardedManifestDeterministicKey, computeKnowledgeGuardedManifestDigest, computeKnowledgeGuardedReceiptId, computeKnowledgeGuardedRecoveryKey, createKnowledgePrivateInputDescriptor, createKnowledgePrivateQueryDescriptor, createKnowledgePrivateTitleLookupDescriptor, evaluateKnowledgeGuardedManifestCompletion, knowledgeGuardedDigest, knowledgeGuardedContentSha256, knowledgeGuardedUtf8Bytes, inspectKnowledgePrivateResult, normalizeKnowledgeGuardedLimits, revokeKnowledgePrivateInputDescriptor, revokeKnowledgePrivateQueryDescriptor, revokeKnowledgePrivateResultDescriptor, revokeKnowledgePrivateTitleLookupDescriptor, type CreateKnowledgeGuardedManifestOptions, type CreateKnowledgePrivateInputDescriptorOptions, type CreateKnowledgePrivateQueryDescriptorOptions, type CreateKnowledgePrivateTitleLookupDescriptorOptions, type KnowledgeAuthorityBinding, type KnowledgeAuthorityClassification, type KnowledgeGuardedAdoptionAction, type KnowledgeGuardedAdoptionEnvelope, type KnowledgeGuardedAdoptionKeyInput, type KnowledgeGuardedAdoptionReceipt, type KnowledgeGuardedAdoptionReconciliation, type KnowledgeGuardedAdoptionResult, type KnowledgeGuardedAdoptionSubmission, type KnowledgeGuardedBinding, type KnowledgeGuardedBindingState, type KnowledgeGuardedBindingStateReadback, type KnowledgeGuardedBounds, type KnowledgeGuardedCreatePayload, type KnowledgeGuardedDeterministicKeyInput, type KnowledgeGuardedLimits, type KnowledgeGuardedManifest, type KnowledgeGuardedManifestBinding, type KnowledgeGuardedManifestCompletion, type KnowledgeGuardedManifestEnvelope, type KnowledgeGuardedManifestReconciliation, type KnowledgeGuardedManifestReconciliationStep, type KnowledgeGuardedManifestRecovery, type KnowledgeGuardedManifestStep, type KnowledgeGuardedManifestStepState, type KnowledgeGuardedManifestSubmission, type KnowledgeGuardedLegacyAdoptionOptions, type KnowledgeGuardedLegacyRollbackOptions, type KnowledgeGuardedPayload, type KnowledgeGuardedPrecondition, type KnowledgeGuardedReadback, type KnowledgeGuardedReceipt, type KnowledgeGuardedReceiptStatus, type KnowledgeGuardedRecoveryKeyInput, type KnowledgeGuardedRecoveryStrategy, type KnowledgeGuardedRollbackResult, type KnowledgeGuardedSubmission, type KnowledgeGuardedTitleLookup, type KnowledgeGuardedUpdatePayload, type KnowledgeGuardedWriteEnvelope, type KnowledgeGuardedWriteResult, type KnowledgeGuardedWriteVerb, type KnowledgePrivateInputDescriptor, type KnowledgePrivateItemProof, type KnowledgePrivateQueryArchive, type KnowledgePrivateQueryBounds, type KnowledgePrivateQueryDescriptor, type KnowledgePrivateQueryEnvelope, type KnowledgePrivateQueryItemProof, type KnowledgePrivateQueryKind, type KnowledgePrivateQueryPage, type KnowledgePrivateQueryResult, type KnowledgePrivateQuerySelector, type KnowledgePrivateResultDescriptor, type KnowledgePrivateResultProof, type KnowledgePrivateTitleLookupDescriptor, type KnowledgeRelationsMetadata, type KnowledgeTerminalReconciliation, } from './guarded-write-contract.js'; export * from './guarded-writer.js'; +export { KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA, KnowledgeGuardedCliDescriptorError, executeKnowledgeGuardedCliQuery, executeKnowledgeGuardedCliReadback, executeKnowledgeGuardedCliWrite, type KnowledgeGuardedCliDescriptorOptions, type KnowledgeGuardedCliPrivateResult, } from './guarded-cli.js'; export { KNOWLEDGE_API_KEY_ENV_KEYS, KNOWLEDGE_API_URL_ENV_KEYS, KNOWLEDGE_MODE_ENV_KEYS, LOCAL_MODE_CANDIDATES, SERVER_MODE_CANDIDATES, contractsStorageModeFor, knowledgeModeReport, localStorageMode, pinnedTransportEnv, resolveKnowledgeModeSelection, serverStorageMode, type KnowledgeMode, type ModeNormalizer, type KnowledgeModeReport, type KnowledgeModeResolution, type KnowledgeModeSource, } from './knowledge-mode.js'; export { NETWORK_GUARD_ENV, KnowledgeNetworkGuardError, assertOutboundRequestAllowed, guardedFetch, isLoopbackHostname, isNetworkGuardActive, } from './net-guard.js'; export { buildKnowledgeAgentContextPack, type KnowledgeAgentContextCitation, type KnowledgeAgentContextEvidence, type KnowledgeAgentContextPack, type KnowledgeAgentDuplicateCandidate, type KnowledgeContextPackPurpose, type KnowledgeContextPackSource, } from './context-pack.js'; diff --git a/dist/index.js b/dist/index.js index 880198c..12a13fd 100644 --- a/dist/index.js +++ b/dist/index.js @@ -37854,7 +37854,7 @@ function migrateLegacyKnowledgeWorkspace(options) { // package.json var package_default = { name: "@hasna/knowledge", - version: "0.2.102", + version: "0.2.104", description: "Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions", type: "module", exports: { @@ -41432,6 +41432,173 @@ function createKnowledgeGuardedWriter(options) { } return new GuardedWriter(transport, options.binding, normalizeKnowledgeGuardedLimits(options.limits), options.require_manifest === true); } +// src/guarded-cli.ts +import { spawn } from "child_process"; +import { fileURLToPath as fileURLToPath3 } from "url"; +var KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA = "knowledge.guarded-cli-request.v1"; +var KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA = "knowledge.guarded-cli-result.v1"; +var PRIVATE_FD_MAX_BYTES = 1048576; + +class KnowledgeGuardedCliDescriptorError extends Error { + code; + constructor(code) { + super(code); + this.code = code; + this.name = "KnowledgeGuardedCliDescriptorError"; + } +} +function assertExactKeys(value, expected, label) { + const actual = Object.keys(value).sort(); + const wanted = [...expected].sort(); + if (actual.length !== wanted.length || actual.some((key, index) => key !== wanted[index])) { + throw new KnowledgeGuardedCliDescriptorError(`${label}_shape_invalid`); + } +} +function writeFrame(descriptor) { + return { + schema: KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, + action: "write", + operation_id: descriptor.operation_id, + step_id: descriptor.step_id, + verb: descriptor.verb, + target_id: descriptor.target_id, + precondition: descriptor.precondition, + binding: descriptor.binding, + manifest: descriptor.manifest, + payload: materializeKnowledgePrivateInput(descriptor), + expires_at: descriptor.expires_at + }; +} +function queryFrame(descriptor, action) { + return { + schema: KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, + action, + operation_id: descriptor.operation_id, + step_id: descriptor.step_id, + binding: descriptor.binding, + selector: materializeKnowledgePrivateQuery(descriptor), + archive: descriptor.archive, + page: descriptor.page, + expires_at: descriptor.expires_at + }; +} +function collectBounded(stream, maxBytes = 64 * 1024) { + return new Promise((resolve6, reject) => { + const chunks = []; + let total = 0; + stream.on("data", (chunk) => { + const encoded = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + total += encoded.byteLength; + if (total > maxBytes) { + stream.destroy(); + reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_public_output_cap_exceeded")); + return; + } + chunks.push(encoded); + }); + stream.on("end", () => resolve6(Buffer.concat(chunks, total).toString("utf8"))); + stream.on("error", () => reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_stream_failed"))); + }); +} +function parseWorkerResult(raw) { + let parsed; + try { + parsed = JSON.parse(raw); + } catch { + throw new KnowledgeGuardedCliDescriptorError("guarded_cli_private_result_invalid"); + } + if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) { + throw new KnowledgeGuardedCliDescriptorError("guarded_cli_private_result_invalid"); + } + return parsed; +} +async function executeDescriptorFrame(frame, options) { + const entrypoint = fileURLToPath3(new URL("../bin/knowledge.js", import.meta.url)); + const runtime = typeof Bun !== "undefined" ? process.execPath : "bun"; + const timeoutMs = Math.min(Math.max(options.timeoutMs ?? 65000, 1), 300000); + const child = spawn(runtime, [ + entrypoint, + "guarded", + "execute-descriptor", + "--request-fd", + "3", + "--result-fd", + "4", + "--json" + ], { + env: options.env ?? process.env, + stdio: ["ignore", "pipe", "ignore", "pipe", "pipe"] + }); + const request = child.stdio[3]; + const privateResult = child.stdio[4]; + const stdout = collectBounded(child.stdout); + const resultText = collectBounded(privateResult, PRIVATE_FD_MAX_BYTES); + const requestFinished = new Promise((resolve6, reject) => { + request.once("error", () => reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_request_failed"))); + request.end(canonicalKnowledgeGuardedJson(frame), () => resolve6()); + }); + const exited = new Promise((resolve6, reject) => { + child.once("error", () => reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_spawn_failed"))); + child.once("close", (code) => resolve6(code ?? 1)); + }); + let timeout; + const timedOut = new Promise((_resolve, reject) => { + timeout = setTimeout(() => { + child.kill("SIGKILL"); + request.destroy(); + child.stdout?.destroy(); + privateResult.destroy(); + reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_timeout")); + }, timeoutMs); + }); + let completed; + try { + completed = await Promise.race([ + Promise.all([exited, requestFinished, stdout, resultText]), + timedOut + ]); + } finally { + if (timeout) + clearTimeout(timeout); + } + const [exitCode, _requestComplete, publicOut, privateOut] = completed; + const result = parseWorkerResult(privateOut); + if (exitCode !== 0 || result.schema !== KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA || result.ok !== true) { + const code = result && result.ok === false ? result.code : "guarded_cli_worker_failed"; + throw new KnowledgeGuardedCliDescriptorError(code); + } + let publicAck; + try { + const parsed = JSON.parse(publicOut); + if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) + throw new Error; + publicAck = parsed; + } catch { + throw new KnowledgeGuardedCliDescriptorError("guarded_cli_public_ack_invalid"); + } + assertExactKeys(publicAck, [ + "ok", + "schema", + "contract", + "action", + "transport", + "request_digest", + "result_digest" + ], "guarded_cli_public_ack"); + if (publicAck.ok !== true || publicAck.schema !== result.schema || publicAck.contract !== result.contract || publicAck.action !== result.action || publicAck.transport !== result.transport || publicAck.request_digest !== result.request_digest || publicAck.result_digest !== result.result_digest || result.request_digest !== knowledgeGuardedDigest(frame) || result.result_digest !== knowledgeGuardedDigest(result.proof)) { + throw new KnowledgeGuardedCliDescriptorError("guarded_cli_boundary_verification_failed"); + } + return result; +} +function executeKnowledgeGuardedCliWrite(descriptor, options = {}) { + return executeDescriptorFrame(writeFrame(descriptor), options); +} +function executeKnowledgeGuardedCliQuery(descriptor, options = {}) { + return executeDescriptorFrame(queryFrame(descriptor, "query"), options); +} +function executeKnowledgeGuardedCliReadback(descriptor, options = {}) { + return executeDescriptorFrame(queryFrame(descriptor, "readback"), options); +} // node_modules/@hasna/contracts/dist/index.js import { createHash as createHash24 } from "crypto"; var __defProp2 = Object.defineProperty; @@ -50498,6 +50665,9 @@ export { getAppWikiNote, formatKnowledgeProjectPanel, fileAnswerToWiki, + executeKnowledgeGuardedCliWrite, + executeKnowledgeGuardedCliReadback, + executeKnowledgeGuardedCliQuery, evaluateKnowledgeGuardedManifestCompletion, ensureKnowledgeWorkspace, enqueueMissingEmbeddings, @@ -50579,6 +50749,7 @@ export { KnowledgeGuardedManifestUncertainError, KnowledgeGuardedManifestStepRefusedError, KnowledgeGuardedManifestConflictError, + KnowledgeGuardedCliDescriptorError, KnowledgeGuardedAdoptionUncertainError, KnowledgeGuardedAdoptionRejectedError, KnowledgeGuardedAdoptionOperationConflictError, @@ -50607,6 +50778,8 @@ export { KNOWLEDGE_MACHINES_ADAPTER_ENTRYPOINT, KNOWLEDGE_MACHINES_ADAPTER_CONTRACT_VERSION, KNOWLEDGE_GUARDED_WRITE_CONTRACT, + KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA, + KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, KNOWLEDGE_BOUNDED_QUERY_CAPABILITY, KNOWLEDGE_APP_SLUG, KNOWLEDGE_API_URL_ENV_KEYS, diff --git a/package.json b/package.json index 819880f..05ff03c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hasna/knowledge", - "version": "0.2.102", + "version": "0.2.104", "description": "Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions", "type": "module", "exports": { diff --git a/src/cli.ts b/src/cli.ts index 129c138..f22c7da 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -28,6 +28,7 @@ import { type KnowledgeProjectRegistrationDirection, type KnowledgeProjectResourceKind, } from './project-links'; +import { runKnowledgeGuardedCliDescriptorWorker } from './guarded-cli'; import { getStorageStatus as getDatabaseStorageStatus } from './storage'; import { assertProviderCredentials, parseModelRef, resolveModelRef, type AiProviderId } from './providers'; import { approvalStatus, assertS3ReadAllowed, assertWebSearchAllowed, createApprovalGate, recordAuditEvent, recordRedactionFindings, redactSecrets } from './safety'; @@ -154,6 +155,8 @@ interface Flags { name?: string; collectionSlug?: string; collectionName?: string; + requestFd?: number; + resultFd?: number; } interface ParseResult { @@ -248,6 +251,9 @@ function collectTagFlag(current: string[] | undefined, raw: string | undefined): function parseArgs(argv: string[]): ParseResult { const positional: string[] = []; const flags: Flags = {}; + const guardedIndex = argv.indexOf('guarded'); + const guardedDescriptorInvocation = guardedIndex >= 0 + && argv.indexOf('execute-descriptor', guardedIndex + 1) >= 0; let optionsTerminated = false; for (let i = 0; i < argv.length; i += 1) { const token = argv[i]; @@ -352,7 +358,13 @@ function parseArgs(argv: string[]): ParseResult { case '--name': flags.name = argv[i + 1]; i += 1; break; case '--collection-slug': flags.collectionSlug = argv[i + 1]; i += 1; break; case '--collection-name': flags.collectionName = argv[i + 1]; i += 1; break; - default: throw new Error(`Unknown flag: ${token}. Run 'knowledge --help' for valid options.`); + case '--request-fd': flags.requestFd = Number(argv[i + 1]); i += 1; break; + case '--result-fd': flags.resultFd = Number(argv[i + 1]); i += 1; break; + default: + if (guardedDescriptorInvocation) { + throw new Error('guarded_descriptor_public_input_refused'); + } + throw new Error(`Unknown flag: ${token}. Run 'knowledge --help' for valid options.`); } } return { positional, flags }; @@ -437,6 +449,7 @@ Commands: paths Show resolved workspace/store paths mode Report the resolved backend (local or cloud) and why guarded capabilities Report FCAME-1 private transport capability + guarded execute-descriptor Execute an opaque descriptor over inherited private FDs setup Configure local, hosted, or canonical example S3 mode auth login|whoami|logout Manage hosted API credentials storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path|import-legacy @@ -583,7 +596,7 @@ function printCommandHelp(command: string): void { if (command === 'project-resource') { console.log('Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]'); return; } if (command === 'paths') { console.log('Usage: knowledge paths [--scope local|global|project] [--verbose] [--json]'); return; } if (command === 'mode') { console.log(`Usage: knowledge mode [--json]\n Reports which backend this process would use — sqlite (on-box store) or postgres (HTTP /v1) — and\n which env var selected it. Reads the environment only: no store is opened, no config file is read,\n and no request is made, so it is safe on a machine with no config and no network.\n Selection is EXPLICIT-ONLY: set ${KNOWLEDGE_MODE_ENV_KEYS[0]}=sqlite|postgres. Setting only\n ${KNOWLEDGE_API_URL_ENV_KEYS[0]} / ${KNOWLEDGE_API_KEY_ENV_KEYS[0]} does NOT switch backends;\n those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`); return; } - if (command === 'guarded') { console.log('Usage: knowledge guarded capabilities [--json]\n Reports metadata-only FCAME-1 private input, private result, and exact-title lookup support.'); return; } + if (command === 'guarded') { console.log('Usage:\n knowledge guarded capabilities [--json]\n knowledge guarded execute-descriptor --request-fd <fd> --result-fd <fd> [--json]\n\n execute-descriptor is an internal package-owned worker. Private requests and results must use\n distinct inherited anonymous pipe or socket descriptors numbered 3 or higher. It rejects stdin,\n regular files, positional bodies, and body-bearing flags. Use the exported opaque-descriptor\n helpers rather than invoking this worker directly from a shell.'); return; } if (command === 'setup') { console.log('Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]'); return; } if (command === 'auth') { console.log('Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]'); return; } if (command === 'storage') { console.log('Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json]\n knowledge storage import-legacy [--dry-run] [--scope global] [--json]'); return; } @@ -997,16 +1010,60 @@ async function run(argv: string[]): Promise<void> { if (command === 'guarded') { const action = positional[1] ?? 'capabilities'; - if (action !== 'capabilities') { - throw new Error('Usage: knowledge guarded capabilities [--json]'); + if (action === 'capabilities') { + output({ + ok: true, + contract: 'FCAME-1', + private_input: true, + private_result: true, + exact_title_lookup: true, + private_transport_body_output: false, + private_cli_descriptor_transport: true, + private_cli_transport: 'anonymous_fd', + guarded_actions: ['create', 'update', 'query', 'readback'], + }, flags.json, flags); + return; + } + if (action !== 'execute-descriptor') { + throw new Error('Usage: knowledge guarded capabilities|execute-descriptor [--json]'); + } + const publicBodyFlagsPresent = [ + flags.title, + flags.content, + flags.url, + flags.tag, + flags.tagRaw, + flags.id, + flags.itemId, + flags.operationId, + flags.stepId, + flags.idempotencyKey, + flags.sourceRef, + flags.search, + flags.topic, + flags.project, + flags.collectionId, + flags.collectionSlug, + flags.collectionName, + ].some((value) => value !== undefined); + if (positional.length !== 2 || publicBodyFlagsPresent) { + throw new Error('guarded_descriptor_public_input_refused'); + } + if ( + !Number.isInteger(flags.requestFd) + || !Number.isInteger(flags.resultFd) + || (flags.requestFd as number) < 3 + || (flags.resultFd as number) < 3 + ) { + throw new Error('guarded_descriptor_private_fds_required'); } output({ ok: true, - contract: 'FCAME-1', - private_input: true, - private_result: true, - exact_title_lookup: true, - private_transport_body_output: false, + ...(await runKnowledgeGuardedCliDescriptorWorker( + flags.requestFd as number, + flags.resultFd as number, + process.env, + )), }, flags.json, flags); return; } diff --git a/src/guarded-cli.ts b/src/guarded-cli.ts new file mode 100644 index 0000000..a2df005 --- /dev/null +++ b/src/guarded-cli.ts @@ -0,0 +1,516 @@ +import { spawn } from 'node:child_process'; +import { fstatSync, readlinkSync, readSync, writeSync } from 'node:fs'; +import type { Readable, Writable } from 'node:stream'; +import { fileURLToPath } from 'node:url'; +import { TextDecoder } from 'node:util'; +import { + KNOWLEDGE_GUARDED_WRITE_CONTRACT, + canonicalKnowledgeGuardedJson, + createKnowledgePrivateInputDescriptor, + createKnowledgePrivateQueryDescriptor, + inspectKnowledgePrivateResult, + knowledgeGuardedDigest, + materializeKnowledgePrivateInput, + materializeKnowledgePrivateQuery, + type KnowledgeGuardedBinding, + type KnowledgeGuardedManifestBinding, + type KnowledgeGuardedPayload, + type KnowledgeGuardedPrecondition, + type KnowledgePrivateInputDescriptor, + type KnowledgePrivateQueryArchive, + type KnowledgePrivateQueryDescriptor, + type KnowledgePrivateQuerySelector, + type KnowledgePrivateResultProof, +} from './guarded-write-contract.js'; +import { createKnowledgeGuardedWriter } from './guarded-writer.js'; + +export const KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA = 'knowledge.guarded-cli-request.v1' as const; +export const KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA = 'knowledge.guarded-cli-result.v1' as const; +const PRIVATE_FD_MAX_BYTES = 1_048_576; + +type KnowledgeGuardedCliAction = 'write' | 'query' | 'readback'; + +interface KnowledgeGuardedCliWriteFrame { + schema: typeof KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA; + action: 'write'; + operation_id: string; + step_id: string; + verb: 'create' | 'update'; + target_id: string; + precondition: KnowledgeGuardedPrecondition; + binding: KnowledgeGuardedBinding; + manifest: KnowledgeGuardedManifestBinding | null; + payload: KnowledgeGuardedPayload; + expires_at: string; +} + +interface KnowledgeGuardedCliQueryFrame { + schema: typeof KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA; + action: 'query' | 'readback'; + operation_id: string; + step_id: string; + binding: KnowledgeGuardedBinding; + selector: KnowledgePrivateQuerySelector; + archive: KnowledgePrivateQueryArchive; + page: { limit: number; offset: number }; + expires_at: string; +} + +type KnowledgeGuardedCliRequestFrame = + | KnowledgeGuardedCliWriteFrame + | KnowledgeGuardedCliQueryFrame; + +export interface KnowledgeGuardedCliPrivateResult { + schema: typeof KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA; + ok: true; + contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; + action: KnowledgeGuardedCliAction; + transport: 'anonymous_fd'; + request_digest: string; + result_digest: string; + proof: KnowledgePrivateResultProof; +} + +interface KnowledgeGuardedCliPrivateFailure { + schema: typeof KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA; + ok: false; + contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; + transport: 'anonymous_fd'; + code: string; +} + +type KnowledgeGuardedCliWorkerResult = + | KnowledgeGuardedCliPrivateResult + | KnowledgeGuardedCliPrivateFailure; + +export interface KnowledgeGuardedCliDescriptorOptions { + env?: NodeJS.ProcessEnv; + timeoutMs?: number; +} + +export class KnowledgeGuardedCliDescriptorError extends Error { + constructor(readonly code: string) { + super(code); + this.name = 'KnowledgeGuardedCliDescriptorError'; + } +} + +function assertExactKeys( + value: Record<string, unknown>, + expected: readonly string[], + label: string, +): void { + const actual = Object.keys(value).sort(); + const wanted = [...expected].sort(); + if (actual.length !== wanted.length || actual.some((key, index) => key !== wanted[index])) { + throw new KnowledgeGuardedCliDescriptorError(`${label}_shape_invalid`); + } +} + +function privateFd(fd: number, label: string): void { + if (!Number.isInteger(fd) || fd < 3) { + throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_inherited_private_fd`); + } + let stats: ReturnType<typeof fstatSync>; + try { + stats = fstatSync(fd); + } catch { + throw new KnowledgeGuardedCliDescriptorError(`${label}_unavailable`); + } + if (!stats.isFIFO() && !stats.isSocket()) { + throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_anonymous_pipe_or_socket`); + } + if (stats.isFIFO()) { + let target: string; + try { + target = readlinkSync(`/proc/self/fd/${fd}`); + } catch { + throw new KnowledgeGuardedCliDescriptorError(`${label}_anonymous_pipe_identity_unverified`); + } + if (!/^pipe:\[\d+\]$/.test(target)) { + throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_anonymous_pipe_or_socket`); + } + } +} + +function readBoundedPrivateFd(fd: number): string { + const chunks: Buffer[] = []; + let total = 0; + while (true) { + const chunk = Buffer.allocUnsafe(Math.min(64 * 1024, PRIVATE_FD_MAX_BYTES + 1 - total)); + const count = readSync(fd, chunk, 0, chunk.length, null); + if (count === 0) break; + total += count; + if (total > PRIVATE_FD_MAX_BYTES) { + throw new KnowledgeGuardedCliDescriptorError('private_request_byte_cap_exceeded'); + } + chunks.push(chunk.subarray(0, count)); + } + try { + return new TextDecoder('utf-8', { fatal: true }).decode(Buffer.concat(chunks, total)); + } catch { + throw new KnowledgeGuardedCliDescriptorError('private_request_invalid_utf8'); + } +} + +function writeBoundedPrivateFd(fd: number, value: unknown): void { + const encoded = Buffer.from(`${canonicalKnowledgeGuardedJson(value)}\n`, 'utf8'); + if (encoded.byteLength > PRIVATE_FD_MAX_BYTES) { + throw new KnowledgeGuardedCliDescriptorError('private_result_byte_cap_exceeded'); + } + let offset = 0; + while (offset < encoded.byteLength) { + const written = writeSync(fd, encoded, offset, encoded.byteLength - offset); + if (written < 1) { + throw new KnowledgeGuardedCliDescriptorError('private_result_write_failed'); + } + offset += written; + } +} + +function safeCode(error: unknown): string { + if (error instanceof KnowledgeGuardedCliDescriptorError) return error.code; + if ( + error + && typeof error === 'object' + && typeof (error as { code?: unknown }).code === 'string' + && /^[a-z0-9_:-]+$/i.test((error as { code: string }).code) + ) { + return (error as { code: string }).code; + } + return 'guarded_private_cli_failed'; +} + +function parseFrame(raw: string): KnowledgeGuardedCliRequestFrame { + let parsed: unknown; + try { + parsed = JSON.parse(raw); + } catch { + throw new KnowledgeGuardedCliDescriptorError('private_request_invalid_json'); + } + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new KnowledgeGuardedCliDescriptorError('private_request_shape_invalid'); + } + const frame = parsed as Record<string, unknown>; + if (frame.schema !== KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA) { + throw new KnowledgeGuardedCliDescriptorError('private_request_schema_invalid'); + } + if (frame.action === 'write') { + assertExactKeys(frame, [ + 'schema', + 'action', + 'operation_id', + 'step_id', + 'verb', + 'target_id', + 'precondition', + 'binding', + 'manifest', + 'payload', + 'expires_at', + ], 'private_write_request'); + return frame as unknown as KnowledgeGuardedCliWriteFrame; + } + if (frame.action === 'query' || frame.action === 'readback') { + assertExactKeys(frame, [ + 'schema', + 'action', + 'operation_id', + 'step_id', + 'binding', + 'selector', + 'archive', + 'page', + 'expires_at', + ], 'private_query_request'); + return frame as unknown as KnowledgeGuardedCliQueryFrame; + } + throw new KnowledgeGuardedCliDescriptorError('private_request_action_invalid'); +} + +function remainingLifetime(expiresAt: string): number { + const remaining = Date.parse(expiresAt) - Date.now(); + if (!Number.isFinite(remaining) || remaining < 1) { + throw new KnowledgeGuardedCliDescriptorError('private_descriptor_expired'); + } + return Math.min(remaining, 60 * 60 * 1000); +} + +async function executeFrame( + frame: KnowledgeGuardedCliRequestFrame, + env: NodeJS.ProcessEnv, +): Promise<KnowledgeGuardedCliPrivateResult> { + const writer = createKnowledgeGuardedWriter({ binding: frame.binding, env }); + let proof: KnowledgePrivateResultProof; + if (frame.action === 'write') { + const descriptor = createKnowledgePrivateInputDescriptor({ + operation_id: frame.operation_id, + step_id: frame.step_id, + verb: frame.verb, + target_id: frame.target_id, + precondition: frame.precondition, + binding: frame.binding, + ...(frame.manifest ? { manifest: frame.manifest } : {}), + payload: frame.payload, + expires_in_ms: remainingLifetime(frame.expires_at), + }); + proof = inspectKnowledgePrivateResult(await writer.executePrivate(descriptor)); + const readback = inspectKnowledgePrivateResult(await writer.readbackPrivate(frame.target_id)); + if (canonicalKnowledgeGuardedJson(proof.items) !== canonicalKnowledgeGuardedJson(readback.items)) { + throw new KnowledgeGuardedCliDescriptorError('private_write_exact_readback_mismatch'); + } + } else { + const descriptor = createKnowledgePrivateQueryDescriptor({ + operation_id: frame.operation_id, + step_id: frame.step_id, + binding: frame.binding, + selector: frame.selector, + archive: frame.archive, + limit: frame.page.limit, + offset: frame.page.offset, + expires_in_ms: remainingLifetime(frame.expires_at), + }); + if (frame.action === 'readback') { + if ( + frame.selector.kind !== 'current_version' + || frame.page.limit !== 1 + || frame.page.offset !== 0 + ) { + throw new KnowledgeGuardedCliDescriptorError('private_readback_descriptor_invalid'); + } + proof = inspectKnowledgePrivateResult( + await writer.readbackPrivate(frame.selector.item_id), + ); + } else { + proof = inspectKnowledgePrivateResult(await writer.query(descriptor)); + } + } + const requestDigest = knowledgeGuardedDigest(frame); + return Object.freeze({ + schema: KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA, + ok: true, + contract: KNOWLEDGE_GUARDED_WRITE_CONTRACT, + action: frame.action, + transport: 'anonymous_fd', + request_digest: requestDigest, + result_digest: knowledgeGuardedDigest(proof), + proof, + }); +} + +export async function runKnowledgeGuardedCliDescriptorWorker( + requestFd: number, + resultFd: number, + env: NodeJS.ProcessEnv = process.env, +): Promise<Omit<KnowledgeGuardedCliPrivateResult, 'proof'>> { + privateFd(requestFd, 'request_fd'); + privateFd(resultFd, 'result_fd'); + if (requestFd === resultFd) { + throw new KnowledgeGuardedCliDescriptorError('private_fds_must_be_distinct'); + } + try { + const result = await executeFrame(parseFrame(readBoundedPrivateFd(requestFd)), env); + writeBoundedPrivateFd(resultFd, result); + const { proof: _proof, ...safe } = result; + return safe; + } catch (error) { + const failure: KnowledgeGuardedCliPrivateFailure = { + schema: KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA, + ok: false, + contract: KNOWLEDGE_GUARDED_WRITE_CONTRACT, + transport: 'anonymous_fd', + code: safeCode(error), + }; + try { + writeBoundedPrivateFd(resultFd, failure); + } catch { + // The public error remains metadata-only even if the private result pipe + // is unavailable. + } + throw new KnowledgeGuardedCliDescriptorError(failure.code); + } +} + +function writeFrame(descriptor: KnowledgePrivateInputDescriptor): KnowledgeGuardedCliWriteFrame { + return { + schema: KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, + action: 'write', + operation_id: descriptor.operation_id, + step_id: descriptor.step_id, + verb: descriptor.verb, + target_id: descriptor.target_id, + precondition: descriptor.precondition, + binding: descriptor.binding, + manifest: descriptor.manifest, + payload: materializeKnowledgePrivateInput(descriptor), + expires_at: descriptor.expires_at, + }; +} + +function queryFrame( + descriptor: KnowledgePrivateQueryDescriptor, + action: 'query' | 'readback', +): KnowledgeGuardedCliQueryFrame { + return { + schema: KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, + action, + operation_id: descriptor.operation_id, + step_id: descriptor.step_id, + binding: descriptor.binding, + selector: materializeKnowledgePrivateQuery(descriptor), + archive: descriptor.archive, + page: descriptor.page, + expires_at: descriptor.expires_at, + }; +} + +function collectBounded(stream: Readable, maxBytes = 64 * 1024): Promise<string> { + return new Promise((resolve, reject) => { + const chunks: Buffer[] = []; + let total = 0; + stream.on('data', (chunk: Buffer | string) => { + const encoded = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + total += encoded.byteLength; + if (total > maxBytes) { + stream.destroy(); + reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_public_output_cap_exceeded')); + return; + } + chunks.push(encoded); + }); + stream.on('end', () => resolve(Buffer.concat(chunks, total).toString('utf8'))); + stream.on('error', () => reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_stream_failed'))); + }); +} + +function parseWorkerResult(raw: string): KnowledgeGuardedCliWorkerResult { + let parsed: unknown; + try { + parsed = JSON.parse(raw); + } catch { + throw new KnowledgeGuardedCliDescriptorError('guarded_cli_private_result_invalid'); + } + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new KnowledgeGuardedCliDescriptorError('guarded_cli_private_result_invalid'); + } + return parsed as KnowledgeGuardedCliWorkerResult; +} + +async function executeDescriptorFrame( + frame: KnowledgeGuardedCliRequestFrame, + options: KnowledgeGuardedCliDescriptorOptions, +): Promise<KnowledgeGuardedCliPrivateResult> { + const entrypoint = fileURLToPath(new URL('../bin/knowledge.js', import.meta.url)); + const runtime = typeof Bun !== 'undefined' ? process.execPath : 'bun'; + const timeoutMs = Math.min(Math.max(options.timeoutMs ?? 65_000, 1), 300_000); + const child = spawn(runtime, [ + entrypoint, + 'guarded', + 'execute-descriptor', + '--request-fd', + '3', + '--result-fd', + '4', + '--json', + ], { + env: options.env ?? process.env, + stdio: ['ignore', 'pipe', 'ignore', 'pipe', 'pipe'], + }); + const request = child.stdio[3] as Writable; + const privateResult = child.stdio[4] as Readable; + const stdout = collectBounded(child.stdout!); + const resultText = collectBounded(privateResult, PRIVATE_FD_MAX_BYTES); + const requestFinished = new Promise<void>((resolve, reject) => { + request.once('error', () => reject( + new KnowledgeGuardedCliDescriptorError('guarded_cli_private_request_failed'), + )); + request.end(canonicalKnowledgeGuardedJson(frame), () => resolve()); + }); + const exited = new Promise<number>((resolve, reject) => { + child.once('error', () => reject( + new KnowledgeGuardedCliDescriptorError('guarded_cli_spawn_failed'), + )); + child.once('close', (code) => resolve(code ?? 1)); + }); + let timeout: ReturnType<typeof setTimeout> | undefined; + const timedOut = new Promise<never>((_resolve, reject) => { + timeout = setTimeout(() => { + child.kill('SIGKILL'); + request.destroy(); + child.stdout?.destroy(); + privateResult.destroy(); + reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_timeout')); + }, timeoutMs); + }); + let completed: [number, void, string, string]; + try { + completed = await Promise.race([ + Promise.all([exited, requestFinished, stdout, resultText]), + timedOut, + ]); + } finally { + if (timeout) clearTimeout(timeout); + } + const [exitCode, _requestComplete, publicOut, privateOut] = completed; + const result = parseWorkerResult(privateOut); + if ( + exitCode !== 0 + || result.schema !== KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA + || result.ok !== true + ) { + const code = result && result.ok === false ? result.code : 'guarded_cli_worker_failed'; + throw new KnowledgeGuardedCliDescriptorError(code); + } + let publicAck: Record<string, unknown>; + try { + const parsed = JSON.parse(publicOut) as unknown; + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) throw new Error(); + publicAck = parsed as Record<string, unknown>; + } catch { + throw new KnowledgeGuardedCliDescriptorError('guarded_cli_public_ack_invalid'); + } + assertExactKeys(publicAck, [ + 'ok', + 'schema', + 'contract', + 'action', + 'transport', + 'request_digest', + 'result_digest', + ], 'guarded_cli_public_ack'); + if ( + publicAck.ok !== true + || publicAck.schema !== result.schema + || publicAck.contract !== result.contract + || publicAck.action !== result.action + || publicAck.transport !== result.transport + || publicAck.request_digest !== result.request_digest + || publicAck.result_digest !== result.result_digest + || result.request_digest !== knowledgeGuardedDigest(frame) + || result.result_digest !== knowledgeGuardedDigest(result.proof) + ) { + throw new KnowledgeGuardedCliDescriptorError('guarded_cli_boundary_verification_failed'); + } + return result; +} + +export function executeKnowledgeGuardedCliWrite( + descriptor: KnowledgePrivateInputDescriptor, + options: KnowledgeGuardedCliDescriptorOptions = {}, +): Promise<KnowledgeGuardedCliPrivateResult> { + return executeDescriptorFrame(writeFrame(descriptor), options); +} + +export function executeKnowledgeGuardedCliQuery( + descriptor: KnowledgePrivateQueryDescriptor, + options: KnowledgeGuardedCliDescriptorOptions = {}, +): Promise<KnowledgeGuardedCliPrivateResult> { + return executeDescriptorFrame(queryFrame(descriptor, 'query'), options); +} + +export function executeKnowledgeGuardedCliReadback( + descriptor: KnowledgePrivateQueryDescriptor, + options: KnowledgeGuardedCliDescriptorOptions = {}, +): Promise<KnowledgeGuardedCliPrivateResult> { + return executeDescriptorFrame(queryFrame(descriptor, 'readback'), options); +} diff --git a/src/index.ts b/src/index.ts index ed42354..2c9982f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -199,6 +199,16 @@ export { type KnowledgeTerminalReconciliation, } from './guarded-write-contract.js'; export * from './guarded-writer.js'; +export { + KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, + KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA, + KnowledgeGuardedCliDescriptorError, + executeKnowledgeGuardedCliQuery, + executeKnowledgeGuardedCliReadback, + executeKnowledgeGuardedCliWrite, + type KnowledgeGuardedCliDescriptorOptions, + type KnowledgeGuardedCliPrivateResult, +} from './guarded-cli.js'; export { KNOWLEDGE_API_KEY_ENV_KEYS, KNOWLEDGE_API_URL_ENV_KEYS, diff --git a/tests/cli.test.ts b/tests/cli.test.ts index ec290aa..7f132b5 100644 --- a/tests/cli.test.ts +++ b/tests/cli.test.ts @@ -4,7 +4,7 @@ * Licensed under the Apache License, Version 2.0 */ import { describe, expect, test } from 'bun:test'; -import { chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, writeFileSync } from 'node:fs'; +import { chmodSync, closeSync, existsSync, mkdirSync, mkdtempSync, openSync, readFileSync, realpathSync, writeFileSync } from 'node:fs'; import { spawnSync } from 'node:child_process'; import { tmpdir } from 'node:os'; import { delimiter, join, dirname, resolve } from 'node:path'; @@ -361,6 +361,7 @@ describe('knowledge cli', () => { expect(out).toContain('context pack <query>'); expect(out).toContain('proposals context'); expect(out).toContain('guarded capabilities'); + expect(out).toContain('guarded execute-descriptor'); const sub = runCli(['help', 'list']); expect(sub.exitCode).toBe(0); @@ -388,6 +389,87 @@ describe('knowledge cli', () => { }); }); + test('guarded descriptor worker refuses argv, stdin, and ordinary file descriptors without leaking private input', () => { + const privateBody = 'private guarded CLI body must not cross public process surfaces'; + const privateFlag = 'private-guarded-cli-title-sentinel-7f8e1b'; + + for (const args of [ + ['guarded', 'execute-descriptor', privateBody], + ['guarded', 'execute-descriptor', '--content', privateBody], + ['guarded', 'execute-descriptor', '--title', privateBody], + ['guarded', 'execute-descriptor', `--${privateFlag}`], + ['guarded', `--${privateFlag}`, 'execute-descriptor'], + [`--${privateFlag}`, 'guarded', 'execute-descriptor'], + ]) { + const result = runCli(args); + expect(result.exitCode).toBe(1); + expect(new TextDecoder().decode(result.stdout)).not.toContain(privateBody); + expect(new TextDecoder().decode(result.stderr)).not.toContain(privateBody); + expect(new TextDecoder().decode(result.stderr)).not.toContain(privateFlag); + } + + const stdin = runCliWithInput( + ['guarded', 'execute-descriptor', '--request-fd', '0', '--result-fd', '4'], + privateBody, + ); + expect(stdin.exitCode).toBe(1); + expect(stdin.stdout.toString()).not.toContain(privateBody); + expect(stdin.stderr.toString()).not.toContain(privateBody); + + const dir = mkdtempSync(join(tmpdir(), 'knowledge-private-cli-regular-file-')); + const request = join(dir, 'request.json'); + const result = join(dir, 'result.json'); + writeFileSync(request, privateBody); + writeFileSync(result, ''); + const requestFd = openSync(request, 'r'); + const resultFd = openSync(result, 'w'); + const regular = spawnSync('bun', [ + CLI, + 'guarded', + 'execute-descriptor', + '--request-fd', + '3', + '--result-fd', + '4', + ], { + env: childEnv(), + stdio: ['ignore', 'pipe', 'pipe', requestFd, resultFd], + }); + closeSync(requestFd); + closeSync(resultFd); + expect(regular.status).toBe(1); + expect(regular.stdout.toString()).not.toContain(privateBody); + expect(regular.stderr.toString()).not.toContain(privateBody); + expect(readFileSync(result, 'utf8')).not.toContain(privateBody); + + if (process.platform !== 'win32') { + const fifo = join(dir, 'request.fifo'); + const fifoResult = join(dir, 'fifo-result.json'); + const createdFifo = spawnSync('mkfifo', [fifo]); + expect(createdFifo.status).toBe(0); + writeFileSync(fifoResult, ''); + const fifoFd = openSync(fifo, 'r+'); + const fifoResultFd = openSync(fifoResult, 'w'); + const namedFifo = spawnSync('bun', [ + CLI, + 'guarded', + 'execute-descriptor', + '--request-fd', + '3', + '--result-fd', + '4', + ], { + env: childEnv(), + stdio: ['ignore', 'pipe', 'pipe', fifoFd, fifoResultFd], + }); + closeSync(fifoFd); + closeSync(fifoResultFd); + expect(namedFifo.status).toBe(1); + expect(namedFifo.stderr.toString()).toContain('request_fd_must_be_anonymous_pipe_or_socket'); + expect(namedFifo.stderr.toString()).not.toContain('private_request_schema_invalid'); + } + }); + test("'<sub> --help' prints that subcommand's usage, not root help", () => { // Regression: `knowledge add --help` used to print the generic ROOT help // (full command tree) instead of the per-command usage line. diff --git a/tests/guarded-writer.test.ts b/tests/guarded-writer.test.ts index ececbe1..525e693 100644 --- a/tests/guarded-writer.test.ts +++ b/tests/guarded-writer.test.ts @@ -26,6 +26,9 @@ import { computeKnowledgeGuardedReceiptId, computeKnowledgeGuardedRecoveryKey, createKnowledgeGuardedWriter, + executeKnowledgeGuardedCliQuery, + executeKnowledgeGuardedCliReadback, + executeKnowledgeGuardedCliWrite, createKnowledgePrivateInputDescriptor, createKnowledgePrivateQueryDescriptor, createKnowledgePrivateTitleLookupDescriptor, @@ -289,6 +292,133 @@ test('private query transport failures are controlled and never disclose selecto } }); +test('guarded CLI accepts only opaque descriptors and proves create, update, query, readback, and replay', async () => { + const targetId = 'k_fcame_private_cli_descriptor'; + const privateTitle = 'Private CLI descriptor title'; + const privateBody = 'private CLI descriptor body must stay off process surfaces'; + const privateTags = ['private-cli', 'fcame']; + const create = descriptor({ + operation: 'op-private-cli-create', + step: 'step-create', + target: targetId, + payload: { title: privateTitle, content: privateBody, tags: privateTags }, + }); + + const created = await executeKnowledgeGuardedCliWrite(create, { env }); + expect(created.transport).toBe('anonymous_fd'); + expect(created.proof).toMatchObject({ + kind: 'write', + item_count: 1, + duplicate: false, + }); + expect(created.proof.items[0]).toMatchObject({ + id: targetId, + version: 1, + title_sha256: createHash('sha256').update(privateTitle).digest('hex'), + content_sha256: createHash('sha256').update(privateBody).digest('hex'), + }); + expect(JSON.stringify(created)).not.toContain(privateTitle); + expect(JSON.stringify(created)).not.toContain(privateBody); + expect(JSON.stringify(created)).not.toContain(privateTags.join(',')); + + const replay = await executeKnowledgeGuardedCliWrite(create, { env }); + expect(replay.proof.duplicate).toBe(true); + expect(replay.proof.receipt_id).toBe(created.proof.receipt_id); + expect(replay.proof.items).toEqual(created.proof.items); + + const exactTitle = createKnowledgePrivateQueryDescriptor({ + operation_id: 'op-private-cli-query', + step_id: 'step-query', + binding: BINDING, + selector: { kind: 'exact_title', title: privateTitle }, + limit: 1, + }); + const queried = await executeKnowledgeGuardedCliQuery(exactTitle, { env }); + expect(queried.proof).toMatchObject({ + kind: 'query', + query_kind: 'exact_title', + item_count: 1, + total: 1, + }); + expect(JSON.stringify(queried)).not.toContain(privateTitle); + expect(JSON.stringify(queried)).not.toContain(privateBody); + + const currentVersion = createKnowledgePrivateQueryDescriptor({ + operation_id: 'op-private-cli-readback', + step_id: 'step-readback', + binding: BINDING, + selector: { kind: 'current_version', item_id: targetId }, + limit: 1, + }); + const readback = await executeKnowledgeGuardedCliReadback(currentVersion, { env }); + expect(readback.proof).toMatchObject({ kind: 'readback', item_count: 1 }); + expect(readback.proof.items).toEqual(created.proof.items); + + const updatedBody = 'private CLI updated body'; + const update = descriptor({ + operation: 'op-private-cli-update', + step: 'step-update', + target: targetId, + verb: 'update', + version: 1, + payload: { content: updatedBody }, + }); + const updated = await executeKnowledgeGuardedCliWrite(update, { env }); + expect(updated.proof.items[0]).toMatchObject({ + id: targetId, + version: 2, + content_sha256: createHash('sha256').update(updatedBody).digest('hex'), + }); + expect(JSON.stringify(updated)).not.toContain(updatedBody); + + const conflictingBody = 'private conflicting body must not leak'; + const conflict = descriptor({ + operation: 'op-private-cli-update', + step: 'step-update', + target: targetId, + verb: 'update', + version: 1, + payload: { content: conflictingBody }, + }); + let caught: unknown; + try { + await executeKnowledgeGuardedCliWrite(conflict, { env }); + } catch (error) { + caught = error; + } + expect(caught).toMatchObject({ code: 'guarded_operation_conflict' }); + expect(String(caught)).not.toContain(conflictingBody); + expect(JSON.stringify(caught)).not.toContain(conflictingBody); + + const fixedMetadataContent = 'anonymous_fd'; + const fixedMetadataUpdate = descriptor({ + operation: 'op-private-cli-fixed-metadata-content', + step: 'step-fixed-metadata-content', + target: targetId, + verb: 'update', + version: 2, + payload: { content: fixedMetadataContent }, + }); + const fixedMetadataResult = await executeKnowledgeGuardedCliWrite(fixedMetadataUpdate, { env }); + expect(fixedMetadataResult.proof.items[0]).toMatchObject({ + id: targetId, + version: 3, + content_sha256: createHash('sha256').update(fixedMetadataContent).digest('hex'), + }); + + let timeoutCaught: unknown; + try { + await executeKnowledgeGuardedCliWrite(create, { + env, + timeoutMs: 1, + }); + } catch (error) { + timeoutCaught = error; + } + expect(timeoutCaught).toMatchObject({ code: 'guarded_cli_timeout' }); + expect(String(timeoutCaught)).not.toContain(privateBody); +}, budget(20_000)); + function deterministicManifestId( operationId: string, binding: KnowledgeGuardedBinding = BINDING, diff --git a/tests/package-release.test.ts b/tests/package-release.test.ts index e7667b4..76d796e 100644 --- a/tests/package-release.test.ts +++ b/tests/package-release.test.ts @@ -126,6 +126,14 @@ describe('public package release safety', () => { expect(rootRuntimeExports.inspectKnowledgePrivateResult).toBeFunction(); expect(declarationExportsIdentifier(rootDeclaration, 'inspectKnowledgePrivateResult')).toBe(true); expect(declarationExportsIdentifier(guardedContractDeclaration, 'inspectKnowledgePrivateResult')).toBe(true); + expect(rootRuntimeExports.executeKnowledgeGuardedCliWrite).toBeFunction(); + expect(declarationExportsIdentifier(rootDeclaration, 'executeKnowledgeGuardedCliWrite')).toBe(true); + expect(rootRuntimeExports.executeKnowledgeGuardedCliQuery).toBeFunction(); + expect(declarationExportsIdentifier(rootDeclaration, 'executeKnowledgeGuardedCliQuery')).toBe(true); + expect(rootRuntimeExports.executeKnowledgeGuardedCliReadback).toBeFunction(); + expect(declarationExportsIdentifier(rootDeclaration, 'executeKnowledgeGuardedCliReadback')).toBe(true); + expect(rootRuntimeExports.runKnowledgeGuardedCliDescriptorWorker).toBeUndefined(); + expect(declarationExportsIdentifier(rootDeclaration, 'runKnowledgeGuardedCliDescriptorWorker')).toBe(false); expect(rootRuntimeExports.materializeKnowledgePrivateInput).toBeUndefined(); expect(declarationExportsIdentifier(rootDeclaration, 'materializeKnowledgePrivateInput')).toBe(false); From dc9ed27b2eb5c10d330bf4a955488933efe522c1 Mon Sep 17 00:00:00 2001 From: Andrei Hasna <andrei@hasna.com> Date: Tue, 11 Aug 2026 16:14:55 +0300 Subject: [PATCH 2/2] fix(cli): use cross-platform guarded IPC Agent: blocker-recovery-rule-author --- CHANGELOG.md | 6 +- README.md | 10 +- bin/knowledge.js | 504 +++++++++++++++++----------------- dist/guarded-cli.d.ts | 4 +- dist/index.js | 65 ++++- src/cli.ts | 23 +- src/guarded-cli.ts | 177 ++++++++++-- tests/cli.test.ts | 37 +++ tests/guarded-writer.test.ts | 2 +- tests/package-release.test.ts | 2 + 10 files changed, 528 insertions(+), 302 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1db182..edc0a7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,11 @@ - Add package-owned guarded CLI helpers for create, update, bounded query, and exact readback. Opaque descriptors cross the child-process boundary only - through distinct inherited anonymous file descriptors; private titles, + through the runtime-owned anonymous process IPC channel; private titles, bodies, tags, selectors, and result proofs stay out of argv, stdin, - environment variables, regular files, stdout, and stderr. + environment variables, files, stdout, and stderr. The IPC transport works + across Bun and Node parents on Linux, macOS, and Windows without Linux + `/proc` assumptions or a write-before-connection race. - Reject public/body-bearing guarded CLI input, regular-file descriptors, malformed or oversized private frames, replay conflicts, and expired descriptors without echoing private content. Preserve FCAME-1 authority diff --git a/README.md b/README.md index c8678ff..63bc81c 100644 --- a/README.md +++ b/README.md @@ -243,10 +243,12 @@ const result = await executeKnowledgeGuardedCliWrite(privateInput); Use `executeKnowledgeGuardedCliQuery(...)` for producer-bounded private queries and `executeKnowledgeGuardedCliReadback(...)` with a `current_version` descriptor for exact readback. The internal -`knowledge guarded execute-descriptor` worker accepts only distinct inherited -anonymous pipe or socket descriptors numbered 3 or higher. It rejects stdin, -regular files, positional bodies, and body-bearing flags. Do not invoke it -directly from a shell or hand-roll descriptor materialization. +`knowledge guarded execute-descriptor --ipc` worker accepts private requests and +results only through the runtime-owned child-process IPC channel. The channel is +anonymous and cross-platform; no Knowledge value crosses argv, stdin, +environment variables, files, stdout, or stderr. Direct shell invocation has +no inherited IPC channel and fails closed. Do not invoke the worker directly or +hand-roll descriptor materialization. The deterministic key is: diff --git a/bin/knowledge.js b/bin/knowledge.js index f61a02b..e48979f 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,9 +1,9 @@ #!/usr/bin/env bun // @bun -var y7=Object.create;var{getPrototypeOf:u7,defineProperty:W2,getOwnPropertyNames:h7}=Object;var r7=Object.prototype.hasOwnProperty;function c7(_){return this[_]}var m7,n7,d7=(_,$,U)=>{var j=_!=null&&typeof _==="object";if(j){var D=$?m7??=new WeakMap:n7??=new WeakMap,N=D.get(_);if(N)return N}U=_!=null?y7(u7(_)):{};let E=$||!_||!_.__esModule?W2(U,"default",{value:_,enumerable:!0}):U;for(let I of h7(_))if(!r7.call(E,I))W2(E,I,{get:c7.bind(_,I),enumerable:!0});if(j)D.set(_,E);return E};var O4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var l7=(_)=>_;function i7(_,$){this[_]=l7.bind(null,$)}var l$=(_,$)=>{for(var U in $)W2(_,U,{get:$[U],enumerable:!0,configurable:!0,set:i7.bind($,U)})};var f=(_,$)=>()=>(_&&($=_(_=0)),$);var S_=import.meta.require;function V(_,$,U){function j(I,W){if(!I._zod)Object.defineProperty(I,"_zod",{value:{def:W,constr:E,traits:new Set},enumerable:!1});if(I._zod.traits.has(_))return;I._zod.traits.add(_),$(I,W);let J=E.prototype,L=Object.keys(J);for(let S=0;S<L.length;S++){let X=L[S];if(!(X in I))I[X]=J[X].bind(I)}}let D=U?.Parent??Object;class N extends D{}Object.defineProperty(N,"name",{value:_});function E(I){var W;let J=U?.Parent?new N:this;j(J,I),(W=J._zod).deferred??(W.deferred=[]);for(let L of J._zod.deferred)L();return J}return Object.defineProperty(E,"init",{value:j}),Object.defineProperty(E,Symbol.hasInstance,{value:(I)=>{if(U?.Parent&&I instanceof U.Parent)return!0;return I?._zod?.traits?.has(_)}}),Object.defineProperty(E,"name",{value:_}),E}function C_(_){if(_)Object.assign(M4,_);return M4}var H9,lj,ij,s$,Z4,M4;var H4=f(()=>{lj=Object.freeze({status:"aborted"});ij=Symbol("zod_brand");s$=class s$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Z4=class Z4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(H9=globalThis).__zod_globalConfig??(H9.__zod_globalConfig={});M4=globalThis.__zod_globalConfig});var k={};l$(k,{unwrapMessage:()=>QD,uint8ArrayToHex:()=>JM,uint8ArrayToBase64url:()=>AM,uint8ArrayToBase64:()=>C9,stringifyPrimitive:()=>M,slugify:()=>CA,shallowClone:()=>wA,safeExtend:()=>UM,required:()=>NM,randomString:()=>og,propertyKeyTypes:()=>VD,promiseAllObject:()=>tg,primitiveTypes:()=>vA,prefixIssues:()=>I$,pick:()=>sg,partial:()=>jM,parsedType:()=>Z,optionalKeys:()=>fA,omit:()=>_M,objectClone:()=>dg,numKeys:()=>pg,nullish:()=>m6,normalizeParams:()=>w,mergeDefs:()=>T6,merge:()=>DM,jsonStringifyReplacer:()=>n0,joinValues:()=>K,issue:()=>l0,isPlainObject:()=>d6,isObject:()=>q4,hexToUint8Array:()=>WM,getSizableOrigin:()=>BD,getParsedType:()=>ag,getLengthableOrigin:()=>FD,getEnumValues:()=>GD,getElementAtPath:()=>ig,floatSafeRemainder:()=>kA,finalizeIssue:()=>_$,extend:()=>$M,explicitlyAborted:()=>uA,escapeRegex:()=>F$,esc:()=>tj,defineLazy:()=>U_,createTransparentProxy:()=>eg,cloneDef:()=>lg,clone:()=>i_,cleanRegex:()=>TD,cleanEnum:()=>EM,captureStackTrace:()=>oj,cached:()=>d0,base64urlToUint8Array:()=>IM,base64ToUint8Array:()=>k9,assignProp:()=>n6,assertNotEqual:()=>rg,assertNever:()=>mg,assertIs:()=>cg,assertEqual:()=>hg,assert:()=>ng,allowsEval:()=>bA,aborted:()=>l6,NUMBER_FORMAT_RANGES:()=>xA,Class:()=>b9,BIGINT_FORMAT_RANGES:()=>yA});function hg(_){return _}function rg(_){return _}function cg(_){}function mg(_){throw Error("Unexpected value in exhaustive check")}function ng(_){}function GD(_){let $=Object.values(_).filter((j)=>typeof j==="number");return Object.entries(_).filter(([j,D])=>$.indexOf(+j)===-1).map(([j,D])=>D)}function K(_,$="|"){return _.map((U)=>M(U)).join($)}function n0(_,$){if(typeof $==="bigint")return $.toString();return $}function d0(_){return{get value(){{let U=_();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m6(_){return _===null||_===void 0}function TD(_){let $=_.startsWith("^")?1:0,U=_.endsWith("$")?_.length-1:_.length;return _.slice($,U)}function kA(_,$){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 U_(_,$,U){let j=void 0;Object.defineProperty(_,$,{get(){if(j===q9)return;if(j===void 0)j=q9,j=U();return j},set(D){Object.defineProperty(_,$,{value:D})},configurable:!0})}function dg(_){return Object.create(Object.getPrototypeOf(_),Object.getOwnPropertyDescriptors(_))}function n6(_,$,U){Object.defineProperty(_,$,{value:U,writable:!0,enumerable:!0,configurable:!0})}function T6(..._){let $={};for(let U of _){let j=Object.getOwnPropertyDescriptors(U);Object.assign($,j)}return Object.defineProperties({},$)}function lg(_){return T6(_._zod.def)}function ig(_,$){if(!$)return _;return $.reduce((U,j)=>U?.[j],_)}function tg(_){let $=Object.keys(_),U=$.map((j)=>_[j]);return Promise.all(U).then((j)=>{let D={};for(let N=0;N<$.length;N++)D[$[N]]=j[N];return D})}function og(_=10){let U="";for(let j=0;j<_;j++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function tj(_){return JSON.stringify(_)}function CA(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function q4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function d6(_){if(q4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let U=$.prototype;if(q4(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function wA(_){if(d6(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function pg(_){let $=0;for(let U in _)if(Object.prototype.hasOwnProperty.call(_,U))$++;return $}function F$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function i_(_,$,U){let j=new _._zod.constr($??_._zod.def);if(!$||U?.parent)j._zod.parent=_;return j}function w(_){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 eg(_){let $;return new Proxy({},{get(U,j,D){return $??($=_()),Reflect.get($,j,D)},set(U,j,D,N){return $??($=_()),Reflect.set($,j,D,N)},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 M(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function fA(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function sg(_,$){let U=_._zod.def,j=U.checks;if(j&&j.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let N=T6(_._zod.def,{get shape(){let E={};for(let I in $){if(!(I in U.shape))throw Error(`Unrecognized key: "${I}"`);if(!$[I])continue;E[I]=U.shape[I]}return n6(this,"shape",E),E},checks:[]});return i_(_,N)}function _M(_,$){let U=_._zod.def,j=U.checks;if(j&&j.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let N=T6(_._zod.def,{get shape(){let E={..._._zod.def.shape};for(let I in $){if(!(I in U.shape))throw Error(`Unrecognized key: "${I}"`);if(!$[I])continue;delete E[I]}return n6(this,"shape",E),E},checks:[]});return i_(_,N)}function $M(_,$){if(!d6($))throw Error("Invalid input to extend: expected a plain object");let U=_._zod.def.checks;if(U&&U.length>0){let N=_._zod.def.shape;for(let E in $)if(Object.getOwnPropertyDescriptor(N,E)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let D=T6(_._zod.def,{get shape(){let N={..._._zod.def.shape,...$};return n6(this,"shape",N),N}});return i_(_,D)}function UM(_,$){if(!d6($))throw Error("Invalid input to safeExtend: expected a plain object");let U=T6(_._zod.def,{get shape(){let j={..._._zod.def.shape,...$};return n6(this,"shape",j),j}});return i_(_,U)}function DM(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=T6(_._zod.def,{get shape(){let j={..._._zod.def.shape,...$._zod.def.shape};return n6(this,"shape",j),j},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return i_(_,U)}function jM(_,$,U){let D=$._zod.def.checks;if(D&&D.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let E=T6($._zod.def,{get shape(){let I=$._zod.def.shape,W={...I};if(U)for(let J in U){if(!(J in I))throw Error(`Unrecognized key: "${J}"`);if(!U[J])continue;W[J]=_?new _({type:"optional",innerType:I[J]}):I[J]}else for(let J in I)W[J]=_?new _({type:"optional",innerType:I[J]}):I[J];return n6(this,"shape",W),W},checks:[]});return i_($,E)}function NM(_,$,U){let j=T6($._zod.def,{get shape(){let D=$._zod.def.shape,N={...D};if(U)for(let E in U){if(!(E in N))throw Error(`Unrecognized key: "${E}"`);if(!U[E])continue;N[E]=new _({type:"nonoptional",innerType:D[E]})}else for(let E in D)N[E]=new _({type:"nonoptional",innerType:D[E]});return n6(this,"shape",N),N}});return i_($,j)}function l6(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue!==!0)return!0;return!1}function uA(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue===!1)return!0;return!1}function I$(_,$){return $.map((U)=>{var j;return(j=U).path??(j.path=[]),U.path.unshift(_),U})}function QD(_){return typeof _==="string"?_:_?.message}function _$(_,$,U){let j=_.message?_.message:QD(_.inst?._zod.def?.error?.(_))??QD($?.error?.(_))??QD(U.customError?.(_))??QD(U.localeError?.(_))??"Invalid input",{inst:D,continue:N,input:E,...I}=_;if(I.path??(I.path=[]),I.message=j,$?.reportInput)I.input=E;return I}function BD(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function FD(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function Z(_){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 l0(..._){let[$,U,j]=_;if(typeof $==="string")return{message:$,code:"custom",input:U,inst:j};return{...$}}function EM(_){return Object.entries(_).filter(([$,U])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function k9(_){let $=atob(_),U=new Uint8Array($.length);for(let j=0;j<$.length;j++)U[j]=$.charCodeAt(j);return U}function C9(_){let $="";for(let U=0;U<_.length;U++)$+=String.fromCharCode(_[U]);return btoa($)}function IM(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-$.length%4)%4);return k9($+U)}function AM(_){return C9(_).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 JM(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class b9{constructor(..._){}}var q9,oj,bA,ag=(_)=>{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: ${$}`)}},VD,vA,xA,yA;var m=f(()=>{H4();q9=Symbol("evaluating");oj="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};bA=d0(()=>{if(M4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});VD=new Set(["string","number","symbol"]),vA=new Set(["string","number","bigint","boolean","symbol","undefined"]);xA={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]},yA={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function i0(_,$=(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 t0(_,$=(U)=>U.message){let U={_errors:[]},j=(D,N=[])=>{for(let E of D.issues)if(E.code==="invalid_union"&&E.errors.length)E.errors.map((I)=>j({issues:I},[...N,...E.path]));else if(E.code==="invalid_key")j({issues:E.issues},[...N,...E.path]);else if(E.code==="invalid_element")j({issues:E.issues},[...N,...E.path]);else{let I=[...N,...E.path];if(I.length===0)U._errors.push($(E));else{let W=U,J=0;while(J<I.length){let L=I[J];if(J!==I.length-1)W[L]=W[L]||{_errors:[]};else W[L]=W[L]||{_errors:[]},W[L]._errors.push($(E));W=W[L],J++}}}};return j(_),U}function pj(_,$=(U)=>U.message){let U={errors:[]},j=(D,N=[])=>{var E,I;for(let W of D.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((J)=>j({issues:J},[...N,...W.path]));else if(W.code==="invalid_key")j({issues:W.issues},[...N,...W.path]);else if(W.code==="invalid_element")j({issues:W.issues},[...N,...W.path]);else{let J=[...N,...W.path];if(J.length===0){U.errors.push($(W));continue}let L=U,S=0;while(S<J.length){let X=J[S],z=S===J.length-1;if(typeof X==="string")L.properties??(L.properties={}),(E=L.properties)[X]??(E[X]={errors:[]}),L=L.properties[X];else L.items??(L.items=[]),(I=L.items)[X]??(I[X]={errors:[]}),L=L.items[X];if(z)L.errors.push($(W));S++}}};return j(_),U}function v9(_){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 aj(_){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 ${v9(j.path)}`);return $.join(` -`)}var w9=(_,$)=>{_.name="$ZodError",Object.defineProperty(_,"_zod",{value:_._zod,enumerable:!1}),Object.defineProperty(_,"issues",{value:$,enumerable:!1}),_.message=JSON.stringify($,n0,2),Object.defineProperty(_,"toString",{value:()=>_.message,enumerable:!1})},KD,A$;var hA=f(()=>{H4();m();KD=V("$ZodError",w9),A$=V("$ZodError",w9,{Parent:Error})});var o0=(_)=>($,U,j,D)=>{let N=j?{...j,async:!1}:{async:!1},E=$._zod.run({value:U,issues:[]},N);if(E instanceof Promise)throw new s$;if(E.issues.length){let I=new(D?.Err??_)(E.issues.map((W)=>_$(W,N,C_())));throw oj(I,D?.callee),I}return E.value},ej,p0=(_)=>async($,U,j,D)=>{let N=j?{...j,async:!0}:{async:!0},E=$._zod.run({value:U,issues:[]},N);if(E instanceof Promise)E=await E;if(E.issues.length){let I=new(D?.Err??_)(E.issues.map((W)=>_$(W,N,C_())));throw oj(I,D?.callee),I}return E.value},sj,a0=(_)=>($,U,j)=>{let D=j?{...j,async:!1}:{async:!1},N=$._zod.run({value:U,issues:[]},D);if(N instanceof Promise)throw new s$;return N.issues.length?{success:!1,error:new(_??KD)(N.issues.map((E)=>_$(E,D,C_())))}:{success:!0,data:N.value}},rA,e0=(_)=>async($,U,j)=>{let D=j?{...j,async:!0}:{async:!0},N=$._zod.run({value:U,issues:[]},D);if(N instanceof Promise)N=await N;return N.issues.length?{success:!1,error:new _(N.issues.map((E)=>_$(E,D,C_())))}:{success:!0,data:N.value}},cA,_N=(_)=>($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return o0(_)($,U,D)},SM,$N=(_)=>($,U,j)=>{return o0(_)($,U,j)},PM,UN=(_)=>async($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return p0(_)($,U,D)},OM,DN=(_)=>async($,U,j)=>{return p0(_)($,U,j)},zM,jN=(_)=>($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return a0(_)($,U,D)},XM,NN=(_)=>($,U,j)=>{return a0(_)($,U,j)},YM,EN=(_)=>async($,U,j)=>{let D=j?{...j,direction:"backward"}:{direction:"backward"};return e0(_)($,U,D)},RM,IN=(_)=>async($,U,j)=>{return e0(_)($,U,j)},QM;var mA=f(()=>{H4();hA();m();ej=o0(A$),sj=p0(A$),rA=a0(A$),cA=e0(A$),SM=_N(A$),PM=$N(A$),OM=UN(A$),zM=DN(A$),XM=jN(A$),YM=NN(A$),RM=EN(A$),QM=IN(A$)});var W$={};l$(W$,{xid:()=>iA,uuid7:()=>BM,uuid6:()=>VM,uuid4:()=>TM,uuid:()=>k4,uppercase:()=>RW,unicodeEmail:()=>f9,undefined:()=>XW,ulid:()=>lA,time:()=>WW,string:()=>LW,sha512_hex:()=>nM,sha512_base64url:()=>lM,sha512_base64:()=>dM,sha384_hex:()=>rM,sha384_base64url:()=>mM,sha384_base64:()=>cM,sha256_hex:()=>yM,sha256_base64url:()=>hM,sha256_base64:()=>uM,sha1_hex:()=>vM,sha1_base64url:()=>xM,sha1_base64:()=>fM,rfc5322Email:()=>KM,number:()=>gD,null:()=>zW,nanoid:()=>oA,md5_hex:()=>CM,md5_base64url:()=>wM,md5_base64:()=>bM,mac:()=>UW,lowercase:()=>YW,ksuid:()=>tA,ipv6:()=>$W,ipv4:()=>_W,integer:()=>PW,idnEmail:()=>gM,httpProtocol:()=>EW,html5Email:()=>FM,hostname:()=>HM,hex:()=>kM,guid:()=>aA,extendedDuration:()=>GM,emoji:()=>sA,email:()=>eA,e164:()=>IW,duration:()=>pA,domain:()=>qM,datetime:()=>JW,date:()=>AW,cuid2:()=>dA,cuid:()=>nA,cidrv6:()=>jW,cidrv4:()=>DW,browserEmail:()=>MM,boolean:()=>OW,bigint:()=>SW,base64url:()=>AN,base64:()=>NW});function sA(){return new RegExp(ZM,"u")}function y9(_){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 WW(_){return new RegExp(`^${y9(_)}$`)}function JW(_){let $=y9({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(`^${x9}T(?:${j})$`)}function MD(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function ZD(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var nA,dA,lA,iA,tA,oA,pA,GM,aA,k4=(_)=>{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})$`)},TM,VM,BM,eA,FM,KM,f9,gM,MM,ZM="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_W,$W,UW=(_)=>{let $=F$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},DW,jW,NW,AN,HM,qM,EW,IW,x9="(?:(?:\\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])))",AW,LW=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},SW,PW,gD,OW,zW,XW,YW,RW,kM,CM,bM,wM,vM,fM,xM,yM,uM,hM,rM,cM,mM,nM,dM,lM;var WN=f(()=>{m();nA=/^[cC][0-9a-z]{6,}$/,dA=/^[0-9a-z]+$/,lA=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,iA=/^[0-9a-vA-V]{20}$/,tA=/^[A-Za-z0-9]{27}$/,oA=/^[a-zA-Z0-9_-]{21}$/,pA=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,GM=/^[-+]?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)?)??$/,aA=/^([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})$/,TM=k4(4),VM=k4(6),BM=k4(7),eA=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,FM=/^[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])?)*$/,KM=/^(([^<>()\[\]\\.,;:\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,}))$/,f9=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,gM=f9,MM=/^[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])?)*$/;_W=/^(?:(?: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])$/,$W=/^(([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}|:))$/,DW=/^((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])$/,jW=/^(([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])$/,NW=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,AN=/^[A-Za-z0-9_-]*$/,HM=/^(?=.{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])?)*\.?$/,qM=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,EW=/^https?$/,IW=/^\+[1-9]\d{6,14}$/,AW=new RegExp(`^${x9}$`);SW=/^-?\d+n?$/,PW=/^-?\d+$/,gD=/^-?\d+(?:\.\d+)?$/,OW=/^(?:true|false)$/i,zW=/^null$/i,XW=/^undefined$/i,YW=/^[^A-Z]*$/,RW=/^[^a-z]*$/,kM=/^[0-9a-fA-F]*$/;CM=/^[0-9a-fA-F]{32}$/,bM=MD(22,"=="),wM=ZD(22),vM=/^[0-9a-fA-F]{40}$/,fM=MD(27,"="),xM=ZD(27),yM=/^[0-9a-fA-F]{64}$/,uM=MD(43,"="),hM=ZD(43),rM=/^[0-9a-fA-F]{96}$/,cM=MD(64,""),mM=ZD(64),nM=/^[0-9a-fA-F]{128}$/,dM=MD(86,"=="),lM=ZD(86)});function u9(_,$,U){if(_.issues.length)$.issues.push(...I$(U,_.issues))}var V_,h9,JN,LN,QW,GW,TW,VW,BW,FW,KW,gW,MW,s0,ZW,HW,qW,kW,CW,bW,wW,vW,fW;var SN=f(()=>{H4();WN();m();V_=V("$ZodCheck",(_,$)=>{var U;_._zod??(_._zod={}),_._zod.def=$,(U=_._zod).onattach??(U.onattach=[])}),h9={number:"number",bigint:"bigint",object:"date"},JN=V("$ZodCheckLessThan",(_,$)=>{V_.init(_,$);let U=h9[typeof $.value];_._zod.onattach.push((j)=>{let D=j._zod.bag,N=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value<N)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})}}),LN=V("$ZodCheckGreaterThan",(_,$)=>{V_.init(_,$);let U=h9[typeof $.value];_._zod.onattach.push((j)=>{let D=j._zod.bag,N=($.inclusive?D.minimum:D.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if($.value>N)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})}}),QW=V("$ZodCheckMultipleOf",(_,$)=>{V_.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):kA(U.value,$.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:$.value,input:U.value,inst:_,continue:!$.abort})}}),GW=V("$ZodCheckNumberFormat",(_,$)=>{V_.init(_,$),$.format=$.format||"float64";let U=$.format?.includes("int"),j=U?"int":"number",[D,N]=xA[$.format];_._zod.onattach.push((E)=>{let I=E._zod.bag;if(I.format=$.format,I.minimum=D,I.maximum=N,U)I.pattern=PW}),_._zod.check=(E)=>{let I=E.value;if(U){if(!Number.isInteger(I)){E.issues.push({expected:j,format:$.format,code:"invalid_type",continue:!1,input:I,inst:_});return}if(!Number.isSafeInteger(I)){if(I>0)E.issues.push({input:I,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 E.issues.push({input:I,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(I<D)E.issues.push({origin:"number",input:I,code:"too_small",minimum:D,inclusive:!0,inst:_,continue:!$.abort});if(I>N)E.issues.push({origin:"number",input:I,code:"too_big",maximum:N,inclusive:!0,inst:_,continue:!$.abort})}}),TW=V("$ZodCheckBigIntFormat",(_,$)=>{V_.init(_,$);let[U,j]=yA[$.format];_._zod.onattach.push((D)=>{let N=D._zod.bag;N.format=$.format,N.minimum=U,N.maximum=j}),_._zod.check=(D)=>{let N=D.value;if(N<U)D.issues.push({origin:"bigint",input:N,code:"too_small",minimum:U,inclusive:!0,inst:_,continue:!$.abort});if(N>j)D.issues.push({origin:"bigint",input:N,code:"too_big",maximum:j,inclusive:!0,inst:_,continue:!$.abort})}}),VW=V("$ZodCheckMaxSize",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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:BD(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),BW=V("$ZodCheckMinSize",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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:BD(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),FW=V("$ZodCheckSizeEquals",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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,N=D.size;if(N===$.size)return;let E=N>$.size;j.issues.push({origin:BD(D),...E?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:j.value,inst:_,continue:!$.abort})}}),KW=V("$ZodCheckMaxLength",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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 E=FD(D);j.issues.push({origin:E,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),gW=V("$ZodCheckMinLength",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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 E=FD(D);j.issues.push({origin:E,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),MW=V("$ZodCheckLengthEquals",(_,$)=>{var U;V_.init(_,$),(U=_._zod.def).when??(U.when=(j)=>{let D=j.value;return!m6(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,N=D.length;if(N===$.length)return;let E=FD(D),I=N>$.length;j.issues.push({origin:E,...I?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:j.value,inst:_,continue:!$.abort})}}),s0=V("$ZodCheckStringFormat",(_,$)=>{var U,j;if(V_.init(_,$),_._zod.onattach.push((D)=>{let N=D._zod.bag;if(N.format=$.format,$.pattern)N.patterns??(N.patterns=new Set),N.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=()=>{})}),ZW=V("$ZodCheckRegex",(_,$)=>{s0.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})}}),HW=V("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=YW),s0.init(_,$)}),qW=V("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=RW),s0.init(_,$)}),kW=V("$ZodCheckIncludes",(_,$)=>{V_.init(_,$);let U=F$($.includes),j=new RegExp(typeof $.position==="number"?`^.{${$.position}}${U}`:U);$.pattern=j,_._zod.onattach.push((D)=>{let N=D._zod.bag;N.patterns??(N.patterns=new Set),N.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})}}),CW=V("$ZodCheckStartsWith",(_,$)=>{V_.init(_,$);let U=new RegExp(`^${F$($.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})}}),bW=V("$ZodCheckEndsWith",(_,$)=>{V_.init(_,$);let U=new RegExp(`.*${F$($.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})}});wW=V("$ZodCheckProperty",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{let j=$.schema._zod.run({value:U.value[$.property],issues:[]},{});if(j instanceof Promise)return j.then((D)=>u9(D,U,$.property));u9(j,U,$.property);return}}),vW=V("$ZodCheckMimeType",(_,$)=>{V_.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})}}),fW=V("$ZodCheckOverwrite",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{U.value=$.tx(U.value)}})});class PN{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((N)=>N),j=Math.min(...U.map((N)=>N.length-N.trimStart().length)),D=U.map((N)=>N.slice(j)).map((N)=>" ".repeat(this.indent*2)+N);for(let N of D)this.content.push(N)}compile(){let _=Function,$=this?.args,j=[...(this?.content??[""]).map((D)=>` ${D}`)];return new _(...$,j.join(` -`))}}var xW;var yW=f(()=>{xW={major:4,minor:4,patch:3}});function EJ(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function U8(_){if(!AN.test(_))return!1;let $=_.replace(/[-_]/g,(j)=>j==="-"?"+":"/"),U=$.padEnd(Math.ceil($.length/4)*4,"=");return EJ(U)}function D8(_,$=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 c9(_,$,U){if(_.issues.length)$.issues.push(...I$(U,_.issues));$.value[U]=_.value}function YN(_,$,U,j,D,N){let E=U in j;if(_.issues.length){if(D&&N&&!E)return;$.issues.push(...I$(U,_.issues))}if(!E&&!D){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if(_.value===void 0){if(E)$.value[U]=void 0}else $.value[U]=_.value}function j8(_){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=fA(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(U)}}function N8(_,$,U,j,D,N){let E=[],I=D.keySet,W=D.catchall._zod,J=W.def.type,L=W.optin==="optional",S=W.optout==="optional";for(let X in $){if(X==="__proto__")continue;if(I.has(X))continue;if(J==="never"){E.push(X);continue}let z=W.run({value:$[X],issues:[]},j);if(z instanceof Promise)_.push(z.then((R)=>YN(R,U,X,$,L,S)));else YN(z,U,X,$,L,S)}if(E.length)U.issues.push({code:"unrecognized_keys",keys:E,input:$,inst:N});if(!_.length)return U;return Promise.all(_).then(()=>{return U})}function m9(_,$,U,j){for(let N of _)if(N.issues.length===0)return $.value=N.value,$;let D=_.filter((N)=>!l6(N));if(D.length===1)return $.value=D[0].value,D[0];return $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:_.map((N)=>N.issues.map((E)=>_$(E,j,C_())))}),$}function n9(_,$,U,j){let D=_.filter((N)=>N.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((N)=>N.issues.map((E)=>_$(E,j,C_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:[],inclusive:!1});return $}function uW(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(d6(_)&&d6($)){let U=Object.keys($),j=Object.keys(_).filter((N)=>U.indexOf(N)!==-1),D={..._,...$};for(let N of j){let E=uW(_[N],$[N]);if(!E.valid)return{valid:!1,mergeErrorPath:[N,...E.mergeErrorPath]};D[N]=E.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],N=$[j],E=uW(D,N);if(!E.valid)return{valid:!1,mergeErrorPath:[j,...E.mergeErrorPath]};U.push(E.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function d9(_,$,U){let j=new Map,D;for(let I of $.issues)if(I.code==="unrecognized_keys"){D??(D=I);for(let W of I.keys){if(!j.has(W))j.set(W,{});j.get(W).l=!0}}else _.issues.push(I);for(let I of U.issues)if(I.code==="unrecognized_keys")for(let W of I.keys){if(!j.has(W))j.set(W,{});j.get(W).r=!0}else _.issues.push(I);let N=[...j].filter(([,I])=>I.l&&I.r).map(([I])=>I);if(N.length&&D)_.issues.push({...D,keys:N});if(l6(_))return _;let E=uW($.value,U.value);if(!E.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(E.mergeErrorPath)}`);return _.value=E.data,_}function l9(_,$){for(let U=_.length-1;U>=0;U--)if(_[U]._zod[$]!=="optional")return U+1;return 0}function i9(_,$,U){if(_.issues.length)$.issues.push(...I$(U,_.issues));$.value[U]=_.value}function t9(_,$,U,j,D){for(let N=0;N<U.length;N++){let E=_[N],I=N<j.length;if(E.issues.length){if(!I&&N>=D){$.value.length=N;break}$.issues.push(...I$(N,E.issues))}$.value[N]=E.value}for(let N=$.value.length-1;N>=j.length;N--)if(U[N]._zod.optout==="optional"&&$.value[N]===void 0)$.value.length=N;else break;return $}function o9(_,$,U,j,D,N,E){if(_.issues.length)if(VD.has(typeof j))U.issues.push(...I$(j,_.issues));else U.issues.push({code:"invalid_key",origin:"map",input:D,inst:N,issues:_.issues.map((I)=>_$(I,E,C_()))});if($.issues.length)if(VD.has(typeof j))U.issues.push(...I$(j,$.issues));else U.issues.push({origin:"map",code:"invalid_element",input:D,inst:N,key:j,issues:$.issues.map((I)=>_$(I,E,C_()))});U.value.set(_.value,$.value)}function p9(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function a9(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function e9(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function s9(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function ON(_,$,U){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},U)}function zN(_,$,U){if(_.issues.length)return _.aborted=!0,_;if((U.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((N)=>XN(_,N,$.out,U));return XN(_,D,$.out,U)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((N)=>XN(_,N,$.in,U));return XN(_,D,$.in,U)}}function XN(_,$,U,j){if(_.issues.length)return _.aborted=!0,_;return U._zod.run({value:$,issues:_.issues},j)}function _8(_){return _.value=Object.freeze(_.value),_}function $8(_,$,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(l0(D))}}var p,C4,T_,hW,rW,cW,mW,nW,dW,lW,iW,tW,oW,pW,aW,eW,sW,_J,$J,UJ,DJ,jJ,NJ,IJ,AJ,WJ,JJ,LJ,RN,SJ,HD,QN,PJ,OJ,zJ,XJ,YJ,RJ,QJ,GJ,TJ,VJ,E8,BJ,qD,FJ,KJ,gJ,GN,MJ,ZJ,HJ,qJ,kJ,CJ,bJ,TN,wJ,vJ,fJ,xJ,yJ,uJ,hJ,rJ,VN,kD,cJ,mJ,nJ,dJ,lJ,iJ,tJ;var oJ=f(()=>{SN();H4();mA();WN();m();yW();m();p=V("$ZodType",(_,$)=>{var U;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=xW;let j=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))j.unshift(_);for(let D of j)for(let N of D._zod.onattach)N(_);if(j.length===0)(U=_._zod).deferred??(U.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let D=(E,I,W)=>{let J=l6(E),L;for(let S of I){if(S._zod.def.when){if(uA(E))continue;if(!S._zod.def.when(E))continue}else if(J)continue;let X=E.issues.length,z=S._zod.check(E);if(z instanceof Promise&&W?.async===!1)throw new s$;if(L||z instanceof Promise)L=(L??Promise.resolve()).then(async()=>{if(await z,E.issues.length===X)return;if(!J)J=l6(E,X)});else{if(E.issues.length===X)continue;if(!J)J=l6(E,X)}}if(L)return L.then(()=>{return E});return E},N=(E,I,W)=>{if(l6(E))return E.aborted=!0,E;let J=D(I,j,W);if(J instanceof Promise){if(W.async===!1)throw new s$;return J.then((L)=>_._zod.parse(L,W))}return _._zod.parse(J,W)};_._zod.run=(E,I)=>{if(I.skipChecks)return _._zod.parse(E,I);if(I.direction==="backward"){let J=_._zod.parse({value:E.value,issues:[]},{...I,skipChecks:!0});if(J instanceof Promise)return J.then((L)=>{return N(L,E,I)});return N(J,E,I)}let W=_._zod.parse(E,I);if(W instanceof Promise){if(I.async===!1)throw new s$;return W.then((J)=>D(J,j,I))}return D(W,j,I)}}U_(_,"~standard",()=>({validate:(D)=>{try{let N=rA(_,D);return N.success?{value:N.data}:{issues:N.error?.issues}}catch(N){return cA(_,D).then((E)=>E.success?{value:E.data}:{issues:E.error?.issues})}},vendor:"zod",version:1}))}),C4=V("$ZodString",(_,$)=>{p.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??LW(_._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}}),T_=V("$ZodStringFormat",(_,$)=>{s0.init(_,$),C4.init(_,$)}),hW=V("$ZodGUID",(_,$)=>{$.pattern??($.pattern=aA),T_.init(_,$)}),rW=V("$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=k4(j))}else $.pattern??($.pattern=k4());T_.init(_,$)}),cW=V("$ZodEmail",(_,$)=>{$.pattern??($.pattern=eA),T_.init(_,$)}),mW=V("$ZodURL",(_,$)=>{T_.init(_,$),_._zod.check=(U)=>{try{let j=U.value.trim();if(!$.normalize&&$.protocol?.source===EW.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})}}}),nW=V("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=sA()),T_.init(_,$)}),dW=V("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=oA),T_.init(_,$)}),lW=V("$ZodCUID",(_,$)=>{$.pattern??($.pattern=nA),T_.init(_,$)}),iW=V("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=dA),T_.init(_,$)}),tW=V("$ZodULID",(_,$)=>{$.pattern??($.pattern=lA),T_.init(_,$)}),oW=V("$ZodXID",(_,$)=>{$.pattern??($.pattern=iA),T_.init(_,$)}),pW=V("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=tA),T_.init(_,$)}),aW=V("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=JW($)),T_.init(_,$)}),eW=V("$ZodISODate",(_,$)=>{$.pattern??($.pattern=AW),T_.init(_,$)}),sW=V("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=WW($)),T_.init(_,$)}),_J=V("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=pA),T_.init(_,$)}),$J=V("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=_W),T_.init(_,$),_._zod.bag.format="ipv4"}),UJ=V("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=$W),T_.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})}}}),DJ=V("$ZodMAC",(_,$)=>{$.pattern??($.pattern=UW($.delimiter)),T_.init(_,$),_._zod.bag.format="mac"}),jJ=V("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=DW),T_.init(_,$)}),NJ=V("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=jW),T_.init(_,$),_._zod.check=(U)=>{let j=U.value.split("/");try{if(j.length!==2)throw Error();let[D,N]=j;if(!N)throw Error();let E=Number(N);if(`${E}`!==N)throw Error();if(E<0||E>128)throw Error();new URL(`http://[${D}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:_,continue:!$.abort})}}});IJ=V("$ZodBase64",(_,$)=>{$.pattern??($.pattern=NW),T_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(U)=>{if(EJ(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:_,continue:!$.abort})}});AJ=V("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=AN),T_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(U)=>{if(U8(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:_,continue:!$.abort})}}),WJ=V("$ZodE164",(_,$)=>{$.pattern??($.pattern=IW),T_.init(_,$)});JJ=V("$ZodJWT",(_,$)=>{T_.init(_,$),_._zod.check=(U)=>{if(D8(U.value,$.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:_,continue:!$.abort})}}),LJ=V("$ZodCustomStringFormat",(_,$)=>{T_.init(_,$),_._zod.check=(U)=>{if($.fn(U.value))return;U.issues.push({code:"invalid_format",format:$.format,input:U.value,inst:_,continue:!$.abort})}}),RN=V("$ZodNumber",(_,$)=>{p.init(_,$),_._zod.pattern=_._zod.bag.pattern??gD,_._zod.parse=(U,j)=>{if($.coerce)try{U.value=Number(U.value)}catch(E){}let D=U.value;if(typeof D==="number"&&!Number.isNaN(D)&&Number.isFinite(D))return U;let N=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:_,...N?{received:N}:{}}),U}}),SJ=V("$ZodNumberFormat",(_,$)=>{GW.init(_,$),RN.init(_,$)}),HD=V("$ZodBoolean",(_,$)=>{p.init(_,$),_._zod.pattern=OW,_._zod.parse=(U,j)=>{if($.coerce)try{U.value=Boolean(U.value)}catch(N){}let D=U.value;if(typeof D==="boolean")return U;return U.issues.push({expected:"boolean",code:"invalid_type",input:D,inst:_}),U}}),QN=V("$ZodBigInt",(_,$)=>{p.init(_,$),_._zod.pattern=SW,_._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}}),PJ=V("$ZodBigIntFormat",(_,$)=>{TW.init(_,$),QN.init(_,$)}),OJ=V("$ZodSymbol",(_,$)=>{p.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}}),zJ=V("$ZodUndefined",(_,$)=>{p.init(_,$),_._zod.pattern=XW,_._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}}),XJ=V("$ZodNull",(_,$)=>{p.init(_,$),_._zod.pattern=zW,_._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}}),YJ=V("$ZodAny",(_,$)=>{p.init(_,$),_._zod.parse=(U)=>U}),RJ=V("$ZodUnknown",(_,$)=>{p.init(_,$),_._zod.parse=(U)=>U}),QJ=V("$ZodNever",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:_}),U}}),GJ=V("$ZodVoid",(_,$)=>{p.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}}),TJ=V("$ZodDate",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{if($.coerce)try{U.value=new Date(U.value)}catch(I){}let D=U.value,N=D instanceof Date;if(N&&!Number.isNaN(D.getTime()))return U;return U.issues.push({expected:"date",code:"invalid_type",input:D,...N?{received:"Invalid Date"}:{},inst:_}),U}});VJ=V("$ZodArray",(_,$)=>{p.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 N=[];for(let E=0;E<D.length;E++){let I=D[E],W=$.element._zod.run({value:I,issues:[]},j);if(W instanceof Promise)N.push(W.then((J)=>c9(J,U,E)));else c9(W,U,E)}if(N.length)return Promise.all(N).then(()=>U);return U}});E8=V("$ZodObject",(_,$)=>{if(p.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let I=$.shape;Object.defineProperty($,"shape",{get:()=>{let W={...I};return Object.defineProperty($,"shape",{value:W}),W}})}let j=d0(()=>j8($));U_(_._zod,"propValues",()=>{let I=$.shape,W={};for(let J in I){let L=I[J]._zod;if(L.values){W[J]??(W[J]=new Set);for(let S of L.values)W[J].add(S)}}return W});let D=q4,N=$.catchall,E;_._zod.parse=(I,W)=>{E??(E=j.value);let J=I.value;if(!D(J))return I.issues.push({expected:"object",code:"invalid_type",input:J,inst:_}),I;I.value={};let L=[],S=E.shape;for(let X of E.keys){let z=S[X],R=z._zod.optin==="optional",P=z._zod.optout==="optional",O=z._zod.run({value:J[X],issues:[]},W);if(O instanceof Promise)L.push(O.then((Y)=>YN(Y,I,X,J,R,P)));else YN(O,I,X,J,R,P)}if(!N)return L.length?Promise.all(L).then(()=>I):I;return N8(L,J,I,W,j.value,_)}}),BJ=V("$ZodObjectJIT",(_,$)=>{E8.init(_,$);let U=_._zod.parse,j=d0(()=>j8($)),D=(X)=>{let z=new PN(["shape","payload","ctx"]),R=j.value,P=(B)=>{let G=tj(B);return`shape[${G}]._zod.run({ value: input[${G}], issues: [] }, ctx)`};z.write("const input = payload.value;");let O=Object.create(null),Y=0;for(let B of R.keys)O[B]=`key_${Y++}`;z.write("const newResult = {};");for(let B of R.keys){let G=O[B],T=tj(B),F=X[B],g=F?._zod?.optin==="optional",q=F?._zod?.optout==="optional";if(z.write(`const ${G} = ${P(B)};`),g&&q)z.write(` +var m7=Object.create;var{getPrototypeOf:n7,defineProperty:J2,getOwnPropertyNames:d7}=Object;var l7=Object.prototype.hasOwnProperty;function i7(_){return this[_]}var t7,o7,p7=(_,$,U)=>{var N=_!=null&&typeof _==="object";if(N){var D=$?t7??=new WeakMap:o7??=new WeakMap,j=D.get(_);if(j)return j}U=_!=null?m7(n7(_)):{};let I=$||!_||!_.__esModule?J2(U,"default",{value:_,enumerable:!0}):U;for(let E of d7(_))if(!l7.call(I,E))J2(I,E,{get:i7.bind(_,E),enumerable:!0});if(N)D.set(_,I);return I};var O4=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var a7=(_)=>_;function e7(_,$){this[_]=a7.bind(null,$)}var l$=(_,$)=>{for(var U in $)J2(_,U,{get:$[U],enumerable:!0,configurable:!0,set:e7.bind($,U)})};var f=(_,$)=>()=>(_&&($=_(_=0)),$);var P_=import.meta.require;function V(_,$,U){function N(E,W){if(!E._zod)Object.defineProperty(E,"_zod",{value:{def:W,constr:I,traits:new Set},enumerable:!1});if(E._zod.traits.has(_))return;E._zod.traits.add(_),$(E,W);let J=I.prototype,L=Object.keys(J);for(let S=0;S<L.length;S++){let X=L[S];if(!(X in E))E[X]=J[X].bind(E)}}let D=U?.Parent??Object;class j extends D{}Object.defineProperty(j,"name",{value:_});function I(E){var W;let J=U?.Parent?new j:this;N(J,E),(W=J._zod).deferred??(W.deferred=[]);for(let L of J._zod.deferred)L();return J}return Object.defineProperty(I,"init",{value:N}),Object.defineProperty(I,Symbol.hasInstance,{value:(E)=>{if(U?.Parent&&E instanceof U.Parent)return!0;return E?._zod?.traits?.has(_)}}),Object.defineProperty(I,"name",{value:_}),I}function C_(_){if(_)Object.assign(g4,_);return g4}var q9,iN,tN,s$,Z4,g4;var H4=f(()=>{iN=Object.freeze({status:"aborted"});tN=Symbol("zod_brand");s$=class s$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Z4=class Z4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(q9=globalThis).__zod_globalConfig??(q9.__zod_globalConfig={});g4=globalThis.__zod_globalConfig});var k={};l$(k,{unwrapMessage:()=>QD,uint8ArrayToHex:()=>zg,uint8ArrayToBase64url:()=>Pg,uint8ArrayToBase64:()=>C9,stringifyPrimitive:()=>g,slugify:()=>CA,shallowClone:()=>vA,safeExtend:()=>Eg,required:()=>Jg,randomString:()=>_g,propertyKeyTypes:()=>VD,promiseAllObject:()=>sM,primitiveTypes:()=>fA,prefixIssues:()=>E$,pick:()=>Ng,partial:()=>Wg,parsedType:()=>Z,optionalKeys:()=>xA,omit:()=>jg,objectClone:()=>pM,numKeys:()=>$g,nullish:()=>m6,normalizeParams:()=>w,mergeDefs:()=>T6,merge:()=>Ag,jsonStringifyReplacer:()=>n0,joinValues:()=>K,issue:()=>l0,isPlainObject:()=>d6,isObject:()=>q4,hexToUint8Array:()=>Og,getSizableOrigin:()=>BD,getParsedType:()=>Ug,getLengthableOrigin:()=>FD,getEnumValues:()=>GD,getElementAtPath:()=>eM,floatSafeRemainder:()=>bA,finalizeIssue:()=>_$,extend:()=>Ig,explicitlyAborted:()=>hA,escapeRegex:()=>F$,esc:()=>oN,defineLazy:()=>U_,createTransparentProxy:()=>Dg,cloneDef:()=>aM,clone:()=>i_,cleanRegex:()=>TD,cleanEnum:()=>Lg,captureStackTrace:()=>pN,cached:()=>d0,base64urlToUint8Array:()=>Sg,base64ToUint8Array:()=>b9,assignProp:()=>n6,assertNotEqual:()=>lM,assertNever:()=>tM,assertIs:()=>iM,assertEqual:()=>dM,assert:()=>oM,allowsEval:()=>wA,aborted:()=>l6,NUMBER_FORMAT_RANGES:()=>yA,Class:()=>w9,BIGINT_FORMAT_RANGES:()=>uA});function dM(_){return _}function lM(_){return _}function iM(_){}function tM(_){throw Error("Unexpected value in exhaustive check")}function oM(_){}function GD(_){let $=Object.values(_).filter((N)=>typeof N==="number");return Object.entries(_).filter(([N,D])=>$.indexOf(+N)===-1).map(([N,D])=>D)}function K(_,$="|"){return _.map((U)=>g(U)).join($)}function n0(_,$){if(typeof $==="bigint")return $.toString();return $}function d0(_){return{get value(){{let U=_();return Object.defineProperty(this,"value",{value:U}),U}throw Error("cached value already set")}}}function m6(_){return _===null||_===void 0}function TD(_){let $=_.startsWith("^")?1:0,U=_.endsWith("$")?_.length-1:_.length;return _.slice($,U)}function bA(_,$){let U=_/$,N=Math.round(U),D=Number.EPSILON*Math.max(Math.abs(U),1);if(Math.abs(U-N)<D)return 0;return U-N}function U_(_,$,U){let N=void 0;Object.defineProperty(_,$,{get(){if(N===k9)return;if(N===void 0)N=k9,N=U();return N},set(D){Object.defineProperty(_,$,{value:D})},configurable:!0})}function pM(_){return Object.create(Object.getPrototypeOf(_),Object.getOwnPropertyDescriptors(_))}function n6(_,$,U){Object.defineProperty(_,$,{value:U,writable:!0,enumerable:!0,configurable:!0})}function T6(..._){let $={};for(let U of _){let N=Object.getOwnPropertyDescriptors(U);Object.assign($,N)}return Object.defineProperties({},$)}function aM(_){return T6(_._zod.def)}function eM(_,$){if(!$)return _;return $.reduce((U,N)=>U?.[N],_)}function sM(_){let $=Object.keys(_),U=$.map((N)=>_[N]);return Promise.all(U).then((N)=>{let D={};for(let j=0;j<$.length;j++)D[$[j]]=N[j];return D})}function _g(_=10){let U="";for(let N=0;N<_;N++)U+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return U}function oN(_){return JSON.stringify(_)}function CA(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function q4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function d6(_){if(q4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let U=$.prototype;if(q4(U)===!1)return!1;if(Object.prototype.hasOwnProperty.call(U,"isPrototypeOf")===!1)return!1;return!0}function vA(_){if(d6(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function $g(_){let $=0;for(let U in _)if(Object.prototype.hasOwnProperty.call(_,U))$++;return $}function F$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function i_(_,$,U){let N=new _._zod.constr($??_._zod.def);if(!$||U?.parent)N._zod.parent=_;return N}function w(_){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 Dg(_){let $;return new Proxy({},{get(U,N,D){return $??($=_()),Reflect.get($,N,D)},set(U,N,D,j){return $??($=_()),Reflect.set($,N,D,j)},has(U,N){return $??($=_()),Reflect.has($,N)},deleteProperty(U,N){return $??($=_()),Reflect.deleteProperty($,N)},ownKeys(U){return $??($=_()),Reflect.ownKeys($)},getOwnPropertyDescriptor(U,N){return $??($=_()),Reflect.getOwnPropertyDescriptor($,N)},defineProperty(U,N,D){return $??($=_()),Reflect.defineProperty($,N,D)}})}function g(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function xA(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function Ng(_,$){let U=_._zod.def,N=U.checks;if(N&&N.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let j=T6(_._zod.def,{get shape(){let I={};for(let E in $){if(!(E in U.shape))throw Error(`Unrecognized key: "${E}"`);if(!$[E])continue;I[E]=U.shape[E]}return n6(this,"shape",I),I},checks:[]});return i_(_,j)}function jg(_,$){let U=_._zod.def,N=U.checks;if(N&&N.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let j=T6(_._zod.def,{get shape(){let I={..._._zod.def.shape};for(let E in $){if(!(E in U.shape))throw Error(`Unrecognized key: "${E}"`);if(!$[E])continue;delete I[E]}return n6(this,"shape",I),I},checks:[]});return i_(_,j)}function Ig(_,$){if(!d6($))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 I in $)if(Object.getOwnPropertyDescriptor(j,I)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let D=T6(_._zod.def,{get shape(){let j={..._._zod.def.shape,...$};return n6(this,"shape",j),j}});return i_(_,D)}function Eg(_,$){if(!d6($))throw Error("Invalid input to safeExtend: expected a plain object");let U=T6(_._zod.def,{get shape(){let N={..._._zod.def.shape,...$};return n6(this,"shape",N),N}});return i_(_,U)}function Ag(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let U=T6(_._zod.def,{get shape(){let N={..._._zod.def.shape,...$._zod.def.shape};return n6(this,"shape",N),N},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return i_(_,U)}function Wg(_,$,U){let D=$._zod.def.checks;if(D&&D.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let I=T6($._zod.def,{get shape(){let E=$._zod.def.shape,W={...E};if(U)for(let J in U){if(!(J in E))throw Error(`Unrecognized key: "${J}"`);if(!U[J])continue;W[J]=_?new _({type:"optional",innerType:E[J]}):E[J]}else for(let J in E)W[J]=_?new _({type:"optional",innerType:E[J]}):E[J];return n6(this,"shape",W),W},checks:[]});return i_($,I)}function Jg(_,$,U){let N=T6($._zod.def,{get shape(){let D=$._zod.def.shape,j={...D};if(U)for(let I in U){if(!(I in j))throw Error(`Unrecognized key: "${I}"`);if(!U[I])continue;j[I]=new _({type:"nonoptional",innerType:D[I]})}else for(let I in D)j[I]=new _({type:"nonoptional",innerType:D[I]});return n6(this,"shape",j),j}});return i_($,N)}function l6(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue!==!0)return!0;return!1}function hA(_,$=0){if(_.aborted===!0)return!0;for(let U=$;U<_.issues.length;U++)if(_.issues[U]?.continue===!1)return!0;return!1}function E$(_,$){return $.map((U)=>{var N;return(N=U).path??(N.path=[]),U.path.unshift(_),U})}function QD(_){return typeof _==="string"?_:_?.message}function _$(_,$,U){let N=_.message?_.message:QD(_.inst?._zod.def?.error?.(_))??QD($?.error?.(_))??QD(U.customError?.(_))??QD(U.localeError?.(_))??"Invalid input",{inst:D,continue:j,input:I,...E}=_;if(E.path??(E.path=[]),E.message=N,$?.reportInput)E.input=I;return E}function BD(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function FD(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function Z(_){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 l0(..._){let[$,U,N]=_;if(typeof $==="string")return{message:$,code:"custom",input:U,inst:N};return{...$}}function Lg(_){return Object.entries(_).filter(([$,U])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function b9(_){let $=atob(_),U=new Uint8Array($.length);for(let N=0;N<$.length;N++)U[N]=$.charCodeAt(N);return U}function C9(_){let $="";for(let U=0;U<_.length;U++)$+=String.fromCharCode(_[U]);return btoa($)}function Sg(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),U="=".repeat((4-$.length%4)%4);return b9($+U)}function Pg(_){return C9(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Og(_){let $=_.replace(/^0x/,"");if($.length%2!==0)throw Error("Invalid hex string length");let U=new Uint8Array($.length/2);for(let N=0;N<$.length;N+=2)U[N/2]=Number.parseInt($.slice(N,N+2),16);return U}function zg(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class w9{constructor(..._){}}var k9,pN,wA,Ug=(_)=>{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: ${$}`)}},VD,fA,yA,uA;var m=f(()=>{H4();k9=Symbol("evaluating");pN="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};wA=d0(()=>{if(g4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});VD=new Set(["string","number","symbol"]),fA=new Set(["string","number","bigint","boolean","symbol","undefined"]);yA={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]},uA={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function i0(_,$=(U)=>U.message){let U={},N=[];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 N.push($(D));return{formErrors:N,fieldErrors:U}}function t0(_,$=(U)=>U.message){let U={_errors:[]},N=(D,j=[])=>{for(let I of D.issues)if(I.code==="invalid_union"&&I.errors.length)I.errors.map((E)=>N({issues:E},[...j,...I.path]));else if(I.code==="invalid_key")N({issues:I.issues},[...j,...I.path]);else if(I.code==="invalid_element")N({issues:I.issues},[...j,...I.path]);else{let E=[...j,...I.path];if(E.length===0)U._errors.push($(I));else{let W=U,J=0;while(J<E.length){let L=E[J];if(J!==E.length-1)W[L]=W[L]||{_errors:[]};else W[L]=W[L]||{_errors:[]},W[L]._errors.push($(I));W=W[L],J++}}}};return N(_),U}function aN(_,$=(U)=>U.message){let U={errors:[]},N=(D,j=[])=>{var I,E;for(let W of D.issues)if(W.code==="invalid_union"&&W.errors.length)W.errors.map((J)=>N({issues:J},[...j,...W.path]));else if(W.code==="invalid_key")N({issues:W.issues},[...j,...W.path]);else if(W.code==="invalid_element")N({issues:W.issues},[...j,...W.path]);else{let J=[...j,...W.path];if(J.length===0){U.errors.push($(W));continue}let L=U,S=0;while(S<J.length){let X=J[S],z=S===J.length-1;if(typeof X==="string")L.properties??(L.properties={}),(I=L.properties)[X]??(I[X]={errors:[]}),L=L.properties[X];else L.items??(L.items=[]),(E=L.items)[X]??(E[X]={errors:[]}),L=L.items[X];if(z)L.errors.push($(W));S++}}};return N(_),U}function f9(_){let $=[],U=_.map((N)=>typeof N==="object"?N.key:N);for(let N of U)if(typeof N==="number")$.push(`[${N}]`);else if(typeof N==="symbol")$.push(`[${JSON.stringify(String(N))}]`);else if(/[^\w$]/.test(N))$.push(`[${JSON.stringify(N)}]`);else{if($.length)$.push(".");$.push(N)}return $.join("")}function eN(_){let $=[],U=[..._.issues].sort((N,D)=>(N.path??[]).length-(D.path??[]).length);for(let N of U)if($.push(`\u2716 ${N.message}`),N.path?.length)$.push(` \u2192 at ${f9(N.path)}`);return $.join(` +`)}var v9=(_,$)=>{_.name="$ZodError",Object.defineProperty(_,"_zod",{value:_._zod,enumerable:!1}),Object.defineProperty(_,"issues",{value:$,enumerable:!1}),_.message=JSON.stringify($,n0,2),Object.defineProperty(_,"toString",{value:()=>_.message,enumerable:!1})},KD,A$;var rA=f(()=>{H4();m();KD=V("$ZodError",v9),A$=V("$ZodError",v9,{Parent:Error})});var o0=(_)=>($,U,N,D)=>{let j=N?{...N,async:!1}:{async:!1},I=$._zod.run({value:U,issues:[]},j);if(I instanceof Promise)throw new s$;if(I.issues.length){let E=new(D?.Err??_)(I.issues.map((W)=>_$(W,j,C_())));throw pN(E,D?.callee),E}return I.value},sN,p0=(_)=>async($,U,N,D)=>{let j=N?{...N,async:!0}:{async:!0},I=$._zod.run({value:U,issues:[]},j);if(I instanceof Promise)I=await I;if(I.issues.length){let E=new(D?.Err??_)(I.issues.map((W)=>_$(W,j,C_())));throw pN(E,D?.callee),E}return I.value},_j,a0=(_)=>($,U,N)=>{let D=N?{...N,async:!1}:{async:!1},j=$._zod.run({value:U,issues:[]},D);if(j instanceof Promise)throw new s$;return j.issues.length?{success:!1,error:new(_??KD)(j.issues.map((I)=>_$(I,D,C_())))}:{success:!0,data:j.value}},cA,e0=(_)=>async($,U,N)=>{let D=N?{...N,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((I)=>_$(I,D,C_())))}:{success:!0,data:j.value}},mA,$j=(_)=>($,U,N)=>{let D=N?{...N,direction:"backward"}:{direction:"backward"};return o0(_)($,U,D)},Rg,Uj=(_)=>($,U,N)=>{return o0(_)($,U,N)},Yg,Dj=(_)=>async($,U,N)=>{let D=N?{...N,direction:"backward"}:{direction:"backward"};return p0(_)($,U,D)},Qg,Nj=(_)=>async($,U,N)=>{return p0(_)($,U,N)},Gg,jj=(_)=>($,U,N)=>{let D=N?{...N,direction:"backward"}:{direction:"backward"};return a0(_)($,U,D)},Tg,Ij=(_)=>($,U,N)=>{return a0(_)($,U,N)},Vg,Ej=(_)=>async($,U,N)=>{let D=N?{...N,direction:"backward"}:{direction:"backward"};return e0(_)($,U,D)},Bg,Aj=(_)=>async($,U,N)=>{return e0(_)($,U,N)},Fg;var nA=f(()=>{H4();rA();m();sN=o0(A$),_j=p0(A$),cA=a0(A$),mA=e0(A$),Rg=$j(A$),Yg=Uj(A$),Qg=Dj(A$),Gg=Nj(A$),Tg=jj(A$),Vg=Ij(A$),Bg=Ej(A$),Fg=Aj(A$)});var W$={};l$(W$,{xid:()=>tA,uuid7:()=>Zg,uuid6:()=>gg,uuid4:()=>Mg,uuid:()=>k4,uppercase:()=>QW,unicodeEmail:()=>x9,undefined:()=>RW,ulid:()=>iA,time:()=>JW,string:()=>SW,sha512_hex:()=>og,sha512_base64url:()=>ag,sha512_base64:()=>pg,sha384_hex:()=>lg,sha384_base64url:()=>tg,sha384_base64:()=>ig,sha256_hex:()=>mg,sha256_base64url:()=>dg,sha256_base64:()=>ng,sha1_hex:()=>hg,sha1_base64url:()=>cg,sha1_base64:()=>rg,rfc5322Email:()=>qg,number:()=>MD,null:()=>XW,nanoid:()=>pA,md5_hex:()=>xg,md5_base64url:()=>ug,md5_base64:()=>yg,mac:()=>DW,lowercase:()=>YW,ksuid:()=>oA,ipv6:()=>UW,ipv4:()=>$W,integer:()=>OW,idnEmail:()=>kg,httpProtocol:()=>EW,html5Email:()=>Hg,hostname:()=>wg,hex:()=>fg,guid:()=>eA,extendedDuration:()=>Kg,emoji:()=>_W,email:()=>sA,e164:()=>AW,duration:()=>aA,domain:()=>vg,datetime:()=>LW,date:()=>WW,cuid2:()=>lA,cuid:()=>dA,cidrv6:()=>jW,cidrv4:()=>NW,browserEmail:()=>bg,boolean:()=>zW,bigint:()=>PW,base64url:()=>Wj,base64:()=>IW});function _W(){return new RegExp(Cg,"u")}function u9(_){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 JW(_){return new RegExp(`^${u9(_)}$`)}function LW(_){let $=u9({precision:_.precision}),U=["Z"];if(_.local)U.push("");if(_.offset)U.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let N=`${$}(?:${U.join("|")})`;return new RegExp(`^${y9}T(?:${N})$`)}function gD(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function ZD(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var dA,lA,iA,tA,oA,pA,aA,Kg,eA,k4=(_)=>{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})$`)},Mg,gg,Zg,sA,Hg,qg,x9,kg,bg,Cg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$W,UW,DW=(_)=>{let $=F$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},NW,jW,IW,Wj,wg,vg,EW,AW,y9="(?:(?:\\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])))",WW,SW=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},PW,OW,MD,zW,XW,RW,YW,QW,fg,xg,yg,ug,hg,rg,cg,mg,ng,dg,lg,ig,tg,og,pg,ag;var Jj=f(()=>{m();dA=/^[cC][0-9a-z]{6,}$/,lA=/^[0-9a-z]+$/,iA=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,tA=/^[0-9a-vA-V]{20}$/,oA=/^[A-Za-z0-9]{27}$/,pA=/^[a-zA-Z0-9_-]{21}$/,aA=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Kg=/^[-+]?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)?)??$/,eA=/^([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})$/,Mg=k4(4),gg=k4(6),Zg=k4(7),sA=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Hg=/^[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])?)*$/,qg=/^(([^<>()\[\]\\.,;:\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,}))$/,x9=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,kg=x9,bg=/^[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])?)*$/;$W=/^(?:(?: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])$/,UW=/^(([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}|:))$/,NW=/^((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])$/,jW=/^(([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])$/,IW=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Wj=/^[A-Za-z0-9_-]*$/,wg=/^(?=.{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])?)*\.?$/,vg=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,EW=/^https?$/,AW=/^\+[1-9]\d{6,14}$/,WW=new RegExp(`^${y9}$`);PW=/^-?\d+n?$/,OW=/^-?\d+$/,MD=/^-?\d+(?:\.\d+)?$/,zW=/^(?:true|false)$/i,XW=/^null$/i,RW=/^undefined$/i,YW=/^[^A-Z]*$/,QW=/^[^a-z]*$/,fg=/^[0-9a-fA-F]*$/;xg=/^[0-9a-fA-F]{32}$/,yg=gD(22,"=="),ug=ZD(22),hg=/^[0-9a-fA-F]{40}$/,rg=gD(27,"="),cg=ZD(27),mg=/^[0-9a-fA-F]{64}$/,ng=gD(43,"="),dg=ZD(43),lg=/^[0-9a-fA-F]{96}$/,ig=gD(64,""),tg=ZD(64),og=/^[0-9a-fA-F]{128}$/,pg=gD(86,"=="),ag=ZD(86)});function h9(_,$,U){if(_.issues.length)$.issues.push(...E$(U,_.issues))}var B_,r9,Lj,Sj,GW,TW,VW,BW,FW,KW,MW,gW,ZW,s0,HW,qW,kW,bW,CW,wW,vW,fW,xW;var Pj=f(()=>{H4();Jj();m();B_=V("$ZodCheck",(_,$)=>{var U;_._zod??(_._zod={}),_._zod.def=$,(U=_._zod).onattach??(U.onattach=[])}),r9={number:"number",bigint:"bigint",object:"date"},Lj=V("$ZodCheckLessThan",(_,$)=>{B_.init(_,$);let U=r9[typeof $.value];_._zod.onattach.push((N)=>{let D=N._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=(N)=>{if($.inclusive?N.value<=$.value:N.value<$.value)return;N.issues.push({origin:U,code:"too_big",maximum:typeof $.value==="object"?$.value.getTime():$.value,input:N.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),Sj=V("$ZodCheckGreaterThan",(_,$)=>{B_.init(_,$);let U=r9[typeof $.value];_._zod.onattach.push((N)=>{let D=N._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=(N)=>{if($.inclusive?N.value>=$.value:N.value>$.value)return;N.issues.push({origin:U,code:"too_small",minimum:typeof $.value==="object"?$.value.getTime():$.value,input:N.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),GW=V("$ZodCheckMultipleOf",(_,$)=>{B_.init(_,$),_._zod.onattach.push((U)=>{var N;(N=U._zod.bag).multipleOf??(N.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):bA(U.value,$.value)===0)return;U.issues.push({origin:typeof U.value,code:"not_multiple_of",divisor:$.value,input:U.value,inst:_,continue:!$.abort})}}),TW=V("$ZodCheckNumberFormat",(_,$)=>{B_.init(_,$),$.format=$.format||"float64";let U=$.format?.includes("int"),N=U?"int":"number",[D,j]=yA[$.format];_._zod.onattach.push((I)=>{let E=I._zod.bag;if(E.format=$.format,E.minimum=D,E.maximum=j,U)E.pattern=OW}),_._zod.check=(I)=>{let E=I.value;if(U){if(!Number.isInteger(E)){I.issues.push({expected:N,format:$.format,code:"invalid_type",continue:!1,input:E,inst:_});return}if(!Number.isSafeInteger(E)){if(E>0)I.issues.push({input:E,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:_,origin:N,inclusive:!0,continue:!$.abort});else I.issues.push({input:E,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:_,origin:N,inclusive:!0,continue:!$.abort});return}}if(E<D)I.issues.push({origin:"number",input:E,code:"too_small",minimum:D,inclusive:!0,inst:_,continue:!$.abort});if(E>j)I.issues.push({origin:"number",input:E,code:"too_big",maximum:j,inclusive:!0,inst:_,continue:!$.abort})}}),VW=V("$ZodCheckBigIntFormat",(_,$)=>{B_.init(_,$);let[U,N]=uA[$.format];_._zod.onattach.push((D)=>{let j=D._zod.bag;j.format=$.format,j.minimum=U,j.maximum=N}),_._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>N)D.issues.push({origin:"bigint",input:j,code:"too_big",maximum:N,inclusive:!0,inst:_,continue:!$.abort})}}),BW=V("$ZodCheckMaxSize",(_,$)=>{var U;B_.init(_,$),(U=_._zod.def).when??(U.when=(N)=>{let D=N.value;return!m6(D)&&D.size!==void 0}),_._zod.onattach.push((N)=>{let D=N._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum<D)N._zod.bag.maximum=$.maximum}),_._zod.check=(N)=>{let D=N.value;if(D.size<=$.maximum)return;N.issues.push({origin:BD(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),FW=V("$ZodCheckMinSize",(_,$)=>{var U;B_.init(_,$),(U=_._zod.def).when??(U.when=(N)=>{let D=N.value;return!m6(D)&&D.size!==void 0}),_._zod.onattach.push((N)=>{let D=N._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)N._zod.bag.minimum=$.minimum}),_._zod.check=(N)=>{let D=N.value;if(D.size>=$.minimum)return;N.issues.push({origin:BD(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),KW=V("$ZodCheckSizeEquals",(_,$)=>{var U;B_.init(_,$),(U=_._zod.def).when??(U.when=(N)=>{let D=N.value;return!m6(D)&&D.size!==void 0}),_._zod.onattach.push((N)=>{let D=N._zod.bag;D.minimum=$.size,D.maximum=$.size,D.size=$.size}),_._zod.check=(N)=>{let D=N.value,j=D.size;if(j===$.size)return;let I=j>$.size;N.issues.push({origin:BD(D),...I?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:N.value,inst:_,continue:!$.abort})}}),MW=V("$ZodCheckMaxLength",(_,$)=>{var U;B_.init(_,$),(U=_._zod.def).when??(U.when=(N)=>{let D=N.value;return!m6(D)&&D.length!==void 0}),_._zod.onattach.push((N)=>{let D=N._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum<D)N._zod.bag.maximum=$.maximum}),_._zod.check=(N)=>{let D=N.value;if(D.length<=$.maximum)return;let I=FD(D);N.issues.push({origin:I,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),gW=V("$ZodCheckMinLength",(_,$)=>{var U;B_.init(_,$),(U=_._zod.def).when??(U.when=(N)=>{let D=N.value;return!m6(D)&&D.length!==void 0}),_._zod.onattach.push((N)=>{let D=N._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)N._zod.bag.minimum=$.minimum}),_._zod.check=(N)=>{let D=N.value;if(D.length>=$.minimum)return;let I=FD(D);N.issues.push({origin:I,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),ZW=V("$ZodCheckLengthEquals",(_,$)=>{var U;B_.init(_,$),(U=_._zod.def).when??(U.when=(N)=>{let D=N.value;return!m6(D)&&D.length!==void 0}),_._zod.onattach.push((N)=>{let D=N._zod.bag;D.minimum=$.length,D.maximum=$.length,D.length=$.length}),_._zod.check=(N)=>{let D=N.value,j=D.length;if(j===$.length)return;let I=FD(D),E=j>$.length;N.issues.push({origin:I,...E?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:N.value,inst:_,continue:!$.abort})}}),s0=V("$ZodCheckStringFormat",(_,$)=>{var U,N;if(B_.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(N=_._zod).check??(N.check=()=>{})}),HW=V("$ZodCheckRegex",(_,$)=>{s0.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})}}),qW=V("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=YW),s0.init(_,$)}),kW=V("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=QW),s0.init(_,$)}),bW=V("$ZodCheckIncludes",(_,$)=>{B_.init(_,$);let U=F$($.includes),N=new RegExp(typeof $.position==="number"?`^.{${$.position}}${U}`:U);$.pattern=N,_._zod.onattach.push((D)=>{let j=D._zod.bag;j.patterns??(j.patterns=new Set),j.patterns.add(N)}),_._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})}}),CW=V("$ZodCheckStartsWith",(_,$)=>{B_.init(_,$);let U=new RegExp(`^${F$($.prefix)}.*`);$.pattern??($.pattern=U),_._zod.onattach.push((N)=>{let D=N._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(U)}),_._zod.check=(N)=>{if(N.value.startsWith($.prefix))return;N.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:$.prefix,input:N.value,inst:_,continue:!$.abort})}}),wW=V("$ZodCheckEndsWith",(_,$)=>{B_.init(_,$);let U=new RegExp(`.*${F$($.suffix)}$`);$.pattern??($.pattern=U),_._zod.onattach.push((N)=>{let D=N._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(U)}),_._zod.check=(N)=>{if(N.value.endsWith($.suffix))return;N.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:$.suffix,input:N.value,inst:_,continue:!$.abort})}});vW=V("$ZodCheckProperty",(_,$)=>{B_.init(_,$),_._zod.check=(U)=>{let N=$.schema._zod.run({value:U.value[$.property],issues:[]},{});if(N instanceof Promise)return N.then((D)=>h9(D,U,$.property));h9(N,U,$.property);return}}),fW=V("$ZodCheckMimeType",(_,$)=>{B_.init(_,$);let U=new Set($.mime);_._zod.onattach.push((N)=>{N._zod.bag.mime=$.mime}),_._zod.check=(N)=>{if(U.has(N.value.type))return;N.issues.push({code:"invalid_value",values:$.mime,input:N.value.type,inst:_,continue:!$.abort})}}),xW=V("$ZodCheckOverwrite",(_,$)=>{B_.init(_,$),_._zod.check=(U)=>{U.value=$.tx(U.value)}})});class Oj{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),N=Math.min(...U.map((j)=>j.length-j.trimStart().length)),D=U.map((j)=>j.slice(N)).map((j)=>" ".repeat(this.indent*2)+j);for(let j of D)this.content.push(j)}compile(){let _=Function,$=this?.args,N=[...(this?.content??[""]).map((D)=>` ${D}`)];return new _(...$,N.join(` +`))}}var yW;var uW=f(()=>{yW={major:4,minor:4,patch:3}});function EJ(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function D8(_){if(!Wj.test(_))return!1;let $=_.replace(/[-_]/g,(N)=>N==="-"?"+":"/"),U=$.padEnd(Math.ceil($.length/4)*4,"=");return EJ(U)}function N8(_,$=null){try{let U=_.split(".");if(U.length!==3)return!1;let[N]=U;if(!N)return!1;let D=JSON.parse(atob(N));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 m9(_,$,U){if(_.issues.length)$.issues.push(...E$(U,_.issues));$.value[U]=_.value}function Yj(_,$,U,N,D,j){let I=U in N;if(_.issues.length){if(D&&j&&!I)return;$.issues.push(...E$(U,_.issues))}if(!I&&!D){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[U]});return}if(_.value===void 0){if(I)$.value[U]=void 0}else $.value[U]=_.value}function j8(_){let $=Object.keys(_.shape);for(let N of $)if(!_.shape?.[N]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${N}": expected a Zod schema`);let U=xA(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(U)}}function I8(_,$,U,N,D,j){let I=[],E=D.keySet,W=D.catchall._zod,J=W.def.type,L=W.optin==="optional",S=W.optout==="optional";for(let X in $){if(X==="__proto__")continue;if(E.has(X))continue;if(J==="never"){I.push(X);continue}let z=W.run({value:$[X],issues:[]},N);if(z instanceof Promise)_.push(z.then((Y)=>Yj(Y,U,X,$,L,S)));else Yj(z,U,X,$,L,S)}if(I.length)U.issues.push({code:"unrecognized_keys",keys:I,input:$,inst:j});if(!_.length)return U;return Promise.all(_).then(()=>{return U})}function n9(_,$,U,N){for(let j of _)if(j.issues.length===0)return $.value=j.value,$;let D=_.filter((j)=>!l6(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((I)=>_$(I,N,C_())))}),$}function d9(_,$,U,N){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((I)=>_$(I,N,C_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:U,errors:[],inclusive:!1});return $}function hW(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(d6(_)&&d6($)){let U=Object.keys($),N=Object.keys(_).filter((j)=>U.indexOf(j)!==-1),D={..._,...$};for(let j of N){let I=hW(_[j],$[j]);if(!I.valid)return{valid:!1,mergeErrorPath:[j,...I.mergeErrorPath]};D[j]=I.data}return{valid:!0,data:D}}if(Array.isArray(_)&&Array.isArray($)){if(_.length!==$.length)return{valid:!1,mergeErrorPath:[]};let U=[];for(let N=0;N<_.length;N++){let D=_[N],j=$[N],I=hW(D,j);if(!I.valid)return{valid:!1,mergeErrorPath:[N,...I.mergeErrorPath]};U.push(I.data)}return{valid:!0,data:U}}return{valid:!1,mergeErrorPath:[]}}function l9(_,$,U){let N=new Map,D;for(let E of $.issues)if(E.code==="unrecognized_keys"){D??(D=E);for(let W of E.keys){if(!N.has(W))N.set(W,{});N.get(W).l=!0}}else _.issues.push(E);for(let E of U.issues)if(E.code==="unrecognized_keys")for(let W of E.keys){if(!N.has(W))N.set(W,{});N.get(W).r=!0}else _.issues.push(E);let j=[...N].filter(([,E])=>E.l&&E.r).map(([E])=>E);if(j.length&&D)_.issues.push({...D,keys:j});if(l6(_))return _;let I=hW($.value,U.value);if(!I.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(I.mergeErrorPath)}`);return _.value=I.data,_}function i9(_,$){for(let U=_.length-1;U>=0;U--)if(_[U]._zod[$]!=="optional")return U+1;return 0}function t9(_,$,U){if(_.issues.length)$.issues.push(...E$(U,_.issues));$.value[U]=_.value}function o9(_,$,U,N,D){for(let j=0;j<U.length;j++){let I=_[j],E=j<N.length;if(I.issues.length){if(!E&&j>=D){$.value.length=j;break}$.issues.push(...E$(j,I.issues))}$.value[j]=I.value}for(let j=$.value.length-1;j>=N.length;j--)if(U[j]._zod.optout==="optional"&&$.value[j]===void 0)$.value.length=j;else break;return $}function p9(_,$,U,N,D,j,I){if(_.issues.length)if(VD.has(typeof N))U.issues.push(...E$(N,_.issues));else U.issues.push({code:"invalid_key",origin:"map",input:D,inst:j,issues:_.issues.map((E)=>_$(E,I,C_()))});if($.issues.length)if(VD.has(typeof N))U.issues.push(...E$(N,$.issues));else U.issues.push({origin:"map",code:"invalid_element",input:D,inst:j,key:N,issues:$.issues.map((E)=>_$(E,I,C_()))});U.value.set(_.value,$.value)}function a9(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function e9(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function s9(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function _8(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function zj(_,$,U){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},U)}function Xj(_,$,U){if(_.issues.length)return _.aborted=!0,_;if((U.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((j)=>Rj(_,j,$.out,U));return Rj(_,D,$.out,U)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((j)=>Rj(_,j,$.in,U));return Rj(_,D,$.in,U)}}function Rj(_,$,U,N){if(_.issues.length)return _.aborted=!0,_;return U._zod.run({value:$,issues:_.issues},N)}function $8(_){return _.value=Object.freeze(_.value),_}function U8(_,$,U,N){if(!_){let D={code:"custom",input:U,inst:N,path:[...N._zod.def.path??[]],continue:!N._zod.def.abort};if(N._zod.def.params)D.params=N._zod.def.params;$.issues.push(l0(D))}}var p,b4,V_,rW,cW,mW,nW,dW,lW,iW,tW,oW,pW,aW,eW,sW,_J,$J,UJ,DJ,NJ,jJ,IJ,AJ,WJ,JJ,LJ,SJ,Qj,PJ,HD,Gj,OJ,zJ,XJ,RJ,YJ,QJ,GJ,TJ,VJ,BJ,E8,FJ,qD,KJ,MJ,gJ,Tj,ZJ,HJ,qJ,kJ,bJ,CJ,wJ,Vj,vJ,fJ,xJ,yJ,uJ,hJ,rJ,cJ,Bj,kD,mJ,nJ,dJ,lJ,iJ,tJ,oJ;var pJ=f(()=>{Pj();H4();nA();Jj();m();uW();m();p=V("$ZodType",(_,$)=>{var U;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=yW;let N=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))N.unshift(_);for(let D of N)for(let j of D._zod.onattach)j(_);if(N.length===0)(U=_._zod).deferred??(U.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let D=(I,E,W)=>{let J=l6(I),L;for(let S of E){if(S._zod.def.when){if(hA(I))continue;if(!S._zod.def.when(I))continue}else if(J)continue;let X=I.issues.length,z=S._zod.check(I);if(z instanceof Promise&&W?.async===!1)throw new s$;if(L||z instanceof Promise)L=(L??Promise.resolve()).then(async()=>{if(await z,I.issues.length===X)return;if(!J)J=l6(I,X)});else{if(I.issues.length===X)continue;if(!J)J=l6(I,X)}}if(L)return L.then(()=>{return I});return I},j=(I,E,W)=>{if(l6(I))return I.aborted=!0,I;let J=D(E,N,W);if(J instanceof Promise){if(W.async===!1)throw new s$;return J.then((L)=>_._zod.parse(L,W))}return _._zod.parse(J,W)};_._zod.run=(I,E)=>{if(E.skipChecks)return _._zod.parse(I,E);if(E.direction==="backward"){let J=_._zod.parse({value:I.value,issues:[]},{...E,skipChecks:!0});if(J instanceof Promise)return J.then((L)=>{return j(L,I,E)});return j(J,I,E)}let W=_._zod.parse(I,E);if(W instanceof Promise){if(E.async===!1)throw new s$;return W.then((J)=>D(J,N,E))}return D(W,N,E)}}U_(_,"~standard",()=>({validate:(D)=>{try{let j=cA(_,D);return j.success?{value:j.data}:{issues:j.error?.issues}}catch(j){return mA(_,D).then((I)=>I.success?{value:I.data}:{issues:I.error?.issues})}},vendor:"zod",version:1}))}),b4=V("$ZodString",(_,$)=>{p.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??SW(_._zod.bag),_._zod.parse=(U,N)=>{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}}),V_=V("$ZodStringFormat",(_,$)=>{s0.init(_,$),b4.init(_,$)}),rW=V("$ZodGUID",(_,$)=>{$.pattern??($.pattern=eA),V_.init(_,$)}),cW=V("$ZodUUID",(_,$)=>{if($.version){let N={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[$.version];if(N===void 0)throw Error(`Invalid UUID version: "${$.version}"`);$.pattern??($.pattern=k4(N))}else $.pattern??($.pattern=k4());V_.init(_,$)}),mW=V("$ZodEmail",(_,$)=>{$.pattern??($.pattern=sA),V_.init(_,$)}),nW=V("$ZodURL",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{try{let N=U.value.trim();if(!$.normalize&&$.protocol?.source===EW.source){if(!/^https?:\/\//i.test(N)){U.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:U.value,inst:_,continue:!$.abort});return}}let D=new URL(N);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=N;return}catch(N){U.issues.push({code:"invalid_format",format:"url",input:U.value,inst:_,continue:!$.abort})}}}),dW=V("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=_W()),V_.init(_,$)}),lW=V("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=pA),V_.init(_,$)}),iW=V("$ZodCUID",(_,$)=>{$.pattern??($.pattern=dA),V_.init(_,$)}),tW=V("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=lA),V_.init(_,$)}),oW=V("$ZodULID",(_,$)=>{$.pattern??($.pattern=iA),V_.init(_,$)}),pW=V("$ZodXID",(_,$)=>{$.pattern??($.pattern=tA),V_.init(_,$)}),aW=V("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=oA),V_.init(_,$)}),eW=V("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=LW($)),V_.init(_,$)}),sW=V("$ZodISODate",(_,$)=>{$.pattern??($.pattern=WW),V_.init(_,$)}),_J=V("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=JW($)),V_.init(_,$)}),$J=V("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=aA),V_.init(_,$)}),UJ=V("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=$W),V_.init(_,$),_._zod.bag.format="ipv4"}),DJ=V("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=UW),V_.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})}}}),NJ=V("$ZodMAC",(_,$)=>{$.pattern??($.pattern=DW($.delimiter)),V_.init(_,$),_._zod.bag.format="mac"}),jJ=V("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=NW),V_.init(_,$)}),IJ=V("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=jW),V_.init(_,$),_._zod.check=(U)=>{let N=U.value.split("/");try{if(N.length!==2)throw Error();let[D,j]=N;if(!j)throw Error();let I=Number(j);if(`${I}`!==j)throw Error();if(I<0||I>128)throw Error();new URL(`http://[${D}]`)}catch{U.issues.push({code:"invalid_format",format:"cidrv6",input:U.value,inst:_,continue:!$.abort})}}});AJ=V("$ZodBase64",(_,$)=>{$.pattern??($.pattern=IW),V_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(U)=>{if(EJ(U.value))return;U.issues.push({code:"invalid_format",format:"base64",input:U.value,inst:_,continue:!$.abort})}});WJ=V("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=Wj),V_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(U)=>{if(D8(U.value))return;U.issues.push({code:"invalid_format",format:"base64url",input:U.value,inst:_,continue:!$.abort})}}),JJ=V("$ZodE164",(_,$)=>{$.pattern??($.pattern=AW),V_.init(_,$)});LJ=V("$ZodJWT",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{if(N8(U.value,$.alg))return;U.issues.push({code:"invalid_format",format:"jwt",input:U.value,inst:_,continue:!$.abort})}}),SJ=V("$ZodCustomStringFormat",(_,$)=>{V_.init(_,$),_._zod.check=(U)=>{if($.fn(U.value))return;U.issues.push({code:"invalid_format",format:$.format,input:U.value,inst:_,continue:!$.abort})}}),Qj=V("$ZodNumber",(_,$)=>{p.init(_,$),_._zod.pattern=_._zod.bag.pattern??MD,_._zod.parse=(U,N)=>{if($.coerce)try{U.value=Number(U.value)}catch(I){}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}}),PJ=V("$ZodNumberFormat",(_,$)=>{TW.init(_,$),Qj.init(_,$)}),HD=V("$ZodBoolean",(_,$)=>{p.init(_,$),_._zod.pattern=zW,_._zod.parse=(U,N)=>{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}}),Gj=V("$ZodBigInt",(_,$)=>{p.init(_,$),_._zod.pattern=PW,_._zod.parse=(U,N)=>{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}}),OJ=V("$ZodBigIntFormat",(_,$)=>{VW.init(_,$),Gj.init(_,$)}),zJ=V("$ZodSymbol",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(typeof D==="symbol")return U;return U.issues.push({expected:"symbol",code:"invalid_type",input:D,inst:_}),U}}),XJ=V("$ZodUndefined",(_,$)=>{p.init(_,$),_._zod.pattern=RW,_._zod.values=new Set([void 0]),_._zod.parse=(U,N)=>{let D=U.value;if(typeof D>"u")return U;return U.issues.push({expected:"undefined",code:"invalid_type",input:D,inst:_}),U}}),RJ=V("$ZodNull",(_,$)=>{p.init(_,$),_._zod.pattern=XW,_._zod.values=new Set([null]),_._zod.parse=(U,N)=>{let D=U.value;if(D===null)return U;return U.issues.push({expected:"null",code:"invalid_type",input:D,inst:_}),U}}),YJ=V("$ZodAny",(_,$)=>{p.init(_,$),_._zod.parse=(U)=>U}),QJ=V("$ZodUnknown",(_,$)=>{p.init(_,$),_._zod.parse=(U)=>U}),GJ=V("$ZodNever",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{return U.issues.push({expected:"never",code:"invalid_type",input:U.value,inst:_}),U}}),TJ=V("$ZodVoid",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(typeof D>"u")return U;return U.issues.push({expected:"void",code:"invalid_type",input:D,inst:_}),U}}),VJ=V("$ZodDate",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{if($.coerce)try{U.value=new Date(U.value)}catch(E){}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}});BJ=V("$ZodArray",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{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 I=0;I<D.length;I++){let E=D[I],W=$.element._zod.run({value:E,issues:[]},N);if(W instanceof Promise)j.push(W.then((J)=>m9(J,U,I)));else m9(W,U,I)}if(j.length)return Promise.all(j).then(()=>U);return U}});E8=V("$ZodObject",(_,$)=>{if(p.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let E=$.shape;Object.defineProperty($,"shape",{get:()=>{let W={...E};return Object.defineProperty($,"shape",{value:W}),W}})}let N=d0(()=>j8($));U_(_._zod,"propValues",()=>{let E=$.shape,W={};for(let J in E){let L=E[J]._zod;if(L.values){W[J]??(W[J]=new Set);for(let S of L.values)W[J].add(S)}}return W});let D=q4,j=$.catchall,I;_._zod.parse=(E,W)=>{I??(I=N.value);let J=E.value;if(!D(J))return E.issues.push({expected:"object",code:"invalid_type",input:J,inst:_}),E;E.value={};let L=[],S=I.shape;for(let X of I.keys){let z=S[X],Y=z._zod.optin==="optional",P=z._zod.optout==="optional",O=z._zod.run({value:J[X],issues:[]},W);if(O instanceof Promise)L.push(O.then((R)=>Yj(R,E,X,J,Y,P)));else Yj(O,E,X,J,Y,P)}if(!j)return L.length?Promise.all(L).then(()=>E):E;return I8(L,J,E,W,N.value,_)}}),FJ=V("$ZodObjectJIT",(_,$)=>{E8.init(_,$);let U=_._zod.parse,N=d0(()=>j8($)),D=(X)=>{let z=new Oj(["shape","payload","ctx"]),Y=N.value,P=(B)=>{let G=oN(B);return`shape[${G}]._zod.run({ value: input[${G}], issues: [] }, ctx)`};z.write("const input = payload.value;");let O=Object.create(null),R=0;for(let B of Y.keys)O[B]=`key_${R++}`;z.write("const newResult = {};");for(let B of Y.keys){let G=O[B],T=oN(B),F=X[B],M=F?._zod?.optin==="optional",q=F?._zod?.optout==="optional";if(z.write(`const ${G} = ${P(B)};`),M&&q)z.write(` if (${G}.issues.length) { if (${T} in input) { payload.issues = payload.issues.concat(${G}.issues.map(iss => ({ @@ -21,7 +21,7 @@ var y7=Object.create;var{getPrototypeOf:u7,defineProperty:W2,getOwnPropertyNames newResult[${T}] = ${G}.value; } - `);else if(!g)z.write(` + `);else if(!M)z.write(` const ${G}_present = ${T} in input; if (${G}.issues.length) { payload.issues = payload.issues.concat(${G}.issues.map(iss => ({ @@ -62,44 +62,44 @@ var y7=Object.create;var{getPrototypeOf:u7,defineProperty:W2,getOwnPropertyNames newResult[${T}] = ${G}.value; } - `)}z.write("payload.value = newResult;"),z.write("return payload;");let Q=z.compile();return(B,G)=>Q(X,B,G)},N,E=q4,I=!M4.jitless,J=I&&bA.value,L=$.catchall,S;_._zod.parse=(X,z)=>{S??(S=j.value);let R=X.value;if(!E(R))return X.issues.push({expected:"object",code:"invalid_type",input:R,inst:_}),X;if(I&&J&&z?.async===!1&&z.jitless!==!0){if(!N)N=D($.shape);if(X=N(X,z),!L)return X;return N8([],R,X,z,S,_)}return U(X,z)}});qD=V("$ZodUnion",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.options.some((j)=>j._zod.optin==="optional")?"optional":void 0),U_(_._zod,"optout",()=>$.options.some((j)=>j._zod.optout==="optional")?"optional":void 0),U_(_._zod,"values",()=>{if($.options.every((j)=>j._zod.values))return new Set($.options.flatMap((j)=>Array.from(j._zod.values)));return}),U_(_._zod,"pattern",()=>{if($.options.every((j)=>j._zod.pattern)){let j=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${j.map((D)=>TD(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 N=!1,E=[];for(let I of $.options){let W=I._zod.run({value:j.value,issues:[]},D);if(W instanceof Promise)E.push(W),N=!0;else{if(W.issues.length===0)return W;E.push(W)}}if(!N)return m9(E,j,_,D);return Promise.all(E).then((I)=>{return m9(I,j,_,D)})}});FJ=V("$ZodXor",(_,$)=>{qD.init(_,$),$.inclusive=!1;let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(j,D)=>{if(U)return U(j,D);let N=!1,E=[];for(let I of $.options){let W=I._zod.run({value:j.value,issues:[]},D);if(W instanceof Promise)E.push(W),N=!0;else E.push(W)}if(!N)return n9(E,j,_,D);return Promise.all(E).then((I)=>{return n9(I,j,_,D)})}}),KJ=V("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,qD.init(_,$);let U=_._zod.parse;U_(_._zod,"propValues",()=>{let D={};for(let N of $.options){let E=N._zod.propValues;if(!E||Object.keys(E).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(N)}"`);for(let[I,W]of Object.entries(E)){if(!D[I])D[I]=new Set;for(let J of W)D[I].add(J)}}return D});let j=d0(()=>{let D=$.options,N=new Map;for(let E of D){let I=E._zod.propValues?.[$.discriminator];if(!I||I.size===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(E)}"`);for(let W of I){if(N.has(W))throw Error(`Duplicate discriminator value "${String(W)}"`);N.set(W,E)}}return N});_._zod.parse=(D,N)=>{let E=D.value;if(!q4(E))return D.issues.push({code:"invalid_type",expected:"object",input:E,inst:_}),D;let I=j.value.get(E?.[$.discriminator]);if(I)return I._zod.run(D,N);if($.unionFallback||N.direction==="backward")return U(D,N);return D.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(j.value.keys()),input:E,path:[$.discriminator],inst:_}),D}}),gJ=V("$ZodIntersection",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{let D=U.value,N=$.left._zod.run({value:D,issues:[]},j),E=$.right._zod.run({value:D,issues:[]},j);if(N instanceof Promise||E instanceof Promise)return Promise.all([N,E]).then(([W,J])=>{return d9(U,W,J)});return d9(U,N,E)}});GN=V("$ZodTuple",(_,$)=>{p.init(_,$);let U=$.items;_._zod.parse=(j,D)=>{let N=j.value;if(!Array.isArray(N))return j.issues.push({input:N,inst:_,expected:"tuple",code:"invalid_type"}),j;j.value=[];let E=[],I=l9(U,"optin"),W=l9(U,"optout");if(!$.rest){if(N.length<I)return j.issues.push({code:"too_small",minimum:I,inclusive:!0,input:N,inst:_,origin:"array"}),j;if(N.length>U.length)j.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:N,inst:_,origin:"array"})}let J=Array(U.length);for(let L=0;L<U.length;L++){let S=U[L]._zod.run({value:N[L],issues:[]},D);if(S instanceof Promise)E.push(S.then((X)=>{J[L]=X}));else J[L]=S}if($.rest){let L=U.length-1,S=N.slice(U.length);for(let X of S){L++;let z=$.rest._zod.run({value:X,issues:[]},D);if(z instanceof Promise)E.push(z.then((R)=>i9(R,j,L)));else i9(z,j,L)}}if(E.length)return Promise.all(E).then(()=>t9(J,j,U,N,W));return t9(J,j,U,N,W)}});MJ=V("$ZodRecord",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{let D=U.value;if(!d6(D))return U.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),U;let N=[],E=$.keyType._zod.values;if(E){U.value={};let I=new Set;for(let J of E)if(typeof J==="string"||typeof J==="number"||typeof J==="symbol"){I.add(typeof J==="number"?J.toString():J);let L=$.keyType._zod.run({value:J,issues:[]},j);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:L.issues.map((z)=>_$(z,j,C_())),input:J,path:[J],inst:_});continue}let S=L.value,X=$.valueType._zod.run({value:D[J],issues:[]},j);if(X instanceof Promise)N.push(X.then((z)=>{if(z.issues.length)U.issues.push(...I$(J,z.issues));U.value[S]=z.value}));else{if(X.issues.length)U.issues.push(...I$(J,X.issues));U.value[S]=X.value}}let W;for(let J in D)if(!I.has(J))W=W??[],W.push(J);if(W&&W.length>0)U.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:W})}else{U.value={};for(let I of Reflect.ownKeys(D)){if(I==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,I))continue;let W=$.keyType._zod.run({value:I,issues:[]},j);if(W instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof I==="string"&&gD.test(I)&&W.issues.length){let S=$.keyType._zod.run({value:Number(I),issues:[]},j);if(S instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(S.issues.length===0)W=S}if(W.issues.length){if($.mode==="loose")U.value[I]=D[I];else U.issues.push({code:"invalid_key",origin:"record",issues:W.issues.map((S)=>_$(S,j,C_())),input:I,path:[I],inst:_});continue}let L=$.valueType._zod.run({value:D[I],issues:[]},j);if(L instanceof Promise)N.push(L.then((S)=>{if(S.issues.length)U.issues.push(...I$(I,S.issues));U.value[W.value]=S.value}));else{if(L.issues.length)U.issues.push(...I$(I,L.issues));U.value[W.value]=L.value}}}if(N.length)return Promise.all(N).then(()=>U);return U}}),ZJ=V("$ZodMap",(_,$)=>{p.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 N=[];U.value=new Map;for(let[E,I]of D){let W=$.keyType._zod.run({value:E,issues:[]},j),J=$.valueType._zod.run({value:I,issues:[]},j);if(W instanceof Promise||J instanceof Promise)N.push(Promise.all([W,J]).then(([L,S])=>{o9(L,S,U,E,D,_,j)}));else o9(W,J,U,E,D,_,j)}if(N.length)return Promise.all(N).then(()=>U);return U}});HJ=V("$ZodSet",(_,$)=>{p.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 N=[];U.value=new Set;for(let E of D){let I=$.valueType._zod.run({value:E,issues:[]},j);if(I instanceof Promise)N.push(I.then((W)=>p9(W,U)));else p9(I,U)}if(N.length)return Promise.all(N).then(()=>U);return U}});qJ=V("$ZodEnum",(_,$)=>{p.init(_,$);let U=GD($.entries),j=new Set(U);_._zod.values=j,_._zod.pattern=new RegExp(`^(${U.filter((D)=>VD.has(typeof D)).map((D)=>typeof D==="string"?F$(D):D.toString()).join("|")})$`),_._zod.parse=(D,N)=>{let E=D.value;if(j.has(E))return D;return D.issues.push({code:"invalid_value",values:U,input:E,inst:_}),D}}),kJ=V("$ZodLiteral",(_,$)=>{if(p.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"?F$(j):j?F$(j.toString()):String(j)).join("|")})$`),_._zod.parse=(j,D)=>{let N=j.value;if(U.has(N))return j;return j.issues.push({code:"invalid_value",values:$.values,input:N,inst:_}),j}}),CJ=V("$ZodFile",(_,$)=>{p.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}}),bJ=V("$ZodTransform",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.parse=(U,j)=>{if(j.direction==="backward")throw new Z4(_.constructor.name);let D=$.transform(U.value,U);if(j.async)return(D instanceof Promise?D:Promise.resolve(D)).then((E)=>{return U.value=E,U.fallback=!0,U});if(D instanceof Promise)throw new s$;return U.value=D,U.fallback=!0,U}});TN=V("$ZodOptional",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.optout="optional",U_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${TD(U.source)})?$`):void 0}),_._zod.parse=(U,j)=>{if($.innerType._zod.optin==="optional"){let D=U.value,N=$.innerType._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>a9(E,D));return a9(N,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,j)}}),wJ=V("$ZodExactOptional",(_,$)=>{TN.init(_,$),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,j)=>{return $.innerType._zod.run(U,j)}}),vJ=V("$ZodNullable",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.innerType._zod.optin),U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${TD(U.source)}|null)$`):void 0}),U_(_._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)}}),fJ=V("$ZodDefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._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((N)=>e9(N,$));return e9(D,$)}});xJ=V("$ZodPrefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._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)}}),yJ=V("$ZodNonOptional",(_,$)=>{p.init(_,$),U_(_._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((N)=>s9(N,_));return s9(D,_)}});uJ=V("$ZodSuccess",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{if(j.direction==="backward")throw new Z4("ZodSuccess");let D=$.innerType._zod.run(U,j);if(D instanceof Promise)return D.then((N)=>{return U.value=N.issues.length===0,U});return U.value=D.issues.length===0,U}}),hJ=V("$ZodCatch",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._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((N)=>{if(U.value=N.value,N.issues.length)U.value=$.catchValue({...U,error:{issues:N.issues.map((E)=>_$(E,j,C_()))},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((N)=>_$(N,j,C_()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),rJ=V("$ZodNaN",(_,$)=>{p.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}}),VN=V("$ZodPipe",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,j)=>{if(j.direction==="backward"){let N=$.out._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>ON(E,$.in,j));return ON(N,$.in,j)}let D=$.in._zod.run(U,j);if(D instanceof Promise)return D.then((N)=>ON(N,$.out,j));return ON(D,$.out,j)}});kD=V("$ZodCodec",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,j)=>{if((j.direction||"forward")==="forward"){let N=$.in._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>zN(E,$,j));return zN(N,$,j)}else{let N=$.out._zod.run(U,j);if(N instanceof Promise)return N.then((E)=>zN(E,$,j));return zN(N,$,j)}}});cJ=V("$ZodPreprocess",(_,$)=>{VN.init(_,$)}),mJ=V("$ZodReadonly",(_,$)=>{p.init(_,$),U_(_._zod,"propValues",()=>$.innerType._zod.propValues),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"optin",()=>$.innerType?._zod?.optin),U_(_._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(_8);return _8(D)}});nJ=V("$ZodTemplateLiteral",(_,$)=>{p.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 N=D.startsWith("^")?1:0,E=D.endsWith("$")?D.length-1:D.length;U.push(D.slice(N,E))}else if(j===null||vA.has(typeof j))U.push(F$(`${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}}),dJ=V("$ZodFunction",(_,$)=>{return p.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?ej(_._def.input,j):j,N=Reflect.apply(U,this,D);if(_._def.output)return ej(_._def.output,N);return N}},_.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...j){let D=_._def.input?await sj(_._def.input,j):j,N=await Reflect.apply(U,this,D);if(_._def.output)return await sj(_._def.output,N);return N}},_._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 GN({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})},_}),lJ=V("$ZodPromise",(_,$)=>{p.init(_,$),_._zod.parse=(U,j)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},j))}}),iJ=V("$ZodLazy",(_,$)=>{p.init(_,$),U_(_._zod,"innerType",()=>{let U=$;if(!U._cachedInner)U._cachedInner=$.getter();return U._cachedInner}),U_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),U_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),U_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),U_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(U,j)=>{return _._zod.innerType._zod.run(U,j)}}),tJ=V("$ZodCustom",(_,$)=>{V_.init(_,$),p.init(_,$),_._zod.parse=(U,j)=>{return U},_._zod.check=(U)=>{let j=U.value,D=$.fn(j);if(D instanceof Promise)return D.then((N)=>$8(N,U,j,_));$8(D,U,j,_);return}})});function pJ(){return{localeError:oM()}}var oM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${I}`}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 ${M(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: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${N} ${D.maximum.toString()} ${E.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"} ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N} ${D.minimum.toString()} ${E.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 ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`${U[N.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":""}: ${K(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 I8=f(()=>{m()});function aJ(){return{localeError:pM()}}var pM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${I}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${N}, daxil olan ${I}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${M(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${N}${D.maximum.toString()} ${E.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${N}${D.minimum.toString()} ${E.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${N.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(N.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${N.suffix}" il\u0259 bitm\u0259lidir`;if(N.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${N.includes}" daxil olmal\u0131d\u0131r`;if(N.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${N.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[N.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":""}: ${K(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 A8=f(()=>{m()});function W8(_,$,U,j){let D=Math.abs(_),N=D%10,E=D%100;if(E>=11&&E<=19)return j;if(N===1)return $;if(N>=2&&N<=4)return U;return j}function eJ(){return{localeError:aM()}}var aM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${N}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E){let I=Number(D.maximum),W=W8(I,E.unit.one,E.unit.few,E.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 ${E.verb} ${N}${D.maximum.toString()} ${W}`}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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E){let I=Number(D.minimum),W=W8(I,E.unit.one,E.unit.few,E.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 ${E.verb} ${N}${D.minimum.toString()} ${W}`}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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[N.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"}: ${K(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 J8=f(()=>{m()});function sJ(){return{localeError:eM()}}var eM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${N}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;let E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(N.format==="emoji")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(N.format==="datetime")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(N.format==="date")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(N.format==="time")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(N.format==="duration")E="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${E} ${U[N.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":""}: ${K(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 L8=f(()=>{m()});function _L(){return{localeError:sM()}}var sM=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${I}`;return`Tipus inv\xE0lid: s'esperava ${N}, s'ha rebut ${I}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${M(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${K(D.values," o ")}`;case"too_big":{let N=D.inclusive?"com a m\xE0xim":"menys de",E=$(D.origin);if(E)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${N} ${D.maximum.toString()} ${E.unit??"elements"}`;return`Massa gran: s'esperava que ${D.origin??"el valor"} fos ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?"com a m\xEDnim":"m\xE9s de",E=$(D.origin);if(E)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${N} ${D.minimum.toString()} ${E.unit}`;return`Massa petit: s'esperava que ${D.origin} fos ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${N.prefix}"`;if(N.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${N.suffix}"`;if(N.format==="includes")return`Format inv\xE0lid: ha d'incloure "${N.includes}"`;if(N.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${N.pattern}`;return`Format inv\xE0lid per a ${U[N.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":""}: ${K(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 S8=f(()=>{m()});function $L(){return{localeError:_Z()}}var _Z=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${I}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${N}, obdr\u017Eeno ${I}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${M(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${N}${D.maximum.toString()} ${E.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${N}${D.minimum.toString()} ${E.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${N.prefix}"`;if(N.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${N.suffix}"`;if(N.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${N.includes}"`;if(N.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${N.pattern}`;return`Neplatn\xFD form\xE1t ${U[N.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: ${K(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 P8=f(()=>{m()});function UL(){return{localeError:$Z()}}var $Z=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${I}`;return`Ugyldigt input: forventede ${N}, fik ${I}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${M(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`For stor: forventede ${I??"value"} ${E.verb} ${N} ${D.maximum.toString()} ${E.unit??"elementer"}`;return`For stor: forventede ${I??"value"} havde ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`For lille: forventede ${I} ${E.verb} ${N} ${D.minimum.toString()} ${E.unit}`;return`For lille: forventede ${I} havde ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ugyldig streng: skal starte med "${N.prefix}"`;if(N.format==="ends_with")return`Ugyldig streng: skal ende med "${N.suffix}"`;if(N.format==="includes")return`Ugyldig streng: skal indeholde "${N.includes}"`;if(N.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${N.pattern}`;return`Ugyldig ${U[N.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"}: ${K(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 O8=f(()=>{m()});function DL(){return{localeError:UZ()}}var UZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${I}`;return`Ung\xFCltige Eingabe: erwartet ${N}, erhalten ${I}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${M(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${N}${D.maximum.toString()} ${E.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${N}${D.maximum.toString()} ist`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Zu klein: erwartet, dass ${D.origin} ${N}${D.minimum.toString()} ${E.unit} hat`;return`Zu klein: erwartet, dass ${D.origin} ${N}${D.minimum.toString()} ist`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ung\xFCltiger String: muss mit "${N.prefix}" beginnen`;if(N.format==="ends_with")return`Ung\xFCltiger String: muss mit "${N.suffix}" enden`;if(N.format==="includes")return`Ung\xFCltiger String: muss "${N.includes}" enthalten`;if(N.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${N.pattern} entsprechen`;return`Ung\xFCltig: ${U[N.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"}: ${K(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 z8=f(()=>{m()});function jL(){return{localeError:DZ()}}var DZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[N.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"}: ${K(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 X8=f(()=>{m()});function CD(){return{localeError:jZ()}}var jZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;return`Invalid input: expected ${N}, received ${I}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${M(D.values[0])}`;return`Invalid option: expected one of ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Too big: expected ${D.origin??"value"} to have ${N}${D.maximum.toString()} ${E.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Too small: expected ${D.origin} to have ${N}${D.minimum.toString()} ${E.unit}`;return`Too small: expected ${D.origin} to be ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Invalid string: must start with "${N.prefix}"`;if(N.format==="ends_with")return`Invalid string: must end with "${N.suffix}"`;if(N.format==="includes")return`Invalid string: must include "${N.includes}"`;if(N.format==="regex")return`Invalid string: must match pattern ${N.pattern}`;return`Invalid ${U[N.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":""}: ${K(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((E)=>`'${E}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var NL=f(()=>{m()});function EL(){return{localeError:NZ()}}var NZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${I}`;return`Nevalida enigo: atendi\u011Dis ${N}, ricevi\u011Dis ${I}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${M(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${N}${D.maximum.toString()} ${E.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${N}${D.minimum.toString()} ${E.unit}`;return`Tro malgranda: atendi\u011Dis ke ${D.origin} estu ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${N.prefix}"`;if(N.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${N.suffix}"`;if(N.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${N.includes}"`;if(N.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${N.pattern}`;return`Nevalida ${U[N.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":""}: ${K(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 Y8=f(()=>{m()});function IL(){return{localeError:EZ()}}var EZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${I}`;return`Entrada inv\xE1lida: se esperaba ${N}, recibido ${I}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${M(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Demasiado grande: se esperaba que ${I??"valor"} tuviera ${N}${D.maximum.toString()} ${E.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${I??"valor"} fuera ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Demasiado peque\xF1o: se esperaba que ${I} tuviera ${N}${D.minimum.toString()} ${E.unit}`;return`Demasiado peque\xF1o: se esperaba que ${I} fuera ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${N.prefix}"`;if(N.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${N.suffix}"`;if(N.format==="includes")return`Cadena inv\xE1lida: debe incluir "${N.includes}"`;if(N.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${N.pattern}`;return`Inv\xE1lido ${U[N.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":""}: ${K(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 R8=f(()=>{m()});function AL(){return{localeError:IZ()}}var IZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I} \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 ${N} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${I} \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 ${M(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 ${K(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} ${E.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${N.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(N.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${N.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(N.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${N.includes}" \u0628\u0627\u0634\u062F`;if(N.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 ${N.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[N.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: ${K(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 Q8=f(()=>{m()});function WL(){return{localeError:AZ()}}var AZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${I}`;return`Virheellinen tyyppi: odotettiin ${N}, oli ${I}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${M(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Liian suuri: ${E.subject} t\xE4ytyy olla ${N}${D.maximum.toString()} ${E.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Liian pieni: ${E.subject} t\xE4ytyy olla ${N}${D.minimum.toString()} ${E.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${N.prefix}"`;if(N.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${N.suffix}"`;if(N.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${N.includes}"`;if(N.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${N.pattern}`;return`Virheellinen ${U[N.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"}: ${K(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 G8=f(()=>{m()});function JL(){return{localeError:WZ()}}var WZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${I} re\xE7u`;return`Entr\xE9e invalide : ${N} attendu, ${I} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${M(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${K(D.values,"|")} attendue`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Trop grand : ${j[D.origin]??"valeur"} doit ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${j[D.origin]??"valeur"} doit \xEAtre ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Trop petit : ${j[D.origin]??"valeur"} doit ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Trop petit : ${j[D.origin]??"valeur"} doit \xEAtre ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${N.prefix}"`;if(N.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${N.suffix}"`;if(N.format==="includes")return`Cha\xEEne invalide : doit inclure "${N.includes}"`;if(N.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${N.pattern}`;return`${U[N.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":""} : ${K(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 T8=f(()=>{m()});function LL(){return{localeError:JZ()}}var JZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${I}`;return`Entr\xE9e invalide : attendu ${N}, re\xE7u ${I}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${M(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"\u2264":"<",E=$(D.origin);if(E)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${N}${D.maximum.toString()} ${E.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?"\u2265":">",E=$(D.origin);if(E)return`Trop petit : attendu que ${D.origin} ait ${N}${D.minimum.toString()} ${E.unit}`;return`Trop petit : attendu que ${D.origin} soit ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${N.prefix}"`;if(N.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${N.suffix}"`;if(N.format==="includes")return`Cha\xEEne invalide : doit inclure "${N.includes}"`;if(N.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${N.pattern}`;return`${U[N.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":""} : ${K(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 V8=f(()=>{m()});function SL(){return{localeError:LZ()}}var LZ=()=>{let _={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},$={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(J)=>J?_[J]:void 0,j=(J)=>{let L=U(J);if(L)return L.label;return J??_.unknown.label},D=(J)=>`\u05D4${j(J)}`,N=(J)=>{return(U(J)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},E=(J)=>{if(!J)return null;return $[J]??null},I={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"}},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let L=J.expected,S=W[L??""]??j(L),X=Z(J.input),z=W[X]??_[X]?.label??X;if(/^[A-Z]/.test(J.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${J.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${S}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`}case"invalid_value":{if(J.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${M(J.values[0])}`;let L=J.values.map((z)=>M(z));if(J.values.length===2)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${L[0]} \u05D0\u05D5 ${L[1]}`;let S=L[L.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 ${L.slice(0,-1).join(", ")} \u05D0\u05D5 ${S}`}case"too_big":{let L=E(J.origin),S=D(J.origin??"value");if(J.origin==="string")return`${L?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${J.maximum.toString()} ${L?.unit??""} ${J.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(J.origin==="number"){let R=J.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${J.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${J.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${R}`}if(J.origin==="array"||J.origin==="set"){let R=J.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",P=J.inclusive?`${J.maximum} ${L?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${J.maximum} ${L?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${S} ${R} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=J.inclusive?"<=":"<",z=N(J.origin??"value");if(L?.unit)return`${L.longLabel} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.maximum.toString()} ${L.unit}`;return`${L?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.maximum.toString()}`}case"too_small":{let L=E(J.origin),S=D(J.origin??"value");if(J.origin==="string")return`${L?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${J.minimum.toString()} ${L?.unit??""} ${J.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(J.origin==="number"){let R=J.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${J.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${J.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${R}`}if(J.origin==="array"||J.origin==="set"){let R=J.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(J.minimum===1&&J.inclusive){let O=J.origin==="set"?"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3":"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} ${R} \u05DC\u05D4\u05DB\u05D9\u05DC ${O}`}let P=J.inclusive?`${J.minimum} ${L?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${J.minimum} ${L?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} ${R} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=J.inclusive?">=":">",z=N(J.origin??"value");if(L?.unit)return`${L.shortLabel} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.minimum.toString()} ${L.unit}`;return`${L?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.minimum.toString()}`}case"invalid_format":{let L=J;if(L.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${L.prefix}"`;if(L.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${L.suffix}"`;if(L.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${L.includes}"`;if(L.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 ${L.pattern}`;let S=I[L.format],X=S?.label??L.format,R=(S?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${X} \u05DC\u05D0 ${R}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${J.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${J.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${J.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${K(J.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${D(J.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var B8=f(()=>{m()});function PL(){return{localeError:SZ()}}var SZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${I}`;return`Neispravan unos: o\u010Dekuje se ${N}, a primljeno je ${I}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${M(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Preveliko: o\u010Dekivano da ${I??"vrijednost"} ima ${N}${D.maximum.toString()} ${E.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${I??"vrijednost"} bude ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=j[D.origin]??D.origin;if(E)return`Premalo: o\u010Dekivano da ${I} ima ${N}${D.minimum.toString()} ${E.unit}`;return`Premalo: o\u010Dekivano da ${I} bude ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${N.prefix}"`;if(N.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${N.suffix}"`;if(N.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${N.includes}"`;if(N.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${N.pattern}`;return`Neispravna ${U[N.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"}: ${K(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 F8=f(()=>{m()});function OL(){return{localeError:PZ()}}var PZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${I}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${N}, a kapott \xE9rt\xE9k ${I}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${M(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${N}${D.maximum.toString()} ${E.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${D.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${N}${D.minimum.toString()} ${E.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} t\xFAl kicsi ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\xC9rv\xE9nytelen string: "${N.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(N.format==="ends_with")return`\xC9rv\xE9nytelen string: "${N.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(N.format==="includes")return`\xC9rv\xE9nytelen string: "${N.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(N.format==="regex")return`\xC9rv\xE9nytelen string: ${N.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[N.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":""}: ${K(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 K8=f(()=>{m()});function g8(_,$,U){return Math.abs(_)===1?$:U}function _U(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function zL(){return{localeError:OZ()}}var OZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E){let I=Number(D.maximum),W=g8(I,E.unit.one,E.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 ${_U(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${N}${D.maximum.toString()} ${W}`}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 ${_U(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E){let I=Number(D.minimum),W=g8(I,E.unit.one,E.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 ${_U(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${N}${D.minimum.toString()} ${W}`}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 ${_U(D.origin)} \u056C\u056B\u0576\u056B ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${N.prefix}"-\u0578\u057E`;if(N.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${N.suffix}"-\u0578\u057E`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[N.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":""}. ${K(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${_U(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 ${_U(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var M8=f(()=>{m()});function XL(){return{localeError:zZ()}}var zZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${I}`;return`Input tidak valid: diharapkan ${N}, diterima ${I}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${M(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${N}${D.maximum.toString()} ${E.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${N}${D.minimum.toString()} ${E.unit}`;return`Terlalu kecil: diharapkan ${D.origin} menjadi ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`String tidak valid: harus dimulai dengan "${N.prefix}"`;if(N.format==="ends_with")return`String tidak valid: harus berakhir dengan "${N.suffix}"`;if(N.format==="includes")return`String tidak valid: harus menyertakan "${N.includes}"`;if(N.format==="regex")return`String tidak valid: harus sesuai pola ${N.pattern}`;return`${U[N.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":""}: ${K(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 Z8=f(()=>{m()});function YL(){return{localeError:XZ()}}var XZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${I} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${I} \xFEar sem \xE1 a\xF0 vera ${N}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${M(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${N}${D.maximum.toString()} ${E.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} s\xE9 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${N}${D.minimum.toString()} ${E.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} s\xE9 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${N.prefix}"`;if(N.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${N.suffix}"`;if(N.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${N.includes}"`;if(N.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${N.pattern}`;return`Rangt ${U[N.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"}: ${K(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 H8=f(()=>{m()});function RL(){return{localeError:YZ()}}var YZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${I}`;return`Input non valido: atteso ${N}, ricevuto ${I}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${M(D.values[0])}`;return`Opzione non valida: atteso uno tra ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Troppo grande: ${D.origin??"valore"} deve avere ${N}${D.maximum.toString()} ${E.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Troppo piccolo: ${D.origin} deve avere ${N}${D.minimum.toString()} ${E.unit}`;return`Troppo piccolo: ${D.origin} deve essere ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Stringa non valida: deve iniziare con "${N.prefix}"`;if(N.format==="ends_with")return`Stringa non valida: deve terminare con "${N.suffix}"`;if(N.format==="includes")return`Stringa non valida: deve includere "${N.includes}"`;if(N.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${N.pattern}`;return`Input non valido: ${U[N.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"}: ${K(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 q8=f(()=>{m()});function QL(){return{localeError:RZ()}}var RZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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${I}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${N}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${I}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${M(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${K(D.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let N=D.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",E=$(D.origin);if(E)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${E.unit??"\u8981\u7D20"}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let N=D.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",E=$(D.origin);if(E)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${E.unit}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${N}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${N.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(N.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${N.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(N.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${N.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(N.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${N.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[N.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":""}: ${K(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 k8=f(()=>{m()});function GL(){return{localeError:QZ()}}var QZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${I}`}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 ${M(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 ${K(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${E.verb} ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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} ${E.verb} ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"-\u10D8\u10D7`;if(N.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 "${N.suffix}"-\u10D8\u10D7`;if(N.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 "${N.includes}"-\u10E1`;if(N.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 ${N.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[N.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"}: ${K(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 C8=f(()=>{m()});function bD(){return{localeError:GZ()}}var GZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${N} ${D.maximum.toString()} ${E.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"} ${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${N} ${D.minimum.toString()} ${E.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[N.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 ${K(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 TL=f(()=>{m()});function VL(){return bD()}var b8=f(()=>{TL()});function BL(){return{localeError:TZ()}}var TZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${N}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${I}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${M(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${K(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let N=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",E=N==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",I=$(D.origin),W=I?.unit??"\uC694\uC18C";if(I)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${W} ${N}${E}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${N}${E}`}case"too_small":{let N=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",E=N==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",I=$(D.origin),W=I?.unit??"\uC694\uC18C";if(I)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${W} ${N}${E}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${N}${E}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${N.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(N.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${N.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(N.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${N.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(N.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${N.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[N.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: ${K(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 w8=f(()=>{m()});function v8(_){let $=Math.abs(_),U=$%10,j=$%100;if(j>=11&&j<=19||U===0)return"many";if(U===1)return"one";return"few"}function FL(){return{localeError:VZ()}}var wD=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},VZ=()=>{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,N,E,I){let W=_[D]??null;if(W===null)return W;return{unit:W.unit[N],verb:W.verb[I][E?"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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${I}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${I}, o tik\u0117tasi - ${N}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${M(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${K(D.values,"|")} pasirinkim\u0173`;case"too_big":{let N=j[D.origin]??D.origin,E=$(D.origin,v8(Number(D.maximum)),D.inclusive??!1,"smaller");if(E?.verb)return`${wD(N??D.origin??"reik\u0161m\u0117")} ${E.verb} ${D.maximum.toString()} ${E.unit??"element\u0173"}`;let I=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${wD(N??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${I} ${D.maximum.toString()} ${E?.unit}`}case"too_small":{let N=j[D.origin]??D.origin,E=$(D.origin,v8(Number(D.minimum)),D.inclusive??!1,"bigger");if(E?.verb)return`${wD(N??D.origin??"reik\u0161m\u0117")} ${E.verb} ${D.minimum.toString()} ${E.unit??"element\u0173"}`;let I=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${wD(N??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${I} ${D.minimum.toString()} ${E?.unit}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${N.prefix}"`;if(N.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${N.suffix}"`;if(N.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${N.includes}"`;if(N.format==="regex")return`Eilut\u0117 privalo atitikti ${N.pattern}`;return`Neteisingas ${U[N.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"}: ${K(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let N=j[D.origin]??D.origin;return`${wD(N??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var f8=f(()=>{m()});function KL(){return{localeError:BZ()}}var BZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${N}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${I}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`Invalid ${U[N.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"}: ${K(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 x8=f(()=>{m()});function gL(){return{localeError:FZ()}}var FZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${I}`;return`Input tidak sah: dijangka ${N}, diterima ${I}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${M(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Terlalu kecil: dijangka ${D.origin} ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Terlalu kecil: dijangka ${D.origin} adalah ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`String tidak sah: mesti bermula dengan "${N.prefix}"`;if(N.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${N.suffix}"`;if(N.format==="includes")return`String tidak sah: mesti mengandungi "${N.includes}"`;if(N.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${N.pattern}`;return`${U[N.format]??D.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${K(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 y8=f(()=>{m()});function ML(){return{localeError:KZ()}}var KZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${I}`;return`Ongeldige invoer: verwacht ${N}, ontving ${I}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${M(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin),I=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(E)return`Te ${I}: verwacht dat ${D.origin??"waarde"} ${N}${D.maximum.toString()} ${E.unit??"elementen"} ${E.verb}`;return`Te ${I}: verwacht dat ${D.origin??"waarde"} ${N}${D.maximum.toString()} is`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin),I=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(E)return`Te ${I}: verwacht dat ${D.origin} ${N}${D.minimum.toString()} ${E.unit} ${E.verb}`;return`Te ${I}: verwacht dat ${D.origin} ${N}${D.minimum.toString()} is`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ongeldige tekst: moet met "${N.prefix}" beginnen`;if(N.format==="ends_with")return`Ongeldige tekst: moet op "${N.suffix}" eindigen`;if(N.format==="includes")return`Ongeldige tekst: moet "${N.includes}" bevatten`;if(N.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${N.pattern}`;return`Ongeldig: ${U[N.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":""}: ${K(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 u8=f(()=>{m()});function ZL(){return{localeError:gZ()}}var gZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${I}`;return`Ugyldig input: forventet ${N}, fikk ${I}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${M(D.values[0])}`;return`Ugyldig valg: forventet en av ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${N}${D.maximum.toString()} ${E.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`For lite(n): forventet ${D.origin} til \xE5 ha ${N}${D.minimum.toString()} ${E.unit}`;return`For lite(n): forventet ${D.origin} til \xE5 ha ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${N.prefix}"`;if(N.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${N.suffix}"`;if(N.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${N.includes}"`;if(N.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${N.pattern}`;return`Ugyldig ${U[N.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"}: ${K(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 h8=f(()=>{m()});function HL(){return{localeError:MZ()}}var MZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${I}`;return`F\xE2sit giren: umulan ${N}, al\u0131nan ${I}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${M(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${N}${D.maximum.toString()} ${E.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${N}${D.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${N}${D.minimum.toString()} ${E.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${N}${D.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`F\xE2sit metin: "${N.prefix}" ile ba\u015Flamal\u0131.`;if(N.format==="ends_with")return`F\xE2sit metin: "${N.suffix}" ile bitmeli.`;if(N.format==="includes")return`F\xE2sit metin: "${N.includes}" ihtiv\xE2 etmeli.`;if(N.format==="regex")return`F\xE2sit metin: ${N.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[N.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":""}: ${K(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 r8=f(()=>{m()});function qL(){return{localeError:ZZ()}}var ZZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${N} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${I} \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 ${M(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 ${K(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()} \u0648\u064A`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} ${E.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${N}${D.minimum.toString()} \u0648\u064A`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${N.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(N.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${N.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(N.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${N.includes}" \u0648\u0644\u0631\u064A`;if(N.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${N.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[N.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"}: ${K(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 c8=f(()=>{m()});function kL(){return{localeError:HZ()}}var HZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${I}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${N}, otrzymano ${I}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${M(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${N}${D.maximum.toString()} ${E.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${N}${D.minimum.toString()} ${E.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${N.prefix}"`;if(N.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${N.suffix}"`;if(N.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${N.includes}"`;if(N.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${N.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[N.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":""}: ${K(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 m8=f(()=>{m()});function CL(){return{localeError:qZ()}}var qZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${I}`;return`Tipo inv\xE1lido: esperado ${N}, recebido ${I}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${M(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${N}${D.maximum.toString()} ${E.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Muito pequeno: esperado que ${D.origin} tivesse ${N}${D.minimum.toString()} ${E.unit}`;return`Muito pequeno: esperado que ${D.origin} fosse ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${N.prefix}"`;if(N.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${N.suffix}"`;if(N.format==="includes")return`Texto inv\xE1lido: deve incluir "${N.includes}"`;if(N.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${N.pattern}`;return`${U[N.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":""}: ${K(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 n8=f(()=>{m()});function bL(){return{localeError:kZ()}}var kZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;return`Intrare invalid\u0103: a\u0219teptat ${N}, primit ${I}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${M(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} s\u0103 fie ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Prea mic: a\u0219teptat ca ${D.origin} ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Prea mic: a\u0219teptat ca ${D.origin} s\u0103 fie ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${N.prefix}"`;if(N.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${N.suffix}"`;if(N.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${N.includes}"`;if(N.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${N.pattern}`;return`Format invalid: ${U[N.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: ${K(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 d8=f(()=>{m()});function l8(_,$,U,j){let D=Math.abs(_),N=D%10,E=D%100;if(E>=11&&E<=19)return j;if(N===1)return $;if(N>=2&&N<=4)return U;return j}function wL(){return{localeError:CZ()}}var CZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${N}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E){let I=Number(D.maximum),W=l8(I,E.unit.one,E.unit.few,E.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 ${N}${D.maximum.toString()} ${W}`}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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E){let I=Number(D.minimum),W=l8(I,E.unit.one,E.unit.few,E.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 ${N}${D.minimum.toString()} ${W}`}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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[N.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":""}: ${K(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 i8=f(()=>{m()});function vL(){return{localeError:bZ()}}var bZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${I}`;return`Neveljaven vnos: pri\u010Dakovano ${N}, prejeto ${I}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${M(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${N}${D.maximum.toString()} ${E.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${N}${D.minimum.toString()} ${E.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${N.prefix}"`;if(N.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${N.suffix}"`;if(N.format==="includes")return`Neveljaven niz: mora vsebovati "${N.includes}"`;if(N.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${N.pattern}`;return`Neveljaven ${U[N.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"}: ${K(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 t8=f(()=>{m()});function fL(){return{localeError:wZ()}}var wZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${I}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${N}, fick ${I}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${M(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${N}${D.maximum.toString()} ${E.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${D.origin??"v\xE4rdet"} att ha ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${N}${D.minimum.toString()} ${E.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${N.prefix}"`;if(N.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${N.suffix}"`;if(N.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${N.includes}"`;if(N.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${N.pattern}"`;return`Ogiltig(t) ${U[N.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"}: ${K(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 o8=f(()=>{m()});function xL(){return{localeError:vZ()}}var vZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${I}`}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 ${M(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 ${K(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${N}${D.maximum.toString()} ${E.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"} ${N}${D.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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} ${N}${D.minimum.toString()} ${E.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} ${N}${D.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${N.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(N.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${N.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(N.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${N.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(N.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${N.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[N.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":""}: ${K(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 p8=f(()=>{m()});function yL(){return{localeError:fZ()}}var fZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",E=$(D.origin);if(E)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${N} ${D.maximum.toString()} ${E.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${N} ${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",E=$(D.origin);if(E)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${N} ${D.minimum.toString()} ${E.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${N} ${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(N.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 ${N.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[N.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: ${K(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 a8=f(()=>{m()});function uL(){return{localeError:xZ()}}var xZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${I}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${N}, al\u0131nan ${I}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${M(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${N}${D.maximum.toString()} ${E.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${N}${D.minimum.toString()} ${E.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Ge\xE7ersiz metin: "${N.prefix}" ile ba\u015Flamal\u0131`;if(N.format==="ends_with")return`Ge\xE7ersiz metin: "${N.suffix}" ile bitmeli`;if(N.format==="includes")return`Ge\xE7ersiz metin: "${N.includes}" i\xE7ermeli`;if(N.format==="regex")return`Ge\xE7ersiz metin: ${N.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[N.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":""}: ${K(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 e8=f(()=>{m()});function vD(){return{localeError:yZ()}}var yZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;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 ${N}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${I}`}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 ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)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"} ${E.verb} ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)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} ${E.verb} ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.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 "${N.suffix}"`;if(N.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 "${N.includes}"`;if(N.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 ${N.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[N.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":""}: ${K(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 hL=f(()=>{m()});function rL(){return vD()}var s8=f(()=>{hL()});function cL(){return{localeError:uZ()}}var uZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${N} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${I} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${M(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${K(D.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${N}${D.maximum.toString()} ${E.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 ${N}${D.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${N}${D.minimum.toString()} ${E.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 ${N}${D.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${N.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(N.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${N.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(N.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${N.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(N.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${N.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[N.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":""}: ${K(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 _Y=f(()=>{m()});function mL(){return{localeError:hZ()}}var hZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${I}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${N}, qabul qilingan ${I}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${M(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${N}${D.maximum.toString()} ${E.unit} ${E.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Juda kichik: kutilgan ${D.origin} ${N}${D.minimum.toString()} ${E.unit} ${E.verb}`;return`Juda kichik: kutilgan ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${N.prefix}" bilan boshlanishi kerak`;if(N.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${N.suffix}" bilan tugashi kerak`;if(N.format==="includes")return`Noto\u2018g\u2018ri satr: "${N.includes}" ni o\u2018z ichiga olishi kerak`;if(N.format==="regex")return`Noto\u2018g\u2018ri satr: ${N.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[N.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":""}: ${K(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 $Y=f(()=>{m()});function nL(){return{localeError:rZ()}}var rZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${N}, nh\u1EADn \u0111\u01B0\u1EE3c ${I}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${M(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 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${E.verb} ${N}${D.maximum.toString()} ${E.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${E.verb} ${N}${D.minimum.toString()} ${E.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${N.prefix}"`;if(N.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${N.suffix}"`;if(N.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${N.includes}"`;if(N.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${N.pattern}`;return`${U[N.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: ${K(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 UY=f(()=>{m()});function dL(){return{localeError:cZ()}}var cZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${I}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${N}\uFF0C\u5B9E\u9645\u63A5\u6536 ${I}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${M(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${N}${D.maximum.toString()} ${E.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${N}${D.minimum.toString()} ${E.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${N.prefix}" \u5F00\u5934`;if(N.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${N.suffix}" \u7ED3\u5C3E`;if(N.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${N.includes}"`;if(N.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${N.pattern}`;return`\u65E0\u6548${U[N.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): ${K(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 DY=f(()=>{m()});function lL(){return{localeError:mZ()}}var mZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${I}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${N}\uFF0C\u4F46\u6536\u5230 ${I}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${M(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${N}${D.maximum.toString()} ${E.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${N}${D.maximum.toString()}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${N}${D.minimum.toString()} ${E.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${N}${D.minimum.toString()}`}case"invalid_format":{let N=D;if(N.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${N.prefix}" \u958B\u982D`;if(N.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${N.suffix}" \u7D50\u5C3E`;if(N.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${N.includes}"`;if(N.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${N.pattern}`;return`\u7121\u6548\u7684 ${U[N.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${K(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 jY=f(()=>{m()});function iL(){return{localeError:nZ()}}var nZ=()=>{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 N=j[D.expected]??D.expected,E=Z(D.input),I=j[E]??E;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 ${I}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${N}, \xE0m\u1ECD\u0300 a r\xED ${I}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${M(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${K(D.values,"|")}`;case"too_big":{let N=D.inclusive?"<=":"<",E=$(D.origin);if(E)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${E.verb} ${N}${D.maximum} ${E.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${N}${D.maximum}`}case"too_small":{let N=D.inclusive?">=":">",E=$(D.origin);if(E)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${E.verb} ${N}${D.minimum} ${E.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${N}${D.minimum}`}case"invalid_format":{let N=D;if(N.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 "${N.prefix}"`;if(N.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${N.suffix}"`;if(N.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${N.includes}"`;if(N.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${N.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[N.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: ${K(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 NY=f(()=>{m()});var $U={};l$($U,{zhTW:()=>lL,zhCN:()=>dL,yo:()=>iL,vi:()=>nL,uz:()=>mL,ur:()=>cL,uk:()=>vD,ua:()=>rL,tr:()=>uL,th:()=>yL,ta:()=>xL,sv:()=>fL,sl:()=>vL,ru:()=>wL,ro:()=>bL,pt:()=>CL,ps:()=>qL,pl:()=>kL,ota:()=>HL,no:()=>ZL,nl:()=>ML,ms:()=>gL,mk:()=>KL,lt:()=>FL,ko:()=>BL,km:()=>bD,kh:()=>VL,ka:()=>GL,ja:()=>QL,it:()=>RL,is:()=>YL,id:()=>XL,hy:()=>zL,hu:()=>OL,hr:()=>PL,he:()=>SL,frCA:()=>LL,fr:()=>JL,fi:()=>WL,fa:()=>AL,es:()=>IL,eo:()=>EL,en:()=>CD,el:()=>jL,de:()=>DL,da:()=>UL,cs:()=>$L,ca:()=>_L,bg:()=>sJ,be:()=>eJ,az:()=>aJ,ar:()=>pJ});var tL=f(()=>{I8();A8();J8();L8();S8();P8();O8();z8();X8();NL();Y8();R8();Q8();G8();T8();V8();B8();F8();K8();M8();Z8();H8();q8();k8();C8();b8();TL();w8();f8();x8();y8();u8();h8();r8();c8();m8();n8();d8();i8();t8();o8();p8();a8();e8();s8();hL();_Y();$Y();UY();DY();jY();NY()});class oL{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 fD(){return new oL}var EY,BN,FN,m_;var xD=f(()=>{BN=Symbol("ZodOutput"),FN=Symbol("ZodInput");(EY=globalThis).__zod_globalRegistry??(EY.__zod_globalRegistry=fD());m_=globalThis.__zod_globalRegistry});function pL(_,$){return new _({type:"string",...w($)})}function aL(_,$){return new _({type:"string",coerce:!0,...w($)})}function KN(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...w($)})}function yD(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...w($)})}function gN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...w($)})}function MN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...w($)})}function ZN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...w($)})}function HN(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...w($)})}function uD(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...w($)})}function qN(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...w($)})}function kN(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...w($)})}function CN(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...w($)})}function bN(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...w($)})}function wN(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...w($)})}function vN(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...w($)})}function fN(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...w($)})}function xN(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...w($)})}function yN(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...w($)})}function eL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...w($)})}function uN(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...w($)})}function hN(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...w($)})}function rN(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...w($)})}function cN(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...w($)})}function mN(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...w($)})}function nN(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...w($)})}function sL(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...w($)})}function _S(_,$){return new _({type:"string",format:"date",check:"string_format",...w($)})}function $S(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...w($)})}function US(_,$){return new _({type:"string",format:"duration",check:"string_format",...w($)})}function DS(_,$){return new _({type:"number",checks:[],...w($)})}function jS(_,$){return new _({type:"number",coerce:!0,checks:[],...w($)})}function NS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...w($)})}function ES(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...w($)})}function IS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...w($)})}function AS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...w($)})}function WS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...w($)})}function JS(_,$){return new _({type:"boolean",...w($)})}function LS(_,$){return new _({type:"boolean",coerce:!0,...w($)})}function SS(_,$){return new _({type:"bigint",...w($)})}function PS(_,$){return new _({type:"bigint",coerce:!0,...w($)})}function OS(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...w($)})}function zS(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...w($)})}function XS(_,$){return new _({type:"symbol",...w($)})}function YS(_,$){return new _({type:"undefined",...w($)})}function RS(_,$){return new _({type:"null",...w($)})}function QS(_){return new _({type:"any"})}function GS(_){return new _({type:"unknown"})}function TS(_,$){return new _({type:"never",...w($)})}function VS(_,$){return new _({type:"void",...w($)})}function BS(_,$){return new _({type:"date",...w($)})}function FS(_,$){return new _({type:"date",coerce:!0,...w($)})}function KS(_,$){return new _({type:"nan",...w($)})}function b$(_,$){return new JN({check:"less_than",...w($),value:_,inclusive:!1})}function J$(_,$){return new JN({check:"less_than",...w($),value:_,inclusive:!0})}function w$(_,$){return new LN({check:"greater_than",...w($),value:_,inclusive:!1})}function t_(_,$){return new LN({check:"greater_than",...w($),value:_,inclusive:!0})}function hD(_){return w$(0,_)}function rD(_){return b$(0,_)}function cD(_){return J$(0,_)}function mD(_){return t_(0,_)}function V6(_,$){return new QW({check:"multiple_of",...w($),value:_})}function B6(_,$){return new VW({check:"max_size",...w($),maximum:_})}function v$(_,$){return new BW({check:"min_size",...w($),minimum:_})}function i6(_,$){return new FW({check:"size_equals",...w($),size:_})}function t6(_,$){return new KW({check:"max_length",...w($),maximum:_})}function _6(_,$){return new gW({check:"min_length",...w($),minimum:_})}function o6(_,$){return new MW({check:"length_equals",...w($),length:_})}function b4(_,$){return new ZW({check:"string_format",format:"regex",...w($),pattern:_})}function w4(_){return new HW({check:"string_format",format:"lowercase",...w(_)})}function v4(_){return new qW({check:"string_format",format:"uppercase",...w(_)})}function f4(_,$){return new kW({check:"string_format",format:"includes",...w($),includes:_})}function x4(_,$){return new CW({check:"string_format",format:"starts_with",...w($),prefix:_})}function y4(_,$){return new bW({check:"string_format",format:"ends_with",...w($),suffix:_})}function nD(_,$,U){return new wW({check:"property",property:_,schema:$,...w(U)})}function u4(_,$){return new vW({check:"mime_type",mime:_,...w($)})}function K$(_){return new fW({check:"overwrite",tx:_})}function h4(_){return K$(($)=>$.normalize(_))}function r4(){return K$((_)=>_.trim())}function c4(){return K$((_)=>_.toLowerCase())}function m4(){return K$((_)=>_.toUpperCase())}function n4(){return K$((_)=>CA(_))}function gS(_,$,U){return new _({type:"array",element:$,...w(U)})}function lZ(_,$,U){return new _({type:"union",options:$,...w(U)})}function iZ(_,$,U){return new _({type:"union",options:$,inclusive:!1,...w(U)})}function tZ(_,$,U,j){return new _({type:"union",options:U,discriminator:$,...w(j)})}function oZ(_,$,U){return new _({type:"intersection",left:$,right:U})}function pZ(_,$,U,j){let D=U instanceof p;return new _({type:"tuple",items:$,rest:D?U:null,...w(D?j:U)})}function aZ(_,$,U,j){return new _({type:"record",keyType:$,valueType:U,...w(j)})}function eZ(_,$,U,j){return new _({type:"map",keyType:$,valueType:U,...w(j)})}function sZ(_,$,U){return new _({type:"set",valueType:$,...w(U)})}function _H(_,$,U){let j=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:j,...w(U)})}function $H(_,$,U){return new _({type:"enum",entries:$,...w(U)})}function UH(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...w(U)})}function MS(_,$){return new _({type:"file",...w($)})}function DH(_,$){return new _({type:"transform",transform:$})}function jH(_,$){return new _({type:"optional",innerType:$})}function NH(_,$){return new _({type:"nullable",innerType:$})}function EH(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():wA(U)}})}function IH(_,$,U){return new _({type:"nonoptional",innerType:$,...w(U)})}function AH(_,$){return new _({type:"success",innerType:$})}function WH(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function JH(_,$,U){return new _({type:"pipe",in:$,out:U})}function LH(_,$){return new _({type:"readonly",innerType:$})}function SH(_,$,U){return new _({type:"template_literal",parts:$,...w(U)})}function PH(_,$){return new _({type:"lazy",getter:$})}function OH(_,$){return new _({type:"promise",innerType:$})}function ZS(_,$,U){let j=w(U);return j.abort??(j.abort=!0),new _({type:"custom",check:"custom",fn:$,...j})}function HS(_,$,U){return new _({type:"custom",check:"custom",fn:$,...w(U)})}function qS(_,$){let U=IY((j)=>{return j.addIssue=(D)=>{if(typeof D==="string")j.issues.push(l0(D,j.value,U._zod.def));else{let N=D;if(N.fatal)N.continue=!1;N.code??(N.code="custom"),N.input??(N.input=j.value),N.inst??(N.inst=U),N.continue??(N.continue=!U._zod.def.abort),j.issues.push(l0(N))}},_(j.value,j)},$);return U}function IY(_,$){let U=new V_({check:"custom",...w($)});return U._zod.check=_,U}function kS(_){let $=new V_({check:"describe"});return $._zod.onattach=[(U)=>{let j=m_.get(U)??{};m_.add(U,{...j,description:_})}],$._zod.check=()=>{},$}function CS(_){let $=new V_({check:"meta"});return $._zod.onattach=[(U)=>{let j=m_.get(U)??{};m_.add(U,{...j,..._})}],$._zod.check=()=>{},$}function bS(_,$){let U=w($),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((z)=>typeof z==="string"?z.toLowerCase():z),D=D.map((z)=>typeof z==="string"?z.toLowerCase():z);let N=new Set(j),E=new Set(D),I=_.Codec??kD,W=_.Boolean??HD,L=new(_.String??C4)({type:"string",error:U.error}),S=new W({type:"boolean",error:U.error}),X=new I({type:"pipe",in:L,out:S,transform:(z,R)=>{let P=z;if(U.case!=="sensitive")P=P.toLowerCase();if(N.has(P))return!0;else if(E.has(P))return!1;else return R.issues.push({code:"invalid_value",expected:"stringbool",values:[...N,...E],input:R.value,inst:X,continue:!1}),{}},reverseTransform:(z,R)=>{if(z===!0)return j[0]||"true";else return D[0]||"false"},error:U.error});return X}function UU(_,$,U,j={}){let D=w(j),N={...w(j),check:"string_format",type:"string",format:$,fn:typeof U==="function"?U:(I)=>U.test(I),...D};if(U instanceof RegExp)N.pattern=U;return new _(N)}var dN;var AY=f(()=>{SN();xD();oJ();m();dN={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function p6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??m_,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 P_(_,$,U={path:[],schemaPath:[]}){var j;let D=_._zod.def,N=$.seen.get(_);if(N){if(N.count++,U.schemaPath.includes(_))N.cycle=U.path;return N.schema}let E={schema:{},count:1,cycle:void 0,path:U.path};$.seen.set(_,E);let I=_._zod.toJSONSchema?.();if(I)E.schema=I;else{let L={...U,schemaPath:[...U.schemaPath,_],path:U.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,E.schema,L);else{let X=E.schema,z=$.processors[D.type];if(!z)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);z(_,$,X,L)}let S=_._zod.parent;if(S){if(!E.ref)E.ref=S;P_(S,$,L),$.seen.get(S).isParent=!0}}let W=$.metadataRegistry.get(_);if(W)Object.assign(E.schema,W);if($.io==="input"&&$$(_))delete E.schema.examples,delete E.schema.default;if($.io==="input"&&"_prefault"in E.schema)(j=E.schema).default??(j.default=E.schema._prefault);return delete E.schema._prefault,$.seen.get(_).schema}function a6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let j=new Map;for(let E of _.seen.entries()){let I=_.metadataRegistry.get(E[0])?.id;if(I){let W=j.get(I);if(W&&W!==E[0])throw Error(`Duplicate schema id "${I}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);j.set(I,E[0])}}let D=(E)=>{let I=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let S=_.external.registry.get(E[0])?.id,X=_.external.uri??((R)=>R);if(S)return{ref:X(S)};let z=E[1].defId??E[1].schema.id??`schema${_.counter++}`;return E[1].defId=z,{defId:z,ref:`${X("__shared")}#/${I}/${z}`}}if(E[1]===U)return{ref:"#"};let J=`${"#"}/${I}/`,L=E[1].schema.id??`__schema${_.counter++}`;return{defId:L,ref:J+L}},N=(E)=>{if(E[1].schema.$ref)return;let I=E[1],{ref:W,defId:J}=D(E);if(I.def={...I.schema},J)I.defId=J;let L=I.schema;for(let S in L)delete L[S];L.$ref=W};if(_.cycles==="throw")for(let E of _.seen.entries()){let I=E[1];if(I.cycle)throw Error(`Cycle detected: #/${I.cycle?.join("/")}/<root> + `)}z.write("payload.value = newResult;"),z.write("return payload;");let Q=z.compile();return(B,G)=>Q(X,B,G)},j,I=q4,E=!g4.jitless,J=E&&wA.value,L=$.catchall,S;_._zod.parse=(X,z)=>{S??(S=N.value);let Y=X.value;if(!I(Y))return X.issues.push({expected:"object",code:"invalid_type",input:Y,inst:_}),X;if(E&&J&&z?.async===!1&&z.jitless!==!0){if(!j)j=D($.shape);if(X=j(X,z),!L)return X;return I8([],Y,X,z,S,_)}return U(X,z)}});qD=V("$ZodUnion",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.options.some((N)=>N._zod.optin==="optional")?"optional":void 0),U_(_._zod,"optout",()=>$.options.some((N)=>N._zod.optout==="optional")?"optional":void 0),U_(_._zod,"values",()=>{if($.options.every((N)=>N._zod.values))return new Set($.options.flatMap((N)=>Array.from(N._zod.values)));return}),U_(_._zod,"pattern",()=>{if($.options.every((N)=>N._zod.pattern)){let N=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${N.map((D)=>TD(D.source)).join("|")})$`)}return});let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(N,D)=>{if(U)return U(N,D);let j=!1,I=[];for(let E of $.options){let W=E._zod.run({value:N.value,issues:[]},D);if(W instanceof Promise)I.push(W),j=!0;else{if(W.issues.length===0)return W;I.push(W)}}if(!j)return n9(I,N,_,D);return Promise.all(I).then((E)=>{return n9(E,N,_,D)})}});KJ=V("$ZodXor",(_,$)=>{qD.init(_,$),$.inclusive=!1;let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(N,D)=>{if(U)return U(N,D);let j=!1,I=[];for(let E of $.options){let W=E._zod.run({value:N.value,issues:[]},D);if(W instanceof Promise)I.push(W),j=!0;else I.push(W)}if(!j)return d9(I,N,_,D);return Promise.all(I).then((E)=>{return d9(E,N,_,D)})}}),MJ=V("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,qD.init(_,$);let U=_._zod.parse;U_(_._zod,"propValues",()=>{let D={};for(let j of $.options){let I=j._zod.propValues;if(!I||Object.keys(I).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(j)}"`);for(let[E,W]of Object.entries(I)){if(!D[E])D[E]=new Set;for(let J of W)D[E].add(J)}}return D});let N=d0(()=>{let D=$.options,j=new Map;for(let I of D){let E=I._zod.propValues?.[$.discriminator];if(!E||E.size===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(I)}"`);for(let W of E){if(j.has(W))throw Error(`Duplicate discriminator value "${String(W)}"`);j.set(W,I)}}return j});_._zod.parse=(D,j)=>{let I=D.value;if(!q4(I))return D.issues.push({code:"invalid_type",expected:"object",input:I,inst:_}),D;let E=N.value.get(I?.[$.discriminator]);if(E)return E._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(N.value.keys()),input:I,path:[$.discriminator],inst:_}),D}}),gJ=V("$ZodIntersection",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value,j=$.left._zod.run({value:D,issues:[]},N),I=$.right._zod.run({value:D,issues:[]},N);if(j instanceof Promise||I instanceof Promise)return Promise.all([j,I]).then(([W,J])=>{return l9(U,W,J)});return l9(U,j,I)}});Tj=V("$ZodTuple",(_,$)=>{p.init(_,$);let U=$.items;_._zod.parse=(N,D)=>{let j=N.value;if(!Array.isArray(j))return N.issues.push({input:j,inst:_,expected:"tuple",code:"invalid_type"}),N;N.value=[];let I=[],E=i9(U,"optin"),W=i9(U,"optout");if(!$.rest){if(j.length<E)return N.issues.push({code:"too_small",minimum:E,inclusive:!0,input:j,inst:_,origin:"array"}),N;if(j.length>U.length)N.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:j,inst:_,origin:"array"})}let J=Array(U.length);for(let L=0;L<U.length;L++){let S=U[L]._zod.run({value:j[L],issues:[]},D);if(S instanceof Promise)I.push(S.then((X)=>{J[L]=X}));else J[L]=S}if($.rest){let L=U.length-1,S=j.slice(U.length);for(let X of S){L++;let z=$.rest._zod.run({value:X,issues:[]},D);if(z instanceof Promise)I.push(z.then((Y)=>t9(Y,N,L)));else t9(z,N,L)}}if(I.length)return Promise.all(I).then(()=>o9(J,N,U,j,W));return o9(J,N,U,j,W)}});ZJ=V("$ZodRecord",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(!d6(D))return U.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),U;let j=[],I=$.keyType._zod.values;if(I){U.value={};let E=new Set;for(let J of I)if(typeof J==="string"||typeof J==="number"||typeof J==="symbol"){E.add(typeof J==="number"?J.toString():J);let L=$.keyType._zod.run({value:J,issues:[]},N);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:L.issues.map((z)=>_$(z,N,C_())),input:J,path:[J],inst:_});continue}let S=L.value,X=$.valueType._zod.run({value:D[J],issues:[]},N);if(X instanceof Promise)j.push(X.then((z)=>{if(z.issues.length)U.issues.push(...E$(J,z.issues));U.value[S]=z.value}));else{if(X.issues.length)U.issues.push(...E$(J,X.issues));U.value[S]=X.value}}let W;for(let J in D)if(!E.has(J))W=W??[],W.push(J);if(W&&W.length>0)U.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:W})}else{U.value={};for(let E of Reflect.ownKeys(D)){if(E==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,E))continue;let W=$.keyType._zod.run({value:E,issues:[]},N);if(W instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof E==="string"&&MD.test(E)&&W.issues.length){let S=$.keyType._zod.run({value:Number(E),issues:[]},N);if(S instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(S.issues.length===0)W=S}if(W.issues.length){if($.mode==="loose")U.value[E]=D[E];else U.issues.push({code:"invalid_key",origin:"record",issues:W.issues.map((S)=>_$(S,N,C_())),input:E,path:[E],inst:_});continue}let L=$.valueType._zod.run({value:D[E],issues:[]},N);if(L instanceof Promise)j.push(L.then((S)=>{if(S.issues.length)U.issues.push(...E$(E,S.issues));U.value[W.value]=S.value}));else{if(L.issues.length)U.issues.push(...E$(E,L.issues));U.value[W.value]=L.value}}}if(j.length)return Promise.all(j).then(()=>U);return U}}),HJ=V("$ZodMap",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{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[I,E]of D){let W=$.keyType._zod.run({value:I,issues:[]},N),J=$.valueType._zod.run({value:E,issues:[]},N);if(W instanceof Promise||J instanceof Promise)j.push(Promise.all([W,J]).then(([L,S])=>{p9(L,S,U,I,D,_,N)}));else p9(W,J,U,I,D,_,N)}if(j.length)return Promise.all(j).then(()=>U);return U}});qJ=V("$ZodSet",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{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 I of D){let E=$.valueType._zod.run({value:I,issues:[]},N);if(E instanceof Promise)j.push(E.then((W)=>a9(W,U)));else a9(E,U)}if(j.length)return Promise.all(j).then(()=>U);return U}});kJ=V("$ZodEnum",(_,$)=>{p.init(_,$);let U=GD($.entries),N=new Set(U);_._zod.values=N,_._zod.pattern=new RegExp(`^(${U.filter((D)=>VD.has(typeof D)).map((D)=>typeof D==="string"?F$(D):D.toString()).join("|")})$`),_._zod.parse=(D,j)=>{let I=D.value;if(N.has(I))return D;return D.issues.push({code:"invalid_value",values:U,input:I,inst:_}),D}}),bJ=V("$ZodLiteral",(_,$)=>{if(p.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((N)=>typeof N==="string"?F$(N):N?F$(N.toString()):String(N)).join("|")})$`),_._zod.parse=(N,D)=>{let j=N.value;if(U.has(j))return N;return N.issues.push({code:"invalid_value",values:$.values,input:j,inst:_}),N}}),CJ=V("$ZodFile",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(D instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:D,inst:_}),U}}),wJ=V("$ZodTransform",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new Z4(_.constructor.name);let D=$.transform(U.value,U);if(N.async)return(D instanceof Promise?D:Promise.resolve(D)).then((I)=>{return U.value=I,U.fallback=!0,U});if(D instanceof Promise)throw new s$;return U.value=D,U.fallback=!0,U}});Vj=V("$ZodOptional",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.optout="optional",U_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${TD(U.source)})?$`):void 0}),_._zod.parse=(U,N)=>{if($.innerType._zod.optin==="optional"){let D=U.value,j=$.innerType._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>e9(I,D));return e9(j,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,N)}}),vJ=V("$ZodExactOptional",(_,$)=>{Vj.init(_,$),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,N)=>{return $.innerType._zod.run(U,N)}}),fJ=V("$ZodNullable",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.innerType._zod.optin),U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${TD(U.source)}|null)$`):void 0}),U_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,null]):void 0}),_._zod.parse=(U,N)=>{if(U.value===null)return U;return $.innerType._zod.run(U,N)}}),xJ=V("$ZodDefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);if(U.value===void 0)return U.value=$.defaultValue,U;let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>s9(j,$));return s9(D,$)}});yJ=V("$ZodPrefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);if(U.value===void 0)U.value=$.defaultValue;return $.innerType._zod.run(U,N)}}),uJ=V("$ZodNonOptional",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>{let U=$.innerType._zod.values;return U?new Set([...U].filter((N)=>N!==void 0)):void 0}),_._zod.parse=(U,N)=>{let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>_8(j,_));return _8(D,_)}});hJ=V("$ZodSuccess",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new Z4("ZodSuccess");let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>{return U.value=j.issues.length===0,U});return U.value=D.issues.length===0,U}}),rJ=V("$ZodCatch",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);let D=$.innerType._zod.run(U,N);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((I)=>_$(I,N,C_()))},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,N,C_()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),cJ=V("$ZodNaN",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{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}}),Bj=V("$ZodPipe",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,N)=>{if(N.direction==="backward"){let j=$.out._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>zj(I,$.in,N));return zj(j,$.in,N)}let D=$.in._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>zj(j,$.out,N));return zj(D,$.out,N)}});kD=V("$ZodCodec",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,N)=>{if((N.direction||"forward")==="forward"){let j=$.in._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>Xj(I,$,N));return Xj(j,$,N)}else{let j=$.out._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>Xj(I,$,N));return Xj(j,$,N)}}});mJ=V("$ZodPreprocess",(_,$)=>{Bj.init(_,$)}),nJ=V("$ZodReadonly",(_,$)=>{p.init(_,$),U_(_._zod,"propValues",()=>$.innerType._zod.propValues),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"optin",()=>$.innerType?._zod?.optin),U_(_._zod,"optout",()=>$.innerType?._zod?.optout),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then($8);return $8(D)}});dJ=V("$ZodTemplateLiteral",(_,$)=>{p.init(_,$);let U=[];for(let N of $.parts)if(typeof N==="object"&&N!==null){if(!N._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...N._zod.traits].shift()}`);let D=N._zod.pattern instanceof RegExp?N._zod.pattern.source:N._zod.pattern;if(!D)throw Error(`Invalid template literal part: ${N._zod.traits}`);let j=D.startsWith("^")?1:0,I=D.endsWith("$")?D.length-1:D.length;U.push(D.slice(j,I))}else if(N===null||fA.has(typeof N))U.push(F$(`${N}`));else throw Error(`Invalid template literal part: ${N}`);_._zod.pattern=new RegExp(`^${U.join("")}$`),_._zod.parse=(N,D)=>{if(typeof N.value!=="string")return N.issues.push({input:N.value,inst:_,expected:"string",code:"invalid_type"}),N;if(_._zod.pattern.lastIndex=0,!_._zod.pattern.test(N.value))return N.issues.push({input:N.value,inst:_,code:"invalid_format",format:$.format??"template_literal",pattern:_._zod.pattern.source}),N;return N}}),lJ=V("$ZodFunction",(_,$)=>{return p.init(_,$),_._def=$,_._zod.def=$,_.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...N){let D=_._def.input?sN(_._def.input,N):N,j=Reflect.apply(U,this,D);if(_._def.output)return sN(_._def.output,j);return j}},_.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...N){let D=_._def.input?await _j(_._def.input,N):N,j=await Reflect.apply(U,this,D);if(_._def.output)return await _j(_._def.output,j);return j}},_._zod.parse=(U,N)=>{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 N=_.constructor;if(Array.isArray(U[0]))return new N({type:"function",input:new Tj({type:"tuple",items:U[0],rest:U[1]}),output:_._def.output});return new N({type:"function",input:U[0],output:_._def.output})},_.output=(U)=>{return new _.constructor({type:"function",input:_._def.input,output:U})},_}),iJ=V("$ZodPromise",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},N))}}),tJ=V("$ZodLazy",(_,$)=>{p.init(_,$),U_(_._zod,"innerType",()=>{let U=$;if(!U._cachedInner)U._cachedInner=$.getter();return U._cachedInner}),U_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),U_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),U_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),U_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(U,N)=>{return _._zod.innerType._zod.run(U,N)}}),oJ=V("$ZodCustom",(_,$)=>{B_.init(_,$),p.init(_,$),_._zod.parse=(U,N)=>{return U},_._zod.check=(U)=>{let N=U.value,D=$.fn(N);if(D instanceof Promise)return D.then((j)=>U8(j,U,N,_));U8(D,U,N,_);return}})});function aJ(){return{localeError:_Z()}}var _Z=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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()} ${I.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?">=":">",I=$(D.origin);if(I)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()} ${I.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":""}: ${K(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 A8=f(()=>{m()});function eJ(){return{localeError:$Z()}}var $Z=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${E}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${j}, daxil olan ${E}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${g(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 W8=f(()=>{m()});function J8(_,$,U,N){let D=Math.abs(_),j=D%10,I=D%100;if(I>=11&&I<=19)return N;if(j===1)return $;if(j>=2&&j<=4)return U;return N}function sJ(){return{localeError:UZ()}}var UZ=()=>{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"},N={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I){let E=Number(D.maximum),W=J8(E,I.unit.one,I.unit.few,I.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 ${I.verb} ${j}${D.maximum.toString()} ${W}`}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?">=":">",I=$(D.origin);if(I){let E=Number(D.minimum),W=J8(E,I.unit.one,I.unit.few,I.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 ${I.verb} ${j}${D.minimum.toString()} ${W}`}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"}: ${K(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 L8=f(()=>{m()});function _L(){return{localeError:DZ()}}var DZ=()=>{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"},N={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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()} ${I.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?">=":">",I=$(D.origin);if(I)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()} ${I.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 I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(j.format==="emoji")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="datetime")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="date")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(j.format==="time")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="duration")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${I} ${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":""}: ${K(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 S8=f(()=>{m()});function $L(){return{localeError:NZ()}}var NZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${E}`;return`Tipus inv\xE0lid: s'esperava ${j}, s'ha rebut ${E}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${g(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${K(D.values," o ")}`;case"too_big":{let j=D.inclusive?"com a m\xE0xim":"menys de",I=$(D.origin);if(I)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${j} ${D.maximum.toString()} ${I.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",I=$(D.origin);if(I)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${j} ${D.minimum.toString()} ${I.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":""}: ${K(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 P8=f(()=>{m()});function UL(){return{localeError:jZ()}}var jZ=()=>{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"},N={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${E}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${j}, obdr\u017Eeno ${E}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${g(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${j}${D.minimum.toString()} ${I.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: ${K(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 O8=f(()=>{m()});function DL(){return{localeError:IZ()}}var IZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${E}`;return`Ugyldigt input: forventede ${j}, fik ${E}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${g(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`For stor: forventede ${E??"value"} ${I.verb} ${j} ${D.maximum.toString()} ${I.unit??"elementer"}`;return`For stor: forventede ${E??"value"} havde ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`For lille: forventede ${E} ${I.verb} ${j} ${D.minimum.toString()} ${I.unit}`;return`For lille: forventede ${E} 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"}: ${K(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 z8=f(()=>{m()});function NL(){return{localeError:EZ()}}var EZ=()=>{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"},N={nan:"NaN",number:"Zahl",array:"Array"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${E}`;return`Ung\xFCltige Eingabe: erwartet ${j}, erhalten ${E}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${g(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${j}${D.maximum.toString()} ${I.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${j}${D.maximum.toString()} ist`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Zu klein: erwartet, dass ${D.origin} ${j}${D.minimum.toString()} ${I.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"}: ${K(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 X8=f(()=>{m()});function jL(){return{localeError:AZ()}}var AZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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()} ${I.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?">=":">",I=$(D.origin);if(I)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()} ${I.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"}: ${K(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 R8=f(()=>{m()});function bD(){return{localeError:WZ()}}var WZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;return`Invalid input: expected ${j}, received ${E}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${g(D.values[0])}`;return`Invalid option: expected one of ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Too big: expected ${D.origin??"value"} to have ${j}${D.maximum.toString()} ${I.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Too small: expected ${D.origin} to have ${j}${D.minimum.toString()} ${I.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":""}: ${K(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((I)=>`'${I}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var IL=f(()=>{m()});function EL(){return{localeError:JZ()}}var JZ=()=>{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"},N={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${E}`;return`Nevalida enigo: atendi\u011Dis ${j}, ricevi\u011Dis ${E}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${g(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${j}${D.maximum.toString()} ${I.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 Y8=f(()=>{m()});function AL(){return{localeError:LZ()}}var LZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${E}`;return`Entrada inv\xE1lida: se esperaba ${j}, recibido ${E}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${g(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Demasiado grande: se esperaba que ${E??"valor"} tuviera ${j}${D.maximum.toString()} ${I.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${E??"valor"} fuera ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Demasiado peque\xF1o: se esperaba que ${E} tuviera ${j}${D.minimum.toString()} ${I.unit}`;return`Demasiado peque\xF1o: se esperaba que ${E} 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":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${N[D.origin]??D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${N[D.origin]??D.origin}`;default:return"Entrada inv\xE1lida"}}};var Q8=f(()=>{m()});function WL(){return{localeError:SZ()}}var SZ=()=>{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"},N={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E} \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 ${E} \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 ${g(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 ${K(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} ${I.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: ${K(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 G8=f(()=>{m()});function JL(){return{localeError:PZ()}}var PZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${E}`;return`Virheellinen tyyppi: odotettiin ${j}, oli ${E}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${g(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Liian suuri: ${I.subject} t\xE4ytyy olla ${j}${D.maximum.toString()} ${I.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Liian pieni: ${I.subject} t\xE4ytyy olla ${j}${D.minimum.toString()} ${I.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"}: ${K(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 T8=f(()=>{m()});function LL(){return{localeError:OZ()}}var OZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${E} re\xE7u`;return`Entr\xE9e invalide : ${j} attendu, ${E} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${g(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${K(D.values,"|")} attendue`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Trop grand : ${N[D.origin]??"valeur"} doit ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${N[D.origin]??"valeur"} doit \xEAtre ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Trop petit : ${N[D.origin]??"valeur"} doit ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`Trop petit : ${N[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":""} : ${K(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 V8=f(()=>{m()});function SL(){return{localeError:zZ()}}var zZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${E}`;return`Entr\xE9e invalide : attendu ${j}, re\xE7u ${E}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${g(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"\u2264":"<",I=$(D.origin);if(I)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${j}${D.maximum.toString()} ${I.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"\u2265":">",I=$(D.origin);if(I)return`Trop petit : attendu que ${D.origin} ait ${j}${D.minimum.toString()} ${I.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":""} : ${K(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 B8=f(()=>{m()});function PL(){return{localeError:XZ()}}var XZ=()=>{let _={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},$={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(J)=>J?_[J]:void 0,N=(J)=>{let L=U(J);if(L)return L.label;return J??_.unknown.label},D=(J)=>`\u05D4${N(J)}`,j=(J)=>{return(U(J)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},I=(J)=>{if(!J)return null;return $[J]??null},E={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"}},W={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let L=J.expected,S=W[L??""]??N(L),X=Z(J.input),z=W[X]??_[X]?.label??X;if(/^[A-Z]/.test(J.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${J.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${S}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`}case"invalid_value":{if(J.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${g(J.values[0])}`;let L=J.values.map((z)=>g(z));if(J.values.length===2)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${L[0]} \u05D0\u05D5 ${L[1]}`;let S=L[L.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 ${L.slice(0,-1).join(", ")} \u05D0\u05D5 ${S}`}case"too_big":{let L=I(J.origin),S=D(J.origin??"value");if(J.origin==="string")return`${L?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${J.maximum.toString()} ${L?.unit??""} ${J.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(J.origin==="number"){let Y=J.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${J.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${J.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${Y}`}if(J.origin==="array"||J.origin==="set"){let Y=J.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",P=J.inclusive?`${J.maximum} ${L?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${J.maximum} ${L?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${S} ${Y} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=J.inclusive?"<=":"<",z=j(J.origin??"value");if(L?.unit)return`${L.longLabel} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.maximum.toString()} ${L.unit}`;return`${L?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.maximum.toString()}`}case"too_small":{let L=I(J.origin),S=D(J.origin??"value");if(J.origin==="string")return`${L?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${J.minimum.toString()} ${L?.unit??""} ${J.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(J.origin==="number"){let Y=J.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${J.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${J.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${Y}`}if(J.origin==="array"||J.origin==="set"){let Y=J.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(J.minimum===1&&J.inclusive){let O=J.origin==="set"?"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3":"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} ${Y} \u05DC\u05D4\u05DB\u05D9\u05DC ${O}`}let P=J.inclusive?`${J.minimum} ${L?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${J.minimum} ${L?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${S} ${Y} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=J.inclusive?">=":">",z=j(J.origin??"value");if(L?.unit)return`${L.shortLabel} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.minimum.toString()} ${L.unit}`;return`${L?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${S} ${z} ${X}${J.minimum.toString()}`}case"invalid_format":{let L=J;if(L.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${L.prefix}"`;if(L.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${L.suffix}"`;if(L.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${L.includes}"`;if(L.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 ${L.pattern}`;let S=E[L.format],X=S?.label??L.format,Y=(S?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${X} \u05DC\u05D0 ${Y}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${J.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${J.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${J.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${K(J.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${D(J.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var F8=f(()=>{m()});function OL(){return{localeError:RZ()}}var RZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${E}`;return`Neispravan unos: o\u010Dekuje se ${j}, a primljeno je ${E}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${g(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Preveliko: o\u010Dekivano da ${E??"vrijednost"} ima ${j}${D.maximum.toString()} ${I.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${E??"vrijednost"} bude ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Premalo: o\u010Dekivano da ${E} ima ${j}${D.minimum.toString()} ${I.unit}`;return`Premalo: o\u010Dekivano da ${E} 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"}: ${K(D.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${N[D.origin]??D.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${N[D.origin]??D.origin}`;default:return"Neispravan unos"}}};var K8=f(()=>{m()});function zL(){return{localeError:YZ()}}var YZ=()=>{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"},N={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${E}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${j}, a kapott \xE9rt\xE9k ${E}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${g(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 M8=f(()=>{m()});function g8(_,$,U){return Math.abs(_)===1?$:U}function _U(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function XL(){return{localeError:QZ()}}var QZ=()=>{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"},N={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I){let E=Number(D.maximum),W=g8(E,I.unit.one,I.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 ${_U(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${j}${D.maximum.toString()} ${W}`}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 ${_U(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I){let E=Number(D.minimum),W=g8(E,I.unit.one,I.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 ${_U(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${j}${D.minimum.toString()} ${W}`}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 ${_U(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":""}. ${K(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${_U(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 ${_U(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var Z8=f(()=>{m()});function RL(){return{localeError:GZ()}}var GZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${E}`;return`Input tidak valid: diharapkan ${j}, diterima ${E}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${g(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${j}${D.maximum.toString()} ${I.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 H8=f(()=>{m()});function YL(){return{localeError:TZ()}}var TZ=()=>{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"},N={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${E} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${E} \xFEar sem \xE1 a\xF0 vera ${j}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${g(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${j}${D.minimum.toString()} ${I.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"}: ${K(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 q8=f(()=>{m()});function QL(){return{localeError:VZ()}}var VZ=()=>{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"},N={nan:"NaN",number:"numero",array:"vettore"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${E}`;return`Input non valido: atteso ${j}, ricevuto ${E}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${g(D.values[0])}`;return`Opzione non valida: atteso uno tra ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Troppo grande: ${D.origin??"valore"} deve avere ${j}${D.maximum.toString()} ${I.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Troppo piccolo: ${D.origin} deve avere ${j}${D.minimum.toString()} ${I.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"}: ${K(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 k8=f(()=>{m()});function GL(){return{localeError:BZ()}}var BZ=()=>{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"},N={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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${E}\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${E}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${g(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${K(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",I=$(D.origin);if(I)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${I.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",I=$(D.origin);if(I)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${I.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":""}: ${K(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 b8=f(()=>{m()});function TL(){return{localeError:FZ()}}var FZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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"} ${I.verb} ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)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} ${I.verb} ${j}${D.minimum.toString()} ${I.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"}: ${K(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 C8=f(()=>{m()});function CD(){return{localeError:KZ()}}var KZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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()} ${I.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?">=":">",I=$(D.origin);if(I)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${j} ${D.minimum.toString()} ${I.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 ${K(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 VL=f(()=>{m()});function BL(){return CD()}var w8=f(()=>{VL()});function FL(){return{localeError:MZ()}}var MZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${j}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${E}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${g(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${K(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let j=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",I=j==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",E=$(D.origin),W=E?.unit??"\uC694\uC18C";if(E)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${W} ${j}${I}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${j}${I}`}case"too_small":{let j=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",I=j==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",E=$(D.origin),W=E?.unit??"\uC694\uC18C";if(E)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${W} ${j}${I}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${j}${I}`}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: ${K(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 v8=f(()=>{m()});function f8(_){let $=Math.abs(_),U=$%10,N=$%100;if(N>=11&&N<=19||U===0)return"many";if(U===1)return"one";return"few"}function KL(){return{localeError:gZ()}}var wD=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},gZ=()=>{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,I,E){let W=_[D]??null;if(W===null)return W;return{unit:W.unit[j],verb:W.verb[E][I?"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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${E}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${E}, o tik\u0117tasi - ${j}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${g(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${K(D.values,"|")} pasirinkim\u0173`;case"too_big":{let j=N[D.origin]??D.origin,I=$(D.origin,f8(Number(D.maximum)),D.inclusive??!1,"smaller");if(I?.verb)return`${wD(j??D.origin??"reik\u0161m\u0117")} ${I.verb} ${D.maximum.toString()} ${I.unit??"element\u0173"}`;let E=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${wD(j??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${E} ${D.maximum.toString()} ${I?.unit}`}case"too_small":{let j=N[D.origin]??D.origin,I=$(D.origin,f8(Number(D.minimum)),D.inclusive??!1,"bigger");if(I?.verb)return`${wD(j??D.origin??"reik\u0161m\u0117")} ${I.verb} ${D.minimum.toString()} ${I.unit??"element\u0173"}`;let E=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${wD(j??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${E} ${D.minimum.toString()} ${I?.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"}: ${K(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let j=N[D.origin]??D.origin;return`${wD(j??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var x8=f(()=>{m()});function ML(){return{localeError:ZZ()}}var ZZ=()=>{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"},N={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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()} ${I.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?">=":">",I=$(D.origin);if(I)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()} ${I.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"}: ${K(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 y8=f(()=>{m()});function gL(){return{localeError:HZ()}}var HZ=()=>{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"},N={nan:"NaN",number:"nombor"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${E}`;return`Input tidak sah: dijangka ${j}, diterima ${E}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${g(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Terlalu kecil: dijangka ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.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: ${K(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 u8=f(()=>{m()});function ZL(){return{localeError:qZ()}}var qZ=()=>{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"},N={nan:"NaN",number:"getal"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${E}`;return`Ongeldige invoer: verwacht ${j}, ontving ${E}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${g(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(I)return`Te ${E}: verwacht dat ${D.origin??"waarde"} ${j}${D.maximum.toString()} ${I.unit??"elementen"} ${I.verb}`;return`Te ${E}: verwacht dat ${D.origin??"waarde"} ${j}${D.maximum.toString()} is`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(I)return`Te ${E}: verwacht dat ${D.origin} ${j}${D.minimum.toString()} ${I.unit} ${I.verb}`;return`Te ${E}: 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":""}: ${K(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 h8=f(()=>{m()});function HL(){return{localeError:kZ()}}var kZ=()=>{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"},N={nan:"NaN",number:"tall",array:"liste"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${E}`;return`Ugyldig input: forventet ${j}, fikk ${E}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${g(D.values[0])}`;return`Ugyldig valg: forventet en av ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${j}${D.maximum.toString()} ${I.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`For lite(n): forventet ${D.origin} til \xE5 ha ${j}${D.minimum.toString()} ${I.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"}: ${K(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 r8=f(()=>{m()});function qL(){return{localeError:bZ()}}var bZ=()=>{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"},N={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${E}`;return`F\xE2sit giren: umulan ${j}, al\u0131nan ${E}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${g(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 c8=f(()=>{m()});function kL(){return{localeError:CZ()}}var CZ=()=>{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"},N={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E} \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 ${E} \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 ${g(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 ${K(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} ${I.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"}: ${K(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 m8=f(()=>{m()});function bL(){return{localeError:wZ()}}var wZ=()=>{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"},N={nan:"NaN",number:"liczba",array:"tablica"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${E}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${j}, otrzymano ${E}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${g(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 n8=f(()=>{m()});function CL(){return{localeError:vZ()}}var vZ=()=>{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"},N={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${E}`;return`Tipo inv\xE1lido: esperado ${j}, recebido ${E}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${g(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${j}${D.maximum.toString()} ${I.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Muito pequeno: esperado que ${D.origin} tivesse ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 d8=f(()=>{m()});function wL(){return{localeError:fZ()}}var fZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;return`Intrare invalid\u0103: a\u0219teptat ${j}, primit ${E}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${g(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${I.verb} ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`Prea mic: a\u0219teptat ca ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.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: ${K(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 l8=f(()=>{m()});function i8(_,$,U,N){let D=Math.abs(_),j=D%10,I=D%100;if(I>=11&&I<=19)return N;if(j===1)return $;if(j>=2&&j<=4)return U;return N}function vL(){return{localeError:xZ()}}var xZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I){let E=Number(D.maximum),W=i8(E,I.unit.one,I.unit.few,I.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()} ${W}`}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?">=":">",I=$(D.origin);if(I){let E=Number(D.minimum),W=i8(E,I.unit.one,I.unit.few,I.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()} ${W}`}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":""}: ${K(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 t8=f(()=>{m()});function fL(){return{localeError:yZ()}}var yZ=()=>{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"},N={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${E}`;return`Neveljaven vnos: pri\u010Dakovano ${j}, prejeto ${E}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${g(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${j}${D.maximum.toString()} ${I.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${j}${D.minimum.toString()} ${I.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"}: ${K(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 o8=f(()=>{m()});function xL(){return{localeError:uZ()}}var uZ=()=>{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"},N={nan:"NaN",number:"antal",array:"lista"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${E}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${j}, fick ${E}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${g(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.minimum.toString()} ${I.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"}: ${K(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 p8=f(()=>{m()});function yL(){return{localeError:hZ()}}var hZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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()} ${I.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?">=":">",I=$(D.origin);if(I)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()} ${I.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":""}: ${K(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 a8=f(()=>{m()});function uL(){return{localeError:rZ()}}var rZ=()=>{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"},N={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=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",I=$(D.origin);if(I)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.maximum.toString()} ${I.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",I=$(D.origin);if(I)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()} ${I.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: ${K(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 e8=f(()=>{m()});function hL(){return{localeError:cZ()}}var cZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${E}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${j}, al\u0131nan ${E}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${g(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${j}${D.maximum.toString()} ${I.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 s8=f(()=>{m()});function vD(){return{localeError:mZ()}}var mZ=()=>{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"},N={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;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 ${E}`}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 ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)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"} ${I.verb} ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)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} ${I.verb} ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 rL=f(()=>{m()});function cL(){return vD()}var _R=f(()=>{rL()});function mL(){return{localeError:nZ()}}var nZ=()=>{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"},N={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E} \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 ${E} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${g(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${K(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?"<=":"<",I=$(D.origin);if(I)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${j}${D.minimum.toString()} ${I.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":""}: ${K(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 $R=f(()=>{m()});function nL(){return{localeError:dZ()}}var dZ=()=>{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"},N={nan:"NaN",number:"raqam",array:"massiv"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${E}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${j}, qabul qilingan ${E}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${g(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${j}${D.maximum.toString()} ${I.unit} ${I.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Juda kichik: kutilgan ${D.origin} ${j}${D.minimum.toString()} ${I.unit} ${I.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":""}: ${K(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 UR=f(()=>{m()});function dL(){return{localeError:lZ()}}var lZ=()=>{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"},N={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${j}, nh\u1EADn \u0111\u01B0\u1EE3c ${E}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${g(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 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${I.verb} ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.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: ${K(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 DR=f(()=>{m()});function lL(){return{localeError:iZ()}}var iZ=()=>{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"},N={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${E}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${j}\uFF0C\u5B9E\u9645\u63A5\u6536 ${E}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${g(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${j}${D.minimum.toString()} ${I.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): ${K(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 NR=f(()=>{m()});function iL(){return{localeError:tZ()}}var tZ=()=>{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"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${E}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${j}\uFF0C\u4F46\u6536\u5230 ${E}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${g(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${j}${D.maximum.toString()} ${I.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?">=":">",I=$(D.origin);if(I)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${j}${D.minimum.toString()} ${I.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${K(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 jR=f(()=>{m()});function tL(){return{localeError:oZ()}}var oZ=()=>{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"},N={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;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 ${E}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${j}, \xE0m\u1ECD\u0300 a r\xED ${E}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${g(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${I.verb} ${j}${D.maximum} ${I.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?">=":">",I=$(D.origin);if(I)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${I.verb} ${j}${D.minimum} ${I.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: ${K(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 IR=f(()=>{m()});var $U={};l$($U,{zhTW:()=>iL,zhCN:()=>lL,yo:()=>tL,vi:()=>dL,uz:()=>nL,ur:()=>mL,uk:()=>vD,ua:()=>cL,tr:()=>hL,th:()=>uL,ta:()=>yL,sv:()=>xL,sl:()=>fL,ru:()=>vL,ro:()=>wL,pt:()=>CL,ps:()=>kL,pl:()=>bL,ota:()=>qL,no:()=>HL,nl:()=>ZL,ms:()=>gL,mk:()=>ML,lt:()=>KL,ko:()=>FL,km:()=>CD,kh:()=>BL,ka:()=>TL,ja:()=>GL,it:()=>QL,is:()=>YL,id:()=>RL,hy:()=>XL,hu:()=>zL,hr:()=>OL,he:()=>PL,frCA:()=>SL,fr:()=>LL,fi:()=>JL,fa:()=>WL,es:()=>AL,eo:()=>EL,en:()=>bD,el:()=>jL,de:()=>NL,da:()=>DL,cs:()=>UL,ca:()=>$L,bg:()=>_L,be:()=>sJ,az:()=>eJ,ar:()=>aJ});var oL=f(()=>{A8();W8();L8();S8();P8();O8();z8();X8();R8();IL();Y8();Q8();G8();T8();V8();B8();F8();K8();M8();Z8();H8();q8();k8();b8();C8();w8();VL();v8();x8();y8();u8();h8();r8();c8();m8();n8();d8();l8();t8();o8();p8();a8();e8();s8();_R();rL();$R();UR();DR();NR();jR();IR()});class pL{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 N={...U,...this._map.get(_)};return Object.keys(N).length?N:void 0}return this._map.get(_)}has(_){return this._map.has(_)}}function fD(){return new pL}var ER,Fj,Kj,m_;var xD=f(()=>{Fj=Symbol("ZodOutput"),Kj=Symbol("ZodInput");(ER=globalThis).__zod_globalRegistry??(ER.__zod_globalRegistry=fD());m_=globalThis.__zod_globalRegistry});function aL(_,$){return new _({type:"string",...w($)})}function eL(_,$){return new _({type:"string",coerce:!0,...w($)})}function Mj(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...w($)})}function yD(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...w($)})}function gj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...w($)})}function Zj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...w($)})}function Hj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...w($)})}function qj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...w($)})}function uD(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...w($)})}function kj(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...w($)})}function bj(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...w($)})}function Cj(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...w($)})}function wj(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...w($)})}function vj(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...w($)})}function fj(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...w($)})}function xj(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...w($)})}function yj(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...w($)})}function uj(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...w($)})}function sL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...w($)})}function hj(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...w($)})}function rj(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...w($)})}function cj(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...w($)})}function mj(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...w($)})}function nj(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...w($)})}function dj(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...w($)})}function _S(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...w($)})}function $S(_,$){return new _({type:"string",format:"date",check:"string_format",...w($)})}function US(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...w($)})}function DS(_,$){return new _({type:"string",format:"duration",check:"string_format",...w($)})}function NS(_,$){return new _({type:"number",checks:[],...w($)})}function jS(_,$){return new _({type:"number",coerce:!0,checks:[],...w($)})}function IS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...w($)})}function ES(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...w($)})}function AS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...w($)})}function WS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...w($)})}function JS(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...w($)})}function LS(_,$){return new _({type:"boolean",...w($)})}function SS(_,$){return new _({type:"boolean",coerce:!0,...w($)})}function PS(_,$){return new _({type:"bigint",...w($)})}function OS(_,$){return new _({type:"bigint",coerce:!0,...w($)})}function zS(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...w($)})}function XS(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...w($)})}function RS(_,$){return new _({type:"symbol",...w($)})}function YS(_,$){return new _({type:"undefined",...w($)})}function QS(_,$){return new _({type:"null",...w($)})}function GS(_){return new _({type:"any"})}function TS(_){return new _({type:"unknown"})}function VS(_,$){return new _({type:"never",...w($)})}function BS(_,$){return new _({type:"void",...w($)})}function FS(_,$){return new _({type:"date",...w($)})}function KS(_,$){return new _({type:"date",coerce:!0,...w($)})}function MS(_,$){return new _({type:"nan",...w($)})}function C$(_,$){return new Lj({check:"less_than",...w($),value:_,inclusive:!1})}function J$(_,$){return new Lj({check:"less_than",...w($),value:_,inclusive:!0})}function w$(_,$){return new Sj({check:"greater_than",...w($),value:_,inclusive:!1})}function t_(_,$){return new Sj({check:"greater_than",...w($),value:_,inclusive:!0})}function hD(_){return w$(0,_)}function rD(_){return C$(0,_)}function cD(_){return J$(0,_)}function mD(_){return t_(0,_)}function V6(_,$){return new GW({check:"multiple_of",...w($),value:_})}function B6(_,$){return new BW({check:"max_size",...w($),maximum:_})}function v$(_,$){return new FW({check:"min_size",...w($),minimum:_})}function i6(_,$){return new KW({check:"size_equals",...w($),size:_})}function t6(_,$){return new MW({check:"max_length",...w($),maximum:_})}function _6(_,$){return new gW({check:"min_length",...w($),minimum:_})}function o6(_,$){return new ZW({check:"length_equals",...w($),length:_})}function C4(_,$){return new HW({check:"string_format",format:"regex",...w($),pattern:_})}function w4(_){return new qW({check:"string_format",format:"lowercase",...w(_)})}function v4(_){return new kW({check:"string_format",format:"uppercase",...w(_)})}function f4(_,$){return new bW({check:"string_format",format:"includes",...w($),includes:_})}function x4(_,$){return new CW({check:"string_format",format:"starts_with",...w($),prefix:_})}function y4(_,$){return new wW({check:"string_format",format:"ends_with",...w($),suffix:_})}function nD(_,$,U){return new vW({check:"property",property:_,schema:$,...w(U)})}function u4(_,$){return new fW({check:"mime_type",mime:_,...w($)})}function K$(_){return new xW({check:"overwrite",tx:_})}function h4(_){return K$(($)=>$.normalize(_))}function r4(){return K$((_)=>_.trim())}function c4(){return K$((_)=>_.toLowerCase())}function m4(){return K$((_)=>_.toUpperCase())}function n4(){return K$((_)=>CA(_))}function gS(_,$,U){return new _({type:"array",element:$,...w(U)})}function aZ(_,$,U){return new _({type:"union",options:$,...w(U)})}function eZ(_,$,U){return new _({type:"union",options:$,inclusive:!1,...w(U)})}function sZ(_,$,U,N){return new _({type:"union",options:U,discriminator:$,...w(N)})}function _H(_,$,U){return new _({type:"intersection",left:$,right:U})}function $H(_,$,U,N){let D=U instanceof p;return new _({type:"tuple",items:$,rest:D?U:null,...w(D?N:U)})}function UH(_,$,U,N){return new _({type:"record",keyType:$,valueType:U,...w(N)})}function DH(_,$,U,N){return new _({type:"map",keyType:$,valueType:U,...w(N)})}function NH(_,$,U){return new _({type:"set",valueType:$,...w(U)})}function jH(_,$,U){let N=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:N,...w(U)})}function IH(_,$,U){return new _({type:"enum",entries:$,...w(U)})}function EH(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...w(U)})}function ZS(_,$){return new _({type:"file",...w($)})}function AH(_,$){return new _({type:"transform",transform:$})}function WH(_,$){return new _({type:"optional",innerType:$})}function JH(_,$){return new _({type:"nullable",innerType:$})}function LH(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():vA(U)}})}function SH(_,$,U){return new _({type:"nonoptional",innerType:$,...w(U)})}function PH(_,$){return new _({type:"success",innerType:$})}function OH(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function zH(_,$,U){return new _({type:"pipe",in:$,out:U})}function XH(_,$){return new _({type:"readonly",innerType:$})}function RH(_,$,U){return new _({type:"template_literal",parts:$,...w(U)})}function YH(_,$){return new _({type:"lazy",getter:$})}function QH(_,$){return new _({type:"promise",innerType:$})}function HS(_,$,U){let N=w(U);return N.abort??(N.abort=!0),new _({type:"custom",check:"custom",fn:$,...N})}function qS(_,$,U){return new _({type:"custom",check:"custom",fn:$,...w(U)})}function kS(_,$){let U=AR((N)=>{return N.addIssue=(D)=>{if(typeof D==="string")N.issues.push(l0(D,N.value,U._zod.def));else{let j=D;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=N.value),j.inst??(j.inst=U),j.continue??(j.continue=!U._zod.def.abort),N.issues.push(l0(j))}},_(N.value,N)},$);return U}function AR(_,$){let U=new B_({check:"custom",...w($)});return U._zod.check=_,U}function bS(_){let $=new B_({check:"describe"});return $._zod.onattach=[(U)=>{let N=m_.get(U)??{};m_.add(U,{...N,description:_})}],$._zod.check=()=>{},$}function CS(_){let $=new B_({check:"meta"});return $._zod.onattach=[(U)=>{let N=m_.get(U)??{};m_.add(U,{...N,..._})}],$._zod.check=()=>{},$}function wS(_,$){let U=w($),N=U.truthy??["true","1","yes","on","y","enabled"],D=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")N=N.map((z)=>typeof z==="string"?z.toLowerCase():z),D=D.map((z)=>typeof z==="string"?z.toLowerCase():z);let j=new Set(N),I=new Set(D),E=_.Codec??kD,W=_.Boolean??HD,L=new(_.String??b4)({type:"string",error:U.error}),S=new W({type:"boolean",error:U.error}),X=new E({type:"pipe",in:L,out:S,transform:(z,Y)=>{let P=z;if(U.case!=="sensitive")P=P.toLowerCase();if(j.has(P))return!0;else if(I.has(P))return!1;else return Y.issues.push({code:"invalid_value",expected:"stringbool",values:[...j,...I],input:Y.value,inst:X,continue:!1}),{}},reverseTransform:(z,Y)=>{if(z===!0)return N[0]||"true";else return D[0]||"false"},error:U.error});return X}function UU(_,$,U,N={}){let D=w(N),j={...w(N),check:"string_format",type:"string",format:$,fn:typeof U==="function"?U:(E)=>U.test(E),...D};if(U instanceof RegExp)j.pattern=U;return new _(j)}var lj;var WR=f(()=>{Pj();xD();pJ();m();lj={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function p6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??m_,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 O_(_,$,U={path:[],schemaPath:[]}){var N;let D=_._zod.def,j=$.seen.get(_);if(j){if(j.count++,U.schemaPath.includes(_))j.cycle=U.path;return j.schema}let I={schema:{},count:1,cycle:void 0,path:U.path};$.seen.set(_,I);let E=_._zod.toJSONSchema?.();if(E)I.schema=E;else{let L={...U,schemaPath:[...U.schemaPath,_],path:U.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,I.schema,L);else{let X=I.schema,z=$.processors[D.type];if(!z)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);z(_,$,X,L)}let S=_._zod.parent;if(S){if(!I.ref)I.ref=S;O_(S,$,L),$.seen.get(S).isParent=!0}}let W=$.metadataRegistry.get(_);if(W)Object.assign(I.schema,W);if($.io==="input"&&$$(_))delete I.schema.examples,delete I.schema.default;if($.io==="input"&&"_prefault"in I.schema)(N=I.schema).default??(N.default=I.schema._prefault);return delete I.schema._prefault,$.seen.get(_).schema}function a6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let N=new Map;for(let I of _.seen.entries()){let E=_.metadataRegistry.get(I[0])?.id;if(E){let W=N.get(E);if(W&&W!==I[0])throw Error(`Duplicate schema id "${E}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);N.set(E,I[0])}}let D=(I)=>{let E=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let S=_.external.registry.get(I[0])?.id,X=_.external.uri??((Y)=>Y);if(S)return{ref:X(S)};let z=I[1].defId??I[1].schema.id??`schema${_.counter++}`;return I[1].defId=z,{defId:z,ref:`${X("__shared")}#/${E}/${z}`}}if(I[1]===U)return{ref:"#"};let J=`${"#"}/${E}/`,L=I[1].schema.id??`__schema${_.counter++}`;return{defId:L,ref:J+L}},j=(I)=>{if(I[1].schema.$ref)return;let E=I[1],{ref:W,defId:J}=D(I);if(E.def={...E.schema},J)E.defId=J;let L=E.schema;for(let S in L)delete L[S];L.$ref=W};if(_.cycles==="throw")for(let I of _.seen.entries()){let E=I[1];if(E.cycle)throw Error(`Cycle detected: #/${E.cycle?.join("/")}/<root> -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let E of _.seen.entries()){let I=E[1];if($===E[0]){N(E);continue}if(_.external){let J=_.external.registry.get(E[0])?.id;if($!==E[0]&&J){N(E);continue}}if(_.metadataRegistry.get(E[0])?.id){N(E);continue}if(I.cycle){N(E);continue}if(I.count>1){if(_.reused==="ref"){N(E);continue}}}}function e6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let j=(I)=>{let W=_.seen.get(I);if(W.ref===null)return;let J=W.def??W.schema,L={...J},S=W.ref;if(W.ref=null,S){j(S);let z=_.seen.get(S),R=z.schema;if(R.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))J.allOf=J.allOf??[],J.allOf.push(R);else Object.assign(J,R);if(Object.assign(J,L),I._zod.parent===S)for(let O in J){if(O==="$ref"||O==="allOf")continue;if(!(O in L))delete J[O]}if(R.$ref&&z.def)for(let O in J){if(O==="$ref"||O==="allOf")continue;if(O in z.def&&JSON.stringify(J[O])===JSON.stringify(z.def[O]))delete J[O]}}let X=I._zod.parent;if(X&&X!==S){j(X);let z=_.seen.get(X);if(z?.schema.$ref){if(J.$ref=z.schema.$ref,z.def)for(let R in J){if(R==="$ref"||R==="allOf")continue;if(R in z.def&&JSON.stringify(J[R])===JSON.stringify(z.def[R]))delete J[R]}}}_.override({zodSchema:I,jsonSchema:J,path:W.path??[]})};for(let I of[..._.seen.entries()].reverse())j(I[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 I=_.external.registry.get($)?.id;if(!I)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(I)}Object.assign(D,U.def??U.schema);let N=_.metadataRegistry.get($)?.id;if(N!==void 0&&D.id===N)delete D.id;let E=_.external?.defs??{};for(let I of _.seen.entries()){let W=I[1];if(W.def&&W.defId){if(W.def.id===W.defId)delete W.def.id;E[W.defId]=W.def}}if(_.external);else if(Object.keys(E).length>0)if(_.target==="draft-2020-12")D.$defs=E;else D.definitions=E;try{let I=JSON.parse(JSON.stringify(D));return Object.defineProperty(I,"~standard",{value:{...$["~standard"],jsonSchema:{input:DU($,"input",_.processors),output:DU($,"output",_.processors)}},enumerable:!1,writable:!1}),I}catch(I){throw Error("Error converting schema to JSON.")}}function $$(_,$){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 $$(j.element,U);if(j.type==="set")return $$(j.valueType,U);if(j.type==="lazy")return $$(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 $$(j.innerType,U);if(j.type==="intersection")return $$(j.left,U)||$$(j.right,U);if(j.type==="record"||j.type==="map")return $$(j.keyType,U)||$$(j.valueType,U);if(j.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return $$(j.in,U)||$$(j.out,U)}if(j.type==="object"){for(let D in j.shape)if($$(j.shape[D],U))return!0;return!1}if(j.type==="union"){for(let D of j.options)if($$(D,U))return!0;return!1}if(j.type==="tuple"){for(let D of j.items)if($$(D,U))return!0;if(j.rest&&$$(j.rest,U))return!0;return!1}return!1}var wS=(_,$={})=>(U)=>{let j=p6({...U,processors:$});return P_(_,j),a6(j,_),e6(j,_)},DU=(_,$,U={})=>(j)=>{let{libraryOptions:D,target:N}=j??{},E=p6({...D??{},target:N,io:$,processors:U});return P_(_,E),a6(E,_),e6(E,_)};var dD=f(()=>{xD()});function lD(_,$){if("_idmap"in _){let j=_,D=p6({...$,processors:lN}),N={};for(let W of j._idmap.entries()){let[J,L]=W;P_(L,D)}let E={},I={registry:j,uri:$?.uri,defs:N};D.external=I;for(let W of j._idmap.entries()){let[J,L]=W;a6(D,L),E[J]=e6(D,L)}if(Object.keys(N).length>0){let W=D.target==="draft-2020-12"?"$defs":"definitions";E.__shared={[W]:N}}return{schemas:E}}let U=p6({...$,processors:lN});return P_(_,U),a6(U,_),e6(U,_)}var zH,vS=(_,$,U,j)=>{let D=U;D.type="string";let{minimum:N,maximum:E,format:I,patterns:W,contentEncoding:J}=_._zod.bag;if(typeof N==="number")D.minLength=N;if(typeof E==="number")D.maxLength=E;if(I){if(D.format=zH[I]??I,D.format==="")delete D.format;if(I==="time")delete D.format}if(J)D.contentEncoding=J;if(W&&W.size>0){let L=[...W];if(L.length===1)D.pattern=L[0].source;else if(L.length>1)D.allOf=[...L.map((S)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:S.source}))]}},fS=(_,$,U,j)=>{let D=U,{minimum:N,maximum:E,format:I,multipleOf:W,exclusiveMaximum:J,exclusiveMinimum:L}=_._zod.bag;if(typeof I==="string"&&I.includes("int"))D.type="integer";else D.type="number";let S=typeof L==="number"&&L>=(N??Number.NEGATIVE_INFINITY),X=typeof J==="number"&&J<=(E??Number.POSITIVE_INFINITY),z=$.target==="draft-04"||$.target==="openapi-3.0";if(S)if(z)D.minimum=L,D.exclusiveMinimum=!0;else D.exclusiveMinimum=L;else if(typeof N==="number")D.minimum=N;if(X)if(z)D.maximum=J,D.exclusiveMaximum=!0;else D.exclusiveMaximum=J;else if(typeof E==="number")D.maximum=E;if(typeof W==="number")D.multipleOf=W},xS=(_,$,U,j)=>{U.type="boolean"},yS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},uS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},hS=(_,$,U,j)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},rS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},cS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},mS=(_,$,U,j)=>{U.not={}},nS=(_,$,U,j)=>{},dS=(_,$,U,j)=>{},lS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},iS=(_,$,U,j)=>{let D=_._zod.def,N=GD(D.entries);if(N.every((E)=>typeof E==="number"))U.type="number";if(N.every((E)=>typeof E==="string"))U.type="string";U.enum=N},tS=(_,$,U,j)=>{let D=_._zod.def,N=[];for(let E of D.values)if(E===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof E==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else N.push(Number(E));else N.push(E);if(N.length===0);else if(N.length===1){let E=N[0];if(U.type=E===null?"null":typeof E,$.target==="draft-04"||$.target==="openapi-3.0")U.enum=[E];else U.const=E}else{if(N.every((E)=>typeof E==="number"))U.type="number";if(N.every((E)=>typeof E==="string"))U.type="string";if(N.every((E)=>typeof E==="boolean"))U.type="boolean";if(N.every((E)=>E===null))U.type="null";U.enum=N}},oS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},pS=(_,$,U,j)=>{let D=U,N=_._zod.pattern;if(!N)throw Error("Pattern not found in template literal");D.type="string",D.pattern=N.source},aS=(_,$,U,j)=>{let D=U,N={type:"string",format:"binary",contentEncoding:"binary"},{minimum:E,maximum:I,mime:W}=_._zod.bag;if(E!==void 0)N.minLength=E;if(I!==void 0)N.maxLength=I;if(W)if(W.length===1)N.contentMediaType=W[0],Object.assign(D,N);else Object.assign(D,N),D.anyOf=W.map((J)=>({contentMediaType:J}));else Object.assign(D,N)},eS=(_,$,U,j)=>{U.type="boolean"},sS=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},_P=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},$P=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},UP=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},DP=(_,$,U,j)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},jP=(_,$,U,j)=>{let D=U,N=_._zod.def,{minimum:E,maximum:I}=_._zod.bag;if(typeof E==="number")D.minItems=E;if(typeof I==="number")D.maxItems=I;D.type="array",D.items=P_(N.element,$,{...j,path:[...j.path,"items"]})},NP=(_,$,U,j)=>{let D=U,N=_._zod.def;D.type="object",D.properties={};let E=N.shape;for(let J in E)D.properties[J]=P_(E[J],$,{...j,path:[...j.path,"properties",J]});let I=new Set(Object.keys(E)),W=new Set([...I].filter((J)=>{let L=N.shape[J]._zod;if($.io==="input")return L.optin===void 0;else return L.optout===void 0}));if(W.size>0)D.required=Array.from(W);if(N.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!N.catchall){if($.io==="output")D.additionalProperties=!1}else if(N.catchall)D.additionalProperties=P_(N.catchall,$,{...j,path:[...j.path,"additionalProperties"]})},iN=(_,$,U,j)=>{let D=_._zod.def,N=D.inclusive===!1,E=D.options.map((I,W)=>P_(I,$,{...j,path:[...j.path,N?"oneOf":"anyOf",W]}));if(N)U.oneOf=E;else U.anyOf=E},EP=(_,$,U,j)=>{let D=_._zod.def,N=P_(D.left,$,{...j,path:[...j.path,"allOf",0]}),E=P_(D.right,$,{...j,path:[...j.path,"allOf",1]}),I=(J)=>("allOf"in J)&&Object.keys(J).length===1,W=[...I(N)?N.allOf:[N],...I(E)?E.allOf:[E]];U.allOf=W},IP=(_,$,U,j)=>{let D=U,N=_._zod.def;D.type="array";let E=$.target==="draft-2020-12"?"prefixItems":"items",I=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",W=N.items.map((X,z)=>P_(X,$,{...j,path:[...j.path,E,z]})),J=N.rest?P_(N.rest,$,{...j,path:[...j.path,I,...$.target==="openapi-3.0"?[N.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=W,J)D.items=J}else if($.target==="openapi-3.0"){if(D.items={anyOf:W},J)D.items.anyOf.push(J);if(D.minItems=W.length,!J)D.maxItems=W.length}else if(D.items=W,J)D.additionalItems=J;let{minimum:L,maximum:S}=_._zod.bag;if(typeof L==="number")D.minItems=L;if(typeof S==="number")D.maxItems=S},AP=(_,$,U,j)=>{let D=U,N=_._zod.def;D.type="object";let E=N.keyType,W=E._zod.bag?.patterns;if(N.mode==="loose"&&W&&W.size>0){let L=P_(N.valueType,$,{...j,path:[...j.path,"patternProperties","*"]});D.patternProperties={};for(let S of W)D.patternProperties[S.source]=L}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=P_(N.keyType,$,{...j,path:[...j.path,"propertyNames"]});D.additionalProperties=P_(N.valueType,$,{...j,path:[...j.path,"additionalProperties"]})}let J=E._zod.values;if(J){let L=[...J].filter((S)=>typeof S==="string"||typeof S==="number");if(L.length>0)D.required=L}},WP=(_,$,U,j)=>{let D=_._zod.def,N=P_(D.innerType,$,j),E=$.seen.get(_);if($.target==="openapi-3.0")E.ref=D.innerType,U.nullable=!0;else U.anyOf=[N,{type:"null"}]},JP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType},LP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},SP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);if(N.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},PP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType;let E;try{E=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=E},OP=(_,$,U,j)=>{let D=_._zod.def,N=D.in._zod.traits.has("$ZodTransform"),E=$.io==="input"?N?D.out:D.in:D.out;P_(E,$,j);let I=$.seen.get(_);I.ref=E},zP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType,U.readOnly=!0},XP=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType},tN=(_,$,U,j)=>{let D=_._zod.def;P_(D.innerType,$,j);let N=$.seen.get(_);N.ref=D.innerType},YP=(_,$,U,j)=>{let D=_._zod.innerType;P_(D,$,j);let N=$.seen.get(_);N.ref=D},lN;var iD=f(()=>{dD();m();zH={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},lN={string:vS,number:fS,boolean:xS,bigint:yS,symbol:uS,null:hS,undefined:rS,void:cS,never:mS,any:nS,unknown:dS,date:lS,enum:iS,literal:tS,nan:oS,template_literal:pS,file:aS,success:eS,custom:sS,function:_P,transform:$P,map:UP,set:DP,array:jP,object:NP,union:iN,intersection:EP,tuple:IP,record:AP,nullable:WP,nonoptional:JP,default:LP,prefault:SP,catch:PP,pipe:OP,readonly:zP,promise:XP,optional:tN,lazy:YP}});class RP{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=p6({processors:lN,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return P_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}a6(this.ctx,_);let U=e6(this.ctx,_),{"~standard":j,...D}=U;return D}}var WY=f(()=>{iD();dD()});var JY={};var LY=()=>{};var $6={};l$($6,{version:()=>xW,util:()=>k,treeifyError:()=>pj,toJSONSchema:()=>lD,toDotPath:()=>v9,safeParseAsync:()=>cA,safeParse:()=>rA,safeEncodeAsync:()=>RM,safeEncode:()=>XM,safeDecodeAsync:()=>QM,safeDecode:()=>YM,registry:()=>fD,regexes:()=>W$,process:()=>P_,prettifyError:()=>aj,parseAsync:()=>sj,parse:()=>ej,meta:()=>CS,locales:()=>$U,isValidJWT:()=>D8,isValidBase64URL:()=>U8,isValidBase64:()=>EJ,initializeContext:()=>p6,globalRegistry:()=>m_,globalConfig:()=>M4,formatError:()=>t0,flattenError:()=>i0,finalize:()=>e6,extractDefs:()=>a6,encodeAsync:()=>OM,encode:()=>SM,describe:()=>kS,decodeAsync:()=>zM,decode:()=>PM,createToJSONSchemaMethod:()=>wS,createStandardJSONSchemaMethod:()=>DU,config:()=>C_,clone:()=>i_,_xor:()=>iZ,_xid:()=>vN,_void:()=>VS,_uuidv7:()=>HN,_uuidv6:()=>ZN,_uuidv4:()=>MN,_uuid:()=>gN,_url:()=>uD,_uppercase:()=>v4,_unknown:()=>GS,_union:()=>lZ,_undefined:()=>YS,_ulid:()=>wN,_uint64:()=>zS,_uint32:()=>WS,_tuple:()=>pZ,_trim:()=>r4,_transform:()=>DH,_toUpperCase:()=>m4,_toLowerCase:()=>c4,_templateLiteral:()=>SH,_symbol:()=>XS,_superRefine:()=>qS,_success:()=>AH,_stringbool:()=>bS,_stringFormat:()=>UU,_string:()=>pL,_startsWith:()=>x4,_slugify:()=>n4,_size:()=>i6,_set:()=>sZ,_safeParseAsync:()=>e0,_safeParse:()=>a0,_safeEncodeAsync:()=>EN,_safeEncode:()=>jN,_safeDecodeAsync:()=>IN,_safeDecode:()=>NN,_regex:()=>b4,_refine:()=>HS,_record:()=>aZ,_readonly:()=>LH,_property:()=>nD,_promise:()=>OH,_positive:()=>hD,_pipe:()=>JH,_parseAsync:()=>p0,_parse:()=>o0,_overwrite:()=>K$,_optional:()=>jH,_number:()=>DS,_nullable:()=>NH,_null:()=>RS,_normalize:()=>h4,_nonpositive:()=>cD,_nonoptional:()=>IH,_nonnegative:()=>mD,_never:()=>TS,_negative:()=>rD,_nativeEnum:()=>$H,_nanoid:()=>kN,_nan:()=>KS,_multipleOf:()=>V6,_minSize:()=>v$,_minLength:()=>_6,_min:()=>t_,_mime:()=>u4,_maxSize:()=>B6,_maxLength:()=>t6,_max:()=>J$,_map:()=>eZ,_mac:()=>eL,_lte:()=>J$,_lt:()=>b$,_lowercase:()=>w4,_literal:()=>UH,_length:()=>o6,_lazy:()=>PH,_ksuid:()=>fN,_jwt:()=>nN,_isoTime:()=>$S,_isoDuration:()=>US,_isoDateTime:()=>sL,_isoDate:()=>_S,_ipv6:()=>yN,_ipv4:()=>xN,_intersection:()=>oZ,_int64:()=>OS,_int32:()=>AS,_int:()=>NS,_includes:()=>f4,_guid:()=>yD,_gte:()=>t_,_gt:()=>w$,_float64:()=>IS,_float32:()=>ES,_file:()=>MS,_enum:()=>_H,_endsWith:()=>y4,_encodeAsync:()=>UN,_encode:()=>_N,_emoji:()=>qN,_email:()=>KN,_e164:()=>mN,_discriminatedUnion:()=>tZ,_default:()=>EH,_decodeAsync:()=>DN,_decode:()=>$N,_date:()=>BS,_custom:()=>ZS,_cuid2:()=>bN,_cuid:()=>CN,_coercedString:()=>aL,_coercedNumber:()=>jS,_coercedDate:()=>FS,_coercedBoolean:()=>LS,_coercedBigint:()=>PS,_cidrv6:()=>hN,_cidrv4:()=>uN,_check:()=>IY,_catch:()=>WH,_boolean:()=>JS,_bigint:()=>SS,_base64url:()=>cN,_base64:()=>rN,_array:()=>gS,_any:()=>QS,TimePrecision:()=>dN,NEVER:()=>lj,JSONSchemaGenerator:()=>RP,JSONSchema:()=>JY,Doc:()=>PN,$output:()=>BN,$input:()=>FN,$constructor:()=>V,$brand:()=>ij,$ZodXor:()=>FJ,$ZodXID:()=>oW,$ZodVoid:()=>GJ,$ZodUnknown:()=>RJ,$ZodUnion:()=>qD,$ZodUndefined:()=>zJ,$ZodUUID:()=>rW,$ZodURL:()=>mW,$ZodULID:()=>tW,$ZodType:()=>p,$ZodTuple:()=>GN,$ZodTransform:()=>bJ,$ZodTemplateLiteral:()=>nJ,$ZodSymbol:()=>OJ,$ZodSuccess:()=>uJ,$ZodStringFormat:()=>T_,$ZodString:()=>C4,$ZodSet:()=>HJ,$ZodRegistry:()=>oL,$ZodRecord:()=>MJ,$ZodRealError:()=>A$,$ZodReadonly:()=>mJ,$ZodPromise:()=>lJ,$ZodPreprocess:()=>cJ,$ZodPrefault:()=>xJ,$ZodPipe:()=>VN,$ZodOptional:()=>TN,$ZodObjectJIT:()=>BJ,$ZodObject:()=>E8,$ZodNumberFormat:()=>SJ,$ZodNumber:()=>RN,$ZodNullable:()=>vJ,$ZodNull:()=>XJ,$ZodNonOptional:()=>yJ,$ZodNever:()=>QJ,$ZodNanoID:()=>dW,$ZodNaN:()=>rJ,$ZodMap:()=>ZJ,$ZodMAC:()=>DJ,$ZodLiteral:()=>kJ,$ZodLazy:()=>iJ,$ZodKSUID:()=>pW,$ZodJWT:()=>JJ,$ZodIntersection:()=>gJ,$ZodISOTime:()=>sW,$ZodISODuration:()=>_J,$ZodISODateTime:()=>aW,$ZodISODate:()=>eW,$ZodIPv6:()=>UJ,$ZodIPv4:()=>$J,$ZodGUID:()=>hW,$ZodFunction:()=>dJ,$ZodFile:()=>CJ,$ZodExactOptional:()=>wJ,$ZodError:()=>KD,$ZodEnum:()=>qJ,$ZodEncodeError:()=>Z4,$ZodEmoji:()=>nW,$ZodEmail:()=>cW,$ZodE164:()=>WJ,$ZodDiscriminatedUnion:()=>KJ,$ZodDefault:()=>fJ,$ZodDate:()=>TJ,$ZodCustomStringFormat:()=>LJ,$ZodCustom:()=>tJ,$ZodCodec:()=>kD,$ZodCheckUpperCase:()=>qW,$ZodCheckStringFormat:()=>s0,$ZodCheckStartsWith:()=>CW,$ZodCheckSizeEquals:()=>FW,$ZodCheckRegex:()=>ZW,$ZodCheckProperty:()=>wW,$ZodCheckOverwrite:()=>fW,$ZodCheckNumberFormat:()=>GW,$ZodCheckMultipleOf:()=>QW,$ZodCheckMinSize:()=>BW,$ZodCheckMinLength:()=>gW,$ZodCheckMimeType:()=>vW,$ZodCheckMaxSize:()=>VW,$ZodCheckMaxLength:()=>KW,$ZodCheckLowerCase:()=>HW,$ZodCheckLessThan:()=>JN,$ZodCheckLengthEquals:()=>MW,$ZodCheckIncludes:()=>kW,$ZodCheckGreaterThan:()=>LN,$ZodCheckEndsWith:()=>bW,$ZodCheckBigIntFormat:()=>TW,$ZodCheck:()=>V_,$ZodCatch:()=>hJ,$ZodCUID2:()=>iW,$ZodCUID:()=>lW,$ZodCIDRv6:()=>NJ,$ZodCIDRv4:()=>jJ,$ZodBoolean:()=>HD,$ZodBigIntFormat:()=>PJ,$ZodBigInt:()=>QN,$ZodBase64URL:()=>AJ,$ZodBase64:()=>IJ,$ZodAsyncError:()=>s$,$ZodArray:()=>VJ,$ZodAny:()=>YJ});var X$=f(()=>{m();WN();tL();iD();WY();LY();H4();mA();hA();oJ();SN();yW();xD();AY();dD()});var oN={};l$(oN,{uppercase:()=>v4,trim:()=>r4,toUpperCase:()=>m4,toLowerCase:()=>c4,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,regex:()=>b4,property:()=>nD,positive:()=>hD,overwrite:()=>K$,normalize:()=>h4,nonpositive:()=>cD,nonnegative:()=>mD,negative:()=>rD,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,maxSize:()=>B6,maxLength:()=>t6,lte:()=>J$,lt:()=>b$,lowercase:()=>w4,length:()=>o6,includes:()=>f4,gte:()=>t_,gt:()=>w$,endsWith:()=>y4});var pN=f(()=>{X$()});var d4={};l$(d4,{time:()=>TP,duration:()=>VP,datetime:()=>QP,date:()=>GP,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD});function QP(_){return sL(tD,_)}function GP(_){return _S(oD,_)}function TP(_){return $S(pD,_)}function VP(_){return US(aD,_)}var tD,oD,pD,aD;var eD=f(()=>{X$();_1();tD=V("ZodISODateTime",(_,$)=>{aW.init(_,$),X_.init(_,$)});oD=V("ZodISODate",(_,$)=>{eW.init(_,$),X_.init(_,$)});pD=V("ZodISOTime",(_,$)=>{sW.init(_,$),X_.init(_,$)});aD=V("ZodISODuration",(_,$)=>{_J.init(_,$),X_.init(_,$)})});var SY=(_,$)=>{KD.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>t0(_,U)},flatten:{value:(U)=>i0(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,n0,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,n0,2)}},isEmpty:{get(){return _.issues.length===0}}})},PY,U$;var BP=f(()=>{X$();X$();m();PY=V("ZodError",SY),U$=V("ZodError",SY,{Parent:Error})});var aN,eN,sN,_E,$E,UE,DE,jE,NE,EE,IE,AE;var FP=f(()=>{X$();BP();aN=o0(U$),eN=p0(U$),sN=a0(U$),_E=e0(U$),$E=_N(U$),UE=$N(U$),DE=UN(U$),jE=DN(U$),NE=jN(U$),EE=NN(U$),IE=EN(U$),AE=IN(U$)});var sD={};l$(sD,{xor:()=>zO,xid:()=>yP,void:()=>WO,uuidv7:()=>qP,uuidv6:()=>HP,uuidv4:()=>ZP,uuid:()=>MP,url:()=>kP,unknown:()=>s6,union:()=>B1,undefined:()=>IO,ulid:()=>xP,uint64:()=>NO,uint32:()=>UO,tuple:()=>gE,transform:()=>K1,templateLiteral:()=>HO,symbol:()=>EO,superRefine:()=>_I,success:()=>KO,stringbool:()=>xO,stringFormat:()=>oP,string:()=>jU,strictObject:()=>PO,set:()=>GO,refine:()=>sE,record:()=>ME,readonly:()=>iE,promise:()=>qO,preprocess:()=>uO,prefault:()=>uE,pipe:()=>U1,partialRecord:()=>YO,optional:()=>EU,object:()=>SO,number:()=>JE,nullish:()=>FO,nullable:()=>IU,null:()=>zE,nonoptional:()=>hE,never:()=>V1,nativeEnum:()=>TO,nanoid:()=>wP,nan:()=>gO,meta:()=>vO,map:()=>QO,mac:()=>rP,looseRecord:()=>RO,looseObject:()=>OO,literal:()=>VO,lazy:()=>pE,ksuid:()=>uP,keyof:()=>LO,jwt:()=>tP,json:()=>yO,ipv6:()=>cP,ipv4:()=>hP,invertCodec:()=>ZO,intersection:()=>FE,int64:()=>jO,int32:()=>$O,int:()=>$1,instanceof:()=>fO,httpUrl:()=>CP,hostname:()=>pP,hex:()=>aP,hash:()=>eP,guid:()=>gP,function:()=>kO,float64:()=>_O,float32:()=>sP,file:()=>BO,exactOptional:()=>wE,enum:()=>F1,emoji:()=>bP,email:()=>KP,e164:()=>iP,discriminatedUnion:()=>XO,describe:()=>wO,date:()=>JO,custom:()=>bO,cuid2:()=>fP,cuid:()=>vP,codec:()=>MO,cidrv6:()=>nP,cidrv4:()=>mP,check:()=>CO,catch:()=>mE,boolean:()=>LE,bigint:()=>DO,base64url:()=>lP,base64:()=>dP,array:()=>JU,any:()=>AO,_function:()=>kO,_default:()=>xE,_ZodString:()=>j1,ZodXor:()=>TE,ZodXID:()=>L1,ZodVoid:()=>QE,ZodUnknown:()=>YE,ZodUnion:()=>SU,ZodUndefined:()=>PE,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>KE,ZodTransform:()=>CE,ZodTemplateLiteral:()=>tE,ZodSymbol:()=>SE,ZodSuccess:()=>rE,ZodStringFormat:()=>X_,ZodString:()=>t4,ZodSet:()=>HE,ZodRecord:()=>l4,ZodReadonly:()=>lE,ZodPromise:()=>aE,ZodPreprocess:()=>dE,ZodPrefault:()=>yE,ZodPipe:()=>PU,ZodOptional:()=>g1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>vE,ZodNull:()=>OE,ZodNonOptional:()=>M1,ZodNever:()=>RE,ZodNanoID:()=>I1,ZodNaN:()=>nE,ZodMap:()=>ZE,ZodMAC:()=>WE,ZodLiteral:()=>qE,ZodLazy:()=>oE,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIntersection:()=>BE,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>NU,ZodFunction:()=>eE,ZodFile:()=>kE,ZodExactOptional:()=>bE,ZodEnum:()=>i4,ZodEmoji:()=>E1,ZodEmail:()=>N1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>VE,ZodDefault:()=>fE,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>cE,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>R1,ZodBase64:()=>Y1,ZodArray:()=>GE,ZodAny:()=>XE});function D1(_,$,U){let j=Object.getPrototypeOf(_),D=OY.get(j);if(!D)D=new Set,OY.set(j,D);if(D.has($))return;D.add($);for(let N in U){let E=U[N];Object.defineProperty(j,N,{configurable:!0,enumerable:!1,get(){let I=E.bind(this);return Object.defineProperty(this,N,{configurable:!0,writable:!0,enumerable:!0,value:I}),I},set(I){Object.defineProperty(this,N,{configurable:!0,writable:!0,enumerable:!0,value:I})}})}}function jU(_){return pL(t4,_)}function KP(_){return KN(N1,_)}function gP(_){return yD(NU,_)}function MP(_){return gN(f$,_)}function ZP(_){return MN(f$,_)}function HP(_){return ZN(f$,_)}function qP(_){return HN(f$,_)}function kP(_){return uD(AU,_)}function CP(_){return uD(AU,{protocol:W$.httpProtocol,hostname:W$.domain,...k.normalizeParams(_)})}function bP(_){return qN(E1,_)}function wP(_){return kN(I1,_)}function vP(_){return CN(A1,_)}function fP(_){return bN(W1,_)}function xP(_){return wN(J1,_)}function yP(_){return vN(L1,_)}function uP(_){return fN(S1,_)}function hP(_){return xN(P1,_)}function rP(_){return eL(WE,_)}function cP(_){return yN(O1,_)}function mP(_){return uN(z1,_)}function nP(_){return hN(X1,_)}function dP(_){return rN(Y1,_)}function lP(_){return cN(R1,_)}function iP(_){return mN(Q1,_)}function tP(_){return nN(G1,_)}function oP(_,$,U={}){return UU(o4,_,$,U)}function pP(_){return UU(o4,"hostname",W$.hostname,_)}function aP(_){return UU(o4,"hex",W$.hex,_)}function eP(_,$){let U=$?.enc??"hex",j=`${_}_${U}`,D=W$[j];if(!D)throw Error(`Unrecognized hash format: ${j}`);return UU(o4,j,D,$)}function JE(_){return DS(p4,_)}function $1(_){return NS(_4,_)}function sP(_){return ES(_4,_)}function _O(_){return IS(_4,_)}function $O(_){return AS(_4,_)}function UO(_){return WS(_4,_)}function LE(_){return JS(a4,_)}function DO(_){return SS(e4,_)}function jO(_){return OS(T1,_)}function NO(_){return zS(T1,_)}function EO(_){return XS(SE,_)}function IO(_){return YS(PE,_)}function zE(_){return RS(OE,_)}function AO(){return QS(XE)}function s6(){return GS(YE)}function V1(_){return TS(RE,_)}function WO(_){return VS(QE,_)}function JO(_){return BS(WU,_)}function JU(_,$){return gS(GE,_,$)}function LO(_){let $=_._zod.def.shape;return F1(Object.keys($))}function SO(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new LU(U)}function PO(_,$){return new LU({type:"object",shape:_,catchall:V1(),...k.normalizeParams($)})}function OO(_,$){return new LU({type:"object",shape:_,catchall:s6(),...k.normalizeParams($)})}function B1(_,$){return new SU({type:"union",options:_,...k.normalizeParams($)})}function zO(_,$){return new TE({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function XO(_,$,U){return new VE({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function FE(_,$){return new BE({type:"intersection",left:_,right:$})}function gE(_,$,U){let j=$ instanceof p,D=j?U:$;return new KE({type:"tuple",items:_,rest:j?$:null,...k.normalizeParams(D)})}function ME(_,$,U){if(!$||!$._zod)return new l4({type:"record",keyType:jU(),valueType:_,...k.normalizeParams($)});return new l4({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function YO(_,$,U){let j=i_(_);return j._zod.values=void 0,new l4({type:"record",keyType:j,valueType:$,...k.normalizeParams(U)})}function RO(_,$,U){return new l4({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function QO(_,$,U){return new ZE({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function GO(_,$){return new HE({type:"set",valueType:_,...k.normalizeParams($)})}function F1(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((j)=>[j,j])):_;return new i4({type:"enum",entries:U,...k.normalizeParams($)})}function TO(_,$){return new i4({type:"enum",entries:_,...k.normalizeParams($)})}function VO(_,$){return new qE({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function BO(_){return MS(kE,_)}function K1(_){return new CE({type:"transform",transform:_})}function EU(_){return new g1({type:"optional",innerType:_})}function wE(_){return new bE({type:"optional",innerType:_})}function IU(_){return new vE({type:"nullable",innerType:_})}function FO(_){return EU(IU(_))}function xE(_,$){return new fE({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function uE(_,$){return new yE({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function hE(_,$){return new M1({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function KO(_){return new rE({type:"success",innerType:_})}function mE(_,$){return new cE({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function gO(_){return KS(nE,_)}function U1(_,$){return new PU({type:"pipe",in:_,out:$})}function MO(_,$,U){return new OU({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function ZO(_){let $=_._zod.def;return new OU({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function iE(_){return new lE({type:"readonly",innerType:_})}function HO(_,$){return new tE({type:"template_literal",parts:_,...k.normalizeParams($)})}function pE(_){return new oE({type:"lazy",getter:_})}function qO(_){return new aE({type:"promise",innerType:_})}function kO(_){return new eE({type:"function",input:Array.isArray(_?.input)?gE(_?.input):_?.input??JU(s6()),output:_?.output??s6()})}function CO(_){let $=new V_({check:"custom"});return $._zod.check=_,$}function bO(_,$){return ZS(zU,_??(()=>!0),$)}function sE(_,$={}){return HS(zU,_,$)}function _I(_,$){return qS(_,$)}function fO(_,$={}){let U=new zU({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 yO(_){let $=pE(()=>{return B1([jU(_),JE(),LE(),zE(),JU($),ME(jU(),$)])});return $}function uO(_,$){return new dE({type:"pipe",in:K1(_),out:$})}var OY,e,j1,t4,X_,N1,NU,f$,AU,E1,I1,A1,W1,J1,L1,S1,P1,WE,O1,z1,X1,Y1,R1,Q1,G1,o4,p4,_4,a4,e4,T1,SE,PE,OE,XE,YE,RE,QE,WU,GE,LU,SU,TE,VE,BE,KE,l4,ZE,HE,i4,qE,kE,CE,g1,bE,vE,fE,yE,M1,rE,cE,nE,PU,OU,dE,lE,tE,oE,aE,eE,zU,wO,vO,xO=(..._)=>bS({Codec:OU,Boolean:a4,String:t4},..._);var _1=f(()=>{X$();X$();iD();dD();pN();eD();FP();OY=new WeakMap;e=V("ZodType",(_,$)=>{return p.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:DU(_,"input"),output:DU(_,"output")}}),_.toJSONSchema=wS(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,j)=>aN(_,U,j,{callee:_.parse}),_.safeParse=(U,j)=>sN(_,U,j),_.parseAsync=async(U,j)=>eN(_,U,j,{callee:_.parseAsync}),_.safeParseAsync=async(U,j)=>_E(_,U,j),_.spa=_.safeParseAsync,_.encode=(U,j)=>$E(_,U,j),_.decode=(U,j)=>UE(_,U,j),_.encodeAsync=async(U,j)=>DE(_,U,j),_.decodeAsync=async(U,j)=>jE(_,U,j),_.safeEncode=(U,j)=>NE(_,U,j),_.safeDecode=(U,j)=>EE(_,U,j),_.safeEncodeAsync=async(U,j)=>IE(_,U,j),_.safeDecodeAsync=async(U,j)=>AE(_,U,j),D1(_,"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 i_(this,U,j)},brand(){return this},register(U,j){return U.add(this,j),this},refine(U,j){return this.check(sE(U,j))},superRefine(U,j){return this.check(_I(U,j))},overwrite(U){return this.check(K$(U))},optional(){return EU(this)},exactOptional(){return wE(this)},nullable(){return IU(this)},nullish(){return EU(IU(this))},nonoptional(U){return hE(this,U)},array(){return JU(this)},or(U){return B1([this,U])},and(U){return FE(this,U)},transform(U){return U1(this,K1(U))},default(U){return xE(this,U)},prefault(U){return uE(this,U)},catch(U){return mE(this,U)},pipe(U){return U1(this,U)},readonly(){return iE(this)},describe(U){let j=this.clone();return m_.add(j,{description:U}),j},meta(...U){if(U.length===0)return m_.get(this);let j=this.clone();return m_.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 m_.get(_)?.description},configurable:!0}),_}),j1=V("_ZodString",(_,$)=>{C4.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>vS(_,j,D,N);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,D1(_,"_ZodString",{regex(...j){return this.check(b4(...j))},includes(...j){return this.check(f4(...j))},startsWith(...j){return this.check(x4(...j))},endsWith(...j){return this.check(y4(...j))},min(...j){return this.check(_6(...j))},max(...j){return this.check(t6(...j))},length(...j){return this.check(o6(...j))},nonempty(...j){return this.check(_6(1,...j))},lowercase(j){return this.check(w4(j))},uppercase(j){return this.check(v4(j))},trim(){return this.check(r4())},normalize(...j){return this.check(h4(...j))},toLowerCase(){return this.check(c4())},toUpperCase(){return this.check(m4())},slugify(){return this.check(n4())}})}),t4=V("ZodString",(_,$)=>{C4.init(_,$),j1.init(_,$),_.email=(U)=>_.check(KN(N1,U)),_.url=(U)=>_.check(uD(AU,U)),_.jwt=(U)=>_.check(nN(G1,U)),_.emoji=(U)=>_.check(qN(E1,U)),_.guid=(U)=>_.check(yD(NU,U)),_.uuid=(U)=>_.check(gN(f$,U)),_.uuidv4=(U)=>_.check(MN(f$,U)),_.uuidv6=(U)=>_.check(ZN(f$,U)),_.uuidv7=(U)=>_.check(HN(f$,U)),_.nanoid=(U)=>_.check(kN(I1,U)),_.guid=(U)=>_.check(yD(NU,U)),_.cuid=(U)=>_.check(CN(A1,U)),_.cuid2=(U)=>_.check(bN(W1,U)),_.ulid=(U)=>_.check(wN(J1,U)),_.base64=(U)=>_.check(rN(Y1,U)),_.base64url=(U)=>_.check(cN(R1,U)),_.xid=(U)=>_.check(vN(L1,U)),_.ksuid=(U)=>_.check(fN(S1,U)),_.ipv4=(U)=>_.check(xN(P1,U)),_.ipv6=(U)=>_.check(yN(O1,U)),_.cidrv4=(U)=>_.check(uN(z1,U)),_.cidrv6=(U)=>_.check(hN(X1,U)),_.e164=(U)=>_.check(mN(Q1,U)),_.datetime=(U)=>_.check(QP(U)),_.date=(U)=>_.check(GP(U)),_.time=(U)=>_.check(TP(U)),_.duration=(U)=>_.check(VP(U))});X_=V("ZodStringFormat",(_,$)=>{T_.init(_,$),j1.init(_,$)}),N1=V("ZodEmail",(_,$)=>{cW.init(_,$),X_.init(_,$)});NU=V("ZodGUID",(_,$)=>{hW.init(_,$),X_.init(_,$)});f$=V("ZodUUID",(_,$)=>{rW.init(_,$),X_.init(_,$)});AU=V("ZodURL",(_,$)=>{mW.init(_,$),X_.init(_,$)});E1=V("ZodEmoji",(_,$)=>{nW.init(_,$),X_.init(_,$)});I1=V("ZodNanoID",(_,$)=>{dW.init(_,$),X_.init(_,$)});A1=V("ZodCUID",(_,$)=>{lW.init(_,$),X_.init(_,$)});W1=V("ZodCUID2",(_,$)=>{iW.init(_,$),X_.init(_,$)});J1=V("ZodULID",(_,$)=>{tW.init(_,$),X_.init(_,$)});L1=V("ZodXID",(_,$)=>{oW.init(_,$),X_.init(_,$)});S1=V("ZodKSUID",(_,$)=>{pW.init(_,$),X_.init(_,$)});P1=V("ZodIPv4",(_,$)=>{$J.init(_,$),X_.init(_,$)});WE=V("ZodMAC",(_,$)=>{DJ.init(_,$),X_.init(_,$)});O1=V("ZodIPv6",(_,$)=>{UJ.init(_,$),X_.init(_,$)});z1=V("ZodCIDRv4",(_,$)=>{jJ.init(_,$),X_.init(_,$)});X1=V("ZodCIDRv6",(_,$)=>{NJ.init(_,$),X_.init(_,$)});Y1=V("ZodBase64",(_,$)=>{IJ.init(_,$),X_.init(_,$)});R1=V("ZodBase64URL",(_,$)=>{AJ.init(_,$),X_.init(_,$)});Q1=V("ZodE164",(_,$)=>{WJ.init(_,$),X_.init(_,$)});G1=V("ZodJWT",(_,$)=>{JJ.init(_,$),X_.init(_,$)});o4=V("ZodCustomStringFormat",(_,$)=>{LJ.init(_,$),X_.init(_,$)});p4=V("ZodNumber",(_,$)=>{RN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>fS(_,j,D,N),D1(_,"ZodNumber",{gt(j,D){return this.check(w$(j,D))},gte(j,D){return this.check(t_(j,D))},min(j,D){return this.check(t_(j,D))},lt(j,D){return this.check(b$(j,D))},lte(j,D){return this.check(J$(j,D))},max(j,D){return this.check(J$(j,D))},int(j){return this.check($1(j))},safe(j){return this.check($1(j))},positive(j){return this.check(w$(0,j))},nonnegative(j){return this.check(t_(0,j))},negative(j){return this.check(b$(0,j))},nonpositive(j){return this.check(J$(0,j))},multipleOf(j,D){return this.check(V6(j,D))},step(j,D){return this.check(V6(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});_4=V("ZodNumberFormat",(_,$)=>{SJ.init(_,$),p4.init(_,$)});a4=V("ZodBoolean",(_,$)=>{HD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>xS(_,U,j,D)});e4=V("ZodBigInt",(_,$)=>{QN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>yS(_,j,D,N),_.gte=(j,D)=>_.check(t_(j,D)),_.min=(j,D)=>_.check(t_(j,D)),_.gt=(j,D)=>_.check(w$(j,D)),_.gte=(j,D)=>_.check(t_(j,D)),_.min=(j,D)=>_.check(t_(j,D)),_.lt=(j,D)=>_.check(b$(j,D)),_.lte=(j,D)=>_.check(J$(j,D)),_.max=(j,D)=>_.check(J$(j,D)),_.positive=(j)=>_.check(w$(BigInt(0),j)),_.negative=(j)=>_.check(b$(BigInt(0),j)),_.nonpositive=(j)=>_.check(J$(BigInt(0),j)),_.nonnegative=(j)=>_.check(t_(BigInt(0),j)),_.multipleOf=(j,D)=>_.check(V6(j,D));let U=_._zod.bag;_.minValue=U.minimum??null,_.maxValue=U.maximum??null,_.format=U.format??null});T1=V("ZodBigIntFormat",(_,$)=>{PJ.init(_,$),e4.init(_,$)});SE=V("ZodSymbol",(_,$)=>{OJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>uS(_,U,j,D)});PE=V("ZodUndefined",(_,$)=>{zJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>rS(_,U,j,D)});OE=V("ZodNull",(_,$)=>{XJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>hS(_,U,j,D)});XE=V("ZodAny",(_,$)=>{YJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>nS(_,U,j,D)});YE=V("ZodUnknown",(_,$)=>{RJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>dS(_,U,j,D)});RE=V("ZodNever",(_,$)=>{QJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>mS(_,U,j,D)});QE=V("ZodVoid",(_,$)=>{GJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>cS(_,U,j,D)});WU=V("ZodDate",(_,$)=>{TJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>lS(_,j,D,N),_.min=(j,D)=>_.check(t_(j,D)),_.max=(j,D)=>_.check(J$(j,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});GE=V("ZodArray",(_,$)=>{VJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>jP(_,U,j,D),_.element=$.element,D1(_,"ZodArray",{min(U,j){return this.check(_6(U,j))},nonempty(U){return this.check(_6(1,U))},max(U,j){return this.check(t6(U,j))},length(U,j){return this.check(o6(U,j))},unwrap(){return this.element}})});LU=V("ZodObject",(_,$)=>{BJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>NP(_,U,j,D),k.defineLazy(_,"shape",()=>{return $.shape}),D1(_,"ZodObject",{keyof(){return F1(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:s6()})},loose(){return this.clone({...this._zod.def,catchall:s6()})},strict(){return this.clone({...this._zod.def,catchall:V1()})},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(g1,this,U[0])},required(...U){return k.required(M1,this,U[0])}})});SU=V("ZodUnion",(_,$)=>{qD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>iN(_,U,j,D),_.options=$.options});TE=V("ZodXor",(_,$)=>{SU.init(_,$),FJ.init(_,$),_._zod.processJSONSchema=(U,j,D)=>iN(_,U,j,D),_.options=$.options});VE=V("ZodDiscriminatedUnion",(_,$)=>{SU.init(_,$),KJ.init(_,$)});BE=V("ZodIntersection",(_,$)=>{gJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>EP(_,U,j,D)});KE=V("ZodTuple",(_,$)=>{GN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>IP(_,U,j,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});l4=V("ZodRecord",(_,$)=>{MJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>AP(_,U,j,D),_.keyType=$.keyType,_.valueType=$.valueType});ZE=V("ZodMap",(_,$)=>{ZJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>UP(_,U,j,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(v$(...U)),_.nonempty=(U)=>_.check(v$(1,U)),_.max=(...U)=>_.check(B6(...U)),_.size=(...U)=>_.check(i6(...U))});HE=V("ZodSet",(_,$)=>{HJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>DP(_,U,j,D),_.min=(...U)=>_.check(v$(...U)),_.nonempty=(U)=>_.check(v$(1,U)),_.max=(...U)=>_.check(B6(...U)),_.size=(...U)=>_.check(i6(...U))});i4=V("ZodEnum",(_,$)=>{qJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(j,D,N)=>iS(_,j,D,N),_.enum=$.entries,_.options=Object.values($.entries);let U=new Set(Object.keys($.entries));_.extract=(j,D)=>{let N={};for(let E of j)if(U.has(E))N[E]=$.entries[E];else throw Error(`Key ${E} not found in enum`);return new i4({...$,checks:[],...k.normalizeParams(D),entries:N})},_.exclude=(j,D)=>{let N={...$.entries};for(let E of j)if(U.has(E))delete N[E];else throw Error(`Key ${E} not found in enum`);return new i4({...$,checks:[],...k.normalizeParams(D),entries:N})}});qE=V("ZodLiteral",(_,$)=>{kJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>tS(_,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]}})});kE=V("ZodFile",(_,$)=>{CJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>aS(_,U,j,D),_.min=(U,j)=>_.check(v$(U,j)),_.max=(U,j)=>_.check(B6(U,j)),_.mime=(U,j)=>_.check(u4(Array.isArray(U)?U:[U],j))});CE=V("ZodTransform",(_,$)=>{bJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>$P(_,U,j,D),_._zod.parse=(U,j)=>{if(j.direction==="backward")throw new Z4(_.constructor.name);U.addIssue=(N)=>{if(typeof N==="string")U.issues.push(k.issue(N,U.value,$));else{let E=N;if(E.fatal)E.continue=!1;E.code??(E.code="custom"),E.input??(E.input=U.value),E.inst??(E.inst=_),U.issues.push(k.issue(E))}};let D=$.transform(U.value,U);if(D instanceof Promise)return D.then((N)=>{return U.value=N,U.fallback=!0,U});return U.value=D,U.fallback=!0,U}});g1=V("ZodOptional",(_,$)=>{TN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>tN(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});bE=V("ZodExactOptional",(_,$)=>{wJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>tN(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});vE=V("ZodNullable",(_,$)=>{vJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>WP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});fE=V("ZodDefault",(_,$)=>{fJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>LP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});yE=V("ZodPrefault",(_,$)=>{xJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>SP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});M1=V("ZodNonOptional",(_,$)=>{yJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>JP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});rE=V("ZodSuccess",(_,$)=>{uJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>eS(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});cE=V("ZodCatch",(_,$)=>{hJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>PP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});nE=V("ZodNaN",(_,$)=>{rJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>oS(_,U,j,D)});PU=V("ZodPipe",(_,$)=>{VN.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>OP(_,U,j,D),_.in=$.in,_.out=$.out});OU=V("ZodCodec",(_,$)=>{PU.init(_,$),kD.init(_,$)});dE=V("ZodPreprocess",(_,$)=>{PU.init(_,$),cJ.init(_,$)}),lE=V("ZodReadonly",(_,$)=>{mJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>zP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});tE=V("ZodTemplateLiteral",(_,$)=>{nJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>pS(_,U,j,D)});oE=V("ZodLazy",(_,$)=>{iJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>YP(_,U,j,D),_.unwrap=()=>_._zod.def.getter()});aE=V("ZodPromise",(_,$)=>{lJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>XP(_,U,j,D),_.unwrap=()=>_._zod.def.innerType});eE=V("ZodFunction",(_,$)=>{dJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>_P(_,U,j,D)});zU=V("ZodCustom",(_,$)=>{tJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,j,D)=>sS(_,U,j,D)});wO=kS,vO=CS});function XY(_){C_({customError:_})}function YY(){return C_().customError}var zY,$I;var RY=f(()=>{X$();zY={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(_){})($I||($I={}))});function QH(_,$){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 GH(_,$){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 QY(_,$){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 N=GH(D,$),E=o_(N,$);return $.refs.set(D,E),$.processing.delete(D),E}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((E)=>typeof E==="string"))return y.enum(D);let N=D.map((E)=>y.literal(E));if(N.length<2)return N[0];return y.union([N[0],N[1],...N.slice(2)])}if(_.const!==void 0)return y.literal(_.const);let U=_.type;if(Array.isArray(U)){let D=U.map((N)=>{let E={..._,type:N};return QY(E,$)});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 N=_.format;if(N==="email")D=D.check(y.email());else if(N==="uri"||N==="uri-reference")D=D.check(y.url());else if(N==="uuid"||N==="guid")D=D.check(y.uuid());else if(N==="date-time")D=D.check(y.iso.datetime());else if(N==="date")D=D.check(y.iso.date());else if(N==="time")D=D.check(y.iso.time());else if(N==="duration")D=D.check(y.iso.duration());else if(N==="ipv4")D=D.check(y.ipv4());else if(N==="ipv6")D=D.check(y.ipv6());else if(N==="mac")D=D.check(y.mac());else if(N==="cidr")D=D.check(y.cidrv4());else if(N==="cidr-v6")D=D.check(y.cidrv6());else if(N==="base64")D=D.check(y.base64());else if(N==="base64url")D=D.check(y.base64url());else if(N==="e164")D=D.check(y.e164());else if(N==="jwt")D=D.check(y.jwt());else if(N==="emoji")D=D.check(y.emoji());else if(N==="nanoid")D=D.check(y.nanoid());else if(N==="cuid")D=D.check(y.cuid());else if(N==="cuid2")D=D.check(y.cuid2());else if(N==="ulid")D=D.check(y.ulid());else if(N==="xid")D=D.check(y.xid());else if(N==="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={},N=_.properties||{},E=new Set(_.required||[]);for(let[W,J]of Object.entries(N)){let L=o_(J,$);D[W]=E.has(W)?L:L.optional()}if(_.propertyNames){let W=o_(_.propertyNames,$),J=_.additionalProperties&&typeof _.additionalProperties==="object"?o_(_.additionalProperties,$):y.any();if(Object.keys(D).length===0){j=y.record(W,J);break}let L=y.object(D).passthrough(),S=y.looseRecord(W,J);j=y.intersection(L,S);break}if(_.patternProperties){let W=_.patternProperties,J=Object.keys(W),L=[];for(let X of J){let z=o_(W[X],$),R=y.string().regex(new RegExp(X));L.push(y.looseRecord(R,z))}let S=[];if(Object.keys(D).length>0)S.push(y.object(D).passthrough());if(S.push(...L),S.length===0)j=y.object({}).passthrough();else if(S.length===1)j=S[0];else{let X=y.intersection(S[0],S[1]);for(let z=2;z<S.length;z++)X=y.intersection(X,S[z]);j=X}break}let I=y.object(D);if(_.additionalProperties===!1)j=I.strict();else if(typeof _.additionalProperties==="object")j=I.catchall(o_(_.additionalProperties,$));else j=I.passthrough();break}case"array":{let{prefixItems:D,items:N}=_;if(D&&Array.isArray(D)){let E=D.map((W)=>o_(W,$)),I=N&&typeof N==="object"&&!Array.isArray(N)?o_(N,$):void 0;if(I)j=y.tuple(E).rest(I);else j=y.tuple(E);if(typeof _.minItems==="number")j=j.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")j=j.check(y.maxLength(_.maxItems))}else if(Array.isArray(N)){let E=N.map((W)=>o_(W,$)),I=_.additionalItems&&typeof _.additionalItems==="object"?o_(_.additionalItems,$):void 0;if(I)j=y.tuple(E).rest(I);else j=y.tuple(E);if(typeof _.minItems==="number")j=j.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")j=j.check(y.maxLength(_.maxItems))}else if(N!==void 0){let E=o_(N,$),I=y.array(E);if(typeof _.minItems==="number")I=I.min(_.minItems);if(typeof _.maxItems==="number")I=I.max(_.maxItems);j=I}else j=y.array(y.any());break}default:throw Error(`Unsupported type: ${U}`)}return j}function o_(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=QY(_,$),j=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let I=_.anyOf.map((J)=>o_(J,$)),W=y.union(I);U=j?y.intersection(U,W):W}if(_.oneOf&&Array.isArray(_.oneOf)){let I=_.oneOf.map((J)=>o_(J,$)),W=y.xor(I);U=j?y.intersection(U,W):W}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)U=j?U:y.any();else{let I=j?U:o_(_.allOf[0],$),W=j?0:1;for(let J=W;J<_.allOf.length;J++)I=y.intersection(I,o_(_.allOf[J],$));U=I}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={},N=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let I of N)if(I in _)D[I]=_[I];let E=["contentEncoding","contentMediaType","contentSchema"];for(let I of E)if(I in _)D[I]=_[I];for(let I of Object.keys(_))if(!RH.has(I))D[I]=_[I];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function hO(_,$){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=QH(U,$?.defaultTarget),D=U.$defs||U.definitions||{},N={version:j,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??m_};return o_(U,N)}var y,RH;var GY=f(()=>{xD();pN();eD();_1();y={...sD,...oN,iso:d4},RH=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 UI={};l$(UI,{string:()=>TH,number:()=>VH,date:()=>KH,boolean:()=>BH,bigint:()=>FH});function TH(_){return aL(t4,_)}function VH(_){return jS(p4,_)}function BH(_){return LS(a4,_)}function FH(_){return PS(e4,_)}function KH(_){return FS(WU,_)}var TY=f(()=>{X$();_1()});var DI={};l$(DI,{xor:()=>zO,xid:()=>yP,void:()=>WO,uuidv7:()=>qP,uuidv6:()=>HP,uuidv4:()=>ZP,uuid:()=>MP,util:()=>k,url:()=>kP,uppercase:()=>v4,unknown:()=>s6,union:()=>B1,undefined:()=>IO,ulid:()=>xP,uint64:()=>NO,uint32:()=>UO,tuple:()=>gE,trim:()=>r4,treeifyError:()=>pj,transform:()=>K1,toUpperCase:()=>m4,toLowerCase:()=>c4,toJSONSchema:()=>lD,templateLiteral:()=>HO,symbol:()=>EO,superRefine:()=>_I,success:()=>KO,stringbool:()=>xO,stringFormat:()=>oP,string:()=>jU,strictObject:()=>PO,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,setErrorMap:()=>XY,set:()=>GO,safeParseAsync:()=>_E,safeParse:()=>sN,safeEncodeAsync:()=>IE,safeEncode:()=>NE,safeDecodeAsync:()=>AE,safeDecode:()=>EE,registry:()=>fD,regexes:()=>W$,regex:()=>b4,refine:()=>sE,record:()=>ME,readonly:()=>iE,property:()=>nD,promise:()=>qO,prettifyError:()=>aj,preprocess:()=>uO,prefault:()=>uE,positive:()=>hD,pipe:()=>U1,partialRecord:()=>YO,parseAsync:()=>eN,parse:()=>aN,overwrite:()=>K$,optional:()=>EU,object:()=>SO,number:()=>JE,nullish:()=>FO,nullable:()=>IU,null:()=>zE,normalize:()=>h4,nonpositive:()=>cD,nonoptional:()=>hE,nonnegative:()=>mD,never:()=>V1,negative:()=>rD,nativeEnum:()=>TO,nanoid:()=>wP,nan:()=>gO,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,meta:()=>vO,maxSize:()=>B6,maxLength:()=>t6,map:()=>QO,mac:()=>rP,lte:()=>J$,lt:()=>b$,lowercase:()=>w4,looseRecord:()=>RO,looseObject:()=>OO,locales:()=>$U,literal:()=>VO,length:()=>o6,lazy:()=>pE,ksuid:()=>uP,keyof:()=>LO,jwt:()=>tP,json:()=>yO,iso:()=>d4,ipv6:()=>cP,ipv4:()=>hP,invertCodec:()=>ZO,intersection:()=>FE,int64:()=>jO,int32:()=>$O,int:()=>$1,instanceof:()=>fO,includes:()=>f4,httpUrl:()=>CP,hostname:()=>pP,hex:()=>aP,hash:()=>eP,guid:()=>gP,gte:()=>t_,gt:()=>w$,globalRegistry:()=>m_,getErrorMap:()=>YY,function:()=>kO,fromJSONSchema:()=>hO,formatError:()=>t0,float64:()=>_O,float32:()=>sP,flattenError:()=>i0,file:()=>BO,exactOptional:()=>wE,enum:()=>F1,endsWith:()=>y4,encodeAsync:()=>DE,encode:()=>$E,emoji:()=>bP,email:()=>KP,e164:()=>iP,discriminatedUnion:()=>XO,describe:()=>wO,decodeAsync:()=>jE,decode:()=>UE,date:()=>JO,custom:()=>bO,cuid2:()=>fP,cuid:()=>vP,core:()=>$6,config:()=>C_,coerce:()=>UI,codec:()=>MO,clone:()=>i_,cidrv6:()=>nP,cidrv4:()=>mP,check:()=>CO,catch:()=>mE,boolean:()=>LE,bigint:()=>DO,base64url:()=>lP,base64:()=>dP,array:()=>JU,any:()=>AO,_function:()=>kO,_default:()=>xE,_ZodString:()=>j1,ZodXor:()=>TE,ZodXID:()=>L1,ZodVoid:()=>QE,ZodUnknown:()=>YE,ZodUnion:()=>SU,ZodUndefined:()=>PE,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>KE,ZodTransform:()=>CE,ZodTemplateLiteral:()=>tE,ZodSymbol:()=>SE,ZodSuccess:()=>rE,ZodStringFormat:()=>X_,ZodString:()=>t4,ZodSet:()=>HE,ZodRecord:()=>l4,ZodRealError:()=>U$,ZodReadonly:()=>lE,ZodPromise:()=>aE,ZodPreprocess:()=>dE,ZodPrefault:()=>yE,ZodPipe:()=>PU,ZodOptional:()=>g1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>vE,ZodNull:()=>OE,ZodNonOptional:()=>M1,ZodNever:()=>RE,ZodNanoID:()=>I1,ZodNaN:()=>nE,ZodMap:()=>ZE,ZodMAC:()=>WE,ZodLiteral:()=>qE,ZodLazy:()=>oE,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIssueCode:()=>zY,ZodIntersection:()=>BE,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>NU,ZodFunction:()=>eE,ZodFirstPartyTypeKind:()=>$I,ZodFile:()=>kE,ZodExactOptional:()=>bE,ZodError:()=>PY,ZodEnum:()=>i4,ZodEmoji:()=>E1,ZodEmail:()=>N1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>VE,ZodDefault:()=>fE,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>cE,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>R1,ZodBase64:()=>Y1,ZodArray:()=>GE,ZodAny:()=>XE,TimePrecision:()=>dN,NEVER:()=>lj,$output:()=>BN,$input:()=>FN,$brand:()=>ij});var rO=f(()=>{X$();X$();NL();X$();iD();GY();tL();eD();eD();TY();_1();pN();BP();FP();RY();C_(CD())});var VY={};l$(VY,{z:()=>DI,xor:()=>zO,xid:()=>yP,void:()=>WO,uuidv7:()=>qP,uuidv6:()=>HP,uuidv4:()=>ZP,uuid:()=>MP,util:()=>k,url:()=>kP,uppercase:()=>v4,unknown:()=>s6,union:()=>B1,undefined:()=>IO,ulid:()=>xP,uint64:()=>NO,uint32:()=>UO,tuple:()=>gE,trim:()=>r4,treeifyError:()=>pj,transform:()=>K1,toUpperCase:()=>m4,toLowerCase:()=>c4,toJSONSchema:()=>lD,templateLiteral:()=>HO,symbol:()=>EO,superRefine:()=>_I,success:()=>KO,stringbool:()=>xO,stringFormat:()=>oP,string:()=>jU,strictObject:()=>PO,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,setErrorMap:()=>XY,set:()=>GO,safeParseAsync:()=>_E,safeParse:()=>sN,safeEncodeAsync:()=>IE,safeEncode:()=>NE,safeDecodeAsync:()=>AE,safeDecode:()=>EE,registry:()=>fD,regexes:()=>W$,regex:()=>b4,refine:()=>sE,record:()=>ME,readonly:()=>iE,property:()=>nD,promise:()=>qO,prettifyError:()=>aj,preprocess:()=>uO,prefault:()=>uE,positive:()=>hD,pipe:()=>U1,partialRecord:()=>YO,parseAsync:()=>eN,parse:()=>aN,overwrite:()=>K$,optional:()=>EU,object:()=>SO,number:()=>JE,nullish:()=>FO,nullable:()=>IU,null:()=>zE,normalize:()=>h4,nonpositive:()=>cD,nonoptional:()=>hE,nonnegative:()=>mD,never:()=>V1,negative:()=>rD,nativeEnum:()=>TO,nanoid:()=>wP,nan:()=>gO,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,meta:()=>vO,maxSize:()=>B6,maxLength:()=>t6,map:()=>QO,mac:()=>rP,lte:()=>J$,lt:()=>b$,lowercase:()=>w4,looseRecord:()=>RO,looseObject:()=>OO,locales:()=>$U,literal:()=>VO,length:()=>o6,lazy:()=>pE,ksuid:()=>uP,keyof:()=>LO,jwt:()=>tP,json:()=>yO,iso:()=>d4,ipv6:()=>cP,ipv4:()=>hP,invertCodec:()=>ZO,intersection:()=>FE,int64:()=>jO,int32:()=>$O,int:()=>$1,instanceof:()=>fO,includes:()=>f4,httpUrl:()=>CP,hostname:()=>pP,hex:()=>aP,hash:()=>eP,guid:()=>gP,gte:()=>t_,gt:()=>w$,globalRegistry:()=>m_,getErrorMap:()=>YY,function:()=>kO,fromJSONSchema:()=>hO,formatError:()=>t0,float64:()=>_O,float32:()=>sP,flattenError:()=>i0,file:()=>BO,exactOptional:()=>wE,enum:()=>F1,endsWith:()=>y4,encodeAsync:()=>DE,encode:()=>$E,emoji:()=>bP,email:()=>KP,e164:()=>iP,discriminatedUnion:()=>XO,describe:()=>wO,default:()=>gH,decodeAsync:()=>jE,decode:()=>UE,date:()=>JO,custom:()=>bO,cuid2:()=>fP,cuid:()=>vP,core:()=>$6,config:()=>C_,coerce:()=>UI,codec:()=>MO,clone:()=>i_,cidrv6:()=>nP,cidrv4:()=>mP,check:()=>CO,catch:()=>mE,boolean:()=>LE,bigint:()=>DO,base64url:()=>lP,base64:()=>dP,array:()=>JU,any:()=>AO,_function:()=>kO,_default:()=>xE,_ZodString:()=>j1,ZodXor:()=>TE,ZodXID:()=>L1,ZodVoid:()=>QE,ZodUnknown:()=>YE,ZodUnion:()=>SU,ZodUndefined:()=>PE,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>KE,ZodTransform:()=>CE,ZodTemplateLiteral:()=>tE,ZodSymbol:()=>SE,ZodSuccess:()=>rE,ZodStringFormat:()=>X_,ZodString:()=>t4,ZodSet:()=>HE,ZodRecord:()=>l4,ZodRealError:()=>U$,ZodReadonly:()=>lE,ZodPromise:()=>aE,ZodPreprocess:()=>dE,ZodPrefault:()=>yE,ZodPipe:()=>PU,ZodOptional:()=>g1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>vE,ZodNull:()=>OE,ZodNonOptional:()=>M1,ZodNever:()=>RE,ZodNanoID:()=>I1,ZodNaN:()=>nE,ZodMap:()=>ZE,ZodMAC:()=>WE,ZodLiteral:()=>qE,ZodLazy:()=>oE,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIssueCode:()=>zY,ZodIntersection:()=>BE,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>NU,ZodFunction:()=>eE,ZodFirstPartyTypeKind:()=>$I,ZodFile:()=>kE,ZodExactOptional:()=>bE,ZodError:()=>PY,ZodEnum:()=>i4,ZodEmoji:()=>E1,ZodEmail:()=>N1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>VE,ZodDefault:()=>fE,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>cE,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>R1,ZodBase64:()=>Y1,ZodArray:()=>GE,ZodAny:()=>XE,TimePrecision:()=>dN,NEVER:()=>lj,$output:()=>BN,$input:()=>FN,$brand:()=>ij});var gH;var BY=f(()=>{rO();rO();gH=DI});var s1=O4((of)=>{class $3 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 dG extends $3{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}of.CommanderError=$3;of.InvalidArgumentError=dG});var _2=O4((_x)=>{var{InvalidArgumentError:ef}=s1();class lG{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 ef(`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 sf(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}_x.Argument=lG;_x.humanReadableArgName=sf});var U3=O4((jx)=>{var{humanReadableArgName:Dx}=_2();class iG{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)=>Dx(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(L,S){return $.formatItem(L,U,S,$)}let N=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],E=$.commandDescription(_);if(E.length>0)N=N.concat([$.boxWrap($.styleCommandDescription(E),j),""]);let I=$.visibleArguments(_).map((L)=>{return D($.styleArgumentTerm($.argumentTerm(L)),$.styleArgumentDescription($.argumentDescription(L)))});if(I.length>0)N=N.concat([$.styleTitle("Arguments:"),...I,""]);let W=$.visibleOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(W.length>0)N=N.concat([$.styleTitle("Options:"),...W,""]);if($.showGlobalOptions){let L=$.visibleGlobalOptions(_).map((S)=>{return D($.styleOptionTerm($.optionTerm(S)),$.styleOptionDescription($.optionDescription(S)))});if(L.length>0)N=N.concat([$.styleTitle("Global Options:"),...L,""])}let J=$.visibleCommands(_).map((L)=>{return D($.styleSubcommandTerm($.subcommandTerm(L)),$.styleSubcommandDescription($.subcommandDescription(L)))});if(J.length>0)N=N.concat([$.styleTitle("Commands:"),...J,""]);return N.join(` -`)}displayWidth(_){return tG(_).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 N=" ".repeat(2);if(!U)return N+_;let E=_.padEnd($+_.length-j.displayWidth(_)),I=2,J=(this.helpWidth??80)-$-I-2,L;if(J<this.minWidthToWrap||j.preformatted(U))L=U;else L=j.boxWrap(U,J).replace(/\n/g,` -`+" ".repeat($+I));return N+E+" ".repeat(I)+L.replace(/\n/g,` -${N}`)}boxWrap(_,$){if($<this.minWidthToWrap)return _;let U=_.split(/\r\n|\n/),j=/[\s]*[^\s]+/g,D=[];return U.forEach((N)=>{let E=N.match(j);if(E===null){D.push("");return}let I=[E.shift()],W=this.displayWidth(I[0]);E.forEach((J)=>{let L=this.displayWidth(J);if(W+L<=$){I.push(J),W+=L;return}D.push(I.join(""));let S=J.trimStart();I=[S],W=this.displayWidth(S)}),D.push(I.join(""))}),D.join(` -`)}}function tG(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}jx.Help=iG;jx.stripColor=tG});var D3=O4((Wx)=>{var{InvalidArgumentError:Ix}=s1();class pG{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Ax(_);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 Ix(`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 oG(this.name().replace(/^no-/,""));return oG(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class aG{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 oG(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Ax(_){let $,U,j=/^-[^-]$/,D=/^--[^-]/,N=_.split(/[ |,]+/).concat("guard");if(j.test(N[0]))$=N.shift();if(D.test(N[0]))U=N.shift();if(!$&&j.test(N[0]))$=N.shift();if(!$&&D.test(N[0]))$=U,U=N.shift();if(N[0].startsWith("-")){let E=N[0],I=`option creation failed due to '${E}' in option flags '${_}'`;if(/^-[^-][^-]/.test(E))throw Error(`${I} +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let I of _.seen.entries()){let E=I[1];if($===I[0]){j(I);continue}if(_.external){let J=_.external.registry.get(I[0])?.id;if($!==I[0]&&J){j(I);continue}}if(_.metadataRegistry.get(I[0])?.id){j(I);continue}if(E.cycle){j(I);continue}if(E.count>1){if(_.reused==="ref"){j(I);continue}}}}function e6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let N=(E)=>{let W=_.seen.get(E);if(W.ref===null)return;let J=W.def??W.schema,L={...J},S=W.ref;if(W.ref=null,S){N(S);let z=_.seen.get(S),Y=z.schema;if(Y.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))J.allOf=J.allOf??[],J.allOf.push(Y);else Object.assign(J,Y);if(Object.assign(J,L),E._zod.parent===S)for(let O in J){if(O==="$ref"||O==="allOf")continue;if(!(O in L))delete J[O]}if(Y.$ref&&z.def)for(let O in J){if(O==="$ref"||O==="allOf")continue;if(O in z.def&&JSON.stringify(J[O])===JSON.stringify(z.def[O]))delete J[O]}}let X=E._zod.parent;if(X&&X!==S){N(X);let z=_.seen.get(X);if(z?.schema.$ref){if(J.$ref=z.schema.$ref,z.def)for(let Y in J){if(Y==="$ref"||Y==="allOf")continue;if(Y in z.def&&JSON.stringify(J[Y])===JSON.stringify(z.def[Y]))delete J[Y]}}}_.override({zodSchema:E,jsonSchema:J,path:W.path??[]})};for(let E of[..._.seen.entries()].reverse())N(E[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 E=_.external.registry.get($)?.id;if(!E)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(E)}Object.assign(D,U.def??U.schema);let j=_.metadataRegistry.get($)?.id;if(j!==void 0&&D.id===j)delete D.id;let I=_.external?.defs??{};for(let E of _.seen.entries()){let W=E[1];if(W.def&&W.defId){if(W.def.id===W.defId)delete W.def.id;I[W.defId]=W.def}}if(_.external);else if(Object.keys(I).length>0)if(_.target==="draft-2020-12")D.$defs=I;else D.definitions=I;try{let E=JSON.parse(JSON.stringify(D));return Object.defineProperty(E,"~standard",{value:{...$["~standard"],jsonSchema:{input:DU($,"input",_.processors),output:DU($,"output",_.processors)}},enumerable:!1,writable:!1}),E}catch(E){throw Error("Error converting schema to JSON.")}}function $$(_,$){let U=$??{seen:new Set};if(U.seen.has(_))return!1;U.seen.add(_);let N=_._zod.def;if(N.type==="transform")return!0;if(N.type==="array")return $$(N.element,U);if(N.type==="set")return $$(N.valueType,U);if(N.type==="lazy")return $$(N.getter(),U);if(N.type==="promise"||N.type==="optional"||N.type==="nonoptional"||N.type==="nullable"||N.type==="readonly"||N.type==="default"||N.type==="prefault")return $$(N.innerType,U);if(N.type==="intersection")return $$(N.left,U)||$$(N.right,U);if(N.type==="record"||N.type==="map")return $$(N.keyType,U)||$$(N.valueType,U);if(N.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return $$(N.in,U)||$$(N.out,U)}if(N.type==="object"){for(let D in N.shape)if($$(N.shape[D],U))return!0;return!1}if(N.type==="union"){for(let D of N.options)if($$(D,U))return!0;return!1}if(N.type==="tuple"){for(let D of N.items)if($$(D,U))return!0;if(N.rest&&$$(N.rest,U))return!0;return!1}return!1}var vS=(_,$={})=>(U)=>{let N=p6({...U,processors:$});return O_(_,N),a6(N,_),e6(N,_)},DU=(_,$,U={})=>(N)=>{let{libraryOptions:D,target:j}=N??{},I=p6({...D??{},target:j,io:$,processors:U});return O_(_,I),a6(I,_),e6(I,_)};var dD=f(()=>{xD()});function lD(_,$){if("_idmap"in _){let N=_,D=p6({...$,processors:ij}),j={};for(let W of N._idmap.entries()){let[J,L]=W;O_(L,D)}let I={},E={registry:N,uri:$?.uri,defs:j};D.external=E;for(let W of N._idmap.entries()){let[J,L]=W;a6(D,L),I[J]=e6(D,L)}if(Object.keys(j).length>0){let W=D.target==="draft-2020-12"?"$defs":"definitions";I.__shared={[W]:j}}return{schemas:I}}let U=p6({...$,processors:ij});return O_(_,U),a6(U,_),e6(U,_)}var GH,fS=(_,$,U,N)=>{let D=U;D.type="string";let{minimum:j,maximum:I,format:E,patterns:W,contentEncoding:J}=_._zod.bag;if(typeof j==="number")D.minLength=j;if(typeof I==="number")D.maxLength=I;if(E){if(D.format=GH[E]??E,D.format==="")delete D.format;if(E==="time")delete D.format}if(J)D.contentEncoding=J;if(W&&W.size>0){let L=[...W];if(L.length===1)D.pattern=L[0].source;else if(L.length>1)D.allOf=[...L.map((S)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:S.source}))]}},xS=(_,$,U,N)=>{let D=U,{minimum:j,maximum:I,format:E,multipleOf:W,exclusiveMaximum:J,exclusiveMinimum:L}=_._zod.bag;if(typeof E==="string"&&E.includes("int"))D.type="integer";else D.type="number";let S=typeof L==="number"&&L>=(j??Number.NEGATIVE_INFINITY),X=typeof J==="number"&&J<=(I??Number.POSITIVE_INFINITY),z=$.target==="draft-04"||$.target==="openapi-3.0";if(S)if(z)D.minimum=L,D.exclusiveMinimum=!0;else D.exclusiveMinimum=L;else if(typeof j==="number")D.minimum=j;if(X)if(z)D.maximum=J,D.exclusiveMaximum=!0;else D.exclusiveMaximum=J;else if(typeof I==="number")D.maximum=I;if(typeof W==="number")D.multipleOf=W},yS=(_,$,U,N)=>{U.type="boolean"},uS=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},hS=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},rS=(_,$,U,N)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},cS=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},mS=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},nS=(_,$,U,N)=>{U.not={}},dS=(_,$,U,N)=>{},lS=(_,$,U,N)=>{},iS=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},tS=(_,$,U,N)=>{let D=_._zod.def,j=GD(D.entries);if(j.every((I)=>typeof I==="number"))U.type="number";if(j.every((I)=>typeof I==="string"))U.type="string";U.enum=j},oS=(_,$,U,N)=>{let D=_._zod.def,j=[];for(let I of D.values)if(I===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof I==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else j.push(Number(I));else j.push(I);if(j.length===0);else if(j.length===1){let I=j[0];if(U.type=I===null?"null":typeof I,$.target==="draft-04"||$.target==="openapi-3.0")U.enum=[I];else U.const=I}else{if(j.every((I)=>typeof I==="number"))U.type="number";if(j.every((I)=>typeof I==="string"))U.type="string";if(j.every((I)=>typeof I==="boolean"))U.type="boolean";if(j.every((I)=>I===null))U.type="null";U.enum=j}},pS=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},aS=(_,$,U,N)=>{let D=U,j=_._zod.pattern;if(!j)throw Error("Pattern not found in template literal");D.type="string",D.pattern=j.source},eS=(_,$,U,N)=>{let D=U,j={type:"string",format:"binary",contentEncoding:"binary"},{minimum:I,maximum:E,mime:W}=_._zod.bag;if(I!==void 0)j.minLength=I;if(E!==void 0)j.maxLength=E;if(W)if(W.length===1)j.contentMediaType=W[0],Object.assign(D,j);else Object.assign(D,j),D.anyOf=W.map((J)=>({contentMediaType:J}));else Object.assign(D,j)},sS=(_,$,U,N)=>{U.type="boolean"},_P=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},$P=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},UP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},DP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},NP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},jP=(_,$,U,N)=>{let D=U,j=_._zod.def,{minimum:I,maximum:E}=_._zod.bag;if(typeof I==="number")D.minItems=I;if(typeof E==="number")D.maxItems=E;D.type="array",D.items=O_(j.element,$,{...N,path:[...N.path,"items"]})},IP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="object",D.properties={};let I=j.shape;for(let J in I)D.properties[J]=O_(I[J],$,{...N,path:[...N.path,"properties",J]});let E=new Set(Object.keys(I)),W=new Set([...E].filter((J)=>{let L=j.shape[J]._zod;if($.io==="input")return L.optin===void 0;else return L.optout===void 0}));if(W.size>0)D.required=Array.from(W);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=O_(j.catchall,$,{...N,path:[...N.path,"additionalProperties"]})},tj=(_,$,U,N)=>{let D=_._zod.def,j=D.inclusive===!1,I=D.options.map((E,W)=>O_(E,$,{...N,path:[...N.path,j?"oneOf":"anyOf",W]}));if(j)U.oneOf=I;else U.anyOf=I},EP=(_,$,U,N)=>{let D=_._zod.def,j=O_(D.left,$,{...N,path:[...N.path,"allOf",0]}),I=O_(D.right,$,{...N,path:[...N.path,"allOf",1]}),E=(J)=>("allOf"in J)&&Object.keys(J).length===1,W=[...E(j)?j.allOf:[j],...E(I)?I.allOf:[I]];U.allOf=W},AP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="array";let I=$.target==="draft-2020-12"?"prefixItems":"items",E=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",W=j.items.map((X,z)=>O_(X,$,{...N,path:[...N.path,I,z]})),J=j.rest?O_(j.rest,$,{...N,path:[...N.path,E,...$.target==="openapi-3.0"?[j.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=W,J)D.items=J}else if($.target==="openapi-3.0"){if(D.items={anyOf:W},J)D.items.anyOf.push(J);if(D.minItems=W.length,!J)D.maxItems=W.length}else if(D.items=W,J)D.additionalItems=J;let{minimum:L,maximum:S}=_._zod.bag;if(typeof L==="number")D.minItems=L;if(typeof S==="number")D.maxItems=S},WP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="object";let I=j.keyType,W=I._zod.bag?.patterns;if(j.mode==="loose"&&W&&W.size>0){let L=O_(j.valueType,$,{...N,path:[...N.path,"patternProperties","*"]});D.patternProperties={};for(let S of W)D.patternProperties[S.source]=L}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=O_(j.keyType,$,{...N,path:[...N.path,"propertyNames"]});D.additionalProperties=O_(j.valueType,$,{...N,path:[...N.path,"additionalProperties"]})}let J=I._zod.values;if(J){let L=[...J].filter((S)=>typeof S==="string"||typeof S==="number");if(L.length>0)D.required=L}},JP=(_,$,U,N)=>{let D=_._zod.def,j=O_(D.innerType,$,N),I=$.seen.get(_);if($.target==="openapi-3.0")I.ref=D.innerType,U.nullable=!0;else U.anyOf=[j,{type:"null"}]},LP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},SP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},PP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);if(j.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},OP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType;let I;try{I=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=I},zP=(_,$,U,N)=>{let D=_._zod.def,j=D.in._zod.traits.has("$ZodTransform"),I=$.io==="input"?j?D.out:D.in:D.out;O_(I,$,N);let E=$.seen.get(_);E.ref=I},XP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType,U.readOnly=!0},RP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},oj=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},YP=(_,$,U,N)=>{let D=_._zod.innerType;O_(D,$,N);let j=$.seen.get(_);j.ref=D},ij;var iD=f(()=>{dD();m();GH={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},ij={string:fS,number:xS,boolean:yS,bigint:uS,symbol:hS,null:rS,undefined:cS,void:mS,never:nS,any:dS,unknown:lS,date:iS,enum:tS,literal:oS,nan:pS,template_literal:aS,file:eS,success:sS,custom:_P,function:$P,transform:UP,map:DP,set:NP,array:jP,object:IP,union:tj,intersection:EP,tuple:AP,record:WP,nullable:JP,nonoptional:LP,default:SP,prefault:PP,catch:OP,pipe:zP,readonly:XP,promise:RP,optional:oj,lazy:YP}});class QP{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=p6({processors:ij,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return O_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}a6(this.ctx,_);let U=e6(this.ctx,_),{"~standard":N,...D}=U;return D}}var JR=f(()=>{iD();dD()});var LR={};var SR=()=>{};var $6={};l$($6,{version:()=>yW,util:()=>k,treeifyError:()=>aN,toJSONSchema:()=>lD,toDotPath:()=>f9,safeParseAsync:()=>mA,safeParse:()=>cA,safeEncodeAsync:()=>Bg,safeEncode:()=>Tg,safeDecodeAsync:()=>Fg,safeDecode:()=>Vg,registry:()=>fD,regexes:()=>W$,process:()=>O_,prettifyError:()=>eN,parseAsync:()=>_j,parse:()=>sN,meta:()=>CS,locales:()=>$U,isValidJWT:()=>N8,isValidBase64URL:()=>D8,isValidBase64:()=>EJ,initializeContext:()=>p6,globalRegistry:()=>m_,globalConfig:()=>g4,formatError:()=>t0,flattenError:()=>i0,finalize:()=>e6,extractDefs:()=>a6,encodeAsync:()=>Qg,encode:()=>Rg,describe:()=>bS,decodeAsync:()=>Gg,decode:()=>Yg,createToJSONSchemaMethod:()=>vS,createStandardJSONSchemaMethod:()=>DU,config:()=>C_,clone:()=>i_,_xor:()=>eZ,_xid:()=>fj,_void:()=>BS,_uuidv7:()=>qj,_uuidv6:()=>Hj,_uuidv4:()=>Zj,_uuid:()=>gj,_url:()=>uD,_uppercase:()=>v4,_unknown:()=>TS,_union:()=>aZ,_undefined:()=>YS,_ulid:()=>vj,_uint64:()=>XS,_uint32:()=>JS,_tuple:()=>$H,_trim:()=>r4,_transform:()=>AH,_toUpperCase:()=>m4,_toLowerCase:()=>c4,_templateLiteral:()=>RH,_symbol:()=>RS,_superRefine:()=>kS,_success:()=>PH,_stringbool:()=>wS,_stringFormat:()=>UU,_string:()=>aL,_startsWith:()=>x4,_slugify:()=>n4,_size:()=>i6,_set:()=>NH,_safeParseAsync:()=>e0,_safeParse:()=>a0,_safeEncodeAsync:()=>Ej,_safeEncode:()=>jj,_safeDecodeAsync:()=>Aj,_safeDecode:()=>Ij,_regex:()=>C4,_refine:()=>qS,_record:()=>UH,_readonly:()=>XH,_property:()=>nD,_promise:()=>QH,_positive:()=>hD,_pipe:()=>zH,_parseAsync:()=>p0,_parse:()=>o0,_overwrite:()=>K$,_optional:()=>WH,_number:()=>NS,_nullable:()=>JH,_null:()=>QS,_normalize:()=>h4,_nonpositive:()=>cD,_nonoptional:()=>SH,_nonnegative:()=>mD,_never:()=>VS,_negative:()=>rD,_nativeEnum:()=>IH,_nanoid:()=>bj,_nan:()=>MS,_multipleOf:()=>V6,_minSize:()=>v$,_minLength:()=>_6,_min:()=>t_,_mime:()=>u4,_maxSize:()=>B6,_maxLength:()=>t6,_max:()=>J$,_map:()=>DH,_mac:()=>sL,_lte:()=>J$,_lt:()=>C$,_lowercase:()=>w4,_literal:()=>EH,_length:()=>o6,_lazy:()=>YH,_ksuid:()=>xj,_jwt:()=>dj,_isoTime:()=>US,_isoDuration:()=>DS,_isoDateTime:()=>_S,_isoDate:()=>$S,_ipv6:()=>uj,_ipv4:()=>yj,_intersection:()=>_H,_int64:()=>zS,_int32:()=>WS,_int:()=>IS,_includes:()=>f4,_guid:()=>yD,_gte:()=>t_,_gt:()=>w$,_float64:()=>AS,_float32:()=>ES,_file:()=>ZS,_enum:()=>jH,_endsWith:()=>y4,_encodeAsync:()=>Dj,_encode:()=>$j,_emoji:()=>kj,_email:()=>Mj,_e164:()=>nj,_discriminatedUnion:()=>sZ,_default:()=>LH,_decodeAsync:()=>Nj,_decode:()=>Uj,_date:()=>FS,_custom:()=>HS,_cuid2:()=>wj,_cuid:()=>Cj,_coercedString:()=>eL,_coercedNumber:()=>jS,_coercedDate:()=>KS,_coercedBoolean:()=>SS,_coercedBigint:()=>OS,_cidrv6:()=>rj,_cidrv4:()=>hj,_check:()=>AR,_catch:()=>OH,_boolean:()=>LS,_bigint:()=>PS,_base64url:()=>mj,_base64:()=>cj,_array:()=>gS,_any:()=>GS,TimePrecision:()=>lj,NEVER:()=>iN,JSONSchemaGenerator:()=>QP,JSONSchema:()=>LR,Doc:()=>Oj,$output:()=>Fj,$input:()=>Kj,$constructor:()=>V,$brand:()=>tN,$ZodXor:()=>KJ,$ZodXID:()=>pW,$ZodVoid:()=>TJ,$ZodUnknown:()=>QJ,$ZodUnion:()=>qD,$ZodUndefined:()=>XJ,$ZodUUID:()=>cW,$ZodURL:()=>nW,$ZodULID:()=>oW,$ZodType:()=>p,$ZodTuple:()=>Tj,$ZodTransform:()=>wJ,$ZodTemplateLiteral:()=>dJ,$ZodSymbol:()=>zJ,$ZodSuccess:()=>hJ,$ZodStringFormat:()=>V_,$ZodString:()=>b4,$ZodSet:()=>qJ,$ZodRegistry:()=>pL,$ZodRecord:()=>ZJ,$ZodRealError:()=>A$,$ZodReadonly:()=>nJ,$ZodPromise:()=>iJ,$ZodPreprocess:()=>mJ,$ZodPrefault:()=>yJ,$ZodPipe:()=>Bj,$ZodOptional:()=>Vj,$ZodObjectJIT:()=>FJ,$ZodObject:()=>E8,$ZodNumberFormat:()=>PJ,$ZodNumber:()=>Qj,$ZodNullable:()=>fJ,$ZodNull:()=>RJ,$ZodNonOptional:()=>uJ,$ZodNever:()=>GJ,$ZodNanoID:()=>lW,$ZodNaN:()=>cJ,$ZodMap:()=>HJ,$ZodMAC:()=>NJ,$ZodLiteral:()=>bJ,$ZodLazy:()=>tJ,$ZodKSUID:()=>aW,$ZodJWT:()=>LJ,$ZodIntersection:()=>gJ,$ZodISOTime:()=>_J,$ZodISODuration:()=>$J,$ZodISODateTime:()=>eW,$ZodISODate:()=>sW,$ZodIPv6:()=>DJ,$ZodIPv4:()=>UJ,$ZodGUID:()=>rW,$ZodFunction:()=>lJ,$ZodFile:()=>CJ,$ZodExactOptional:()=>vJ,$ZodError:()=>KD,$ZodEnum:()=>kJ,$ZodEncodeError:()=>Z4,$ZodEmoji:()=>dW,$ZodEmail:()=>mW,$ZodE164:()=>JJ,$ZodDiscriminatedUnion:()=>MJ,$ZodDefault:()=>xJ,$ZodDate:()=>VJ,$ZodCustomStringFormat:()=>SJ,$ZodCustom:()=>oJ,$ZodCodec:()=>kD,$ZodCheckUpperCase:()=>kW,$ZodCheckStringFormat:()=>s0,$ZodCheckStartsWith:()=>CW,$ZodCheckSizeEquals:()=>KW,$ZodCheckRegex:()=>HW,$ZodCheckProperty:()=>vW,$ZodCheckOverwrite:()=>xW,$ZodCheckNumberFormat:()=>TW,$ZodCheckMultipleOf:()=>GW,$ZodCheckMinSize:()=>FW,$ZodCheckMinLength:()=>gW,$ZodCheckMimeType:()=>fW,$ZodCheckMaxSize:()=>BW,$ZodCheckMaxLength:()=>MW,$ZodCheckLowerCase:()=>qW,$ZodCheckLessThan:()=>Lj,$ZodCheckLengthEquals:()=>ZW,$ZodCheckIncludes:()=>bW,$ZodCheckGreaterThan:()=>Sj,$ZodCheckEndsWith:()=>wW,$ZodCheckBigIntFormat:()=>VW,$ZodCheck:()=>B_,$ZodCatch:()=>rJ,$ZodCUID2:()=>tW,$ZodCUID:()=>iW,$ZodCIDRv6:()=>IJ,$ZodCIDRv4:()=>jJ,$ZodBoolean:()=>HD,$ZodBigIntFormat:()=>OJ,$ZodBigInt:()=>Gj,$ZodBase64URL:()=>WJ,$ZodBase64:()=>AJ,$ZodAsyncError:()=>s$,$ZodArray:()=>BJ,$ZodAny:()=>YJ});var X$=f(()=>{m();Jj();oL();iD();JR();SR();H4();nA();rA();pJ();Pj();uW();xD();WR();dD()});var pj={};l$(pj,{uppercase:()=>v4,trim:()=>r4,toUpperCase:()=>m4,toLowerCase:()=>c4,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,regex:()=>C4,property:()=>nD,positive:()=>hD,overwrite:()=>K$,normalize:()=>h4,nonpositive:()=>cD,nonnegative:()=>mD,negative:()=>rD,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,maxSize:()=>B6,maxLength:()=>t6,lte:()=>J$,lt:()=>C$,lowercase:()=>w4,length:()=>o6,includes:()=>f4,gte:()=>t_,gt:()=>w$,endsWith:()=>y4});var aj=f(()=>{X$()});var d4={};l$(d4,{time:()=>VP,duration:()=>BP,datetime:()=>GP,date:()=>TP,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD});function GP(_){return _S(tD,_)}function TP(_){return $S(oD,_)}function VP(_){return US(pD,_)}function BP(_){return DS(aD,_)}var tD,oD,pD,aD;var eD=f(()=>{X$();_1();tD=V("ZodISODateTime",(_,$)=>{eW.init(_,$),R_.init(_,$)});oD=V("ZodISODate",(_,$)=>{sW.init(_,$),R_.init(_,$)});pD=V("ZodISOTime",(_,$)=>{_J.init(_,$),R_.init(_,$)});aD=V("ZodISODuration",(_,$)=>{$J.init(_,$),R_.init(_,$)})});var PR=(_,$)=>{KD.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>t0(_,U)},flatten:{value:(U)=>i0(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,n0,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,n0,2)}},isEmpty:{get(){return _.issues.length===0}}})},OR,U$;var FP=f(()=>{X$();X$();m();OR=V("ZodError",PR),U$=V("ZodError",PR,{Parent:Error})});var ej,sj,_I,$I,UI,DI,NI,jI,II,EI,AI,WI;var KP=f(()=>{X$();FP();ej=o0(U$),sj=p0(U$),_I=a0(U$),$I=e0(U$),UI=$j(U$),DI=Uj(U$),NI=Dj(U$),jI=Nj(U$),II=jj(U$),EI=Ij(U$),AI=Ej(U$),WI=Aj(U$)});var sD={};l$(sD,{xor:()=>XO,xid:()=>uP,void:()=>JO,uuidv7:()=>kP,uuidv6:()=>qP,uuidv4:()=>HP,uuid:()=>ZP,url:()=>bP,unknown:()=>s6,union:()=>B1,undefined:()=>AO,ulid:()=>yP,uint64:()=>IO,uint32:()=>DO,tuple:()=>gI,transform:()=>K1,templateLiteral:()=>qO,symbol:()=>EO,superRefine:()=>$E,success:()=>MO,stringbool:()=>yO,stringFormat:()=>pP,string:()=>NU,strictObject:()=>OO,set:()=>TO,refine:()=>_E,record:()=>ZI,readonly:()=>tI,promise:()=>kO,preprocess:()=>hO,prefault:()=>hI,pipe:()=>U1,partialRecord:()=>YO,optional:()=>IU,object:()=>PO,number:()=>LI,nullish:()=>KO,nullable:()=>EU,null:()=>XI,nonoptional:()=>rI,never:()=>V1,nativeEnum:()=>VO,nanoid:()=>vP,nan:()=>gO,meta:()=>fO,map:()=>GO,mac:()=>cP,looseRecord:()=>QO,looseObject:()=>zO,literal:()=>BO,lazy:()=>aI,ksuid:()=>hP,keyof:()=>SO,jwt:()=>oP,json:()=>uO,ipv6:()=>mP,ipv4:()=>rP,invertCodec:()=>HO,intersection:()=>KI,int64:()=>jO,int32:()=>UO,int:()=>$1,instanceof:()=>xO,httpUrl:()=>CP,hostname:()=>aP,hex:()=>eP,hash:()=>sP,guid:()=>gP,function:()=>bO,float64:()=>$O,float32:()=>_O,file:()=>FO,exactOptional:()=>vI,enum:()=>F1,emoji:()=>wP,email:()=>MP,e164:()=>tP,discriminatedUnion:()=>RO,describe:()=>vO,date:()=>LO,custom:()=>wO,cuid2:()=>xP,cuid:()=>fP,codec:()=>ZO,cidrv6:()=>dP,cidrv4:()=>nP,check:()=>CO,catch:()=>nI,boolean:()=>SI,bigint:()=>NO,base64url:()=>iP,base64:()=>lP,array:()=>JU,any:()=>WO,_function:()=>bO,_default:()=>yI,_ZodString:()=>N1,ZodXor:()=>VI,ZodXID:()=>L1,ZodVoid:()=>GI,ZodUnknown:()=>YI,ZodUnion:()=>SU,ZodUndefined:()=>OI,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>MI,ZodTransform:()=>CI,ZodTemplateLiteral:()=>oI,ZodSymbol:()=>PI,ZodSuccess:()=>cI,ZodStringFormat:()=>R_,ZodString:()=>t4,ZodSet:()=>qI,ZodRecord:()=>l4,ZodReadonly:()=>iI,ZodPromise:()=>eI,ZodPreprocess:()=>lI,ZodPrefault:()=>uI,ZodPipe:()=>PU,ZodOptional:()=>M1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>fI,ZodNull:()=>zI,ZodNonOptional:()=>g1,ZodNever:()=>QI,ZodNanoID:()=>E1,ZodNaN:()=>dI,ZodMap:()=>HI,ZodMAC:()=>JI,ZodLiteral:()=>kI,ZodLazy:()=>pI,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIntersection:()=>FI,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>jU,ZodFunction:()=>sI,ZodFile:()=>bI,ZodExactOptional:()=>wI,ZodEnum:()=>i4,ZodEmoji:()=>I1,ZodEmail:()=>j1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>BI,ZodDefault:()=>xI,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>mI,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>Y1,ZodBase64:()=>R1,ZodArray:()=>TI,ZodAny:()=>RI});function D1(_,$,U){let N=Object.getPrototypeOf(_),D=zR.get(N);if(!D)D=new Set,zR.set(N,D);if(D.has($))return;D.add($);for(let j in U){let I=U[j];Object.defineProperty(N,j,{configurable:!0,enumerable:!1,get(){let E=I.bind(this);return Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:E}),E},set(E){Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:E})}})}}function NU(_){return aL(t4,_)}function MP(_){return Mj(j1,_)}function gP(_){return yD(jU,_)}function ZP(_){return gj(f$,_)}function HP(_){return Zj(f$,_)}function qP(_){return Hj(f$,_)}function kP(_){return qj(f$,_)}function bP(_){return uD(AU,_)}function CP(_){return uD(AU,{protocol:W$.httpProtocol,hostname:W$.domain,...k.normalizeParams(_)})}function wP(_){return kj(I1,_)}function vP(_){return bj(E1,_)}function fP(_){return Cj(A1,_)}function xP(_){return wj(W1,_)}function yP(_){return vj(J1,_)}function uP(_){return fj(L1,_)}function hP(_){return xj(S1,_)}function rP(_){return yj(P1,_)}function cP(_){return sL(JI,_)}function mP(_){return uj(O1,_)}function nP(_){return hj(z1,_)}function dP(_){return rj(X1,_)}function lP(_){return cj(R1,_)}function iP(_){return mj(Y1,_)}function tP(_){return nj(Q1,_)}function oP(_){return dj(G1,_)}function pP(_,$,U={}){return UU(o4,_,$,U)}function aP(_){return UU(o4,"hostname",W$.hostname,_)}function eP(_){return UU(o4,"hex",W$.hex,_)}function sP(_,$){let U=$?.enc??"hex",N=`${_}_${U}`,D=W$[N];if(!D)throw Error(`Unrecognized hash format: ${N}`);return UU(o4,N,D,$)}function LI(_){return NS(p4,_)}function $1(_){return IS(_4,_)}function _O(_){return ES(_4,_)}function $O(_){return AS(_4,_)}function UO(_){return WS(_4,_)}function DO(_){return JS(_4,_)}function SI(_){return LS(a4,_)}function NO(_){return PS(e4,_)}function jO(_){return zS(T1,_)}function IO(_){return XS(T1,_)}function EO(_){return RS(PI,_)}function AO(_){return YS(OI,_)}function XI(_){return QS(zI,_)}function WO(){return GS(RI)}function s6(){return TS(YI)}function V1(_){return VS(QI,_)}function JO(_){return BS(GI,_)}function LO(_){return FS(WU,_)}function JU(_,$){return gS(TI,_,$)}function SO(_){let $=_._zod.def.shape;return F1(Object.keys($))}function PO(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new LU(U)}function OO(_,$){return new LU({type:"object",shape:_,catchall:V1(),...k.normalizeParams($)})}function zO(_,$){return new LU({type:"object",shape:_,catchall:s6(),...k.normalizeParams($)})}function B1(_,$){return new SU({type:"union",options:_,...k.normalizeParams($)})}function XO(_,$){return new VI({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function RO(_,$,U){return new BI({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function KI(_,$){return new FI({type:"intersection",left:_,right:$})}function gI(_,$,U){let N=$ instanceof p,D=N?U:$;return new MI({type:"tuple",items:_,rest:N?$:null,...k.normalizeParams(D)})}function ZI(_,$,U){if(!$||!$._zod)return new l4({type:"record",keyType:NU(),valueType:_,...k.normalizeParams($)});return new l4({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function YO(_,$,U){let N=i_(_);return N._zod.values=void 0,new l4({type:"record",keyType:N,valueType:$,...k.normalizeParams(U)})}function QO(_,$,U){return new l4({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function GO(_,$,U){return new HI({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function TO(_,$){return new qI({type:"set",valueType:_,...k.normalizeParams($)})}function F1(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((N)=>[N,N])):_;return new i4({type:"enum",entries:U,...k.normalizeParams($)})}function VO(_,$){return new i4({type:"enum",entries:_,...k.normalizeParams($)})}function BO(_,$){return new kI({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function FO(_){return ZS(bI,_)}function K1(_){return new CI({type:"transform",transform:_})}function IU(_){return new M1({type:"optional",innerType:_})}function vI(_){return new wI({type:"optional",innerType:_})}function EU(_){return new fI({type:"nullable",innerType:_})}function KO(_){return IU(EU(_))}function yI(_,$){return new xI({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function hI(_,$){return new uI({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function rI(_,$){return new g1({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function MO(_){return new cI({type:"success",innerType:_})}function nI(_,$){return new mI({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function gO(_){return MS(dI,_)}function U1(_,$){return new PU({type:"pipe",in:_,out:$})}function ZO(_,$,U){return new OU({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function HO(_){let $=_._zod.def;return new OU({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function tI(_){return new iI({type:"readonly",innerType:_})}function qO(_,$){return new oI({type:"template_literal",parts:_,...k.normalizeParams($)})}function aI(_){return new pI({type:"lazy",getter:_})}function kO(_){return new eI({type:"promise",innerType:_})}function bO(_){return new sI({type:"function",input:Array.isArray(_?.input)?gI(_?.input):_?.input??JU(s6()),output:_?.output??s6()})}function CO(_){let $=new B_({check:"custom"});return $._zod.check=_,$}function wO(_,$){return HS(zU,_??(()=>!0),$)}function _E(_,$={}){return qS(zU,_,$)}function $E(_,$){return kS(_,$)}function xO(_,$={}){let U=new zU({type:"custom",check:"custom",fn:(N)=>N instanceof _,abort:!0,...k.normalizeParams($)});return U._zod.bag.Class=_,U._zod.check=(N)=>{if(!(N.value instanceof _))N.issues.push({code:"invalid_type",expected:_.name,input:N.value,inst:U,path:[...U._zod.def.path??[]]})},U}function uO(_){let $=aI(()=>{return B1([NU(_),LI(),SI(),XI(),JU($),ZI(NU(),$)])});return $}function hO(_,$){return new lI({type:"pipe",in:K1(_),out:$})}var zR,e,N1,t4,R_,j1,jU,f$,AU,I1,E1,A1,W1,J1,L1,S1,P1,JI,O1,z1,X1,R1,Y1,Q1,G1,o4,p4,_4,a4,e4,T1,PI,OI,zI,RI,YI,QI,GI,WU,TI,LU,SU,VI,BI,FI,MI,l4,HI,qI,i4,kI,bI,CI,M1,wI,fI,xI,uI,g1,cI,mI,dI,PU,OU,lI,iI,oI,pI,eI,sI,zU,vO,fO,yO=(..._)=>wS({Codec:OU,Boolean:a4,String:t4},..._);var _1=f(()=>{X$();X$();iD();dD();aj();eD();KP();zR=new WeakMap;e=V("ZodType",(_,$)=>{return p.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:DU(_,"input"),output:DU(_,"output")}}),_.toJSONSchema=vS(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,N)=>ej(_,U,N,{callee:_.parse}),_.safeParse=(U,N)=>_I(_,U,N),_.parseAsync=async(U,N)=>sj(_,U,N,{callee:_.parseAsync}),_.safeParseAsync=async(U,N)=>$I(_,U,N),_.spa=_.safeParseAsync,_.encode=(U,N)=>UI(_,U,N),_.decode=(U,N)=>DI(_,U,N),_.encodeAsync=async(U,N)=>NI(_,U,N),_.decodeAsync=async(U,N)=>jI(_,U,N),_.safeEncode=(U,N)=>II(_,U,N),_.safeDecode=(U,N)=>EI(_,U,N),_.safeEncodeAsync=async(U,N)=>AI(_,U,N),_.safeDecodeAsync=async(U,N)=>WI(_,U,N),D1(_,"ZodType",{check(...U){let N=this.def;return this.clone(k.mergeDefs(N,{checks:[...N.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,N){return i_(this,U,N)},brand(){return this},register(U,N){return U.add(this,N),this},refine(U,N){return this.check(_E(U,N))},superRefine(U,N){return this.check($E(U,N))},overwrite(U){return this.check(K$(U))},optional(){return IU(this)},exactOptional(){return vI(this)},nullable(){return EU(this)},nullish(){return IU(EU(this))},nonoptional(U){return rI(this,U)},array(){return JU(this)},or(U){return B1([this,U])},and(U){return KI(this,U)},transform(U){return U1(this,K1(U))},default(U){return yI(this,U)},prefault(U){return hI(this,U)},catch(U){return nI(this,U)},pipe(U){return U1(this,U)},readonly(){return tI(this)},describe(U){let N=this.clone();return m_.add(N,{description:U}),N},meta(...U){if(U.length===0)return m_.get(this);let N=this.clone();return m_.add(N,U[0]),N},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty(_,"description",{get(){return m_.get(_)?.description},configurable:!0}),_}),N1=V("_ZodString",(_,$)=>{b4.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>fS(_,N,D,j);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,D1(_,"_ZodString",{regex(...N){return this.check(C4(...N))},includes(...N){return this.check(f4(...N))},startsWith(...N){return this.check(x4(...N))},endsWith(...N){return this.check(y4(...N))},min(...N){return this.check(_6(...N))},max(...N){return this.check(t6(...N))},length(...N){return this.check(o6(...N))},nonempty(...N){return this.check(_6(1,...N))},lowercase(N){return this.check(w4(N))},uppercase(N){return this.check(v4(N))},trim(){return this.check(r4())},normalize(...N){return this.check(h4(...N))},toLowerCase(){return this.check(c4())},toUpperCase(){return this.check(m4())},slugify(){return this.check(n4())}})}),t4=V("ZodString",(_,$)=>{b4.init(_,$),N1.init(_,$),_.email=(U)=>_.check(Mj(j1,U)),_.url=(U)=>_.check(uD(AU,U)),_.jwt=(U)=>_.check(dj(G1,U)),_.emoji=(U)=>_.check(kj(I1,U)),_.guid=(U)=>_.check(yD(jU,U)),_.uuid=(U)=>_.check(gj(f$,U)),_.uuidv4=(U)=>_.check(Zj(f$,U)),_.uuidv6=(U)=>_.check(Hj(f$,U)),_.uuidv7=(U)=>_.check(qj(f$,U)),_.nanoid=(U)=>_.check(bj(E1,U)),_.guid=(U)=>_.check(yD(jU,U)),_.cuid=(U)=>_.check(Cj(A1,U)),_.cuid2=(U)=>_.check(wj(W1,U)),_.ulid=(U)=>_.check(vj(J1,U)),_.base64=(U)=>_.check(cj(R1,U)),_.base64url=(U)=>_.check(mj(Y1,U)),_.xid=(U)=>_.check(fj(L1,U)),_.ksuid=(U)=>_.check(xj(S1,U)),_.ipv4=(U)=>_.check(yj(P1,U)),_.ipv6=(U)=>_.check(uj(O1,U)),_.cidrv4=(U)=>_.check(hj(z1,U)),_.cidrv6=(U)=>_.check(rj(X1,U)),_.e164=(U)=>_.check(nj(Q1,U)),_.datetime=(U)=>_.check(GP(U)),_.date=(U)=>_.check(TP(U)),_.time=(U)=>_.check(VP(U)),_.duration=(U)=>_.check(BP(U))});R_=V("ZodStringFormat",(_,$)=>{V_.init(_,$),N1.init(_,$)}),j1=V("ZodEmail",(_,$)=>{mW.init(_,$),R_.init(_,$)});jU=V("ZodGUID",(_,$)=>{rW.init(_,$),R_.init(_,$)});f$=V("ZodUUID",(_,$)=>{cW.init(_,$),R_.init(_,$)});AU=V("ZodURL",(_,$)=>{nW.init(_,$),R_.init(_,$)});I1=V("ZodEmoji",(_,$)=>{dW.init(_,$),R_.init(_,$)});E1=V("ZodNanoID",(_,$)=>{lW.init(_,$),R_.init(_,$)});A1=V("ZodCUID",(_,$)=>{iW.init(_,$),R_.init(_,$)});W1=V("ZodCUID2",(_,$)=>{tW.init(_,$),R_.init(_,$)});J1=V("ZodULID",(_,$)=>{oW.init(_,$),R_.init(_,$)});L1=V("ZodXID",(_,$)=>{pW.init(_,$),R_.init(_,$)});S1=V("ZodKSUID",(_,$)=>{aW.init(_,$),R_.init(_,$)});P1=V("ZodIPv4",(_,$)=>{UJ.init(_,$),R_.init(_,$)});JI=V("ZodMAC",(_,$)=>{NJ.init(_,$),R_.init(_,$)});O1=V("ZodIPv6",(_,$)=>{DJ.init(_,$),R_.init(_,$)});z1=V("ZodCIDRv4",(_,$)=>{jJ.init(_,$),R_.init(_,$)});X1=V("ZodCIDRv6",(_,$)=>{IJ.init(_,$),R_.init(_,$)});R1=V("ZodBase64",(_,$)=>{AJ.init(_,$),R_.init(_,$)});Y1=V("ZodBase64URL",(_,$)=>{WJ.init(_,$),R_.init(_,$)});Q1=V("ZodE164",(_,$)=>{JJ.init(_,$),R_.init(_,$)});G1=V("ZodJWT",(_,$)=>{LJ.init(_,$),R_.init(_,$)});o4=V("ZodCustomStringFormat",(_,$)=>{SJ.init(_,$),R_.init(_,$)});p4=V("ZodNumber",(_,$)=>{Qj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>xS(_,N,D,j),D1(_,"ZodNumber",{gt(N,D){return this.check(w$(N,D))},gte(N,D){return this.check(t_(N,D))},min(N,D){return this.check(t_(N,D))},lt(N,D){return this.check(C$(N,D))},lte(N,D){return this.check(J$(N,D))},max(N,D){return this.check(J$(N,D))},int(N){return this.check($1(N))},safe(N){return this.check($1(N))},positive(N){return this.check(w$(0,N))},nonnegative(N){return this.check(t_(0,N))},negative(N){return this.check(C$(0,N))},nonpositive(N){return this.check(J$(0,N))},multipleOf(N,D){return this.check(V6(N,D))},step(N,D){return this.check(V6(N,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});_4=V("ZodNumberFormat",(_,$)=>{PJ.init(_,$),p4.init(_,$)});a4=V("ZodBoolean",(_,$)=>{HD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>yS(_,U,N,D)});e4=V("ZodBigInt",(_,$)=>{Gj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>uS(_,N,D,j),_.gte=(N,D)=>_.check(t_(N,D)),_.min=(N,D)=>_.check(t_(N,D)),_.gt=(N,D)=>_.check(w$(N,D)),_.gte=(N,D)=>_.check(t_(N,D)),_.min=(N,D)=>_.check(t_(N,D)),_.lt=(N,D)=>_.check(C$(N,D)),_.lte=(N,D)=>_.check(J$(N,D)),_.max=(N,D)=>_.check(J$(N,D)),_.positive=(N)=>_.check(w$(BigInt(0),N)),_.negative=(N)=>_.check(C$(BigInt(0),N)),_.nonpositive=(N)=>_.check(J$(BigInt(0),N)),_.nonnegative=(N)=>_.check(t_(BigInt(0),N)),_.multipleOf=(N,D)=>_.check(V6(N,D));let U=_._zod.bag;_.minValue=U.minimum??null,_.maxValue=U.maximum??null,_.format=U.format??null});T1=V("ZodBigIntFormat",(_,$)=>{OJ.init(_,$),e4.init(_,$)});PI=V("ZodSymbol",(_,$)=>{zJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>hS(_,U,N,D)});OI=V("ZodUndefined",(_,$)=>{XJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>cS(_,U,N,D)});zI=V("ZodNull",(_,$)=>{RJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>rS(_,U,N,D)});RI=V("ZodAny",(_,$)=>{YJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>dS(_,U,N,D)});YI=V("ZodUnknown",(_,$)=>{QJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>lS(_,U,N,D)});QI=V("ZodNever",(_,$)=>{GJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>nS(_,U,N,D)});GI=V("ZodVoid",(_,$)=>{TJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>mS(_,U,N,D)});WU=V("ZodDate",(_,$)=>{VJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>iS(_,N,D,j),_.min=(N,D)=>_.check(t_(N,D)),_.max=(N,D)=>_.check(J$(N,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});TI=V("ZodArray",(_,$)=>{BJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>jP(_,U,N,D),_.element=$.element,D1(_,"ZodArray",{min(U,N){return this.check(_6(U,N))},nonempty(U){return this.check(_6(1,U))},max(U,N){return this.check(t6(U,N))},length(U,N){return this.check(o6(U,N))},unwrap(){return this.element}})});LU=V("ZodObject",(_,$)=>{FJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>IP(_,U,N,D),k.defineLazy(_,"shape",()=>{return $.shape}),D1(_,"ZodObject",{keyof(){return F1(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:s6()})},loose(){return this.clone({...this._zod.def,catchall:s6()})},strict(){return this.clone({...this._zod.def,catchall:V1()})},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(M1,this,U[0])},required(...U){return k.required(g1,this,U[0])}})});SU=V("ZodUnion",(_,$)=>{qD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>tj(_,U,N,D),_.options=$.options});VI=V("ZodXor",(_,$)=>{SU.init(_,$),KJ.init(_,$),_._zod.processJSONSchema=(U,N,D)=>tj(_,U,N,D),_.options=$.options});BI=V("ZodDiscriminatedUnion",(_,$)=>{SU.init(_,$),MJ.init(_,$)});FI=V("ZodIntersection",(_,$)=>{gJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>EP(_,U,N,D)});MI=V("ZodTuple",(_,$)=>{Tj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>AP(_,U,N,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});l4=V("ZodRecord",(_,$)=>{ZJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>WP(_,U,N,D),_.keyType=$.keyType,_.valueType=$.valueType});HI=V("ZodMap",(_,$)=>{HJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>DP(_,U,N,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(v$(...U)),_.nonempty=(U)=>_.check(v$(1,U)),_.max=(...U)=>_.check(B6(...U)),_.size=(...U)=>_.check(i6(...U))});qI=V("ZodSet",(_,$)=>{qJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>NP(_,U,N,D),_.min=(...U)=>_.check(v$(...U)),_.nonempty=(U)=>_.check(v$(1,U)),_.max=(...U)=>_.check(B6(...U)),_.size=(...U)=>_.check(i6(...U))});i4=V("ZodEnum",(_,$)=>{kJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>tS(_,N,D,j),_.enum=$.entries,_.options=Object.values($.entries);let U=new Set(Object.keys($.entries));_.extract=(N,D)=>{let j={};for(let I of N)if(U.has(I))j[I]=$.entries[I];else throw Error(`Key ${I} not found in enum`);return new i4({...$,checks:[],...k.normalizeParams(D),entries:j})},_.exclude=(N,D)=>{let j={...$.entries};for(let I of N)if(U.has(I))delete j[I];else throw Error(`Key ${I} not found in enum`);return new i4({...$,checks:[],...k.normalizeParams(D),entries:j})}});kI=V("ZodLiteral",(_,$)=>{bJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>oS(_,U,N,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]}})});bI=V("ZodFile",(_,$)=>{CJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>eS(_,U,N,D),_.min=(U,N)=>_.check(v$(U,N)),_.max=(U,N)=>_.check(B6(U,N)),_.mime=(U,N)=>_.check(u4(Array.isArray(U)?U:[U],N))});CI=V("ZodTransform",(_,$)=>{wJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>UP(_,U,N,D),_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new Z4(_.constructor.name);U.addIssue=(j)=>{if(typeof j==="string")U.issues.push(k.issue(j,U.value,$));else{let I=j;if(I.fatal)I.continue=!1;I.code??(I.code="custom"),I.input??(I.input=U.value),I.inst??(I.inst=_),U.issues.push(k.issue(I))}};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}});M1=V("ZodOptional",(_,$)=>{Vj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>oj(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});wI=V("ZodExactOptional",(_,$)=>{vJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>oj(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});fI=V("ZodNullable",(_,$)=>{fJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>JP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});xI=V("ZodDefault",(_,$)=>{xJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>SP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});uI=V("ZodPrefault",(_,$)=>{yJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>PP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});g1=V("ZodNonOptional",(_,$)=>{uJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>LP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});cI=V("ZodSuccess",(_,$)=>{hJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>sS(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});mI=V("ZodCatch",(_,$)=>{rJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>OP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});dI=V("ZodNaN",(_,$)=>{cJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>pS(_,U,N,D)});PU=V("ZodPipe",(_,$)=>{Bj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>zP(_,U,N,D),_.in=$.in,_.out=$.out});OU=V("ZodCodec",(_,$)=>{PU.init(_,$),kD.init(_,$)});lI=V("ZodPreprocess",(_,$)=>{PU.init(_,$),mJ.init(_,$)}),iI=V("ZodReadonly",(_,$)=>{nJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>XP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});oI=V("ZodTemplateLiteral",(_,$)=>{dJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>aS(_,U,N,D)});pI=V("ZodLazy",(_,$)=>{tJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>YP(_,U,N,D),_.unwrap=()=>_._zod.def.getter()});eI=V("ZodPromise",(_,$)=>{iJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>RP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});sI=V("ZodFunction",(_,$)=>{lJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>$P(_,U,N,D)});zU=V("ZodCustom",(_,$)=>{oJ.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>_P(_,U,N,D)});vO=bS,fO=CS});function RR(_){C_({customError:_})}function YR(){return C_().customError}var XR,UE;var QR=f(()=>{X$();XR={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(_){})(UE||(UE={}))});function FH(_,$){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 KH(_,$){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 N=$.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===N){let D=U[1];if(!D||!$.defs[D])throw Error(`Reference not found: ${_}`);return $.defs[D]}throw Error(`Reference not found: ${_}`)}function GR(_,$){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=KH(D,$),I=o_(j,$);return $.refs.set(D,I),$.processing.delete(D),I}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((I)=>typeof I==="string"))return y.enum(D);let j=D.map((I)=>y.literal(I));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 I={..._,type:j};return GR(I,$)});if(D.length===0)return y.never();if(D.length===1)return D[0];return y.union(D)}if(!U)return y.any();let N;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));N=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);N=D;break}case"boolean":{N=y.boolean();break}case"null":{N=y.null();break}case"object":{let D={},j=_.properties||{},I=new Set(_.required||[]);for(let[W,J]of Object.entries(j)){let L=o_(J,$);D[W]=I.has(W)?L:L.optional()}if(_.propertyNames){let W=o_(_.propertyNames,$),J=_.additionalProperties&&typeof _.additionalProperties==="object"?o_(_.additionalProperties,$):y.any();if(Object.keys(D).length===0){N=y.record(W,J);break}let L=y.object(D).passthrough(),S=y.looseRecord(W,J);N=y.intersection(L,S);break}if(_.patternProperties){let W=_.patternProperties,J=Object.keys(W),L=[];for(let X of J){let z=o_(W[X],$),Y=y.string().regex(new RegExp(X));L.push(y.looseRecord(Y,z))}let S=[];if(Object.keys(D).length>0)S.push(y.object(D).passthrough());if(S.push(...L),S.length===0)N=y.object({}).passthrough();else if(S.length===1)N=S[0];else{let X=y.intersection(S[0],S[1]);for(let z=2;z<S.length;z++)X=y.intersection(X,S[z]);N=X}break}let E=y.object(D);if(_.additionalProperties===!1)N=E.strict();else if(typeof _.additionalProperties==="object")N=E.catchall(o_(_.additionalProperties,$));else N=E.passthrough();break}case"array":{let{prefixItems:D,items:j}=_;if(D&&Array.isArray(D)){let I=D.map((W)=>o_(W,$)),E=j&&typeof j==="object"&&!Array.isArray(j)?o_(j,$):void 0;if(E)N=y.tuple(I).rest(E);else N=y.tuple(I);if(typeof _.minItems==="number")N=N.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")N=N.check(y.maxLength(_.maxItems))}else if(Array.isArray(j)){let I=j.map((W)=>o_(W,$)),E=_.additionalItems&&typeof _.additionalItems==="object"?o_(_.additionalItems,$):void 0;if(E)N=y.tuple(I).rest(E);else N=y.tuple(I);if(typeof _.minItems==="number")N=N.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")N=N.check(y.maxLength(_.maxItems))}else if(j!==void 0){let I=o_(j,$),E=y.array(I);if(typeof _.minItems==="number")E=E.min(_.minItems);if(typeof _.maxItems==="number")E=E.max(_.maxItems);N=E}else N=y.array(y.any());break}default:throw Error(`Unsupported type: ${U}`)}return N}function o_(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=GR(_,$),N=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let E=_.anyOf.map((J)=>o_(J,$)),W=y.union(E);U=N?y.intersection(U,W):W}if(_.oneOf&&Array.isArray(_.oneOf)){let E=_.oneOf.map((J)=>o_(J,$)),W=y.xor(E);U=N?y.intersection(U,W):W}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)U=N?U:y.any();else{let E=N?U:o_(_.allOf[0],$),W=N?0:1;for(let J=W;J<_.allOf.length;J++)E=y.intersection(E,o_(_.allOf[J],$));U=E}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 E of j)if(E in _)D[E]=_[E];let I=["contentEncoding","contentMediaType","contentSchema"];for(let E of I)if(E in _)D[E]=_[E];for(let E of Object.keys(_))if(!BH.has(E))D[E]=_[E];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function rO(_,$){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 N=FH(U,$?.defaultTarget),D=U.$defs||U.definitions||{},j={version:N,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??m_};return o_(U,j)}var y,BH;var TR=f(()=>{xD();aj();eD();_1();y={...sD,...pj,iso:d4},BH=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 DE={};l$(DE,{string:()=>MH,number:()=>gH,date:()=>qH,boolean:()=>ZH,bigint:()=>HH});function MH(_){return eL(t4,_)}function gH(_){return jS(p4,_)}function ZH(_){return SS(a4,_)}function HH(_){return OS(e4,_)}function qH(_){return KS(WU,_)}var VR=f(()=>{X$();_1()});var NE={};l$(NE,{xor:()=>XO,xid:()=>uP,void:()=>JO,uuidv7:()=>kP,uuidv6:()=>qP,uuidv4:()=>HP,uuid:()=>ZP,util:()=>k,url:()=>bP,uppercase:()=>v4,unknown:()=>s6,union:()=>B1,undefined:()=>AO,ulid:()=>yP,uint64:()=>IO,uint32:()=>DO,tuple:()=>gI,trim:()=>r4,treeifyError:()=>aN,transform:()=>K1,toUpperCase:()=>m4,toLowerCase:()=>c4,toJSONSchema:()=>lD,templateLiteral:()=>qO,symbol:()=>EO,superRefine:()=>$E,success:()=>MO,stringbool:()=>yO,stringFormat:()=>pP,string:()=>NU,strictObject:()=>OO,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,setErrorMap:()=>RR,set:()=>TO,safeParseAsync:()=>$I,safeParse:()=>_I,safeEncodeAsync:()=>AI,safeEncode:()=>II,safeDecodeAsync:()=>WI,safeDecode:()=>EI,registry:()=>fD,regexes:()=>W$,regex:()=>C4,refine:()=>_E,record:()=>ZI,readonly:()=>tI,property:()=>nD,promise:()=>kO,prettifyError:()=>eN,preprocess:()=>hO,prefault:()=>hI,positive:()=>hD,pipe:()=>U1,partialRecord:()=>YO,parseAsync:()=>sj,parse:()=>ej,overwrite:()=>K$,optional:()=>IU,object:()=>PO,number:()=>LI,nullish:()=>KO,nullable:()=>EU,null:()=>XI,normalize:()=>h4,nonpositive:()=>cD,nonoptional:()=>rI,nonnegative:()=>mD,never:()=>V1,negative:()=>rD,nativeEnum:()=>VO,nanoid:()=>vP,nan:()=>gO,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,meta:()=>fO,maxSize:()=>B6,maxLength:()=>t6,map:()=>GO,mac:()=>cP,lte:()=>J$,lt:()=>C$,lowercase:()=>w4,looseRecord:()=>QO,looseObject:()=>zO,locales:()=>$U,literal:()=>BO,length:()=>o6,lazy:()=>aI,ksuid:()=>hP,keyof:()=>SO,jwt:()=>oP,json:()=>uO,iso:()=>d4,ipv6:()=>mP,ipv4:()=>rP,invertCodec:()=>HO,intersection:()=>KI,int64:()=>jO,int32:()=>UO,int:()=>$1,instanceof:()=>xO,includes:()=>f4,httpUrl:()=>CP,hostname:()=>aP,hex:()=>eP,hash:()=>sP,guid:()=>gP,gte:()=>t_,gt:()=>w$,globalRegistry:()=>m_,getErrorMap:()=>YR,function:()=>bO,fromJSONSchema:()=>rO,formatError:()=>t0,float64:()=>$O,float32:()=>_O,flattenError:()=>i0,file:()=>FO,exactOptional:()=>vI,enum:()=>F1,endsWith:()=>y4,encodeAsync:()=>NI,encode:()=>UI,emoji:()=>wP,email:()=>MP,e164:()=>tP,discriminatedUnion:()=>RO,describe:()=>vO,decodeAsync:()=>jI,decode:()=>DI,date:()=>LO,custom:()=>wO,cuid2:()=>xP,cuid:()=>fP,core:()=>$6,config:()=>C_,coerce:()=>DE,codec:()=>ZO,clone:()=>i_,cidrv6:()=>dP,cidrv4:()=>nP,check:()=>CO,catch:()=>nI,boolean:()=>SI,bigint:()=>NO,base64url:()=>iP,base64:()=>lP,array:()=>JU,any:()=>WO,_function:()=>bO,_default:()=>yI,_ZodString:()=>N1,ZodXor:()=>VI,ZodXID:()=>L1,ZodVoid:()=>GI,ZodUnknown:()=>YI,ZodUnion:()=>SU,ZodUndefined:()=>OI,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>MI,ZodTransform:()=>CI,ZodTemplateLiteral:()=>oI,ZodSymbol:()=>PI,ZodSuccess:()=>cI,ZodStringFormat:()=>R_,ZodString:()=>t4,ZodSet:()=>qI,ZodRecord:()=>l4,ZodRealError:()=>U$,ZodReadonly:()=>iI,ZodPromise:()=>eI,ZodPreprocess:()=>lI,ZodPrefault:()=>uI,ZodPipe:()=>PU,ZodOptional:()=>M1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>fI,ZodNull:()=>zI,ZodNonOptional:()=>g1,ZodNever:()=>QI,ZodNanoID:()=>E1,ZodNaN:()=>dI,ZodMap:()=>HI,ZodMAC:()=>JI,ZodLiteral:()=>kI,ZodLazy:()=>pI,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIssueCode:()=>XR,ZodIntersection:()=>FI,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>jU,ZodFunction:()=>sI,ZodFirstPartyTypeKind:()=>UE,ZodFile:()=>bI,ZodExactOptional:()=>wI,ZodError:()=>OR,ZodEnum:()=>i4,ZodEmoji:()=>I1,ZodEmail:()=>j1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>BI,ZodDefault:()=>xI,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>mI,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>Y1,ZodBase64:()=>R1,ZodArray:()=>TI,ZodAny:()=>RI,TimePrecision:()=>lj,NEVER:()=>iN,$output:()=>Fj,$input:()=>Kj,$brand:()=>tN});var cO=f(()=>{X$();X$();IL();X$();iD();TR();oL();eD();eD();VR();_1();aj();FP();KP();QR();C_(bD())});var BR={};l$(BR,{z:()=>NE,xor:()=>XO,xid:()=>uP,void:()=>JO,uuidv7:()=>kP,uuidv6:()=>qP,uuidv4:()=>HP,uuid:()=>ZP,util:()=>k,url:()=>bP,uppercase:()=>v4,unknown:()=>s6,union:()=>B1,undefined:()=>AO,ulid:()=>yP,uint64:()=>IO,uint32:()=>DO,tuple:()=>gI,trim:()=>r4,treeifyError:()=>aN,transform:()=>K1,toUpperCase:()=>m4,toLowerCase:()=>c4,toJSONSchema:()=>lD,templateLiteral:()=>qO,symbol:()=>EO,superRefine:()=>$E,success:()=>MO,stringbool:()=>yO,stringFormat:()=>pP,string:()=>NU,strictObject:()=>OO,startsWith:()=>x4,slugify:()=>n4,size:()=>i6,setErrorMap:()=>RR,set:()=>TO,safeParseAsync:()=>$I,safeParse:()=>_I,safeEncodeAsync:()=>AI,safeEncode:()=>II,safeDecodeAsync:()=>WI,safeDecode:()=>EI,registry:()=>fD,regexes:()=>W$,regex:()=>C4,refine:()=>_E,record:()=>ZI,readonly:()=>tI,property:()=>nD,promise:()=>kO,prettifyError:()=>eN,preprocess:()=>hO,prefault:()=>hI,positive:()=>hD,pipe:()=>U1,partialRecord:()=>YO,parseAsync:()=>sj,parse:()=>ej,overwrite:()=>K$,optional:()=>IU,object:()=>PO,number:()=>LI,nullish:()=>KO,nullable:()=>EU,null:()=>XI,normalize:()=>h4,nonpositive:()=>cD,nonoptional:()=>rI,nonnegative:()=>mD,never:()=>V1,negative:()=>rD,nativeEnum:()=>VO,nanoid:()=>vP,nan:()=>gO,multipleOf:()=>V6,minSize:()=>v$,minLength:()=>_6,mime:()=>u4,meta:()=>fO,maxSize:()=>B6,maxLength:()=>t6,map:()=>GO,mac:()=>cP,lte:()=>J$,lt:()=>C$,lowercase:()=>w4,looseRecord:()=>QO,looseObject:()=>zO,locales:()=>$U,literal:()=>BO,length:()=>o6,lazy:()=>aI,ksuid:()=>hP,keyof:()=>SO,jwt:()=>oP,json:()=>uO,iso:()=>d4,ipv6:()=>mP,ipv4:()=>rP,invertCodec:()=>HO,intersection:()=>KI,int64:()=>jO,int32:()=>UO,int:()=>$1,instanceof:()=>xO,includes:()=>f4,httpUrl:()=>CP,hostname:()=>aP,hex:()=>eP,hash:()=>sP,guid:()=>gP,gte:()=>t_,gt:()=>w$,globalRegistry:()=>m_,getErrorMap:()=>YR,function:()=>bO,fromJSONSchema:()=>rO,formatError:()=>t0,float64:()=>$O,float32:()=>_O,flattenError:()=>i0,file:()=>FO,exactOptional:()=>vI,enum:()=>F1,endsWith:()=>y4,encodeAsync:()=>NI,encode:()=>UI,emoji:()=>wP,email:()=>MP,e164:()=>tP,discriminatedUnion:()=>RO,describe:()=>vO,default:()=>kH,decodeAsync:()=>jI,decode:()=>DI,date:()=>LO,custom:()=>wO,cuid2:()=>xP,cuid:()=>fP,core:()=>$6,config:()=>C_,coerce:()=>DE,codec:()=>ZO,clone:()=>i_,cidrv6:()=>dP,cidrv4:()=>nP,check:()=>CO,catch:()=>nI,boolean:()=>SI,bigint:()=>NO,base64url:()=>iP,base64:()=>lP,array:()=>JU,any:()=>WO,_function:()=>bO,_default:()=>yI,_ZodString:()=>N1,ZodXor:()=>VI,ZodXID:()=>L1,ZodVoid:()=>GI,ZodUnknown:()=>YI,ZodUnion:()=>SU,ZodUndefined:()=>OI,ZodUUID:()=>f$,ZodURL:()=>AU,ZodULID:()=>J1,ZodType:()=>e,ZodTuple:()=>MI,ZodTransform:()=>CI,ZodTemplateLiteral:()=>oI,ZodSymbol:()=>PI,ZodSuccess:()=>cI,ZodStringFormat:()=>R_,ZodString:()=>t4,ZodSet:()=>qI,ZodRecord:()=>l4,ZodRealError:()=>U$,ZodReadonly:()=>iI,ZodPromise:()=>eI,ZodPreprocess:()=>lI,ZodPrefault:()=>uI,ZodPipe:()=>PU,ZodOptional:()=>M1,ZodObject:()=>LU,ZodNumberFormat:()=>_4,ZodNumber:()=>p4,ZodNullable:()=>fI,ZodNull:()=>zI,ZodNonOptional:()=>g1,ZodNever:()=>QI,ZodNanoID:()=>E1,ZodNaN:()=>dI,ZodMap:()=>HI,ZodMAC:()=>JI,ZodLiteral:()=>kI,ZodLazy:()=>pI,ZodKSUID:()=>S1,ZodJWT:()=>G1,ZodIssueCode:()=>XR,ZodIntersection:()=>FI,ZodISOTime:()=>pD,ZodISODuration:()=>aD,ZodISODateTime:()=>tD,ZodISODate:()=>oD,ZodIPv6:()=>O1,ZodIPv4:()=>P1,ZodGUID:()=>jU,ZodFunction:()=>sI,ZodFirstPartyTypeKind:()=>UE,ZodFile:()=>bI,ZodExactOptional:()=>wI,ZodError:()=>OR,ZodEnum:()=>i4,ZodEmoji:()=>I1,ZodEmail:()=>j1,ZodE164:()=>Q1,ZodDiscriminatedUnion:()=>BI,ZodDefault:()=>xI,ZodDate:()=>WU,ZodCustomStringFormat:()=>o4,ZodCustom:()=>zU,ZodCodec:()=>OU,ZodCatch:()=>mI,ZodCUID2:()=>W1,ZodCUID:()=>A1,ZodCIDRv6:()=>X1,ZodCIDRv4:()=>z1,ZodBoolean:()=>a4,ZodBigIntFormat:()=>T1,ZodBigInt:()=>e4,ZodBase64URL:()=>Y1,ZodBase64:()=>R1,ZodArray:()=>TI,ZodAny:()=>RI,TimePrecision:()=>lj,NEVER:()=>iN,$output:()=>Fj,$input:()=>Kj,$brand:()=>tN});var kH;var FR=f(()=>{cO();cO();kH=NE});var _N=O4((ef)=>{class U3 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 pG extends U3{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}ef.CommanderError=U3;ef.InvalidArgumentError=pG});var $2=O4((Dx)=>{var{InvalidArgumentError:$x}=_N();class aG{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 $x(`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 Ux(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}Dx.Argument=aG;Dx.humanReadableArgName=Ux});var D3=O4((Ex)=>{var{humanReadableArgName:Ix}=$2();class eG{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((N)=>!N._hidden),U=_._getHelpCommand();if(U&&!U._hidden)$.push(U);if(this.sortSubcommands)$.sort((N,D)=>{return N.name().localeCompare(D.name())});return $}compareOptions(_,$){let U=(N)=>{return N.short?N.short.replace(/^-/,""):N.long.replace(/^--/,"")};return U(_).localeCompare(U($))}visibleOptions(_){let $=_.options.filter((N)=>!N.hidden),U=_._getHelpOption();if(U&&!U.hidden){let N=U.short&&_._findOption(U.short),D=U.long&&_._findOption(U.long);if(!N&&!D)$.push(U);else if(U.long&&!D)$.push(_.createOption(U.long,U.description));else if(U.short&&!N)$.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 N=U.options.filter((D)=>!D.hidden);$.push(...N)}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)=>Ix(U)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(N))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(N))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(N))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleArgumentTerm($.argumentTerm(N))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let U="";for(let N=_.parent;N;N=N.parent)U=N.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(_,$),N=$.helpWidth??80;function D(L,S){return $.formatItem(L,U,S,$)}let j=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],I=$.commandDescription(_);if(I.length>0)j=j.concat([$.boxWrap($.styleCommandDescription(I),N),""]);let E=$.visibleArguments(_).map((L)=>{return D($.styleArgumentTerm($.argumentTerm(L)),$.styleArgumentDescription($.argumentDescription(L)))});if(E.length>0)j=j.concat([$.styleTitle("Arguments:"),...E,""]);let W=$.visibleOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(W.length>0)j=j.concat([$.styleTitle("Options:"),...W,""]);if($.showGlobalOptions){let L=$.visibleGlobalOptions(_).map((S)=>{return D($.styleOptionTerm($.optionTerm(S)),$.styleOptionDescription($.optionDescription(S)))});if(L.length>0)j=j.concat([$.styleTitle("Global Options:"),...L,""])}let J=$.visibleCommands(_).map((L)=>{return D($.styleSubcommandTerm($.subcommandTerm(L)),$.styleSubcommandDescription($.subcommandDescription(L)))});if(J.length>0)j=j.concat([$.styleTitle("Commands:"),...J,""]);return j.join(` +`)}displayWidth(_){return sG(_).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,N){let j=" ".repeat(2);if(!U)return j+_;let I=_.padEnd($+_.length-N.displayWidth(_)),E=2,J=(this.helpWidth??80)-$-E-2,L;if(J<this.minWidthToWrap||N.preformatted(U))L=U;else L=N.boxWrap(U,J).replace(/\n/g,` +`+" ".repeat($+E));return j+I+" ".repeat(E)+L.replace(/\n/g,` +${j}`)}boxWrap(_,$){if($<this.minWidthToWrap)return _;let U=_.split(/\r\n|\n/),N=/[\s]*[^\s]+/g,D=[];return U.forEach((j)=>{let I=j.match(N);if(I===null){D.push("");return}let E=[I.shift()],W=this.displayWidth(E[0]);I.forEach((J)=>{let L=this.displayWidth(J);if(W+L<=$){E.push(J),W+=L;return}D.push(E.join(""));let S=J.trimStart();E=[S],W=this.displayWidth(S)}),D.push(E.join(""))}),D.join(` +`)}}function sG(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}Ex.Help=eG;Ex.stripColor=sG});var N3=O4((Sx)=>{var{InvalidArgumentError:Jx}=_N();class $7{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Lx(_);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 Jx(`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 _7(this.name().replace(/^no-/,""));return _7(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class U7{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 N=this.negativeOptions.get(U).presetArg,D=N!==void 0?N:!1;return $.negate===(D===_)}}function _7(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Lx(_){let $,U,N=/^-[^-]$/,D=/^--[^-]/,j=_.split(/[ |,]+/).concat("guard");if(N.test(j[0]))$=j.shift();if(D.test(j[0]))U=j.shift();if(!$&&N.test(j[0]))$=j.shift();if(!$&&D.test(j[0]))$=U,U=j.shift();if(j[0].startsWith("-")){let I=j[0],E=`option creation failed due to '${I}' in option flags '${_}'`;if(/^-[^-][^-]/.test(I))throw Error(`${E} - 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(E))throw Error(`${I} -- too many short flags`);if(D.test(E))throw Error(`${I} -- too many long flags`);throw Error(`${I} -- unrecognised flag format`)}if($===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:U}}Wx.Option=pG;Wx.DualOptions=aG});var eG=O4((Ox)=>{function Sx(_,$){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 N=1;if(_[D-1]===$[j-1])N=0;else N=1;if(U[D][j]=Math.min(U[D-1][j]+1,U[D][j-1]+1,U[D-1][j-1]+N),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 Px(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let U=_.startsWith("--");if(U)_=_.slice(2),$=$.map((E)=>E.slice(2));let j=[],D=3,N=0.4;if($.forEach((E)=>{if(E.length<=1)return;let I=Sx(_,E),W=Math.max(_.length,E.length);if((W-I)/W>N){if(I<D)D=I,j=[E];else if(I===D)j.push(E)}}),j.sort((E,I)=>E.localeCompare(I)),U)j=j.map((E)=>`--${E}`);if(j.length>1)return` -(Did you mean one of ${j.join(", ")}?)`;if(j.length===1)return` -(Did you mean ${j[0]}?)`;return""}Ox.suggestSimilar=Px});var U7=O4((Vx)=>{var Xx=S_("events").EventEmitter,j3=S_("child_process"),b6=S_("path"),$2=S_("fs"),L_=S_("process"),{Argument:Yx,humanReadableArgName:Rx}=_2(),{CommanderError:N3}=s1(),{Help:Qx,stripColor:Gx}=U3(),{Option:sG,DualOptions:Tx}=D3(),{suggestSimilar:_7}=eG();class I3 extends Xx{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:($)=>L_.stdout.write($),writeErr:($)=>L_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>L_.stdout.isTTY?L_.stdout.columns:void 0,getErrHelpWidth:()=>L_.stderr.isTTY?L_.stderr.columns:void 0,getOutHasColors:()=>E3()??(L_.stdout.isTTY&&L_.stdout.hasColors?.()),getErrHasColors:()=>E3()??(L_.stderr.isTTY&&L_.stderr.hasColors?.()),stripColor:($)=>Gx($)},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[,N,E]=_.match(/([^ ]+) *(.*)/),I=this.createCommand(N);if(j)I.description(j),I._executableHandler=!0;if(D.isDefault)this._defaultCommandName=I._name;if(I._hidden=!!(D.noHelp||D.hidden),I._executableFile=D.executableFile||null,E)I.arguments(E);if(this._registerCommand(I),I.parent=this,I.copyInheritedSettings(this),j)return this;return I}createCommand(_){return new I3(_)}createHelp(){return Object.assign(new Qx,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 Yx(_,$)}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",N=this.createCommand(U);if(N.helpOption(!1),j)N.arguments(j);if(D)N.description(D);return this._addImplicitHelpCommand=!0,this._helpCommand=N,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 N3(_,$,U));L_.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 sG(_,$)}_callParseArg(_,$,U,j){try{return _.parseArg($,U)}catch(D){if(D.code==="commander.invalidArgument"){let N=`${j} ${D.message}`;this.error(N,{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,N,E)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let I=this.getOptionValue(U);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,I,N);else if(D!==null&&_.variadic)D=_._concatValue(D,I);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(U,D,E)};if(this.on("option:"+$,(D)=>{let N=`error: option '${_.flags}' argument '${D}' is invalid.`;j(D,N,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let N=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;j(D,N,"env")});return this}_optionEx(_,$,U,j,D){if(typeof $==="object"&&$ instanceof sG)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let N=this.createOption($,U);if(N.makeOptionMandatory(!!_.mandatory),typeof j==="function")N.default(D).argParser(j);else if(j instanceof RegExp){let E=j;j=(I,W)=>{let J=E.exec(I);return J?J[0]:W},N.default(D).argParser(j)}else N.default(j);return this.addOption(N)}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(L_.versions?.electron)$.from="electron";let j=L_.execArgv??[];if(j.includes("-e")||j.includes("--eval")||j.includes("-p")||j.includes("--print"))$.from="eval"}if(_===void 0)_=L_.argv;this.rawArgs=_.slice();let U;switch($.from){case void 0:case"node":this._scriptPath=_[1],U=_.slice(2);break;case"electron":if(L_.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($2.existsSync(_))return;let j=$?`searched for local subcommand relative to directory '${$}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",D=`'${_}' does not exist + - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(N.test(I))throw Error(`${E} +- too many short flags`);if(D.test(I))throw Error(`${E} +- too many long flags`);throw Error(`${E} +- unrecognised flag format`)}if($===void 0&&U===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:U}}Sx.Option=$7;Sx.DualOptions=U7});var D7=O4((Rx)=>{function zx(_,$){if(Math.abs(_.length-$.length)>3)return Math.max(_.length,$.length);let U=[];for(let N=0;N<=_.length;N++)U[N]=[N];for(let N=0;N<=$.length;N++)U[0][N]=N;for(let N=1;N<=$.length;N++)for(let D=1;D<=_.length;D++){let j=1;if(_[D-1]===$[N-1])j=0;else j=1;if(U[D][N]=Math.min(U[D-1][N]+1,U[D][N-1]+1,U[D-1][N-1]+j),D>1&&N>1&&_[D-1]===$[N-2]&&_[D-2]===$[N-1])U[D][N]=Math.min(U[D][N],U[D-2][N-2]+1)}return U[_.length][$.length]}function Xx(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let U=_.startsWith("--");if(U)_=_.slice(2),$=$.map((I)=>I.slice(2));let N=[],D=3,j=0.4;if($.forEach((I)=>{if(I.length<=1)return;let E=zx(_,I),W=Math.max(_.length,I.length);if((W-E)/W>j){if(E<D)D=E,N=[I];else if(E===D)N.push(I)}}),N.sort((I,E)=>I.localeCompare(E)),U)N=N.map((I)=>`--${I}`);if(N.length>1)return` +(Did you mean one of ${N.join(", ")}?)`;if(N.length===1)return` +(Did you mean ${N[0]}?)`;return""}Rx.suggestSimilar=Xx});var E7=O4((Kx)=>{var Qx=P_("events").EventEmitter,j3=P_("child_process"),C6=P_("path"),U2=P_("fs"),S_=P_("process"),{Argument:Gx,humanReadableArgName:Tx}=$2(),{CommanderError:I3}=_N(),{Help:Vx,stripColor:Bx}=D3(),{Option:N7,DualOptions:Fx}=N3(),{suggestSimilar:j7}=D7();class A3 extends Qx{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:($)=>S_.stdout.write($),writeErr:($)=>S_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>S_.stdout.isTTY?S_.stdout.columns:void 0,getErrHelpWidth:()=>S_.stderr.isTTY?S_.stderr.columns:void 0,getOutHasColors:()=>E3()??(S_.stdout.isTTY&&S_.stdout.hasColors?.()),getErrHasColors:()=>E3()??(S_.stderr.isTTY&&S_.stderr.hasColors?.()),stripColor:($)=>Bx($)},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 N=$,D=U;if(typeof N==="object"&&N!==null)D=N,N=null;D=D||{};let[,j,I]=_.match(/([^ ]+) *(.*)/),E=this.createCommand(j);if(N)E.description(N),E._executableHandler=!0;if(D.isDefault)this._defaultCommandName=E._name;if(E._hidden=!!(D.noHelp||D.hidden),E._executableFile=D.executableFile||null,I)E.arguments(I);if(this._registerCommand(E),E.parent=this,E.copyInheritedSettings(this),N)return this;return E}createCommand(_){return new A3(_)}createHelp(){return Object.assign(new Vx,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 Gx(_,$)}argument(_,$,U,N){let D=this.createArgument(_,$);if(typeof U==="function")D.default(N).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,N]=_.match(/([^ ]+) *(.*)/),D=$??"display help for command",j=this.createCommand(U);if(j.helpOption(!1),N)j.arguments(N);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 I3(_,$,U));S_.exit(_)}action(_){let $=(U)=>{let N=this.registeredArguments.length,D=U.slice(0,N);if(this._storeOptionsAsProperties)D[N]=this;else D[N]=this.opts();return D.push(this),_.apply(this,D)};return this._actionHandler=$,this}createOption(_,$){return new N7(_,$)}_callParseArg(_,$,U,N){try{return _.parseArg($,U)}catch(D){if(D.code==="commander.invalidArgument"){let j=`${N} ${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 $=(N)=>{return[N.name()].concat(N.aliases())},U=$(_).find((N)=>this._findCommand(N));if(U){let N=$(this._findCommand(U)).join("|"),D=$(_).join("|");throw Error(`cannot add command '${D}' as already have command '${N}'`)}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 N=(D,j,I)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let E=this.getOptionValue(U);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,E,j);else if(D!==null&&_.variadic)D=_._concatValue(D,E);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(U,D,I)};if(this.on("option:"+$,(D)=>{let j=`error: option '${_.flags}' argument '${D}' is invalid.`;N(D,j,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let j=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;N(D,j,"env")});return this}_optionEx(_,$,U,N,D){if(typeof $==="object"&&$ instanceof N7)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let j=this.createOption($,U);if(j.makeOptionMandatory(!!_.mandatory),typeof N==="function")j.default(D).argParser(N);else if(N instanceof RegExp){let I=N;N=(E,W)=>{let J=I.exec(E);return J?J[0]:W},j.default(D).argParser(N)}else j.default(N);return this.addOption(j)}option(_,$,U,N){return this._optionEx({},_,$,U,N)}requiredOption(_,$,U,N){return this._optionEx({mandatory:!0},_,$,U,N)}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(S_.versions?.electron)$.from="electron";let N=S_.execArgv??[];if(N.includes("-e")||N.includes("--eval")||N.includes("-p")||N.includes("--print"))$.from="eval"}if(_===void 0)_=S_.argv;this.rawArgs=_.slice();let U;switch($.from){case void 0:case"node":this._scriptPath=_[1],U=_.slice(2);break;case"electron":if(S_.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(U2.existsSync(_))return;let N=$?`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(J,L){let S=b6.resolve(J,L);if($2.existsSync(S))return S;if(j.includes(b6.extname(L)))return;let X=j.find((z)=>$2.existsSync(`${S}${z}`));if(X)return`${S}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let N=_._executableFile||`${this._name}-${_._name}`,E=this._executableDir||"";if(this._scriptPath){let J;try{J=$2.realpathSync(this._scriptPath)}catch{J=this._scriptPath}E=b6.resolve(b6.dirname(J),E)}if(E){let J=D(E,N);if(!J&&!_._executableFile&&this._scriptPath){let L=b6.basename(this._scriptPath,b6.extname(this._scriptPath));if(L!==this._name)J=D(E,`${L}-${_._name}`)}N=J||N}U=j.includes(b6.extname(N));let I;if(L_.platform!=="win32")if(U)$.unshift(N),$=$7(L_.execArgv).concat($),I=j3.spawn(L_.argv[0],$,{stdio:"inherit"});else I=j3.spawn(N,$,{stdio:"inherit"});else this._checkForMissingExecutable(N,E,_._name),$.unshift(N),$=$7(L_.execArgv).concat($),I=j3.spawn(L_.execPath,$,{stdio:"inherit"});if(!I.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((L)=>{L_.on(L,()=>{if(I.killed===!1&&I.exitCode===null)I.kill(L)})});let W=this._exitCallback;I.on("close",(J)=>{if(J=J??1,!W)L_.exit(J);else W(new N3(J,"commander.executeSubCommandAsync","(close)"))}),I.on("error",(J)=>{if(J.code==="ENOENT")this._checkForMissingExecutable(N,E,_._name);else if(J.code==="EACCES")throw Error(`'${N}' not executable`);if(!W)L_.exit(1);else{let L=new N3(1,"commander.executeSubCommandAsync","(error)");L.nestedError=J,W(L)}}),this.runningCommand=I}_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 N=j;if(j!==null&&U.parseArg){let E=`error: command-argument value '${j}' is invalid for argument '${U.name()}'.`;N=this._callParseArg(U,j,D,E)}return N};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((N,E)=>{return _(U,E,N)},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((N)=>{j.push({hookedCommand:D,callback:N})})}),$==="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 N;if(N=this._chainOrCallHooks(N,"preAction"),N=this._chainOrCall(N,()=>this._actionHandler(this.processedArgs)),this.parent)N=this._chainOrCall(N,()=>{this.parent.emit(D,_,$)});return N=this._chainOrCallHooks(N,"postAction"),N}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 N(I){return I.length>1&&I[0]==="-"}let E=null;while(D.length){let I=D.shift();if(I==="--"){if(j===U)j.push(I);j.push(...D);break}if(E&&!N(I)){this.emit(`option:${E.name()}`,I);continue}if(E=null,N(I)){let W=this._findOption(I);if(W){if(W.required){let J=D.shift();if(J===void 0)this.optionMissingArgument(W);this.emit(`option:${W.name()}`,J)}else if(W.optional){let J=null;if(D.length>0&&!N(D[0]))J=D.shift();this.emit(`option:${W.name()}`,J)}else this.emit(`option:${W.name()}`);E=W.variadic?W:null;continue}}if(I.length>2&&I[0]==="-"&&I[1]!=="-"){let W=this._findOption(`-${I[1]}`);if(W){if(W.required||W.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${W.name()}`,I.slice(2));else this.emit(`option:${W.name()}`),D.unshift(`-${I.slice(2)}`);continue}}if(/^--[^=]+=/.test(I)){let W=I.indexOf("="),J=this._findOption(I.slice(0,W));if(J&&(J.required||J.optional)){this.emit(`option:${J.name()}`,I.slice(W+1));continue}}if(N(I))j=U;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&U.length===0){if(this._findCommand(I)){if($.push(I),D.length>0)U.push(...D);break}else if(this._getHelpCommand()&&I===this._getHelpCommand().name()){if($.push(I),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(U.push(I),D.length>0)U.push(...D);break}}if(this._passThroughOptions){if(j.push(I),D.length>0)j.push(...D);break}j.push(I)}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(`${_} + - ${N}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let U=!1,N=[".js",".ts",".tsx",".mjs",".cjs"];function D(J,L){let S=C6.resolve(J,L);if(U2.existsSync(S))return S;if(N.includes(C6.extname(L)))return;let X=N.find((z)=>U2.existsSync(`${S}${z}`));if(X)return`${S}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let j=_._executableFile||`${this._name}-${_._name}`,I=this._executableDir||"";if(this._scriptPath){let J;try{J=U2.realpathSync(this._scriptPath)}catch{J=this._scriptPath}I=C6.resolve(C6.dirname(J),I)}if(I){let J=D(I,j);if(!J&&!_._executableFile&&this._scriptPath){let L=C6.basename(this._scriptPath,C6.extname(this._scriptPath));if(L!==this._name)J=D(I,`${L}-${_._name}`)}j=J||j}U=N.includes(C6.extname(j));let E;if(S_.platform!=="win32")if(U)$.unshift(j),$=I7(S_.execArgv).concat($),E=j3.spawn(S_.argv[0],$,{stdio:"inherit"});else E=j3.spawn(j,$,{stdio:"inherit"});else this._checkForMissingExecutable(j,I,_._name),$.unshift(j),$=I7(S_.execArgv).concat($),E=j3.spawn(S_.execPath,$,{stdio:"inherit"});if(!E.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((L)=>{S_.on(L,()=>{if(E.killed===!1&&E.exitCode===null)E.kill(L)})});let W=this._exitCallback;E.on("close",(J)=>{if(J=J??1,!W)S_.exit(J);else W(new I3(J,"commander.executeSubCommandAsync","(close)"))}),E.on("error",(J)=>{if(J.code==="ENOENT")this._checkForMissingExecutable(j,I,_._name);else if(J.code==="EACCES")throw Error(`'${j}' not executable`);if(!W)S_.exit(1);else{let L=new I3(1,"commander.executeSubCommandAsync","(error)");L.nestedError=J,W(L)}}),this.runningCommand=E}_dispatchSubcommand(_,$,U){let N=this._findCommand(_);if(!N)this.help({error:!0});N._prepareForParse();let D;return D=this._chainOrCallSubCommandHook(D,N,"preSubcommand"),D=this._chainOrCall(D,()=>{if(N._executableHandler)this._executeSubCommand(N,$.concat(U));else return N._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,N,D)=>{let j=N;if(N!==null&&U.parseArg){let I=`error: command-argument value '${N}' is invalid for argument '${U.name()}'.`;j=this._callParseArg(U,N,D,I)}return j};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((U,N)=>{let D=U.defaultValue;if(U.variadic){if(N<this.args.length){if(D=this.args.slice(N),U.parseArg)D=D.reduce((j,I)=>{return _(U,I,j)},U.defaultValue)}else if(D===void 0)D=[]}else if(N<this.args.length){if(D=this.args[N],U.parseArg)D=_(U,D,U.defaultValue)}$[N]=D}),this.processedArgs=$}_chainOrCall(_,$){if(_&&_.then&&typeof _.then==="function")return _.then(()=>$());return $()}_chainOrCallHooks(_,$){let U=_,N=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((j)=>{N.push({hookedCommand:D,callback:j})})}),$==="postAction")N.reverse();return N.forEach((D)=>{U=this._chainOrCall(U,()=>{return D.callback(D.hookedCommand,this)})}),U}_chainOrCallSubCommandHook(_,$,U){let N=_;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((D)=>{N=this._chainOrCall(N,()=>{return D(this,$)})});return N}_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 N=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},D=`command:${this.name()}`;if(this._actionHandler){N(),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))N(),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 N(),this._processArguments()}else if(this.commands.length)N(),this.help({error:!0});else N(),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 N=U.attributeName();if(this.getOptionValue(N)===void 0)return!1;return this.getOptionValueSource(N)!=="default"});_.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let N=_.find((D)=>U.conflictsWith.includes(D.attributeName()));if(N)this._conflictingOption(U,N)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],U=[],N=$,D=_.slice();function j(E){return E.length>1&&E[0]==="-"}let I=null;while(D.length){let E=D.shift();if(E==="--"){if(N===U)N.push(E);N.push(...D);break}if(I&&!j(E)){this.emit(`option:${I.name()}`,E);continue}if(I=null,j(E)){let W=this._findOption(E);if(W){if(W.required){let J=D.shift();if(J===void 0)this.optionMissingArgument(W);this.emit(`option:${W.name()}`,J)}else if(W.optional){let J=null;if(D.length>0&&!j(D[0]))J=D.shift();this.emit(`option:${W.name()}`,J)}else this.emit(`option:${W.name()}`);I=W.variadic?W:null;continue}}if(E.length>2&&E[0]==="-"&&E[1]!=="-"){let W=this._findOption(`-${E[1]}`);if(W){if(W.required||W.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${W.name()}`,E.slice(2));else this.emit(`option:${W.name()}`),D.unshift(`-${E.slice(2)}`);continue}}if(/^--[^=]+=/.test(E)){let W=E.indexOf("="),J=this._findOption(E.slice(0,W));if(J&&(J.required||J.optional)){this.emit(`option:${J.name()}`,E.slice(W+1));continue}}if(j(E))N=U;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&U.length===0){if(this._findCommand(E)){if($.push(E),D.length>0)U.push(...D);break}else if(this._getHelpCommand()&&E===this._getHelpCommand().name()){if($.push(E),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(U.push(E),D.length>0)U.push(...D);break}}if(this._passThroughOptions){if(N.push(E),D.length>0)N.push(...D);break}N.push(E)}return{operands:$,unknown:U}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let U=0;U<$;U++){let N=this.options[U].attributeName();_[N]=N===this._versionOptionName?this._version:this[N]}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 L_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,L_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new Tx(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=(N)=>{let E=N.attributeName(),I=this.getOptionValue(E),W=this.options.find((L)=>L.negate&&E===L.attributeName()),J=this.options.find((L)=>!L.negate&&E===L.attributeName());if(W&&(W.presetArg===void 0&&I===!1||W.presetArg!==void 0&&I===W.presetArg))return W;return J||N},j=(N)=>{let E=U(N),I=E.attributeName();if(this.getOptionValueSource(I)==="env")return`environment variable '${E.envVar}'`;return`option '${E.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 N=D.createHelp().visibleOptions(D).filter((E)=>E.long).map((E)=>E.long);j=j.concat(N),D=D.parent}while(D&&!D._enablePositionalOptions);$=_7(_,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())}),$=_7(_,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 Rx(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=b6.basename(_,b6.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=(E)=>this._outputConfiguration.writeErr(E),j=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else U=(E)=>this._outputConfiguration.writeOut(E),j=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(E)=>{if(!j)E=this._outputConfiguration.stripColor(E);return U(E)},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((N)=>N.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((N)=>N.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(L_.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 N;if(typeof $==="function")N=$({error:D.error,command:D.command});else N=$;if(N)D.write(`${N} -`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((j)=>$.is(j)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function $7(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let U,j="127.0.0.1",D="9229",N;if((N=$.match(/^(--inspect(-brk)?)$/))!==null)U=N[1];else if((N=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=N[1],/^\d+$/.test(N[3]))D=N[3];else j=N[3];else if((N=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=N[1],j=N[3],D=N[4];if(U&&D!=="0")return`${U}=${j}:${parseInt(D)+1}`;return $})}function E3(){if(L_.env.NO_COLOR||L_.env.FORCE_COLOR==="0"||L_.env.FORCE_COLOR==="false")return!1;if(L_.env.FORCE_COLOR||L_.env.CLICOLOR_FORCE!==void 0)return!0;return}Vx.Command=I3;Vx.useColor=E3});var E7=O4((Mx)=>{var{Argument:D7}=_2(),{Command:A3}=U7(),{CommanderError:Kx,InvalidArgumentError:j7}=s1(),{Help:gx}=U3(),{Option:N7}=D3();Mx.program=new A3;Mx.createCommand=(_)=>new A3(_);Mx.createOption=(_,$)=>new N7(_,$);Mx.createArgument=(_,$)=>new D7(_,$);Mx.Command=A3;Mx.Option=N7;Mx.Argument=D7;Mx.Help=gx;Mx.CommanderError=Kx;Mx.InvalidArgumentError=j7;Mx.InvalidOptionArgumentError=j7});import{chmodSync as M3,closeSync as eU,existsSync as B0,fsyncSync as R2,lstatSync as s7,openSync as Q2,readFileSync as sU,renameSync as Z3,unlinkSync as G2,writeFileSync as T2}from"fs";import{randomUUID as _D}from"crypto";import{basename as _T,dirname as H3,join as Y2}from"path";import{chmodSync as R3,existsSync as t7,mkdirSync as J2,readFileSync as o7,writeFileSync as Q3}from"fs";import{homedir as L2}from"os";import{dirname as p7,join as l_,resolve as G3}from"path";var W6=l_(".hasna","knowledge"),T3=l_(".hasna","apps","knowledge"),z_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:W6,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 V3(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:z_.s3.bucket,prefix:z_.s3.prefix,region:z_.s3.region,profile:z_.s3.profile,server_side_encryption:z_.s3.server_side_encryption}}}function pU(){return l_(L2(),".open-knowledge","db.json")}function jj(){return l_(L2(),".hasna","knowledge")}function S2(_=process.cwd()){return G3(_,W6)}function a7(){return l_(L2(),T3)}function e7(_=process.cwd()){return G3(_,T3)}function P2(_,$=process.cwd()){if(_==="project"||_==="local")return S$(e7($));return S$(a7())}function S$(_){return{home:_,configPath:l_(_,"config.json"),jsonStorePath:l_(_,"db.json"),knowledgeDbPath:l_(_,"knowledge.db"),artifactsDir:l_(_,"artifacts"),cacheDir:l_(_,"cache"),exportsDir:l_(_,"exports"),indexesDir:l_(_,"indexes"),logsDir:l_(_,"logs"),runsDir:l_(_,"runs"),schemasDir:l_(_,"schemas"),wikiDir:l_(_,"wiki")}}function aU(){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 V0(_){let $=S$(_);J2($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])J2(U,{recursive:!0,mode:448});if(!t7($.configPath))Q3($.configPath,`${JSON.stringify(aU(),null,2)} -`,{mode:384}),R3($.configPath,384);return $}function Nj(_,$=process.cwd()){if(_==="project"||_==="local")return S$(S2($));return S$(jj())}function i$(_){J2(p7(_),{recursive:!0})}function O2(_){let $=o7(_,"utf8");return JSON.parse($)}function B3(_,$){i$(_),Q3(_,`${JSON.stringify($,null,2)} -`,{mode:384}),R3(_,384)}function Ij(){return S$(jj()).jsonStorePath}function $D(_){if(_===Ij()&&B0(pU()))B2();if(!B0(_))i$(_),C3(_,`${JSON.stringify({items:[]},null,2)} -`)}function $T(_){return _.toISOString().replace(/[:.]/g,"-")}function V2(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function UT(_){let $=new Set;for(let U of _)for(let j of V2(U))$.add(j);return $}function DT(_,$){return V2($).some((U)=>_.has(U))}function z2(_,$){i$(_),T2(_,`${JSON.stringify($,null,2)} -`,{mode:384}),M3(_,384)}function F3(_){let $=JSON.parse(sU(_,"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 B2(_={}){if(_.dryRun===!0)return K3(_);return t$(Ij(),()=>K3(_),{createParent:!0})}function K3(_={}){let $=_.dryRun===!0,U=_.now??new Date,j=S$(jj()),D=pU(),N=j.jsonStorePath,E=B0(D),I=B0(N),W={ok:!0,dry_run:$,legacy_path:D,canonical_path:N,legacy_exists:E,canonical_existed:I,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:E?"Legacy global store already imported":"No legacy global store found"};if(!E)return W;let J;try{let R=F3(D);J=R.store,W.skipped_invalid=R.skippedInvalid}catch(R){return W.ok=!1,W.errors.push(`Could not read legacy store: ${R instanceof Error?R.message:String(R)}`),W.message="Legacy global store import failed",W}let L={items:[]};if(I)try{L=F3(N).store}catch(R){return W.ok=!1,W.errors.push(`Could not read canonical store: ${R instanceof Error?R.message:String(R)}`),W.message="Legacy global store import failed",W}let S=UT(L.items),X={items:[...L.items]};for(let R of J.items){if(!R?.id){W.skipped_invalid+=1;continue}if(DT(S,R)){W.skipped_existing+=1;continue}X.items.push(R);for(let P of V2(R))S.add(P);W.imported+=1}if(W.would_create_canonical=!I&&W.imported>0,W.canonical_created=!$&&W.would_create_canonical,W.message=W.imported>0?`Imported ${W.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||W.imported===0)return W;let z=`${$T(U)}-${_D().slice(0,8)}`;if(I)W.backup_path=Y2(j.exportsDir,`legacy-open-knowledge-db-before-import-${z}.json`),z2(W.backup_path,L);return z2(N,X),W.report_path=Y2(j.runsDir,`legacy-open-knowledge-import-${z}.json`),z2(W.report_path,W),W}function z4(_){if(!B0(_))return{exists:!1,items:[]};let $=sU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function jT(_){return`${_}.lock`}var Ej=1e4,q3=25,g3=120000,NT=new Int32Array(new SharedArrayBuffer(4));function F2(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function k3(_){let $=null;try{$=Q2(H3(_),"r"),R2($)}catch{}finally{if($!==null)try{eU($)}catch{}}}var X2=new Set;function C3(_,$){i$(_);let U=Y2(H3(_),`.${_T(_)}.tmp.${_D()}`),j=null;try{j=Q2(U,"wx",384),T2(j,$),R2(j),eU(j),j=null,Z3(U,_);try{M3(_,384)}catch{}k3(_)}catch(D){if(j!==null)try{eU(j)}catch{}try{G2(U)}catch{}throw D}}function b3(_){Atomics.wait(NT,0,0,_)}function ET(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return F2($)!=="ESRCH"}}function w3(_,$){try{let U=sU(_,"utf8"),j=JSON.parse(U);if(typeof j.ts==="number")return $-j.ts>g3&&!ET(j.pid)}catch{}try{return $-s7(_).mtimeMs>g3}catch{return!1}}function IT(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${_D()}`;try{Z3(_,U)}catch(j){if(F2(j)!=="ENOENT")throw j;return}}function AT(_){let $=_D(),U=`${_}.breaker`,j=Date.now();while(Date.now()-j<Ej){if(v3(U,$)){try{if(w3(_,Date.now()))IT(_)}finally{f3(U,$)}return}b3(q3)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${Ej}ms`)}var WT=new Set(["EEXIST","EPERM","EBUSY"]);function JT(_){return _!==void 0&&WT.has(_)}function v3(_,$,U){let j=null,D=!1;try{return j=Q2(_,"wx",384),D=!0,T2(j,`${JSON.stringify({owner:$,pid:process.pid,ts:Date.now()})} -`),R2(j),eU(j),j=null,k3(_),!0}catch(N){if(j!==null)try{eU(j)}catch{}if(D)try{G2(_)}catch{}let E=F2(N);if(JT(E))return U?.(E),!1;throw N}}function LT(_,$){let U=Date.now(),j,D=(N)=>{j=N};while(Date.now()-U<Ej){if(v3(_,$,D))return;if(w3(_,Date.now()))AT(_);b3(q3)}throw Error(`Could not acquire lock on ${_} after ${Ej}ms`+(j?` (last contention: ${j})`:""))}function f3(_,$){try{if(B0(_)){if(JSON.parse(sU(_,"utf8")).owner===$)G2(_)}}catch{}}function UD(_){$D(_);let $=sU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{items:[]};return U}function J6(_,$){C3(_,`${JSON.stringify($,null,2)} -`)}function t$(_,$,U={}){let j=_D(),D=jT(_);if(X2.has(D))return $();if(U.createParent)i$(D);LT(D,j),X2.add(D);try{return $()}finally{X2.delete(D),f3(D,j)}}function x3(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function y3(_){return _.replace(/^k_/,"").slice(0,12)}import{existsSync as zV}from"fs";import{isIP as u3}from"net";import{readFileSync as OT,statSync as zT}from"fs";import{join as h3}from"path";function l3(_){return _.toUpperCase().replace(/-/g,"_")}function ST(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}function i3(_){let $=l3(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function PT(_){return`HASNA_${l3(_)}_API_KEY_OVERRIDE`}var K2="HASNA_PROFILE";class DD extends Error{appName;attempted;constructor(_,$,U){super($);this.name="CredentialResolutionError",this.appName=_,this.attempted=U}}var XT=".hasna",YT="cloud",RT=".config",QT="hasna",GT=65536,TT=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,VT=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/,BT=/[^\t\x20-\x7e]/;function FT(_){let $=_.HOME?.trim();return $?$:null}function t3(_,$){return o3(_,$,null)}function o3(_,$,U){let j=FT($);if(!j||!TT.test(_))return[];let D=U?`${_}.${U}`:_,N=U?`${_}-${U}`:_;return[h3(j,XT,YT,`${D}.env`),h3(j,RT,QT,`${N}-cloud.env`)]}function KT(_){let $=new Map;for(let U of _.split(/\r?\n/)){let j=U.trim();if(j.length===0||j.startsWith("#"))continue;let D=j.startsWith("export ")?j.slice(7).trim():j,N=D.indexOf("=");if(N<=0)continue;let E=D.slice(0,N).trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(E))continue;let I=D.slice(N+1).trim(),W=I[0];if(W==='"'||W==="'"){if(I.length<2||!I.endsWith(W))continue;I=I.slice(1,-1)}if(I.length===0)continue;$.set(E,I)}return $}function r3(_,$){let U;try{let D=zT(_);if(!D.isFile()||D.size>GT)return null;U=OT(_,"utf8")}catch{return null}let j=KT(U);for(let D of $){let N=j.get(D)?.trim();if(N)return N}return null}function F0(_,$,U){if(!BT.test(U))return;throw new DD(_,`The credential from ${$} contains characters that cannot be sent in an HTTP header (a control character or non-ASCII byte). A file written with CR-only line endings is the usual cause. Rewrite that credential file with one LF-terminated KEY=value line. The value is not shown here, and is deliberately never logged.`,[$])}var gT=Symbol.for("nodejs.util.inspect.custom");function K0(_){let{apiKey:$,...U}=_,j={...U};return Object.defineProperty(j,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(j,gT,{value:()=>({...U,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),j}function MT(_,$){return F0(_,"explicit apiKey option",$),K0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function c3(_,$){for(let U of $){let j=_[U]?.trim();if(j)return{key:U,value:j}}return null}var m3=Symbol.for("hasna:contracts:credentialDeprecationNotices");function ZT(){let _=globalThis,$=_[m3];if($ instanceof Set)return $;let U=new Set;return _[m3]=U,U}function HT(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} -`)}function Z2(_,$,U={}){let{apiKeyKeys:j}=i3(_),D=t3(_,$),N=U.apiKey?.trim();if(N)return F0(_,"the explicit apiKey argument",N),K0({apiKey:N,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let E=PT(_),I=$[E];if(I!==void 0){let S=I.trim();if(!S)throw new DD(_,`${E} is set but empty. It is a deliberate override, so it is not resolved around: either give it a real key or unset it to fall back to the credential on disk.`,[E]);return F0(_,E,S),K0({apiKey:S,tier:"override",source:E,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let W=U.profile?.trim()||$[K2]?.trim();if(W){let S=U.profile?.trim()?"explicit profile argument":K2;if(!VT.test(W))throw new DD(_,`Profile name from ${S} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[S]);let X=o3(_,$,W);for(let z of X){let R=r3(z,j);if(R)return F0(_,z,R),K0({apiKey:R,tier:"profile",source:z,deliberate:!0,deprecated:!1,diskCandidates:X,warning:null})}throw new DD(_,`Profile '${W}' (from ${S}) has no ${j[0]} for '${_}'. Looked in: ${X.join(", ")||"<no HOME in this environment>"}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${K2}.`,X)}let J=D.map((S)=>({path:S,value:r3(S,j)})).filter((S)=>S.value!==null);if(J.length>0){let S=J[0];F0(_,S.path,S.value);let X=[...J.slice(1).filter((R)=>R.value!==S.value).map((R)=>R.path),...(()=>{let R=c3($,j);return R&&R.value!==S.value?[R.key]:[]})()],z=X.length>0?`Credential sources disagree for '${_}': ${S.path} and ${X.join(", ")} hold different keys. ${S.path} wins, because a file on `+"disk is re-read on every call while an environment variable is a snapshot. Reconcile them \u2014 "+"a rotation that updated only one leaves the other to fail 401 wherever it is loaded first.":null;return K0({apiKey:S.value,tier:"disk",source:S.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:z})}let L=c3($,j);if(L){F0(_,L.key,L.value);let S=D.length>0?`Put the current key in ${D[0]} \u2014 it is re-read on every call, so rotations take effect immediately.`:"This environment has no HOME, so no credential file could be consulted at all; the disk tier is unavailable here and this process will keep using the environment snapshot.",X=`[${_}] DEPRECATED: the API key came from ${L.key} in this process's environment. Environment variables are a snapshot taken when this process started, so a shell that started before a key rotation keeps using the old key until it exits. ${S}`,z=U.onDeprecation??HT,R=ZT();if(!R.has(_))R.add(_),z(X);return K0({apiKey:L.value,tier:"legacy-env",source:L.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:X})}return null}var v6="HASNA_FLEET_API_DOMAIN",g0="your-deployment.example",q2=/[\u0000-\u001f\u007f]/,p3=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function Aj(_){if(_.length===0||_.length>253||q2.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&p3.test($))}function qT(_){let $=_[v6];if($===void 0)return{domain:g0,source:"default",misconfigured:!0,warning:`${v6} is not set; using the non-resolving ${g0} fallback.`};let U=$.trim().toLowerCase();if(q2.test($)||!Aj(U))return{domain:g0,source:v6,misconfigured:!0,warning:`${v6} is blank or invalid; using the non-resolving ${g0} fallback.`};return{domain:U,source:v6,misconfigured:!1,warning:null}}function a3(_){if(_.length>63||!p3.test(_))throw Error("App name must be one lowercase DNS label.");return _}function kT(_,$){let U=`${a3(_)}.${$}`;if(!Aj(U))throw Error("Composed cloud hostname must be a valid DNS domain");return U}function CT(_,$){let U=a3(_),j=qT($),D=`${U}.${j.domain}`;if(Aj(D))return{baseUrl:`https://${D}`,source:j.source,misconfigured:j.misconfigured,warning:j.warning};return{baseUrl:`https://${kT(U,g0)}`,source:j.source,misconfigured:!0,warning:`${v6} cannot form a valid composed cloud hostname for app '${U}'; using the non-resolving ${g0} fallback.`}}function g2(_,$,U={}){for(let j of $){let D=_[j],N=D?.trim();if(N)return{key:j,value:U.preserveRaw?D:N}}return null}function bT(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let U=_.slice($[0].length),j=U.search(/[/?#]/),D=j===-1?U:U.slice(0,j);if(!D)throw Error("API URL must include a hostname.");return D}function n3(_){if(!/^[0-9]+$/.test(_)||_.length>1&&_.startsWith("0"))throw Error("API URL authority must contain a canonical port between 1 and 65535.");let $=Number(_);if(!Number.isSafeInteger($)||$<1||$>65535)throw Error("API URL authority must contain a canonical port between 1 and 65535.")}function wT(_){let $;if(_.startsWith("[")){let U=_.indexOf("]");if(U===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,U+1);let j=_.slice(U+1);if(j){if(!j.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");n3(j.slice(1))}if(u3($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let U=_.indexOf(":"),j=_.lastIndexOf(":");if(U!==j)throw Error("IPv6 API URL authorities must use brackets.");if(j!==-1){let I=_.slice(j+1);n3(I),$=_.slice(0,j)}else $=_;let D=u3($),E=$.split(".").every((I)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(I));if(D!==4&&E||D!==4&&!Aj($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function vT(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function e3(_){if(q2.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),U=bT($);if(U.includes("@")||U.includes("\\")||U.includes("%")||/[^\x00-\x7f]/.test(U))throw Error("API URL authority must be canonical ASCII without credentials.");let j=wT(U),D=new URL($);if(D.protocol!=="http:"&&D.protocol!=="https:")throw Error("API URL must use http or https.");if(D.username||D.password)throw Error("API URL must not include credentials.");if(!D.hostname||D.hostname.endsWith("."))throw Error("API URL must include a canonical hostname.");if(D.hostname.toLowerCase()!==j)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((E)=>E.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!vT(U))throw Error("API URL may use http only for an exact loopback authority.");if(D.search||D.hash)throw Error("API URL must not include a query string or fragment.");let N=D.pathname.replace(/\/+$/,"");if(N.endsWith("/v1"))N=N.slice(0,-3);return D.pathname=`${N}/v1`,D.toString().replace(/\/+$/,"")}function fT(_,$=process.env,U={}){let j=i3(_),D=g2($,j.modeKeys),N=g2($,j.apiUrlKeys,{preserveRaw:!0}),E=g2($,j.apiKeyKeys),I="sqlite",W="default",J=[],L;if(D)I=ST(D.value).mode,W=D.key;else if(N){if(L=Z2(_,$,U.credentials),L)I="postgres",W=`${N.key}+${L.source}`}if(I==="sqlite")return{transport:"sqlite",mode:I,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(E),apiKeySource:E?E.key:null,apiKeyTier:null,misconfigured:!1,warning:J.length>0?J.join(" "):null};if(L===void 0)L=Z2(_,$,U.credentials);if(!L){let R=s3(_,$);return J.push(`${W}=postgres but no API key could be resolved for '${_}'. A client reaches server data over HTTP only; refusing to route. Using the local sqlite store. Looked for a credential file at ${R}, then for ${j.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:I,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:J.join(" ")}}if(L.warning)J.push(L.warning);let S=null,X=N?.key??($[v6]===void 0?"default":v6),z;try{if(!N)S=CT(_,$),X=S.source;let R=N?.value??S.baseUrl;z=e3(R)}catch(R){let P=R instanceof Error?R.message:String(R);return J.push(`Invalid API URL from ${X}: ${P}. Using local store.`),{transport:"sqlite",mode:I,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:!0,warning:J.join(" ")}}if(S?.warning)J.push(S.warning);return{transport:"http",mode:I,modeSource:W,baseUrl:z,apiUrlSource:X,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:S?.misconfigured??!1,warning:J.length>0?J.join(" "):null}}function s3(_,$){let U=t3(_,$);return U.length>0?U.join(" or "):"<no HOME set in this environment, so no credential file was consulted>"}class M0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,U,j,D){let N=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${U}${N}`);this.name="HasnaHttpError",this.status=U,this.method=_,this.path=$,this.body=j,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function xT(_,$){if(typeof $==="function")return $();return MT(_,$)}function yT(_){let $=`The API key for this request came from ${_.source}`;if(_.deliberate)return`${$} \u2014 a credential you selected deliberately. It was NOT substituted with any other key: `+"falling back here would authenticate as a different principal than the one you named, which is exactly the failure an override exists to prevent. Rotate that key, or unset the override to use the credential on disk.";if(_.deprecated){let U=_.diskCandidates[0],j=U?`Write the CURRENT key to ${U} \u2014 that file is re-read on every call, so rotations take `+`effect immediately and in every shell. Do not simply unset ${_.source}: nothing was found on disk, so that would leave this client with no credential at all.`:"This environment has no HOME, so no credential file could be consulted; the disk tier is unavailable here and there is nothing to fall back to. Set HOME, or supply the key explicitly.";return`${$}, a variable in this process's environment \u2014 which is a snapshot taken when the process `+`started. A STALE SHELL is the most common cause of this error: this shell exported the key before it was rotated, and will keep sending the old one until it exits. ${j}`}return`${$}, which was re-read from disk on this very call \u2014 so a stale shell is NOT the cause here. `+"The stored credential is genuinely being rejected: rotate it, or re-run the fleet key distribution so this machine gets the current key."}var uT=[408,425,429,500,502,503,504],hT=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),rT=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function d3(_,$){if(!_)return;let U=Object.keys(_).find((j)=>rT.has(j.trim().toLowerCase()));if(U)throw Error(`Authenticated ${$} headers must not set authority header '${U}'.`)}function cT(_,$){if(!$)return _;let U=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,N]of Object.entries($)){if(N===null||N===void 0)continue;if(Array.isArray(N))for(let E of N)U.append(D,String(E));else U.append(D,String(N))}let j=U.toString();if(!j)return _;return`${_}${_.includes("?")?"&":"?"}${j}`}var mT=(_)=>new Promise(($)=>setTimeout($,_));function nT(_){let $=_.fetchImpl??((J,L)=>fetch(J,L)),U=e3(_.baseUrl),j=_.timeoutMs??30000,D=_.sleepImpl??mT,N=_.retry;function E(J){let L=J!==void 0?J:N;if(L===!1)return null;let S=L??{};return{retries:S.retries??2,baseDelayMs:S.baseDelayMs??200,maxDelayMs:S.maxDelayMs??2000,retryStatuses:S.retryStatuses??[...uT]}}async function I(J,L,S,X,z,R){d3(_.headers,"transport"),d3(z.headers,"request");let P={"x-api-key":R.apiKey,Authorization:`Bearer ${R.apiKey}`,Accept:"application/json",..._.headers??{},...z.headers??{}};if(z.idempotencyKey)P["Idempotency-Key"]=z.idempotencyKey;let O={method:J,headers:P,redirect:"manual"};if(X!==void 0)P["Content-Type"]="application/json",O.body=JSON.stringify(X);let Y=new AbortController,Q=()=>Y.abort();if(z.signal)if(z.signal.aborted)Y.abort();else z.signal.addEventListener("abort",Q,{once:!0});let B=setTimeout(()=>Y.abort(),z.timeoutMs??j);O.signal=Y.signal;let G;try{G=await $(S,O)}catch(g){let q=g instanceof Error?g:Error(String(g));if(z.signal?.aborted)return{ok:!1,retryable:!1,error:q};return{ok:!1,retryable:!0,error:q}}finally{if(clearTimeout(B),z.signal)z.signal.removeEventListener("abort",Q)}let T=await G.text(),F=void 0;if(T.length>0)try{F=JSON.parse(T)}catch{F=T}if(!G.ok){if(G.status>=300&&G.status<400)return{ok:!1,retryable:!1,error:new M0(J,L,G.status,F)};if(G.status===401||G.status===403)return{ok:!1,retryable:!1,error:new M0(J,L,G.status,F,{source:R.source,tier:R.tier,guidance:yT(R)})};let g=E(z.retry);return{ok:!1,retryable:g?g.retryStatuses.includes(G.status):!1,error:new M0(J,L,G.status,F)}}return{ok:!0,value:F}}async function W(J,L,S,X={}){let z=J.toUpperCase(),R=cT(L.startsWith("/")?L:`/${L}`,X.query),P=`${U}${R}`,O=E(X.retry),Y=hT.has(z)||Boolean(X.idempotencyKey),Q=O&&Y?O.retries+1:1,B=xT(_.name,_.apiKey),G=null;for(let T=1;T<=Q;T++){let F=await I(z,R,P,S,X,B);if(F.ok)return F.value;if(G=F,!(O!==null&&Y&&F.retryable&&T<Q))break;let q=Math.min(O.maxDelayMs,O.baseDelayMs*2**(T-1)),x=Math.floor(Math.random()*(q/2+1));await D(q+x)}throw G.error}return{baseUrl:U,request:W,get:(J,L)=>W("GET",J,void 0,L),post:(J,L,S)=>W("POST",J,L,S),put:(J,L,S)=>W("PUT",J,L,S),patch:(J,L,S)=>W("PATCH",J,L,S),del:(J,L,S)=>W("DELETE",J,L,S)}}function dT(_,$=process.env,U){let j=U?.credentials,D=fT(_,$,{...j?{credentials:j}:{}});if(D.misconfigured)throw Error(D.warning??`Client for '${_}' is misconfigured for the API client.`);if(D.transport==="sqlite"||!D.baseUrl)return{transport:"sqlite",client:null,resolution:D};let N=()=>{let E=Z2(_,$,j);if(!E)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${s3(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return E};return{transport:"http",client:nT({name:_,baseUrl:D.baseUrl,apiKey:N,...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:D}}function H2(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function M2(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${H2(_)}/${encodeURIComponent(String($))}`}function lT(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function iT(_){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 tT(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function oT(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function pT(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,j={}){let D=await $.get(H2(U),j);return{items:iT(D),total:tT(D),cursor:oT(D),raw:D}},async get(U,j,D={}){try{return await $.get(M2(U,j),D)}catch(N){if(N instanceof M0&&N.status===404)return null;throw N}},async create(U,j,D={}){let{idempotencyKey:N,...E}=D;return $.post(H2(U),j,{...E,idempotencyKey:N??lT()})},async update(U,j,D,N={}){let{method:E="PATCH",idempotencyKey:I,...W}=N;return(E==="PUT"?$.put:$.patch)(M2(U,j),D,{...W,...I?{idempotencyKey:I}:{}})},async delete(U,j,D={}){try{await $.del(M2(U,j),void 0,D)}catch(N){if(N instanceof M0&&N.status===404)return;throw N}}}}function k2(_,$=process.env,U){let j=dT(_,$,U);if(j.transport==="http")return{transport:"http",client:pT(_,j.client)};return{transport:"sqlite",client:null}}function _X(_){return _.toUpperCase().replace(/-/g,"_")}function $X(_){let $=_X(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function UX(_){return`HASNA_${_X(_)}_API_KEY_OVERRIDE`}var DX="HASNA_PROFILE";function jD(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}function Wj(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}import ku from"pg";class Jj extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function Z0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function jX(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return $[0]==="127"}function $V(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(jX($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let U=$.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let j=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&jX(j))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function IX(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function NX(_,$=process.env){if(!Z0($))return;let U=IX(_),j;try{j=new URL(U)}catch{throw new Jj("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if($V(j.hostname))return;throw new Jj(`knowledge: refused a non-loopback ${j.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=sqlite) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:j.protocol.replace(":",""),port:j.port})}var UV=new Set([301,302,303,307,308]),EX=5;function DV(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function H0(_,$){if(NX(_),!Z0()||$?.redirect!==void 0)return fetch(_,$);let U=IX(_),j=DV(_,$),D=$?.body,N=await fetch(_,{...$??{},redirect:"manual"});for(let E=0;UV.has(N.status);E++){let I=N.headers.get("location");if(!I)return N;let W=new URL(I,U).href;if(NX(W),E>=EX){let L=new URL(W);throw new Jj(`knowledge: refused to follow more than ${EX} redirects while NODE_ENV=test (target host withheld on purpose). Under test the guard follows redirects itself so every hop is checked, and a chain this long is a loop, not a route.`,{scheme:L.protocol.replace(":",""),port:L.port})}if(N.status===303||(N.status===301||N.status===302)&&j!=="GET"&&j!=="HEAD")j="GET",D=void 0;let J={...$??{},method:j,redirect:"manual"};if(D===void 0)delete J.body;else J.body=D;N=await fetch(W,J),U=W}return N}var ND="knowledge",C2=$X(ND),L6=C2.modeKeys,Sj=C2.apiUrlKeys,Pj=C2.apiKeyKeys;function Lj(_,$){return $.filter((U)=>(_[U]??"").trim().length>0)}function ED(_=process.env){let $=[...Lj(_,Sj),...Lj(_,Pj)],U=L6[0];for(let j of L6){let D=_[j]?.trim();if(!D)continue;let N;try{N=Wj(D)}catch(I){let W=I instanceof Error?I.message:String(I);throw Error(`knowledge: ${j}=${D} is not a valid mode. ${W} Unset ${j} to use the default sqlite backend, or set ${j}=sqlite or ${j}=postgres.`)}let E=[];if(j!==U)E.push(`Using alias env ${j}; the canonical key is ${U}.`);if(N.mode==="sqlite"&&$.length>0)E.push(`${j}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:N.mode,source:{kind:"env",name:j,value:D},pointer_env_present:$,pointer_ignored:N.mode==="sqlite"&&$.length>0,warning:E.length>0?E.join(" "):null}}return{mode:"sqlite",source:{kind:"default",name:null,value:null},pointer_env_present:$,pointer_ignored:$.length>0,warning:$.length>0?`${$.join(", ")} are set but do NOT select a backend: mode is sqlite by default. Set ${U}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var jV=["postgres"],NV=["sqlite"],AX=new Map;function WX(_,$,U){let j=$===jD;if(j){let D=AX.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),j)AX.set(_,D);return D}catch{}throw Error(`knowledge: no known storage token is accepted by the installed @hasna/contracts (tried ${_.join(", ")}). The storage-mode enum has changed; add the new token to ${U} in src/knowledge-mode.ts.`)}function EV(_=jD){return WX(jV,_,"SERVER_MODE_CANDIDATES")}function IV(_=jD){return WX(NV,_,"LOCAL_MODE_CANDIDATES")}function AV(_,$=jD){return _==="postgres"?EV($):IV($)}function b2(_,$){return{..._,[L6[0]]:AV($)}}class JX extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=L6[0];super(`knowledge: ${_.join(", ")} names an API store, but no mode variable says to use it, so this command would silently read and write the on-box store instead. Set ${$}=postgres to use the API, or ${$}=sqlite to confirm you want the on-box store. Run 'knowledge mode' to see the full resolution.`);this.name="HalfConfiguredKnowledgeClientError"}}function LX(_=process.env,$={}){let U=ED(_);if($.storePathOverridden)return U;if(U.source.kind!=="default")return U;let j=Lj(_,Sj);if(j.length===0)return U;throw new JX(j)}function SX(_=process.env){let $=ED(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:Lj(_,Pj).length>0,network_guard_active:Z0(_)}}function w2(_){return Boolean(_&&typeof _==="object"&&_.query_capability==="hasna.knowledge.bounded-query.v1")}function PX(_){return{fetchImpl:H0,...Z0(_)?{retry:!1}:{}}}var S6="notes";class q0 extends Error{expected;current;code="version_conflict";constructor(_,$){super(`version_conflict: this edit was written against version ${_} but the stored entry is now at version ${$}. Nothing was written. Re-read the entry and re-apply only if the fields you are changing are untouched between the two versions.`);this.expected=_;this.current=$;this.name="KnowledgeVersionConflictError"}}class f2 extends Error{operation;fields;code="bounded_query_capability_required";constructor(_,$){super(`bounded_query_capability_required: the Knowledge server did not prove support for ${_} field(s): ${$.join(", ")}. Refusing to accept a possibly unfiltered response; update the server and retry.`);this.operation=_;this.fields=$;this.name="KnowledgeBoundedQueryCapabilityError"}}function WV(_){let $={};if(_.search)$.filter=_.search,$.search=_.search;if(_.tags?.length)$.tags=_.tags;if(_.archive){if($.archive=_.archive,_.archive==="all")$.includeArchived=!0}if(_.sort)$.sort=_.sort;if(_.direction)$.direction=_.direction;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;return $}function JV(_){let $=[];if(_.tags?.length)$.push("tags");if(_.sort!==void 0)$.push("sort");if(_.direction!==void 0)$.push("direction");if(_.archive==="archived")$.push("archive=archived");return $}function Oj(_,$,U,j,D){let N=_??$;if(!Number.isFinite(N)||!Number.isInteger(N)||N<j||N>D)throw Error(`${U} must be an integer between ${j} and ${D}.`);return N}function LV(_){return{baseUrl:_.baseUrl,async list($={}){let U=Oj($.limit,200,"limit",1,200),j=Oj($.offset,0,"offset",0,1e4),D=WV({...$,limit:U,offset:j}),N=await _.list(S6,{query:D});if(!Number.isInteger(N.total)||Number(N.total)<0)throw Error("knowledge cloud list response is missing a valid producer total.");let E=JV($);if(E.length>0&&!w2(N.raw))throw new f2("list",E);return{items:N.items,total:Number(N.total)}},async search($){let U=Oj($.limit,20,"limit",1,200),j=Oj($.offset,0,"offset",0,1e4),D=await _.transport.get(`/${S6}/search`,{query:{q:$.query,archive:$.archive??"active",limit:U,offset:j}});if(!Number.isInteger(D.total)||D.total<0||!Array.isArray(D.items)||D.items.some((N)=>!N||typeof N!=="object"||!N.item||typeof N.rank!=="number"||!Number.isFinite(N.rank)))throw Error("knowledge cloud search response is missing producer rank or total evidence.");if(!w2(D))throw new f2("search",["q","rank","total"]);return{items:D.items,total:D.total}},async get($){return _.get(S6,$)},async create($){return _.create(S6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,U,j={}){try{return await _.update(S6,$,U,{...j.expectedVersion!==void 0?{headers:{"if-match":String(j.expectedVersion)}}:{}})}catch(D){if(v2(D))return null;let N=SV(D);if(N)throw N;throw D}},async delete($){let U=await _.get(S6,$);if(!U)return!1;return await _.delete(S6,U.id),!0},async listVersions($,U={}){try{return await _.transport.get(`/${S6}/${encodeURIComponent($)}/versions`,{query:{limit:U.limit,offset:U.offset}})}catch(j){if(v2(j))return null;throw j}},async getVersion($,U){try{return await _.transport.get(`/${S6}/${encodeURIComponent($)}/versions/${U}`)}catch(j){if(v2(j))return null;throw j}}}}function SV(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,j=(typeof $==="string"?PV($):$)??{};if(j.error!=="version_conflict")return null;return new q0(Number(j.expected??0),Number(j.current??0))}function PV(_){try{return JSON.parse(_)}catch{return null}}function v2(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function ID(_=process.env){let $=zX(_);return $?LV($):null}function OX(_=process.env){return zX(_,{guarded:!0})?.transport??null}function OV(_){let $={..._};return delete $.HOME,delete $.USERPROFILE,delete $[DX],delete $[UX(ND)],$}function zX(_,$={}){if(ED(_).mode!=="postgres")return null;let U=$.guarded?OV(_):_,j=k2(ND,b2(U,"postgres"),PX(U));if(j.transport!=="http")return null;return j.client}function o$(_=process.env){if(ED(_).mode!=="postgres")return!1;return k2(ND,b2(_,"postgres"),PX(_)).transport==="http"}async function zj(_){let U=[];for(let j=0;;j+=200){let{items:D}=await _.list({archive:"all",limit:200,offset:j});if(U.push(...D),D.length<200)break;if(j>1e5)break}return U}class y2 extends Error{location;code="version_history_unsupported";constructor(_){super(`Version history is not kept by the local JSON knowledge store (${_}). It has no version line, so an empty history here would be a claim, not a measurement. Entry versioning lives in the Postgres-backed store: point this CLI at it (HASNA_KNOWLEDGE_STORAGE_MODE=postgres plus the API url/key) and re-run.`);this.location=_;this.name="VersionHistoryUnsupportedError"}}function x2(_,$){return _.id===$||_.short_id===$}function XV(_,$){let U=$.trim().toLowerCase();if(!U)return!0;return _.id.toLowerCase().includes(U)||_.title.toLowerCase().includes(U)||_.content.toLowerCase().includes(U)}function YV(_,$){if($.length===0)return!0;let U=new Set((_.tags??[]).map((j)=>j.toLowerCase()));return $.every((j)=>{let D=j.trim().toLowerCase(),N=j.split(",").map((E)=>E.trim().toLowerCase()).filter(Boolean);return D.length>0&&U.has(D)||N.length>0&&N.every((E)=>U.has(E))})}function RV(_,$,U,j){let D=U==="title"?_.title.localeCompare($.title):_.created_at.localeCompare($.created_at),N=D===0?_.id.localeCompare($.id):D;return j==="desc"?-N:N}function XX(_,$,U,j,D){let N=_??$;if(!Number.isFinite(N)||!Number.isInteger(N)||N<j||N>D)throw Error(`${U} must be an integer between ${j} and ${D}.`);return N}function QV(_,$){let U=$.archive??"active",j=$.sort??"created",D=$.direction??"asc",N=XX($.limit,50,"limit",1,200),E=XX($.offset,0,"offset",0,1e4),I=_.filter((W)=>U==="all"||(U==="archived"?W.archived===!0:W.archived!==!0));if($.search)I=I.filter((W)=>XV(W,$.search));if($.tags?.length)I=I.filter((W)=>YV(W,$.tags));return I.sort((W,J)=>RV(W,J,j,D)),{total:I.length,items:I.slice(E,E+N)}}class YX{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new y2(this.storePath)}async getVersion(){throw new y2(this.storePath)}get location(){return this.storePath}get exists(){return zV(this.storePath)}async list(_={}){let $=z4(this.storePath);return{...QV($.items,_),exists:$.exists}}async listAll(){let _=z4(this.storePath);return{items:_.items,total:_.items.length,exists:_.exists}}async get(_){return z4(this.storePath).items.find((U)=>x2(U,_))??null}async create(_){return t$(this.storePath,()=>{let $=UD(this.storePath),U=new Date().toISOString(),j=_.id??x3(),D={id:j,short_id:y3(j),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U,version:1};return $.items.push(D),J6(this.storePath,$),D},{createParent:!0})}async update(_,$,U={}){return t$(this.storePath,()=>{let j=UD(this.storePath),D=j.items.findIndex((I)=>x2(I,_));if(D===-1)return null;let N=j.items[D],E=N.version??1;if(U.expectedVersion!==void 0&&U.expectedVersion!==E)throw new q0(U.expectedVersion,E);if($.title!==void 0)N.title=$.title;if($.content!==void 0)N.content=$.content;if($.url!==void 0)N.url=$.url;if($.tags!==void 0)N.tags=$.tags;if($.metadata!==void 0)N.metadata=$.metadata;if($.archived!==void 0)N.archived=$.archived;return N.updated_at=new Date().toISOString(),N.version=E+1,j.items[D]=N,J6(this.storePath,j),N},{createParent:!0})}async delete(_){return t$(this.storePath,()=>{let $=UD(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!x2(D,_));let j=U!==$.items.length;if(j)J6(this.storePath,$);return j},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return t$(this.storePath,()=>{let U=UD(this.storePath),j=U.items.length;U.items=U.items.filter((N)=>!$.has(N.id)&&!(N.short_id!=null&&$.has(N.short_id)));let D=j-U.items.length;if(D>0)J6(this.storePath,U);return D},{createParent:!0})}}class RX{cloud;kind="api";exists=!0;supportsVersions=!0;constructor(_){this.cloud=_}async listVersions(_,$={}){return this.cloud.listVersions(_,$)}async getVersion(_,$){return this.cloud.getVersion(_,$)}get location(){return this.cloud.baseUrl}async list(_={}){let $=await this.cloud.list({search:_.search,tags:_.tags,archive:_.archive,sort:_.sort,direction:_.direction,limit:_.limit,offset:_.offset});return{items:$.items,total:$.total,exists:!0}}async listAll(){let _=await zj(this.cloud);return{items:_,total:_.length,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(_,$,U={}){return this.cloud.update(_,$,{expectedVersion:U.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let U of _)if(await this.cloud.delete(U))$+=1;return $}}function Xj(_){let $=_.storePathOverridden?null:ID(_.env??process.env);if($)return new RX($);return new YX(_.storePath)}function QX(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` -`)}var u2=5000;function GV(_,$){let U=QX(_),j=QX($);if(U.length>u2||j.length>u2)throw Error(`Refusing to line-diff ${Math.max(U.length,j.length)} lines (limit ${u2}). Fetch the two versions and diff them with a dedicated tool.`);let D=Array.from({length:U.length+1},()=>Array(j.length+1).fill(0));for(let W=U.length-1;W>=0;W-=1)for(let J=j.length-1;J>=0;J-=1)D[W][J]=U[W]===j[J]?D[W+1][J+1]+1:Math.max(D[W+1][J],D[W][J+1]);let N=[],E=0,I=0;while(E<U.length&&I<j.length)if(U[E]===j[I])N.push({op:"context",from_line:E+1,to_line:I+1,text:U[E]}),E+=1,I+=1;else if(D[E+1][I]>=D[E][I+1])N.push({op:"remove",from_line:E+1,to_line:null,text:U[E]}),E+=1;else N.push({op:"add",from_line:null,to_line:I+1,text:j[I]}),I+=1;while(E<U.length)N.push({op:"remove",from_line:E+1,to_line:null,text:U[E]}),E+=1;while(I<j.length)N.push({op:"add",from_line:null,to_line:I+1,text:j[I]}),I+=1;return N}function TV(_,$){return JSON.stringify(_??null)===JSON.stringify($??null)}function GX(_,$){let U=[],j=(I)=>{if(!TV(_[I],$[I]))U.push({field:I,from:_[I]??null,to:$[I]??null})};j("title"),j("url"),j("tags"),j("metadata"),j("archived");let D=GV(_.content,$.content),N=D.filter((I)=>I.op==="add").length,E=D.filter((I)=>I.op==="remove").length;return{identical:U.length===0&&N===0&&E===0,fields:U,content:D,added:N,removed:E}}function TX(_,$,U){let j=[`--- ${$}`,`+++ ${U}`];if(_.identical)return j.push("(no changes)"),j.join(` -`);for(let D of _.fields)j.push(`~ ${D.field}: ${JSON.stringify(D.from)} -> ${JSON.stringify(D.to)}`);if(_.added===0&&_.removed===0){if(_.fields.length>0)j.push("(content unchanged)")}else{j.push(`@@ content +${_.added} -${_.removed} @@`);for(let D of _.content){let N=D.op==="add"?"+":D.op==="remove"?"-":" ";j.push(`${N}${D.text}`)}}return j.join(` -`)}import{Database as VX}from"bun:sqlite";function Yj(_="catalog"){if(o$()){let $=L6[0];throw Error(`knowledge: ${_} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${$}=local `+"(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see "+"which variable selected the current backend.")}}var VV="porter unicode61 remove_diacritics 2",BX=` +`),this.outputHelp({error:!0});let U=$||{},N=U.exitCode||1,D=U.code||"commander.error";this._exit(N,D,_)}_parseOptionsEnv(){this.options.forEach((_)=>{if(_.envVar&&_.envVar in S_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,S_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new Fx(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((N)=>!$(N)).forEach((N)=>{this.setOptionValueWithSource(N,U.implied[N],"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 I=j.attributeName(),E=this.getOptionValue(I),W=this.options.find((L)=>L.negate&&I===L.attributeName()),J=this.options.find((L)=>!L.negate&&I===L.attributeName());if(W&&(W.presetArg===void 0&&E===!1||W.presetArg!==void 0&&E===W.presetArg))return W;return J||j},N=(j)=>{let I=U(j),E=I.attributeName();if(this.getOptionValueSource(E)==="env")return`environment variable '${I.envVar}'`;return`option '${I.flags}'`},D=`error: ${N(_)} cannot be used with ${N($)}`;this.error(D,{code:"commander.conflictingOption"})}unknownOption(_){if(this._allowUnknownOption)return;let $="";if(_.startsWith("--")&&this._showSuggestionAfterError){let N=[],D=this;do{let j=D.createHelp().visibleOptions(D).filter((I)=>I.long).map((I)=>I.long);N=N.concat(j),D=D.parent}while(D&&!D._enablePositionalOptions);$=j7(_,N)}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 N=[];this.createHelp().visibleCommands(this).forEach((D)=>{if(N.push(D.name()),D.alias())N.push(D.alias())}),$=j7(_,N)}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 N=this.createOption($,U);return this._versionOptionName=N.attributeName(),this._registerOption(N),this.on("option:"+N.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 N=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${_}' to command '${this.name()}' as already have command '${N}'`)}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 Tx(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=C6.basename(_,C6.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 N=$.formatHelp(this,$);if(U.hasColors)return N;return this._outputConfiguration.stripColor(N)}_getOutputContext(_){_=_||{};let $=!!_.error,U,N,D;if($)U=(I)=>this._outputConfiguration.writeErr(I),N=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else U=(I)=>this._outputConfiguration.writeOut(I),N=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(I)=>{if(!N)I=this._outputConfiguration.stripColor(I);return U(I)},hasColors:N,helpWidth:D}}outputHelp(_){let $;if(typeof _==="function")$=_,_=void 0;let U=this._getOutputContext(_),N={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((j)=>j.emit("beforeAllHelp",N)),this.emit("beforeHelp",N);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",N),this._getCommandAndAncestors().forEach((j)=>j.emit("afterAllHelp",N))}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(S_.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 N=`${_}Help`;return this.on(N,(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((N)=>$.is(N)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function I7(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let U,N="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 N=j[3];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=j[1],N=j[3],D=j[4];if(U&&D!=="0")return`${U}=${N}:${parseInt(D)+1}`;return $})}function E3(){if(S_.env.NO_COLOR||S_.env.FORCE_COLOR==="0"||S_.env.FORCE_COLOR==="false")return!1;if(S_.env.FORCE_COLOR||S_.env.CLICOLOR_FORCE!==void 0)return!0;return}Kx.Command=A3;Kx.useColor=E3});var L7=O4((qx)=>{var{Argument:A7}=$2(),{Command:W3}=E7(),{CommanderError:Zx,InvalidArgumentError:W7}=_N(),{Help:Hx}=D3(),{Option:J7}=N3();qx.program=new W3;qx.createCommand=(_)=>new W3(_);qx.createOption=(_,$)=>new J7(_,$);qx.createArgument=(_,$)=>new A7(_,$);qx.Command=W3;qx.Option=J7;qx.Argument=A7;qx.Help=Hx;qx.CommanderError=Zx;qx.InvalidArgumentError=W7;qx.InvalidOptionArgumentError=W7});import{chmodSync as Z3,closeSync as eU,existsSync as B0,fsyncSync as Q2,lstatSync as NT,openSync as G2,readFileSync as sU,renameSync as H3,unlinkSync as T2,writeFileSync as V2}from"fs";import{randomUUID as _D}from"crypto";import{basename as jT,dirname as q3,join as Y2}from"path";import{chmodSync as Q3,existsSync as s7,mkdirSync as L2,readFileSync as _T,writeFileSync as G3}from"fs";import{homedir as S2}from"os";import{dirname as $T,join as l_,resolve as T3}from"path";var W6=l_(".hasna","knowledge"),V3=l_(".hasna","apps","knowledge"),X_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:W6,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 B3(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:X_.s3.bucket,prefix:X_.s3.prefix,region:X_.s3.region,profile:X_.s3.profile,server_side_encryption:X_.s3.server_side_encryption}}}function pU(){return l_(S2(),".open-knowledge","db.json")}function jN(){return l_(S2(),".hasna","knowledge")}function P2(_=process.cwd()){return T3(_,W6)}function UT(){return l_(S2(),V3)}function DT(_=process.cwd()){return T3(_,V3)}function O2(_,$=process.cwd()){if(_==="project"||_==="local")return S$(DT($));return S$(UT())}function S$(_){return{home:_,configPath:l_(_,"config.json"),jsonStorePath:l_(_,"db.json"),knowledgeDbPath:l_(_,"knowledge.db"),artifactsDir:l_(_,"artifacts"),cacheDir:l_(_,"cache"),exportsDir:l_(_,"exports"),indexesDir:l_(_,"indexes"),logsDir:l_(_,"logs"),runsDir:l_(_,"runs"),schemasDir:l_(_,"schemas"),wikiDir:l_(_,"wiki")}}function aU(){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 V0(_){let $=S$(_);L2($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])L2(U,{recursive:!0,mode:448});if(!s7($.configPath))G3($.configPath,`${JSON.stringify(aU(),null,2)} +`,{mode:384}),Q3($.configPath,384);return $}function IN(_,$=process.cwd()){if(_==="project"||_==="local")return S$(P2($));return S$(jN())}function i$(_){L2($T(_),{recursive:!0})}function z2(_){let $=_T(_,"utf8");return JSON.parse($)}function F3(_,$){i$(_),G3(_,`${JSON.stringify($,null,2)} +`,{mode:384}),Q3(_,384)}function AN(){return S$(jN()).jsonStorePath}function $D(_){if(_===AN()&&B0(pU()))F2();if(!B0(_))i$(_),C3(_,`${JSON.stringify({items:[]},null,2)} +`)}function IT(_){return _.toISOString().replace(/[:.]/g,"-")}function B2(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function ET(_){let $=new Set;for(let U of _)for(let N of B2(U))$.add(N);return $}function AT(_,$){return B2($).some((U)=>_.has(U))}function X2(_,$){i$(_),V2(_,`${JSON.stringify($,null,2)} +`,{mode:384}),Z3(_,384)}function K3(_){let $=JSON.parse(sU(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},N=0;for(let D of $.items)if(D&&typeof D==="object"&&typeof D.id==="string"&&D.id.length>0)U.items.push(D);else N+=1;return{store:U,skippedInvalid:N}}function F2(_={}){if(_.dryRun===!0)return M3(_);return t$(AN(),()=>M3(_),{createParent:!0})}function M3(_={}){let $=_.dryRun===!0,U=_.now??new Date,N=S$(jN()),D=pU(),j=N.jsonStorePath,I=B0(D),E=B0(j),W={ok:!0,dry_run:$,legacy_path:D,canonical_path:j,legacy_exists:I,canonical_existed:E,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:I?"Legacy global store already imported":"No legacy global store found"};if(!I)return W;let J;try{let Y=K3(D);J=Y.store,W.skipped_invalid=Y.skippedInvalid}catch(Y){return W.ok=!1,W.errors.push(`Could not read legacy store: ${Y instanceof Error?Y.message:String(Y)}`),W.message="Legacy global store import failed",W}let L={items:[]};if(E)try{L=K3(j).store}catch(Y){return W.ok=!1,W.errors.push(`Could not read canonical store: ${Y instanceof Error?Y.message:String(Y)}`),W.message="Legacy global store import failed",W}let S=ET(L.items),X={items:[...L.items]};for(let Y of J.items){if(!Y?.id){W.skipped_invalid+=1;continue}if(AT(S,Y)){W.skipped_existing+=1;continue}X.items.push(Y);for(let P of B2(Y))S.add(P);W.imported+=1}if(W.would_create_canonical=!E&&W.imported>0,W.canonical_created=!$&&W.would_create_canonical,W.message=W.imported>0?`Imported ${W.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||W.imported===0)return W;let z=`${IT(U)}-${_D().slice(0,8)}`;if(E)W.backup_path=Y2(N.exportsDir,`legacy-open-knowledge-db-before-import-${z}.json`),X2(W.backup_path,L);return X2(j,X),W.report_path=Y2(N.runsDir,`legacy-open-knowledge-import-${z}.json`),X2(W.report_path,W),W}function z4(_){if(!B0(_))return{exists:!1,items:[]};let $=sU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function WT(_){return`${_}.lock`}var EN=1e4,k3=25,g3=120000,JT=new Int32Array(new SharedArrayBuffer(4));function K2(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function b3(_){let $=null;try{$=G2(q3(_),"r"),Q2($)}catch{}finally{if($!==null)try{eU($)}catch{}}}var R2=new Set;function C3(_,$){i$(_);let U=Y2(q3(_),`.${jT(_)}.tmp.${_D()}`),N=null;try{N=G2(U,"wx",384),V2(N,$),Q2(N),eU(N),N=null,H3(U,_);try{Z3(_,384)}catch{}b3(_)}catch(D){if(N!==null)try{eU(N)}catch{}try{T2(U)}catch{}throw D}}function w3(_){Atomics.wait(JT,0,0,_)}function LT(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return K2($)!=="ESRCH"}}function v3(_,$){try{let U=sU(_,"utf8"),N=JSON.parse(U);if(typeof N.ts==="number")return $-N.ts>g3&&!LT(N.pid)}catch{}try{return $-NT(_).mtimeMs>g3}catch{return!1}}function ST(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${_D()}`;try{H3(_,U)}catch(N){if(K2(N)!=="ENOENT")throw N;return}}function PT(_){let $=_D(),U=`${_}.breaker`,N=Date.now();while(Date.now()-N<EN){if(f3(U,$)){try{if(v3(_,Date.now()))ST(_)}finally{x3(U,$)}return}w3(k3)}throw Error(`Could not acquire stale-lock breaker on ${U} after ${EN}ms`)}var OT=new Set(["EEXIST","EPERM","EBUSY"]);function zT(_){return _!==void 0&&OT.has(_)}function f3(_,$,U){let N=null,D=!1;try{return N=G2(_,"wx",384),D=!0,V2(N,`${JSON.stringify({owner:$,pid:process.pid,ts:Date.now()})} +`),Q2(N),eU(N),N=null,b3(_),!0}catch(j){if(N!==null)try{eU(N)}catch{}if(D)try{T2(_)}catch{}let I=K2(j);if(zT(I))return U?.(I),!1;throw j}}function XT(_,$){let U=Date.now(),N,D=(j)=>{N=j};while(Date.now()-U<EN){if(f3(_,$,D))return;if(v3(_,Date.now()))PT(_);w3(k3)}throw Error(`Could not acquire lock on ${_} after ${EN}ms`+(N?` (last contention: ${N})`:""))}function x3(_,$){try{if(B0(_)){if(JSON.parse(sU(_,"utf8")).owner===$)T2(_)}}catch{}}function UD(_){$D(_);let $=sU(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{items:[]};return U}function J6(_,$){C3(_,`${JSON.stringify($,null,2)} +`)}function t$(_,$,U={}){let N=_D(),D=WT(_);if(R2.has(D))return $();if(U.createParent)i$(D);XT(D,N),R2.add(D);try{return $()}finally{R2.delete(D),x3(D,N)}}function y3(){return`k_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function u3(_){return _.replace(/^k_/,"").slice(0,12)}import{existsSync as GV}from"fs";import{isIP as h3}from"net";import{readFileSync as QT,statSync as GT}from"fs";import{join as r3}from"path";function i3(_){return _.toUpperCase().replace(/-/g,"_")}function RT(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}function t3(_){let $=i3(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function YT(_){return`HASNA_${i3(_)}_API_KEY_OVERRIDE`}var M2="HASNA_PROFILE";class DD extends Error{appName;attempted;constructor(_,$,U){super($);this.name="CredentialResolutionError",this.appName=_,this.attempted=U}}var TT=".hasna",VT="cloud",BT=".config",FT="hasna",KT=65536,MT=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,gT=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/,ZT=/[^\t\x20-\x7e]/;function HT(_){let $=_.HOME?.trim();return $?$:null}function o3(_,$){return p3(_,$,null)}function p3(_,$,U){let N=HT($);if(!N||!MT.test(_))return[];let D=U?`${_}.${U}`:_,j=U?`${_}-${U}`:_;return[r3(N,TT,VT,`${D}.env`),r3(N,BT,FT,`${j}-cloud.env`)]}function qT(_){let $=new Map;for(let U of _.split(/\r?\n/)){let N=U.trim();if(N.length===0||N.startsWith("#"))continue;let D=N.startsWith("export ")?N.slice(7).trim():N,j=D.indexOf("=");if(j<=0)continue;let I=D.slice(0,j).trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(I))continue;let E=D.slice(j+1).trim(),W=E[0];if(W==='"'||W==="'"){if(E.length<2||!E.endsWith(W))continue;E=E.slice(1,-1)}if(E.length===0)continue;$.set(I,E)}return $}function c3(_,$){let U;try{let D=GT(_);if(!D.isFile()||D.size>KT)return null;U=QT(_,"utf8")}catch{return null}let N=qT(U);for(let D of $){let j=N.get(D)?.trim();if(j)return j}return null}function F0(_,$,U){if(!ZT.test(U))return;throw new DD(_,`The credential from ${$} contains characters that cannot be sent in an HTTP header (a control character or non-ASCII byte). A file written with CR-only line endings is the usual cause. Rewrite that credential file with one LF-terminated KEY=value line. The value is not shown here, and is deliberately never logged.`,[$])}var kT=Symbol.for("nodejs.util.inspect.custom");function K0(_){let{apiKey:$,...U}=_,N={...U};return Object.defineProperty(N,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(N,kT,{value:()=>({...U,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),N}function bT(_,$){return F0(_,"explicit apiKey option",$),K0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function m3(_,$){for(let U of $){let N=_[U]?.trim();if(N)return{key:U,value:N}}return null}var n3=Symbol.for("hasna:contracts:credentialDeprecationNotices");function CT(){let _=globalThis,$=_[n3];if($ instanceof Set)return $;let U=new Set;return _[n3]=U,U}function wT(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} +`)}function H2(_,$,U={}){let{apiKeyKeys:N}=t3(_),D=o3(_,$),j=U.apiKey?.trim();if(j)return F0(_,"the explicit apiKey argument",j),K0({apiKey:j,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let I=YT(_),E=$[I];if(E!==void 0){let S=E.trim();if(!S)throw new DD(_,`${I} is set but empty. It is a deliberate override, so it is not resolved around: either give it a real key or unset it to fall back to the credential on disk.`,[I]);return F0(_,I,S),K0({apiKey:S,tier:"override",source:I,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let W=U.profile?.trim()||$[M2]?.trim();if(W){let S=U.profile?.trim()?"explicit profile argument":M2;if(!gT.test(W))throw new DD(_,`Profile name from ${S} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[S]);let X=p3(_,$,W);for(let z of X){let Y=c3(z,N);if(Y)return F0(_,z,Y),K0({apiKey:Y,tier:"profile",source:z,deliberate:!0,deprecated:!1,diskCandidates:X,warning:null})}throw new DD(_,`Profile '${W}' (from ${S}) has no ${N[0]} for '${_}'. Looked in: ${X.join(", ")||"<no HOME in this environment>"}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${M2}.`,X)}let J=D.map((S)=>({path:S,value:c3(S,N)})).filter((S)=>S.value!==null);if(J.length>0){let S=J[0];F0(_,S.path,S.value);let X=[...J.slice(1).filter((Y)=>Y.value!==S.value).map((Y)=>Y.path),...(()=>{let Y=m3($,N);return Y&&Y.value!==S.value?[Y.key]:[]})()],z=X.length>0?`Credential sources disagree for '${_}': ${S.path} and ${X.join(", ")} hold different keys. ${S.path} wins, because a file on `+"disk is re-read on every call while an environment variable is a snapshot. Reconcile them \u2014 "+"a rotation that updated only one leaves the other to fail 401 wherever it is loaded first.":null;return K0({apiKey:S.value,tier:"disk",source:S.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:z})}let L=m3($,N);if(L){F0(_,L.key,L.value);let S=D.length>0?`Put the current key in ${D[0]} \u2014 it is re-read on every call, so rotations take effect immediately.`:"This environment has no HOME, so no credential file could be consulted at all; the disk tier is unavailable here and this process will keep using the environment snapshot.",X=`[${_}] DEPRECATED: the API key came from ${L.key} in this process's environment. Environment variables are a snapshot taken when this process started, so a shell that started before a key rotation keeps using the old key until it exits. ${S}`,z=U.onDeprecation??wT,Y=CT();if(!Y.has(_))Y.add(_),z(X);return K0({apiKey:L.value,tier:"legacy-env",source:L.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:X})}return null}var v6="HASNA_FLEET_API_DOMAIN",M0="your-deployment.example",k2=/[\u0000-\u001f\u007f]/,a3=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function WN(_){if(_.length===0||_.length>253||k2.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&a3.test($))}function vT(_){let $=_[v6];if($===void 0)return{domain:M0,source:"default",misconfigured:!0,warning:`${v6} is not set; using the non-resolving ${M0} fallback.`};let U=$.trim().toLowerCase();if(k2.test($)||!WN(U))return{domain:M0,source:v6,misconfigured:!0,warning:`${v6} is blank or invalid; using the non-resolving ${M0} fallback.`};return{domain:U,source:v6,misconfigured:!1,warning:null}}function e3(_){if(_.length>63||!a3.test(_))throw Error("App name must be one lowercase DNS label.");return _}function fT(_,$){let U=`${e3(_)}.${$}`;if(!WN(U))throw Error("Composed cloud hostname must be a valid DNS domain");return U}function xT(_,$){let U=e3(_),N=vT($),D=`${U}.${N.domain}`;if(WN(D))return{baseUrl:`https://${D}`,source:N.source,misconfigured:N.misconfigured,warning:N.warning};return{baseUrl:`https://${fT(U,M0)}`,source:N.source,misconfigured:!0,warning:`${v6} cannot form a valid composed cloud hostname for app '${U}'; using the non-resolving ${M0} fallback.`}}function g2(_,$,U={}){for(let N of $){let D=_[N],j=D?.trim();if(j)return{key:N,value:U.preserveRaw?D:j}}return null}function yT(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let U=_.slice($[0].length),N=U.search(/[/?#]/),D=N===-1?U:U.slice(0,N);if(!D)throw Error("API URL must include a hostname.");return D}function d3(_){if(!/^[0-9]+$/.test(_)||_.length>1&&_.startsWith("0"))throw Error("API URL authority must contain a canonical port between 1 and 65535.");let $=Number(_);if(!Number.isSafeInteger($)||$<1||$>65535)throw Error("API URL authority must contain a canonical port between 1 and 65535.")}function uT(_){let $;if(_.startsWith("[")){let U=_.indexOf("]");if(U===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,U+1);let N=_.slice(U+1);if(N){if(!N.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");d3(N.slice(1))}if(h3($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let U=_.indexOf(":"),N=_.lastIndexOf(":");if(U!==N)throw Error("IPv6 API URL authorities must use brackets.");if(N!==-1){let E=_.slice(N+1);d3(E),$=_.slice(0,N)}else $=_;let D=h3($),I=$.split(".").every((E)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(E));if(D!==4&&I||D!==4&&!WN($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function hT(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function s3(_){if(k2.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),U=yT($);if(U.includes("@")||U.includes("\\")||U.includes("%")||/[^\x00-\x7f]/.test(U))throw Error("API URL authority must be canonical ASCII without credentials.");let N=uT(U),D=new URL($);if(D.protocol!=="http:"&&D.protocol!=="https:")throw Error("API URL must use http or https.");if(D.username||D.password)throw Error("API URL must not include credentials.");if(!D.hostname||D.hostname.endsWith("."))throw Error("API URL must include a canonical hostname.");if(D.hostname.toLowerCase()!==N)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((I)=>I.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!hT(U))throw Error("API URL may use http only for an exact loopback authority.");if(D.search||D.hash)throw Error("API URL must not include a query string or fragment.");let j=D.pathname.replace(/\/+$/,"");if(j.endsWith("/v1"))j=j.slice(0,-3);return D.pathname=`${j}/v1`,D.toString().replace(/\/+$/,"")}function rT(_,$=process.env,U={}){let N=t3(_),D=g2($,N.modeKeys),j=g2($,N.apiUrlKeys,{preserveRaw:!0}),I=g2($,N.apiKeyKeys),E="sqlite",W="default",J=[],L;if(D)E=RT(D.value).mode,W=D.key;else if(j){if(L=H2(_,$,U.credentials),L)E="postgres",W=`${j.key}+${L.source}`}if(E==="sqlite")return{transport:"sqlite",mode:E,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(I),apiKeySource:I?I.key:null,apiKeyTier:null,misconfigured:!1,warning:J.length>0?J.join(" "):null};if(L===void 0)L=H2(_,$,U.credentials);if(!L){let Y=_X(_,$);return J.push(`${W}=postgres but no API key could be resolved for '${_}'. A client reaches server data over HTTP only; refusing to route. Using the local sqlite store. Looked for a credential file at ${Y}, then for ${N.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:E,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:J.join(" ")}}if(L.warning)J.push(L.warning);let S=null,X=j?.key??($[v6]===void 0?"default":v6),z;try{if(!j)S=xT(_,$),X=S.source;let Y=j?.value??S.baseUrl;z=s3(Y)}catch(Y){let P=Y instanceof Error?Y.message:String(Y);return J.push(`Invalid API URL from ${X}: ${P}. Using local store.`),{transport:"sqlite",mode:E,modeSource:W,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:!0,warning:J.join(" ")}}if(S?.warning)J.push(S.warning);return{transport:"http",mode:E,modeSource:W,baseUrl:z,apiUrlSource:X,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:S?.misconfigured??!1,warning:J.length>0?J.join(" "):null}}function _X(_,$){let U=o3(_,$);return U.length>0?U.join(" or "):"<no HOME set in this environment, so no credential file was consulted>"}class g0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,U,N,D){let j=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${U}${j}`);this.name="HasnaHttpError",this.status=U,this.method=_,this.path=$,this.body=N,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function cT(_,$){if(typeof $==="function")return $();return bT(_,$)}function mT(_){let $=`The API key for this request came from ${_.source}`;if(_.deliberate)return`${$} \u2014 a credential you selected deliberately. It was NOT substituted with any other key: `+"falling back here would authenticate as a different principal than the one you named, which is exactly the failure an override exists to prevent. Rotate that key, or unset the override to use the credential on disk.";if(_.deprecated){let U=_.diskCandidates[0],N=U?`Write the CURRENT key to ${U} \u2014 that file is re-read on every call, so rotations take `+`effect immediately and in every shell. Do not simply unset ${_.source}: nothing was found on disk, so that would leave this client with no credential at all.`:"This environment has no HOME, so no credential file could be consulted; the disk tier is unavailable here and there is nothing to fall back to. Set HOME, or supply the key explicitly.";return`${$}, a variable in this process's environment \u2014 which is a snapshot taken when the process `+`started. A STALE SHELL is the most common cause of this error: this shell exported the key before it was rotated, and will keep sending the old one until it exits. ${N}`}return`${$}, which was re-read from disk on this very call \u2014 so a stale shell is NOT the cause here. `+"The stored credential is genuinely being rejected: rotate it, or re-run the fleet key distribution so this machine gets the current key."}var nT=[408,425,429,500,502,503,504],dT=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),lT=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function l3(_,$){if(!_)return;let U=Object.keys(_).find((N)=>lT.has(N.trim().toLowerCase()));if(U)throw Error(`Authenticated ${$} headers must not set authority header '${U}'.`)}function iT(_,$){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 I of j)U.append(D,String(I));else U.append(D,String(j))}let N=U.toString();if(!N)return _;return`${_}${_.includes("?")?"&":"?"}${N}`}var tT=(_)=>new Promise(($)=>setTimeout($,_));function oT(_){let $=_.fetchImpl??((J,L)=>fetch(J,L)),U=s3(_.baseUrl),N=_.timeoutMs??30000,D=_.sleepImpl??tT,j=_.retry;function I(J){let L=J!==void 0?J:j;if(L===!1)return null;let S=L??{};return{retries:S.retries??2,baseDelayMs:S.baseDelayMs??200,maxDelayMs:S.maxDelayMs??2000,retryStatuses:S.retryStatuses??[...nT]}}async function E(J,L,S,X,z,Y){l3(_.headers,"transport"),l3(z.headers,"request");let P={"x-api-key":Y.apiKey,Authorization:`Bearer ${Y.apiKey}`,Accept:"application/json",..._.headers??{},...z.headers??{}};if(z.idempotencyKey)P["Idempotency-Key"]=z.idempotencyKey;let O={method:J,headers:P,redirect:"manual"};if(X!==void 0)P["Content-Type"]="application/json",O.body=JSON.stringify(X);let R=new AbortController,Q=()=>R.abort();if(z.signal)if(z.signal.aborted)R.abort();else z.signal.addEventListener("abort",Q,{once:!0});let B=setTimeout(()=>R.abort(),z.timeoutMs??N);O.signal=R.signal;let G;try{G=await $(S,O)}catch(M){let q=M instanceof Error?M:Error(String(M));if(z.signal?.aborted)return{ok:!1,retryable:!1,error:q};return{ok:!1,retryable:!0,error:q}}finally{if(clearTimeout(B),z.signal)z.signal.removeEventListener("abort",Q)}let T=await G.text(),F=void 0;if(T.length>0)try{F=JSON.parse(T)}catch{F=T}if(!G.ok){if(G.status>=300&&G.status<400)return{ok:!1,retryable:!1,error:new g0(J,L,G.status,F)};if(G.status===401||G.status===403)return{ok:!1,retryable:!1,error:new g0(J,L,G.status,F,{source:Y.source,tier:Y.tier,guidance:mT(Y)})};let M=I(z.retry);return{ok:!1,retryable:M?M.retryStatuses.includes(G.status):!1,error:new g0(J,L,G.status,F)}}return{ok:!0,value:F}}async function W(J,L,S,X={}){let z=J.toUpperCase(),Y=iT(L.startsWith("/")?L:`/${L}`,X.query),P=`${U}${Y}`,O=I(X.retry),R=dT.has(z)||Boolean(X.idempotencyKey),Q=O&&R?O.retries+1:1,B=cT(_.name,_.apiKey),G=null;for(let T=1;T<=Q;T++){let F=await E(z,Y,P,S,X,B);if(F.ok)return F.value;if(G=F,!(O!==null&&R&&F.retryable&&T<Q))break;let q=Math.min(O.maxDelayMs,O.baseDelayMs*2**(T-1)),x=Math.floor(Math.random()*(q/2+1));await D(q+x)}throw G.error}return{baseUrl:U,request:W,get:(J,L)=>W("GET",J,void 0,L),post:(J,L,S)=>W("POST",J,L,S),put:(J,L,S)=>W("PUT",J,L,S),patch:(J,L,S)=>W("PATCH",J,L,S),del:(J,L,S)=>W("DELETE",J,L,S)}}function pT(_,$=process.env,U){let N=U?.credentials,D=rT(_,$,{...N?{credentials:N}:{}});if(D.misconfigured)throw Error(D.warning??`Client for '${_}' is misconfigured for the API client.`);if(D.transport==="sqlite"||!D.baseUrl)return{transport:"sqlite",client:null,resolution:D};let j=()=>{let I=H2(_,$,N);if(!I)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${_X(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return I};return{transport:"http",client:oT({name:_,baseUrl:D.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:D}}function q2(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function Z2(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${q2(_)}/${encodeURIComponent(String($))}`}function aT(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function eT(_){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 sT(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function _V(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function $V(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,N={}){let D=await $.get(q2(U),N);return{items:eT(D),total:sT(D),cursor:_V(D),raw:D}},async get(U,N,D={}){try{return await $.get(Z2(U,N),D)}catch(j){if(j instanceof g0&&j.status===404)return null;throw j}},async create(U,N,D={}){let{idempotencyKey:j,...I}=D;return $.post(q2(U),N,{...I,idempotencyKey:j??aT()})},async update(U,N,D,j={}){let{method:I="PATCH",idempotencyKey:E,...W}=j;return(I==="PUT"?$.put:$.patch)(Z2(U,N),D,{...W,...E?{idempotencyKey:E}:{}})},async delete(U,N,D={}){try{await $.del(Z2(U,N),void 0,D)}catch(j){if(j instanceof g0&&j.status===404)return;throw j}}}}function b2(_,$=process.env,U){let N=pT(_,$,U);if(N.transport==="http")return{transport:"http",client:$V(_,N.client)};return{transport:"sqlite",client:null}}function $X(_){return _.toUpperCase().replace(/-/g,"_")}function UX(_){let $=$X(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function DX(_){return`HASNA_${$X(_)}_API_KEY_OVERRIDE`}var NX="HASNA_PROFILE";function ND(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}function JN(_){let $=_.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return{mode:"sqlite"};if($==="postgres"||$==="postgresql")return{mode:"postgres"};throw Error(`Unknown storage mode '${_}'. The runtime-placement axis was removed; set sqlite for the on-box SQLite file or postgres for a PostgreSQL server (DATABASE_URL).`)}import wu from"pg";class LN extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function Z0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function jX(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return $[0]==="127"}function IV(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(jX($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let U=$.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let N=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&jX(N))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function AX(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function IX(_,$=process.env){if(!Z0($))return;let U=AX(_),N;try{N=new URL(U)}catch{throw new LN("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(IV(N.hostname))return;throw new LN(`knowledge: refused a non-loopback ${N.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=sqlite) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:N.protocol.replace(":",""),port:N.port})}var EV=new Set([301,302,303,307,308]),EX=5;function AV(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function H0(_,$){if(IX(_),!Z0()||$?.redirect!==void 0)return fetch(_,$);let U=AX(_),N=AV(_,$),D=$?.body,j=await fetch(_,{...$??{},redirect:"manual"});for(let I=0;EV.has(j.status);I++){let E=j.headers.get("location");if(!E)return j;let W=new URL(E,U).href;if(IX(W),I>=EX){let L=new URL(W);throw new LN(`knowledge: refused to follow more than ${EX} redirects while NODE_ENV=test (target host withheld on purpose). Under test the guard follows redirects itself so every hop is checked, and a chain this long is a loop, not a route.`,{scheme:L.protocol.replace(":",""),port:L.port})}if(j.status===303||(j.status===301||j.status===302)&&N!=="GET"&&N!=="HEAD")N="GET",D=void 0;let J={...$??{},method:N,redirect:"manual"};if(D===void 0)delete J.body;else J.body=D;j=await fetch(W,J),U=W}return j}var jD="knowledge",C2=UX(jD),L6=C2.modeKeys,PN=C2.apiUrlKeys,ON=C2.apiKeyKeys;function SN(_,$){return $.filter((U)=>(_[U]??"").trim().length>0)}function ID(_=process.env){let $=[...SN(_,PN),...SN(_,ON)],U=L6[0];for(let N of L6){let D=_[N]?.trim();if(!D)continue;let j;try{j=JN(D)}catch(E){let W=E instanceof Error?E.message:String(E);throw Error(`knowledge: ${N}=${D} is not a valid mode. ${W} Unset ${N} to use the default sqlite backend, or set ${N}=sqlite or ${N}=postgres.`)}let I=[];if(N!==U)I.push(`Using alias env ${N}; the canonical key is ${U}.`);if(j.mode==="sqlite"&&$.length>0)I.push(`${N}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:j.mode,source:{kind:"env",name:N,value:D},pointer_env_present:$,pointer_ignored:j.mode==="sqlite"&&$.length>0,warning:I.length>0?I.join(" "):null}}return{mode:"sqlite",source:{kind:"default",name:null,value:null},pointer_env_present:$,pointer_ignored:$.length>0,warning:$.length>0?`${$.join(", ")} are set but do NOT select a backend: mode is sqlite by default. Set ${U}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var WV=["postgres"],JV=["sqlite"],WX=new Map;function JX(_,$,U){let N=$===ND;if(N){let D=WX.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),N)WX.set(_,D);return D}catch{}throw Error(`knowledge: no known storage token is accepted by the installed @hasna/contracts (tried ${_.join(", ")}). The storage-mode enum has changed; add the new token to ${U} in src/knowledge-mode.ts.`)}function LV(_=ND){return JX(WV,_,"SERVER_MODE_CANDIDATES")}function SV(_=ND){return JX(JV,_,"LOCAL_MODE_CANDIDATES")}function PV(_,$=ND){return _==="postgres"?LV($):SV($)}function w2(_,$){return{..._,[L6[0]]:PV($)}}class LX extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=L6[0];super(`knowledge: ${_.join(", ")} names an API store, but no mode variable says to use it, so this command would silently read and write the on-box store instead. Set ${$}=postgres to use the API, or ${$}=sqlite to confirm you want the on-box store. Run 'knowledge mode' to see the full resolution.`);this.name="HalfConfiguredKnowledgeClientError"}}function SX(_=process.env,$={}){let U=ID(_);if($.storePathOverridden)return U;if(U.source.kind!=="default")return U;let N=SN(_,PN);if(N.length===0)return U;throw new LX(N)}function PX(_=process.env){let $=ID(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:SN(_,ON).length>0,network_guard_active:Z0(_)}}function v2(_){return Boolean(_&&typeof _==="object"&&_.query_capability==="hasna.knowledge.bounded-query.v1")}function OX(_){return{fetchImpl:H0,...Z0(_)?{retry:!1}:{}}}var S6="notes";class q0 extends Error{expected;current;code="version_conflict";constructor(_,$){super(`version_conflict: this edit was written against version ${_} but the stored entry is now at version ${$}. Nothing was written. Re-read the entry and re-apply only if the fields you are changing are untouched between the two versions.`);this.expected=_;this.current=$;this.name="KnowledgeVersionConflictError"}}class x2 extends Error{operation;fields;code="bounded_query_capability_required";constructor(_,$){super(`bounded_query_capability_required: the Knowledge server did not prove support for ${_} field(s): ${$.join(", ")}. Refusing to accept a possibly unfiltered response; update the server and retry.`);this.operation=_;this.fields=$;this.name="KnowledgeBoundedQueryCapabilityError"}}function OV(_){let $={};if(_.search)$.filter=_.search,$.search=_.search;if(_.tags?.length)$.tags=_.tags;if(_.archive){if($.archive=_.archive,_.archive==="all")$.includeArchived=!0}if(_.sort)$.sort=_.sort;if(_.direction)$.direction=_.direction;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;return $}function zV(_){let $=[];if(_.tags?.length)$.push("tags");if(_.sort!==void 0)$.push("sort");if(_.direction!==void 0)$.push("direction");if(_.archive==="archived")$.push("archive=archived");return $}function zN(_,$,U,N,D){let j=_??$;if(!Number.isFinite(j)||!Number.isInteger(j)||j<N||j>D)throw Error(`${U} must be an integer between ${N} and ${D}.`);return j}function XV(_){return{baseUrl:_.baseUrl,async list($={}){let U=zN($.limit,200,"limit",1,200),N=zN($.offset,0,"offset",0,1e4),D=OV({...$,limit:U,offset:N}),j=await _.list(S6,{query:D});if(!Number.isInteger(j.total)||Number(j.total)<0)throw Error("knowledge cloud list response is missing a valid producer total.");let I=zV($);if(I.length>0&&!v2(j.raw))throw new x2("list",I);return{items:j.items,total:Number(j.total)}},async search($){let U=zN($.limit,20,"limit",1,200),N=zN($.offset,0,"offset",0,1e4),D=await _.transport.get(`/${S6}/search`,{query:{q:$.query,archive:$.archive??"active",limit:U,offset:N}});if(!Number.isInteger(D.total)||D.total<0||!Array.isArray(D.items)||D.items.some((j)=>!j||typeof j!=="object"||!j.item||typeof j.rank!=="number"||!Number.isFinite(j.rank)))throw Error("knowledge cloud search response is missing producer rank or total evidence.");if(!v2(D))throw new x2("search",["q","rank","total"]);return{items:D.items,total:D.total}},async get($){return _.get(S6,$)},async create($){return _.create(S6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,U,N={}){try{return await _.update(S6,$,U,{...N.expectedVersion!==void 0?{headers:{"if-match":String(N.expectedVersion)}}:{}})}catch(D){if(f2(D))return null;let j=RV(D);if(j)throw j;throw D}},async delete($){let U=await _.get(S6,$);if(!U)return!1;return await _.delete(S6,U.id),!0},async listVersions($,U={}){try{return await _.transport.get(`/${S6}/${encodeURIComponent($)}/versions`,{query:{limit:U.limit,offset:U.offset}})}catch(N){if(f2(N))return null;throw N}},async getVersion($,U){try{return await _.transport.get(`/${S6}/${encodeURIComponent($)}/versions/${U}`)}catch(N){if(f2(N))return null;throw N}}}}function RV(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,N=(typeof $==="string"?YV($):$)??{};if(N.error!=="version_conflict")return null;return new q0(Number(N.expected??0),Number(N.current??0))}function YV(_){try{return JSON.parse(_)}catch{return null}}function f2(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function ED(_=process.env){let $=XX(_);return $?XV($):null}function zX(_=process.env){return XX(_,{guarded:!0})?.transport??null}function QV(_){let $={..._};return delete $.HOME,delete $.USERPROFILE,delete $[NX],delete $[DX(jD)],$}function XX(_,$={}){if(ID(_).mode!=="postgres")return null;let U=$.guarded?QV(_):_,N=b2(jD,w2(U,"postgres"),OX(U));if(N.transport!=="http")return null;return N.client}function o$(_=process.env){if(ID(_).mode!=="postgres")return!1;return b2(jD,w2(_,"postgres"),OX(_)).transport==="http"}async function XN(_){let U=[];for(let N=0;;N+=200){let{items:D}=await _.list({archive:"all",limit:200,offset:N});if(U.push(...D),D.length<200)break;if(N>1e5)break}return U}class u2 extends Error{location;code="version_history_unsupported";constructor(_){super(`Version history is not kept by the local JSON knowledge store (${_}). It has no version line, so an empty history here would be a claim, not a measurement. Entry versioning lives in the Postgres-backed store: point this CLI at it (HASNA_KNOWLEDGE_STORAGE_MODE=postgres plus the API url/key) and re-run.`);this.location=_;this.name="VersionHistoryUnsupportedError"}}function y2(_,$){return _.id===$||_.short_id===$}function TV(_,$){let U=$.trim().toLowerCase();if(!U)return!0;return _.id.toLowerCase().includes(U)||_.title.toLowerCase().includes(U)||_.content.toLowerCase().includes(U)}function VV(_,$){if($.length===0)return!0;let U=new Set((_.tags??[]).map((N)=>N.toLowerCase()));return $.every((N)=>{let D=N.trim().toLowerCase(),j=N.split(",").map((I)=>I.trim().toLowerCase()).filter(Boolean);return D.length>0&&U.has(D)||j.length>0&&j.every((I)=>U.has(I))})}function BV(_,$,U,N){let D=U==="title"?_.title.localeCompare($.title):_.created_at.localeCompare($.created_at),j=D===0?_.id.localeCompare($.id):D;return N==="desc"?-j:j}function RX(_,$,U,N,D){let j=_??$;if(!Number.isFinite(j)||!Number.isInteger(j)||j<N||j>D)throw Error(`${U} must be an integer between ${N} and ${D}.`);return j}function FV(_,$){let U=$.archive??"active",N=$.sort??"created",D=$.direction??"asc",j=RX($.limit,50,"limit",1,200),I=RX($.offset,0,"offset",0,1e4),E=_.filter((W)=>U==="all"||(U==="archived"?W.archived===!0:W.archived!==!0));if($.search)E=E.filter((W)=>TV(W,$.search));if($.tags?.length)E=E.filter((W)=>VV(W,$.tags));return E.sort((W,J)=>BV(W,J,N,D)),{total:E.length,items:E.slice(I,I+j)}}class YX{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new u2(this.storePath)}async getVersion(){throw new u2(this.storePath)}get location(){return this.storePath}get exists(){return GV(this.storePath)}async list(_={}){let $=z4(this.storePath);return{...FV($.items,_),exists:$.exists}}async listAll(){let _=z4(this.storePath);return{items:_.items,total:_.items.length,exists:_.exists}}async get(_){return z4(this.storePath).items.find((U)=>y2(U,_))??null}async create(_){return t$(this.storePath,()=>{let $=UD(this.storePath),U=new Date().toISOString(),N=_.id??y3(),D={id:N,short_id:u3(N),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U,version:1};return $.items.push(D),J6(this.storePath,$),D},{createParent:!0})}async update(_,$,U={}){return t$(this.storePath,()=>{let N=UD(this.storePath),D=N.items.findIndex((E)=>y2(E,_));if(D===-1)return null;let j=N.items[D],I=j.version??1;if(U.expectedVersion!==void 0&&U.expectedVersion!==I)throw new q0(U.expectedVersion,I);if($.title!==void 0)j.title=$.title;if($.content!==void 0)j.content=$.content;if($.url!==void 0)j.url=$.url;if($.tags!==void 0)j.tags=$.tags;if($.metadata!==void 0)j.metadata=$.metadata;if($.archived!==void 0)j.archived=$.archived;return j.updated_at=new Date().toISOString(),j.version=I+1,N.items[D]=j,J6(this.storePath,N),j},{createParent:!0})}async delete(_){return t$(this.storePath,()=>{let $=UD(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!y2(D,_));let N=U!==$.items.length;if(N)J6(this.storePath,$);return N},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return t$(this.storePath,()=>{let U=UD(this.storePath),N=U.items.length;U.items=U.items.filter((j)=>!$.has(j.id)&&!(j.short_id!=null&&$.has(j.short_id)));let D=N-U.items.length;if(D>0)J6(this.storePath,U);return D},{createParent:!0})}}class QX{cloud;kind="api";exists=!0;supportsVersions=!0;constructor(_){this.cloud=_}async listVersions(_,$={}){return this.cloud.listVersions(_,$)}async getVersion(_,$){return this.cloud.getVersion(_,$)}get location(){return this.cloud.baseUrl}async list(_={}){let $=await this.cloud.list({search:_.search,tags:_.tags,archive:_.archive,sort:_.sort,direction:_.direction,limit:_.limit,offset:_.offset});return{items:$.items,total:$.total,exists:!0}}async listAll(){let _=await XN(this.cloud);return{items:_,total:_.length,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(_,$,U={}){return this.cloud.update(_,$,{expectedVersion:U.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let U of _)if(await this.cloud.delete(U))$+=1;return $}}function RN(_){let $=_.storePathOverridden?null:ED(_.env??process.env);if($)return new QX($);return new YX(_.storePath)}function GX(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` +`)}var h2=5000;function KV(_,$){let U=GX(_),N=GX($);if(U.length>h2||N.length>h2)throw Error(`Refusing to line-diff ${Math.max(U.length,N.length)} lines (limit ${h2}). Fetch the two versions and diff them with a dedicated tool.`);let D=Array.from({length:U.length+1},()=>Array(N.length+1).fill(0));for(let W=U.length-1;W>=0;W-=1)for(let J=N.length-1;J>=0;J-=1)D[W][J]=U[W]===N[J]?D[W+1][J+1]+1:Math.max(D[W+1][J],D[W][J+1]);let j=[],I=0,E=0;while(I<U.length&&E<N.length)if(U[I]===N[E])j.push({op:"context",from_line:I+1,to_line:E+1,text:U[I]}),I+=1,E+=1;else if(D[I+1][E]>=D[I][E+1])j.push({op:"remove",from_line:I+1,to_line:null,text:U[I]}),I+=1;else j.push({op:"add",from_line:null,to_line:E+1,text:N[E]}),E+=1;while(I<U.length)j.push({op:"remove",from_line:I+1,to_line:null,text:U[I]}),I+=1;while(E<N.length)j.push({op:"add",from_line:null,to_line:E+1,text:N[E]}),E+=1;return j}function MV(_,$){return JSON.stringify(_??null)===JSON.stringify($??null)}function TX(_,$){let U=[],N=(E)=>{if(!MV(_[E],$[E]))U.push({field:E,from:_[E]??null,to:$[E]??null})};N("title"),N("url"),N("tags"),N("metadata"),N("archived");let D=KV(_.content,$.content),j=D.filter((E)=>E.op==="add").length,I=D.filter((E)=>E.op==="remove").length;return{identical:U.length===0&&j===0&&I===0,fields:U,content:D,added:j,removed:I}}function VX(_,$,U){let N=[`--- ${$}`,`+++ ${U}`];if(_.identical)return N.push("(no changes)"),N.join(` +`);for(let D of _.fields)N.push(`~ ${D.field}: ${JSON.stringify(D.from)} -> ${JSON.stringify(D.to)}`);if(_.added===0&&_.removed===0){if(_.fields.length>0)N.push("(content unchanged)")}else{N.push(`@@ content +${_.added} -${_.removed} @@`);for(let D of _.content){let j=D.op==="add"?"+":D.op==="remove"?"-":" ";N.push(`${j}${D.text}`)}}return N.join(` +`)}import{Database as BX}from"bun:sqlite";function YN(_="catalog"){if(o$()){let $=L6[0];throw Error(`knowledge: ${_} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${$}=local `+"(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see "+"which variable selected the current backend.")}}var gV="porter unicode61 remove_diacritics 2",FX=` PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; @@ -266,7 +266,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (1, datetime('now')); -`,BV=` +`,ZV=` DROP TABLE IF EXISTS chunks_fts; CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( @@ -279,7 +279,7 @@ CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5( INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (2, datetime('now')); -`,FV=` +`,HV=` CREATE TABLE IF NOT EXISTS audit_events ( id TEXT PRIMARY KEY, event_type TEXT NOT NULL, @@ -310,7 +310,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')); -`,KV=` +`,qV=` CREATE TABLE IF NOT EXISTS vector_index_entries ( id TEXT PRIMARY KEY, chunk_id TEXT NOT NULL REFERENCES chunks(id) ON DELETE CASCADE, @@ -341,7 +341,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')); -`,gV=` +`,kV=` CREATE TABLE IF NOT EXISTS reindex_queue ( id TEXT PRIMARY KEY, kind TEXT NOT NULL, @@ -362,7 +362,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')); -`,FX=` +`,KX=` CREATE TABLE IF NOT EXISTS knowledge_machines ( machine_id TEXT PRIMARY KEY, hostname TEXT, @@ -437,7 +437,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')); -`,MV=` +`,bV=` CREATE TABLE IF NOT EXISTS knowledge_sync_table_clocks ( table_name TEXT NOT NULL, machine_id TEXT NOT NULL, @@ -477,7 +477,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')); -`,ZV=` +`,CV=` 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); @@ -485,7 +485,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')); -`,HV=` +`,wV=` BEGIN; CREATE TEMP TABLE _chunks_fts_backup AS @@ -498,7 +498,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${VV}' + tokenize='${gV}' ); INSERT INTO chunks_fts (chunk_id, text, title, source_uri) @@ -510,7 +510,7 @@ INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now')); COMMIT; -`,qV=` +`,vV=` CREATE TABLE IF NOT EXISTS knowledge_promotion_candidates ( id TEXT PRIMARY KEY, record_kind TEXT NOT NULL, @@ -571,14 +571,14 @@ CREATE INDEX IF NOT EXISTS idx_durable_records_validity INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (10, datetime('now')); -`;function v(_){Yj("opening the local knowledge.db catalog"),i$(_);let $=new VX(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function KX(_){return Yj("reading the local knowledge.db catalog"),new VX(_,{readonly:!0})}function c(_){let $=v(_);try{if($.exec(BX),r_($)<2)$.exec(BV);if(r_($)<3)$.exec(FV);if(r_($)<4)$.exec(KV);if(r_($)<5)$.exec(gV);if(r_($)<6)$.exec(FX);if(kV($))CV($);if(bV($))wV($);if(vV($))fV($);if(xV($))yV($);return{path:_,schema_version:r_($)}}finally{$.close()}}function r_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function q_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function h2(_){return`"${_.replaceAll('"','""')}"`}function O6(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(U)}function P6(_,$,U){if(!O6(_,$))return!1;return _.query(`PRAGMA table_info(${h2($)})`).all().some((D)=>D.name===U)}function f6(_,$,U,j){if(!P6(_,$,U))_.exec(`ALTER TABLE ${h2($)} ADD COLUMN ${h2(U)} ${j};`)}function kV(_){return r_(_)<7||!P6(_,"knowledge_sync_changes","logical_clock")||!P6(_,"knowledge_sync_changes","bundle_id")||!O6(_,"knowledge_sync_table_clocks")||!O6(_,"knowledge_sync_imports")}function CV(_){if(!O6(_,"knowledge_sync_changes"))_.exec(FX);f6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),f6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(MV)}function bV(_){return r_(_)<8||!P6(_,"wiki_pages","valid_from")||!P6(_,"wiki_pages","valid_to")||!P6(_,"wiki_pages","supersedes")||!P6(_,"wiki_pages","superseded_by")||!P6(_,"wiki_pages","confidence")||!P6(_,"wiki_pages","last_verified_at")}function wV(_){if(!O6(_,"wiki_pages"))_.exec(BX);f6(_,"wiki_pages","valid_from","TEXT"),f6(_,"wiki_pages","valid_to","TEXT"),f6(_,"wiki_pages","supersedes","TEXT"),f6(_,"wiki_pages","superseded_by","TEXT"),f6(_,"wiki_pages","confidence","REAL"),f6(_,"wiki_pages","last_verified_at","TEXT"),_.exec(` +`;function v(_){YN("opening the local knowledge.db catalog"),i$(_);let $=new BX(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function MX(_){return YN("reading the local knowledge.db catalog"),new BX(_,{readonly:!0})}function c(_){let $=v(_);try{if($.exec(FX),r_($)<2)$.exec(ZV);if(r_($)<3)$.exec(HV);if(r_($)<4)$.exec(qV);if(r_($)<5)$.exec(kV);if(r_($)<6)$.exec(KX);if(fV($))xV($);if(yV($))uV($);if(hV($))rV($);if(cV($))mV($);return{path:_,schema_version:r_($)}}finally{$.close()}}function r_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function k_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function r2(_){return`"${_.replaceAll('"','""')}"`}function O6(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(U)}function P6(_,$,U){if(!O6(_,$))return!1;return _.query(`PRAGMA table_info(${r2($)})`).all().some((D)=>D.name===U)}function f6(_,$,U,N){if(!P6(_,$,U))_.exec(`ALTER TABLE ${r2($)} ADD COLUMN ${r2(U)} ${N};`)}function fV(_){return r_(_)<7||!P6(_,"knowledge_sync_changes","logical_clock")||!P6(_,"knowledge_sync_changes","bundle_id")||!O6(_,"knowledge_sync_table_clocks")||!O6(_,"knowledge_sync_imports")}function xV(_){if(!O6(_,"knowledge_sync_changes"))_.exec(KX);f6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),f6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(bV)}function yV(_){return r_(_)<8||!P6(_,"wiki_pages","valid_from")||!P6(_,"wiki_pages","valid_to")||!P6(_,"wiki_pages","supersedes")||!P6(_,"wiki_pages","superseded_by")||!P6(_,"wiki_pages","confidence")||!P6(_,"wiki_pages","last_verified_at")}function uV(_){if(!O6(_,"wiki_pages"))_.exec(FX);f6(_,"wiki_pages","valid_from","TEXT"),f6(_,"wiki_pages","valid_to","TEXT"),f6(_,"wiki_pages","supersedes","TEXT"),f6(_,"wiki_pages","superseded_by","TEXT"),f6(_,"wiki_pages","confidence","REAL"),f6(_,"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(ZV)}function gX(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function vV(_){if(!O6(_,"chunks_fts"))return!1;return r_(_)<9||!gX(_)}function fV(_){if(!O6(_,"chunks_fts"))return;if(gX(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(HV)}function xV(_){return r_(_)<10||!O6(_,"knowledge_promotion_candidates")||!O6(_,"durable_knowledge_records")}function yV(_){_.exec(qV)}function r2(_){let $=v(_);try{return{schema_version:r_($),sources:q_($,"sources"),source_revisions:q_($,"source_revisions"),chunks:q_($,"chunks"),wiki_pages:q_($,"wiki_pages"),citations:q_($,"citations"),indexes:q_($,"knowledge_indexes"),runs:q_($,"runs"),run_events:q_($,"run_events"),redaction_findings:q_($,"redaction_findings"),audit_events:q_($,"audit_events"),approval_gates:q_($,"approval_gates"),storage_objects:q_($,"storage_objects"),embeddings:q_($,"chunk_embeddings"),vector_entries:q_($,"vector_index_entries"),reindex_queue:q_($,"reindex_queue"),knowledge_machines:q_($,"knowledge_machines"),sync_snapshots:q_($,"knowledge_sync_snapshots"),sync_changes:q_($,"knowledge_sync_changes"),sync_conflicts:q_($,"knowledge_sync_conflicts"),sync_table_clocks:q_($,"knowledge_sync_table_clocks"),sync_imports:q_($,"knowledge_sync_imports"),promotion_candidates:q_($,"knowledge_promotion_candidates"),durable_records:q_($,"durable_knowledge_records")}}finally{$.close()}}import{chmodSync as uV,existsSync as hV,mkdirSync as MX,readFileSync as rV,statSync as cV,writeFileSync as mV}from"fs";import{dirname as nV,join as c2,relative as dV,sep as lV}from"path";import{pathToFileURL as iV}from"url";function p$(_){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 m2(_,$){let U=dV(_,$);if(U.startsWith("..")||U===".."||U.startsWith(`..${lV}`))throw Error(`Artifact path escapes root: ${$}`)}function tV(_){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 ZX{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;MX(_,{recursive:!0,mode:448})}async put(_){let $=p$(_.key),U=c2(this.root,$);return m2(this.root,U),MX(nV(U),{recursive:!0,mode:448}),mV(U,_.body,{mode:384}),uV(U,384),{key:$,uri:iV(U).href,modified_at:cV(U).mtime.toISOString()}}async getText(_){let $=p$(_),U=c2(this.root,$);return m2(this.root,U),rV(U,"utf8")}async exists(_){let $=p$(_),U=c2(this.root,$);return m2(this.root,U),hV(U)}}class HX{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 $=p$(_),U=this.options.prefix?p$(this.options.prefix):"";return U?`${U}/${$}`:$}async put(_){let[{PutObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),j=p$(_.key),D=this.objectKey(j);return await U.send(new $({Bucket:this.options.bucket,Key:D,Body:_.body,ContentType:_.content_type,Metadata:tV(_.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 N=D instanceof Error?D.name:"";if(N==="NotFound"||N==="NoSuchKey"||N==="NotFoundError")return!1;throw D}}}function n2(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new HX({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 ZX($.artifactsDir)}import{createHash as f1}from"crypto";import{spawnSync as lk}from"child_process";import{existsSync as R_,readFileSync as ik}from"fs";import{hostname as tk}from"os";import{join as pR,resolve as JQ}from"path";import{createHash as QF,randomUUID as GF}from"crypto";import{createHash as UB,randomUUID as DB}from"crypto";import{existsSync as i2,readdirSync as jB}from"fs";import{join as fX}from"path";import{pathToFileURL as NB}from"url";import{existsSync as oV,mkdirSync as pV,readFileSync as aV,unlinkSync as eV,writeFileSync as sV}from"fs";import{homedir as _B}from"os";import{dirname as $B,join as qX}from"path";var d2="https://knowledge.md";function z6(_){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 Qj(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??qX(_B(),".hasna","knowledge");return qX($,"auth.json")}function Rj(_,$=process.env){return z6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??d2)}function kX(_=process.env){try{let $=Qj(_);if(!oV($))return null;let U=JSON.parse(aV($,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function CX(_,$=process.env){let U=Qj($),j={..._,api_url:_.api_url?z6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return pV($B(U),{recursive:!0,mode:448}),sV(U,`${JSON.stringify(j,null,2)} -`,{mode:384}),j}function bX(_=process.env){try{return eV(Qj(_)),!0}catch{return!1}}function l2(_=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 $=kX(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function wX(_,$=process.env){let U=kX($),j=l2($),D=$.KNOWLEDGE_API_URL?Rj(_,$):U?.api_url?z6(U.api_url):Rj(_,$);return{authenticated:Boolean(j.apiKey),source:j.source,api_url:D,auth_path:Qj($),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 vX=2;var xX=[{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."}],EB=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function yX(_){let $=[];if(i2(fX(_.home,"cloud.env")))$.push("cloud.env");if(i2(fX(_.home,"migration-exports")))$.push("migration-exports");if(i2(_.home)){for(let U of jB(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))$.push(U)}return $}function k0(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${UB("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function uX(_){return xX.find((U)=>_.startsWith(U.prefix))?.kind??"artifact"}function Gj(_,$,U="global"){let j=t2(_,$),D=_.storage.s3??null,N=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",E=D?`s3://${D.bucket}/${N?`${N}/`:""}`:"",I=z_.s3.prefix.replace(/^\/+|\/+$/g,""),W=`s3://${z_.s3.bucket}/${I}/`,J=_.storage.type==="s3"&&D?.bucket===z_.s3.bucket&&(D.region??null)===z_.s3.region;return{scope:U,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:W6,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"?E:NB(`${$.artifactsDir}/`).href,s3:D?{bucket:D.bucket,prefix:N,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:z_.division,app_type:z_.app_type,app:z_.app,env:z_.env,active:J,local_path:z_.local_path,s3:{bucket:z_.s3.bucket,region:z_.s3.region,profile:z_.s3.profile,prefix:I,uri_prefix:W,server_side_encryption:z_.s3.server_side_encryption},secrets:{env:z_.secrets.env,aws:z_.secrets.aws,s3:z_.secrets.s3,rds:z_.secrets.rds,future_rds:z_.secrets.future_rds},evidence_doc:z_.evidence_doc},hosted:{enabled:_.mode==="hosted",api_url:z6(_.hosted?.api_url??d2),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:vX,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:EB,forbidden_workspace_files_present:yX($),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:z_.secrets.env,aws:z_.secrets.aws,s3:z_.secrets.s3,rds:z_.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((L)=>["open-files","s3","file"].includes(L)),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:xX,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 t2(_,$){let U=[],j=[],D=yX($);for(let N of D)U.push(`Forbidden Knowledge workspace file present: ${N}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!$.home.endsWith(W6))j.push(`Workspace home does not end with ${W6}: ${$.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{z6(_.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 X6(_,$,U=new Date){let j=U.toISOString(),D=_.prepare(` + `),_.exec(CV)}function gX(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function hV(_){if(!O6(_,"chunks_fts"))return!1;return r_(_)<9||!gX(_)}function rV(_){if(!O6(_,"chunks_fts"))return;if(gX(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(wV)}function cV(_){return r_(_)<10||!O6(_,"knowledge_promotion_candidates")||!O6(_,"durable_knowledge_records")}function mV(_){_.exec(vV)}function c2(_){let $=v(_);try{return{schema_version:r_($),sources:k_($,"sources"),source_revisions:k_($,"source_revisions"),chunks:k_($,"chunks"),wiki_pages:k_($,"wiki_pages"),citations:k_($,"citations"),indexes:k_($,"knowledge_indexes"),runs:k_($,"runs"),run_events:k_($,"run_events"),redaction_findings:k_($,"redaction_findings"),audit_events:k_($,"audit_events"),approval_gates:k_($,"approval_gates"),storage_objects:k_($,"storage_objects"),embeddings:k_($,"chunk_embeddings"),vector_entries:k_($,"vector_index_entries"),reindex_queue:k_($,"reindex_queue"),knowledge_machines:k_($,"knowledge_machines"),sync_snapshots:k_($,"knowledge_sync_snapshots"),sync_changes:k_($,"knowledge_sync_changes"),sync_conflicts:k_($,"knowledge_sync_conflicts"),sync_table_clocks:k_($,"knowledge_sync_table_clocks"),sync_imports:k_($,"knowledge_sync_imports"),promotion_candidates:k_($,"knowledge_promotion_candidates"),durable_records:k_($,"durable_knowledge_records")}}finally{$.close()}}import{chmodSync as nV,existsSync as dV,mkdirSync as ZX,readFileSync as lV,statSync as iV,writeFileSync as tV}from"fs";import{dirname as oV,join as m2,relative as pV,sep as aV}from"path";import{pathToFileURL as eV}from"url";function p$(_){let $=_.replace(/\\/g,"/").trim();if(!$||$.startsWith("/"))throw Error(`Invalid artifact key: ${_}`);let U=$.split("/").filter(Boolean);if(U.length===0||U.some((N)=>N==="."||N===".."))throw Error(`Invalid artifact key: ${_}`);return U.join("/")}function n2(_,$){let U=pV(_,$);if(U.startsWith("..")||U===".."||U.startsWith(`..${aV}`))throw Error(`Artifact path escapes root: ${$}`)}function sV(_){if(!_)return;let $={};for(let[U,N]of Object.entries(_))if(typeof N==="string")$[U]=N;else if(typeof N==="number"||typeof N==="boolean")$[U]=String(N);return Object.keys($).length>0?$:void 0}class HX{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;ZX(_,{recursive:!0,mode:448})}async put(_){let $=p$(_.key),U=m2(this.root,$);return n2(this.root,U),ZX(oV(U),{recursive:!0,mode:448}),tV(U,_.body,{mode:384}),nV(U,384),{key:$,uri:eV(U).href,modified_at:iV(U).mtime.toISOString()}}async getText(_){let $=p$(_),U=m2(this.root,$);return n2(this.root,U),lV(U,"utf8")}async exists(_){let $=p$(_),U=m2(this.root,$);return n2(this.root,U),dV(U)}}class qX{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 $=p$(_),U=this.options.prefix?p$(this.options.prefix):"";return U?`${U}/${$}`:$}async put(_){let[{PutObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),N=p$(_.key),D=this.objectKey(N);return await U.send(new $({Bucket:this.options.bucket,Key:D,Body:_.body,ContentType:_.content_type,Metadata:sV(_.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:N,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()]),N=this.objectKey(_),D=await U.send(new $({Bucket:this.options.bucket,Key:N}));if(!D.Body)return"";return await D.Body.transformToString()}async exists(_){let[{HeadObjectCommand:$},U]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),N=this.objectKey(_);try{return await U.send(new $({Bucket:this.options.bucket,Key:N})),!0}catch(D){let j=D instanceof Error?D.name:"";if(j==="NotFound"||j==="NoSuchKey"||j==="NotFoundError")return!1;throw D}}}function d2(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new qX({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 HX($.artifactsDir)}import{createHash as f1}from"crypto";import{spawnSync as ak}from"child_process";import{existsSync as Q_,readFileSync as ek}from"fs";import{hostname as sk}from"os";import{join as aY,resolve as LQ}from"path";import{createHash as FF,randomUUID as KF}from"crypto";import{createHash as EB,randomUUID as AB}from"crypto";import{existsSync as t2,readdirSync as WB}from"fs";import{join as xX}from"path";import{pathToFileURL as JB}from"url";import{existsSync as _B,mkdirSync as $B,readFileSync as UB,unlinkSync as DB,writeFileSync as NB}from"fs";import{homedir as jB}from"os";import{dirname as IB,join as kX}from"path";var l2="https://knowledge.md";function z6(_){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 GN(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??kX(jB(),".hasna","knowledge");return kX($,"auth.json")}function QN(_,$=process.env){return z6($.KNOWLEDGE_API_URL??_?.hosted?.api_url??l2)}function bX(_=process.env){try{let $=GN(_);if(!_B($))return null;let U=JSON.parse(UB($,"utf8"));return typeof U.api_key==="string"&&U.api_key.length>0?U:null}catch{return null}}function CX(_,$=process.env){let U=GN($),N={..._,api_url:_.api_url?z6(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return $B(IB(U),{recursive:!0,mode:448}),NB(U,`${JSON.stringify(N,null,2)} +`,{mode:384}),N}function wX(_=process.env){try{return DB(GN(_)),!0}catch{return!1}}function i2(_=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 $=bX(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function vX(_,$=process.env){let U=bX($),N=i2($),D=$.KNOWLEDGE_API_URL?QN(_,$):U?.api_url?z6(U.api_url):QN(_,$);return{authenticated:Boolean(N.apiKey),source:N.source,api_url:D,auth_path:GN($),email:N.source==="file"?U?.email??null:null,org_id:N.source==="file"?U?.org_id??null:null,org_slug:N.source==="file"?U?.org_slug??null:null,user_id:N.source==="file"?U?.user_id??null:null,api_key_present:Boolean(N.apiKey)}}var fX=2;var yX=[{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."}],LB=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function uX(_){let $=[];if(t2(xX(_.home,"cloud.env")))$.push("cloud.env");if(t2(xX(_.home,"migration-exports")))$.push("migration-exports");if(t2(_.home)){for(let U of WB(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(U))$.push(U)}return $}function k0(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${EB("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function hX(_){return yX.find((U)=>_.startsWith(U.prefix))?.kind??"artifact"}function TN(_,$,U="global"){let N=o2(_,$),D=_.storage.s3??null,j=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",I=D?`s3://${D.bucket}/${j?`${j}/`:""}`:"",E=X_.s3.prefix.replace(/^\/+|\/+$/g,""),W=`s3://${X_.s3.bucket}/${E}/`,J=_.storage.type==="s3"&&D?.bucket===X_.s3.bucket&&(D.region??null)===X_.s3.region;return{scope:U,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:W6,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"?I:JB(`${$.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:X_.division,app_type:X_.app_type,app:X_.app,env:X_.env,active:J,local_path:X_.local_path,s3:{bucket:X_.s3.bucket,region:X_.s3.region,profile:X_.s3.profile,prefix:E,uri_prefix:W,server_side_encryption:X_.s3.server_side_encryption},secrets:{env:X_.secrets.env,aws:X_.secrets.aws,s3:X_.secrets.s3,rds:X_.secrets.rds,future_rds:X_.secrets.future_rds},evidence_doc:X_.evidence_doc},hosted:{enabled:_.mode==="hosted",api_url:z6(_.hosted?.api_url??l2),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:fX,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:LB,forbidden_workspace_files_present:uX($),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:X_.secrets.env,aws:X_.secrets.aws,s3:X_.secrets.s3,rds:X_.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((L)=>["open-files","s3","file"].includes(L)),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:yX,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:N.warnings}}function o2(_,$){let U=[],N=[],D=uX($);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(W6))N.push(`Workspace home does not end with ${W6}: ${$.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)N.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if(_.mode==="local")N.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)N.push("storage.s3 is configured but ignored while storage.type is local.");if(_.sources.preferred_ref!=="open-files")N.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{z6(_.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:N}}function X6(_,$,U=new Date){let N=U.toISOString(),D=_.prepare(` INSERT INTO storage_objects ( id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at ) @@ -590,49 +590,49 @@ VALUES (10, datetime('now')); size_bytes = excluded.size_bytes, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);_.transaction((E)=>{for(let I of E){let W={key:I.key,...I.modified_at?{artifact_modified_at:I.modified_at}:{},...I.metadata??{}};D.run(DB(),I.uri,I.kind,I.content_type??null,I.hash??null,I.size_bytes??null,JSON.stringify(W),j,j)}})($)}function o2(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function x6(_){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:o2($)}}function P$(_){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 hX(_,$){return{..._,provenance:$}}import{createHash as JF}from"crypto";import{existsSync as LF,readFileSync as SF}from"fs";import{basename as Fj}from"path";import{createHash as bB}from"crypto";import{existsSync as wB,readFileSync as vB}from"fs";import{basename as fB}from"path";import{fileURLToPath as IB}from"url";function rX(_,$){if(!_)throw Error($);return _}function AB(_){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=rX(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 N=U.indexOf("path"),E=N>=0?decodeURIComponent(U.slice(N+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:j,id:D,path:E}}function WB(_){let $=new URL(_),U=rX($.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 JB(_){return{kind:"file",uri:_,path:IB(_)}}function LB(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function T$(_){if(_.startsWith("open-files://"))return AB(_);if(_.startsWith("s3://"))return WB(_);if(_.startsWith("file://"))return JB(_);if(_.startsWith("https://")||_.startsWith("http://"))return LB(_);throw Error(`Unsupported source ref scheme: ${_}`)}function cX(_,$=T$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function mX(_){let $=T$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as SB,randomUUID as a2}from"crypto";import{relative as PB,resolve as dX,sep as OB}from"path";function nX(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function lX(_,$){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((N)=>N.trim()).filter(Boolean))j.add(D);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((D)=>dX(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??nX("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??nX("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 zB(_,$){let U=PB(_,$);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${OB}`)}function Y6(_,$){let U=dX(_);if(!$.allowWriteRoots.some((j)=>zB(j,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function y6(_,$){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 C0(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var iX=[{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 d_(_,$){if($&&!$.redaction.enabled)return{text:_,findings:[]};let U=_,j=[];for(let D of iX)U=U.replace(D.regex,(N,...E)=>{let I=typeof E.at(-2)==="number"?E.at(-2):U.indexOf(N);return j.push({type:D.type,severity:D.severity,start:Math.max(0,I),end:Math.max(0,I+N.length)}),D.replacement});return{text:U,findings:j}}function XB(_){return`audit_${SB("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${a2()}`).digest("hex").slice(0,24)}`}function p2(_,$=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)=>p2(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[N,E]of j)U[N]=p2(E,$+1);let D=Object.keys(_).length;if(D>j.length)U.__truncated_keys=D-j.length;return U}return String(_)}function G_(_,$){let U=$.created_at??new Date().toISOString(),j=p2($.metadata??{}),D=XB({...$,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 b0(_,$){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_${a2()}`,$.source_uri??null,$.run_id??null,j.severity,j.type,JSON.stringify({...$.metadata??{},start:j.start,end:j.end}),U]);return $.findings.length}function Tj(_,$){let U=$.created_at??new Date().toISOString(),j=`approval_${a2()}`;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 YB=[{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]"}];iX.push(...YB);function RB(_,$,U){let j=_.query(`SELECT id FROM approval_gates + `);_.transaction((I)=>{for(let E of I){let W={key:E.key,...E.modified_at?{artifact_modified_at:E.modified_at}:{},...E.metadata??{}};D.run(AB(),E.uri,E.kind,E.content_type??null,E.hash??null,E.size_bytes??null,JSON.stringify(W),N,N)}})($)}function p2(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function x6(_){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:p2($)}}function P$(_){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 rX(_,$){return{..._,provenance:$}}import{createHash as zF}from"crypto";import{existsSync as XF,readFileSync as RF}from"fs";import{basename as KN}from"path";import{createHash as yB}from"crypto";import{existsSync as uB,readFileSync as hB}from"fs";import{basename as rB}from"path";import{fileURLToPath as SB}from"url";function cX(_,$){if(!_)throw Error($);return _}function PB(_){let U=_.slice(13).split("/").filter(Boolean),N=U[0];if(N!=="file"&&N!=="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=cX(U[1],"Invalid open-files ref. Missing id.");if(N==="file"){if(U.length===2)return{kind:"open-files",uri:_,entity:N,id:D};if(U[2]==="revision"&&U[3]&&U.length===4)return{kind:"open-files",uri:_,entity:N,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"),I=j>=0?decodeURIComponent(U.slice(j+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:N,id:D,path:I}}function OB(_){let $=new URL(_),U=cX($.hostname,"Invalid s3 ref. Missing bucket."),N=decodeURIComponent($.pathname.replace(/^\/+/,""));if(!N)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:_,bucket:U,key:N}}function zB(_){return{kind:"file",uri:_,path:SB(_)}}function XB(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function T$(_){if(_.startsWith("open-files://"))return PB(_);if(_.startsWith("s3://"))return OB(_);if(_.startsWith("file://"))return zB(_);if(_.startsWith("https://")||_.startsWith("http://"))return XB(_);throw Error(`Unsupported source ref scheme: ${_}`)}function mX(_,$=T$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function nX(_){let $=T$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as RB,randomUUID as e2}from"crypto";import{relative as YB,resolve as lX,sep as QB}from"path";function dX(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function iX(_,$){let U=_,N=new Set(U.safety?.network?.allowed_s3_buckets??[]);if(_.storage.type==="s3"&&_.storage.s3?.bucket)N.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))N.add(D);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((D)=>lX(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:U.safety?.network?.web_search_enabled??dX("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:U.safety?.network?.s3_reads_enabled??dX("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...N].sort()},redaction:{enabled:U.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:U.safety?.approvals?.generated_writes_require_approval??!0}}}function GB(_,$){let U=YB(_,$);return U===""||!U.startsWith("..")&&U!==".."&&!U.startsWith(`..${QB}`)}function R6(_,$){let U=lX(_);if(!$.allowWriteRoots.some((N)=>GB(N,U)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function y6(_,$){let N=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(N))throw Error(`Safety policy denied S3 bucket "${N}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function b0(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var tX=[{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 d_(_,$){if($&&!$.redaction.enabled)return{text:_,findings:[]};let U=_,N=[];for(let D of tX)U=U.replace(D.regex,(j,...I)=>{let E=typeof I.at(-2)==="number"?I.at(-2):U.indexOf(j);return N.push({type:D.type,severity:D.severity,start:Math.max(0,E),end:Math.max(0,E+j.length)}),D.replacement});return{text:U,findings:N}}function TB(_){return`audit_${RB("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${e2()}`).digest("hex").slice(0,24)}`}function a2(_,$=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((N)=>a2(N,$+1));if(_.length>25)U.push(`[Truncated:${_.length-25} items]`);return U}if(typeof _==="object"){let U={},N=Object.entries(_).slice(0,50);for(let[j,I]of N)U[j]=a2(I,$+1);let D=Object.keys(_).length;if(D>N.length)U.__truncated_keys=D-N.length;return U}return String(_)}function T_(_,$){let U=$.created_at??new Date().toISOString(),N=a2($.metadata??{}),D=TB({...$,metadata:N,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(N),U]),D}function C0(_,$){let U=$.created_at??new Date().toISOString();for(let N of $.findings)_.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${e2()}`,$.source_uri??null,$.run_id??null,N.severity,N.type,JSON.stringify({...$.metadata??{},start:N.start,end:N.end}),U]);return $.findings.length}function VN(_,$){let U=$.created_at??new Date().toISOString(),N=`approval_${e2()}`;return _.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,$.action,$.target_uri??null,"approved",$.reason??null,$.approved_by??"local-cli",JSON.stringify($.metadata??{}),U,U]),{id:N,status:"approved"}}var VB=[{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]"}];tX.push(...VB);function BB(_,$,U){let N=_.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 tX(_,$,U,j){let D=U==="generated_write"&&$.approvals.generatedWritesRequireApproval,N=!D||RB(_,U,j);return{action:U,target_uri:j??null,approval_required:D,approved:N,decision:N?"allow":"requires_approval"}}import{createHash as QB}from"crypto";import{realpathSync as GB}from"fs";import{homedir as TB,tmpdir as VB}from"os";var X4=String.raw`[^\s"'<>),\]}]`,s2=String.raw`[^/\\\s"'<>]+`,aX=/file:\/\/[^\s"'<>),\]}]+/gi,BB=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,eX=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,sX=new RegExp(String.raw`/(?:home|Users)/${s2}/(?:workspace|Workspace)/${X4}*`,"g"),FB=[new RegExp(String.raw`/(?:home|Users)/${s2}(?:/${X4}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${X4}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${X4}+`,"g"),new RegExp(String.raw`(?<![A-Za-z0-9])[A-Za-z]:[\\/]${X4}+`,"g"),new RegExp(String.raw`\\\\${s2}\\${X4}+`,"g")],_5=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,$5=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,KB=new Set(["content_base64"]);function gB(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function MB(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var oX=null,e2=[];function ZB(){let _=new Set;for(let U of[TB(),VB()]){if(!U)continue;_.add(U);try{_.add(GB(U))}catch{}}let $=[..._].sort().join("\x00");if($===oX)return e2;return oX=$,e2=[..._].filter(MB).sort((U,j)=>j.length-U.length).map((U)=>new RegExp(`${gB(U)}(?:[/\\\\]${X4}*)?`,"g")),e2}function V$(_){return QB("sha256").update(_).digest("hex").slice(0,12)}function HB(_){return _.length<=80?_:`${_.slice(0,77)}...`}function pX(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function qB(_,$,U,j){for(let D of _.matchAll(aX)){let N=D[0];if(!U.allowFileSourceRefs||pX(N))j.push({type:pX(N)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:HB(N.replace(/^file:\/\/.*/,`[redacted:file-uri:${V$(N)}]`))})}for(let D of _.matchAll(eX))j.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${V$(D[0])}]`});for(let D of _.matchAll(_5))j.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${V$(D[0])}]`});for(let D of _.matchAll($5))j.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${V$(D[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let D of _.matchAll(sX))j.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${V$(D[0])}]`})}function kB(_,$={},U="$"){let j=[],D=(N,E)=>{if(typeof N==="string"){qB(N,E,$,j);return}if(!N||typeof N!=="object")return;if(Array.isArray(N)){N.forEach((I,W)=>D(I,`${E}[${W}]`));return}for(let[I,W]of Object.entries(N))D(W,`${E}.${I}`)};return D(_,U),j}function Y4(_,$={}){let U=kB(_,$);if(U.length===0)return;let j=new Map;for(let N of U)j.set(N.type,(j.get(N.type)??0)+1);let D=[...j.entries()].map(([N,E])=>`${N}:${E}`).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 CB(_){let $=d_(_).text.replace($5,(U)=>`[REDACTED:database-url:${V$(U)}]`).replace(aX,(U)=>`[REDACTED:local-file-uri:${V$(U)}]`).replace(BB,(U)=>`[REDACTED:local-hasna-path:${V$(U)}]`).replace(sX,(U)=>`[REDACTED:private-workspace:${V$(U)}]`);for(let U of[...ZB(),...FB])$=$.replace(U,(j)=>`[REDACTED:local-path:${V$(j)}]`);return $.replace(eX,(U)=>`[REDACTED:hasna-path:${V$(U)}]`).replace(_5,(U)=>`[REDACTED:private-artifact:${V$(U)}]`)}function K_(_){if(typeof _==="string")return CB(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((U)=>K_(U));let $={};for(let[U,j]of Object.entries(_))$[U]=KB.has(U)?j:K_(j);return $}var xB=20971520,U5=1e4,yB=10;function $A(_,$){return`${_}_${bB("sha256").update($).digest("hex").slice(0,20)}`}function R4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function J_(_){return typeof _==="string"&&_.length>0?_:void 0}function uB(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function hB(_){let $=J_(_.source_ref)??J_(_.source_uri)??J_(_.uri);if($)return $;let U=J_(_.file_id);if(U){let N=J_(_.revision_id)??J_(_.revision),E=`open-files://file/${encodeURIComponent(U)}`;return N?`${E}/revision/${encodeURIComponent(N)}`:E}let j=J_(_.source_id),D=J_(_.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 rB(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function cB(_){let $=J_(_.extracted_text)??J_(_.text)??J_(_.content_text)??J_(_.markdown);if($!==void 0)return $;let U=_.content;return typeof U==="string"?U:null}function mB(_){let $=J_(_.extracted_text_ref)??J_(_.extracted_text_uri)??J_(_.text_ref);if($)return $;let U=R4(_.content);return J_(U?.extracted_text_ref)??J_(U?.extracted_text_uri)??null}function nB(_){let $=J_(_.path);return J_(_.title)??J_(_.name)??($?fB($):null)}function dB(_){return J_(_.hash)??J_(_.checksum)??J_(_.sha256)??null}var D5=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 j5(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function _A(_){if(Array.isArray(_))return _.map((j)=>_A(j));let $=R4(_);if(!$)return _;let U={};for(let[j,D]of Object.entries($)){if(D5.has(j5(j)))continue;U[j]=_A(D)}return U}function lB(_,$,U){return J_(_.revision_id)??J_(_.revision)??J_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??J_(_.updated_at)??"current"}function iB(_,$){let U={};for(let[j,D]of Object.entries(_)){if(D5.has(j5(j)))continue;U[j]=K_(_A(D))}return U.source_ref=$.sourceRef,U.source_uri=$.sourceUri,U.status=$.status,U}function tB(_,$,U={}){let j=hB(_);Y4(j,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let D=T$(j),N=rB(j,D),E=dB(_),I=J_(_.status)??"active";return{raw:_,sourceRef:j,sourceUri:N,kind:D.kind,title:nB(_),revision:lB(_,D,E),hash:E,extractedTextUri:mB(_),text:cB(_),metadata:iB(_,{sourceRef:j,sourceUri:N,status:I}),acl:_.permissions??_.acl??{},status:I,updatedAt:J_(_.updated_at)??$}}function oB(_){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=R4(j);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),j=R4(U);if(!j)throw Error("Manifest object parse failed.");if(Array.isArray(j.items))return j.items.map((D)=>{let N=R4(D);if(!N)throw Error("Manifest items entries must be objects.");return N});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 N=R4(JSON.parse(D));if(!N)throw Error("Manifest JSONL entries must be objects.");return N})}return $.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let j=R4(JSON.parse(U));if(!j)throw Error("Manifest JSONL entries must be objects.");return j})}async function pB(_,$,U){let j=new URL(_),D=j.hostname,N=decodeURIComponent(j.pathname.replace(/^\/+/,""));if(!D||!N)throw Error(`Invalid S3 manifest URI: ${_}`);if(U)y6(_,U);let[{S3Client:E,GetObjectCommand:I},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new E({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new I({Bucket:D,Key:N}));if(!S.Body)return"";return await S.Body.transformToString()}async function aB(_,$,U,j=xB){let D=_.startsWith("s3://")?await pB(_,$,U):(()=>{if(!wB(_))throw Error(`Manifest not found: ${_}`);return vB(_,"utf8")})(),N=Buffer.byteLength(D);if(N>j)throw Error(`Manifest input is too large: ${N} bytes exceeds ${j} byte limit.`);return D}function eB(_,$,U){let j=_.replace(/\r\n/g,` -`);if(!j.trim())return[];let D=[],N=0;while(N<j.length){let E=Math.min(j.length,N+$),I=E;if(E<j.length){let J=j.lastIndexOf(` + ORDER BY updated_at DESC LIMIT 1`).get($,U??null,U??null);return Boolean(N)}function oX(_,$,U,N){let D=U==="generated_write"&&$.approvals.generatedWritesRequireApproval,j=!D||BB(_,U,N);return{action:U,target_uri:N??null,approval_required:D,approved:j,decision:j?"allow":"requires_approval"}}import{createHash as FB}from"crypto";import{realpathSync as KB}from"fs";import{homedir as MB,tmpdir as gB}from"os";var X4=String.raw`[^\s"'<>),\]}]`,_A=String.raw`[^/\\\s"'<>]+`,eX=/file:\/\/[^\s"'<>),\]}]+/gi,ZB=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,sX=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,_5=new RegExp(String.raw`/(?:home|Users)/${_A}/(?:workspace|Workspace)/${X4}*`,"g"),HB=[new RegExp(String.raw`/(?:home|Users)/${_A}(?:/${X4}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${X4}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${X4}+`,"g"),new RegExp(String.raw`(?<![A-Za-z0-9])[A-Za-z]:[\\/]${X4}+`,"g"),new RegExp(String.raw`\\\\${_A}\\${X4}+`,"g")],$5=/\b(?:knowledge\.db(?:[-.][A-Za-z0-9_-]+)?|db\.json(?:[-.][A-Za-z0-9_-]+)?|cloud\.env|migration-exports\/[^\s"'<>),\]}]+)\b/gi,U5=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,qB=new Set(["content_base64"]);function kB(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function bB(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var pX=null,s2=[];function CB(){let _=new Set;for(let U of[MB(),gB()]){if(!U)continue;_.add(U);try{_.add(KB(U))}catch{}}let $=[..._].sort().join("\x00");if($===pX)return s2;return pX=$,s2=[..._].filter(bB).sort((U,N)=>N.length-U.length).map((U)=>new RegExp(`${kB(U)}(?:[/\\\\]${X4}*)?`,"g")),s2}function V$(_){return FB("sha256").update(_).digest("hex").slice(0,12)}function wB(_){return _.length<=80?_:`${_.slice(0,77)}...`}function aX(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function vB(_,$,U,N){for(let D of _.matchAll(eX)){let j=D[0];if(!U.allowFileSourceRefs||aX(j))N.push({type:aX(j)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:wB(j.replace(/^file:\/\/.*/,`[redacted:file-uri:${V$(j)}]`))})}for(let D of _.matchAll(sX))N.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${V$(D[0])}]`});for(let D of _.matchAll($5))N.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${V$(D[0])}]`});for(let D of _.matchAll(U5))N.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${V$(D[0])}]`});if(!U.allowPrivateWorkspaceRefs)for(let D of _.matchAll(_5))N.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${V$(D[0])}]`})}function fB(_,$={},U="$"){let N=[],D=(j,I)=>{if(typeof j==="string"){vB(j,I,$,N);return}if(!j||typeof j!=="object")return;if(Array.isArray(j)){j.forEach((E,W)=>D(E,`${I}[${W}]`));return}for(let[E,W]of Object.entries(j))D(W,`${I}.${E}`)};return D(_,U),N}function R4(_,$={}){let U=fB(_,$);if(U.length===0)return;let N=new Map;for(let j of U)N.set(j.type,(N.get(j.type)??0)+1);let D=[...N.entries()].map(([j,I])=>`${j}:${I}`).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 xB(_){let $=d_(_).text.replace(U5,(U)=>`[REDACTED:database-url:${V$(U)}]`).replace(eX,(U)=>`[REDACTED:local-file-uri:${V$(U)}]`).replace(ZB,(U)=>`[REDACTED:local-hasna-path:${V$(U)}]`).replace(_5,(U)=>`[REDACTED:private-workspace:${V$(U)}]`);for(let U of[...CB(),...HB])$=$.replace(U,(N)=>`[REDACTED:local-path:${V$(N)}]`);return $.replace(sX,(U)=>`[REDACTED:hasna-path:${V$(U)}]`).replace($5,(U)=>`[REDACTED:private-artifact:${V$(U)}]`)}function g_(_){if(typeof _==="string")return xB(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((U)=>g_(U));let $={};for(let[U,N]of Object.entries(_))$[U]=qB.has(U)?N:g_(N);return $}var cB=20971520,D5=1e4,mB=10;function UA(_,$){return`${_}_${yB("sha256").update($).digest("hex").slice(0,20)}`}function Y4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function J_(_){return typeof _==="string"&&_.length>0?_:void 0}function nB(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function dB(_){let $=J_(_.source_ref)??J_(_.source_uri)??J_(_.uri);if($)return $;let U=J_(_.file_id);if(U){let j=J_(_.revision_id)??J_(_.revision),I=`open-files://file/${encodeURIComponent(U)}`;return j?`${I}/revision/${encodeURIComponent(j)}`:I}let N=J_(_.source_id),D=J_(_.path);if(N&&D)return`open-files://source/${encodeURIComponent(N)}/path/${encodeURIComponent(D)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function lB(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function iB(_){let $=J_(_.extracted_text)??J_(_.text)??J_(_.content_text)??J_(_.markdown);if($!==void 0)return $;let U=_.content;return typeof U==="string"?U:null}function tB(_){let $=J_(_.extracted_text_ref)??J_(_.extracted_text_uri)??J_(_.text_ref);if($)return $;let U=Y4(_.content);return J_(U?.extracted_text_ref)??J_(U?.extracted_text_uri)??null}function oB(_){let $=J_(_.path);return J_(_.title)??J_(_.name)??($?rB($):null)}function pB(_){return J_(_.hash)??J_(_.checksum)??J_(_.sha256)??null}var N5=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 j5(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function $A(_){if(Array.isArray(_))return _.map((N)=>$A(N));let $=Y4(_);if(!$)return _;let U={};for(let[N,D]of Object.entries($)){if(N5.has(j5(N)))continue;U[N]=$A(D)}return U}function aB(_,$,U){return J_(_.revision_id)??J_(_.revision)??J_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??J_(_.updated_at)??"current"}function eB(_,$){let U={};for(let[N,D]of Object.entries(_)){if(N5.has(j5(N)))continue;U[N]=g_($A(D))}return U.source_ref=$.sourceRef,U.source_uri=$.sourceUri,U.status=$.status,U}function sB(_,$,U={}){let N=dB(_);R4(N,{allowFileSourceRefs:U.allowFileSourceRefs===!0});let D=T$(N),j=lB(N,D),I=pB(_),E=J_(_.status)??"active";return{raw:_,sourceRef:N,sourceUri:j,kind:D.kind,title:oB(_),revision:aB(_,D,I),hash:I,extractedTextUri:tB(_),text:iB(_),metadata:eB(_,{sourceRef:N,sourceUri:j,status:E}),acl:_.permissions??_.acl??{},status:E,updatedAt:J_(_.updated_at)??$}}function _F(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let U=JSON.parse($);if(!Array.isArray(U))throw Error("Manifest array parse failed.");return U.map((N)=>{let D=Y4(N);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),N=Y4(U);if(!N)throw Error("Manifest object parse failed.");if(Array.isArray(N.items))return N.items.map((D)=>{let j=Y4(D);if(!j)throw Error("Manifest items entries must be objects.");return j});if("source_ref"in N||"source_uri"in N||"file_id"in N)return[N]}catch(U){let N=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(N.length<=1)throw U;return N.map((D)=>{let j=Y4(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 N=Y4(JSON.parse(U));if(!N)throw Error("Manifest JSONL entries must be objects.");return N})}async function $F(_,$,U){let N=new URL(_),D=N.hostname,j=decodeURIComponent(N.pathname.replace(/^\/+/,""));if(!D||!j)throw Error(`Invalid S3 manifest URI: ${_}`);if(U)y6(_,U);let[{S3Client:I,GetObjectCommand:E},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new I({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new E({Bucket:D,Key:j}));if(!S.Body)return"";return await S.Body.transformToString()}async function UF(_,$,U,N=cB){let D=_.startsWith("s3://")?await $F(_,$,U):(()=>{if(!uB(_))throw Error(`Manifest not found: ${_}`);return hB(_,"utf8")})(),j=Buffer.byteLength(D);if(j>N)throw Error(`Manifest input is too large: ${j} bytes exceeds ${N} byte limit.`);return D}function DF(_,$,U){let N=_.replace(/\r\n/g,` +`);if(!N.trim())return[];let D=[],j=0;while(j<N.length){let I=Math.min(N.length,j+$),E=I;if(I<N.length){let J=N.lastIndexOf(` -`,E),L=j.lastIndexOf(". ",E),S=Math.max(J,L);if(S>N+Math.floor($*0.5))I=S+(S===J?2:1)}let W=j.slice(N,I).trim();if(W)D.push({ordinal:D.length,text:W,startOffset:N,endOffset:I});if(I>=j.length)break;N=Math.max(0,I-U)}return D}function sB(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function _F(_,$){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 $F(_,$,U){let j=$A("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,I),L=N.lastIndexOf(". ",I),S=Math.max(J,L);if(S>j+Math.floor($*0.5))E=S+(S===J?2:1)}let W=N.slice(j,E).trim();if(W)D.push({ordinal:D.length,text:W,startOffset:j,endOffset:E});if(E>=N.length)break;j=Math.max(0,E-U)}return D}function NF(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function jF(_,$){let U=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($);for(let N of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[N.id]);return _.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]),U.length}function IF(_,$,U){let N=UA("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 UF(_,$,U,j){let D=$A("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`,[N,$.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 EF(_,$,U,N){let D=UA("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 N=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision);if(!N)throw Error(`Failed to upsert source revision: ${U.sourceRef}`);return N.id}function DF(_,$,U,j,D,N,E){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let I=d_(U.text,E);if(I.findings.length>0)b0(_,{source_uri:U.sourceUri,findings:I.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:j}),G_(_,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:I.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:j});let W=eB(I.text,D,N);for(let J of W){let L=$A("chk",`${$}\x00${J.ordinal}\x00${J.text}`),S=x6({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:$,revision:U.revision,hash:U.hash,chunk_id:L,start_offset:J.startOffset,end_offset:J.endOffset,status:U.status,resolver:"open-files-read-only"}),X=hX({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:J_(U.raw.path)??null,mime:J_(U.raw.mime)??J_(U.raw.content_type)??null,size:uB(U.raw.size)??null},S);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,$,"source",J.ordinal,J.text,sB(J.text),J.startOffset,J.endOffset,JSON.stringify(X),j]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[L,J.text,U.title??"",U.sourceUri])}return{chunksInserted:W.length,redactions:I.findings.length}}async function N5(_){let $=_.now??new Date;if(_.safetyPolicy)Y6(_.dbPath,_.safetyPolicy);c(_.dbPath);let U=await aB(_.input,_.config,_.safetyPolicy,_.maxInputBytes),j=oB(U),D=_.maxItems??U5;if(j.length>D)throw Error(`Manifest contains too many items: ${j.length} exceeds ${D} item limit.`);return Q4({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 Q4(_){let $=(_.now??new Date).toISOString(),U=_.maxChunkChars??4000,j=_.chunkOverlapChars??200,D=_.maxItems??U5;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)Y6(_.dbPath,_.safetyPolicy);c(_.dbPath);let N=v(_.dbPath);try{return N.transaction(()=>{let I=new Set,W=new Set,J=0,L=0,S=0,X=0,z=[];G_(N,{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 R of _.items){let P=tB(R,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(z.length<yB)z.push({source_ref:P.sourceRef,title:P.title,status:P.status,has_text:Boolean(P.text)});let O=$F(N,P,$),Y=UF(N,O,P,$);if(I.add(O),W.add(Y),P.text||P.status.toLowerCase()==="deleted")L+=_F(N,Y);let Q=DF(N,Y,P,$,U,j,_.safetyPolicy);J+=Q.chunksInserted,S+=Q.redactions}return G_(N,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:_.dbPath,decision:"allow",metadata:{items:_.items.length,sources:I.size,revisions:W.size,chunks_inserted:J,redactions:S},created_at:$}),{path:_.sourceLabel,db_path:_.dbPath,items_seen:_.items.length,sources_upserted:I.size,revisions_upserted:W.size,chunks_inserted:J,chunks_deleted:L,redactions:S,skipped:X,items_preview:z}})()}finally{N.close()}}function Vj(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function G4(_,$){for(let U of $){let j=_[U];if(typeof j==="string"&&j.length>0)return j}return null}function E5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return null}function jF(_,$){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 NF(_,$,U){if(!$)return U;try{let j=T$(_);if(j.kind==="open-files"&&j.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return U}return U}function EF(_,$,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),N]);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 AF(_,$,U,N,D,j,I){if(!U.text||U.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let E=d_(U.text,I);if(E.findings.length>0)C0(_,{source_uri:U.sourceUri,findings:E.findings,metadata:{source_ref:U.sourceRef,revision:U.revision},created_at:N}),T_(_,{event_type:"redaction",action:"source_text_redact",target_uri:U.sourceUri,decision:"redacted",metadata:{findings:E.findings.length,source_ref:U.sourceRef,revision:U.revision},created_at:N});let W=DF(E.text,D,j);for(let J of W){let L=UA("chk",`${$}\x00${J.ordinal}\x00${J.text}`),S=x6({source_ref:U.sourceRef,source_uri:U.sourceUri,source_kind:U.kind,source_revision_id:$,revision:U.revision,hash:U.hash,chunk_id:L,start_offset:J.startOffset,end_offset:J.endOffset,status:U.status,resolver:"open-files-read-only"}),X=rX({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:J_(U.raw.path)??null,mime:J_(U.raw.mime)??J_(U.raw.content_type)??null,size:nB(U.raw.size)??null},S);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,$,"source",J.ordinal,J.text,NF(J.text),J.startOffset,J.endOffset,JSON.stringify(X),N]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[L,J.text,U.title??"",U.sourceUri])}return{chunksInserted:W.length,redactions:E.findings.length}}async function I5(_){let $=_.now??new Date;if(_.safetyPolicy)R6(_.dbPath,_.safetyPolicy);c(_.dbPath);let U=await UF(_.input,_.config,_.safetyPolicy,_.maxInputBytes),N=_F(U),D=_.maxItems??D5;if(N.length>D)throw Error(`Manifest contains too many items: ${N.length} exceeds ${D} item limit.`);return Q4({dbPath:_.dbPath,items:N,sourceLabel:_.input,allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:_.safetyPolicy,now:$,maxChunkChars:_.maxChunkChars,chunkOverlapChars:_.chunkOverlapChars,maxItems:_.maxItems})}async function Q4(_){let $=(_.now??new Date).toISOString(),U=_.maxChunkChars??4000,N=_.chunkOverlapChars??200,D=_.maxItems??D5;if(U<500)throw Error("maxChunkChars must be at least 500.");if(N<0||N>=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)R6(_.dbPath,_.safetyPolicy);c(_.dbPath);let j=v(_.dbPath);try{return j.transaction(()=>{let E=new Set,W=new Set,J=0,L=0,S=0,X=0,z=[];T_(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 Y of _.items){let P=sB(Y,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(z.length<mB)z.push({source_ref:P.sourceRef,title:P.title,status:P.status,has_text:Boolean(P.text)});let O=IF(j,P,$),R=EF(j,O,P,$);if(E.add(O),W.add(R),P.text||P.status.toLowerCase()==="deleted")L+=jF(j,R);let Q=AF(j,R,P,$,U,N,_.safetyPolicy);J+=Q.chunksInserted,S+=Q.redactions}return T_(j,{event_type:"write",action:"knowledge_manifest_ingest",target_uri:_.dbPath,decision:"allow",metadata:{items:_.items.length,sources:E.size,revisions:W.size,chunks_inserted:J,redactions:S},created_at:$}),{path:_.sourceLabel,db_path:_.dbPath,items_seen:_.items.length,sources_upserted:E.size,revisions_upserted:W.size,chunks_inserted:J,chunks_deleted:L,redactions:S,skipped:X,items_preview:z}})()}finally{j.close()}}function BN(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function G4(_,$){for(let U of $){let N=_[U];if(typeof N==="string"&&N.length>0)return N}return null}function E5(_,$){for(let U of $){let N=_[U];if(typeof N==="number"&&Number.isFinite(N))return N}return null}function WF(_,$){let U=_.mode;if(typeof U==="string"&&U!=="read_only")throw Error(`Source resolver denied ${$}. Permission mode is ${U}, expected read_only.`);let N=_.denied_purposes;if(Array.isArray(N)&&N.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 JF(_,$,U){if(!$)return U;try{let N=T$(_);if(N.kind==="open-files"&&N.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return U}return U}function LF(_,$,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 IF(_,$,U){if(U)return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get($,U,$)??null}function SF(_,$,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 AF(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function WF(_,$,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 PF(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function OF(_,$,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 Bj(_){let $=_.purpose??"knowledge_answer",U=Math.max(0,Math.min(_.limit??10,100)),j=(_.now??new Date).toISOString(),D=T$(_.sourceRef),N=cX(_.sourceRef,D),E=mX(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");Y6(_.dbPath,_.safetyPolicy)}c(_.dbPath);let I=v(_.dbPath);try{return I.transaction(()=>{let W=EF(I,N,_.sourceRef);if(!W)return G_(I,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:N},created_at:j}),{source_ref:_.sourceRef,source_uri:N,purpose:$,read_only:!0,resolved:!1,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:null,revision:null,content:{mime:null,size:null,hash:null,text_available:!1,chunks_total:0,chunks_returned:0,char_count_returned:0,extracted_text_ref:null,bytes_available:!1,bytes_exposed:!1},chunks:[],citations:[]};let J=Vj(W.metadata_json),L=Vj(W.acl_json);try{jF(L,$)}catch(G){throw G_(I,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:W.uri,error:G instanceof Error?G.message:String(G)},created_at:j}),G}let S=IF(I,W.id,E),X=Vj(S?.metadata_json),z=AF(I,S?.id??null),R=WF(I,S?.id??null,U),P=NF(W.uri,S,_.sourceRef),O=R.map((G)=>{let T=Vj(G.metadata_json),F={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:G4(T,["source_ref"])??P,source_uri:W.uri,source_revision_id:S?.id??null,revision:S?.revision??null,hash:S?.hash??G4(T,["hash"]),chunk_id:G.id,start_offset:G.start_offset,end_offset:G.end_offset,resolved_at:j},g=x6({source_ref:F.source_ref,source_uri:F.source_uri,source_kind:W.kind,source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,chunk_id:G.id,start_offset:G.start_offset,end_offset:G.end_offset,status:G4(T,["status"]),resolver:F.resolver});return{id:G.id,kind:G.kind,ordinal:G.ordinal,text:G.text,token_count:G.token_count,start_offset:G.start_offset,end_offset:G.end_offset,metadata:T,evidence:F,provenance:g}}),Y=O.map((G)=>({source_ref:G.evidence.source_ref,source_uri:W.uri,chunk_id:G.id,quote:G.text.slice(0,500),start_offset:G.start_offset,end_offset:G.end_offset,evidence:G.evidence,provenance:G.provenance}));G_(I,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:W.uri,revision:S?.revision??null,chunks_returned:O.length,chunks_total:z},created_at:j});let Q=G4(J,["mime","content_type"])??G4(X,["mime","content_type"]),B=E5(J,["size","size_bytes"])??E5(X,["size","size_bytes"]);return{source_ref:P,source_uri:W.uri,purpose:$,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:W.id,uri:W.uri,kind:W.kind,title:W.title,metadata:J,permissions:L,updated_at:W.updated_at},revision:S?{id:S.id,revision:S.revision,hash:S.hash,extracted_text_uri:S.extracted_text_uri,metadata:X,created_at:S.created_at,reindex_required:X.reindex_required===!0}:null,content:{mime:Q,size:B,hash:S?.hash??G4(J,["hash","checksum","sha256"]),text_available:z>0,chunks_total:z,chunks_returned:O.length,char_count_returned:O.reduce((G,T)=>G+T.text.length,0),extracted_text_ref:S?.extracted_text_uri??G4(X,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:O,citations:Y}})()}finally{I.close()}}function w0(_){return`sha256:${JF("sha256").update(_).digest("hex")}`}function PF(_){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 FN(_){let $=_.purpose??"knowledge_answer",U=Math.max(0,Math.min(_.limit??10,100)),N=(_.now??new Date).toISOString(),D=T$(_.sourceRef),j=mX(_.sourceRef,D),I=nX(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");R6(_.dbPath,_.safetyPolicy)}c(_.dbPath);let E=v(_.dbPath);try{return E.transaction(()=>{let W=LF(E,j,_.sourceRef);if(!W)return T_(E,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:j},created_at:N}),{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 J=BN(W.metadata_json),L=BN(W.acl_json);try{WF(L,$)}catch(G){throw T_(E,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:W.uri,error:G instanceof Error?G.message:String(G)},created_at:N}),G}let S=SF(E,W.id,I),X=BN(S?.metadata_json),z=PF(E,S?.id??null),Y=OF(E,S?.id??null,U),P=JF(W.uri,S,_.sourceRef),O=Y.map((G)=>{let T=BN(G.metadata_json),F={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:G4(T,["source_ref"])??P,source_uri:W.uri,source_revision_id:S?.id??null,revision:S?.revision??null,hash:S?.hash??G4(T,["hash"]),chunk_id:G.id,start_offset:G.start_offset,end_offset:G.end_offset,resolved_at:N},M=x6({source_ref:F.source_ref,source_uri:F.source_uri,source_kind:W.kind,source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,chunk_id:G.id,start_offset:G.start_offset,end_offset:G.end_offset,status:G4(T,["status"]),resolver:F.resolver});return{id:G.id,kind:G.kind,ordinal:G.ordinal,text:G.text,token_count:G.token_count,start_offset:G.start_offset,end_offset:G.end_offset,metadata:T,evidence:F,provenance:M}}),R=O.map((G)=>({source_ref:G.evidence.source_ref,source_uri:W.uri,chunk_id:G.id,quote:G.text.slice(0,500),start_offset:G.start_offset,end_offset:G.end_offset,evidence:G.evidence,provenance:G.provenance}));T_(E,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:W.uri,revision:S?.revision??null,chunks_returned:O.length,chunks_total:z},created_at:N});let Q=G4(J,["mime","content_type"])??G4(X,["mime","content_type"]),B=E5(J,["size","size_bytes"])??E5(X,["size","size_bytes"]);return{source_ref:P,source_uri:W.uri,purpose:$,read_only:!0,resolved:!0,resolver:{name:"open-files-read-only",mode:"local_catalog",contract:"open-files-knowledge-source-v1"},source:{id:W.id,uri:W.uri,kind:W.kind,title:W.title,metadata:J,permissions:L,updated_at:W.updated_at},revision:S?{id:S.id,revision:S.revision,hash:S.hash,extracted_text_uri:S.extracted_text_uri,metadata:X,created_at:S.created_at,reindex_required:X.reindex_required===!0}:null,content:{mime:Q,size:B,hash:S?.hash??G4(J,["hash","checksum","sha256"]),text_available:z>0,chunks_total:z,chunks_returned:O.length,char_count_returned:O.reduce((G,T)=>G+T.text.length,0),extracted_text_ref:S?.extracted_text_uri??G4(X,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:O,citations:R}})()}finally{E.close()}}function w0(_){return`sha256:${zF("sha256").update(_).digest("hex")}`}function YF(_){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 OF(_,$,U){let j=new URL(_),D=j.hostname,N=decodeURIComponent(j.pathname.replace(/^\/+/,""));if(!D||!N)throw Error(`Invalid S3 source URI: ${_}`);if(U)y6(_,U);let[{S3Client:E,GetObjectCommand:I},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new E({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new I({Bucket:D,Key:N}));if(!S.Body)return"";return await S.Body.transformToString()}async function zF(_,$){if($)C0($);let U=await H0(_,{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")?PF(D):D,mime:j}}function Kj(_){if(_.kind==="file")return Fj(_.path);if(_.kind==="s3")return Fj(_.key);if(_.kind==="web")return Fj(new URL(_.url).pathname)||_.url;return _.path?Fj(_.path):_.id}async function I5(_,$,U){if(_.kind==="file"){if(!LF(_.path))throw Error(`Source file not found: ${_.path}`);let j=SF(_.path,"utf8");return{text:j,contentSource:"file",title:Kj(_),mime:"text/plain",size:j.length,hash:w0(j),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let j=await OF(_.uri,$,U);return{text:j,contentSource:"s3",title:Kj(_),mime:"text/plain",size:j.length,hash:w0(j),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let j=await zF(_.url,U);return{text:j.text,contentSource:"web",title:Kj(_),mime:j.mime,size:j.text.length,hash:w0(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 XF(_,$,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=T$(_);return{text:(await I5(j,$,U)).text,contentSource:"extracted_text_ref"}}async function YF(_){let $=await Bj({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 XF($.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??w0(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 QF(_,$,U){let N=new URL(_),D=N.hostname,j=decodeURIComponent(N.pathname.replace(/^\/+/,""));if(!D||!j)throw Error(`Invalid S3 source URI: ${_}`);if(U)y6(_,U);let[{S3Client:I,GetObjectCommand:E},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new I({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new E({Bucket:D,Key:j}));if(!S.Body)return"";return await S.Body.transformToString()}async function GF(_,$){if($)b0($);let U=await H0(_,{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 N=U.headers.get("content-type"),D=await U.text();return{text:N?.includes("html")?YF(D):D,mime:N}}function MN(_){if(_.kind==="file")return KN(_.path);if(_.kind==="s3")return KN(_.key);if(_.kind==="web")return KN(new URL(_.url).pathname)||_.url;return _.path?KN(_.path):_.id}async function A5(_,$,U){if(_.kind==="file"){if(!XF(_.path))throw Error(`Source file not found: ${_.path}`);let N=RF(_.path,"utf8");return{text:N,contentSource:"file",title:MN(_),mime:"text/plain",size:N.length,hash:w0(N),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let N=await QF(_.uri,$,U);return{text:N,contentSource:"s3",title:MN(_),mime:"text/plain",size:N.length,hash:w0(N),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let N=await GF(_.url,U);return{text:N.text,contentSource:"web",title:MN(_),mime:N.mime,size:N.text.length,hash:w0(N.text),revision:null,extractedTextRef:null,metadata:{url:_.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${_.uri}`)}async function TF(_,$,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 N=T$(_);return{text:(await A5(N,$,U)).text,contentSource:"extracted_text_ref"}}async function VF(_){let $=await FN({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 N=await TF($.revision.extracted_text_uri,_.config,_.safetyPolicy);return{text:N.text,contentSource:N.contentSource,title:$.source?.title??null,mime:$.content.mime,size:N.text.length,hash:$.revision.hash??w0(N.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((N)=>N.text).join(` -`);return{text:U,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:U.length,hash:$.revision?.hash??w0(U),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function RF(_,$,U,j){let D=U.hash??w0(U.text),N={...K_(U.metadata),source_ref:_,content_source:U.contentSource,read_only:!0},E={source_ref:_,name:U.title??Kj($),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:N,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if($.kind==="open-files"){if($.entity==="file")E.file_id=$.id;if($.entity==="source")E.source_id=$.id,E.path=$.path}if($.kind==="file")E.path=$.path;if($.kind==="s3")E.path=$.key;if($.kind==="web")E.url=$.url;return E}async function gj(_){let $=_.purpose??"knowledge_index";Y4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let U=T$(_.sourceRef),j=U.kind==="open-files"?await YF(_):await I5(U,_.config,_.safetyPolicy),D=RF(_.sourceRef,U,j,$);return{...await Q4({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 Mj(_,$){return`${_}_${QF("sha256").update($).digest("hex").slice(0,20)}`}function TF(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function UA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function VF(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function A5(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function BF(_){let $=_.path?.trim()||`wiki/notes/${TF(_.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 FF(_){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 W5(_,$){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,...k0($.body),metadata:{...$.metadata??{}}}}async function KF(_,$,U){let j=String(U.getUTCFullYear()),D=String(U.getUTCMonth()+1).padStart(2,"0"),N=String(U.getUTCDate()).padStart(2,"0"),E=`logs/${j}/${D}/${N}.jsonl`,I="";try{I=await _.getText(E)}catch{I=""}return W5(_,{key:E,body:`${I}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:P$({generated_from:String($.event??"app_wiki_log"),artifact_key:E})}})}function gF(_){return{...K_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function DA(_){let $=UA(_.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 MF(_,$){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??w0(U),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function BF(_,$,U,N){let D=U.hash??w0(U.text),j={...g_(U.metadata),source_ref:_,content_source:U.contentSource,read_only:!0},I={source_ref:_,name:U.title??MN($),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:[N],...U.permissions},metadata:j,extracted_text_ref:U.extractedTextRef,extracted_text:U.text};if($.kind==="open-files"){if($.entity==="file")I.file_id=$.id;if($.entity==="source")I.source_id=$.id,I.path=$.path}if($.kind==="file")I.path=$.path;if($.kind==="s3")I.path=$.key;if($.kind==="web")I.url=$.url;return I}async function gN(_){let $=_.purpose??"knowledge_index";R4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let U=T$(_.sourceRef),N=U.kind==="open-files"?await VF(_):await A5(U,_.config,_.safetyPolicy),D=BF(_.sourceRef,U,N,$);return{...await Q4({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:N.contentSource,read_only:!0,hash:String(D.hash)}}function ZN(_,$){return`${_}_${FF("sha256").update($).digest("hex").slice(0,20)}`}function MF(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function DA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function gF(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function W5(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function ZF(_){let $=_.path?.trim()||`wiki/notes/${MF(_.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((N)=>N===".."||N==="."))throw Error(`Invalid app wiki note path: ${$}`);return U}function HF(_){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 J5(_,$){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,...k0($.body),metadata:{...$.metadata??{}}}}async function qF(_,$,U){let N=String(U.getUTCFullYear()),D=String(U.getUTCMonth()+1).padStart(2,"0"),j=String(U.getUTCDate()).padStart(2,"0"),I=`logs/${N}/${D}/${j}.jsonl`,E="";try{E=await _.getText(I)}catch{E=""}return J5(_,{key:I,body:`${E}${JSON.stringify($)} +`,content_type:"application/x-ndjson",metadata:{provenance:P$({generated_from:String($.event??"app_wiki_log"),artifact_key:I})}})}function kF(_){return{...g_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function NA(_){let $=DA(_.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 bF(_,$){return $.map((U)=>{let N=_.query(`SELECT s.uri AS source_uri, c.id AS chunk_id, c.text, @@ -646,13 +646,13 @@ VALUES (10, datetime('now')); 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=UA(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 ZF(_,$,U,j){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=MF(_,U);for(let N of D)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[Mj("cit",`${$}\x00${N.source_uri}\x00${N.chunk_id??GF()}`),$,N.chunk_id,N.source_uri,N.quote,N.start_offset,N.end_offset,JSON.stringify(N.metadata),j]);return D.length}function HF(_,$){_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(U,`%${U}%`),D=DA(N?.metadata_json);return{source_ref:U,source_uri:N?.source_uri??U,chunk_id:N?.chunk_id??null,quote:N?.text?N.text.replace(/\s+/g," ").slice(0,240):null,start_offset:N?.start_offset??null,end_offset:N?.end_offset??null,metadata:{source_ref:U,revision:N?.revision??D.revision,hash:N?.hash??D.hash}}})}function CF(_,$,U,N){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=bF(_,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[ZN("cit",`${$}\x00${j.source_uri}\x00${j.chunk_id??KF()}`),$,j.chunk_id,j.source_uri,j.quote,j.start_offset,j.end_offset,JSON.stringify(j.metadata),N]);return D.length}function wF(_,$){_.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`,[Mj("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 qF(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[ZN("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 vF(_,$){_.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, @@ -660,22 +660,22 @@ VALUES (10, datetime('now')); content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify($.metadata),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let j=Mj("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,VF($.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 AD(_){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)Y6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function J5(_){AD(_);let $=c(_.workspace.knowledgeDbPath),U=v(_.workspace.knowledgeDbPath);try{G_(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 L5(_){AD(_);let $=_.now??new Date,U=$.toISOString(),j=A5(_.tags),D=A5(_.sourceRefs);for(let S of D)Y4(S,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let N=BF(_),E=FF({title:_.title,content:_.content,tags:j,sourceRefs:D,now:U}),I=P$({generated_from:"app_wiki_note",artifact_key:N,source_refs:D}),W=await W5(_.store,{key:N,body:E,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:I,scope:_.scope,tags:j.join(","),source_refs:D.join(",")}}),J=await KF(_.store,{ts:U,event:"app_wiki_note_written",page_key:N,source_refs:D,tags:j},$);c(_.workspace.knowledgeDbPath);let L=v(_.workspace.knowledgeDbPath);try{let S=Mj("wiki",N),X=gF({path:N,tags:j,sourceRefs:D,provenance:I,metadata:_.metadata});X6(L,[W,J],$),qF(L,{pageId:S,path:N,title:_.title,artifactUri:W.uri,contentHash:W.hash??"",body:E,metadata:X,now:U});let z=ZF(L,S,D,U);HF(L,{title:_.title,path:N,artifactUri:W.uri,contentHash:W.hash??"",tags:j,sourceRefs:D,now:U}),G_(L,{event_type:"write",action:"app_wiki_note_write",target_uri:W.uri,decision:"allow",metadata:{scope:_.scope,path:N,source_refs:D,tags:j},created_at:U});let R=L.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(S);if(!R)throw Error(`Failed to write app wiki note: ${N}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:DA(R),artifact_uri:W.uri,content_hash:W.hash??"",citations_written:z,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${N}`}}finally{L.close()}}function S5(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];c(_.dbPath);let U=v(_.dbPath);try{return U.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify($.metadata),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let N=ZN("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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,$.pageId,"wiki",0,$.body,gF($.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 (?, ?, ?, ?)",[N,$.body,$.title,$.artifactUri])}function AD(_){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)R6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function L5(_){AD(_);let $=c(_.workspace.knowledgeDbPath),U=v(_.workspace.knowledgeDbPath);try{T_(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 S5(_){AD(_);let $=_.now??new Date,U=$.toISOString(),N=W5(_.tags),D=W5(_.sourceRefs);for(let S of D)R4(S,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let j=ZF(_),I=HF({title:_.title,content:_.content,tags:N,sourceRefs:D,now:U}),E=P$({generated_from:"app_wiki_note",artifact_key:j,source_refs:D}),W=await J5(_.store,{key:j,body:I,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:E,scope:_.scope,tags:N.join(","),source_refs:D.join(",")}}),J=await qF(_.store,{ts:U,event:"app_wiki_note_written",page_key:j,source_refs:D,tags:N},$);c(_.workspace.knowledgeDbPath);let L=v(_.workspace.knowledgeDbPath);try{let S=ZN("wiki",j),X=kF({path:j,tags:N,sourceRefs:D,provenance:E,metadata:_.metadata});X6(L,[W,J],$),vF(L,{pageId:S,path:j,title:_.title,artifactUri:W.uri,contentHash:W.hash??"",body:I,metadata:X,now:U});let z=CF(L,S,D,U);wF(L,{title:_.title,path:j,artifactUri:W.uri,contentHash:W.hash??"",tags:N,sourceRefs:D,now:U}),T_(L,{event_type:"write",action:"app_wiki_note_write",target_uri:W.uri,decision:"allow",metadata:{scope:_.scope,path:j,source_refs:D,tags:N},created_at:U});let Y=L.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(S);if(!Y)throw Error(`Failed to write app wiki note: ${j}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:NA(Y),artifact_uri:W.uri,content_hash:W.hash??"",citations_written:z,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${j}`}}finally{L.close()}}function P5(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];c(_.dbPath);let U=v(_.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(DA)}finally{U.close()}}async function P5(_){c(_.dbPath);let $=v(_.dbPath);try{let U=$.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + LIMIT ?`).all($).map(NA)}finally{U.close()}}async function O5(_){c(_.dbPath);let $=v(_.dbPath);try{let U=$.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE (id = ? OR path = ?) AND path LIKE 'wiki/notes/%' - AND metadata_json LIKE '%"app_wiki":true%'`).get(_.id,_.id);if(!U)return null;let j=$.query(`SELECT id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at + AND metadata_json LIKE '%"app_wiki":true%'`).get(_.id,_.id);if(!U)return null;let N=$.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((N)=>({...N,metadata:UA(N.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:DA(U),citations:j,content:D}}finally{$.close()}}async function O5(_){return AD(_),Y4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),gj({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as zA}from"crypto";import{randomUUID as kF}from"crypto";var jA={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"}},CF={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}},bF={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 X5(_){return _?.providers??{}}function R6(_,$){let U=X5(_)[$]??{};return{...jA[$],...U}}function Y5(_){let $=X5(_);return{...bF,...$.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 k$(_,$){return Y5($)[_]??_}function NA(_){let $=Y5(_);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:CF[D.provider]}})}function R5(_,$=process.env){return Object.keys(jA).map((U)=>{let j=R6(_,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 Q5(_,$=process.env){return{default_model:k$("default",_),providers:R5(_,$),models:NA(_)}}function T4(_,$,U=process.env){let j=R5($,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 wF(_){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 vF(_={}){let{createProviderRegistry:$}=await import("ai"),U=_.env??process.env,j={};for(let D of Object.keys(jA)){let N=R6(_.config,D),E=U[N.api_key_env];if(!E)continue;let I=_.factories?.[D]??await wF(D);j[D]=I({apiKey:E,baseURL:N.base_url})}return $(j)}async function WD(_,$={}){let U=k$(_,$.config),j=c_(U);return T4(j.provider,$.config,$.env),(await vF($)).languageModel(U)}function z5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return 0}function V4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:z5($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:z5($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function v0(_,$){let U=`usage_${kF()}`;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 EK}from"crypto";import{existsSync as mF,readFileSync as nF}from"fs";import{createHash as V5}from"crypto";var fF="openai:text-embedding-3-small",B5=1536;function Zj(_){return _?.embeddings??{}}function G5(_,$){return`${_}_${V5("sha256").update($).digest("hex").slice(0,20)}`}function IA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function C$(_,$){for(let U of $){let j=_[U];if(typeof j==="string"&&j.length>0)return j}return null}function T5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return null}function EA(_){return Math.sqrt(_.reduce(($,U)=>$+U*U,0))}function xF(_,$,U=EA($)){let j=EA(_);if(j===0||U===0)return 0;let D=Math.min(_.length,$.length),N=0;for(let E=0;E<D;E+=1)N+=_[E]*$[E];return N/(j*U)}function yF(_,$){let U=V5("sha256").update(_).digest();return Array.from({length:$},(j,D)=>{let N=U[D%U.length]/255;return Number((N*2-1).toFixed(6))})}async function uF(_,$,U=process.env){T4("openai",$,U);let j=R6($,"openai"),{createOpenAI:D}=await import("@ai-sdk/openai"),N=D({apiKey:U[j.api_key_env],baseURL:j.base_url});if(N.embeddingModel)return N.embeddingModel(_);if(N.textEmbedding)return N.textEmbedding(_);if(N.textEmbeddingModel)return N.textEmbeddingModel(_);throw Error("OpenAI provider does not expose an embedding model factory.")}function B4(_,$){if(!_||_==="default"||_==="embedding")return Zj($).default_model??fF;return _}async function F5(_,$={}){let U=B4($.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??Zj($.config).dimensions??B5;if($.fake)return{provider:j.provider,model:j.model,dimensions:D,vectors:_.map((J)=>yF(J,D)),usage:{input_tokens:_.reduce((J,L)=>J+Math.max(1,Math.ceil(L.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:N}=await import("ai"),E=await uF(j.model,$.config,$.env),I=await N({model:E,values:_,maxParallelCalls:$.maxParallelCalls??Zj($.config).max_parallel_calls,providerOptions:{openai:{dimensions:D}}}),W=I.embeddings;return{provider:j.provider,model:j.model,dimensions:W[0]?.length??D,vectors:W,usage:{input_tokens:I.usage?.tokens??0}}}function hF(_,$){if($.sourceRevisionId)return _.query(`SELECT + ORDER BY created_at ASC`).all(U.id).map((j)=>({...j,metadata:DA(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:NA(U),citations:N,content:D}}finally{$.close()}}async function z5(_){return AD(_),R4(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),gN({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as XA}from"crypto";import{randomUUID as fF}from"crypto";var jA={openai:{api_key_env:"OPENAI_API_KEY",default_model:"gpt-5.2"},anthropic:{api_key_env:"ANTHROPIC_API_KEY",default_model:"claude-sonnet-4-6"},deepseek:{api_key_env:"DEEPSEEK_API_KEY",default_model:"deepseek-chat"}},xF={openai:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!0,reasoning:!0,embeddings:!0},anthropic:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!0,native_web_search:!1,reasoning:!0,embeddings:!1},deepseek:{text_generation:!0,structured_output:!0,tool_usage:!0,tool_streaming:!0,image_input:!1,native_web_search:!1,reasoning:!0,embeddings:!1}},yF={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 R5(_){return _?.providers??{}}function Y6(_,$){let U=R5(_)[$]??{};return{...jA[$],...U}}function Y5(_){let $=R5(_);return{...yF,...$.default_model?{default:$.default_model}:{},...$.aliases??{}}}function c_(_){let[$,...U]=_.split(":"),N=U.join(":");if($!=="openai"&&$!=="anthropic"&&$!=="deepseek")throw Error(`Unsupported AI provider: ${$}`);if(!N)throw Error(`Invalid model ref: ${_}. Expected provider:model.`);return{provider:$,model:N}}function k$(_,$){return Y5($)[_]??_}function IA(_){let $=Y5(_);return Object.entries($).map(([U,N])=>{let D=c_(N);return{alias:U,model_ref:N,provider:D.provider,model:D.model,default:U==="default",capabilities:xF[D.provider]}})}function Q5(_,$=process.env){return Object.keys(jA).map((U)=>{let N=Y6(_,U),D=Boolean($[N.api_key_env]);return{provider:U,api_key_env:N.api_key_env,configured:D,source:D?"env":"missing",base_url:N.base_url??null,default_model:N.default_model}})}function G5(_,$=process.env){return{default_model:k$("default",_),providers:Q5(_,$),models:IA(_)}}function T4(_,$,U=process.env){let N=Q5($,U).find((D)=>D.provider===_);if(!N)throw Error(`Unsupported AI provider: ${_}`);if(!N.configured)throw Error(`Missing ${N.api_key_env} for ${_}. Set the env var to use this provider.`);return N}async function uF(_){if(_==="openai"){let{createOpenAI:U}=await import("@ai-sdk/openai");return U}if(_==="anthropic"){let{createAnthropic:U}=await import("@ai-sdk/anthropic");return U}let{createDeepSeek:$}=await import("@ai-sdk/deepseek");return $}async function hF(_={}){let{createProviderRegistry:$}=await import("ai"),U=_.env??process.env,N={};for(let D of Object.keys(jA)){let j=Y6(_.config,D),I=U[j.api_key_env];if(!I)continue;let E=_.factories?.[D]??await uF(D);N[D]=E({apiKey:I,baseURL:j.base_url})}return $(N)}async function WD(_,$={}){let U=k$(_,$.config),N=c_(U);return T4(N.provider,$.config,$.env),(await hF($)).languageModel(U)}function X5(_,$){for(let U of $){let N=_[U];if(typeof N==="number"&&Number.isFinite(N))return N}return 0}function V4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:X5($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:X5($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function v0(_,$){let U=`usage_${fF()}`;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 LK}from"crypto";import{existsSync as tF,readFileSync as oF}from"fs";import{createHash as B5}from"crypto";var rF="openai:text-embedding-3-small",F5=1536;function HN(_){return _?.embeddings??{}}function T5(_,$){return`${_}_${B5("sha256").update($).digest("hex").slice(0,20)}`}function AA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function b$(_,$){for(let U of $){let N=_[U];if(typeof N==="string"&&N.length>0)return N}return null}function V5(_,$){for(let U of $){let N=_[U];if(typeof N==="number"&&Number.isFinite(N))return N}return null}function EA(_){return Math.sqrt(_.reduce(($,U)=>$+U*U,0))}function cF(_,$,U=EA($)){let N=EA(_);if(N===0||U===0)return 0;let D=Math.min(_.length,$.length),j=0;for(let I=0;I<D;I+=1)j+=_[I]*$[I];return j/(N*U)}function mF(_,$){let U=B5("sha256").update(_).digest();return Array.from({length:$},(N,D)=>{let j=U[D%U.length]/255;return Number((j*2-1).toFixed(6))})}async function nF(_,$,U=process.env){T4("openai",$,U);let N=Y6($,"openai"),{createOpenAI:D}=await import("@ai-sdk/openai"),j=D({apiKey:U[N.api_key_env],baseURL:N.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 B4(_,$){if(!_||_==="default"||_==="embedding")return HN($).default_model??rF;return _}async function K5(_,$={}){let U=B4($.modelRef,$.config),N=c_(U);if(N.provider!=="openai")throw Error(`Embedding provider ${N.provider} is not supported yet. Use openai:text-embedding-3-small.`);let D=$.dimensions??HN($.config).dimensions??F5;if($.fake)return{provider:N.provider,model:N.model,dimensions:D,vectors:_.map((J)=>mF(J,D)),usage:{input_tokens:_.reduce((J,L)=>J+Math.max(1,Math.ceil(L.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:j}=await import("ai"),I=await nF(N.model,$.config,$.env),E=await j({model:I,values:_,maxParallelCalls:$.maxParallelCalls??HN($.config).max_parallel_calls,providerOptions:{openai:{dimensions:D}}}),W=E.embeddings;return{provider:N.provider,model:N.model,dimensions:W[0]?.length??D,vectors:W,usage:{input_tokens:E.usage?.tokens??0}}}function dF(_,$){if($.sourceRevisionId)return _.query(`SELECT c.id, c.text, c.token_count, @@ -713,14 +713,14 @@ VALUES (10, datetime('now')); 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 rF(_){let $=IA(_.metadata_json),U=$.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return x6({source_ref:C$($,["source_ref"]),source_uri:_.source_uri??C$($,["source_uri"]),source_kind:_.source_kind??C$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??C$($,["revision"]),hash:_.hash??C$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??T5($,["start_offset"]),end_offset:_.end_offset??T5($,["end_offset"]),status:C$($,["status"]),resolver:"open-files-read-only"})}function cF(_,$,U,j){let D=_.prepare(` + LIMIT ?`).all($.provider,$.model,$.limit)}function lF(_){let $=AA(_.metadata_json),U=$.provenance;if(U&&typeof U==="object"&&!Array.isArray(U))return U;return x6({source_ref:b$($,["source_ref"]),source_uri:_.source_uri??b$($,["source_uri"]),source_kind:_.source_kind??b$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??b$($,["revision"]),hash:_.hash??b$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??V5($,["start_offset"]),end_offset:_.end_offset??V5($,["end_offset"]),status:b$($,["status"]),resolver:"open-files-read-only"})}function iF(_,$,U,N){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 dimensions = excluded.dimensions, vector_json = excluded.vector_json, created_at = excluded.created_at - `),N=_.prepare(` + `),j=_.prepare(` INSERT INTO vector_index_entries ( id, chunk_id, source_revision_id, provider, model, dimensions, vector_json, vector_norm, source_uri, source_ref, revision, hash, start_offset, end_offset, token_count, status, @@ -742,10 +742,10 @@ VALUES (10, datetime('now')); status = excluded.status, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `);return _.transaction(()=>{for(let I=0;I<$.length;I+=1){let W=$[I],J=U.vectors[I];if(!J)continue;let L=IA(W.metadata_json),S=rF(W),X=S.source_ref??C$(L,["source_ref"]),z=S.source_uri??W.source_uri??C$(L,["source_uri"]),R=S.revision??W.revision??C$(L,["revision"]),P=S.hash??W.hash??C$(L,["hash"]),O=S.status??C$(L,["status"])??"active",Y=JSON.stringify(J);D.run(G5("emb",`${W.id}\x00${U.provider}\x00${U.model}`),W.id,U.provider,U.model,U.dimensions,Y,j),N.run(G5("vec",`${W.id}\x00${U.provider}\x00${U.model}`),W.id,W.source_revision_id,U.provider,U.model,U.dimensions,Y,EA(J),z,X,R,P,S.start_offset,S.end_offset,W.token_count,O,JSON.stringify({...L,provenance:S,embedded_at:j}),j,j)}})(),$.length}async function Hj(_){let $=B4(_.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));c(_.dbPath);let N=v(_.dbPath),E;try{E=hF(N,{provider:U.provider,model:U.model,limit:D,sourceRevisionId:_.sourceRevisionId})}finally{N.close()}if(E.length===0)return{provider:U.provider,model:U.model,dimensions:_.dimensions??Zj(_.config).dimensions??B5,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let I=await F5(E.map((J)=>J.text),_),W=v(_.dbPath);try{let J=cF(W,E,I,j);return{provider:I.provider,model:I.model,dimensions:I.dimensions,chunks_seen:E.length,chunks_embedded:E.length,embeddings_upserted:J,vector_entries_upserted:J,usage:I.usage}}finally{W.close()}}function K5(_){c(_);let $=v(_);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 E=0;E<$.length;E+=1){let W=$[E],J=U.vectors[E];if(!J)continue;let L=AA(W.metadata_json),S=lF(W),X=S.source_ref??b$(L,["source_ref"]),z=S.source_uri??W.source_uri??b$(L,["source_uri"]),Y=S.revision??W.revision??b$(L,["revision"]),P=S.hash??W.hash??b$(L,["hash"]),O=S.status??b$(L,["status"])??"active",R=JSON.stringify(J);D.run(T5("emb",`${W.id}\x00${U.provider}\x00${U.model}`),W.id,U.provider,U.model,U.dimensions,R,N),j.run(T5("vec",`${W.id}\x00${U.provider}\x00${U.model}`),W.id,W.source_revision_id,U.provider,U.model,U.dimensions,R,EA(J),z,X,Y,P,S.start_offset,S.end_offset,W.token_count,O,JSON.stringify({...L,provenance:S,embedded_at:N}),N,N)}})(),$.length}async function qN(_){let $=B4(_.modelRef,_.config),U=c_($);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet.`);let N=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??100,1000));c(_.dbPath);let j=v(_.dbPath),I;try{I=dF(j,{provider:U.provider,model:U.model,limit:D,sourceRevisionId:_.sourceRevisionId})}finally{j.close()}if(I.length===0)return{provider:U.provider,model:U.model,dimensions:_.dimensions??HN(_.config).dimensions??F5,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let E=await K5(I.map((J)=>J.text),_),W=v(_.dbPath);try{let J=iF(W,I,E,N);return{provider:E.provider,model:E.model,dimensions:E.dimensions,chunks_seen:I.length,chunks_embedded:I.length,embeddings_upserted:J,vector_entries_upserted:J,usage:E.usage}}finally{W.close()}}function M5(_){c(_);let $=v(_);try{let U=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,N=$.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 qj(_){let $=B4(_.modelRef,_.config),U=c_($),j=Math.max(1,Math.min(_.limit??10,100)),D=await F5([_.query],_),N=D.vectors[0]??[];c(_.dbPath);let E=v(_.dbPath);try{let W=E.query(`SELECT + ORDER BY provider, model`).all();return{total_embeddings:U,total_vector_entries:N,indexes:D}}finally{$.close()}}async function kN(_){let $=B4(_.modelRef,_.config),U=c_($),N=Math.max(1,Math.min(_.limit??10,100)),D=await K5([_.query],_),j=D.vectors[0]??[];c(_.dbPath);let I=v(_.dbPath);try{let W=I.query(`SELECT v.chunk_id, c.text, v.vector_json, @@ -757,7 +757,7 @@ VALUES (10, datetime('now')); v.metadata_json FROM vector_index_entries v JOIN chunks c ON c.id = v.chunk_id - WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((J)=>{let L=JSON.parse(J.vector_json),S=IA(J.metadata_json),X=S.provenance&&typeof S.provenance==="object"&&!Array.isArray(S.provenance)?S.provenance:null;return{chunk_id:J.chunk_id,score:xF(N,L,J.vector_norm),text:J.text,source_uri:J.source_uri,source_ref:J.source_ref,revision:J.revision,hash:J.hash,provenance:X}}).sort((J,L)=>L.score-J.score).slice(0,j);return{provider:U.provider,model:U.model,dimensions:D.dimensions,query:_.query,results:W}}finally{E.close()}}function kj(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function O$(_,$){for(let U of $){let j=_[U];if(typeof j==="string"&&j.length>0)return j}return null}function g5(_,$){for(let U of $){let j=_[U];if(typeof j==="number"&&Number.isFinite(j))return j}return null}function H5(_){return Array.from(new Set(_))}function q5(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return H5($.filter((U)=>U.length>0)).slice(0,16)}function M5(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function dF(_){let $=[],U=/"([^"]*)"|(\S+)/g,j,D=!1;while((j=U.exec(_))!==null){if(j[1]!==void 0){let J=M5(j[1]);if(J.length>0)$.push({type:"phrase",value:J.join(" "),negate:D,prefix:!1});D=!1;continue}let N=j[2]??"";if(N==="OR"||N==="||"||N==="|"){$.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(N==="AND"||N==="&&")continue;if(N==="NOT"){D=!0;continue}let E=D;if(D=!1,N.startsWith("-")&&N.length>1)E=!0,N=N.slice(1);let I=!1;if(N.endsWith("*"))I=!0,N=N.slice(0,-1);let W=M5(N);if(W.length===0)continue;$.push({type:W.length>1?"phrase":"term",value:W.join(" "),negate:E,prefix:I})}return $.slice(0,24)}function lF(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function iF(_){let $=dF(_);if($.filter((E)=>E.type!=="or"&&!E.negate).length===0)return{and:null,or:null};let j=(E)=>{let I="",W=!1,J=[];for(let L of $){if(L.type==="or"){W=!0;continue}let S=lF(L);if(L.negate){J.push(S);continue}if(I.length===0)I=S;else I=W?`${I} OR ${S}`:`${I} ${E} ${S}`;W=!1}for(let L of J)I=`(${I}) NOT ${L}`;return I.length>0?I:null},D=j("AND"),N=j("OR");return{and:D,or:N!==D?N:null}}function tF(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function k5(_,$){return _.flatMap((U)=>Array.from({length:$},()=>`%${tF(U)}%`))}function oF(_,$){let U=Number.isFinite(_)?1/(1+Math.abs(_)):0,j=1/(1+$);return Cj(Math.max(U,j))}function AA(_,$){if($.length===0)return 0;let U=$.filter((j)=>_.includes(j)).length;if(U===0)return 0;return Cj(Math.min(0.85,0.35+U/$.length*0.5))}function pF(_){return Cj(Math.max(0,Math.min(1,(_+1)/2)))}function Cj(_){return Number(_.toFixed(6))}function x0(_,$){let U=_.keyword??0,j=_.semantic??0,D=_.catalog??0,N=$?.chunk_id?0.05:0;return Cj(Math.min(1,U*0.55+j*0.4+D*0.35+N))}function WA(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function aF(_){let $=kj(_.chunk_metadata_json),U=WA($);if(U)return U;if(!_.source_revision_id&&!_.source_uri)return null;return x6({source_ref:O$($,["source_ref"]),source_uri:_.source_uri??O$($,["source_uri"]),source_kind:_.source_kind??O$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??O$($,["revision"]),hash:_.hash??O$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??g5($,["start_offset"]),end_offset:_.end_offset??g5($,["end_offset"]),status:O$($,["status"]),resolver:"open-files-read-only"})}function Z5(_,$,U){if(!$)return[];try{return eF(_,$,U)}catch{return[]}}function eF(_,$,U){return _.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(U.provider,U.model).map((J)=>{let L=JSON.parse(J.vector_json),S=AA(J.metadata_json),X=S.provenance&&typeof S.provenance==="object"&&!Array.isArray(S.provenance)?S.provenance:null;return{chunk_id:J.chunk_id,score:cF(j,L,J.vector_norm),text:J.text,source_uri:J.source_uri,source_ref:J.source_ref,revision:J.revision,hash:J.hash,provenance:X}}).sort((J,L)=>L.score-J.score).slice(0,N);return{provider:U.provider,model:U.model,dimensions:D.dimensions,query:_.query,results:W}}finally{I.close()}}function bN(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function O$(_,$){for(let U of $){let N=_[U];if(typeof N==="string"&&N.length>0)return N}return null}function g5(_,$){for(let U of $){let N=_[U];if(typeof N==="number"&&Number.isFinite(N))return N}return null}function q5(_){return Array.from(new Set(_))}function k5(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return q5($.filter((U)=>U.length>0)).slice(0,16)}function Z5(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function pF(_){let $=[],U=/"([^"]*)"|(\S+)/g,N,D=!1;while((N=U.exec(_))!==null){if(N[1]!==void 0){let J=Z5(N[1]);if(J.length>0)$.push({type:"phrase",value:J.join(" "),negate:D,prefix:!1});D=!1;continue}let j=N[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 I=D;if(D=!1,j.startsWith("-")&&j.length>1)I=!0,j=j.slice(1);let E=!1;if(j.endsWith("*"))E=!0,j=j.slice(0,-1);let W=Z5(j);if(W.length===0)continue;$.push({type:W.length>1?"phrase":"term",value:W.join(" "),negate:I,prefix:E})}return $.slice(0,24)}function aF(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function eF(_){let $=pF(_);if($.filter((I)=>I.type!=="or"&&!I.negate).length===0)return{and:null,or:null};let N=(I)=>{let E="",W=!1,J=[];for(let L of $){if(L.type==="or"){W=!0;continue}let S=aF(L);if(L.negate){J.push(S);continue}if(E.length===0)E=S;else E=W?`${E} OR ${S}`:`${E} ${I} ${S}`;W=!1}for(let L of J)E=`(${E}) NOT ${L}`;return E.length>0?E:null},D=N("AND"),j=N("OR");return{and:D,or:j!==D?j:null}}function sF(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function b5(_,$){return _.flatMap((U)=>Array.from({length:$},()=>`%${sF(U)}%`))}function _K(_,$){let U=Number.isFinite(_)?1/(1+Math.abs(_)):0,N=1/(1+$);return CN(Math.max(U,N))}function WA(_,$){if($.length===0)return 0;let U=$.filter((N)=>_.includes(N)).length;if(U===0)return 0;return CN(Math.min(0.85,0.35+U/$.length*0.5))}function $K(_){return CN(Math.max(0,Math.min(1,(_+1)/2)))}function CN(_){return Number(_.toFixed(6))}function x0(_,$){let U=_.keyword??0,N=_.semantic??0,D=_.catalog??0,j=$?.chunk_id?0.05:0;return CN(Math.min(1,U*0.55+N*0.4+D*0.35+j))}function JA(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function UK(_){let $=bN(_.chunk_metadata_json),U=JA($);if(U)return U;if(!_.source_revision_id&&!_.source_uri)return null;return x6({source_ref:O$($,["source_ref"]),source_uri:_.source_uri??O$($,["source_uri"]),source_kind:_.source_kind??O$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??O$($,["revision"]),hash:_.hash??O$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??g5($,["start_offset"]),end_offset:_.end_offset??g5($,["end_offset"]),status:O$($,["status"]),resolver:"open-files-read-only"})}function H5(_,$,U){if(!$)return[];try{return DK(_,$,U)}catch{return[]}}function DK(_,$,U){return _.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -786,49 +786,49 @@ VALUES (10, datetime('now')); LEFT JOIN wiki_pages wp ON wp.id = c.wiki_page_id WHERE chunks_fts MATCH ? ORDER BY rank ASC - LIMIT ?`).all($,U)}function C5(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((j)=>`lower(COALESCE(${j}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function sF(_,$,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 C5(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((N)=>`lower(COALESCE(${N}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function NK(_,$,U){let N=["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 (${C5(j,$)}) + WHERE status = 'active' AND (${C5(N,$)}) ORDER BY updated_at DESC - LIMIT ?`).all(...k5($,j.length),U)}function _K(_,$,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(...b5($,N.length),U)}function jK(_,$,U){let N=["kind","name","shard_key","artifact_uri","metadata_json"];return _.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json FROM knowledge_indexes - WHERE ${C5(j,$)} + WHERE ${C5(N,$)} ORDER BY updated_at DESC - LIMIT ?`).all(...k5($,j.length),U)}function b5(_){if(!_||!mF(_))return[];try{let $=JSON.parse(nF(_,"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 $K(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function w5(_,$,U){if($.length===0)return[];return _.filter((j)=>j.archived!==!0).map((j)=>({item:j,haystack:$K(j)})).filter(({haystack:j})=>$.some((D)=>j.includes(D))).map(({item:j,haystack:D})=>({item:j,score:AA(D,$)})).sort((j,D)=>D.score-j.score||j.item.id.localeCompare(D.item.id)).slice(0,U)}function UK(_,$,U){return w5(b5(_),$,U)}function DK(_,$){let U=kj(_.chunk_metadata_json),j=aF(_),D=O$(U,["source_ref"]),N=_.source_uri??O$(U,["source_uri"]),E=Boolean(_.wiki_page_id),I={kind:E?"wiki_chunk":"source_chunk",id:_.chunk_id,title:E?_.wiki_title:_.source_title,text:_.text,score:0,scores:{keyword:$},source:N||D?{uri:N,ref:D,kind:_.source_kind??O$(U,["source_kind"]),revision:_.revision??O$(U,["revision"]),hash:_.hash??O$(U,["hash"])}:null,citation:{chunk_id:_.chunk_id,start_offset:_.start_offset,end_offset:_.end_offset},artifact:E?{uri:_.wiki_artifact_uri,path:_.wiki_path,hash:_.wiki_content_hash,shard_key:_.wiki_path}:null,provenance:j,reasons:["keyword_match"]};return I.score=x0(I.scores,I.citation),I}function JA(_,$){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=x0(j.scores,j.citation),j}function jK(_,$){let U=kj(_.metadata_json),j=AA(`${_.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:WA(U),reasons:["wiki_catalog_match"]};return D.score=x0(D.scores,D.citation),D}function NK(_,$){let U=kj(_.metadata_json),j=AA(`${_.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:O$(U,["artifact_key"]),hash:O$(U,["content_hash"]),shard_key:_.shard_key},provenance:WA(U),reasons:["index_catalog_match"]};return D.score=x0(D.scores,D.citation),D}function f0(_,$){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=H5([...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=x0(j.scores,j.citation)}function v5(_){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 bj(_){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,N=q5($),E=iF($),I=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),W=[],J=null,L=null,S=null,X=0,z=0,R=0,P=new Map;c(_.dbPath);let O=v(_.dbPath);try{let B=Math.max(D*3,20),G=Z5(O,E.and,B);if(G.length===0&&E.or)G=Z5(O,E.or,B);X=G.length,G.forEach((q,x)=>f0(P,DK(q,oF(q.rank,x))));let T=sF(O,N,Math.max(D,10)),F=_K(O,N,Math.max(D,10)),g=UK(_.legacyStorePath,N,Math.max(D,10));z=T.length+F.length,X+=g.length,g.forEach(({item:q,score:x})=>f0(P,JA(q,x))),T.forEach((q)=>f0(P,jK(q,N))),F.forEach((q)=>f0(P,NK(q,N)))}finally{O.close()}if(I)try{let B=await qj({dbPath:_.dbPath,query:$,limit:Math.max(D*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});J=B.provider,L=B.model,S=B.dimensions,R=B.results.length;for(let G of B.results){let T={kind:"source_chunk",id:G.chunk_id,title:null,text:G.text,score:0,scores:{semantic:pF(G.score)},source:{uri:G.source_uri,ref:G.source_ref,kind:G.provenance?.source_kind??null,revision:G.revision,hash:G.hash},citation:{chunk_id:G.chunk_id,start_offset:G.provenance?.start_offset??null,end_offset:G.provenance?.end_offset??null},artifact:null,provenance:G.provenance,reasons:["semantic_match"]};T.score=x0(T.scores,T.citation),f0(P,T)}}catch(B){W.push(`semantic_search_failed: ${B instanceof Error?B.message:String(B)}`)}let Q=v5(Array.from(P.values())).slice(j,j+U);return{query:$,limit:U,offset:j,mode:{keyword:!0,catalog:!0,semantic:I},semantic_provider:J,semantic_model:L,semantic_dimensions:S,counts:{keyword_results:X,catalog_results:z,semantic_results:R,merged_results:Q.length},warnings:W,results:Q}}async function wj(_){return LA(b5(_.legacyStorePath),_,["knowledge_db_missing"])}async function LA(_,$,U=[]){let j=$.query.trim();if(!j)throw Error("Search query is required.");let D=Math.max(1,Math.min($.limit??10,100)),N=Math.max(0,Math.floor($.offset??0)),E=q5(j),I=$.semantic===!0||$.fake===!0||Boolean($.modelRef),W=new Map,J=w5(_,E,Math.max(N+D,10));J.forEach(({item:X,score:z})=>f0(W,JA(X,z)));let L=[...U];if(I)L.push("semantic_search_requires_local_catalog");let S=v5(Array.from(W.values())).slice(N,N+D);return{query:j,limit:D,offset:N,mode:{keyword:!0,catalog:!0,semantic:I},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:J.length,catalog_results:0,semantic_results:0,merged_results:S.length},warnings:L,results:S}}function SA(_,$,U=[],j=_.length){let D=$.query.trim();if(!D)throw Error("Search query is required.");let N=Math.max(1,Math.min($.limit??10,100)),E=Math.max(0,Math.floor($.offset??0)),I=_.map(({item:W,rank:J})=>JA(W,J));return{query:D,limit:N,offset:E,mode:{keyword:!0,catalog:!0,semantic:$.semantic===!0},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:j,catalog_results:0,semantic_results:0,merged_results:I.length},warnings:U,results:I}}function f5(_,$){return`${_}_${EK("sha256").update($).digest("hex").slice(0,20)}`}function x5(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function IK(_){return Array.from(new Set(x5(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function AK(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function WK(_,$){if($.length===0)return 0;let U=AK(_),j=$.filter((D)=>U.includes(D)).length;return Number((j/$.length).toFixed(6))}function JK(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function y5(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return o2(_.status);return!1}function LK(_){if(y5(_.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 SK(_){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 PK(_){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 OK(_,$){let U={base_score:_.score,exact_score:WK(_,$),citation_score:SK(_),freshness_score:LK(_),authority_score:PK(_)},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 u5(_,$){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 zK(_){return{id:f5("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:u5(_,500),provenance:_.provenance}}function XK(_,$,U){let j=u5(_,U);if(!j)return null;return{id:f5("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:j,score:_.score}}function vj(_){return _.map(()=>"?").join(", ")}function YK(_,$){let U=$.map((I)=>I.citation?.chunk_id).filter((I)=>Boolean(I)),j=$.filter((I)=>I.kind==="wiki_page").map((I)=>I.id),D=[],N=[];if(U.length===0&&j.length===0)return{citations:D,backlinks:N};let E=v(_);try{if(U.length>0)D.push(...E.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT ?`).all(...b5($,N.length),U)}function w5(_){if(!_||!tF(_))return[];try{let $=JSON.parse(oF(_,"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 IK(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function v5(_,$,U){if($.length===0)return[];return _.filter((N)=>N.archived!==!0).map((N)=>({item:N,haystack:IK(N)})).filter(({haystack:N})=>$.some((D)=>N.includes(D))).map(({item:N,haystack:D})=>({item:N,score:WA(D,$)})).sort((N,D)=>D.score-N.score||N.item.id.localeCompare(D.item.id)).slice(0,U)}function EK(_,$,U){return v5(w5(_),$,U)}function AK(_,$){let U=bN(_.chunk_metadata_json),N=UK(_),D=O$(U,["source_ref"]),j=_.source_uri??O$(U,["source_uri"]),I=Boolean(_.wiki_page_id),E={kind:I?"wiki_chunk":"source_chunk",id:_.chunk_id,title:I?_.wiki_title:_.source_title,text:_.text,score:0,scores:{keyword:$},source:j||D?{uri:j,ref:D,kind:_.source_kind??O$(U,["source_kind"]),revision:_.revision??O$(U,["revision"]),hash:_.hash??O$(U,["hash"])}:null,citation:{chunk_id:_.chunk_id,start_offset:_.start_offset,end_offset:_.end_offset},artifact:I?{uri:_.wiki_artifact_uri,path:_.wiki_path,hash:_.wiki_content_hash,shard_key:_.wiki_path}:null,provenance:N,reasons:["keyword_match"]};return E.score=x0(E.scores,E.citation),E}function LA(_,$){let U=`knowledge://item/${encodeURIComponent(_.id)}`,N={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 N.score=x0(N.scores,N.citation),N}function WK(_,$){let U=bN(_.metadata_json),N=WA(`${_.path} ${_.title} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"wiki_page",id:_.id,title:_.title,text:null,score:0,scores:{catalog:N},source:null,citation:null,artifact:{uri:_.artifact_uri,path:_.path,hash:_.content_hash,shard_key:_.path},provenance:JA(U),reasons:["wiki_catalog_match"]};return D.score=x0(D.scores,D.citation),D}function JK(_,$){let U=bN(_.metadata_json),N=WA(`${_.kind} ${_.name} ${_.shard_key??""} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"knowledge_index",id:_.id,title:_.name,text:null,score:0,scores:{catalog:N},source:null,citation:null,artifact:{uri:_.artifact_uri,path:O$(U,["artifact_key"]),hash:O$(U,["content_hash"]),shard_key:_.shard_key},provenance:JA(U),reasons:["index_catalog_match"]};return D.score=x0(D.scores,D.citation),D}function f0(_,$){let U=`${$.kind}:${$.id}`,N=_.get(U);if(!N){_.set(U,$);return}N.scores={keyword:Math.max(N.scores.keyword??0,$.scores.keyword??0)||void 0,semantic:Math.max(N.scores.semantic??0,$.scores.semantic??0)||void 0,catalog:Math.max(N.scores.catalog??0,$.scores.catalog??0)||void 0},N.reasons=q5([...N.reasons,...$.reasons]),N.text=N.text??$.text,N.title=N.title??$.title,N.source=N.source??$.source,N.citation=N.citation??$.citation,N.artifact=N.artifact??$.artifact,N.provenance=N.provenance??$.provenance,N.score=x0(N.scores,N.citation)}function f5(_){let $={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return _.sort((U,N)=>{if(N.score!==U.score)return N.score-U.score;return $[U.kind]-$[N.kind]||U.id.localeCompare(N.id)})}async function wN(_){let $=_.query.trim();if(!$)throw Error("Search query is required.");let U=Math.max(1,Math.min(_.limit??10,100)),N=Math.max(0,Math.floor(_.offset??0)),D=N+U,j=k5($),I=eF($),E=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),W=[],J=null,L=null,S=null,X=0,z=0,Y=0,P=new Map;c(_.dbPath);let O=v(_.dbPath);try{let B=Math.max(D*3,20),G=H5(O,I.and,B);if(G.length===0&&I.or)G=H5(O,I.or,B);X=G.length,G.forEach((q,x)=>f0(P,AK(q,_K(q.rank,x))));let T=NK(O,j,Math.max(D,10)),F=jK(O,j,Math.max(D,10)),M=EK(_.legacyStorePath,j,Math.max(D,10));z=T.length+F.length,X+=M.length,M.forEach(({item:q,score:x})=>f0(P,LA(q,x))),T.forEach((q)=>f0(P,WK(q,j))),F.forEach((q)=>f0(P,JK(q,j)))}finally{O.close()}if(E)try{let B=await kN({dbPath:_.dbPath,query:$,limit:Math.max(D*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});J=B.provider,L=B.model,S=B.dimensions,Y=B.results.length;for(let G of B.results){let T={kind:"source_chunk",id:G.chunk_id,title:null,text:G.text,score:0,scores:{semantic:$K(G.score)},source:{uri:G.source_uri,ref:G.source_ref,kind:G.provenance?.source_kind??null,revision:G.revision,hash:G.hash},citation:{chunk_id:G.chunk_id,start_offset:G.provenance?.start_offset??null,end_offset:G.provenance?.end_offset??null},artifact:null,provenance:G.provenance,reasons:["semantic_match"]};T.score=x0(T.scores,T.citation),f0(P,T)}}catch(B){W.push(`semantic_search_failed: ${B instanceof Error?B.message:String(B)}`)}let Q=f5(Array.from(P.values())).slice(N,N+U);return{query:$,limit:U,offset:N,mode:{keyword:!0,catalog:!0,semantic:E},semantic_provider:J,semantic_model:L,semantic_dimensions:S,counts:{keyword_results:X,catalog_results:z,semantic_results:Y,merged_results:Q.length},warnings:W,results:Q}}async function vN(_){return SA(w5(_.legacyStorePath),_,["knowledge_db_missing"])}async function SA(_,$,U=[]){let N=$.query.trim();if(!N)throw Error("Search query is required.");let D=Math.max(1,Math.min($.limit??10,100)),j=Math.max(0,Math.floor($.offset??0)),I=k5(N),E=$.semantic===!0||$.fake===!0||Boolean($.modelRef),W=new Map,J=v5(_,I,Math.max(j+D,10));J.forEach(({item:X,score:z})=>f0(W,LA(X,z)));let L=[...U];if(E)L.push("semantic_search_requires_local_catalog");let S=f5(Array.from(W.values())).slice(j,j+D);return{query:N,limit:D,offset:j,mode:{keyword:!0,catalog:!0,semantic:E},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:J.length,catalog_results:0,semantic_results:0,merged_results:S.length},warnings:L,results:S}}function PA(_,$,U=[],N=_.length){let D=$.query.trim();if(!D)throw Error("Search query is required.");let j=Math.max(1,Math.min($.limit??10,100)),I=Math.max(0,Math.floor($.offset??0)),E=_.map(({item:W,rank:J})=>LA(W,J));return{query:D,limit:j,offset:I,mode:{keyword:!0,catalog:!0,semantic:$.semantic===!0},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:N,catalog_results:0,semantic_results:0,merged_results:E.length},warnings:U,results:E}}function x5(_,$){return`${_}_${LK("sha256").update($).digest("hex").slice(0,20)}`}function y5(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function SK(_){return Array.from(new Set(y5(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function PK(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function OK(_,$){if($.length===0)return 0;let U=PK(_),N=$.filter((D)=>U.includes(D)).length;return Number((N/$.length).toFixed(6))}function zK(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function u5(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return p2(_.status);return!1}function XK(_){if(u5(_.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 RK(_){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 YK(_){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 QK(_,$){let U={base_score:_.score,exact_score:OK(_,$),citation_score:RK(_),freshness_score:XK(_),authority_score:YK(_)},N=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(N.toFixed(6)),reasons:Array.from(D),rerank:{...U,final_score:Number(N.toFixed(6))}}}function h5(_,$){let U=_.text??_.title;if(!U)return null;let N=U.replace(/\s+/g," ").trim();return N.length<=$?N:`${N.slice(0,Math.max(0,$-1)).trim()}...`}function GK(_){return{id:x5("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:h5(_,500),provenance:_.provenance}}function TK(_,$,U){let N=h5(_,U);if(!N)return null;return{id:x5("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:N,score:_.score}}function fN(_){return _.map(()=>"?").join(", ")}function VK(_,$){let U=$.map((E)=>E.citation?.chunk_id).filter((E)=>Boolean(E)),N=$.filter((E)=>E.kind==="wiki_page").map((E)=>E.id),D=[],j=[];if(U.length===0&&N.length===0)return{citations:D,backlinks:j};let I=v(_);try{if(U.length>0)D.push(...I.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE chunk_id IN (${vj(U)}) + WHERE chunk_id IN (${fN(U)}) ORDER BY created_at DESC - LIMIT 50`).all(...U));if(j.length>0)D.push(...E.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT 50`).all(...U));if(N.length>0)D.push(...I.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations - WHERE wiki_page_id IN (${vj(j)}) + WHERE wiki_page_id IN (${fN(N)}) ORDER BY created_at DESC - LIMIT 50`).all(...j)),N.push(...E.query(`SELECT from_page_id, to_page_id, label + LIMIT 50`).all(...N)),j.push(...I.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks - WHERE from_page_id IN (${vj(j)}) OR to_page_id IN (${vj(j)}) - LIMIT 50`).all(...j,...j))}finally{E.close()}return{citations:D,backlinks:N}}function Q6(_,$={}){let U=Math.max(200,Math.min($.contextChars??1200,4000)),j=IK(_.query),D=[..._.warnings],N=new Set,E=new Set,W=_.results.filter((S)=>{if(!JK(S.provenance))return D.push(`permission_filtered: ${S.kind}:${S.id}`),N.add("Dropped a result because provenance was not read-only."),!1;if(y5(S.provenance))return D.push(`stale_filtered: ${S.kind}:${S.id}`),E.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((S)=>OK(S,j)).sort((S,X)=>X.score-S.score||S.id.localeCompare(X.id)).slice(0,_.limit),J=W.map(zK),L=W.map((S,X)=>XK(S,J[X],U)).filter((S)=>Boolean(S));for(let S of W){if(S.provenance&&"read_only"in S.provenance&&S.provenance.read_only)N.add("All source-backed excerpts are read-only and citation-required.");if(S.rerank.freshness_score>=0.85)E.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:x5(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:W,citations:J,excerpts:L,graph:$.dbPath?YK($.dbPath,W):{citations:[],backlinks:[]},notes:{permissions:Array.from(N),freshness:Array.from(E)}}}async function y0(_){let $=await bj(_);return Q6($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function h5(_,$){let U=await LA(_,$);return Q6(U,{contextChars:$.contextChars})}function u0(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function OA(_){return`C${_+1}`}function c5(_,$){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 N=$.citations.find((I)=>I.id===j.citation_id),E=N?.source_ref??N?.source_uri??N?.artifact_path??N?.artifact_uri??"unknown source";return`[${OA(D)}] ${j.text} (${E})`})].join(` -`)}function m5(_,$){let U=$.citations.map((D,N)=>({id:OA(N),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,N)=>({id:OA(N),kind:D.kind,text:D.text,score:D.score}));return[`Prompt: ${_}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: -${JSON.stringify(j,null,2)}`,"",`Citations: + WHERE from_page_id IN (${fN(N)}) OR to_page_id IN (${fN(N)}) + LIMIT 50`).all(...N,...N))}finally{I.close()}return{citations:D,backlinks:j}}function Q6(_,$={}){let U=Math.max(200,Math.min($.contextChars??1200,4000)),N=SK(_.query),D=[..._.warnings],j=new Set,I=new Set,W=_.results.filter((S)=>{if(!zK(S.provenance))return D.push(`permission_filtered: ${S.kind}:${S.id}`),j.add("Dropped a result because provenance was not read-only."),!1;if(u5(S.provenance))return D.push(`stale_filtered: ${S.kind}:${S.id}`),I.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((S)=>QK(S,N)).sort((S,X)=>X.score-S.score||S.id.localeCompare(X.id)).slice(0,_.limit),J=W.map(GK),L=W.map((S,X)=>TK(S,J[X],U)).filter((S)=>Boolean(S));for(let S of W){if(S.provenance&&"read_only"in S.provenance&&S.provenance.read_only)j.add("All source-backed excerpts are read-only and citation-required.");if(S.rerank.freshness_score>=0.85)I.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:y5(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:W,citations:J,excerpts:L,graph:$.dbPath?VK($.dbPath,W):{citations:[],backlinks:[]},notes:{permissions:Array.from(j),freshness:Array.from(I)}}}async function y0(_){let $=await wN(_);return Q6($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function r5(_,$){let U=await SA(_,$);return Q6(U,{contextChars:$.contextChars})}function u0(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function zA(_){return`C${_+1}`}function m5(_,$){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((N,D)=>{let j=$.citations.find((E)=>E.id===N.citation_id),I=j?.source_ref??j?.source_uri??j?.artifact_path??j?.artifact_uri??"unknown source";return`[${zA(D)}] ${N.text} (${I})`})].join(` +`)}function n5(_,$){let U=$.citations.map((D,j)=>({id:zA(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})),N=$.excerpts.map((D,j)=>({id:zA(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(N,null,2)}`,"",`Citations: ${JSON.stringify(U,null,2)}`].join(` -`)}function n5(_,$){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 RK(_,$){let U=v(_);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 PA(_,$){let U=v(_);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${zA()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{U.close()}}function r5(_,$){let U=v(_);try{U.run(`UPDATE runs +`)}function d5(_,$){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 BK(_,$){let U=v(_);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 OA(_,$){let U=v(_);try{U.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${XA()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{U.close()}}function c5(_,$){let U=v(_);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 QK(_,$,U,j,D,N,E={}){let I=v(_);try{v0(I,{run_id:$,provider:j,model:D,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:E,created_at:N})}finally{I.close()}}async function d5(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let U=(_.now??new Date).toISOString(),j=`run_${zA()}`,D=k$(_.modelRef??"default",_.config),N=c_(D);c(_.dbPath),RK(_.dbPath,{runId:j,prompt:$,status:_.generate?"running":"dry_run",provider:_.generate?N.provider:"local",model:_.generate?N.model:"context-draft",metadata:{semantic:_.semantic===!0||_.fake===!0||Boolean(_.modelRef),approve_write:_.approveWrite===!0,generated:_.generate===!0},now:U});let{prompt:E,generate:I,approveWrite:W,now:J,...L}=_,S=await y0({...L,query:$});PA(_.dbPath,{runId:j,level:"info",event:"context_retrieved",metadata:{results:S.results.length,citations:S.citations.length,warnings:S.warnings},now:U});let X=c5($,S),z=!1,R="local",P="context-draft",O={input_tokens:u0($)+S.excerpts.reduce((G,T)=>G+u0(T.text),0),output_tokens:u0(X),cost_usd:0},Y=[...S.warnings];if(_.generate)try{if(_.fake)z=!0,R=N.provider,P=N.model,X=`Fake generated answer for: ${$} + WHERE id = ?`,[$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.runId])}finally{U.close()}}function FK(_,$,U,N,D,j,I={}){let E=v(_);try{v0(E,{run_id:$,provider:N,model:D,input_tokens:U.input_tokens,output_tokens:U.output_tokens,cost_usd:U.cost_usd,metadata:I,created_at:j})}finally{E.close()}}async function l5(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let U=(_.now??new Date).toISOString(),N=`run_${XA()}`,D=k$(_.modelRef??"default",_.config),j=c_(D);c(_.dbPath),BK(_.dbPath,{runId:N,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:I,generate:E,approveWrite:W,now:J,...L}=_,S=await y0({...L,query:$});OA(_.dbPath,{runId:N,level:"info",event:"context_retrieved",metadata:{results:S.results.length,citations:S.citations.length,warnings:S.warnings},now:U});let X=m5($,S),z=!1,Y="local",P="context-draft",O={input_tokens:u0($)+S.excerpts.reduce((G,T)=>G+u0(T.text),0),output_tokens:u0(X),cost_usd:0},R=[...S.warnings];if(_.generate)try{if(_.fake)z=!0,Y=j.provider,P=j.model,X=`Fake generated answer for: ${$} -${X}`;else{let{generateText:G}=await import("ai"),T=await WD(D,{config:_.config,env:_.env}),F=await G({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:m5($,S)});z=!0,R=N.provider,P=N.model,X=F.text;let g=V4({provider:R,model:P,usage:F.usage,providerMetadata:F.providerMetadata});O={input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd}}}catch(G){throw PA(_.dbPath,{runId:j,level:"error",event:"answer_generation_failed",metadata:{message:G instanceof Error?G.message:String(G)},now:U}),r5(_.dbPath,{runId:j,status:"failed",provider:N.provider,model:N.model,metadata:{generated:!1,error:G instanceof Error?G.message:String(G)},now:U}),G}let Q=n5($,S),B={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 PA(_.dbPath,{runId:j,level:"info",event:z?"answer_generated":"answer_drafted",metadata:{provider:R,model:P,proposed_updates:Q.length,durable_writes_performed:!1},now:U}),QK(_.dbPath,j,O,R,P,U,{generated:z,citations:S.citations.length}),r5(_.dbPath,{runId:j,status:z?"completed":"dry_run",provider:R,model:P,metadata:{generated:z,citations:S.citations.length,proposed_updates:Q.length,approve_write:_.approveWrite===!0},now:U}),{run_id:j,prompt:$,generated:z,provider:R,model:P,answer:X,context:S,citations:S.citations,proposed_wiki_updates:Q,write_policy:B,usage:O,warnings:Y}}async function l5(_,$,U){let j=$.prompt.trim();if(!j)throw Error("Knowledge prompt is required.");let D=`run_${zA()}`,N=k$($.modelRef??"default",$.config),E=c_(N),{prompt:I,generate:W,approveWrite:J,now:L,...S}=$,X=U?Q6(U,{contextChars:$.contextChars}):await h5(_,{...S,query:j}),z=c5(j,X),R=!1,P="local",O="context-draft",Y={input_tokens:u0(j)+X.excerpts.reduce((T,F)=>T+u0(F.text),0),output_tokens:u0(z),cost_usd:0},Q=[...X.warnings];if($.generate)if($.fake)R=!0,P=E.provider,O=E.model,z=`Fake generated answer for: ${j} +${X}`;else{let{generateText:G}=await import("ai"),T=await WD(D,{config:_.config,env:_.env}),F=await G({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:n5($,S)});z=!0,Y=j.provider,P=j.model,X=F.text;let M=V4({provider:Y,model:P,usage:F.usage,providerMetadata:F.providerMetadata});O={input_tokens:M.input_tokens,output_tokens:M.output_tokens,cost_usd:M.cost_usd}}}catch(G){throw OA(_.dbPath,{runId:N,level:"error",event:"answer_generation_failed",metadata:{message:G instanceof Error?G.message:String(G)},now:U}),c5(_.dbPath,{runId:N,status:"failed",provider:j.provider,model:j.model,metadata:{generated:!1,error:G instanceof Error?G.message:String(G)},now:U}),G}let Q=d5($,S),B={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 OA(_.dbPath,{runId:N,level:"info",event:z?"answer_generated":"answer_drafted",metadata:{provider:Y,model:P,proposed_updates:Q.length,durable_writes_performed:!1},now:U}),FK(_.dbPath,N,O,Y,P,U,{generated:z,citations:S.citations.length}),c5(_.dbPath,{runId:N,status:z?"completed":"dry_run",provider:Y,model:P,metadata:{generated:z,citations:S.citations.length,proposed_updates:Q.length,approve_write:_.approveWrite===!0},now:U}),{run_id:N,prompt:$,generated:z,provider:Y,model:P,answer:X,context:S,citations:S.citations,proposed_wiki_updates:Q,write_policy:B,usage:O,warnings:R}}async function i5(_,$,U){let N=$.prompt.trim();if(!N)throw Error("Knowledge prompt is required.");let D=`run_${XA()}`,j=k$($.modelRef??"default",$.config),I=c_(j),{prompt:E,generate:W,approveWrite:J,now:L,...S}=$,X=U?Q6(U,{contextChars:$.contextChars}):await r5(_,{...S,query:N}),z=m5(N,X),Y=!1,P="local",O="context-draft",R={input_tokens:u0(N)+X.excerpts.reduce((T,F)=>T+u0(F.text),0),output_tokens:u0(z),cost_usd:0},Q=[...X.warnings];if($.generate)if($.fake)Y=!0,P=I.provider,O=I.model,z=`Fake generated answer for: ${N} -${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{config:$.config,env:$.env}),g=await T({model:F,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:m5(j,X)});R=!0,P=E.provider,O=E.model,z=g.text;let q=V4({provider:P,model:O,usage:g.usage,providerMetadata:g.providerMetadata});Y={input_tokens:q.input_tokens,output_tokens:q.output_tokens,cost_usd:q.cost_usd}}let B=n5(j,X),G={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:D,prompt:j,generated:R,provider:P,model:O,answer:z,context:X,citations:X.citations,proposed_wiki_updates:B,write_policy:G,usage:Y,warnings:Q}}import{createHash as GK}from"crypto";var TK=1200,VK=6,BK=12000,FK=50,i5=800;function r0(_,$,U=16){return`${_}_${GK("sha256").update($).digest("hex").slice(0,U)}`}function YA(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function RA(_){return YA(_).toLowerCase()}function KK(_){return Array.from(new Set(RA(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function G6(_,$){let U=YA(_);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 t5(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function QA(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function XA(_){return Object.keys(_).filter(($)=>!QA($)).sort().slice(0,12)}function gK(_,$){for(let U of $){if(QA(U))continue;let j=_[U];if(typeof j==="string"&&j.trim())return j.trim()}return null}function JD(_,$){if(!_)return null;let U=d_(_,$).text;try{let j=new URL(U),D=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let N of D)j.searchParams.delete(N);for(let[N]of j.searchParams)if(QA(N))j.searchParams.delete(N);return j.toString()}catch{return U}}function a$(_,$,U){return JD(gK(_,$),U)}function fj(_){let $=[];for(let U of XA(_).slice(0,6)){let j=_[U];if(typeof j==="string"&&j.trim())$.push(`${U}=${G6(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 MK(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function o5(_){return MK(JSON.stringify(_))}function ZK(_){if(!Number.isFinite(_??NaN))return TK;let $=Math.floor(_);if($<i5)throw Error(`--max-tokens must be at least ${i5} for the stable context-pack schema.`);return Math.min($,BK)}function HK(_,$){let U=Number.isFinite(_??NaN)?_:$;if(!Number.isFinite(U??NaN))return VK;return Math.max(1,Math.min(Math.floor(U),FK))}function e5(_,$){if(!_)return{cutoff:null,warning:null};let U=_.trim(),j=/^(\d+)\s*([mhdw])$/i.exec(U);if(j){let N=Number(j[1]),E=j[2].toLowerCase(),I=E==="m"?60000:E==="h"?3600000:E==="d"?86400000:604800000;return{cutoff:new Date($.getTime()-N*I).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 h0(_,$,U){let j=d_(_,$);return{text:G6(j.text,U),redactions:j.findings.length}}function p5(_,$){if($.length===0)return 0.5;let U=RA(_),j=$.filter((D)=>U.includes(D)).length;return Number((j/$.length).toFixed(6))}function qK(_){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 kK(_,$,U){let j=JD($.source_ref,U),D=JD($.source_uri,U),N=JD($.artifact_uri,U),E=JD($.artifact_path,U),I=j??D??E??N??$.id,W=$.quote?h0($.quote,U,_<3?220:140):null;return{citation:{id:r0("cite",`${$.id}\x00${I}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:I,source_ref:j,source_uri:D,artifact_uri:N,artifact_path:E,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:W?.text??null},redactions:W?.redactions??0}}async function CK(_,$){let U=(_.query??_.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:j,dbPath:D,limit:N,semantic:E,modelRef:I,dimensions:W,fake:J,env:L,batchSize:S,maxParallelCalls:X,legacyStorePath:z}=_,R=await y0({dbPath:D,config:j,legacyStorePath:z,query:U,limit:Math.max($,N??$),semantic:E,modelRef:I,dimensions:W,fake:J,env:L,batchSize:S,maxParallelCalls:X,contextChars:Math.min(_.contextChars??700,1200)}),P=new Map,O=0;R.citations.forEach((G,T)=>{let F=kK(T,G,_.safetyPolicy);O+=F.redactions,P.set(G.id,F.citation)});let Y=R.excerpts.slice(0,Math.max($*2,$)).map((G)=>{let T=R.results.find((x)=>x.id===G.result_id),F=G.citation_id?P.get(G.citation_id):null,g=h0(G.text,_.safetyPolicy,520);O+=g.redactions;let q=T?.title??F?.ref??G.kind;return{id:r0("ev",`${G.kind}\x00${G.result_id}\x00${G.citation_id??""}`,14),kind:G.kind,title:G6(q,100),text_preview:g.text,score:Number(G.score.toFixed(6)),citation_ids:F?[F.id]:[],provenance:{source:"search",record_ref:`${G.kind}:${G.result_id}`,created_at:R.created_at,updated_at:null,metadata_keys:[]}}}),Q=new Set(Y.flatMap((G)=>G.citation_ids));return{citations:Array.from(P.values()).filter((G)=>Q.has(G.id)),evidence:Y,duplicateCandidates:[],redactions:O,warnings:R.warnings,available:R.excerpts.length}}function bK(_,$,U){if($)return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${z}`;else{let{generateText:T}=await import("ai"),F=await WD(j,{config:$.config,env:$.env}),M=await T({model:F,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:n5(N,X)});Y=!0,P=I.provider,O=I.model,z=M.text;let q=V4({provider:P,model:O,usage:M.usage,providerMetadata:M.providerMetadata});R={input_tokens:q.input_tokens,output_tokens:q.output_tokens,cost_usd:q.cost_usd}}let B=d5(N,X),G={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:D,prompt:N,generated:Y,provider:P,model:O,answer:z,context:X,citations:X.citations,proposed_wiki_updates:B,write_policy:G,usage:R,warnings:Q}}import{createHash as KK}from"crypto";var MK=1200,gK=6,ZK=12000,HK=50,t5=800;function r0(_,$,U=16){return`${_}_${KK("sha256").update($).digest("hex").slice(0,U)}`}function YA(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function QA(_){return YA(_).toLowerCase()}function qK(_){return Array.from(new Set(QA(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function G6(_,$){let U=YA(_);if(U.length<=$)return U;let N="...";if($<=N.length)return U.slice(0,Math.max(0,$));return`${U.slice(0,$-N.length).trim()}${N}`}function o5(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function GA(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function RA(_){return Object.keys(_).filter(($)=>!GA($)).sort().slice(0,12)}function kK(_,$){for(let U of $){if(GA(U))continue;let N=_[U];if(typeof N==="string"&&N.trim())return N.trim()}return null}function JD(_,$){if(!_)return null;let U=d_(_,$).text;try{let N=new URL(U),D=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let j of D)N.searchParams.delete(j);for(let[j]of N.searchParams)if(GA(j))N.searchParams.delete(j);return N.toString()}catch{return U}}function a$(_,$,U){return JD(kK(_,$),U)}function xN(_){let $=[];for(let U of RA(_).slice(0,6)){let N=_[U];if(typeof N==="string"&&N.trim())$.push(`${U}=${G6(N,80)}`);else if(typeof N==="number"||typeof N==="boolean")$.push(`${U}=${String(N)}`);else if(N&&typeof N==="object")$.push(`${U}={...}`)}return $.join("; ")}function bK(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function p5(_){return bK(JSON.stringify(_))}function CK(_){if(!Number.isFinite(_??NaN))return MK;let $=Math.floor(_);if($<t5)throw Error(`--max-tokens must be at least ${t5} for the stable context-pack schema.`);return Math.min($,ZK)}function wK(_,$){let U=Number.isFinite(_??NaN)?_:$;if(!Number.isFinite(U??NaN))return gK;return Math.max(1,Math.min(Math.floor(U),HK))}function s5(_,$){if(!_)return{cutoff:null,warning:null};let U=_.trim(),N=/^(\d+)\s*([mhdw])$/i.exec(U);if(N){let j=Number(N[1]),I=N[2].toLowerCase(),E=I==="m"?60000:I==="h"?3600000:I==="d"?86400000:604800000;return{cutoff:new Date($.getTime()-j*E).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 h0(_,$,U){let N=d_(_,$);return{text:G6(N.text,U),redactions:N.findings.length}}function a5(_,$){if($.length===0)return 0.5;let U=QA(_),N=$.filter((D)=>U.includes(D)).length;return Number((N/$.length).toFixed(6))}function vK(_){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 fK(_,$,U){let N=JD($.source_ref,U),D=JD($.source_uri,U),j=JD($.artifact_uri,U),I=JD($.artifact_path,U),E=N??D??I??j??$.id,W=$.quote?h0($.quote,U,_<3?220:140):null;return{citation:{id:r0("cite",`${$.id}\x00${E}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:E,source_ref:N,source_uri:D,artifact_uri:j,artifact_path:I,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:W?.text??null},redactions:W?.redactions??0}}async function xK(_,$){let U=(_.query??_.topic??"").trim();if(!U)throw Error("Context pack query is required for search source.");let{config:N,dbPath:D,limit:j,semantic:I,modelRef:E,dimensions:W,fake:J,env:L,batchSize:S,maxParallelCalls:X,legacyStorePath:z}=_,Y=await y0({dbPath:D,config:N,legacyStorePath:z,query:U,limit:Math.max($,j??$),semantic:I,modelRef:E,dimensions:W,fake:J,env:L,batchSize:S,maxParallelCalls:X,contextChars:Math.min(_.contextChars??700,1200)}),P=new Map,O=0;Y.citations.forEach((G,T)=>{let F=fK(T,G,_.safetyPolicy);O+=F.redactions,P.set(G.id,F.citation)});let R=Y.excerpts.slice(0,Math.max($*2,$)).map((G)=>{let T=Y.results.find((x)=>x.id===G.result_id),F=G.citation_id?P.get(G.citation_id):null,M=h0(G.text,_.safetyPolicy,520);O+=M.redactions;let q=T?.title??F?.ref??G.kind;return{id:r0("ev",`${G.kind}\x00${G.result_id}\x00${G.citation_id??""}`,14),kind:G.kind,title:G6(q,100),text_preview:M.text,score:Number(G.score.toFixed(6)),citation_ids:F?[F.id]:[],provenance:{source:"search",record_ref:`${G.kind}:${G.result_id}`,created_at:Y.created_at,updated_at:null,metadata_keys:[]}}}),Q=new Set(R.flatMap((G)=>G.citation_ids));return{citations:Array.from(P.values()).filter((G)=>Q.has(G.id)),evidence:R,duplicateCandidates:[],redactions:O,warnings:Y.warnings,available:Y.excerpts.length}}function yK(_,$,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 wK(_,$,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 uK(_,$,U){if($.length===0)return[];let N=$.map(()=>"?").join(", ");return _.query(`SELECT id, run_id, level, event, metadata_json, created_at FROM run_events - WHERE run_id IN (${j}) + WHERE run_id IN (${N}) ORDER BY created_at DESC - LIMIT ?`).all(...$,U)}function vK(_,$){return`${_.type} ${_.metadata_json} ${$.map((j)=>`${j.event} ${j.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function fK(_,$,U){let j=a$($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=a$($,["artifact_uri"],U),N=a$($,["artifact_path","artifact_key"],U),E=j??D??N??`knowledge://project/runs/${_.id}`,I=_.prompt?h0(_.prompt,U,180).text:null;return{id:r0("cite",`run\x00${_.id}\x00${E}`,12),kind:D||N?"artifact":"run",ref:E,source_ref:j?.startsWith("open-files://")?j:null,source_uri:j&&!j.startsWith("open-files://")?j:null,artifact_uri:D,artifact_path:N,run_id:_.id,run_event_id:null,revision:a$($,["revision"],U),hash:a$($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:I}}function xK(_,$,U){let j=a$($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=a$($,["artifact_uri"],U),N=a$($,["artifact_path","artifact_key"],U),E=j??D??N??`knowledge://project/runs/${_.run_id}`,I=h0(_.event,U,160).text;return{id:r0("cite",`event\x00${_.id}\x00${E}`,12),kind:D||N?"artifact":"run_event",ref:E,source_ref:j?.startsWith("open-files://")?j:null,source_uri:j&&!j.startsWith("open-files://")?j:null,artifact_uri:D,artifact_path:N,run_id:_.run_id,run_event_id:_.id,revision:a$($,["revision"],U),hash:a$($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:I}}function s5(_){let $=new Map;for(let U of _){let j=RA(`${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:r0("dup",U,12),reason:"normalized_text_match",evidence_ids:j,confidence:j.length>2?"high":"medium"}))}async function yK(_,$,U){let j=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),N=KK(D),E=e5(_.since,U),I=E.warning?[E.warning]:[];c(_.dbPath);let W=v(_.dbPath);try{let J=bK(W,E.cutoff,Math.max($*8,40)),L=wK(W,J.map((Y)=>Y.id),Math.max($*12,80)),S=new Map;for(let Y of L)S.set(Y.run_id,[...S.get(Y.run_id)??[],Y]);let z=(j==="loops"?J.filter((Y)=>vK(Y,S.get(Y.id)??[])):J).map((Y)=>{let Q=t5(Y.metadata_json),B=`${Y.type} ${Y.status} ${Y.prompt??""} ${fj(Q)} ${(S.get(Y.id)??[]).map((G)=>`${G.event} ${G.metadata_json}`).join(" ")}`;return{row:Y,metadata:Q,score:p5(B,N),text:B}}).filter((Y)=>N.length===0||Y.score>0).sort((Y,Q)=>Q.score-Y.score||Q.row.updated_at.localeCompare(Y.row.updated_at)||Y.row.id.localeCompare(Q.row.id)),R=[],P=[],O=0;for(let Y of z.slice(0,Math.max($*2,$))){let Q=fK(Y.row,Y.metadata,_.safetyPolicy);R.push(Q);let B=fj(Y.metadata),G=[Y.row.prompt,B].filter(Boolean).join(" | ")||`${Y.row.type} ${Y.row.status}`,T=h0(G,_.safetyPolicy,420);O+=T.redactions,P.push({id:`run:${Y.row.id}`,kind:Y.row.type,title:G6(`${Y.row.type}: ${Y.row.status}`,100),text_preview:T.text,score:Y.score,citation_ids:[Q.id],provenance:{source:j,record_ref:`knowledge://project/runs/${Y.row.id}`,created_at:Y.row.created_at,updated_at:Y.row.updated_at,metadata_keys:XA(Y.metadata)}});let F=(S.get(Y.row.id)??[]).map((g)=>{let q=t5(g.metadata_json),x=`${g.event} ${fj(q)} ${g.metadata_json}`;return{event:g,metadata:q,score:p5(x,N),text:x}}).filter((g)=>N.length===0||g.score>0).sort((g,q)=>q.score-g.score||q.event.created_at.localeCompare(g.event.created_at)||g.event.id.localeCompare(q.event.id)).slice(0,2);for(let g of F){let q=xK(g.event,g.metadata,_.safetyPolicy);R.push(q);let x=h0(`${g.event}: ${fj(g.metadata)}`,_.safetyPolicy,320);O+=x.redactions,P.push({id:`event:${g.event.id}`,kind:`run_event:${g.event.level}`,title:G6(g.event.event,100),text_preview:x.text,score:g.score,citation_ids:[q.id],provenance:{source:j,record_ref:`knowledge://project/runs/${g.event.run_id}`,created_at:g.event.created_at,updated_at:null,metadata_keys:XA(g.metadata)}})}}return{citations:R,evidence:P,duplicateCandidates:_.dedupe?s5(P):[],redactions:O,warnings:I,available:z.length}}finally{W.close()}}function uK(_){let $=_.purpose==="proposal"?`Proposal context: ${G6(_.query||"loop evidence",80)}`:`Knowledge context: ${G6(_.query,80)}`,U=_.evidence.slice(0,8).map((N)=>N.id),j=_.duplicates.slice(0,5).map((N)=>N.id),D=_.evidence.slice(0,5).map((N)=>`${N.id}: ${N.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 _9(_){let $=new Set(_.evidence.flatMap((U)=>U.citation_ids));_.citations=_.citations.filter((U)=>$.has(U.id))}function a5(_){_.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 hK(_){let $=_.budgets.max_tokens,U=new Set(_.warnings);while(o5(_)>$){let j=_.evidence.map((N,E)=>({entry:N,index:E})).filter(({entry:N})=>N.text_preview.length>180).sort((N,E)=>E.entry.text_preview.length-N.entry.text_preview.length)[0];if(j){j.entry.text_preview=G6(j.entry.text_preview,180),U.add("text_preview_truncated_for_token_budget");continue}let D=_.citations.filter((N)=>(N.quote_preview?.length??0)>120).sort((N,E)=>(E.quote_preview?.length??0)-(N.quote_preview?.length??0))[0];if(D?.quote_preview){D.quote_preview=G6(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((N)=>({...N,evidence_ids:N.evidence_ids.filter((E)=>_.evidence.some((I)=>I.id===E))})).filter((N)=>N.evidence_ids.length>1),a5(_),U.add("evidence_truncated_for_token_budget"),_9(_);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,a5(_),_.budgets.estimated_tokens=o5(_),_.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 $9(_){let $=_.now??new Date,U=_.source??"search",j=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=ZK(_.maxTokens),N=HK(_.maxItems,_.limit),E=YA(_.query??_.topic??"");if(j==="proposal"&&U!=="search"&&!E)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")c(_.dbPath);let I=e5(_.since,$).cutoff??_.since??"",W=U==="search"?await CK(_,N):await yK(_,N,$),J=W.evidence.sort((R,P)=>P.score-R.score||R.id.localeCompare(P.id)).slice(0,N),L=W.citations.filter((R,P,O)=>O.findIndex((Y)=>Y.id===R.id)===P).sort((R,P)=>R.id.localeCompare(P.id)),S=_.dedupe?s5(J):W.duplicateCandidates.filter((R)=>R.evidence_ids.every((P)=>J.some((O)=>O.id===P))),X=uK({source:U,purpose:j,query:E,evidence:J,duplicates:S}),z={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:j,query:E,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:r0("ctx",[U,j,E,I,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,N,J.map((R)=>R.id).join(","),L.map((R)=>R.id).join(",")].join("\x00"),20),budgets:{max_tokens:D,estimated_tokens:0,max_items:N,items_included:J.length,items_available:W.available,items_truncated:Math.max(0,W.available-J.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:W.redactions,reminders:qK(U)},citations:L,evidence:J,duplicate_candidates:S,outline:X,warnings:W.warnings,message:`${J.length} bounded evidence item(s), estimated under ${D} token(s)`};return _9(z),hK(z)}import{randomUUID as KY}from"crypto";import{createHash as rK,randomUUID as cK}from"crypto";import{existsSync as mK,readFileSync as nK}from"fs";import{hostname as I9}from"os";import{fileURLToPath as A9}from"url";import{extname as dK,relative as W9,resolve as U9,sep as lK}from"path";var uj=["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"],r6=2,c6=1,zD={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"]},XD=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function e$(_=new Date){return _.toISOString()}function KA(_){return`${_}_${Date.now().toString(36)}_${cK().slice(0,8)}`}function J9(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??I9()}function m0(_){if(Array.isArray(_))return`[${_.map(m0).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((U)=>`${JSON.stringify(U)}:${m0($[U])}`).join(",")}}`}return JSON.stringify(_)}function SD(_){return`sha256:${rK("sha256").update(_).digest("hex")}`}function xj(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function rj(_,$){try{return JSON.parse(_)}catch{return $}}function z$(_){return`"${_.replace(/"/g,'""')}"`}function iK(_){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 L9(_,$){return $.filter((U)=>B$(_,U))}function B$(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(U)}function tK(_,$){let U=_.query(`PRAGMA table_info(${z$($)})`).all();return new Set(U.map((j)=>j.name))}function oK(_,$,U){let j=tK(_,$);return U.filter((D)=>j.has(D))}function S9(_){if(!_||_.length===0)return[...uj];let $=new Set(uj),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 K4(_,$){return zD[_].map((j)=>`${j}=${JSON.stringify($[j]??null)}`).join("&")}var pK=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function PD(_,$=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)=>PD(j,$+1));let U={};for(let[j,D]of Object.entries(_)){if(pK.has(j.toLowerCase()))continue;U[j]=PD(D,$+1)}return U}function LD(_){if(!_)return null;return PD(_)}function gA(_){return SD(m0(_))}function aK(_,$){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 F4(_,$=new Map){return gA(aK(_,$))}function P9(_,$){if(!B$(_,$))return[];return _.query(`SELECT * FROM ${z$($)} ORDER BY rowid ASC`).all()}function hj(_,$,U=new Map){return gA($.map((j)=>({key:K4(_,j),hash:F4(j,U)})).sort((j,D)=>j.key.localeCompare(D.key)))}function OD(_,$,U){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,U)??null}function eK(_){if(!B$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function cj(_,$){let U=$.now??e$(),D=OD(_,$.table,$.machineId)?.created_at??U;_.query(` + LIMIT ?`).all(...$,U)}function hK(_,$){return`${_.type} ${_.metadata_json} ${$.map((N)=>`${N.event} ${N.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function rK(_,$,U){let N=a$($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=a$($,["artifact_uri"],U),j=a$($,["artifact_path","artifact_key"],U),I=N??D??j??`knowledge://project/runs/${_.id}`,E=_.prompt?h0(_.prompt,U,180).text:null;return{id:r0("cite",`run\x00${_.id}\x00${I}`,12),kind:D||j?"artifact":"run",ref:I,source_ref:N?.startsWith("open-files://")?N:null,source_uri:N&&!N.startsWith("open-files://")?N:null,artifact_uri:D,artifact_path:j,run_id:_.id,run_event_id:null,revision:a$($,["revision"],U),hash:a$($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:E}}function cK(_,$,U){let N=a$($,["source_ref","source_uri","evidence_uri","receipt_uri"],U),D=a$($,["artifact_uri"],U),j=a$($,["artifact_path","artifact_key"],U),I=N??D??j??`knowledge://project/runs/${_.run_id}`,E=h0(_.event,U,160).text;return{id:r0("cite",`event\x00${_.id}\x00${I}`,12),kind:D||j?"artifact":"run_event",ref:I,source_ref:N?.startsWith("open-files://")?N:null,source_uri:N&&!N.startsWith("open-files://")?N:null,artifact_uri:D,artifact_path:j,run_id:_.run_id,run_event_id:_.id,revision:a$($,["revision"],U),hash:a$($,["hash","content_hash"],U),chunk_id:null,offsets:{start:null,end:null},quote_preview:E}}function _9(_){let $=new Map;for(let U of _){let N=QA(`${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(!N)continue;$.set(N,[...$.get(N)??[],U.id])}return Array.from($.entries()).filter(([,U])=>U.length>1).map(([U,N])=>({id:r0("dup",U,12),reason:"normalized_text_match",evidence_ids:N,confidence:N.length>2?"high":"medium"}))}async function mK(_,$,U){let N=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),j=qK(D),I=s5(_.since,U),E=I.warning?[I.warning]:[];c(_.dbPath);let W=v(_.dbPath);try{let J=yK(W,I.cutoff,Math.max($*8,40)),L=uK(W,J.map((R)=>R.id),Math.max($*12,80)),S=new Map;for(let R of L)S.set(R.run_id,[...S.get(R.run_id)??[],R]);let z=(N==="loops"?J.filter((R)=>hK(R,S.get(R.id)??[])):J).map((R)=>{let Q=o5(R.metadata_json),B=`${R.type} ${R.status} ${R.prompt??""} ${xN(Q)} ${(S.get(R.id)??[]).map((G)=>`${G.event} ${G.metadata_json}`).join(" ")}`;return{row:R,metadata:Q,score:a5(B,j),text:B}}).filter((R)=>j.length===0||R.score>0).sort((R,Q)=>Q.score-R.score||Q.row.updated_at.localeCompare(R.row.updated_at)||R.row.id.localeCompare(Q.row.id)),Y=[],P=[],O=0;for(let R of z.slice(0,Math.max($*2,$))){let Q=rK(R.row,R.metadata,_.safetyPolicy);Y.push(Q);let B=xN(R.metadata),G=[R.row.prompt,B].filter(Boolean).join(" | ")||`${R.row.type} ${R.row.status}`,T=h0(G,_.safetyPolicy,420);O+=T.redactions,P.push({id:`run:${R.row.id}`,kind:R.row.type,title:G6(`${R.row.type}: ${R.row.status}`,100),text_preview:T.text,score:R.score,citation_ids:[Q.id],provenance:{source:N,record_ref:`knowledge://project/runs/${R.row.id}`,created_at:R.row.created_at,updated_at:R.row.updated_at,metadata_keys:RA(R.metadata)}});let F=(S.get(R.row.id)??[]).map((M)=>{let q=o5(M.metadata_json),x=`${M.event} ${xN(q)} ${M.metadata_json}`;return{event:M,metadata:q,score:a5(x,j),text:x}}).filter((M)=>j.length===0||M.score>0).sort((M,q)=>q.score-M.score||q.event.created_at.localeCompare(M.event.created_at)||M.event.id.localeCompare(q.event.id)).slice(0,2);for(let M of F){let q=cK(M.event,M.metadata,_.safetyPolicy);Y.push(q);let x=h0(`${M.event}: ${xN(M.metadata)}`,_.safetyPolicy,320);O+=x.redactions,P.push({id:`event:${M.event.id}`,kind:`run_event:${M.event.level}`,title:G6(M.event.event,100),text_preview:x.text,score:M.score,citation_ids:[q.id],provenance:{source:N,record_ref:`knowledge://project/runs/${M.event.run_id}`,created_at:M.event.created_at,updated_at:null,metadata_keys:RA(M.metadata)}})}}return{citations:Y,evidence:P,duplicateCandidates:_.dedupe?_9(P):[],redactions:O,warnings:E,available:z.length}}finally{W.close()}}function nK(_){let $=_.purpose==="proposal"?`Proposal context: ${G6(_.query||"loop evidence",80)}`:`Knowledge context: ${G6(_.query,80)}`,U=_.evidence.slice(0,8).map((j)=>j.id),N=_.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:N,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 $9(_){let $=new Set(_.evidence.flatMap((U)=>U.citation_ids));_.citations=_.citations.filter((U)=>$.has(U.id))}function e5(_){_.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 dK(_){let $=_.budgets.max_tokens,U=new Set(_.warnings);while(p5(_)>$){let N=_.evidence.map((j,I)=>({entry:j,index:I})).filter(({entry:j})=>j.text_preview.length>180).sort((j,I)=>I.entry.text_preview.length-j.entry.text_preview.length)[0];if(N){N.entry.text_preview=G6(N.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,I)=>(I.quote_preview?.length??0)-(j.quote_preview?.length??0))[0];if(D?.quote_preview){D.quote_preview=G6(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((I)=>_.evidence.some((E)=>E.id===I))})).filter((j)=>j.evidence_ids.length>1),e5(_),U.add("evidence_truncated_for_token_budget"),$9(_);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,e5(_),_.budgets.estimated_tokens=p5(_),_.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 U9(_){let $=_.now??new Date,U=_.source??"search",N=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=CK(_.maxTokens),j=wK(_.maxItems,_.limit),I=YA(_.query??_.topic??"");if(N==="proposal"&&U!=="search"&&!I)throw Error("Proposal context requires --topic <text> or a positional topic.");if(U!=="search")c(_.dbPath);let E=s5(_.since,$).cutoff??_.since??"",W=U==="search"?await xK(_,j):await mK(_,j,$),J=W.evidence.sort((Y,P)=>P.score-Y.score||Y.id.localeCompare(P.id)).slice(0,j),L=W.citations.filter((Y,P,O)=>O.findIndex((R)=>R.id===Y.id)===P).sort((Y,P)=>Y.id.localeCompare(P.id)),S=_.dedupe?_9(J):W.duplicateCandidates.filter((Y)=>Y.evidence_ids.every((P)=>J.some((O)=>O.id===P))),X=nK({source:U,purpose:N,query:I,evidence:J,duplicates:S}),z={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:N,query:I,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:r0("ctx",[U,N,I,E,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,j,J.map((Y)=>Y.id).join(","),L.map((Y)=>Y.id).join(",")].join("\x00"),20),budgets:{max_tokens:D,estimated_tokens:0,max_items:j,items_included:J.length,items_available:W.available,items_truncated:Math.max(0,W.available-J.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:W.redactions,reminders:vK(U)},citations:L,evidence:J,duplicate_candidates:S,outline:X,warnings:W.warnings,message:`${J.length} bounded evidence item(s), estimated under ${D} token(s)`};return $9(z),dK(z)}import{randomUUID as MR}from"crypto";import{createHash as lK,randomUUID as iK}from"crypto";import{existsSync as tK,readFileSync as oK}from"fs";import{hostname as A9}from"os";import{fileURLToPath as W9}from"url";import{extname as pK,relative as J9,resolve as D9,sep as aK}from"path";var hN=["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"],r6=2,c6=1,zD={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"]},XD=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function e$(_=new Date){return _.toISOString()}function MA(_){return`${_}_${Date.now().toString(36)}_${iK().slice(0,8)}`}function L9(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??A9()}function m0(_){if(Array.isArray(_))return`[${_.map(m0).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((U)=>`${JSON.stringify(U)}:${m0($[U])}`).join(",")}}`}return JSON.stringify(_)}function SD(_){return`sha256:${lK("sha256").update(_).digest("hex")}`}function yN(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function cN(_,$){try{return JSON.parse(_)}catch{return $}}function z$(_){return`"${_.replace(/"/g,'""')}"`}function eK(_){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 S9(_,$){return $.filter((U)=>B$(_,U))}function B$(_,$){let U=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(U)}function sK(_,$){let U=_.query(`PRAGMA table_info(${z$($)})`).all();return new Set(U.map((N)=>N.name))}function _M(_,$,U){let N=sK(_,$);return U.filter((D)=>N.has(D))}function P9(_){if(!_||_.length===0)return[...hN];let $=new Set(hN),U=_.map((D)=>D.trim()).filter(Boolean),N=U.filter((D)=>!$.has(D));if(N.length>0)throw Error(`Unknown knowledge sync table(s): ${N.join(", ")}`);return U}function K4(_,$){return zD[_].map((N)=>`${N}=${JSON.stringify($[N]??null)}`).join("&")}var $M=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function PD(_,$=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((N)=>PD(N,$+1));let U={};for(let[N,D]of Object.entries(_)){if($M.has(N.toLowerCase()))continue;U[N]=PD(D,$+1)}return U}function LD(_){if(!_)return null;return PD(_)}function gA(_){return SD(m0(_))}function UM(_,$){let U={};for(let[N,D]of Object.entries(_))if(N==="artifact_uri"&&typeof D==="string"&&$.has(D))U[N]=`artifact:${$.get(D)}`;else U[N]=D;return U}function F4(_,$=new Map){return gA(UM(_,$))}function O9(_,$){if(!B$(_,$))return[];return _.query(`SELECT * FROM ${z$($)} ORDER BY rowid ASC`).all()}function rN(_,$,U=new Map){return gA($.map((N)=>({key:K4(_,N),hash:F4(N,U)})).sort((N,D)=>N.key.localeCompare(D.key)))}function OD(_,$,U){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,U)??null}function DM(_){if(!B$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function mN(_,$){let U=$.now??e$(),D=OD(_,$.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, @@ -843,17 +843,17 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{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 N=OD(_,$.table,$.machineId);if(!N)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return N}function sK(_,$){let U=OD(_,$.table,$.machineId),j=U?.high_water_hash===$.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,D=$.record?cj(_,{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 _g(_,$,U,j,D){if($.high_water_bundle_id=U,!j)return;cj(_,{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 O9(_,$){return _.table_clocks?.find((U)=>U.table===$)??null}function $g(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function Ug(_,$,U){if(U.length===0)return 0;let j=oK(_,$,Object.keys(U[0]));if(j.length===0)return 0;let D=zD[$],N=j.map(z$).join(", "),E=j.map(()=>"?").join(", "),I=D.map(z$).join(", "),W=j.filter((z)=>!D.includes(z)),J=D[0],L=W.length>0?W.map((z)=>`${z$(z)} = excluded.${z$(z)}`).join(", "):`${z$(J)} = excluded.${z$(J)}`,S=_.query(`INSERT INTO ${z$($)} (${N}) VALUES (${E}) - ON CONFLICT (${I}) DO UPDATE SET ${L}`);return _.transaction((z)=>{for(let R of z)S.run(...j.map((P)=>iK(R[P])))})(U),U.length}function z9(_,$){let U=zD[_],j=[],D=$;for(let N=0;N<U.length;N+=1){let I=`${U[N]}=`;if(!D.startsWith(I))return null;let W=D.slice(I.length),J=U[N+1],L=J?`&${J}=`:null,S=L?W.indexOf(L):-1,X=S>=0?W.slice(0,S):W;try{j.push(JSON.parse(X))}catch{return null}D=S>=0&&L?W.slice(S+1):""}return D.length===0?j:null}function X9(_){return zD[_].map(($)=>`${z$($)} = ?`).join(" AND ")}function Dg(_,$,U){if(!B$(_,"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=OD(_,$.table,$.machineId);if(!j)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return j}function NM(_,$){let U=OD(_,$.table,$.machineId),N=U?.high_water_hash===$.highWaterHash?U.logical_clock:(U?.logical_clock??0)+1,D=$.record?mN(_,{table:$.table,machineId:$.machineId,logicalClock:N,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:N,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 jM(_,$,U,N,D){if($.high_water_bundle_id=U,!N)return;mN(_,{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 z9(_,$){return _.table_clocks?.find((U)=>U.table===$)??null}function IM(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function EM(_,$,U){if(U.length===0)return 0;let N=_M(_,$,Object.keys(U[0]));if(N.length===0)return 0;let D=zD[$],j=N.map(z$).join(", "),I=N.map(()=>"?").join(", "),E=D.map(z$).join(", "),W=N.filter((z)=>!D.includes(z)),J=D[0],L=W.length>0?W.map((z)=>`${z$(z)} = excluded.${z$(z)}`).join(", "):`${z$(J)} = excluded.${z$(J)}`,S=_.query(`INSERT INTO ${z$($)} (${j}) VALUES (${I}) + ON CONFLICT (${E}) DO UPDATE SET ${L}`);return _.transaction((z)=>{for(let Y of z)S.run(...N.map((P)=>eK(Y[P])))})(U),U.length}function X9(_,$){let U=zD[_],N=[],D=$;for(let j=0;j<U.length;j+=1){let E=`${U[j]}=`;if(!D.startsWith(E))return null;let W=D.slice(E.length),J=U[j+1],L=J?`&${J}=`:null,S=L?W.indexOf(L):-1,X=S>=0?W.slice(0,S):W;try{N.push(JSON.parse(X))}catch{return null}D=S>=0&&L?W.slice(S+1):""}return D.length===0?N:null}function R9(_){return zD[_].map(($)=>`${z$($)} = ?`).join(" AND ")}function AM(_,$,U){if(!B$(_,"knowledge_sync_changes"))return new Map;let N=_.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 N of j)D.set(N.entity_id,N.next_hash);return D}function jg(_,$){if(B$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(B$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(B$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(B$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function Ng(_,$,U){let j=z9($,U);if(!j)return!1;let D=X9($),N=_.query(`SELECT * FROM ${z$($)} WHERE ${D} LIMIT 1`).get(...j);if(!N)return!1;if($==="chunks"&&typeof N.id==="string")jg(_,N.id);return _.query(`DELETE FROM ${z$($)} WHERE ${D}`).run(...j),!0}function Eg(_,$){if(!B$(_,"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 N="",E="",I=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(I){let W=_.query(`SELECT s.title, s.uri + ORDER BY created_at ASC, id ASC`).all(U,$),D=new Map;for(let j of N)D.set(j.entity_id,j.next_hash);return D}function WM(_,$){if(B$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(B$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(B$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(B$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function JM(_,$,U){let N=X9($,U);if(!N)return!1;let D=R9($),j=_.query(`SELECT * FROM ${z$($)} WHERE ${D} LIMIT 1`).get(...N);if(!j)return!1;if($==="chunks"&&typeof j.id==="string")WM(_,j.id);return _.query(`DELETE FROM ${z$($)} WHERE ${D}`).run(...N),!0}function LM(_,$){if(!B$(_,"chunks_fts"))return;for(let U of $){let N=typeof U.id==="string"?U.id:null,D=typeof U.text==="string"?U.text:null;if(!N||D===null)continue;let j="",I="",E=typeof U.source_revision_id==="string"?U.source_revision_id:null;if(E){let W=_.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(I);N=W?.title??"",E=W?.uri??""}if(!E&&typeof U.metadata_json==="string"){let W=rj(U.metadata_json,{});E=typeof W.source_uri==="string"?W.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,N,E)}}function Ig(_,$,U){if($==="chunks")Eg(_,U)}function Ag(_,$){let U=W9(_,$);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${lK}`)}function Wg(_,$){let U=rj(_.metadata_json,{});if(typeof U.key==="string")return U.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let j=A9(_.artifact_uri),D=U9($),N=U9(j);if(!Ag(D,N))return null;let E=W9(D,N).replace(/\\/g,"/");return E?p$(E):null}catch{return null}}var Jg=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function Lg(_,$){let U=_?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return $?Jg.has(dK($).toLowerCase()):!1}function g4(_){let $=new Map;for(let U of _)if(U.key)$.set(U.artifact_uri,U.key);return $}function u6(_){return gA({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function mj(_){return _.key??_.artifact_uri}function Sg(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function Y9(_){return Object.fromEntries(uj.map(($)=>[$,B$(_,$)?xj(_,$):0]))}function Pg(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(E);j=W?.title??"",I=W?.uri??""}if(!I&&typeof U.metadata_json==="string"){let W=cN(U.metadata_json,{});I=typeof W.source_uri==="string"?W.source_uri:""}_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(N),_.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(N,D,j,I)}}function SM(_,$,U){if($==="chunks")LM(_,U)}function PM(_,$){let U=J9(_,$);return U!==".."&&!U.startsWith("..")&&!U.startsWith(`..${aK}`)}function OM(_,$){let U=cN(_.metadata_json,{});if(typeof U.key==="string")return U.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let N=W9(_.artifact_uri),D=D9($),j=D9(N);if(!PM(D,j))return null;let I=J9(D,j).replace(/\\/g,"/");return I?p$(I):null}catch{return null}}var zM=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function XM(_,$){let U=_?.toLowerCase()??"";if(U.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(U))return!0;return $?zM.has(pK($).toLowerCase()):!1}function M4(_){let $=new Map;for(let U of _)if(U.key)$.set(U.artifact_uri,U.key);return $}function u6(_){return gA({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function nN(_){return _.key??_.artifact_uri}function RM(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function Y9(_){return Object.fromEntries(hN.map(($)=>[$,B$(_,$)?yN(_,$):0]))}function YM(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function Og(_,$){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 GA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function zg(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function h6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function yj(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function c0(_){if(Array.isArray(_))return`[${_.map(c0).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${c0(U)}`).join(",")}}`;return JSON.stringify(_)}function D9(_){let{recorded_at:$,...U}=_;return U}function k_(_){return typeof _==="string"&&_.length>0?_:null}function Xg(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function j9(_){return typeof _==="boolean"?_:null}function Yg(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function R9(_){let $=h6(_),U=k_($.observed_at),j=k_($.source_authority);if(!U||!j)return null;return{observed_at:U,verified_at:k_($.verified_at),expires_at:k_($.expires_at),ttl_ms:Xg($.ttl_ms),source_authority:j,confidence:k_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:Yg($.reasons)}}function Q9(_,$){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 Rg(_,$){return k_($.source)===_.source&&k_($.target)===_.target&&k_($.route)===_.route&&k_($.target_kind)===_.targetKind&&k_($.confidence)===_.confidence}function Qg(_,$){return k_($.source)===_.source&&k_($.requested_machine_id)===_.requested_machine_id&&k_($.machine_id)===_.machine_id&&k_($.project_id)===_.project_id&&k_($.repo_name)===_.repo_name&&k_($.project_root)===_.project_root&&k_($.project_root_source)===_.project_root_source&&k_($.workspace_root)===_.workspace_root&&k_($.workspace_root_source)===_.workspace_root_source&&k_($.open_files_root)===_.open_files_root&&k_($.open_files_root_source)===_.open_files_root_source&&k_($.trust_status)===_.trust_status&&k_($.auth_status)===_.auth_status&&j9($.current)===_.current&&j9($.primary)===_.primary}function Gg(_,$,U){if(!_)return null;let j=R9($.cacheability);if(j&&Q9(j,U)&&Rg(_,$))return{..._,cacheability:j};return _}function Tg(_,$,U){if(!_)return null;let j=R9($.cacheability);if(j&&Q9(j,U)&&Qg(_,$))return{..._,cacheability:j};return _}function Vg(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??I9()}function Bg(_,$){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 N9(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function Fg(_,$,U){let j=h6($.resolver_evidence),D=_.route?yj({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}):h6(j.route),N=_.workspace?yj({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}):h6(j.workspace);return yj({...j,recorded_at:U,route:D,workspace:N})}function G9(_,$){c(_);let U=v(_);try{let j=Vg($),D=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(j)??null,N=e$($.now),E=GA(D?.capabilities_json),I=GA(D?.metadata_json),W=h6(E.resolver),J=h6(I.resolver_evidence),L=h6(J.route),S=h6(J.workspace),X=Gg($.route?.source==="registry"?null:$.route??null,L,N),z=Tg($.workspace?.source==="registry"?null:$.workspace??null,S,N),R={...$,route:X,workspace:z},P={...E,resolver:yj({...W,route_source:X?.source??W.route_source,route_kind:X?.route??W.route_kind,route_target_kind:X?.targetKind??W.route_target_kind,route_confidence:X?.confidence??W.route_confidence,route_cacheable:X?.cacheability?.cacheable??W.route_cacheable,route_stale:X?.cacheability?.stale??W.route_stale,route_expires_at:X?.cacheability?.expires_at??W.route_expires_at,route_observed_at:X?.cacheability?.observed_at??W.route_observed_at,route_source_authority:X?.cacheability?.source_authority??W.route_source_authority,workspace_source:z?.source??W.workspace_source,project_root_source:z?.project_root_source??W.project_root_source,workspace_root_source:z?.workspace_root_source??W.workspace_root_source,open_files_root_source:z?.open_files_root_source??W.open_files_root_source,trust_status:z?.trust_status??W.trust_status,auth_status:z?.auth_status??W.auth_status,workspace_cacheable:z?.cacheability?.cacheable??W.workspace_cacheable,workspace_stale:z?.cacheability?.stale??W.workspace_stale,workspace_expires_at:z?.cacheability?.expires_at??W.workspace_expires_at,workspace_observed_at:z?.cacheability?.observed_at??W.workspace_observed_at,workspace_source_authority:z?.cacheability?.source_authority??W.workspace_source_authority}),route_fallback:Boolean(X?.target??D?.ssh_target),workspace_fallback:Boolean(z?.project_root??D?.workspace_home)},O=Fg(R,I,N);if(D){let Q=J;if(D.workspace_home===(z?.project_root??D.workspace_home??null)&&D.tailscale_dns===N9(D,X)&&D.ssh_target===(X?.target??D.ssh_target??null)&&c0(GA(D.capabilities_json))===c0(P)&&c0(D9(Q))===c0(D9(O)))return D}let Y={machine_id:j,hostname:D?.hostname??null,platform:D?.platform??null,user_label:D?.user_label??null,workspace_home:z?.project_root??D?.workspace_home??null,tailscale_dns:N9(D,X),tailscale_ips_json:JSON.stringify(zg(D?.tailscale_ips_json)),ssh_target:X?.target??D?.ssh_target??null,last_seen_at:N,capabilities_json:JSON.stringify(P),metadata_json:JSON.stringify({...I,source:"knowledge",sources:Bg(R,I),resolver_evidence:O}),created_at:D?.created_at??N,updated_at:N};return T9(U,Y),Y}finally{U.close()}}function T9(_,$){_.query(` + ORDER BY artifact_uri ASC`).all()}function QM(_,$){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 TA(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function GM(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function h6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function uN(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function c0(_){if(Array.isArray(_))return`[${_.map(c0).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${c0(U)}`).join(",")}}`;return JSON.stringify(_)}function N9(_){let{recorded_at:$,...U}=_;return U}function b_(_){return typeof _==="string"&&_.length>0?_:null}function TM(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function j9(_){return typeof _==="boolean"?_:null}function VM(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function Q9(_){let $=h6(_),U=b_($.observed_at),N=b_($.source_authority);if(!U||!N)return null;return{observed_at:U,verified_at:b_($.verified_at),expires_at:b_($.expires_at),ttl_ms:TM($.ttl_ms),source_authority:N,confidence:b_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:VM($.reasons)}}function G9(_,$){if(!_||_.stale)return!1;if(!_.expires_at)return!0;let U=Date.parse(_.expires_at),N=Date.parse($);return Number.isNaN(U)||Number.isNaN(N)||U>N}function BM(_,$){return b_($.source)===_.source&&b_($.target)===_.target&&b_($.route)===_.route&&b_($.target_kind)===_.targetKind&&b_($.confidence)===_.confidence}function FM(_,$){return b_($.source)===_.source&&b_($.requested_machine_id)===_.requested_machine_id&&b_($.machine_id)===_.machine_id&&b_($.project_id)===_.project_id&&b_($.repo_name)===_.repo_name&&b_($.project_root)===_.project_root&&b_($.project_root_source)===_.project_root_source&&b_($.workspace_root)===_.workspace_root&&b_($.workspace_root_source)===_.workspace_root_source&&b_($.open_files_root)===_.open_files_root&&b_($.open_files_root_source)===_.open_files_root_source&&b_($.trust_status)===_.trust_status&&b_($.auth_status)===_.auth_status&&j9($.current)===_.current&&j9($.primary)===_.primary}function KM(_,$,U){if(!_)return null;let N=Q9($.cacheability);if(N&&G9(N,U)&&BM(_,$))return{..._,cacheability:N};return _}function MM(_,$,U){if(!_)return null;let N=Q9($.cacheability);if(N&&G9(N,U)&&FM(_,$))return{..._,cacheability:N};return _}function gM(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??A9()}function ZM(_,$){let U=new Set,N=Array.isArray($.sources)?$.sources:[];for(let D of N)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 I9(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function HM(_,$,U){let N=h6($.resolver_evidence),D=_.route?uN({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}):h6(N.route),j=_.workspace?uN({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}):h6(N.workspace);return uN({...N,recorded_at:U,route:D,workspace:j})}function T9(_,$){c(_);let U=v(_);try{let N=gM($),D=U.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(N)??null,j=e$($.now),I=TA(D?.capabilities_json),E=TA(D?.metadata_json),W=h6(I.resolver),J=h6(E.resolver_evidence),L=h6(J.route),S=h6(J.workspace),X=KM($.route?.source==="registry"?null:$.route??null,L,j),z=MM($.workspace?.source==="registry"?null:$.workspace??null,S,j),Y={...$,route:X,workspace:z},P={...I,resolver:uN({...W,route_source:X?.source??W.route_source,route_kind:X?.route??W.route_kind,route_target_kind:X?.targetKind??W.route_target_kind,route_confidence:X?.confidence??W.route_confidence,route_cacheable:X?.cacheability?.cacheable??W.route_cacheable,route_stale:X?.cacheability?.stale??W.route_stale,route_expires_at:X?.cacheability?.expires_at??W.route_expires_at,route_observed_at:X?.cacheability?.observed_at??W.route_observed_at,route_source_authority:X?.cacheability?.source_authority??W.route_source_authority,workspace_source:z?.source??W.workspace_source,project_root_source:z?.project_root_source??W.project_root_source,workspace_root_source:z?.workspace_root_source??W.workspace_root_source,open_files_root_source:z?.open_files_root_source??W.open_files_root_source,trust_status:z?.trust_status??W.trust_status,auth_status:z?.auth_status??W.auth_status,workspace_cacheable:z?.cacheability?.cacheable??W.workspace_cacheable,workspace_stale:z?.cacheability?.stale??W.workspace_stale,workspace_expires_at:z?.cacheability?.expires_at??W.workspace_expires_at,workspace_observed_at:z?.cacheability?.observed_at??W.workspace_observed_at,workspace_source_authority:z?.cacheability?.source_authority??W.workspace_source_authority}),route_fallback:Boolean(X?.target??D?.ssh_target),workspace_fallback:Boolean(z?.project_root??D?.workspace_home)},O=HM(Y,E,j);if(D){let Q=J;if(D.workspace_home===(z?.project_root??D.workspace_home??null)&&D.tailscale_dns===I9(D,X)&&D.ssh_target===(X?.target??D.ssh_target??null)&&c0(TA(D.capabilities_json))===c0(P)&&c0(N9(Q))===c0(N9(O)))return D}let R={machine_id:N,hostname:D?.hostname??null,platform:D?.platform??null,user_label:D?.user_label??null,workspace_home:z?.project_root??D?.workspace_home??null,tailscale_dns:I9(D,X),tailscale_ips_json:JSON.stringify(GM(D?.tailscale_ips_json)),ssh_target:X?.target??D?.ssh_target??null,last_seen_at:j,capabilities_json:JSON.stringify(P),metadata_json:JSON.stringify({...E,source:"knowledge",sources:ZM(Y,E),resolver_evidence:O}),created_at:D?.created_at??j,updated_at:j};return V9(U,R),R}finally{U.close()}}function V9(_,$){_.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, @@ -871,15 +871,15 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{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 Kg(_,$,U=e$()){for(let j of $.machines)T9(_,Og(j,U));return $.machines.length}function MA(_){c(_);let $=v(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function YD(_){c(_.dbPath);let $=v(_.dbPath),U=[],j=e$(_.now),D=J9(_.machineId),N=_.recordClocks!==!1;try{let E=L9($,S9(_.tables)),W=$.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 qM(_,$,U=e$()){for(let N of $.machines)V9(_,QM(N,U));return $.machines.length}function ZA(_){c(_);let $=v(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function RD(_){c(_.dbPath);let $=v(_.dbPath),U=[],N=e$(_.now),D=L9(_.machineId),j=_.recordClocks!==!1;try{let I=S9($,P9(_.tables)),W=$.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all().map((R)=>{let P=Wg(R,_.storage.local_layout.directories.artifacts),O={...R,key:P};if(_.includeArtifactContent!==!1&&P&&R.artifact_uri.startsWith("file://"))try{let Y=A9(R.artifact_uri);if(mK(Y))if(!Lg(R.content_type,P))U.push(`artifact_content_not_embedded_binary:${R.id}`);else{let Q=nK(Y,"utf8"),B=K_(Q);if(B!==Q)U.push(`artifact_content_redacted:${R.id}`);O.content_base64=Buffer.from(B,"utf8").toString("base64"),O.hash=SD(B),O.size_bytes=Buffer.byteLength(B)}else U.push(`artifact_missing:${R.artifact_uri}`)}catch(Y){U.push(`artifact_read_failed:${R.artifact_uri}:${Y instanceof Error?Y.message:String(Y)}`)}else if(_.includeArtifactContent!==!1&&R.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${R.artifact_uri}`);return O=K_(O),O}),J=g4(W),L=E.filter((R)=>!XD.has(R)).map((R)=>({table:R,primary_keys:zD[R],rows:P9($,R).map((P)=>K_(P))})),S=L.map((R)=>sK($,{table:R.table,machineId:D,highWaterHash:hj(R.table,R.rows,J),rowCount:R.rows.length,record:N,now:j})),X=SD(m0({source:{scope:_.scope,workspace_home:K_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:D,artifact_root_uri:K_(_.storage.artifact_store.uri_prefix)},tables:L.map((R)=>({table:R.table,primary_keys:R.primary_keys,rows:R.rows.map((P)=>({key:K4(R.table,P),hash:F4(P,J)})).sort((P,O)=>P.key.localeCompare(O.key))})),table_clocks:S.map((R)=>({table:R.table,machine_id:R.machine_id,logical_clock:R.logical_clock,high_water_hash:R.high_water_hash,row_count:R.row_count})),artifacts:W.map((R)=>({identity:mj(R),fingerprint:u6(R)})).sort((R,P)=>R.identity.localeCompare(P.identity))})),z=`syncbundle_${X.replace("sha256:","").slice(0,32)}`;for(let R of S)_g($,R,z,N,j);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:r6,min_protocol_version:c6,bundle_id:z,content_hash:X,generated_at:j,source:{scope:_.scope,workspace_home:K_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:D,artifact_root_uri:K_(_.storage.artifact_store.uri_prefix)},table_clocks:S,tables:L,artifacts:W,warnings:K_(U),message:`${L.reduce((R,P)=>R+P.rows.length,0)} row(s), ${W.length} artifact(s) exported`}}finally{$.close()}}function gg(_,$){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<c6||j>r6)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${r6} with min v${c6}.`)}function Mg(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");gg(_,"knowledge sync bundle")}function ZA(_,$){return _.tables.find((U)=>U.table===$)??null}function V9(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return SD(m0({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((U)=>({key:K4($.table,U),hash:F4(U,g4(_.artifacts))})).sort((U,j)=>U.key.localeCompare(j.key))})),artifacts:_.artifacts.map(($)=>({identity:mj($),fingerprint:u6($)})).sort(($,U)=>$.identity.localeCompare(U.identity))}))}function Zg(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${V9(_).replace("sha256:","").slice(0,32)}`}function Hg(_,$){return new Map($.map((U)=>[K4(_,U),U]))}function qg(_){return new Map(_.artifacts.map(($)=>[mj($),$]))}async function kg(_){let $=qg(_.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 N of _.bundle.artifacts){let E=mj(N),I=$.get(E);if(I&&u6(I)===u6(N)){if(I.artifact_uri)U.set(N.artifact_uri,I.artifact_uri);D.skipped+=1;continue}if(I&&u6(I)!==u6(N)){let R={entityKind:"storage_object",entityId:E,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:u6(I),remoteHash:u6(N),metadata:{direction:_.direction,target_artifact_uri:I.artifact_uri,source_artifact_uri:N.artifact_uri,local_artifact:PD(I),remote_artifact:PD(N)}};if(BA(_.db,R)){D.skipped+=1;continue}D.conflicts+=1,j.push(R);continue}let W=Boolean(N.key&&N.content_base64),J=Sg(N,_.targetStorage);if(!W&&!J){D.missing_content+=1,_.warnings.push(`artifact_content_missing:${N.artifact_uri}`);continue}if(_.dryRun){D.copied+=1;continue}let L=N.artifact_uri;if(W&&N.key&&N.content_base64)L=(await _.targetStore.put({key:N.key,body:Buffer.from(N.content_base64,"base64"),content_type:N.content_type??void 0})).uri,U.set(N.artifact_uri,L);else if(J)U.set(N.artifact_uri,L);let S=rj(N.metadata_json,{}),X=typeof S.artifact_modified_at==="string"?S.artifact_modified_at:void 0,z={uri:L,key:N.key??S.key??N.artifact_uri,kind:N.kind,content_type:N.content_type??void 0,hash:N.hash??void 0,size_bytes:N.size_bytes??void 0,modified_at:X,metadata:{...S,synced_from_artifact_uri:N.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};X6(_.db,[z]),D.copied+=1}return{result:D,uriMap:U,conflicts:j}}function TA(_,$){let U={..._};if(typeof U.artifact_uri==="string"&&$.has(U.artifact_uri))U.artifact_uri=$.get(U.artifact_uri);return U}function Cg(_,$){let U=e$();_.query(` + ORDER BY artifact_uri ASC`).all().map((Y)=>{let P=OM(Y,_.storage.local_layout.directories.artifacts),O={...Y,key:P};if(_.includeArtifactContent!==!1&&P&&Y.artifact_uri.startsWith("file://"))try{let R=W9(Y.artifact_uri);if(tK(R))if(!XM(Y.content_type,P))U.push(`artifact_content_not_embedded_binary:${Y.id}`);else{let Q=oK(R,"utf8"),B=g_(Q);if(B!==Q)U.push(`artifact_content_redacted:${Y.id}`);O.content_base64=Buffer.from(B,"utf8").toString("base64"),O.hash=SD(B),O.size_bytes=Buffer.byteLength(B)}else U.push(`artifact_missing:${Y.artifact_uri}`)}catch(R){U.push(`artifact_read_failed:${Y.artifact_uri}:${R instanceof Error?R.message:String(R)}`)}else if(_.includeArtifactContent!==!1&&Y.artifact_uri.startsWith("s3://"))U.push(`artifact_content_not_embedded:${Y.artifact_uri}`);return O=g_(O),O}),J=M4(W),L=I.filter((Y)=>!XD.has(Y)).map((Y)=>({table:Y,primary_keys:zD[Y],rows:O9($,Y).map((P)=>g_(P))})),S=L.map((Y)=>NM($,{table:Y.table,machineId:D,highWaterHash:rN(Y.table,Y.rows,J),rowCount:Y.rows.length,record:j,now:N})),X=SD(m0({source:{scope:_.scope,workspace_home:g_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:D,artifact_root_uri:g_(_.storage.artifact_store.uri_prefix)},tables:L.map((Y)=>({table:Y.table,primary_keys:Y.primary_keys,rows:Y.rows.map((P)=>({key:K4(Y.table,P),hash:F4(P,J)})).sort((P,O)=>P.key.localeCompare(O.key))})),table_clocks:S.map((Y)=>({table:Y.table,machine_id:Y.machine_id,logical_clock:Y.logical_clock,high_water_hash:Y.high_water_hash,row_count:Y.row_count})),artifacts:W.map((Y)=>({identity:nN(Y),fingerprint:u6(Y)})).sort((Y,P)=>Y.identity.localeCompare(P.identity))})),z=`syncbundle_${X.replace("sha256:","").slice(0,32)}`;for(let Y of S)jM($,Y,z,j,N);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:r6,min_protocol_version:c6,bundle_id:z,content_hash:X,generated_at:N,source:{scope:_.scope,workspace_home:g_(_.workspaceHome),sqlite_schema_version:r_($),machine_id:D,artifact_root_uri:g_(_.storage.artifact_store.uri_prefix)},table_clocks:S,tables:L,artifacts:W,warnings:g_(U),message:`${L.reduce((Y,P)=>Y+P.rows.length,0)} row(s), ${W.length} artifact(s) exported`}}finally{$.close()}}function kM(_,$){let U=typeof _.protocol_version==="number"?_.protocol_version:null,N=typeof _.min_protocol_version==="number"?_.min_protocol_version:null;if(U===null||N===null||U<c6||N>r6)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${r6} with min v${c6}.`)}function bM(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");kM(_,"knowledge sync bundle")}function HA(_,$){return _.tables.find((U)=>U.table===$)??null}function B9(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return SD(m0({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((U)=>({key:K4($.table,U),hash:F4(U,M4(_.artifacts))})).sort((U,N)=>U.key.localeCompare(N.key))})),artifacts:_.artifacts.map(($)=>({identity:nN($),fingerprint:u6($)})).sort(($,U)=>$.identity.localeCompare(U.identity))}))}function CM(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${B9(_).replace("sha256:","").slice(0,32)}`}function wM(_,$){return new Map($.map((U)=>[K4(_,U),U]))}function vM(_){return new Map(_.artifacts.map(($)=>[nN($),$]))}async function fM(_){let $=vM(_.targetBundle),U=new Map,N=[],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 I=nN(j),E=$.get(I);if(E&&u6(E)===u6(j)){if(E.artifact_uri)U.set(j.artifact_uri,E.artifact_uri);D.skipped+=1;continue}if(E&&u6(E)!==u6(j)){let Y={entityKind:"storage_object",entityId:I,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:u6(E),remoteHash:u6(j),metadata:{direction:_.direction,target_artifact_uri:E.artifact_uri,source_artifact_uri:j.artifact_uri,local_artifact:PD(E),remote_artifact:PD(j)}};if(FA(_.db,Y)){D.skipped+=1;continue}D.conflicts+=1,N.push(Y);continue}let W=Boolean(j.key&&j.content_base64),J=RM(j,_.targetStorage);if(!W&&!J){D.missing_content+=1,_.warnings.push(`artifact_content_missing:${j.artifact_uri}`);continue}if(_.dryRun){D.copied+=1;continue}let L=j.artifact_uri;if(W&&j.key&&j.content_base64)L=(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,L);else if(J)U.set(j.artifact_uri,L);let S=cN(j.metadata_json,{}),X=typeof S.artifact_modified_at==="string"?S.artifact_modified_at:void 0,z={uri:L,key:j.key??S.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:X,metadata:{...S,synced_from_artifact_uri:j.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};X6(_.db,[z]),D.copied+=1}return{result:D,uriMap:U,conflicts:N}}function VA(_,$){let U={..._};if(typeof U.artifact_uri==="string"&&$.has(U.artifact_uri))U.artifact_uri=$.get(U.artifact_uri);return U}function xM(_,$){let U=e$();_.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(KA("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 BA(_,$){let U=$.localHash??"",j=$.remoteHash??"";if(_.query(` + `).run(MA("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 FA(_,$){let U=$.localHash??"",N=$.remoteHash??"";if(_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -890,7 +890,7 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{config:$.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,U,j))return!0;let N=_.query(` + `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,U,N))return!0;let j=_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -901,7 +901,7 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{config:$.config, AND status IN ('resolved', 'ignored') AND resolved_at IS NOT NULL LIMIT 1 - `).get($.entityKind,$.entityId,$.remoteMachineId,$.localMachineId,j,U);return Boolean(N)}function VA(_,$){if(_.query(` + `).get($.entityKind,$.entityId,$.remoteMachineId,$.localMachineId,N,U);return Boolean(j)}function BA(_,$){if(_.query(` SELECT id FROM knowledge_sync_conflicts WHERE entity_kind = ? AND entity_id = ? @@ -912,13 +912,13 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{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=e$();return _.query(` + `).get($.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null))return!1;let N=e$();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(KA("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 bg(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function wg(_,$){let U=$.now??e$();_.query(` + `).run(MA("syncconf"),$.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null,$.status??"open",$.resolutionStrategy??null,$.proposedPatchUri??null,$.approvedBy??null,$.resolvedAt??null,JSON.stringify($.metadata??{}),N),!0}function yM(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function uM(_,$){let U=$.now??e$();_.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, @@ -928,13 +928,13 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{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 vg(_){return{ok:!0,protocol_version:r6,min_protocol_version:c6,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(($)=>!XD.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:ZA(_.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 fg(_,$){let U=g4(_.artifacts),j=g4($.artifacts);for(let D of _.tables){if(XD.has(D.table))continue;let N=ZA($,D.table),I=O9(_,D.table)?.high_water_hash??hj(D.table,D.rows,U);if(hj(D.table,N?.rows??[],j)!==I)return!1}return!0}async function nj(_){Mg(_.bundle),c(_.targetDbPath);let $=[..._.bundle.warnings],U=_.dryRun===!0,j=J9(_.localMachineId),D=_.bundle.source.machine_id??"unknown",N=Zg(_.bundle),E=V9(_.bundle),I=_.targetBundle??YD({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:j,includeArtifactContent:!1,recordClocks:!U}),W=v(_.targetDbPath);try{if(!U&&bg(W,N)&&fg(_.bundle,I))return vg({bundle:_.bundle,targetBundle:I,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:N});let J=await kg({db:W,bundle:_.bundle,targetBundle:I,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:U,direction:_.direction,localMachineId:j,warnings:$}),L=g4(_.bundle.artifacts),S=g4(I.artifacts),X=[],z=0,R=0,P=0;for(let Q of _.bundle.tables){if(Q.table==="storage_objects"||XD.has(Q.table))continue;if(!B$(W,Q.table))continue;let B=O9(_.bundle,Q.table),G=OD(W,Q.table,D),T=ZA(I,Q.table),F=Hg(Q.table,T?.rows??[]),g=new Set(Q.rows.map((D_)=>K4(Q.table,D_))),q=Dg(W,Q.table,D),x=[],l={table:Q.table,source_rows:Q.rows.length,target_rows:T?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!B)$.push(`legacy_clock_missing:${Q.table}`);else if($g(G,B)){P+=1,l.skipped+=Q.rows.length,l.stale_skipped=Q.rows.length,$.push(`stale_table_skipped:${Q.table}:${D}:${B.logical_clock}`),X.push(l);continue}for(let D_ of Q.rows){let E_=K4(Q.table,D_),E$=F.get(E_),Q_=F4(D_,L);if(!E$){l.inserted+=1,x.push(TA(D_,J.uriMap));continue}let q$=F4(E$,S);if(q$===Q_){l.skipped+=1;continue}let N_=q.get(E_);if(q.has(E_)&&N_===q$){l.updated+=1,x.push(TA(D_,J.uriMap));continue}let y_={entityKind:Q.table,entityId:E_,localMachineId:j,remoteMachineId:D,localHash:q$,remoteHash:Q_,baseHash:G?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:N,incoming_logical_clock:B?.logical_clock??null,current_logical_clock:G?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:LD(E$),remote_row:LD(D_)}};if(BA(W,y_)){l.skipped+=1;continue}if(l.conflicts+=1,!U&&VA(W,y_))z+=1}if(!U&&x.length>0){let D_=x.map((E_)=>TA(E_,J.uriMap));Ug(W,Q.table,D_),Ig(W,Q.table,D_);for(let E_ of D_)Cg(W,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:j,entityKind:Q.table,entityId:K4(Q.table,E_),nextHash:F4(E_,g4(_.bundle.artifacts)),logicalClock:B?.logical_clock??0,bundleId:N,row:E_})}for(let[D_,E_]of q){if(g.has(D_))continue;let E$=F.get(D_);if(!E$)continue;let Q_=F4(E$,S);if(E_&&Q_!==E_){let q$={entityKind:Q.table,entityId:D_,localMachineId:j,remoteMachineId:D,localHash:Q_,remoteHash:null,baseHash:E_,metadata:{direction:_.direction,bundle_id:N,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:LD(E$),remote_row:null}};if(BA(W,q$)){l.skipped+=1;continue}if(l.conflicts+=1,!U&&VA(W,q$))z+=1;continue}if(l.deleted+=1,!U)Ng(W,Q.table,D_)}if(!U&&B)cj(W,{table:Q.table,machineId:D,logicalClock:B.logical_clock,highWaterHash:B.high_water_hash,highWaterBundleId:N,originMachineId:D,updatedByMachineId:j,lastAppliedAt:e$(),metadata:{source:"import",direction:_.direction,row_count:Q.rows.length,inserted:l.inserted,updated:l.updated,deleted:l.deleted,skipped:l.skipped,conflicts:l.conflicts}}),R+=1;X.push(l)}for(let Q of J.conflicts)if(!U){if(VA(W,{...Q,baseHash:Q.baseHash??null,metadata:{...Q.metadata,bundle_id:N}}))z+=1}let O=X.reduce((Q,B)=>Q+B.inserted,0),Y=X.reduce((Q,B)=>Q+B.conflicts,0)+J.result.conflicts;if(!U)wg(W,{bundle:_.bundle,bundleId:N,contentHash:E,sourceMachineId:D,targetMachineId:j,direction:_.direction,status:Y===0?"applied":"conflicted",tableResults:X,conflicts:Y,artifacts:J.result});return{ok:Y===0,protocol_version:r6,min_protocol_version:c6,dry_run:U,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:r_(W),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:X,artifacts:J.result,conflicts_created:z,bundle_id:N,replayed:!1,clocks:{advanced:R,stale_tables:P},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${O} row(s), copied ${J.result.copied} artifact(s), ${Y} conflict(s)`}}finally{W.close()}}function B9(_){c(_.dbPath);let $=v(_.dbPath),U=e$(_.now);try{let j=_.topology?Kg($,_.topology,U):0,D=Y9($),N=K_(Pg($)),E=_.machineId??_.topology?.local_machine_id??"unknown",I=K_(_.storage.artifact_store.uri_prefix),W=K_(_.workspaceHome),J=SD(m0({machine_id:E,scope:_.scope,workspace_home:W,sqlite_schema_version:r_($),artifact_root_uri:I,tables:D,artifacts:N})),L={id:KA("syncsnap"),machine_id:E,scope:_.scope,workspace_home:W,sqlite_schema_version:r_($),artifact_root_uri:I,content_hash:J,tables_json:JSON.stringify(D),artifact_hashes_json:JSON.stringify(N),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 hM(_){return{ok:!0,protocol_version:r6,min_protocol_version:c6,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(($)=>!XD.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:HA(_.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 rM(_,$){let U=M4(_.artifacts),N=M4($.artifacts);for(let D of _.tables){if(XD.has(D.table))continue;let j=HA($,D.table),E=z9(_,D.table)?.high_water_hash??rN(D.table,D.rows,U);if(rN(D.table,j?.rows??[],N)!==E)return!1}return!0}async function dN(_){bM(_.bundle),c(_.targetDbPath);let $=[..._.bundle.warnings],U=_.dryRun===!0,N=L9(_.localMachineId),D=_.bundle.source.machine_id??"unknown",j=CM(_.bundle),I=B9(_.bundle),E=_.targetBundle??RD({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:N,includeArtifactContent:!1,recordClocks:!U}),W=v(_.targetDbPath);try{if(!U&&yM(W,j)&&rM(_.bundle,E))return hM({bundle:_.bundle,targetBundle:E,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:j});let J=await fM({db:W,bundle:_.bundle,targetBundle:E,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:U,direction:_.direction,localMachineId:N,warnings:$}),L=M4(_.bundle.artifacts),S=M4(E.artifacts),X=[],z=0,Y=0,P=0;for(let Q of _.bundle.tables){if(Q.table==="storage_objects"||XD.has(Q.table))continue;if(!B$(W,Q.table))continue;let B=z9(_.bundle,Q.table),G=OD(W,Q.table,D),T=HA(E,Q.table),F=wM(Q.table,T?.rows??[]),M=new Set(Q.rows.map((D_)=>K4(Q.table,D_))),q=AM(W,Q.table,D),x=[],l={table:Q.table,source_rows:Q.rows.length,target_rows:T?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!B)$.push(`legacy_clock_missing:${Q.table}`);else if(IM(G,B)){P+=1,l.skipped+=Q.rows.length,l.stale_skipped=Q.rows.length,$.push(`stale_table_skipped:${Q.table}:${D}:${B.logical_clock}`),X.push(l);continue}for(let D_ of Q.rows){let I_=K4(Q.table,D_),I$=F.get(I_),G_=F4(D_,L);if(!I$){l.inserted+=1,x.push(VA(D_,J.uriMap));continue}let q$=F4(I$,S);if(q$===G_){l.skipped+=1;continue}let j_=q.get(I_);if(q.has(I_)&&j_===q$){l.updated+=1,x.push(VA(D_,J.uriMap));continue}let u_={entityKind:Q.table,entityId:I_,localMachineId:N,remoteMachineId:D,localHash:q$,remoteHash:G_,baseHash:G?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:j,incoming_logical_clock:B?.logical_clock??null,current_logical_clock:G?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:LD(I$),remote_row:LD(D_)}};if(FA(W,u_)){l.skipped+=1;continue}if(l.conflicts+=1,!U&&BA(W,u_))z+=1}if(!U&&x.length>0){let D_=x.map((I_)=>VA(I_,J.uriMap));EM(W,Q.table,D_),SM(W,Q.table,D_);for(let I_ of D_)xM(W,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:N,entityKind:Q.table,entityId:K4(Q.table,I_),nextHash:F4(I_,M4(_.bundle.artifacts)),logicalClock:B?.logical_clock??0,bundleId:j,row:I_})}for(let[D_,I_]of q){if(M.has(D_))continue;let I$=F.get(D_);if(!I$)continue;let G_=F4(I$,S);if(I_&&G_!==I_){let q$={entityKind:Q.table,entityId:D_,localMachineId:N,remoteMachineId:D,localHash:G_,remoteHash:null,baseHash:I_,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:LD(I$),remote_row:null}};if(FA(W,q$)){l.skipped+=1;continue}if(l.conflicts+=1,!U&&BA(W,q$))z+=1;continue}if(l.deleted+=1,!U)JM(W,Q.table,D_)}if(!U&&B)mN(W,{table:Q.table,machineId:D,logicalClock:B.logical_clock,highWaterHash:B.high_water_hash,highWaterBundleId:j,originMachineId:D,updatedByMachineId:N,lastAppliedAt:e$(),metadata:{source:"import",direction:_.direction,row_count:Q.rows.length,inserted:l.inserted,updated:l.updated,deleted:l.deleted,skipped:l.skipped,conflicts:l.conflicts}}),Y+=1;X.push(l)}for(let Q of J.conflicts)if(!U){if(BA(W,{...Q,baseHash:Q.baseHash??null,metadata:{...Q.metadata,bundle_id:j}}))z+=1}let O=X.reduce((Q,B)=>Q+B.inserted,0),R=X.reduce((Q,B)=>Q+B.conflicts,0)+J.result.conflicts;if(!U)uM(W,{bundle:_.bundle,bundleId:j,contentHash:I,sourceMachineId:D,targetMachineId:N,direction:_.direction,status:R===0?"applied":"conflicted",tableResults:X,conflicts:R,artifacts:J.result});return{ok:R===0,protocol_version:r6,min_protocol_version:c6,dry_run:U,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:r_(W),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:X,artifacts:J.result,conflicts_created:z,bundle_id:j,replayed:!1,clocks:{advanced:Y,stale_tables:P},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${O} row(s), copied ${J.result.copied} artifact(s), ${R} conflict(s)`}}finally{W.close()}}function F9(_){c(_.dbPath);let $=v(_.dbPath),U=e$(_.now);try{let N=_.topology?qM($,_.topology,U):0,D=Y9($),j=g_(YM($)),I=_.machineId??_.topology?.local_machine_id??"unknown",E=g_(_.storage.artifact_store.uri_prefix),W=g_(_.workspaceHome),J=SD(m0({machine_id:I,scope:_.scope,workspace_home:W,sqlite_schema_version:r_($),artifact_root_uri:E,tables:D,artifacts:j})),L={id:MA("syncsnap"),machine_id:I,scope:_.scope,workspace_home:W,sqlite_schema_version:r_($),artifact_root_uri:E,content_hash:J,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(L.id,L.machine_id,L.scope,L.workspace_home,L.sqlite_schema_version,L.artifact_root_uri,L.content_hash,L.tables_json,L.artifact_hashes_json,L.created_at);let S=new Map;for(let X of L9($,S9()).filter((z)=>!XD.has(z))){let z=P9($,X).map((Y)=>K_(Y)),R=hj(X,z,S),P=OD($,X,E),O=P?.high_water_hash===R?P.logical_clock:(P?.logical_clock??0)+1;cj($,{table:X,machineId:E,logicalClock:O,highWaterHash:R,highWaterBundleId:L.id,originMachineId:P?.origin_machine_id??E,updatedByMachineId:E,lastAppliedAt:U,metadata:{source:"snapshot",row_count:z.length},now:U})}return{ok:!0,snapshot:{...L,tables:D,artifact_hashes:N},machines_upserted:j,message:`Recorded sync snapshot ${L.id}`}}finally{$.close()}}function F9(_){c(_.dbPath);let $=v(_.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(),N=$.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),E=eK($),I=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,W=D.reduce((L,S)=>L+S.count,0),J=D.filter((L)=>L.status!=="resolved"&&L.status!=="ignored").reduce((L,S)=>L+S.count,0);return{ok:!0,scope:_.scope,workspace_home:K_(_.workspaceHome),sqlite_schema_version:r_($),local_machine_id:_.localMachineId??null,machines:{total:U.length,rows:K_(U)},snapshots:{total:xj($,"knowledge_sync_snapshots"),latest:K_(j)},changes:{total:xj($,"knowledge_sync_changes"),by_operation:N},clocks:{total:E.length,rows:E},imports:{total:xj($,"knowledge_sync_imports"),latest:K_(I)},conflicts:{total:W,by_status:D,open:J},table_counts:Y9($),message:`${U.length} machine(s), ${J} open sync conflict(s)`}}finally{$.close()}}function HA(_){return{..._,metadata:rj(_.metadata_json,{})}}function dj(_,$){c(_);let U=v(_);try{let j=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return j?HA(j):null}finally{U.close()}}function K9(_,$={}){c(_);let U=v(_),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(HA)}finally{U.close()}}function xg(_){return uj.includes(_)?_:null}function yg(_,$){let U=xg($.entity_kind);if(!U||!B$(_,U))return null;let j=z9(U,$.entity_id);if(!j)return null;let D=X9(U);return _.query(`SELECT * FROM ${z$(U)} WHERE ${D} LIMIT 1`).get(...j)}function ug(_,$){for(let U of $){let j=_[U];if(j&&typeof j==="object"&&!Array.isArray(j))return LD(j)}return null}function E9(_,$){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 FA(_,$=new Set,U=0){if(U>8||_===null||_===void 0)return $;if(typeof _==="string")return E9($,_),$;if(Array.isArray(_)){for(let j of _)FA(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"))E9($,D);FA(D,$,U+1)}return $}function g9(_){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 M9(_,$){let U=dj(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);c(_);let j=v(_);try{let D=LD(yg(j,U)),N=ug(U.metadata,["remote_row","source_row","incoming_row"]),I=[...FA({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:D,remote_row:N})].slice(0,25),W=[{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:`${I.length} source/artifact ref(s) found`}];return{conflict:U,local_row:D,remote_row:N,source_refs:I,citations:g9({conflict:U,localRow:D,remoteRow:N,sourceRefs:I}),read_only_tools:W}}finally{j.close()}}function RD(_,$){let U=dj(_,$);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(" "),N=["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:N,proposed_patch:null,citations:g9({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 Z9(_,$){c(_);let U=v(_),j=e$();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(L.id,L.machine_id,L.scope,L.workspace_home,L.sqlite_schema_version,L.artifact_root_uri,L.content_hash,L.tables_json,L.artifact_hashes_json,L.created_at);let S=new Map;for(let X of S9($,P9()).filter((z)=>!XD.has(z))){let z=O9($,X).map((R)=>g_(R)),Y=rN(X,z,S),P=OD($,X,I),O=P?.high_water_hash===Y?P.logical_clock:(P?.logical_clock??0)+1;mN($,{table:X,machineId:I,logicalClock:O,highWaterHash:Y,highWaterBundleId:L.id,originMachineId:P?.origin_machine_id??I,updatedByMachineId:I,lastAppliedAt:U,metadata:{source:"snapshot",row_count:z.length},now:U})}return{ok:!0,snapshot:{...L,tables:D,artifact_hashes:j},machines_upserted:N,message:`Recorded sync snapshot ${L.id}`}}finally{$.close()}}function K9(_){c(_.dbPath);let $=v(_.dbPath);try{let U=$.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),N=$.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(),I=DM($),E=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,W=D.reduce((L,S)=>L+S.count,0),J=D.filter((L)=>L.status!=="resolved"&&L.status!=="ignored").reduce((L,S)=>L+S.count,0);return{ok:!0,scope:_.scope,workspace_home:g_(_.workspaceHome),sqlite_schema_version:r_($),local_machine_id:_.localMachineId??null,machines:{total:U.length,rows:g_(U)},snapshots:{total:yN($,"knowledge_sync_snapshots"),latest:g_(N)},changes:{total:yN($,"knowledge_sync_changes"),by_operation:j},clocks:{total:I.length,rows:I},imports:{total:yN($,"knowledge_sync_imports"),latest:g_(E)},conflicts:{total:W,by_status:D,open:J},table_counts:Y9($),message:`${U.length} machine(s), ${J} open sync conflict(s)`}}finally{$.close()}}function qA(_){return{..._,metadata:cN(_.metadata_json,{})}}function lN(_,$){c(_);let U=v(_);try{let N=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return N?qA(N):null}finally{U.close()}}function M9(_,$={}){c(_);let U=v(_),N=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,N):U.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(N)).map(qA)}finally{U.close()}}function cM(_){return hN.includes(_)?_:null}function mM(_,$){let U=cM($.entity_kind);if(!U||!B$(_,U))return null;let N=X9(U,$.entity_id);if(!N)return null;let D=R9(U);return _.query(`SELECT * FROM ${z$(U)} WHERE ${D} LIMIT 1`).get(...N)}function nM(_,$){for(let U of $){let N=_[U];if(N&&typeof N==="object"&&!Array.isArray(N))return LD(N)}return null}function E9(_,$){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 KA(_,$=new Set,U=0){if(U>8||_===null||_===void 0)return $;if(typeof _==="string")return E9($,_),$;if(Array.isArray(_)){for(let N of _)KA(N,$,U+1);return $}if(typeof _==="object")for(let[N,D]of Object.entries(_)){if(N==="source_ref"||N==="source_uri"||N==="artifact_uri"||N.endsWith("_uri"))E9($,D);KA(D,$,U+1)}return $}function g9(_){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,N)=>{$.push({id:`source-${N+1}`,kind:U.startsWith("file://")||U.startsWith("s3://")?"artifact":"source_ref",ref:U,hash:null,quote:null})}),$}function Z9(_,$){let U=lN(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);c(_);let N=v(_);try{let D=LD(mM(N,U)),j=nM(U.metadata,["remote_row","source_row","incoming_row"]),E=[...KA({conflict:{entity_kind:U.entity_kind,entity_id:U.entity_id,metadata:U.metadata},local_row:D,remote_row:j})].slice(0,25),W=[{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:`${E.length} source/artifact ref(s) found`}];return{conflict:U,local_row:D,remote_row:j,source_refs:E,citations:g9({conflict:U,localRow:D,remoteRow:j,sourceRefs:E}),read_only_tools:W}}finally{N.close()}}function YD(_,$){let U=lN(_,$);if(!U)throw Error(`Sync conflict not found: ${$}`);let N=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:N,summary:D,merge_prompt:j,proposed_patch:null,citations:g9({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 H9(_,$){c(_);let U=v(_),N=e$();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 = ?, @@ -942,27 +942,27 @@ ${z}`;else{let{generateText:T}=await import("ai"),F=await WD(N,{config:$.config, approved_by = ?, resolved_at = ? WHERE id = ? - `).run($.strategy,$.proposedPatchUri??D.proposed_patch_uri,$.approvedBy,j,$.id);let N=U.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!N)throw Error(`Sync conflict not found after resolve: ${$.id}`);return HA(N)}finally{U.close()}}function cO(_){let U=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function MH(_){let $=v(_.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 FY(_){let $=v(_.dbPath);try{$.run(`UPDATE runs + `).run($.strategy,$.proposedPatchUri??D.proposed_patch_uri,$.approvedBy,N,$.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 qA(j)}finally{U.close()}}function mO(_){let U=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(U*1.25))}function bH(_){let $=v(_.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 KR(_){let $=v(_.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 mO(_){let $=v(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${KY()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function ZH(_,$,U,j){let D=v(_);try{v0(D,{...U,run_id:$,created_at:j})}finally{D.close()}}function HH(_){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: + WHERE id = ?`,[_.status,_.provider,_.model,_.usage.input_tokens+_.usage.output_tokens,_.usage.cost_usd,JSON.stringify(_.metadata),_.now,_.runId])}finally{$.close()}}function nO(_){let $=v(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`event_${MR()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function CH(_,$,U,N){let D=v(_);try{v0(D,{...U,run_id:$,created_at:N})}finally{D.close()}}function wH(_){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 qH(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function kH(_,$){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 CH(_){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 gY(_){let $=(_.now??new Date).toISOString();c(_.dbPath);let U=RD(_.dbPath,_.id),j=M9(_.dbPath,_.id),D=k$(_.modelRef??"default",_.config),N=c_(D),E=`run_${KY()}`,I=HH({deterministic:U,evidence:j});MH({dbPath:_.dbPath,runId:E,prompt:I,provider:N.provider,model:N.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:j.read_only_tools.map((X)=>X.name)},now:$}),mO({dbPath:_.dbPath,runId:E,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 W,J,L=0.5,S={input_tokens:cO(I),output_tokens:0,cost_usd:0};if(_.fake)W=CH(j),J=W.summary,S.output_tokens=cO(J)+cO(W.diff??"");else try{let{generateObject:X}=await import("ai"),{z}=await Promise.resolve().then(() => (BY(),VY)),R=await WD(D,{config:_.config,env:_.env}),P=z.object({summary:z.string(),confidence:z.number().min(0).max(1),proposed_patch:z.object({kind:z.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:z.string(),strategy:z.string(),summary:z.string(),diff:z.string().nullable(),metadata:z.record(z.string(),z.unknown()).default({})})}),O=await X({model:R,schema:P,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:I});J=O.object.summary,L=qH(O.object.confidence),W=kH(O.object.proposed_patch,`${j.conflict.entity_kind}:${j.conflict.entity_id}`);let Y=V4({provider:N.provider,model:N.model,usage:O.usage,providerMetadata:O.providerMetadata});S={input_tokens:Y.input_tokens,output_tokens:Y.output_tokens,cost_usd:Y.cost_usd},ZH(_.dbPath,E,Y,$)}catch(X){throw mO({dbPath:_.dbPath,runId:E,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:X instanceof Error?X.message:String(X)},now:$}),FY({dbPath:_.dbPath,runId:E,status:"failed",provider:N.provider,model:N.model,usage:S,metadata:{conflict_id:_.id,mode:"ai",error:X instanceof Error?X.message:String(X)},now:$}),X}return FY({dbPath:_.dbPath,runId:E,status:_.fake?"dry_run":"completed",provider:N.provider,model:N.model,usage:S,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:L,proposed_strategy:W.strategy,citation_count:j.citations.length},now:$}),mO({dbPath:_.dbPath,runId:E,level:"info",event:_.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:W.strategy,confidence:L,patch_kind:W.kind},now:$}),{...U,mode:"ai",proposed_strategy:W.strategy,summary:J,proposed_patch:W,citations:j.citations,confidence:L,agent:{generated:!0,provider:N.provider,model:N.model,run_id:E,read_only_tools:j.read_only_tools,usage:S},warnings:[...U.warnings,...j.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as bH,randomUUID as wH}from"crypto";import{existsSync as vH,readFileSync as fH}from"fs";import{basename as xH}from"path";function jI(_,$){return`${_}_${bH("sha256").update($).digest("hex").slice(0,20)}`}function XU(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function Y_(_){return typeof _==="string"&&_.length>0?_:void 0}function yH(_){let $=Y_(_.source_ref)??Y_(_.source_uri)??Y_(_.uri);if($)return $;let U=Y_(_.file_id);if(U){let N=Y_(_.revision_id)??Y_(_.revision),E=`open-files://file/${encodeURIComponent(U)}`;return N?`${E}/revision/${encodeURIComponent(N)}`:E}let j=Y_(_.source_id),D=Y_(_.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 uH(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function hH(_){return Y_(_.hash)??Y_(_.checksum)??Y_(_.sha256)??null}function rH(_,$,U){return Y_(_.revision_id)??Y_(_.revision)??Y_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??null}function cH(_){return Y_(_.previous_revision_id)??Y_(_.previous_revision)??Y_(_.previous_version_id)??null}function mH(_){return(Y_(_.event_type)??Y_(_.event)??Y_(_.type)??Y_(_.action)??Y_(_.change_type)??"changed").toLowerCase()}function nH(_){let $=Y_(_.path);return Y_(_.title)??Y_(_.name)??($?xH($):null)}function dH(_,$){let U=yH(_),j=T$(U),D=hH(_);return{raw:_,eventType:mH(_),sourceRef:U,sourceUri:uH(U,j),kind:j.kind,title:nH(_),revision:rH(_,j,D),previousRevision:cH(_),hash:D,status:Y_(_.status)?.toLowerCase()??null,updatedAt:Y_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function lH(_){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=XU(j);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),j=XU(U);if(!j)throw Error("Outbox object parse failed.");if(Array.isArray(j.events))return j.events.map((D)=>{let N=XU(D);if(!N)throw Error("Outbox events entries must be objects.");return N});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 N=XU(JSON.parse(D));if(!N)throw Error("Outbox JSONL entries must be objects.");return N})}return $.split(/\r?\n/).filter((U)=>U.trim().length>0).map((U)=>{let j=XU(JSON.parse(U));if(!j)throw Error("Outbox JSONL entries must be objects.");return j})}async function iH(_,$,U){let j=new URL(_),D=j.hostname,N=decodeURIComponent(j.pathname.replace(/^\/+/,""));if(!D||!N)throw Error(`Invalid S3 outbox URI: ${_}`);if(U)y6(_,U);let[{S3Client:E,GetObjectCommand:I},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new E({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new I({Bucket:D,Key:N}));if(!S.Body)return"";return await S.Body.transformToString()}async function tH(_,$,U){if(_.startsWith("s3://"))return iH(_,$,U);if(!vH(_))throw Error(`Outbox not found: ${_}`);return fH(_,"utf8")}function MY(_,$){let U={};if(_)try{U=XU(JSON.parse(_))??{}}catch{U={}}return JSON.stringify({...U,...$})}function oH(_,$,U){let j=jI("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`)}function vH(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function fH(_,$){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 xH(_){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 gR(_){let $=(_.now??new Date).toISOString();c(_.dbPath);let U=YD(_.dbPath,_.id),N=Z9(_.dbPath,_.id),D=k$(_.modelRef??"default",_.config),j=c_(D),I=`run_${MR()}`,E=wH({deterministic:U,evidence:N});bH({dbPath:_.dbPath,runId:I,prompt:E,provider:j.provider,model:j.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:N.read_only_tools.map((X)=>X.name)},now:$}),nO({dbPath:_.dbPath,runId:I,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:N.citations.length,source_refs:N.source_refs.length,read_only_tools:N.read_only_tools},now:$});let W,J,L=0.5,S={input_tokens:mO(E),output_tokens:0,cost_usd:0};if(_.fake)W=xH(N),J=W.summary,S.output_tokens=mO(J)+mO(W.diff??"");else try{let{generateObject:X}=await import("ai"),{z}=await Promise.resolve().then(() => (FR(),BR)),Y=await WD(D,{config:_.config,env:_.env}),P=z.object({summary:z.string(),confidence:z.number().min(0).max(1),proposed_patch:z.object({kind:z.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:z.string(),strategy:z.string(),summary:z.string(),diff:z.string().nullable(),metadata:z.record(z.string(),z.unknown()).default({})})}),O=await X({model:Y,schema:P,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:E});J=O.object.summary,L=vH(O.object.confidence),W=fH(O.object.proposed_patch,`${N.conflict.entity_kind}:${N.conflict.entity_id}`);let R=V4({provider:j.provider,model:j.model,usage:O.usage,providerMetadata:O.providerMetadata});S={input_tokens:R.input_tokens,output_tokens:R.output_tokens,cost_usd:R.cost_usd},CH(_.dbPath,I,R,$)}catch(X){throw nO({dbPath:_.dbPath,runId:I,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:X instanceof Error?X.message:String(X)},now:$}),KR({dbPath:_.dbPath,runId:I,status:"failed",provider:j.provider,model:j.model,usage:S,metadata:{conflict_id:_.id,mode:"ai",error:X instanceof Error?X.message:String(X)},now:$}),X}return KR({dbPath:_.dbPath,runId:I,status:_.fake?"dry_run":"completed",provider:j.provider,model:j.model,usage:S,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:L,proposed_strategy:W.strategy,citation_count:N.citations.length},now:$}),nO({dbPath:_.dbPath,runId:I,level:"info",event:_.fake?"fake_conflict_proposal_generated":"conflict_proposal_generated",metadata:{strategy:W.strategy,confidence:L,patch_kind:W.kind},now:$}),{...U,mode:"ai",proposed_strategy:W.strategy,summary:J,proposed_patch:W,citations:N.citations,confidence:L,agent:{generated:!0,provider:j.provider,model:j.model,run_id:I,read_only_tools:N.read_only_tools,usage:S},warnings:[...U.warnings,...N.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as yH,randomUUID as uH}from"crypto";import{existsSync as hH,readFileSync as rH}from"fs";import{basename as cH}from"path";function jE(_,$){return`${_}_${yH("sha256").update($).digest("hex").slice(0,20)}`}function XU(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function Y_(_){return typeof _==="string"&&_.length>0?_:void 0}function mH(_){let $=Y_(_.source_ref)??Y_(_.source_uri)??Y_(_.uri);if($)return $;let U=Y_(_.file_id);if(U){let j=Y_(_.revision_id)??Y_(_.revision),I=`open-files://file/${encodeURIComponent(U)}`;return j?`${I}/revision/${encodeURIComponent(j)}`:I}let N=Y_(_.source_id),D=Y_(_.path);if(N&&D)return`open-files://source/${encodeURIComponent(N)}/path/${encodeURIComponent(D)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function nH(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function dH(_){return Y_(_.hash)??Y_(_.checksum)??Y_(_.sha256)??null}function lH(_,$,U){return Y_(_.revision_id)??Y_(_.revision)??Y_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??U??null}function iH(_){return Y_(_.previous_revision_id)??Y_(_.previous_revision)??Y_(_.previous_version_id)??null}function tH(_){return(Y_(_.event_type)??Y_(_.event)??Y_(_.type)??Y_(_.action)??Y_(_.change_type)??"changed").toLowerCase()}function oH(_){let $=Y_(_.path);return Y_(_.title)??Y_(_.name)??($?cH($):null)}function pH(_,$){let U=mH(_),N=T$(U),D=dH(_);return{raw:_,eventType:tH(_),sourceRef:U,sourceUri:nH(U,N),kind:N.kind,title:oH(_),revision:lH(_,N,D),previousRevision:iH(_),hash:D,status:Y_(_.status)?.toLowerCase()??null,updatedAt:Y_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function aH(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let U=JSON.parse($);if(!Array.isArray(U))throw Error("Outbox array parse failed.");return U.map((N)=>{let D=XU(N);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let U=JSON.parse($),N=XU(U);if(!N)throw Error("Outbox object parse failed.");if(Array.isArray(N.events))return N.events.map((D)=>{let j=XU(D);if(!j)throw Error("Outbox events entries must be objects.");return j});if("source_ref"in N||"source_uri"in N||"file_id"in N)return[N]}catch(U){let N=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(N.length<=1)throw U;return N.map((D)=>{let j=XU(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 N=XU(JSON.parse(U));if(!N)throw Error("Outbox JSONL entries must be objects.");return N})}async function eH(_,$,U){let N=new URL(_),D=N.hostname,j=decodeURIComponent(N.pathname.replace(/^\/+/,""));if(!D||!j)throw Error(`Invalid S3 outbox URI: ${_}`);if(U)y6(_,U);let[{S3Client:I,GetObjectCommand:E},{fromIni:W}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),J=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,S=await new I({region:J?.region,credentials:J?.profile?W({profile:J.profile}):void 0,maxAttempts:J?.max_attempts}).send(new E({Bucket:D,Key:j}));if(!S.Body)return"";return await S.Body.transformToString()}async function sH(_,$,U){if(_.startsWith("s3://"))return eH(_,$,U);if(!hH(_))throw Error(`Outbox not found: ${_}`);return rH(_,"utf8")}function ZR(_,$){let U={};if(_)try{U=XU(JSON.parse(_))??{}}catch{U={}}return JSON.stringify({...U,...$})}function _q(_,$,U){let N=jE("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 N={source_ref:$.sourceRef,source_uri:$.sourceUri,last_outbox_event:$.eventType,last_outbox_at:$.updatedAt};if($.status)N.status=$.status;if(Y_($.raw.path))N.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 = ?",[MY(D.metadata_json,N),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function pH(_,$,U,j){if(!U.revision)return null;let D=jI("rev",`${$}\x00${U.revision}`),N={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`,[N,$.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(Y_($.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 = ?",[ZR(D.metadata_json,j),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function $q(_,$,U,N){if(!U.revision)return null;let D=jE("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,Y_(U.raw.extracted_text_ref)??null,JSON.stringify(N),j]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision)?.id??null}function aH(_,$,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 eH(_,$){let U=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),j=0,D=0;for(let E of U){let I=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(E.id);j+=I?.n??0;let W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(E.id);D+=W?.n??0,_.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[E.id]),_.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[E.id]),_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[E.id])}_.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]);let N=_.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get($);return _.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[MY(N?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:U.length,embeddingsDeleted:j,vectorEntriesDeleted:D}}function sH(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function _q(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function $q(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function ZY(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)Y6(_.dbPath,_.safetyPolicy);c(_.dbPath);let U=await tH(_.input,_.config,_.safetyPolicy),j=lH(U),D=v(_.dbPath),N=`run_${wH()}`;try{return D.transaction(()=>{D.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,"open-files-outbox",_.input,"completed","local","open-files-outbox",JSON.stringify({path:_.input,events:j.length}),$,$]);let E=new Set,I=new Set,W=0,J=0,L=0,S=0,X=0,z=0,R=0;return G_(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((P,O)=>{let Y=dH(P,$),Q=oH(D,Y,$);E.add(Q);let B=pH(D,Q,Y,$);if(B)I.add(B);let G=aH(D,Q,Y);for(let T of G){I.add(T);let F=eH(D,T);W+=F.chunksDeleted,J+=F.embeddingsDeleted,L+=F.vectorEntriesDeleted,S+=1}if(sH(Y.eventType,Y.status))X+=1;if(_q(Y.eventType))z+=1;if($q(Y.eventType)||Y.acl!==void 0)R+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[jI("evt",`${N}\x00${O}\x00${Y.sourceRef}\x00${Y.eventType}`),N,"info",Y.eventType,JSON.stringify({source_ref:Y.sourceRef,source_uri:Y.sourceUri,revision:Y.revision,hash:Y.hash,status:Y.status,affected_revisions:G.length}),Y.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, ?, ?)`,[jI("usage",N),N,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),G_(D,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:N,events:j.length,sources:E.size,revisions:I.size,chunks_deleted:W,embeddings_deleted:J,vector_entries_deleted:L},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:N,events_seen:j.length,sources_touched:E.size,revisions_touched:I.size,chunks_deleted:W,embeddings_deleted:J,vector_entries_deleted:L,stale_revisions:S,deleted_sources:X,moved_sources:z,permission_updates:R}})()}finally{D.close()}}import{spawnSync as kY}from"child_process";import{hostname as $0,platform as CY,userInfo as Uq}from"os";var Dq=1,jq="@hasna/machines",Nq="@hasna/machines/consumer";function d(_){return typeof _==="string"&&_.length>0?_:null}function $4(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function p_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function JI(_){return typeof _==="boolean"?_:null}function Eq(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function LI(_=CY()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function Z1(_){let $=kY("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function YU(_,$){return await _($)}async function H1(_,$){return(await YU($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function Iq(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function HY(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function Aq(_,$){let U=new Map;if(!await H1("tailscale",_))return $.push("tailscale_not_available"),{peers:U,selfKey:null};let j=await YU(_,"tailscale status --json");if(j.exitCode!==0)return $.push(`tailscale_status_failed:${j.stderr.trim()||j.exitCode}`),{peers:U,selfKey:null};let D=Iq(j.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let N=(E)=>{let I=HY(E);if(I&&E)U.set(I,E)};N(D.Self);for(let E of Object.values(D.Peer??{}))N(E);return{peers:U,selfKey:HY(D.Self)}}function Wq(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??$0()}function Jq(_){let $=_.machineId===_.localMachineId||_.machineId===$0(),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 N=D.find((E)=>E.kind==="local")??D.find((E)=>E.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?$0():_.machineId),local:$,platform:_.peer?.OS?LI(_.peer.OS):$?LI():null,os:_.peer?.OS??($?CY():null),user:$?Uq().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:N?.kind==="local"?"local":N?.kind==="tailscale"?"tailscale":"unknown",command_target:N?.target??null},route_hints:D,tags:[],metadata:{},source:"local"}}function Lq(_){if(!Array.isArray(_))return[];return _.map(($)=>{let U=p_($),j=d(U.kind)??"unknown";return{kind:j==="local"||j==="lan"||j==="tailscale"||j==="ssh"?j:"unknown",target:d(U.target)??"",reachable:JI(U.reachable)}}).filter(($)=>$.target.length>0)}function Sq(_,$){let U=d(_.machine_id)??d(_.hostname)??"unknown",j=p_(_.tailscale),D=p_(_.ssh),N=d(_.heartbeat_status),E=d(D.route);return{machine_id:U,hostname:d(_.hostname),local:U===$,platform:d(_.platform),os:d(_.os),user:d(_.user),workspace_path:d(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:N==="online"||N==="offline"?N:"unknown",last_heartbeat_at:d(_.last_heartbeat_at),tailscale:{dns_name:d(j.dns_name),ips:$4(j.ips),online:JI(j.online),active:JI(j.active),last_seen:d(j.last_seen)},ssh:{address:d(D.address),route:E==="local"||E==="lan"||E==="tailscale"?E:"unknown",command_target:d(D.command_target)},route_hints:Lq(_.route_hints),tags:$4(_.tags),metadata:p_(_.metadata),source:"open-machines"}}function Pq(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function Y$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function q1(_){return _.adapterMode??"auto"}function bY(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let U=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function SI(_){return typeof _.schema_version==="number"?_.schema_version:null}function k1(_){return typeof _==="number"&&_>Dq?_:null}function PI(_){return{package:jq,entrypoint:Nq,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function W_(_,$="adapter_disabled"){return PI({mode:_,implementation:"disabled",available:!1,error:$})}function OI(_,$){let U=k1(bY($));if(!U)return null;return PI({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function zI(_){return PI({mode:_,implementation:"cli",available:!0})}function XI(_,$){return PI({mode:_,implementation:"sdk",available:!0,contractVersion:bY($)})}function YI(_){try{return JSON.parse(_)}catch{return null}}function U0(_){return`'${_.replace(/'/g,"'\\''")}'`}function RI(_){return["machines",..._].map(U0).join(" ")}function QI(_){return _==="local"||_==="localhost"||_===$0()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function Oq(_,$){let U=QI(_),j=U?$:`ssh ${U0(_)} ${U0($)}`,D=kY("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 wY(_,$,U){return await _($,U)}function s4(_,$){if($)return"ok";return _===!1?"warn":"fail"}function _0(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function zq(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function Xq(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function vY(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function fY(_){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 xY(_,$,U){let j=[`cmd=${U0($.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 wY(U,_,j),N=fY(D.stdout);return{path:N.path||null,version:N.version?Xq(N.version):null,stderr:D.stderr,source:D.source??(QI(_)?"local":"ssh")}}function qY(_){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 Yq(_,$,U){let j=[`path=${U0($.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" "$(${qY("name")})"; printf "version=%s\\n" "$(${qY("version")})"; fi`].join("; "),D=await wY(U,_,j),N=fY(D.stdout);return{exists:N.exists==="yes",packageJson:N.package_json==="yes",packageName:N.package_name||null,version:N.version||null,stderr:D.stderr,source:D.source??(QI(_)?"local":"ssh")}}async function Rq(_,$,U){let j=await xY(_,$,U),D=Boolean(j.path),N=[Z6({id:`command:${_0($.command)}:path`,kind:"command",status:s4($.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 E=vY(j.version??"");N.push(Z6({id:`command:${_0($.command)}:version`,kind:"command",status:E===$.expectedVersion?"ok":s4($.required,!1),target:$.command,expected:$.expectedVersion,actual:E??j.version??"missing",detail:E?`version output: ${j.version}`:"version unavailable",source:j.source}))}return N}async function Qq(_,$,U){let j=$.command??zq($.name),D=await xY(_,{command:j,expectedVersion:$.expectedVersion,required:$.required},U),N=Boolean(D.path),E=[Z6({id:`package:${_0($.name)}:command`,kind:"package",status:s4($.required,N),target:$.name,expected:j,actual:D.path??"missing",detail:N?`${j} found at ${D.path}`:`${j} command missing`,source:D.source})];if($.expectedVersion){let I=vY(D.version??"");E.push(Z6({id:`package:${_0($.name)}:version`,kind:"package",status:I===$.expectedVersion?"ok":s4($.required,!1),target:$.name,expected:$.expectedVersion,actual:I??D.version??"missing",detail:I?`version output: ${D.version}`:"version unavailable",source:D.source}))}return E}async function Gq(_,$,U){let j=await Yq(_,$,U),D=$.label??$.path,N=[Z6({id:`workspace:${_0(D)}:path`,kind:"workspace",status:s4($.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)N.push(Z6({id:`workspace:${_0(D)}:package-name`,kind:"workspace",status:j.packageName===$.expectedPackageName?"ok":s4($.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)N.push(Z6({id:`workspace:${_0(D)}:version`,kind:"workspace",status:j.version===$.expectedVersion?"ok":s4($.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 N}function yY(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:W6,workspace_home:$.knowledge?.workspace_home??null},message:Pq(_.source,_.machines.length)}}async function GI(){try{return await import("@hasna/machines/consumer")}catch(_){if(Y$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function uY(_,$,U){let j=p_(_);if(k1(SI(j)))return null;let D=Array.isArray(j.machines)?j.machines:null,N=d(j.local_machine_id);if(!D||!N)return null;let E={ok:!0,source:"open-machines",generated_at:d(j.generated_at)??($.now??new Date).toISOString(),local_machine_id:N,local_hostname:d(j.local_hostname)??$0(),current_platform:d(j.current_platform)??LI(),machines:D.map((I)=>Sq(I,N)),warnings:$4(j.warnings),adapter:U};return yY(E,$)}function NI(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function hY(_){let $=p_(_),U=d($.observed_at),j=d($.source_authority);if(!U||!j)return null;return{observed_at:U,verified_at:d($.verified_at),expires_at:d($.expires_at),ttl_ms:Eq($.ttl_ms),source_authority:j,confidence:d($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:$4($.reasons)}}function rY(_,$){let U=p_(_);if(k1(SI(U)))return null;let j=d(U.target)??d(U.command_target);if(U.ok!==!0||!j)return null;let D=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,N=typeof D?.selected_hint==="object"&&D.selected_hint!==null?D.selected_hint:null;return{target:j,route:NI(U.route),targetKind:NI(N?.kind)??NI(U.source)??NI(U.route),confidence:d(U.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:hY(U.cacheability),warnings:$4(U.warnings)}}function nO(_){let $=p_(_);return{path:d($.path),source:d($.source)??"unresolved"}}function Tq(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=p_($),j=d(U.id),D=d(U.status),N=d(U.severity),E=d(U.message);if(!j||!D||!N||!E)return[];return[{id:j,status:D,severity:N,message:E,path:d(U.path),source:d(U.source)??"unknown",path_exists:JI(U.path_exists)}]})}function Vq(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=p_($),j=d(U.id),D=d(U.reason),N=$4(U.command),E=d(U.shell_command),I=$4(U.apply_command),W=d(U.apply_shell_command);if(!j||!D||!N.length||!E||!I.length||!W)return[];return[{id:j,reason:D,command:N,shell_command:E,apply_command:I,apply_shell_command:W}]})}function Bq(_){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(U0).join(" "),apply_command:j,apply_shell_command:j.map(U0).join(" ")}]}function cY(_,$,U){let j=p_(_);if(k1(SI(j)))return null;let D=p_(j.paths),N=p_(j.project),E=p_(j.machine),I=nO(D.project_root),W=nO(D.workspace_root),J=nO(D.open_files_root);if(j.ok!==!0||!I.path)return null;let L=typeof j.evidence==="object"&&j.evidence!==null?j.evidence:null,S=d(j.requested_machine_id)??$.machineId,X=d(N.project_id)??$.projectId??"open-knowledge",z=d(N.repo_name)??$.repoName??$.projectId??"open-knowledge",R=d(E.trust_status)??"unknown",P=d(E.auth_status)??"unknown",O=$4(j.warnings),Y=Tq(j.diagnostics),Q=Vq(j.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:S,machine_id:d(j.machine_id),project_id:X,repo_name:z,project_root:I.path,project_root_source:I.source,workspace_root:W.path,workspace_root_source:W.source,open_files_root:J.path,open_files_root_source:J.source,trust_status:R,auth_status:P,current:E.current===!0,primary:E.primary===!0,diagnostics:Y,repair_hints:Q.length?Q:Bq({requestedMachineId:S,projectId:X,repoName:z,openFilesRepoName:$.openFilesRepoName,warnings:O,projectRootSource:I.source,openFilesRootSource:J.source,trustStatus:R,authStatus:P}),evidence:L,cacheability:hY(j.cacheability),warnings:O}}async function EI(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let j=["topology","--json"];if(_.includeTailscale===!1)j.push("--no-tailscale");let D=await YU(U,RI(j));if(D.exitCode!==0)return null;return uY(YI(D.stdout),_,$)}async function F6(_,$){let U=[];if($.error)U.push(`open_machines_unavailable:${$.error}`);let j=_.runner??Z1,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await Aq(j,U),N=Wq(D.selfKey),I=[...new Set([N,...D.peers.keys()])].sort().map((W)=>Jq({machineId:W,localMachineId:N,peer:D.peers.get(W)}));return yY({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:N,local_hostname:$0(),current_platform:LI(),machines:I,warnings:U,adapter:$},_)}async function mY(_={}){let $=q1(_);if($==="disabled")return await F6(_,W_($));let U=zI($);try{if($!=="cli"){let D=await(_.loadOpenMachines??GI)(),N=OI($,D);if(N)return await F6(_,N);let E=XI($,D);if(D?.discoverMachineTopology){let I=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),W=uY(I,_,E);if(W)return W;if($==="sdk")return await F6(_,W_($,"invalid_topology_shape"));return await EI(_,U)??await F6(_,W_($,"invalid_topology_shape"))}if($==="sdk")return await F6(_,W_($,"missing_discoverMachineTopology"));return await EI(_,U)??await F6(_,W_($,"missing_discoverMachineTopology"))}return await EI(_,U)??await F6(_,W_($,"machines_cli_unavailable"))}catch(j){if($==="sdk")return await F6(_,W_($,Y$(j)));return await EI(_,U)??await F6(_,W_($,Y$(j)))}}async function II(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let j=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)j.push("--no-tailscale");let D=await YU(U,RI(j));if(D.exitCode!==0)return null;return rY(YI(D.stdout),$)}function K6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function dO(_){let $=q1(_);if($==="disabled")return K6(_.machineId,W_($));let U=zI($);try{if($!=="cli"){let D=await(_.loadOpenMachines??GI)(),N=OI($,D);if(N)return K6(_.machineId,N);let E=XI($,D);if(D?.resolveMachineRoute){let I=rY(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),E);if(I)return I;if($==="sdk")return K6(_.machineId,W_($,"invalid_route_shape"));return await II(_,U)??K6(_.machineId,W_($,"invalid_route_shape"))}if($==="sdk")return K6(_.machineId,W_($,"missing_resolveMachineRoute"));return await II(_,U)??K6(_.machineId,W_($,"missing_resolveMachineRoute"))}return await II(_,U)??K6(_.machineId,W_($,"machines_cli_unavailable"))}catch(j){if($==="sdk")return{...K6(_.machineId,W_($,Y$(j))),warnings:[Y$(j)]};return await II(_,U)??{...K6(_.machineId,W_($,Y$(j))),warnings:[Y$(j)]}}}async function AI(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let j=_.projectId??"open-knowledge",D=_.repoName??"open-knowledge",N=["workspace","resolve","--machine",_.machineId,"--project",j,"--repo",D,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)N.push("--no-tailscale");let E=await YU(U,RI(N));if(E.exitCode!==0)return null;return cY(YI(E.stdout),_,$)}function Fq(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:W_(q1(_),"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 g6(_,$,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 TI(_){let $=Fq(_);if($)return $;let U=q1(_);if(U==="disabled")return g6(_,["adapter_disabled"],W_(U));let j=zI(U);try{if(U!=="cli"){let N=await(_.loadOpenMachines??GI)(),E=OI(U,N);if(E)return g6(_,[`unsupported_contract_version:${E.contract_version}`],E);let I=XI(U,N);if(N?.resolveMachineWorkspace){let W=cY(N.resolveMachineWorkspace({machineId:_.machineId,projectId:_.projectId??"open-knowledge",repoName:_.repoName??"open-knowledge",openFilesRepoName:_.openFilesRepoName??"open-files",includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),_,I);if(W)return W;if(U==="sdk")return g6(_,["invalid_workspace_shape"],W_(U,"invalid_workspace_shape"));return await AI(_,j)??g6(_,["invalid_workspace_shape"],W_(U,"invalid_workspace_shape"))}if(U==="sdk")return g6(_,["missing_resolveMachineWorkspace"],W_(U,"missing_resolveMachineWorkspace"));return await AI(_,j)??g6(_,["missing_resolveMachineWorkspace"],W_(U,"missing_resolveMachineWorkspace"))}return await AI(_,j)??g6(_,["machines_cli_unavailable"],W_(U,"machines_cli_unavailable"))}catch(D){if(U==="sdk")return g6(_,[Y$(D)],W_(U,Y$(D)));return await AI(_,j)??g6(_,[Y$(D)],W_(U,Y$(D)))}}function nY(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:W6,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 dY(_,$,U){let j=p_(_);if(k1(SI(j)))return null;let D=Array.isArray(j.checks)?j.checks:null,N=d(j.machine_id)??d(j.machineId);if(!D||!N)return null;let E=D.map((W)=>{let J=p_(W),L=d(J.status),S=d(J.kind),X=d(J.source);return Z6({id:d(J.id)??"unknown",kind:S==="command"||S==="package"||S==="workspace"?S:"command",status:L==="ok"||L==="warn"||L==="fail"?L:"fail",target:d(J.target)??"unknown",expected:d(J.expected),actual:d(J.actual),detail:d(J.detail)??"",source:X==="local"||X==="ssh"||X==="open-machines"?X:"open-machines"})}),I={ok:E.filter((W)=>W.status==="ok").length,warn:E.filter((W)=>W.status==="warn").length,fail:E.filter((W)=>W.status==="fail").length};return nY({ok:I.fail===0,source:"open-machines",machine_id:N,generated_at:d(j.generated_at)??($.now??new Date).toISOString(),checks:E,summary:I,adapter:U},$)}function Kq(_){if(!_.runner)return Z1;return async($)=>{let U=await _.runner?.("local",$);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function gq(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function Mq(_){let $=[_.expectedPackageName,_.expectedVersion].filter((j)=>Boolean(j)).join(":"),U=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${U}`:U}async function WI(_,$){let U=Kq(_);if(!await H1("machines",U))return null;let j=["compatibility","--json","--machine",_.machineId??"local"];for(let N of _.commands??[])j.push("--command",N.expectedVersion?`${N.command}:${N.expectedVersion}`:N.command);for(let N of _.packages??[])j.push("--package",gq(N));for(let N of _.workspaces??[])j.push("--workspace",Mq(N));let D=await YU(U,RI(j));if(D.exitCode!==0)return null;return dY(YI(D.stdout),_,$)}async function M6(_,$){let U=_.machineId??$0(),j=_.runner??Oq,D=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],N=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],E=_.workspaces??[],I=[];for(let J of D)I.push(...await Rq(U,J,j));for(let J of N)I.push(...await Qq(U,J,j));for(let J of E)I.push(...await Gq(U,J,j));if($.error)I.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:QI(U)?"local":"ssh"}));let W={ok:I.filter((J)=>J.status==="ok").length,warn:I.filter((J)=>J.status==="warn").length,fail:I.filter((J)=>J.status==="fail").length};return nY({ok:W.fail===0,source:"local",machine_id:U,generated_at:(_.now??new Date).toISOString(),checks:I,summary:W,adapter:$},_)}async function lY(_={}){let $=q1(_);if($==="disabled")return await M6(_,W_($));let U=zI($);try{if($!=="cli"){let D=await(_.loadOpenMachines??GI)(),N=OI($,D);if(N)return await M6(_,N);let E=XI($,D);if(D?.checkMachineCompatibility){let I=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),W=dY(I,_,E);if(W)return W;if($==="sdk")return await M6(_,W_($,"invalid_compatibility_shape"));return await WI(_,U)??await M6(_,W_($,"invalid_compatibility_shape"))}if($==="sdk")return await M6(_,W_($,"missing_checkMachineCompatibility"));return await WI(_,U)??await M6(_,W_($,"missing_checkMachineCompatibility"))}return await WI(_,U)??await M6(_,W_($,"machines_cli_unavailable"))}catch(j){if($==="sdk")return await M6(_,W_($,Y$(j)));return await WI(_,U)??await M6(_,W_($,Y$(j)))}}import{createHash as iY}from"crypto";function iO(_,$,U=24){return`${_}_${iY("sha256").update($).digest("hex").slice(0,U)}`}function RU(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function Zq(_){return RU(_).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")}function x$(_,$){try{return JSON.parse(_)}catch{return $}}function U4(_){return{..._,record_kind:_.record_kind,source_kind:_.source_kind,status:_.status,source_refs:x$(_.source_refs_json,[]),evidence_refs:x$(_.evidence_refs_json,[]),requires_approval:_.requires_approval===1,checks:x$(_.checks_json,tY()),metadata:x$(_.metadata_json,{})}}function tO(_){return{..._,record_kind:_.record_kind,source_refs:x$(_.source_refs_json,[]),evidence_refs:x$(_.evidence_refs_json,[]),metadata:x$(_.metadata_json,{})}}function tY(){return{citations:{provided:0,valid:0,invalid:0,entries:[]},invalid_source_refs:[],stale_refs:[],duplicate_record_ids:[],duplicate_candidate_ids:[],conflicting_record_ids:[],conflicting_candidate_ids:[],approval_reasons:[]}}function Hq(_){let $=typeof _==="string"?{ref:_}:_;return{ref:RU($.ref),citation_id:$.citation_id??null,chunk_id:$.chunk_id??null,revision:$.revision??null,hash:$.hash??null,observed_at:$.observed_at??null,expires_at:$.expires_at??null,status:$.status??null}}function oY(_){try{let $=new URL(_);return $.protocol.length>1&&($.hostname.length>0||$.pathname.length>0)}catch{return/^(?:cite|citation|chunk|run):[A-Za-z0-9._:-]+$/.test(_)}}function VI(_){return["deleted","stale","invalidated","reindex_required","expired","superseded"].includes((_??"").toLowerCase())}function lO(_){if(!_)return null;let $=x$(_,{});if($.stale===!0)return"stale";return typeof $.status==="string"?$.status:null}function qq(_){if(_.citation_id)return _.citation_id;return _.ref.match(/^(?:cite|citation):(.+)$/)?.[1]??null}function kq(_){if(_.chunk_id)return _.chunk_id;return _.ref.match(/^chunk:(.+)$/)?.[1]??null}function Cq(_,$,U){let j=VI($.status)||Boolean($.expires_at&&$.expires_at<=U);if(!$.ref||!oY($.ref))return{ref:$.ref,valid:!1,resolved_by:"none",stale:j,reason:"invalid_reference"};let D=qq($),N=_.query(`SELECT c.id, c.source_uri, c.chunk_id, ch.metadata_json AS chunk_metadata_json, + metadata_json = excluded.metadata_json`,[D,$,U.revision,U.hash,Y_(U.raw.extracted_text_ref)??null,JSON.stringify(j),N]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,U.revision)?.id??null}function Uq(_,$,U){if(U.previousRevision){let N=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,U.previousRevision).map((D)=>D.id);if(N.length>0)return N}if(U.revision)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,U.revision).map((N)=>N.id);if(U.hash)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all($,U.hash).map((N)=>N.id);return _.query("SELECT id FROM source_revisions WHERE source_id = ?").all($).map((N)=>N.id)}function Dq(_,$){let U=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),N=0,D=0;for(let I of U){let E=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(I.id);N+=E?.n??0;let W=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(I.id);D+=W?.n??0,_.run("DELETE FROM vector_index_entries WHERE chunk_id = ?",[I.id]),_.run("DELETE FROM chunk_embeddings WHERE chunk_id = ?",[I.id]),_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[I.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 = ?",[ZR(j?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:U.length,embeddingsDeleted:N,vectorEntriesDeleted:D}}function Nq(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function jq(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function Iq(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function HR(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)R6(_.dbPath,_.safetyPolicy);c(_.dbPath);let U=await sH(_.input,_.config,_.safetyPolicy),N=aH(U),D=v(_.dbPath),j=`run_${uH()}`;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:N.length}),$,$]);let I=new Set,E=new Set,W=0,J=0,L=0,S=0,X=0,z=0,Y=0;return T_(D,{event_type:"source_read",action:_.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:_.input,decision:"allow",metadata:{events:N.length,read_only:!0},created_at:$}),N.forEach((P,O)=>{let R=pH(P,$),Q=_q(D,R,$);I.add(Q);let B=$q(D,Q,R,$);if(B)E.add(B);let G=Uq(D,Q,R);for(let T of G){E.add(T);let F=Dq(D,T);W+=F.chunksDeleted,J+=F.embeddingsDeleted,L+=F.vectorEntriesDeleted,S+=1}if(Nq(R.eventType,R.status))X+=1;if(jq(R.eventType))z+=1;if(Iq(R.eventType)||R.acl!==void 0)Y+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[jE("evt",`${j}\x00${O}\x00${R.sourceRef}\x00${R.eventType}`),j,"info",R.eventType,JSON.stringify({source_ref:R.sourceRef,source_uri:R.sourceUri,revision:R.revision,hash:R.hash,status:R.status,affected_revisions:G.length}),R.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, ?, ?)`,[jE("usage",j),j,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),T_(D,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:j,events:N.length,sources:I.size,revisions:E.size,chunks_deleted:W,embeddings_deleted:J,vector_entries_deleted:L},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:j,events_seen:N.length,sources_touched:I.size,revisions_touched:E.size,chunks_deleted:W,embeddings_deleted:J,vector_entries_deleted:L,stale_revisions:S,deleted_sources:X,moved_sources:z,permission_updates:Y}})()}finally{D.close()}}import{spawnSync as bR}from"child_process";import{hostname as $0,platform as CR,userInfo as Eq}from"os";var Aq=1,Wq="@hasna/machines",Jq="@hasna/machines/consumer";function d(_){return typeof _==="string"&&_.length>0?_:null}function $4(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function p_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function LE(_){return typeof _==="boolean"?_:null}function Lq(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function SE(_=CR()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function Z1(_){let $=bR("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function RU(_,$){return await _($)}async function H1(_,$){return(await RU($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function Sq(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function qR(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function Pq(_,$){let U=new Map;if(!await H1("tailscale",_))return $.push("tailscale_not_available"),{peers:U,selfKey:null};let N=await RU(_,"tailscale status --json");if(N.exitCode!==0)return $.push(`tailscale_status_failed:${N.stderr.trim()||N.exitCode}`),{peers:U,selfKey:null};let D=Sq(N.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:U,selfKey:null};let j=(I)=>{let E=qR(I);if(E&&I)U.set(E,I)};j(D.Self);for(let I of Object.values(D.Peer??{}))j(I);return{peers:U,selfKey:qR(D.Self)}}function Oq(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??$0()}function zq(_){let $=_.machineId===_.localMachineId||_.machineId===$0(),U=_.peer?.DNSName?.replace(/\.$/,"")??null,N=U??_.peer?.TailscaleIPs?.[0]??null,D=[];if($)D.push({kind:"local",target:"localhost",reachable:!0});if(N)D.push({kind:"tailscale",target:N,reachable:_.peer?.Online??null});let j=D.find((I)=>I.kind==="local")??D.find((I)=>I.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?$0():_.machineId),local:$,platform:_.peer?.OS?SE(_.peer.OS):$?SE():null,os:_.peer?.OS??($?CR():null),user:$?Eq().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 Xq(_){if(!Array.isArray(_))return[];return _.map(($)=>{let U=p_($),N=d(U.kind)??"unknown";return{kind:N==="local"||N==="lan"||N==="tailscale"||N==="ssh"?N:"unknown",target:d(U.target)??"",reachable:LE(U.reachable)}}).filter(($)=>$.target.length>0)}function Rq(_,$){let U=d(_.machine_id)??d(_.hostname)??"unknown",N=p_(_.tailscale),D=p_(_.ssh),j=d(_.heartbeat_status),I=d(D.route);return{machine_id:U,hostname:d(_.hostname),local:U===$,platform:d(_.platform),os:d(_.os),user:d(_.user),workspace_path:d(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:j==="online"||j==="offline"?j:"unknown",last_heartbeat_at:d(_.last_heartbeat_at),tailscale:{dns_name:d(N.dns_name),ips:$4(N.ips),online:LE(N.online),active:LE(N.active),last_seen:d(N.last_seen)},ssh:{address:d(D.address),route:I==="local"||I==="lan"||I==="tailscale"?I:"unknown",command_target:d(D.command_target)},route_hints:Xq(_.route_hints),tags:$4(_.tags),metadata:p_(_.metadata),source:"open-machines"}}function Yq(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function R$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function q1(_){return _.adapterMode??"auto"}function wR(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let U=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof U==="number"?U:null}function PE(_){return typeof _.schema_version==="number"?_.schema_version:null}function k1(_){return typeof _==="number"&&_>Aq?_:null}function OE(_){return{package:Wq,entrypoint:Jq,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function W_(_,$="adapter_disabled"){return OE({mode:_,implementation:"disabled",available:!1,error:$})}function zE(_,$){let U=k1(wR($));if(!U)return null;return OE({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${U}`,contractVersion:U})}function XE(_){return OE({mode:_,implementation:"cli",available:!0})}function RE(_,$){return OE({mode:_,implementation:"sdk",available:!0,contractVersion:wR($)})}function YE(_){try{return JSON.parse(_)}catch{return null}}function U0(_){return`'${_.replace(/'/g,"'\\''")}'`}function QE(_){return["machines",..._].map(U0).join(" ")}function GE(_){return _==="local"||_==="localhost"||_===$0()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function Qq(_,$){let U=GE(_),N=U?$:`ssh ${U0(_)} ${U0($)}`,D=bR("bash",["-c",N],{encoding:"utf8",env:process.env});return{stdout:D.stdout||"",stderr:D.stderr||"",exitCode:D.status??1,source:U?"local":"ssh"}}async function vR(_,$,U){return await _($,U)}function s4(_,$){if($)return"ok";return _===!1?"warn":"fail"}function _0(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function Gq(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function Tq(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function fR(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function xR(_){let $={};for(let U of _.split(/\r?\n/)){let N=U.indexOf("=");if(N<=0)continue;$[U.slice(0,N)]=U.slice(N+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 yR(_,$,U){let N=[`cmd=${U0($.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 vR(U,_,N),j=xR(D.stdout);return{path:j.path||null,version:j.version?Tq(j.version):null,stderr:D.stderr,source:D.source??(GE(_)?"local":"ssh")}}function kR(_){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 Vq(_,$,U){let N=[`path=${U0($.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" "$(${kR("name")})"; printf "version=%s\\n" "$(${kR("version")})"; fi`].join("; "),D=await vR(U,_,N),j=xR(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??(GE(_)?"local":"ssh")}}async function Bq(_,$,U){let N=await yR(_,$,U),D=Boolean(N.path),j=[Z6({id:`command:${_0($.command)}:path`,kind:"command",status:s4($.required,D),target:$.command,expected:"available",actual:N.path??"missing",detail:D?`found at ${N.path}`:N.stderr||"command missing",source:N.source})];if($.expectedVersion){let I=fR(N.version??"");j.push(Z6({id:`command:${_0($.command)}:version`,kind:"command",status:I===$.expectedVersion?"ok":s4($.required,!1),target:$.command,expected:$.expectedVersion,actual:I??N.version??"missing",detail:I?`version output: ${N.version}`:"version unavailable",source:N.source}))}return j}async function Fq(_,$,U){let N=$.command??Gq($.name),D=await yR(_,{command:N,expectedVersion:$.expectedVersion,required:$.required},U),j=Boolean(D.path),I=[Z6({id:`package:${_0($.name)}:command`,kind:"package",status:s4($.required,j),target:$.name,expected:N,actual:D.path??"missing",detail:j?`${N} found at ${D.path}`:`${N} command missing`,source:D.source})];if($.expectedVersion){let E=fR(D.version??"");I.push(Z6({id:`package:${_0($.name)}:version`,kind:"package",status:E===$.expectedVersion?"ok":s4($.required,!1),target:$.name,expected:$.expectedVersion,actual:E??D.version??"missing",detail:E?`version output: ${D.version}`:"version unavailable",source:D.source}))}return I}async function Kq(_,$,U){let N=await Vq(_,$,U),D=$.label??$.path,j=[Z6({id:`workspace:${_0(D)}:path`,kind:"workspace",status:s4($.required,N.exists),target:D,expected:$.path,actual:N.exists?"exists":"missing",detail:N.exists?`workspace exists at ${$.path}`:N.stderr||`workspace missing at ${$.path}`,source:N.source})];if($.expectedPackageName)j.push(Z6({id:`workspace:${_0(D)}:package-name`,kind:"workspace",status:N.packageName===$.expectedPackageName?"ok":s4($.required,!1),target:D,expected:$.expectedPackageName,actual:N.packageName??(N.packageJson?"missing-name":"missing-package-json"),detail:N.packageJson?"package.json inspected":"package.json missing",source:N.source}));if($.expectedVersion)j.push(Z6({id:`workspace:${_0(D)}:version`,kind:"workspace",status:N.version===$.expectedVersion?"ok":s4($.required,!1),target:D,expected:$.expectedVersion,actual:N.version??(N.packageJson?"missing-version":"missing-package-json"),detail:N.packageJson?"package.json inspected":"package.json missing",source:N.source}));return j}function uR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:W6,workspace_home:$.knowledge?.workspace_home??null},message:Yq(_.source,_.machines.length)}}async function TE(){try{return await import("@hasna/machines/consumer")}catch(_){if(R$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function hR(_,$,U){let N=p_(_);if(k1(PE(N)))return null;let D=Array.isArray(N.machines)?N.machines:null,j=d(N.local_machine_id);if(!D||!j)return null;let I={ok:!0,source:"open-machines",generated_at:d(N.generated_at)??($.now??new Date).toISOString(),local_machine_id:j,local_hostname:d(N.local_hostname)??$0(),current_platform:d(N.current_platform)??SE(),machines:D.map((E)=>Rq(E,j)),warnings:$4(N.warnings),adapter:U};return uR(I,$)}function IE(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function rR(_){let $=p_(_),U=d($.observed_at),N=d($.source_authority);if(!U||!N)return null;return{observed_at:U,verified_at:d($.verified_at),expires_at:d($.expires_at),ttl_ms:Lq($.ttl_ms),source_authority:N,confidence:d($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:$4($.reasons)}}function cR(_,$){let U=p_(_);if(k1(PE(U)))return null;let N=d(U.target)??d(U.command_target);if(U.ok!==!0||!N)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:N,route:IE(U.route),targetKind:IE(j?.kind)??IE(U.source)??IE(U.route),confidence:d(U.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:rR(U.cacheability),warnings:$4(U.warnings)}}function dO(_){let $=p_(_);return{path:d($.path),source:d($.source)??"unresolved"}}function Mq(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=p_($),N=d(U.id),D=d(U.status),j=d(U.severity),I=d(U.message);if(!N||!D||!j||!I)return[];return[{id:N,status:D,severity:j,message:I,path:d(U.path),source:d(U.source)??"unknown",path_exists:LE(U.path_exists)}]})}function gq(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let U=p_($),N=d(U.id),D=d(U.reason),j=$4(U.command),I=d(U.shell_command),E=$4(U.apply_command),W=d(U.apply_shell_command);if(!N||!D||!j.length||!I||!E.length||!W)return[];return[{id:N,reason:D,command:j,shell_command:I,apply_command:E,apply_shell_command:W}]})}function Zq(_){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"],N=[...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(U0).join(" "),apply_command:N,apply_shell_command:N.map(U0).join(" ")}]}function mR(_,$,U){let N=p_(_);if(k1(PE(N)))return null;let D=p_(N.paths),j=p_(N.project),I=p_(N.machine),E=dO(D.project_root),W=dO(D.workspace_root),J=dO(D.open_files_root);if(N.ok!==!0||!E.path)return null;let L=typeof N.evidence==="object"&&N.evidence!==null?N.evidence:null,S=d(N.requested_machine_id)??$.machineId,X=d(j.project_id)??$.projectId??"open-knowledge",z=d(j.repo_name)??$.repoName??$.projectId??"open-knowledge",Y=d(I.trust_status)??"unknown",P=d(I.auth_status)??"unknown",O=$4(N.warnings),R=Mq(N.diagnostics),Q=gq(N.repair_hints);return{ok:!0,source:"open-machines",adapter:U,requested_machine_id:S,machine_id:d(N.machine_id),project_id:X,repo_name:z,project_root:E.path,project_root_source:E.source,workspace_root:W.path,workspace_root_source:W.source,open_files_root:J.path,open_files_root_source:J.source,trust_status:Y,auth_status:P,current:I.current===!0,primary:I.primary===!0,diagnostics:R,repair_hints:Q.length?Q:Zq({requestedMachineId:S,projectId:X,repoName:z,openFilesRepoName:$.openFilesRepoName,warnings:O,projectRootSource:E.source,openFilesRootSource:J.source,trustStatus:Y,authStatus:P}),evidence:L,cacheability:rR(N.cacheability),warnings:O}}async function EE(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let N=["topology","--json"];if(_.includeTailscale===!1)N.push("--no-tailscale");let D=await RU(U,QE(N));if(D.exitCode!==0)return null;return hR(YE(D.stdout),_,$)}async function F6(_,$){let U=[];if($.error)U.push(`open_machines_unavailable:${$.error}`);let N=_.runner??Z1,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await Pq(N,U),j=Oq(D.selfKey),E=[...new Set([j,...D.peers.keys()])].sort().map((W)=>zq({machineId:W,localMachineId:j,peer:D.peers.get(W)}));return uR({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:j,local_hostname:$0(),current_platform:SE(),machines:E,warnings:U,adapter:$},_)}async function nR(_={}){let $=q1(_);if($==="disabled")return await F6(_,W_($));let U=XE($);try{if($!=="cli"){let D=await(_.loadOpenMachines??TE)(),j=zE($,D);if(j)return await F6(_,j);let I=RE($,D);if(D?.discoverMachineTopology){let E=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),W=hR(E,_,I);if(W)return W;if($==="sdk")return await F6(_,W_($,"invalid_topology_shape"));return await EE(_,U)??await F6(_,W_($,"invalid_topology_shape"))}if($==="sdk")return await F6(_,W_($,"missing_discoverMachineTopology"));return await EE(_,U)??await F6(_,W_($,"missing_discoverMachineTopology"))}return await EE(_,U)??await F6(_,W_($,"machines_cli_unavailable"))}catch(N){if($==="sdk")return await F6(_,W_($,R$(N)));return await EE(_,U)??await F6(_,W_($,R$(N)))}}async function AE(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let N=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)N.push("--no-tailscale");let D=await RU(U,QE(N));if(D.exitCode!==0)return null;return cR(YE(D.stdout),$)}function K6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function lO(_){let $=q1(_);if($==="disabled")return K6(_.machineId,W_($));let U=XE($);try{if($!=="cli"){let D=await(_.loadOpenMachines??TE)(),j=zE($,D);if(j)return K6(_.machineId,j);let I=RE($,D);if(D?.resolveMachineRoute){let E=cR(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),I);if(E)return E;if($==="sdk")return K6(_.machineId,W_($,"invalid_route_shape"));return await AE(_,U)??K6(_.machineId,W_($,"invalid_route_shape"))}if($==="sdk")return K6(_.machineId,W_($,"missing_resolveMachineRoute"));return await AE(_,U)??K6(_.machineId,W_($,"missing_resolveMachineRoute"))}return await AE(_,U)??K6(_.machineId,W_($,"machines_cli_unavailable"))}catch(N){if($==="sdk")return{...K6(_.machineId,W_($,R$(N))),warnings:[R$(N)]};return await AE(_,U)??{...K6(_.machineId,W_($,R$(N))),warnings:[R$(N)]}}}async function WE(_,$){let U=_.runner??Z1;if(!await H1("machines",U))return null;let N=_.projectId??"open-knowledge",D=_.repoName??"open-knowledge",j=["workspace","resolve","--machine",_.machineId,"--project",N,"--repo",D,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)j.push("--no-tailscale");let I=await RU(U,QE(j));if(I.exitCode!==0)return null;return mR(YE(I.stdout),_,$)}function Hq(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:W_(q1(_),"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 M6(_,$,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 VE(_){let $=Hq(_);if($)return $;let U=q1(_);if(U==="disabled")return M6(_,["adapter_disabled"],W_(U));let N=XE(U);try{if(U!=="cli"){let j=await(_.loadOpenMachines??TE)(),I=zE(U,j);if(I)return M6(_,[`unsupported_contract_version:${I.contract_version}`],I);let E=RE(U,j);if(j?.resolveMachineWorkspace){let W=mR(j.resolveMachineWorkspace({machineId:_.machineId,projectId:_.projectId??"open-knowledge",repoName:_.repoName??"open-knowledge",openFilesRepoName:_.openFilesRepoName??"open-files",includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),_,E);if(W)return W;if(U==="sdk")return M6(_,["invalid_workspace_shape"],W_(U,"invalid_workspace_shape"));return await WE(_,N)??M6(_,["invalid_workspace_shape"],W_(U,"invalid_workspace_shape"))}if(U==="sdk")return M6(_,["missing_resolveMachineWorkspace"],W_(U,"missing_resolveMachineWorkspace"));return await WE(_,N)??M6(_,["missing_resolveMachineWorkspace"],W_(U,"missing_resolveMachineWorkspace"))}return await WE(_,N)??M6(_,["machines_cli_unavailable"],W_(U,"machines_cli_unavailable"))}catch(D){if(U==="sdk")return M6(_,[R$(D)],W_(U,R$(D)));return await WE(_,N)??M6(_,[R$(D)],W_(U,R$(D)))}}function dR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:W6,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 lR(_,$,U){let N=p_(_);if(k1(PE(N)))return null;let D=Array.isArray(N.checks)?N.checks:null,j=d(N.machine_id)??d(N.machineId);if(!D||!j)return null;let I=D.map((W)=>{let J=p_(W),L=d(J.status),S=d(J.kind),X=d(J.source);return Z6({id:d(J.id)??"unknown",kind:S==="command"||S==="package"||S==="workspace"?S:"command",status:L==="ok"||L==="warn"||L==="fail"?L:"fail",target:d(J.target)??"unknown",expected:d(J.expected),actual:d(J.actual),detail:d(J.detail)??"",source:X==="local"||X==="ssh"||X==="open-machines"?X:"open-machines"})}),E={ok:I.filter((W)=>W.status==="ok").length,warn:I.filter((W)=>W.status==="warn").length,fail:I.filter((W)=>W.status==="fail").length};return dR({ok:E.fail===0,source:"open-machines",machine_id:j,generated_at:d(N.generated_at)??($.now??new Date).toISOString(),checks:I,summary:E,adapter:U},$)}function qq(_){if(!_.runner)return Z1;return async($)=>{let U=await _.runner?.("local",$);return{stdout:U?.stdout??"",stderr:U?.stderr??"",exitCode:U?.exitCode??1}}}function kq(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function bq(_){let $=[_.expectedPackageName,_.expectedVersion].filter((N)=>Boolean(N)).join(":"),U=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${U}`:U}async function JE(_,$){let U=qq(_);if(!await H1("machines",U))return null;let N=["compatibility","--json","--machine",_.machineId??"local"];for(let j of _.commands??[])N.push("--command",j.expectedVersion?`${j.command}:${j.expectedVersion}`:j.command);for(let j of _.packages??[])N.push("--package",kq(j));for(let j of _.workspaces??[])N.push("--workspace",bq(j));let D=await RU(U,QE(N));if(D.exitCode!==0)return null;return lR(YE(D.stdout),_,$)}async function g6(_,$){let U=_.machineId??$0(),N=_.runner??Qq,D=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],j=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],I=_.workspaces??[],E=[];for(let J of D)E.push(...await Bq(U,J,N));for(let J of j)E.push(...await Fq(U,J,N));for(let J of I)E.push(...await Kq(U,J,N));if($.error)E.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:GE(U)?"local":"ssh"}));let W={ok:E.filter((J)=>J.status==="ok").length,warn:E.filter((J)=>J.status==="warn").length,fail:E.filter((J)=>J.status==="fail").length};return dR({ok:W.fail===0,source:"local",machine_id:U,generated_at:(_.now??new Date).toISOString(),checks:E,summary:W,adapter:$},_)}async function iR(_={}){let $=q1(_);if($==="disabled")return await g6(_,W_($));let U=XE($);try{if($!=="cli"){let D=await(_.loadOpenMachines??TE)(),j=zE($,D);if(j)return await g6(_,j);let I=RE($,D);if(D?.checkMachineCompatibility){let E=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),W=lR(E,_,I);if(W)return W;if($==="sdk")return await g6(_,W_($,"invalid_compatibility_shape"));return await JE(_,U)??await g6(_,W_($,"invalid_compatibility_shape"))}if($==="sdk")return await g6(_,W_($,"missing_checkMachineCompatibility"));return await JE(_,U)??await g6(_,W_($,"missing_checkMachineCompatibility"))}return await JE(_,U)??await g6(_,W_($,"machines_cli_unavailable"))}catch(N){if($==="sdk")return await g6(_,W_($,R$(N)));return await JE(_,U)??await g6(_,W_($,R$(N)))}}import{createHash as tR}from"crypto";function tO(_,$,U=24){return`${_}_${tR("sha256").update($).digest("hex").slice(0,U)}`}function YU(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function Cq(_){return YU(_).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")}function x$(_,$){try{return JSON.parse(_)}catch{return $}}function U4(_){return{..._,record_kind:_.record_kind,source_kind:_.source_kind,status:_.status,source_refs:x$(_.source_refs_json,[]),evidence_refs:x$(_.evidence_refs_json,[]),requires_approval:_.requires_approval===1,checks:x$(_.checks_json,oR()),metadata:x$(_.metadata_json,{})}}function oO(_){return{..._,record_kind:_.record_kind,source_refs:x$(_.source_refs_json,[]),evidence_refs:x$(_.evidence_refs_json,[]),metadata:x$(_.metadata_json,{})}}function oR(){return{citations:{provided:0,valid:0,invalid:0,entries:[]},invalid_source_refs:[],stale_refs:[],duplicate_record_ids:[],duplicate_candidate_ids:[],conflicting_record_ids:[],conflicting_candidate_ids:[],approval_reasons:[]}}function wq(_){let $=typeof _==="string"?{ref:_}:_;return{ref:YU($.ref),citation_id:$.citation_id??null,chunk_id:$.chunk_id??null,revision:$.revision??null,hash:$.hash??null,observed_at:$.observed_at??null,expires_at:$.expires_at??null,status:$.status??null}}function pR(_){try{let $=new URL(_);return $.protocol.length>1&&($.hostname.length>0||$.pathname.length>0)}catch{return/^(?:cite|citation|chunk|run):[A-Za-z0-9._:-]+$/.test(_)}}function BE(_){return["deleted","stale","invalidated","reindex_required","expired","superseded"].includes((_??"").toLowerCase())}function iO(_){if(!_)return null;let $=x$(_,{});if($.stale===!0)return"stale";return typeof $.status==="string"?$.status:null}function vq(_){if(_.citation_id)return _.citation_id;return _.ref.match(/^(?:cite|citation):(.+)$/)?.[1]??null}function fq(_){if(_.chunk_id)return _.chunk_id;return _.ref.match(/^chunk:(.+)$/)?.[1]??null}function xq(_,$,U){let N=BE($.status)||Boolean($.expires_at&&$.expires_at<=U);if(!$.ref||!pR($.ref))return{ref:$.ref,valid:!1,resolved_by:"none",stale:N,reason:"invalid_reference"};let D=vq($),j=_.query(`SELECT c.id, c.source_uri, c.chunk_id, ch.metadata_json AS chunk_metadata_json, sr.hash AS revision_hash, sr.revision, sr.id AS source_revision_id, sr.source_id, sr.created_at AS revision_created_at, (SELECT MAX(newest.created_at) FROM source_revisions newest WHERE newest.source_id = sr.source_id) AS latest_revision_at @@ -971,46 +971,46 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` LEFT JOIN source_revisions sr ON sr.id = ch.source_revision_id WHERE c.id = ? OR c.source_uri = ? ORDER BY c.created_at DESC - LIMIT 1`).get(D,$.ref);if(N){let J=Boolean($.hash&&N.revision_hash&&$.hash!==N.revision_hash),L=Boolean($.revision&&N.revision&&$.revision!==N.revision),S=Boolean(N.revision_created_at&&N.latest_revision_at&&N.revision_created_at<N.latest_revision_at),X=j||VI(lO(N.chunk_metadata_json))||J||L||S;return{ref:$.ref,valid:!0,resolved_by:"citation",stale:X,reason:J?"hash_mismatch":L?"revision_mismatch":S?"newer_source_revision":X?"stale_citation":null}}let E=kq($);if(E){let J=_.query(`SELECT ch.metadata_json, sr.hash, sr.revision + LIMIT 1`).get(D,$.ref);if(j){let J=Boolean($.hash&&j.revision_hash&&$.hash!==j.revision_hash),L=Boolean($.revision&&j.revision&&$.revision!==j.revision),S=Boolean(j.revision_created_at&&j.latest_revision_at&&j.revision_created_at<j.latest_revision_at),X=N||BE(iO(j.chunk_metadata_json))||J||L||S;return{ref:$.ref,valid:!0,resolved_by:"citation",stale:X,reason:J?"hash_mismatch":L?"revision_mismatch":S?"newer_source_revision":X?"stale_citation":null}}let I=fq($);if(I){let J=_.query(`SELECT ch.metadata_json, sr.hash, sr.revision FROM chunks ch LEFT JOIN source_revisions sr ON sr.id = ch.source_revision_id - WHERE ch.id = ?`).get(E);if(!J)return{ref:$.ref,valid:!1,resolved_by:"none",stale:j,reason:"chunk_not_found"};let L=Boolean($.hash&&J.hash&&$.hash!==J.hash||$.revision&&J.revision&&$.revision!==J.revision),S=j||VI(lO(J.metadata_json))||L;return{ref:$.ref,valid:!0,resolved_by:"chunk",stale:S,reason:L?"source_version_mismatch":S?"stale_chunk":null}}let I=_.query("SELECT metadata_json FROM sources WHERE uri = ? LIMIT 1").get($.ref);if(I){let J=j||VI(lO(I.metadata_json));return{ref:$.ref,valid:!0,resolved_by:"source",stale:J,reason:J?"stale_source":null}}let W=$.ref.match(/^knowledge:\/\/project\/runs\/([^/?#]+)/);if(W){if(!_.query("SELECT id FROM runs WHERE id = ?").get(decodeURIComponent(W[1])))return{ref:$.ref,valid:!1,resolved_by:"none",stale:j,reason:"run_not_found"};return{ref:$.ref,valid:!0,resolved_by:"run",stale:j,reason:j?"expired_evidence":null}}return{ref:$.ref,valid:!0,resolved_by:"external_uri",stale:j,reason:j?"expired_evidence":null}}function D4(_,$){return _.query("SELECT * FROM knowledge_promotion_candidates WHERE id = ?").get($)??null}function oO(_,$,U){let j=x$($.evidence_refs_json,[]),D=x$($.source_refs_json,[]),N=x$($.metadata_json,{}),E=tY();E.invalid_source_refs=D.filter((S)=>!oY(S)),E.citations.entries=j.map((S)=>Cq(_,S,U)),E.citations.provided=j.length,E.citations.valid=E.citations.entries.filter((S)=>S.valid).length,E.citations.invalid=E.citations.entries.length-E.citations.valid,E.stale_refs=E.citations.entries.filter((S)=>S.stale).map((S)=>S.ref),E.duplicate_record_ids=_.query(`SELECT id FROM durable_knowledge_records + WHERE ch.id = ?`).get(I);if(!J)return{ref:$.ref,valid:!1,resolved_by:"none",stale:N,reason:"chunk_not_found"};let L=Boolean($.hash&&J.hash&&$.hash!==J.hash||$.revision&&J.revision&&$.revision!==J.revision),S=N||BE(iO(J.metadata_json))||L;return{ref:$.ref,valid:!0,resolved_by:"chunk",stale:S,reason:L?"source_version_mismatch":S?"stale_chunk":null}}let E=_.query("SELECT metadata_json FROM sources WHERE uri = ? LIMIT 1").get($.ref);if(E){let J=N||BE(iO(E.metadata_json));return{ref:$.ref,valid:!0,resolved_by:"source",stale:J,reason:J?"stale_source":null}}let W=$.ref.match(/^knowledge:\/\/project\/runs\/([^/?#]+)/);if(W){if(!_.query("SELECT id FROM runs WHERE id = ?").get(decodeURIComponent(W[1])))return{ref:$.ref,valid:!1,resolved_by:"none",stale:N,reason:"run_not_found"};return{ref:$.ref,valid:!0,resolved_by:"run",stale:N,reason:N?"expired_evidence":null}}return{ref:$.ref,valid:!0,resolved_by:"external_uri",stale:N,reason:N?"expired_evidence":null}}function D4(_,$){return _.query("SELECT * FROM knowledge_promotion_candidates WHERE id = ?").get($)??null}function pO(_,$,U){let N=x$($.evidence_refs_json,[]),D=x$($.source_refs_json,[]),j=x$($.metadata_json,{}),I=oR();I.invalid_source_refs=D.filter((S)=>!pR(S)),I.citations.entries=N.map((S)=>xq(_,S,U)),I.citations.provided=N.length,I.citations.valid=I.citations.entries.filter((S)=>S.valid).length,I.citations.invalid=I.citations.entries.length-I.citations.valid,I.stale_refs=I.citations.entries.filter((S)=>S.stale).map((S)=>S.ref),I.duplicate_record_ids=_.query(`SELECT id FROM durable_knowledge_records WHERE record_kind = ? AND content_hash = ? AND status IN ('active', 'conflicted') - ORDER BY created_at`).all($.record_kind,$.content_hash).map((S)=>S.id),E.duplicate_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates + ORDER BY created_at`).all($.record_kind,$.content_hash).map((S)=>S.id),I.duplicate_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates WHERE id <> ? AND record_kind = ? AND content_hash = ? AND status NOT IN ('rejected') - ORDER BY created_at`).all($.id,$.record_kind,$.content_hash).map((S)=>S.id),E.conflicting_record_ids=_.query(`SELECT id FROM durable_knowledge_records + ORDER BY created_at`).all($.id,$.record_kind,$.content_hash).map((S)=>S.id),I.conflicting_record_ids=_.query(`SELECT id FROM durable_knowledge_records WHERE record_kind = ? AND canonical_key = ? AND content_hash <> ? AND status IN ('active', 'conflicted') - ORDER BY created_at`).all($.record_kind,$.canonical_key,$.content_hash).map((S)=>S.id),E.conflicting_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates + ORDER BY created_at`).all($.record_kind,$.canonical_key,$.content_hash).map((S)=>S.id),I.conflicting_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates WHERE id <> ? AND record_kind = ? AND canonical_key = ? AND content_hash <> ? AND status IN ('ready', 'needs_approval', 'promoted') - ORDER BY created_at`).all($.id,$.record_kind,$.canonical_key,$.content_hash).map((S)=>S.id);let I=E.duplicate_record_ids[0]??E.duplicate_candidate_ids[0]??null,W=D.length===0||j.length===0||E.invalid_source_refs.length>0||E.citations.invalid>0;if($.record_kind==="decision"||$.record_kind==="claim")E.approval_reasons.push(`${$.record_kind}_requires_review`);if(N.requested_approval===!0)E.approval_reasons.push("explicit_approval_request");if(E.stale_refs.length>0)E.approval_reasons.push("stale_evidence");if(E.conflicting_record_ids.length>0||E.conflicting_candidate_ids.length>0)E.approval_reasons.push("conflicting_knowledge");let J=E.approval_reasons.length>0,L=I?"duplicate":W?"blocked":J?"needs_approval":"ready";return _.run(`UPDATE knowledge_promotion_candidates + ORDER BY created_at`).all($.id,$.record_kind,$.canonical_key,$.content_hash).map((S)=>S.id);let E=I.duplicate_record_ids[0]??I.duplicate_candidate_ids[0]??null,W=D.length===0||N.length===0||I.invalid_source_refs.length>0||I.citations.invalid>0;if($.record_kind==="decision"||$.record_kind==="claim")I.approval_reasons.push(`${$.record_kind}_requires_review`);if(j.requested_approval===!0)I.approval_reasons.push("explicit_approval_request");if(I.stale_refs.length>0)I.approval_reasons.push("stale_evidence");if(I.conflicting_record_ids.length>0||I.conflicting_candidate_ids.length>0)I.approval_reasons.push("conflicting_knowledge");let J=I.approval_reasons.length>0,L=E?"duplicate":W?"blocked":J?"needs_approval":"ready";return _.run(`UPDATE knowledge_promotion_candidates SET status = ?, requires_approval = ?, checks_json = ?, duplicate_of = ?, updated_at = ?, reviewed_at = ? - WHERE id = ?`,[L,J?1:0,JSON.stringify(E),I,U,U,$.id]),U4(D4(_,$.id))}function pY(_,$){let U=["lesson","decision","claim"],j=["memento","session","report"];if(!U.includes($.kind))throw Error("Promotion kind must be lesson, decision, or claim.");if(!j.includes($.sourceKind))throw Error("Promotion source kind must be memento, session, or report.");let D=d_(RU($.title)),N=d_(RU($.content));if(!D.text)throw Error("Promotion title is required.");if(!N.text)throw Error("Promotion content is required.");let E=Array.from(new Set($.sourceRefs.map(RU).filter(Boolean))).sort(),I=$.evidenceRefs.map(Hq).filter((P)=>P.ref.length>0).sort((P,O)=>P.ref.localeCompare(O.ref)),W=Zq($.canonicalKey??D.text);if(!W)throw Error("Promotion canonical key is empty after normalization.");let J=`sha256:${iY("sha256").update(`${$.kind}\x00${RU(N.text).toLowerCase()}`).digest("hex")}`,L=iO("promote",[$.sourceKind,$.kind,W,J,...E].join("\x00")),S=iO("promotion",L),X=($.now??new Date).toISOString(),z={...$.metadata??{},requested_approval:$.requiresApproval===!0,confidence:$.confidence??null,valid_from:$.validFrom??X,valid_to:$.validTo??null,redactions:D.findings.length+N.findings.length};c(_);let R=v(_);try{let P=R.query("SELECT * FROM knowledge_promotion_candidates WHERE idempotency_key = ?").get(L);if(P)return{created:!1,candidate:U4(P)};R.run(`INSERT INTO knowledge_promotion_candidates ( + WHERE id = ?`,[L,J?1:0,JSON.stringify(I),E,U,U,$.id]),U4(D4(_,$.id))}function aR(_,$){let U=["lesson","decision","claim"],N=["memento","session","report"];if(!U.includes($.kind))throw Error("Promotion kind must be lesson, decision, or claim.");if(!N.includes($.sourceKind))throw Error("Promotion source kind must be memento, session, or report.");let D=d_(YU($.title)),j=d_(YU($.content));if(!D.text)throw Error("Promotion title is required.");if(!j.text)throw Error("Promotion content is required.");let I=Array.from(new Set($.sourceRefs.map(YU).filter(Boolean))).sort(),E=$.evidenceRefs.map(wq).filter((P)=>P.ref.length>0).sort((P,O)=>P.ref.localeCompare(O.ref)),W=Cq($.canonicalKey??D.text);if(!W)throw Error("Promotion canonical key is empty after normalization.");let J=`sha256:${tR("sha256").update(`${$.kind}\x00${YU(j.text).toLowerCase()}`).digest("hex")}`,L=tO("promote",[$.sourceKind,$.kind,W,J,...I].join("\x00")),S=tO("promotion",L),X=($.now??new Date).toISOString(),z={...$.metadata??{},requested_approval:$.requiresApproval===!0,confidence:$.confidence??null,valid_from:$.validFrom??X,valid_to:$.validTo??null,redactions:D.findings.length+j.findings.length};c(_);let Y=v(_);try{let P=Y.query("SELECT * FROM knowledge_promotion_candidates WHERE idempotency_key = ?").get(L);if(P)return{created:!1,candidate:U4(P)};Y.run(`INSERT INTO knowledge_promotion_candidates ( id, record_kind, title, content, canonical_key, content_hash, source_kind, source_refs_json, evidence_refs_json, status, requires_approval, checks_json, idempotency_key, metadata_json, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'pending', 0, '{}', ?, ?, ?, ?)`,[S,$.kind,D.text,N.text,W,J,$.sourceKind,JSON.stringify(E),JSON.stringify(I),L,JSON.stringify(z),X,X]);let O=[...D.findings,...N.findings];if(O.length>0)b0(R,{source_uri:E[0]??`knowledge://promotion/${S}`,findings:O,metadata:{promotion_candidate_id:S},created_at:X});return G_(R,{event_type:"knowledge_promotion",action:"enqueue_promotion",target_uri:`knowledge://promotion/${S}`,decision:"info",metadata:{record_kind:$.kind,source_kind:$.sourceKind,source_refs:E},created_at:X}),{created:!0,candidate:oO(R,D4(R,S),X)}}finally{R.close()}}function aY(_,$){c(_);let U=v(_);try{let j=D4(U,$);return j?U4(j):null}finally{U.close()}}function eY(_,$={}){c(_);let U=Math.max(1,Math.min($.limit??50,200)),j=[],D=[];if($.status==="inbox"||!$.status)j.push("status IN ('ready', 'needs_approval', 'blocked')");else j.push("status = ?"),D.push($.status);if($.kind)j.push("record_kind = ?"),D.push($.kind);let N=v(_);try{return N.query(`SELECT * FROM knowledge_promotion_candidates - WHERE ${j.join(" AND ")} + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'pending', 0, '{}', ?, ?, ?, ?)`,[S,$.kind,D.text,j.text,W,J,$.sourceKind,JSON.stringify(I),JSON.stringify(E),L,JSON.stringify(z),X,X]);let O=[...D.findings,...j.findings];if(O.length>0)C0(Y,{source_uri:I[0]??`knowledge://promotion/${S}`,findings:O,metadata:{promotion_candidate_id:S},created_at:X});return T_(Y,{event_type:"knowledge_promotion",action:"enqueue_promotion",target_uri:`knowledge://promotion/${S}`,decision:"info",metadata:{record_kind:$.kind,source_kind:$.sourceKind,source_refs:I},created_at:X}),{created:!0,candidate:pO(Y,D4(Y,S),X)}}finally{Y.close()}}function eR(_,$){c(_);let U=v(_);try{let N=D4(U,$);return N?U4(N):null}finally{U.close()}}function sR(_,$={}){c(_);let U=Math.max(1,Math.min($.limit??50,200)),N=[],D=[];if($.status==="inbox"||!$.status)N.push("status IN ('ready', 'needs_approval', 'blocked')");else N.push("status = ?"),D.push($.status);if($.kind)N.push("record_kind = ?"),D.push($.kind);let j=v(_);try{return j.query(`SELECT * FROM knowledge_promotion_candidates + WHERE ${N.join(" AND ")} ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(...D,U).map(U4)}finally{N.close()}}function sY(_,$,U=new Date){c(_);let j=v(_);try{let D=D4(j,$);if(!D)throw Error(`Promotion candidate not found: ${$}`);if(D.status==="promoted"||D.status==="rejected")return U4(D);return oO(j,D,U.toISOString())}finally{j.close()}}function _R(_,$,U={}){c(_);let j=v(_),D=(U.now??new Date).toISOString();try{let N=D4(j,$);if(!N)throw Error(`Promotion candidate not found: ${$}`);if(N.status==="promoted"&&N.promoted_record_id){let z=j.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(N.promoted_record_id);return{ok:!0,promoted:!1,requires_approval:N.requires_approval===1,candidate:U4(N),record:z?tO(z):null,approval_id:null,reason:"already_promoted"}}if(N.status==="rejected")throw Error(`Promotion candidate ${$} was rejected.`);let E=oO(j,N,D);if(E.status==="duplicate")return{ok:!0,promoted:!1,requires_approval:!1,candidate:E,record:null,approval_id:null,reason:"duplicate"};if(E.status==="blocked")return{ok:!1,promoted:!1,requires_approval:!1,candidate:E,record:null,approval_id:null,reason:"citation_check_failed"};if(E.requires_approval&&!U.approveWrite)return{ok:!1,promoted:!1,requires_approval:!0,candidate:E,record:null,approval_id:null,reason:"approval_required"};if(E.requires_approval&&!U.approvedBy?.trim())throw Error("Promotion approval requires --approved-by <name>.");let I=E.requires_approval?U.approvedBy.trim():null,W=null;if(E.requires_approval)W=Tj(j,{action:"promote_durable_knowledge",target_uri:`knowledge://promotion/${E.id}`,reason:E.checks.approval_reasons.join(", "),approved_by:I,metadata:{promotion_candidate_id:E.id,checks:E.checks},created_at:D}).id;let J=iO("durable",E.id),L={...E.metadata,promotion_candidate_id:E.id,source_kind:E.source_kind,checks:E.checks,approval_id:W,provenance:P$({generated_from:`knowledge://promotion/${E.id}`,artifact_key:`durable/${E.record_kind}/${E.canonical_key}`,source_refs:E.source_refs,citation_required:!0})};j.run(`INSERT INTO durable_knowledge_records ( + LIMIT ?`).all(...D,U).map(U4)}finally{j.close()}}function _Y(_,$,U=new Date){c(_);let N=v(_);try{let D=D4(N,$);if(!D)throw Error(`Promotion candidate not found: ${$}`);if(D.status==="promoted"||D.status==="rejected")return U4(D);return pO(N,D,U.toISOString())}finally{N.close()}}function $Y(_,$,U={}){c(_);let N=v(_),D=(U.now??new Date).toISOString();try{let j=D4(N,$);if(!j)throw Error(`Promotion candidate not found: ${$}`);if(j.status==="promoted"&&j.promoted_record_id){let z=N.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(j.promoted_record_id);return{ok:!0,promoted:!1,requires_approval:j.requires_approval===1,candidate:U4(j),record:z?oO(z):null,approval_id:null,reason:"already_promoted"}}if(j.status==="rejected")throw Error(`Promotion candidate ${$} was rejected.`);let I=pO(N,j,D);if(I.status==="duplicate")return{ok:!0,promoted:!1,requires_approval:!1,candidate:I,record:null,approval_id:null,reason:"duplicate"};if(I.status==="blocked")return{ok:!1,promoted:!1,requires_approval:!1,candidate:I,record:null,approval_id:null,reason:"citation_check_failed"};if(I.requires_approval&&!U.approveWrite)return{ok:!1,promoted:!1,requires_approval:!0,candidate:I,record:null,approval_id:null,reason:"approval_required"};if(I.requires_approval&&!U.approvedBy?.trim())throw Error("Promotion approval requires --approved-by <name>.");let E=I.requires_approval?U.approvedBy.trim():null,W=null;if(I.requires_approval)W=VN(N,{action:"promote_durable_knowledge",target_uri:`knowledge://promotion/${I.id}`,reason:I.checks.approval_reasons.join(", "),approved_by:E,metadata:{promotion_candidate_id:I.id,checks:I.checks},created_at:D}).id;let J=tO("durable",I.id),L={...I.metadata,promotion_candidate_id:I.id,source_kind:I.source_kind,checks:I.checks,approval_id:W,provenance:P$({generated_from:`knowledge://promotion/${I.id}`,artifact_key:`durable/${I.record_kind}/${I.canonical_key}`,source_refs:I.source_refs,citation_required:!0})};N.run(`INSERT INTO durable_knowledge_records ( id, record_kind, title, content, canonical_key, content_hash, status, source_refs_json, evidence_refs_json, confidence, valid_from, valid_to, promoted_from_candidate_id, approved_by, metadata_json, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,E.record_kind,E.title,E.content,E.canonical_key,E.content_hash,E.checks.conflicting_record_ids.length>0?"conflicted":"active",JSON.stringify(E.source_refs),JSON.stringify(E.evidence_refs),typeof E.metadata.confidence==="number"?E.metadata.confidence:null,typeof E.metadata.valid_from==="string"?E.metadata.valid_from:D,typeof E.metadata.valid_to==="string"?E.metadata.valid_to:null,E.id,I,JSON.stringify(L),D,D]),j.run(`UPDATE knowledge_promotion_candidates + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,I.record_kind,I.title,I.content,I.canonical_key,I.content_hash,I.checks.conflicting_record_ids.length>0?"conflicted":"active",JSON.stringify(I.source_refs),JSON.stringify(I.evidence_refs),typeof I.metadata.confidence==="number"?I.metadata.confidence:null,typeof I.metadata.valid_from==="string"?I.metadata.valid_from:D,typeof I.metadata.valid_to==="string"?I.metadata.valid_to:null,I.id,E,JSON.stringify(L),D,D]),N.run(`UPDATE knowledge_promotion_candidates SET status = 'promoted', approved_by = ?, promoted_record_id = ?, promoted_at = ?, updated_at = ? - WHERE id = ?`,[I,J,D,D,E.id]),G_(j,{event_type:"knowledge_promotion",action:"promote_durable_knowledge",target_uri:`knowledge://durable/${J}`,decision:"allow",metadata:{promotion_candidate_id:E.id,approval_id:W,source_refs:E.source_refs},created_at:D});let S=U4(D4(j,E.id)),X=j.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(J);return{ok:!0,promoted:!0,requires_approval:E.requires_approval,candidate:S,record:tO(X),approval_id:W,reason:null}}finally{j.close()}}function $R(_,$,U={}){c(_);let j=v(_),D=(U.now??new Date).toISOString();try{let N=D4(j,$);if(!N)throw Error(`Promotion candidate not found: ${$}`);if(N.status==="promoted")throw Error(`Promotion candidate ${$} is already promoted.`);return j.run(`UPDATE knowledge_promotion_candidates + WHERE id = ?`,[E,J,D,D,I.id]),T_(N,{event_type:"knowledge_promotion",action:"promote_durable_knowledge",target_uri:`knowledge://durable/${J}`,decision:"allow",metadata:{promotion_candidate_id:I.id,approval_id:W,source_refs:I.source_refs},created_at:D});let S=U4(D4(N,I.id)),X=N.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(J);return{ok:!0,promoted:!0,requires_approval:I.requires_approval,candidate:S,record:oO(X),approval_id:W,reason:null}}finally{N.close()}}function UY(_,$,U={}){c(_);let N=v(_),D=(U.now??new Date).toISOString();try{let j=D4(N,$);if(!j)throw Error(`Promotion candidate not found: ${$}`);if(j.status==="promoted")throw Error(`Promotion candidate ${$} is already promoted.`);return N.run(`UPDATE knowledge_promotion_candidates SET status = 'rejected', approved_by = ?, updated_at = ?, reviewed_at = ? - WHERE id = ?`,[U.rejectedBy?.trim()||null,D,D,$]),G_(j,{event_type:"knowledge_promotion",action:"reject_promotion",target_uri:`knowledge://promotion/${$}`,decision:"deny",metadata:{rejected_by:U.rejectedBy??null},created_at:D}),U4(D4(j,$))}finally{j.close()}}function UR(_,$={}){c(_);let U=[],j=[];if($.kind)U.push("record_kind = ?"),j.push($.kind);if($.status)U.push("status = ?"),j.push($.status);let D=Math.max(1,Math.min($.limit??50,200)),N=v(_);try{return N.query(`SELECT * FROM durable_knowledge_records + WHERE id = ?`,[U.rejectedBy?.trim()||null,D,D,$]),T_(N,{event_type:"knowledge_promotion",action:"reject_promotion",target_uri:`knowledge://promotion/${$}`,decision:"deny",metadata:{rejected_by:U.rejectedBy??null},created_at:D}),U4(D4(N,$))}finally{N.close()}}function DY(_,$={}){c(_);let U=[],N=[];if($.kind)U.push("record_kind = ?"),N.push($.kind);if($.status)U.push("status = ?"),N.push($.status);let D=Math.max(1,Math.min($.limit??50,200)),j=v(_);try{return j.query(`SELECT * FROM durable_knowledge_records ${U.length?`WHERE ${U.join(" AND ")}`:""} ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(...j,D).map(tO)}finally{N.close()}}import{createHash as bq,randomUUID as DR}from"crypto";function wq(_,$){return`${_}_${bq("sha256").update($).digest("hex").slice(0,20)}`}function vq(_){let $=v(_);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 jR(_,$){let U=B4($.modelRef,$.config),j=c_(U),D=v(_);try{return D.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + LIMIT ?`).all(...N,D).map(oO)}finally{j.close()}}import{createHash as yq,randomUUID as NY}from"crypto";function uq(_,$){return`${_}_${yq("sha256").update($).digest("hex").slice(0,20)}`}function hq(_){let $=v(_);try{let U=$.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(U.map((N)=>[N.status,N.n]))}finally{$.close()}}function jY(_,$){let U=B4($.modelRef,$.config),N=c_(U),D=v(_);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 NR(_){c(_.dbPath);let $=v(_.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,N=jR(_.dbPath,_).length,E=$.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:N,queued:vq(_.dbPath),stale_revisions:E}}finally{$.close()}}function pO(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",j=jR(_.dbPath,_),D=v(_.dbPath),N=0,E=0;try{D.transaction(()=>{for(let W of j){let J=wq("rq",`embedding\x00${W.chunk_id}\x00${U}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",W.chunk_id,U)){E+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,"embedding",W.chunk_id,W.source_uri,U,"pending",JSON.stringify({source_revision_id:W.source_revision_id}),$,$]),N+=1}})()}finally{D.close()}return{enqueued:N,already_queued:E,reason:U}}function fq(_){let $=v(_);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 xq(_,$,U){let j=B4($.modelRef,$.config),D=c_(j),N=v(_);try{return N.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(N.provider,N.model)}finally{D.close()}}function IY(_){c(_.dbPath);let $=v(_.dbPath);try{let U=$.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,N=$.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,j=jY(_.dbPath,_).length,I=$.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:N,vector_entries:D,missing_embeddings:j,queued:hq(_.dbPath),stale_revisions:I}}finally{$.close()}}function aO(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",N=jY(_.dbPath,_),D=v(_.dbPath),j=0,I=0;try{D.transaction(()=>{for(let W of N){let J=uq("rq",`embedding\x00${W.chunk_id}\x00${U}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",W.chunk_id,U)){I+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[J,"embedding",W.chunk_id,W.source_uri,U,"pending",JSON.stringify({source_revision_id:W.source_revision_id}),$,$]),j+=1}})()}finally{D.close()}return{enqueued:j,already_queued:I,reason:U}}function rq(_){let $=v(_);try{let U=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,N=$.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:N}}finally{$.close()}}function cq(_,$,U){let N=B4($.modelRef,$.config),D=c_(N),j=v(_);try{return j.run(`UPDATE reindex_queue SET status = ?, updated_at = ? WHERE kind = ? AND status = ? @@ -1019,13 +1019,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{N.close()}}async function ER(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${DR()}`,j=_.full?fq(_.dbPath):{embeddings:0,vectorEntries:0},D=pO({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),N=v(_.dbPath);try{N.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",B4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{N.close()}let E=await Hj({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),I=xq(_.dbPath,_,$),W=v(_.dbPath);try{W.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:E,completed_queue_items:I}),$,U]),W.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${DR()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:E,completed_queue_items:I}),$])}finally{W.close()}return{run_id:U,full:_.full===!0,deleted_embeddings:j.embeddings,deleted_vector_entries:j.vectorEntries,queued:D,indexed:E,completed_queue_items:I}}import{createHash as WR}from"crypto";import{existsSync as JR,lstatSync as yq,readdirSync as uq,readFileSync as hq,statSync as rq}from"fs";import{basename as QU,extname as cq,join as mq,relative as nq,resolve as _z,sep as dq}from"path";import{pathToFileURL as IR}from"url";var lq=100,iq=25,tq=262144,oq=5,pq=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),aO=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),aq=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),eq=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,BI=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function eO(_){return`sha256:${WR("sha256").update(_).digest("hex")}`}function sq(_){return`sha256:${WR("sha256").update(_).digest("hex")}`}function C1(_){return _.split(dq).join("/")}function sO(_,$){let U=nq(_,$);return U?C1(U):QU($)}function j4(_){return pq.has(cq(_).toLowerCase())}function AR(_){return C1(_).split("/").some(($)=>eq.test($))}function LR(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function SR(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function PR(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function _k(){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:(_)=>aO.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=C1(_),U=QU($);if(aO.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&j4($))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 $=C1(_);return $==="CLAUDE.md"||/^rules\//.test($)&&j4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=C1(_),U=QU($);if(aO.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&j4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>BI.test(_)&&j4(_)}},{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:(_)=>BI.test(_)&&j4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>BI.test(_)&&j4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>BI.test(_)&&j4(_)}}]}function $k(_,$){let U=new Map;for(let j of _k()){let D=_z(_,j.base);if(!JR(D))continue;if(rq(D).isFile()){let E=QU(D);if(j.spec.include(E))U.set(D,{...j.spec,absPath:D});continue}OR({basePath:D,depth:0,maxDepth:j.maxDepth??oq,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 OR(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of uq(_.basePath,{withFileTypes:!0})){let j=mq(_.basePath,U.name),D=sO($,j);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(aq.has(U.name))continue;if(AR(D)){_.skipped.push({source_family:_.spec.family,source_path:j,reason:"sensitive_path"});continue}OR({..._,rootBasePath:$,basePath:j,depth:_.depth+1});continue}if(!U.isFile())continue;let N=sO(_z($),j);if(AR(N)){_.skipped.push({source_family:_.spec.family,source_path:j,reason:"sensitive_path"});continue}if(!_.spec.include(N))continue;if(!j4(j))continue;_.candidates.set(j,{..._.spec,absPath:j})}}function Uk(_){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 zR(_,$){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 Dk(_){let $=yq(_.candidate.absPath),U=_.candidate.absPath,j=sO(_.root,U);if($.size>_.maxBytesPerFile){let z=IR(U).href;return{evidence:{source_family:_.candidate.family,title:QU(U),source_path:U,source_path_ref:j,source_ref:z,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=hq(U),N=D.toString("utf8"),E=d_(N,_.safetyPolicy),W=E.findings.some((z)=>z.severity==="high")?"refused":E.findings.length>0?"redacted":"clean",J=eO(E.text),L=IR(U).href,S=SR(E.text),X={source_family:_.candidate.family,title:QU(U),source_path:U,source_path_ref:j,source_ref:L,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:sq(D),content_hash:J,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:W,redactions:E.findings.map((z)=>({type:z.type,severity:z.severity})),citations:[PR({sourceRef:L,sourcePath:U,lineCount:S,contentHash:J})],bytes:D.byteLength,line_count:S,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:LR(E.text)};return{evidence:X,text:E.text,manifest:X.importable?zR(X,E.text):null}}function jk(_){let $=d_(_.item.content,_.safetyPolicy),j=$.findings.some((J)=>J.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,N=eO($.text),E=eO(_.item.content),I=SR($.text),W={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:E,content_hash:N,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:j,redactions:$.findings.map((J)=>({type:J.type,severity:J.severity})),citations:[PR({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:I,contentHash:N})],bytes:Buffer.byteLength(_.item.content),line_count:I,importable:j!=="refused",skipped_reason:j==="refused"?"secret_refused":null,preview:j==="refused"?null:LR($.text),legacy_json_id:_.item.id};return{evidence:W,text:$.text,manifest:W.importable?zR(W,$.text):null}}function Nk(_){if(!_.legacyStorePath||!JR(_.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 t$(_.legacyStorePath,()=>{let U=z4(_.legacyStorePath);if(!U.exists)return 0;let j=0;for(let D of U.items){let N=$.get(D.id);if(!N)continue;let E=D.metadata??{};D.archived=!0,D.metadata={...E,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:N.source_ref,source_hash:N.source_hash,content_hash:N.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,j+=1}if(j>0)J6(_.legacyStorePath,{items:U.items});return j})}async function XR(_={}){let $=_z(_.root??process.cwd()),U=_.scope??"global",j=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,N=(_.now??new Date).toISOString(),E=Math.max(1,Math.min(_.maxItems??lq,1000)),I=Math.max(1,Math.min(_.limit??iq,100)),W=Math.max(1024,Math.min(_.maxBytesPerFile??tq,2097152)),J=[],S=$k($,J).slice(0,E).map((q)=>Dk({root:$,candidate:{...q,owner:q.owner==="repository"?j:q.owner,scope:U},discoveredAt:N,maxBytesPerFile:W,safetyPolicy:_.safetyPolicy})),z=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:z4(_.legacyStorePath)).items.filter((q)=>q.archived!==!0&&Uk(q)).slice(0,E),R=z.map((q)=>jk({item:q,legacyStorePath:_.legacyStorePath,discoveredAt:N,scope:U,safetyPolicy:_.safetyPolicy})),P=[...S,...R].slice(0,E),O=P.map((q)=>q.evidence),Q=P.filter((q)=>q.manifest).map((q)=>q.manifest),B=O.filter((q)=>q.redaction_status==="refused").length,G=O.slice(0,I),T=J.slice(0,I),F=null,g=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(Q.length>0)F=await Q4({dbPath:_.dbPath,items:Q,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:E});if(_.deprecateLegacy!==!1)g=Nk({legacyStorePath:_.legacyStorePath,records:O,now:N})}return{ok:B===0||Q.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:U,owner:j,discovered_at:N,max_items:E,evidence_limit:I,records_seen:O.length,records_importable:Q.length,records_refused:B,records_skipped:J.length,evidence_truncated:O.length>G.length,skipped_truncated:J.length>T.length,evidence:G,skipped:T,import_result:F,legacy:{store_path:_.legacyStorePath??null,candidates:z.length,promoted:R.filter((q)=>q.manifest).length,deprecated:g,data_loss:!1},message:D?`Discovered ${O.length} rule source(s); ${Q.length} importable, ${B} refused`:`Imported ${F?.items_seen??0} rule source(s); ${g} legacy note(s) deprecated`}}import{createHash as Ek,randomUUID as YR}from"crypto";function Ik(_){return`sha256:${Ek("sha256").update(_).digest("hex")}`}function RR(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function QR(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function N4(_){return typeof _==="string"&&_.length>0?_:null}function Ak(_){let $=QR(_),U=N4($.url)??N4($.uri)??N4($.sourceUrl);if(!U)return null;return{url:U,title:N4($.title)??N4($.name),snippet:N4($.snippet)??N4($.text)??N4($.description),provider_metadata:$}}function FI(_,$){if(Array.isArray(_)){for(let D of _)FI(D,$);return}let U=Ak(_);if(U)$.set(U.url,U);let j=QR(_);for(let D of["sources","results","citations","annotations","output"])if(j[D])FI(j[D],$)}function Wk(_,$){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 Jk(_){let{generateText:$}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),j=R6(_.config,"openai"),D=U({apiKey:_.env[j.api_key_env],baseURL:j.base_url}),N=D.tools?.webSearch;if(!N)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:N({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Lk(_){let{generateText:$}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),j=R6(_.config,"anthropic"),D=U({apiKey:_.env[j.api_key_env],baseURL:j.base_url}),N=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!N)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:N({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function Sk(_,$,U){if(!_.fileResults||$.length===0)return 0;let j=$.map((N)=>{let E=[N.title,N.snippet,N.url].filter(Boolean).join(` -`),I=Ik(E);return{source_ref:N.url,name:N.title??N.url,url:N.url,mime:"text/plain",hash:I,revision:I,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:N.url,content_source:"provider_web_search",provider_metadata:N.provider_metadata},extracted_text:E}});return(await Q4({dbPath:_.dbPath,items:j,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function GR(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let U=_.env??process.env,j=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),N=Math.max(1,Math.min(_.maxUses??3,10)),E=_.domains??[],I=k$(_.modelRef??(_.provider?`${_.provider}:${R6(_.config,_.provider).default_model}`:"default"),_.config),W=c_(I),J=_.provider??W.provider,L=W.provider===J?W.model:R6(_.config,J).default_model,S=`run_${YR()}`;if(!_.fake&&_.safetyPolicy)C0(_.safetyPolicy);if(!_.fake&&J!=="openai"&&J!=="anthropic")throw Error(`Provider ${J} does not expose native web search yet.`);if(!_.fake)T4(J,_.config,U);c(_.dbPath);let X=v(_.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[S,"provider-web-search",$,"running",J,L,JSON.stringify({domains:E,max_uses:N,fake:_.fake===!0}),j,j]),G_(X,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:J,model:L,domains:E,max_uses:N},created_at:j})}finally{X.close()}let z="",R=[],P={input_tokens:RR($),output_tokens:0,cost_usd:0},O=[];if(_.fake)R=Wk($,D),z=`Fake web search answer for: ${$}`,P.output_tokens=RR(z);else{let B=J==="openai"?await Jk({query:$,model:L,config:_.config,env:U,maxUses:N,domains:E}):await Lk({query:$,model:L,config:_.config,env:U,maxUses:N,domains:E});z=B.text;let G=new Map;FI(B.sources,G),FI(B.toolResults,G),R=Array.from(G.values()).slice(0,D);let T=V4({provider:J,model:L,usage:B.usage,providerMetadata:B.providerMetadata});P={input_tokens:T.input_tokens,output_tokens:T.output_tokens,cost_usd:T.cost_usd}}let Y=await Sk(_,R,j),Q=v(_.dbPath);try{Q.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:E,max_uses:N,sources:R.length,filed_sources:Y,fake:_.fake===!0}),j,S]),Q.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${YR()}`,S,"info","provider_web_search_completed",JSON.stringify({sources:R.length,filed_sources:Y}),j]),v0(Q,{run_id:S,provider:J,model:L,input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd,metadata:{web_search:!0,sources:R.length,filed_sources:Y},created_at:j})}finally{Q.close()}if(R.length===0)O.push("no_web_sources_returned");return{run_id:S,query:$,provider:J,model:L,answer:z,sources:R,filed_sources:Y,usage:P,warnings:O}}import{createHash as Pk,randomUUID as Ok}from"crypto";function GU(_,$){return`${_}_${Pk("sha256").update($).digest("hex").slice(0,20)}`}function $z(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function zk(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Xk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function TR(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Yk(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function VR(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function Rk(_,$){let U=Math.max(1,Math.min($.limit??10,50)),j=$.sourceRefs??[],D=Yk($.query),N=["c.kind = 'source'"],E=[];if(j.length>0){N.push(`(${j.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let I of j)E.push(I,`%${VR(I)}%`)}if(D.length>0){N.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let I of D)E.push(`%${VR(I)}%`)}return E.push(U),_.query(`SELECT + )`,["completed",U,"embedding","pending",D.provider,D.model]).changes}finally{j.close()}}async function EY(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${NY()}`,N=_.full?rq(_.dbPath):{embeddings:0,vectorEntries:0},D=aO({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),j=v(_.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",B4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{j.close()}let I=await qN({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),E=cq(_.dbPath,_,$),W=v(_.dbPath);try{W.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:I,completed_queue_items:E}),$,U]),W.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${NY()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:I,completed_queue_items:E}),$])}finally{W.close()}return{run_id:U,full:_.full===!0,deleted_embeddings:N.embeddings,deleted_vector_entries:N.vectorEntries,queued:D,indexed:I,completed_queue_items:E}}import{createHash as JY}from"crypto";import{existsSync as LY,lstatSync as mq,readdirSync as nq,readFileSync as dq,statSync as lq}from"fs";import{basename as QU,extname as iq,join as tq,relative as oq,resolve as $z,sep as pq}from"path";import{pathToFileURL as AY}from"url";var aq=100,eq=25,sq=262144,_k=5,$k=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),eO=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),Uk=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),Dk=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,FE=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function sO(_){return`sha256:${JY("sha256").update(_).digest("hex")}`}function Nk(_){return`sha256:${JY("sha256").update(_).digest("hex")}`}function b1(_){return _.split(pq).join("/")}function _z(_,$){let U=oq(_,$);return U?b1(U):QU($)}function N4(_){return $k.has(iq(_).toLowerCase())}function WY(_){return b1(_).split("/").some(($)=>Dk.test($))}function SY(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function PY(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function OY(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function jk(){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:(_)=>eO.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=b1(_),U=QU($);if(eO.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&N4($))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 $=b1(_);return $==="CLAUDE.md"||/^rules\//.test($)&&N4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=b1(_),U=QU($);if(eO.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&N4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>FE.test(_)&&N4(_)}},{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:(_)=>FE.test(_)&&N4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>FE.test(_)&&N4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>FE.test(_)&&N4(_)}}]}function Ik(_,$){let U=new Map;for(let N of jk()){let D=$z(_,N.base);if(!LY(D))continue;if(lq(D).isFile()){let I=QU(D);if(N.spec.include(I))U.set(D,{...N.spec,absPath:D});continue}zY({basePath:D,depth:0,maxDepth:N.maxDepth??_k,spec:N.spec,candidates:U,skipped:$})}return[...U.values()].sort((N,D)=>{if(N.precedence.rank!==D.precedence.rank)return N.precedence.rank-D.precedence.rank;return N.absPath.localeCompare(D.absPath)})}function zY(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of nq(_.basePath,{withFileTypes:!0})){let N=tq(_.basePath,U.name),D=_z($,N);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(Uk.has(U.name))continue;if(WY(D)){_.skipped.push({source_family:_.spec.family,source_path:N,reason:"sensitive_path"});continue}zY({..._,rootBasePath:$,basePath:N,depth:_.depth+1});continue}if(!U.isFile())continue;let j=_z($z($),N);if(WY(j)){_.skipped.push({source_family:_.spec.family,source_path:N,reason:"sensitive_path"});continue}if(!_.spec.include(j))continue;if(!N4(N))continue;_.candidates.set(N,{..._.spec,absPath:N})}}function Ek(_){if((_.tags??[]).map((N)=>N.toLowerCase()).some((N)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(N)))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 XY(_,$){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 Ak(_){let $=mq(_.candidate.absPath),U=_.candidate.absPath,N=_z(_.root,U);if($.size>_.maxBytesPerFile){let z=AY(U).href;return{evidence:{source_family:_.candidate.family,title:QU(U),source_path:U,source_path_ref:N,source_ref:z,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=dq(U),j=D.toString("utf8"),I=d_(j,_.safetyPolicy),W=I.findings.some((z)=>z.severity==="high")?"refused":I.findings.length>0?"redacted":"clean",J=sO(I.text),L=AY(U).href,S=PY(I.text),X={source_family:_.candidate.family,title:QU(U),source_path:U,source_path_ref:N,source_ref:L,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:Nk(D),content_hash:J,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:W,redactions:I.findings.map((z)=>({type:z.type,severity:z.severity})),citations:[OY({sourceRef:L,sourcePath:U,lineCount:S,contentHash:J})],bytes:D.byteLength,line_count:S,importable:W!=="refused",skipped_reason:W==="refused"?"secret_refused":null,preview:W==="refused"?null:SY(I.text)};return{evidence:X,text:I.text,manifest:X.importable?XY(X,I.text):null}}function Wk(_){let $=d_(_.item.content,_.safetyPolicy),N=$.findings.some((J)=>J.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,j=sO($.text),I=sO(_.item.content),E=PY($.text),W={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:I,content_hash:j,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:N,redactions:$.findings.map((J)=>({type:J.type,severity:J.severity})),citations:[OY({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:E,contentHash:j})],bytes:Buffer.byteLength(_.item.content),line_count:E,importable:N!=="refused",skipped_reason:N==="refused"?"secret_refused":null,preview:N==="refused"?null:SY($.text),legacy_json_id:_.item.id};return{evidence:W,text:$.text,manifest:W.importable?XY(W,$.text):null}}function Jk(_){if(!_.legacyStorePath||!LY(_.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 t$(_.legacyStorePath,()=>{let U=z4(_.legacyStorePath);if(!U.exists)return 0;let N=0;for(let D of U.items){let j=$.get(D.id);if(!j)continue;let I=D.metadata??{};D.archived=!0,D.metadata={...I,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,N+=1}if(N>0)J6(_.legacyStorePath,{items:U.items});return N})}async function RY(_={}){let $=$z(_.root??process.cwd()),U=_.scope??"global",N=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,j=(_.now??new Date).toISOString(),I=Math.max(1,Math.min(_.maxItems??aq,1000)),E=Math.max(1,Math.min(_.limit??eq,100)),W=Math.max(1024,Math.min(_.maxBytesPerFile??sq,2097152)),J=[],S=Ik($,J).slice(0,I).map((q)=>Ak({root:$,candidate:{...q,owner:q.owner==="repository"?N:q.owner,scope:U},discoveredAt:j,maxBytesPerFile:W,safetyPolicy:_.safetyPolicy})),z=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:z4(_.legacyStorePath)).items.filter((q)=>q.archived!==!0&&Ek(q)).slice(0,I),Y=z.map((q)=>Wk({item:q,legacyStorePath:_.legacyStorePath,discoveredAt:j,scope:U,safetyPolicy:_.safetyPolicy})),P=[...S,...Y].slice(0,I),O=P.map((q)=>q.evidence),Q=P.filter((q)=>q.manifest).map((q)=>q.manifest),B=O.filter((q)=>q.redaction_status==="refused").length,G=O.slice(0,E),T=J.slice(0,E),F=null,M=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(Q.length>0)F=await Q4({dbPath:_.dbPath,items:Q,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:I});if(_.deprecateLegacy!==!1)M=Jk({legacyStorePath:_.legacyStorePath,records:O,now:j})}return{ok:B===0||Q.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:U,owner:N,discovered_at:j,max_items:I,evidence_limit:E,records_seen:O.length,records_importable:Q.length,records_refused:B,records_skipped:J.length,evidence_truncated:O.length>G.length,skipped_truncated:J.length>T.length,evidence:G,skipped:T,import_result:F,legacy:{store_path:_.legacyStorePath??null,candidates:z.length,promoted:Y.filter((q)=>q.manifest).length,deprecated:M,data_loss:!1},message:D?`Discovered ${O.length} rule source(s); ${Q.length} importable, ${B} refused`:`Imported ${F?.items_seen??0} rule source(s); ${M} legacy note(s) deprecated`}}import{createHash as Lk,randomUUID as YY}from"crypto";function Sk(_){return`sha256:${Lk("sha256").update(_).digest("hex")}`}function QY(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function GY(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function j4(_){return typeof _==="string"&&_.length>0?_:null}function Pk(_){let $=GY(_),U=j4($.url)??j4($.uri)??j4($.sourceUrl);if(!U)return null;return{url:U,title:j4($.title)??j4($.name),snippet:j4($.snippet)??j4($.text)??j4($.description),provider_metadata:$}}function KE(_,$){if(Array.isArray(_)){for(let D of _)KE(D,$);return}let U=Pk(_);if(U)$.set(U.url,U);let N=GY(_);for(let D of["sources","results","citations","annotations","output"])if(N[D])KE(N[D],$)}function Ok(_,$){return Array.from({length:Math.min($,3)},(U,N)=>({url:`https://example.com/knowledge-web-${N+1}`,title:`Fake web source ${N+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:N+1}}))}async function zk(_){let{generateText:$}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),N=Y6(_.config,"openai"),D=U({apiKey:_.env[N.api_key_env],baseURL:N.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 Xk(_){let{generateText:$}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),N=Y6(_.config,"anthropic"),D=U({apiKey:_.env[N.api_key_env],baseURL:N.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 Rk(_,$,U){if(!_.fileResults||$.length===0)return 0;let N=$.map((j)=>{let I=[j.title,j.snippet,j.url].filter(Boolean).join(` +`),E=Sk(I);return{source_ref:j.url,name:j.title??j.url,url:j.url,mime:"text/plain",hash:E,revision:E,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:I}});return(await Q4({dbPath:_.dbPath,items:N,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function TY(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let U=_.env??process.env,N=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),j=Math.max(1,Math.min(_.maxUses??3,10)),I=_.domains??[],E=k$(_.modelRef??(_.provider?`${_.provider}:${Y6(_.config,_.provider).default_model}`:"default"),_.config),W=c_(E),J=_.provider??W.provider,L=W.provider===J?W.model:Y6(_.config,J).default_model,S=`run_${YY()}`;if(!_.fake&&_.safetyPolicy)b0(_.safetyPolicy);if(!_.fake&&J!=="openai"&&J!=="anthropic")throw Error(`Provider ${J} does not expose native web search yet.`);if(!_.fake)T4(J,_.config,U);c(_.dbPath);let X=v(_.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[S,"provider-web-search",$,"running",J,L,JSON.stringify({domains:I,max_uses:j,fake:_.fake===!0}),N,N]),T_(X,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:J,model:L,domains:I,max_uses:j},created_at:N})}finally{X.close()}let z="",Y=[],P={input_tokens:QY($),output_tokens:0,cost_usd:0},O=[];if(_.fake)Y=Ok($,D),z=`Fake web search answer for: ${$}`,P.output_tokens=QY(z);else{let B=J==="openai"?await zk({query:$,model:L,config:_.config,env:U,maxUses:j,domains:I}):await Xk({query:$,model:L,config:_.config,env:U,maxUses:j,domains:I});z=B.text;let G=new Map;KE(B.sources,G),KE(B.toolResults,G),Y=Array.from(G.values()).slice(0,D);let T=V4({provider:J,model:L,usage:B.usage,providerMetadata:B.providerMetadata});P={input_tokens:T.input_tokens,output_tokens:T.output_tokens,cost_usd:T.cost_usd}}let R=await Rk(_,Y,N),Q=v(_.dbPath);try{Q.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:I,max_uses:j,sources:Y.length,filed_sources:R,fake:_.fake===!0}),N,S]),Q.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${YY()}`,S,"info","provider_web_search_completed",JSON.stringify({sources:Y.length,filed_sources:R}),N]),v0(Q,{run_id:S,provider:J,model:L,input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd,metadata:{web_search:!0,sources:Y.length,filed_sources:R},created_at:N})}finally{Q.close()}if(Y.length===0)O.push("no_web_sources_returned");return{run_id:S,query:$,provider:J,model:L,answer:z,sources:Y,filed_sources:R,usage:P,warnings:O}}import{createHash as Yk,randomUUID as Qk}from"crypto";function GU(_,$){return`${_}_${Yk("sha256").update($).digest("hex").slice(0,20)}`}function Uz(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Gk(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Tk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function VY(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Vk(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function BY(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function Bk(_,$){let U=Math.max(1,Math.min($.limit??10,50)),N=$.sourceRefs??[],D=Vk($.query),j=["c.kind = 'source'"],I=[];if(N.length>0){j.push(`(${N.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let E of N)I.push(E,`%${BY(E)}%`)}if(D.length>0){j.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let E of D)I.push(`%${BY(E)}%`)}return I.push(U),_.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -1039,12 +1039,12 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| FROM chunks c JOIN source_revisions sr ON sr.id = c.source_revision_id JOIN sources s ON s.id = sr.source_id - WHERE ${N.join(" AND ")} + WHERE ${j.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...E)}function BR(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function Qk(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function Gk(_,$,U){let j=$.map((N,E)=>{return`- [${`S${E+1}`}] ${N.source_title??N.source_uri??"Source"} (${N.source_uri??"unknown"}, revision ${N.revision??"unknown"}, hash ${N.hash??"unknown"})`}),D=$.map((N,E)=>{let I=`S${E+1}`;return[`## ${N.source_title??`Source ${E+1}`}`,"",BR(N.text),"",`Citation: [${I}]`].join(` -`)});return[`# ${_}`,"",`Generated at: ${U}`,"","## Sources","",...j,"",...D,""].join(` -`)}async function KI(_,$){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,...k0($.body),metadata:{...$.metadata??{}}}}async function FR(_,$,U){let{year:j,month:D,day:N}=zk(U),E=`logs/${j}/${D}/${N}.jsonl`,I="";try{I=await _.getText(E)}catch{I=""}return KI(_,{key:E,body:`${I}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:P$({generated_from:String($.event??"wiki_log"),artifact_key:E})}})}function Uz(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + LIMIT ?`).all(...I)}function FY(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function Fk(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function Kk(_,$,U){let N=$.map((j,I)=>{return`- [${`S${I+1}`}] ${j.source_title??j.source_uri??"Source"} (${j.source_uri??"unknown"}, revision ${j.revision??"unknown"}, hash ${j.hash??"unknown"})`}),D=$.map((j,I)=>{let E=`S${I+1}`;return[`## ${j.source_title??`Source ${I+1}`}`,"",FY(j.text),"",`Citation: [${E}]`].join(` +`)});return[`# ${_}`,"",`Generated at: ${U}`,"","## Sources","",...N,"",...D,""].join(` +`)}async function ME(_,$){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,...k0($.body),metadata:{...$.metadata??{}}}}async function KY(_,$,U){let{year:N,month:D,day:j}=Gk(U),I=`logs/${N}/${D}/${j}.jsonl`,E="";try{E=await _.getText(I)}catch{E=""}return ME(_,{key:I,body:`${E}${JSON.stringify($)} +`,content_type:"application/x-ndjson",metadata:{provenance:P$({generated_from:String($.event??"wiki_log"),artifact_key:I})}})}function Dz(_,$){_.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, @@ -1052,26 +1052,26 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify({artifact_key:$.path,provenance:$.provenance}),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let j=GU("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,Xk($.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 KR(_,$,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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[GU("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??Ok()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),j]);return U.length}function gR(_,$){return _.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify({artifact_key:$.path,provenance:$.provenance}),$.now,$.now]);let U=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of U)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let N=GU("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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[N,$.pageId,"wiki",0,$.body,Tk($.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 (?, ?, ?, ?)",[N,$.body,$.title,$.artifactUri])}function MY(_,$,U,N){_.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 (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[GU("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??Qk()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),N]);return U.length}function gY(_,$){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`,[GU("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function Tk(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function MR(_){let $=_.now??new Date,U=$.toISOString();c(_.dbPath);let j=v(_.dbPath),D;try{D=Rk(j,_)}finally{j.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let N=Qk(_,D),I=`wiki/generated/${$z(N)}.md`,W=Gk(N,D,U),J=D.map((F)=>{let g=TR(F.metadata_json);return typeof g.source_ref==="string"?g.source_ref:F.source_uri}).filter((F)=>Boolean(F)),L=P$({generated_from:"wiki_compile",artifact_key:I,source_refs:J}),S=await KI(_.store,{key:I,body:W,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),X=GU("wiki",I),z=D.map((F)=>({chunk_id:F.chunk_id,source_uri:F.source_uri??"unknown",quote:BR(F.text,240),start_offset:F.start_offset,end_offset:F.end_offset,metadata:{source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,source_ref:TR(F.metadata_json).source_ref??F.source_uri}})),R=Tk(N),P=`wiki/concepts/${$z(R)}.md`,O=[`# ${R}`,"",`Related page: [[${I}]]`,""].join(` -`),Y=P$({generated_from:"wiki_compile_concept",artifact_key:P,source_refs:J}),Q=await KI(_.store,{key:P,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),B=GU("wiki",P),G=await FR(_.store,{ts:U,event:"wiki_compile_completed",page_key:I,source_refs:J,chunks_seen:D.length},$),T=v(_.dbPath);try{X6(T,[S,Q,G],$),Uz(T,{pageId:X,path:I,title:N,artifactUri:S.uri,contentHash:S.hash??"",body:W,provenance:L,now:U}),Uz(T,{pageId:B,path:P,title:R,artifactUri:Q.uri,contentHash:Q.hash??"",body:O,provenance:Y,now:U}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[X,B,"concept",U]);let F=KR(T,X,z,U),g=gR(T,{title:N,path:I,artifactUri:S.uri,contentHash:S.hash??"",now:U});return{page_id:X,path:I,artifact_uri:S.uri,content_hash:S.hash??"",chunks_seen:D.length,citations_written:F,concept_page_id:B,indexes_updated:g,log_key:G.key,warnings:[]}}finally{T.close()}}async function ZR(_){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,N=`wiki/answers/${$z(j)}.md`,E=_.context.citations,I=[`# ${j}`,"",_.answer,"","## Citations","",...E.map((R,P)=>`- [C${P+1}] ${R.source_ref??R.source_uri??R.artifact_path??R.artifact_uri??"unknown"} ${R.hash?`(hash ${R.hash})`:""}`),""].join(` -`),W=E.map((R)=>R.source_ref??R.source_uri).filter((R)=>Boolean(R)),J=P$({generated_from:"knowledge_answer",artifact_key:N,source_refs:W}),L=await KI(_.store,{key:N,body:I,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),S=await FR(_.store,{ts:U,event:"wiki_answer_filed",page_key:N,prompt:_.prompt,citations:E.length},$),X=GU("wiki",N),z=v(_.dbPath);try{X6(z,[L,S],$),Uz(z,{pageId:X,path:N,title:j,artifactUri:L.uri,contentHash:L.hash??"",body:I,provenance:J,now:U});let R=KR(z,X,E.map((P)=>({chunk_id:P.chunk_id,source_uri:P.source_uri??P.artifact_uri??"unknown",quote:P.quote,start_offset:P.start_offset,end_offset:P.end_offset,metadata:{source_ref:P.source_ref,artifact_path:P.artifact_path,revision:P.revision,hash:P.hash}})),U);return gR(z,{title:j,path:N,artifactUri:L.uri,contentHash:L.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:X,path:N,artifact_uri:L.uri,citations_written:R,log_key:S.key,message:`Filed answer to ${N}`}}finally{z.close()}}function D0(_,$){_.push($)}function HR(_){c(_.dbPath);let $=v(_.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,N=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,E=$.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[GU("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function Mk(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function ZY(_){let $=_.now??new Date,U=$.toISOString();c(_.dbPath);let N=v(_.dbPath),D;try{D=Bk(N,_)}finally{N.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let j=Fk(_,D),E=`wiki/generated/${Uz(j)}.md`,W=Kk(j,D,U),J=D.map((F)=>{let M=VY(F.metadata_json);return typeof M.source_ref==="string"?M.source_ref:F.source_uri}).filter((F)=>Boolean(F)),L=P$({generated_from:"wiki_compile",artifact_key:E,source_refs:J}),S=await ME(_.store,{key:E,body:W,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),X=GU("wiki",E),z=D.map((F)=>({chunk_id:F.chunk_id,source_uri:F.source_uri??"unknown",quote:FY(F.text,240),start_offset:F.start_offset,end_offset:F.end_offset,metadata:{source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,source_ref:VY(F.metadata_json).source_ref??F.source_uri}})),Y=Mk(j),P=`wiki/concepts/${Uz(Y)}.md`,O=[`# ${Y}`,"",`Related page: [[${E}]]`,""].join(` +`),R=P$({generated_from:"wiki_compile_concept",artifact_key:P,source_refs:J}),Q=await ME(_.store,{key:P,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),B=GU("wiki",P),G=await KY(_.store,{ts:U,event:"wiki_compile_completed",page_key:E,source_refs:J,chunks_seen:D.length},$),T=v(_.dbPath);try{X6(T,[S,Q,G],$),Dz(T,{pageId:X,path:E,title:j,artifactUri:S.uri,contentHash:S.hash??"",body:W,provenance:L,now:U}),Dz(T,{pageId:B,path:P,title:Y,artifactUri:Q.uri,contentHash:Q.hash??"",body:O,provenance:R,now:U}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[X,B,"concept",U]);let F=MY(T,X,z,U),M=gY(T,{title:j,path:E,artifactUri:S.uri,contentHash:S.hash??"",now:U});return{page_id:X,path:E,artifact_uri:S.uri,content_hash:S.hash??"",chunks_seen:D.length,citations_written:F,concept_page_id:B,indexes_updated:M,log_key:G.key,warnings:[]}}finally{T.close()}}async function HY(_){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(),N=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,j=`wiki/answers/${Uz(N)}.md`,I=_.context.citations,E=[`# ${N}`,"",_.answer,"","## Citations","",...I.map((Y,P)=>`- [C${P+1}] ${Y.source_ref??Y.source_uri??Y.artifact_path??Y.artifact_uri??"unknown"} ${Y.hash?`(hash ${Y.hash})`:""}`),""].join(` +`),W=I.map((Y)=>Y.source_ref??Y.source_uri).filter((Y)=>Boolean(Y)),J=P$({generated_from:"knowledge_answer",artifact_key:j,source_refs:W}),L=await ME(_.store,{key:j,body:E,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),S=await KY(_.store,{ts:U,event:"wiki_answer_filed",page_key:j,prompt:_.prompt,citations:I.length},$),X=GU("wiki",j),z=v(_.dbPath);try{X6(z,[L,S],$),Dz(z,{pageId:X,path:j,title:N,artifactUri:L.uri,contentHash:L.hash??"",body:E,provenance:J,now:U});let Y=MY(z,X,I.map((P)=>({chunk_id:P.chunk_id,source_uri:P.source_uri??P.artifact_uri??"unknown",quote:P.quote,start_offset:P.start_offset,end_offset:P.end_offset,metadata:{source_ref:P.source_ref,artifact_path:P.artifact_path,revision:P.revision,hash:P.hash}})),U);return gY(z,{title:N,path:j,artifactUri:L.uri,contentHash:L.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:X,path:j,artifact_uri:L.uri,citations_written:Y,log_key:S.key,message:`Filed answer to ${j}`}}finally{z.close()}}function D0(_,$){_.push($)}function qY(_){c(_.dbPath);let $=v(_.dbPath),U=[];try{let N=$.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,I=$.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN citations c ON c.wiki_page_id = wp.id WHERE wp.status = 'active' AND wp.path LIKE 'wiki/generated/%' GROUP BY wp.id - HAVING COUNT(c.id) = 0`).all();for(let z of E)D0(U,{type:"missing_citation",severity:"error",page_id:z.id,path:z.path,message:"Generated wiki page has no citations."});let I=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id + HAVING COUNT(c.id) = 0`).all();for(let z of I)D0(U,{type:"missing_citation",severity:"error",page_id:z.id,path:z.path,message:"Generated wiki page has no citations."});let E=$.query(`SELECT wp.id AS page_id, wp.path, c.source_uri, c.chunk_id FROM citations c JOIN wiki_pages wp ON wp.id = c.wiki_page_id LEFT JOIN chunks ch ON ch.id = c.chunk_id - WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let z of I)D0(U,{type:"stale_citation",severity:"warn",page_id:z.page_id,path:z.path,source_uri:z.source_uri,chunk_id:z.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let W=$.query(`SELECT lower(title) AS title, COUNT(*) AS n + WHERE ch.metadata_json LIKE '%"stale":true%' OR ch.metadata_json LIKE '%"status":"stale"%' OR ch.metadata_json LIKE '%"status":"deleted"%'`).all();for(let z of E)D0(U,{type:"stale_citation",severity:"warn",page_id:z.page_id,path:z.path,source_uri:z.source_uri,chunk_id:z.chunk_id??void 0,message:"Page cites a stale or deleted source chunk."});let W=$.query(`SELECT lower(title) AS title, COUNT(*) AS n FROM wiki_pages WHERE status = 'active' GROUP BY lower(title) @@ -1094,7 +1094,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 z of X)D0(U,{type:"new_article_candidate",severity:"info",chunk_id:z.chunk_id,source_uri:z.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((z)=>z.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:j,citations:D,backlinks:N,new_article_candidates:X.length}}}finally{$.close()}}import{createHash as Vk}from"crypto";function Bk(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),j=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:j}}function Dz(_,$){return`${_}_${Vk("sha256").update($).digest("hex").slice(0,20)}`}function Fk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function Kk(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let z of X)D0(U,{type:"new_article_candidate",severity:"info",chunk_id:z.chunk_id,source_uri:z.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((z)=>z.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:N,citations:D,backlinks:j,new_article_candidates:X.length}}}finally{$.close()}}import{createHash as gk}from"crypto";function Zk(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),N=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:N}}function Nz(_,$){return`${_}_${gk("sha256").update($).digest("hex").slice(0,20)}`}function Hk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function qk(){return`# Knowledge Agent Schema v1 ## Source Rules @@ -1119,7 +1119,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 gk(){return`# Knowledge Index +`}function kk(){return`# Knowledge Index This is a compact orientation index for agents. It is not the full search index. @@ -1134,19 +1134,19 @@ This is a compact orientation index for agents. It is not the full search index. Raw source files are resolved through open-files. This app stores source refs, citations, chunks, generated wiki artifacts, indexes, and run records. -`}function qR(){return`# Wiki +`}function kY(){return`# Wiki Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function kR(_,$=new Date){let{year:U,month:j,day:D}=Bk($),N="schemas/v1.md",E="indexes/root.md",I="wiki/README.md",W=`logs/${U}/${j}/${D}.jsonl`,J={ts:$.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},L=[{key:"schemas/v1.md",body:Kk(),content_type:"text/markdown"},{key:"indexes/root.md",body:gk(),content_type:"text/markdown"},{key:"wiki/README.md",body:qR(),content_type:"text/markdown"},{key:W,body:`${JSON.stringify(J)} -`,content_type:"application/x-ndjson"}],S=await Promise.all(L.map(async(X)=>{let z=await _.put(X);return{key:z.key,uri:z.uri,kind:uX(X.key),content_type:X.content_type,modified_at:z.modified_at,metadata:{provenance:P$({generated_from:"wiki_layout_init",artifact_key:X.key,citation_required:X.key.startsWith("wiki/")||X.key.startsWith("indexes/")})},...k0(X.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:W,artifacts:S,written:["schemas/v1.md","indexes/root.md","wiki/README.md",W]}}function jz(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return P$({generated_from:"wiki_layout_init",artifact_key:_.key})}function Mk(_,$,U,j,D,N){let E=jz(j),I=Dz("chk",`${$}\x00${j.hash??j.uri}`),W=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let J of W)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$]),_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,$,"wiki",0,D,Fk(D),0,D.length,JSON.stringify({artifact_key:j.key,artifact_uri:j.uri,content_hash:j.hash??null,provenance:E}),N]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[I,D,U,j.uri])}function CR(_,$,U=new Date){let j=U.toISOString(),D=$.find((E)=>E.key.endsWith("indexes/root.md")),N=$.find((E)=>E.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 bY(_,$=new Date){let{year:U,month:N,day:D}=Zk($),j="schemas/v1.md",I="indexes/root.md",E="wiki/README.md",W=`logs/${U}/${N}/${D}.jsonl`,J={ts:$.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},L=[{key:"schemas/v1.md",body:qk(),content_type:"text/markdown"},{key:"indexes/root.md",body:kk(),content_type:"text/markdown"},{key:"wiki/README.md",body:kY(),content_type:"text/markdown"},{key:W,body:`${JSON.stringify(J)} +`,content_type:"application/x-ndjson"}],S=await Promise.all(L.map(async(X)=>{let z=await _.put(X);return{key:z.key,uri:z.uri,kind:hX(X.key),content_type:X.content_type,modified_at:z.modified_at,metadata:{provenance:P$({generated_from:"wiki_layout_init",artifact_key:X.key,citation_required:X.key.startsWith("wiki/")||X.key.startsWith("indexes/")})},...k0(X.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:W,artifacts:S,written:["schemas/v1.md","indexes/root.md","wiki/README.md",W]}}function jz(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return P$({generated_from:"wiki_layout_init",artifact_key:_.key})}function bk(_,$,U,N,D,j){let I=jz(N),E=Nz("chk",`${$}\x00${N.hash??N.uri}`),W=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let J of W)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[J.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$]),_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[E,$,"wiki",0,D,Hk(D),0,D.length,JSON.stringify({artifact_key:N.key,artifact_uri:N.uri,content_hash:N.hash??null,provenance:I}),j]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[E,D,U,N.uri])}function CY(_,$,U=new Date){let N=U.toISOString(),D=$.find((I)=>I.key.endsWith("indexes/root.md")),j=$.find((I)=>I.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, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[Dz("idx","root:indexes/root.md"),"root","root",D.uri,"root",JSON.stringify({artifact_key:D.key,content_hash:D.hash??null,provenance:jz(D)}),j,j]);if(N){let E=Dz("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[Nz("idx","root:indexes/root.md"),"root","root",D.uri,"root",JSON.stringify({artifact_key:D.key,content_hash:D.hash??null,provenance:jz(D)}),N,N]);if(j){let I=Nz("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -1154,9 +1154,9 @@ 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`,[E,"wiki/README.md","Wiki",N.uri,N.hash??null,"active",JSON.stringify({artifact_key:N.key,provenance:jz(N)}),j,j]),Mk(_,E,"Wiki",N,qR(),j)}}import{createHash as bR}from"crypto";import{cpSync as Lz,chmodSync as Ez,existsSync as y$,lstatSync as yR,mkdirSync as gI,readdirSync as Sz,readFileSync as b1,renameSync as Zk,rmSync as ZI,writeFileSync as wR}from"fs";import{dirname as Iz,join as H6,relative as Hk}from"path";function Az(_,$=_){if(!y$(_))return[];let U=yR(_);if(U.isFile())return[Hk($,_)||"."];if(!U.isDirectory())return[];return Sz(_).flatMap((j)=>Az(H6(_,j),$)).sort()}function vR(_,$){if($.length===0)return{sha256:null,bytes:0};let U=bR("sha256"),j=0;for(let D of $){let N=H6(_,D),E=b1(N),I=bR("sha256").update(E).digest("hex");j+=E.byteLength,U.update(D),U.update("\x00"),U.update(I),U.update("\x00")}return{sha256:U.digest("hex"),bytes:j}}function qk(_){if(!y$(_))return null;let $=JSON.parse(b1(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function kk(_){if(!y$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=KX(_);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(),N={};for(let E of D){let I=`"${E.name.replaceAll('"','""')}"`,W=$.query(`SELECT COUNT(*) AS n FROM ${I}`).get();N[E.name]=W?.n??0}return{exists:!0,integrity_check:j,table_counts:N}}finally{$.close()}}function a_(_,$={}){let U=Az(_.home),j=vR(_.home,U),D=Az(_.artifactsDir),N=vR(_.artifactsDir,D),E=y$(_.knowledgeDbPath);return{path:_.home,exists:y$(_.home),file_count:U.length,total_bytes:j.bytes,tree_sha256:j.sha256,json_items:qk(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:E,integrity_check:null,table_counts:{}}:kk(_.knowledgeDbPath),artifacts:{exists:y$(_.artifactsDir),file_count:D.length,total_bytes:N.bytes,tree_sha256:N.sha256},files:U}}function Ck(_,$){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(b1(_.configPath,"utf8")))===JSON.stringify(aU())}catch{return!1}}function Wz(_,$){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 MI(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function Jz(_){if(Array.isArray(_))return`[${_.map(Jz).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${Jz(U)}`).join(",")}}`;return JSON.stringify(_)}function fR(_){return Jz(_)}function Nz(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function j0(_){if(!y$(_))return{items:[]};let $=JSON.parse(b1(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function xR(_,$){let U=new Map(_.items.map((L)=>[L.id,L])),j=new Map;for(let L of _.items){let S=j.get(L.id);if(S&&S.item.id!==L.id);j.set(L.id,{item:L,keyKind:"id",source:"current"});let X=Nz(L);if(X&&!j.has(X))j.set(X,{item:L,keyKind:"short_id",source:"current"})}let D=[],N=0,E=0,I=0,W=[];for(let L of $.items){let S=U.get(L.id);if(S){if(fR(S)===fR(L))N+=1;else E+=1,D.push({type:"id_conflict",id:L.id,legacy_title:L.title,current_title:S.title});continue}let X=[{key:L.id,keyKind:"id"},...Nz(L)?[{key:Nz(L),keyKind:"short_id"}]:[]],z=!1;for(let{key:R,keyKind:P}of X){let O=j.get(R);if(!O)continue;if(P==="id"&&O.keyKind==="id")E+=1,D.push({type:"id_conflict",id:R,legacy_id:L.id,current_id:O.item.id,legacy_title:L.title,current_title:O.item.title});else I+=1,D.push({type:"short_id_conflict",id:R,legacy_id:L.id,current_id:O.item.id,legacy_title:L.title,current_title:O.item.title});z=!0}if(z)continue;W.push(L);for(let{key:R,keyKind:P}of X)j.set(R,{item:L,keyKind:P,source:"legacy"})}let J={items:[..._.items,...W]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:N,duplicate_ids_conflicting:E,short_id_conflicts:I,stranded_items:W.length,merged_items:D.length===0?W.length:0,expected_total_items:_.items.length+W.length,final_items:null},conflicts:D,mergedStore:J}}function bk(_,$){let U=[...new Set(_)].sort(),j=(D)=>{if(D>=U.length)return $();return t$(U[D],()=>j(D+1),{createParent:!0})};return j(0)}function uR(_){let $=_.now??new Date,U=_.approveWrite!==!0,j=a_(_.legacy),D=a_(_.current),N={legacy_exists:j.exists,legacy_store_exists:y$(_.legacy.jsonStorePath),current_store_exists:y$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},E=[];if(!j.exists||!N.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:j0(_.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:j0(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...N,no_conflicts:!0,final_count_matches_expected:!0},warnings:E,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let I=j0(_.current.jsonStorePath),W=j0(_.legacy.jsonStorePath),J=xR(I,W);if(N.no_conflicts=J.conflicts.length===0,J.conflicts.length>0)E.push("merge_conflicts_detected");if(!N.approval_present)E.push("write_approval_required");if(U||!N.approval_present||J.conflicts.length>0)return{ok:J.conflicts.length===0,dry_run:!0,approval_required:!N.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${MI($)}`,legacy_before:j,current_before:D,backup_after:null,current_after:null,merge:J.stats,conflicts:J.conflicts,checks:N,warnings:E,message:J.conflicts.length===0?`Dry run: would merge ${J.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${J.conflicts.length} conflict(s)`};return bk([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let L=j0(_.current.jsonStorePath),S=j0(_.legacy.jsonStorePath),X=xR(L,S);if(N.no_conflicts=X.conflicts.length===0,X.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:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:null,merge:X.stats,conflicts:X.conflicts,checks:N,warnings:[...E,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${X.conflicts.length} conflict(s)`};if(X.stats.stranded_items===0)return X.stats.final_items=L.items.length,N.final_count_matches_expected=L.items.length===X.stats.expected_total_items,{ok:N.no_conflicts&&N.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:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:a_(_.current),merge:X.stats,conflicts:[],checks:N,warnings:E,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let z=`${_.legacy.home}.merge-backup-${MI($)}`;gI(Iz(z),{recursive:!0}),Lz(_.legacy.home,z,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let R=S$(z),P=a_(R);if(N.legacy_backup_written=Wz(a_(_.legacy),P),!N.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${z}`);J6(_.current.jsonStorePath,X.mergedStore);let O=j0(_.current.jsonStorePath);X.stats.final_items=O.items.length,N.final_count_matches_expected=O.items.length===X.stats.expected_total_items;let Y=a_(_.current),Q=N.legacy_backup_written&&N.no_conflicts&&N.final_count_matches_expected;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:z,legacy_before:j,current_before:D,backup_after:P,current_after:Y,merge:X.stats,conflicts:[],checks:N,warnings:E,message:Q?`Merged ${X.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function wk(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Pz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function vk(_){let $;for(let U=0;U<8;U+=1)try{ZI(_,{recursive:!0,force:!1});return}catch(j){if($=j,!Pz(j))throw j;wk(50*(U+1))}throw $}function hR(_){if(!y$(_))return;let $=yR(_);if(Ez(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of Sz(_))hR(H6(_,U))}function fk(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function xk(_){for(let $ of Sz(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{ZI(H6(_,$),{recursive:!0,force:!1})}catch(U){if(!Pz(U)||!$.startsWith("knowledge.db"))throw U}}}function yk(_,$){try{Zk(_,$);return}catch(U){Lz(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{vk(_)}catch(j){if(Pz(j)){xk(_);return}throw ZI($,{recursive:!0,force:!0}),j}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function uk(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((j)=>!fk(j)))return!1;try{let j=JSON.parse(b1(H6(_.home,"migration.json"),"utf8"));return j.new_path===U&&typeof j.backup_path==="string"}catch{return!1}}function rR(_){let $=_.now??new Date,U=_.approveWrite!==!0,j=a_(_.current),D=Ck(_.current,j),N=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!j.exists||D),E=a_(_.legacy,{includeSqlite:!N}),I={legacy_exists:E.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},W=[];if(!E.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:E,current_before:j,backup_after:null,current_after:null,checks:I,warnings:W,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(I.legacy_is_tombstone=uk(_.legacy,E,_.current.home),I.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:H6(_.legacy.home,"TOMBSTONE.md"),legacy_before:E,current_before:j,backup_after:null,current_after:j,checks:{...I,tombstone_written:!0},warnings:W,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!I.current_absent_or_default_scaffold)W.push("current_workspace_contains_data");if(!I.approval_present)W.push("write_approval_required");if(U||!I.current_absent_or_default_scaffold||!I.approval_present)return{ok:I.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-${MI($)}`,tombstone_path:H6(_.legacy.home,"TOMBSTONE.md"),legacy_before:E,current_before:j,backup_after:null,current_after:null,checks:I,warnings:W,message:I.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let J=`${_.legacy.home}.backup-${MI($)}`;gI(Iz(_.current.home),{recursive:!0}),gI(Iz(J),{recursive:!0}),Lz(_.legacy.home,J,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),hR(J);let L=S$(J),S=a_(L,{includeSqlite:!1});if(I.backup_matches_legacy=Wz(E,S),!I.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${J}`);if(j.exists&&D)ZI(_.current.home,{recursive:!0,force:!0});yk(_.legacy.home,_.current.home);let X=a_(_.current,{includeSqlite:!1});I.migrated_matches_backup=Wz(S,X);let z=a_(L),R=a_(_.current),P={...z,path:_.legacy.home};gI(_.legacy.home,{recursive:!0});let O=H6(_.legacy.home,"TOMBSTONE.md");wR(O,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${J}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),Ez(O,384);let Y=H6(_.legacy.home,"migration.json");wR(Y,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:J,legacy_before:P,backup_after:z,current_after:R},null,2)} -`,{mode:384}),Ez(Y,384),I.tombstone_written=y$(O);let Q=I.backup_matches_legacy&&I.migrated_matches_backup&&I.tombstone_written;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:J,tombstone_path:O,legacy_before:P,current_before:j,backup_after:z,current_after:R,checks:I,warnings:W,message:Q?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}import{createHash as nR}from"crypto";var u$="knowledge.project-registration.v1",Oz="knowledge.project-resources.v1",hk=1,N0="explicit_collection_binding",rk=1;class o extends Error{code;details;constructor(_,$,U={}){super($);this.code=_;this.details=U;this.name="KnowledgeProjectLinksError"}}class dR{db;kind="sqlite";tail=Promise.resolve();closed=!1;constructor(_){this.db=_}async close(){if(await this.tail,this.closed)return;this.closed=!0,this.db.close()}async get(_,$=[]){return this.db.query(_).get(...$)??null}async many(_,$=[]){return this.db.query(_).all(...$)}async run(_,$=[]){let U=this.db.query(_).run(...$);return{changes:Number(U.changes)}}async lock(_){}transaction(_){let $=this.tail.then(async()=>{this.db.exec("BEGIN IMMEDIATE");try{let U=await _(this);return this.db.exec("COMMIT"),U}catch(U){throw this.db.exec("ROLLBACK"),U}});return this.tail=$.then(()=>{return},()=>{return}),$}}function ck(){return` + updated_at = excluded.updated_at`,[I,"wiki/README.md","Wiki",j.uri,j.hash??null,"active",JSON.stringify({artifact_key:j.key,provenance:jz(j)}),N,N]),bk(_,I,"Wiki",j,kY(),N)}}import{createHash as wY}from"crypto";import{cpSync as Sz,chmodSync as Ez,existsSync as y$,lstatSync as uY,mkdirSync as gE,readdirSync as Pz,readFileSync as C1,renameSync as Ck,rmSync as HE,writeFileSync as vY}from"fs";import{dirname as Az,join as H6,relative as wk}from"path";function Wz(_,$=_){if(!y$(_))return[];let U=uY(_);if(U.isFile())return[wk($,_)||"."];if(!U.isDirectory())return[];return Pz(_).flatMap((N)=>Wz(H6(_,N),$)).sort()}function fY(_,$){if($.length===0)return{sha256:null,bytes:0};let U=wY("sha256"),N=0;for(let D of $){let j=H6(_,D),I=C1(j),E=wY("sha256").update(I).digest("hex");N+=I.byteLength,U.update(D),U.update("\x00"),U.update(E),U.update("\x00")}return{sha256:U.digest("hex"),bytes:N}}function vk(_){if(!y$(_))return null;let $=JSON.parse(C1(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function fk(_){if(!y$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=MX(_);try{let U=$.query("PRAGMA integrity_check").get(),N=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 I of D){let E=`"${I.name.replaceAll('"','""')}"`,W=$.query(`SELECT COUNT(*) AS n FROM ${E}`).get();j[I.name]=W?.n??0}return{exists:!0,integrity_check:N,table_counts:j}}finally{$.close()}}function a_(_,$={}){let U=Wz(_.home),N=fY(_.home,U),D=Wz(_.artifactsDir),j=fY(_.artifactsDir,D),I=y$(_.knowledgeDbPath);return{path:_.home,exists:y$(_.home),file_count:U.length,total_bytes:N.bytes,tree_sha256:N.sha256,json_items:vk(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:I,integrity_check:null,table_counts:{}}:fk(_.knowledgeDbPath),artifacts:{exists:y$(_.artifactsDir),file_count:D.length,total_bytes:j.bytes,tree_sha256:j.sha256},files:U}}function xk(_,$){if(!$.exists)return!0;if($.files.filter((N)=>N!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(C1(_.configPath,"utf8")))===JSON.stringify(aU())}catch{return!1}}function Jz(_,$){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 ZE(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function Lz(_){if(Array.isArray(_))return`[${_.map(Lz).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${Lz(U)}`).join(",")}}`;return JSON.stringify(_)}function xY(_){return Lz(_)}function Iz(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function N0(_){if(!y$(_))return{items:[]};let $=JSON.parse(C1(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function yY(_,$){let U=new Map(_.items.map((L)=>[L.id,L])),N=new Map;for(let L of _.items){let S=N.get(L.id);if(S&&S.item.id!==L.id);N.set(L.id,{item:L,keyKind:"id",source:"current"});let X=Iz(L);if(X&&!N.has(X))N.set(X,{item:L,keyKind:"short_id",source:"current"})}let D=[],j=0,I=0,E=0,W=[];for(let L of $.items){let S=U.get(L.id);if(S){if(xY(S)===xY(L))j+=1;else I+=1,D.push({type:"id_conflict",id:L.id,legacy_title:L.title,current_title:S.title});continue}let X=[{key:L.id,keyKind:"id"},...Iz(L)?[{key:Iz(L),keyKind:"short_id"}]:[]],z=!1;for(let{key:Y,keyKind:P}of X){let O=N.get(Y);if(!O)continue;if(P==="id"&&O.keyKind==="id")I+=1,D.push({type:"id_conflict",id:Y,legacy_id:L.id,current_id:O.item.id,legacy_title:L.title,current_title:O.item.title});else E+=1,D.push({type:"short_id_conflict",id:Y,legacy_id:L.id,current_id:O.item.id,legacy_title:L.title,current_title:O.item.title});z=!0}if(z)continue;W.push(L);for(let{key:Y,keyKind:P}of X)N.set(Y,{item:L,keyKind:P,source:"legacy"})}let J={items:[..._.items,...W]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:j,duplicate_ids_conflicting:I,short_id_conflicts:E,stranded_items:W.length,merged_items:D.length===0?W.length:0,expected_total_items:_.items.length+W.length,final_items:null},conflicts:D,mergedStore:J}}function yk(_,$){let U=[...new Set(_)].sort(),N=(D)=>{if(D>=U.length)return $();return t$(U[D],()=>N(D+1),{createParent:!0})};return N(0)}function hY(_){let $=_.now??new Date,U=_.approveWrite!==!0,N=a_(_.legacy),D=a_(_.current),j={legacy_exists:N.exists,legacy_store_exists:y$(_.legacy.jsonStorePath),current_store_exists:y$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},I=[];if(!N.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:N,current_before:D,backup_after:null,current_after:D,merge:{current_items:N0(_.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:N0(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...j,no_conflicts:!0,final_count_matches_expected:!0},warnings:I,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let E=N0(_.current.jsonStorePath),W=N0(_.legacy.jsonStorePath),J=yY(E,W);if(j.no_conflicts=J.conflicts.length===0,J.conflicts.length>0)I.push("merge_conflicts_detected");if(!j.approval_present)I.push("write_approval_required");if(U||!j.approval_present||J.conflicts.length>0)return{ok:J.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-${ZE($)}`,legacy_before:N,current_before:D,backup_after:null,current_after:null,merge:J.stats,conflicts:J.conflicts,checks:j,warnings:I,message:J.conflicts.length===0?`Dry run: would merge ${J.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${J.conflicts.length} conflict(s)`};return yk([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let L=N0(_.current.jsonStorePath),S=N0(_.legacy.jsonStorePath),X=yY(L,S);if(j.no_conflicts=X.conflicts.length===0,X.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:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:null,merge:X.stats,conflicts:X.conflicts,checks:j,warnings:[...I,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${X.conflicts.length} conflict(s)`};if(X.stats.stranded_items===0)return X.stats.final_items=L.items.length,j.final_count_matches_expected=L.items.length===X.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:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:a_(_.current),merge:X.stats,conflicts:[],checks:j,warnings:I,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let z=`${_.legacy.home}.merge-backup-${ZE($)}`;gE(Az(z),{recursive:!0}),Sz(_.legacy.home,z,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let Y=S$(z),P=a_(Y);if(j.legacy_backup_written=Jz(a_(_.legacy),P),!j.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${z}`);J6(_.current.jsonStorePath,X.mergedStore);let O=N0(_.current.jsonStorePath);X.stats.final_items=O.items.length,j.final_count_matches_expected=O.items.length===X.stats.expected_total_items;let R=a_(_.current),Q=j.legacy_backup_written&&j.no_conflicts&&j.final_count_matches_expected;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:z,legacy_before:N,current_before:D,backup_after:P,current_after:R,merge:X.stats,conflicts:[],checks:j,warnings:I,message:Q?`Merged ${X.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function uk(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Oz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function hk(_){let $;for(let U=0;U<8;U+=1)try{HE(_,{recursive:!0,force:!1});return}catch(N){if($=N,!Oz(N))throw N;uk(50*(U+1))}throw $}function rY(_){if(!y$(_))return;let $=uY(_);if(Ez(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of Pz(_))rY(H6(_,U))}function rk(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function ck(_){for(let $ of Pz(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{HE(H6(_,$),{recursive:!0,force:!1})}catch(U){if(!Oz(U)||!$.startsWith("knowledge.db"))throw U}}}function mk(_,$){try{Ck(_,$);return}catch(U){Sz(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{hk(_)}catch(N){if(Oz(N)){ck(_);return}throw HE($,{recursive:!0,force:!0}),N}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function nk(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((N)=>!rk(N)))return!1;try{let N=JSON.parse(C1(H6(_.home,"migration.json"),"utf8"));return N.new_path===U&&typeof N.backup_path==="string"}catch{return!1}}function cY(_){let $=_.now??new Date,U=_.approveWrite!==!0,N=a_(_.current),D=xk(_.current,N),j=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!N.exists||D),I=a_(_.legacy,{includeSqlite:!j}),E={legacy_exists:I.exists,current_absent_or_default_scaffold:!N.exists||D,approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},W=[];if(!I.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:I,current_before:N,backup_after:null,current_after:null,checks:E,warnings:W,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(E.legacy_is_tombstone=nk(_.legacy,I,_.current.home),E.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:H6(_.legacy.home,"TOMBSTONE.md"),legacy_before:I,current_before:N,backup_after:null,current_after:N,checks:{...E,tombstone_written:!0},warnings:W,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!E.current_absent_or_default_scaffold)W.push("current_workspace_contains_data");if(!E.approval_present)W.push("write_approval_required");if(U||!E.current_absent_or_default_scaffold||!E.approval_present)return{ok:E.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-${ZE($)}`,tombstone_path:H6(_.legacy.home,"TOMBSTONE.md"),legacy_before:I,current_before:N,backup_after:null,current_after:null,checks:E,warnings:W,message:E.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let J=`${_.legacy.home}.backup-${ZE($)}`;gE(Az(_.current.home),{recursive:!0}),gE(Az(J),{recursive:!0}),Sz(_.legacy.home,J,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),rY(J);let L=S$(J),S=a_(L,{includeSqlite:!1});if(E.backup_matches_legacy=Jz(I,S),!E.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${J}`);if(N.exists&&D)HE(_.current.home,{recursive:!0,force:!0});mk(_.legacy.home,_.current.home);let X=a_(_.current,{includeSqlite:!1});E.migrated_matches_backup=Jz(S,X);let z=a_(L),Y=a_(_.current),P={...z,path:_.legacy.home};gE(_.legacy.home,{recursive:!0});let O=H6(_.legacy.home,"TOMBSTONE.md");vY(O,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${J}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),Ez(O,384);let R=H6(_.legacy.home,"migration.json");vY(R,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:J,legacy_before:P,backup_after:z,current_after:Y},null,2)} +`,{mode:384}),Ez(R,384),E.tombstone_written=y$(O);let Q=E.backup_matches_legacy&&E.migrated_matches_backup&&E.tombstone_written;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:J,tombstone_path:O,legacy_before:P,current_before:N,backup_after:z,current_after:Y,checks:E,warnings:W,message:Q?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}import{createHash as dY}from"crypto";var u$="knowledge.project-registration.v1",zz="knowledge.project-resources.v1",dk=1,j0="explicit_collection_binding",lk=1;class o extends Error{code;details;constructor(_,$,U={}){super($);this.code=_;this.details=U;this.name="KnowledgeProjectLinksError"}}class lY{db;kind="sqlite";tail=Promise.resolve();closed=!1;constructor(_){this.db=_}async close(){if(await this.tail,this.closed)return;this.closed=!0,this.db.close()}async get(_,$=[]){return this.db.query(_).get(...$)??null}async many(_,$=[]){return this.db.query(_).all(...$)}async run(_,$=[]){let U=this.db.query(_).run(...$);return{changes:Number(U.changes)}}async lock(_){}transaction(_){let $=this.tail.then(async()=>{this.db.exec("BEGIN IMMEDIATE");try{let U=await _(this);return this.db.exec("COMMIT"),U}catch(U){throw this.db.exec("ROLLBACK"),U}});return this.tail=$.then(()=>{return},()=>{return}),$}}function ik(){return` PRAGMA foreign_keys = ON; CREATE TABLE IF NOT EXISTS knowledge_projects ( authority_id TEXT NOT NULL, @@ -1247,7 +1247,7 @@ Pages should be concise, cited, and organized for both humans and agents. BEGIN SELECT RAISE(ABORT, 'knowledge project link receipts are immutable'); END; - `}function lR(){return[`CREATE TABLE IF NOT EXISTS knowledge_projects ( + `}function iY(){return[`CREATE TABLE IF NOT EXISTS knowledge_projects ( authority_id TEXT NOT NULL, tenant_id TEXT NOT NULL, corpus_id TEXT NOT NULL, @@ -1331,13 +1331,13 @@ Pages should be concise, cited, and organized for both humans and agents. $$`,`DROP TRIGGER IF EXISTS knowledge_project_link_receipts_immutable ON knowledge_project_link_receipts`,`CREATE TRIGGER knowledge_project_link_receipts_immutable BEFORE UPDATE OR DELETE ON knowledge_project_link_receipts - FOR EACH ROW EXECUTE FUNCTION knowledge_project_link_receipts_immutable()`]}function zz(_){if(Array.isArray(_))return _.map(zz);if(_&&typeof _==="object")return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>[$,zz(U)]));return _}function E4(_){return JSON.stringify(zz(_))}function g_(_){return nR("sha256").update(E4(_)).digest("hex")}function w1(_){let $=nR("sha256").update(_).digest("hex").slice(0,32).split("");$[12]="5",$[16]=(Number.parseInt($[16],16)&3|8).toString(16);let U=$.join("");return`${U.slice(0,8)}-${U.slice(8,12)}-${U.slice(12,16)}-${U.slice(16,20)}-${U.slice(20)}`}function w_(_,$){if(typeof _!=="string"||_.trim().length===0)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`${$} must be a non-empty string.`);return _.trim()}function mk(_){let $=_??100;if(!Number.isInteger($)||$<1||$>200)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","limit must be an integer between 1 and 200.");return $}function nk(_){let $=["project","collection","item","taxonomy"];if(!_||_.length===0)return $;let U=[...new Set(_)];for(let j of U)if(!$.includes(j))throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`unsupported project resource kind: ${j}`);return U.sort((j,D)=>$.indexOf(j)-$.indexOf(D))}function cR(_){return{receipt_id:_.receipt_id,authority:"knowledge",route:u$,package_version:_.package_version,authority_id:_.authority_id,tenant_id:_.tenant_id,corpus_id:_.corpus_id,operation_id:_.operation_id,step_id:_.step_id,action:_.action,resource_kind:_.resource_kind,direction:_.direction,idempotency_key:_.idempotency_key,request_digest:_.request_digest,precondition_digest:_.precondition_digest,outcome:_.outcome,reason:_.reason,source_project_id:_.source_project_id,project_id:_.project_id,collection_id:_.collection_id,item_id:_.item_id,result_revision:_.result_revision,result_digest:_.result_digest,accepted_receipt_id:_.accepted_receipt_id,created_by_operation:Number(_.created_by_operation)===1,created_at:_.created_at}}function mR(_){let $={source_project_id:_.source_project_id,project_id:_.project_id,project_slug:_.project_slug,project_name:_.project_name,collection_id:_.collection_id,collection_slug:_.collection_slug,collection_name:_.collection_name,membership_rule:N0,revision:`r${Number(_.revision)}`,created_at:_.created_at,updated_at:_.updated_at};return{...$,digest:g_($)}}function HI(_){return[_.receipt_id,_.authority,_.route,_.package_version,_.authority_id,_.tenant_id,_.corpus_id,_.operation_id,_.step_id,_.action,_.resource_kind,_.direction,_.idempotency_key,_.request_digest,_.precondition_digest,_.outcome,_.reason,_.source_project_id,_.project_id,_.collection_id,_.item_id,_.result_revision,_.result_digest,_.accepted_receipt_id,_.created_by_operation?1:0,_.created_at]}var qI=`INSERT INTO knowledge_project_link_receipts ( + FOR EACH ROW EXECUTE FUNCTION knowledge_project_link_receipts_immutable()`]}function Xz(_){if(Array.isArray(_))return _.map(Xz);if(_&&typeof _==="object")return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>[$,Xz(U)]));return _}function I4(_){return JSON.stringify(Xz(_))}function Z_(_){return dY("sha256").update(I4(_)).digest("hex")}function w1(_){let $=dY("sha256").update(_).digest("hex").slice(0,32).split("");$[12]="5",$[16]=(Number.parseInt($[16],16)&3|8).toString(16);let U=$.join("");return`${U.slice(0,8)}-${U.slice(8,12)}-${U.slice(12,16)}-${U.slice(16,20)}-${U.slice(20)}`}function v_(_,$){if(typeof _!=="string"||_.trim().length===0)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`${$} must be a non-empty string.`);return _.trim()}function tk(_){let $=_??100;if(!Number.isInteger($)||$<1||$>200)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","limit must be an integer between 1 and 200.");return $}function ok(_){let $=["project","collection","item","taxonomy"];if(!_||_.length===0)return $;let U=[...new Set(_)];for(let N of U)if(!$.includes(N))throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`unsupported project resource kind: ${N}`);return U.sort((N,D)=>$.indexOf(N)-$.indexOf(D))}function mY(_){return{receipt_id:_.receipt_id,authority:"knowledge",route:u$,package_version:_.package_version,authority_id:_.authority_id,tenant_id:_.tenant_id,corpus_id:_.corpus_id,operation_id:_.operation_id,step_id:_.step_id,action:_.action,resource_kind:_.resource_kind,direction:_.direction,idempotency_key:_.idempotency_key,request_digest:_.request_digest,precondition_digest:_.precondition_digest,outcome:_.outcome,reason:_.reason,source_project_id:_.source_project_id,project_id:_.project_id,collection_id:_.collection_id,item_id:_.item_id,result_revision:_.result_revision,result_digest:_.result_digest,accepted_receipt_id:_.accepted_receipt_id,created_by_operation:Number(_.created_by_operation)===1,created_at:_.created_at}}function nY(_){let $={source_project_id:_.source_project_id,project_id:_.project_id,project_slug:_.project_slug,project_name:_.project_name,collection_id:_.collection_id,collection_slug:_.collection_slug,collection_name:_.collection_name,membership_rule:j0,revision:`r${Number(_.revision)}`,created_at:_.created_at,updated_at:_.updated_at};return{...$,digest:Z_($)}}function qE(_){return[_.receipt_id,_.authority,_.route,_.package_version,_.authority_id,_.tenant_id,_.corpus_id,_.operation_id,_.step_id,_.action,_.resource_kind,_.direction,_.idempotency_key,_.request_digest,_.precondition_digest,_.outcome,_.reason,_.source_project_id,_.project_id,_.collection_id,_.item_id,_.result_revision,_.result_digest,_.accepted_receipt_id,_.created_by_operation?1:0,_.created_at]}var kE=`INSERT INTO knowledge_project_link_receipts ( receipt_id, authority, route, package_version, authority_id, tenant_id, corpus_id, operation_id, step_id, action, resource_kind, direction, idempotency_key, request_digest, precondition_digest, outcome, reason, source_project_id, project_id, collection_id, item_id, result_revision, result_digest, accepted_receipt_id, created_by_operation, created_at -) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;class iR{sql;itemResolver;options;identity;now;constructor(_,$,U){this.sql=_;this.itemResolver=$;this.options=U;this.identity={authority_id:w_(U.authorityId,"authority_id"),tenant_id:w_(U.tenantId,"tenant_id"),corpus_id:w_(U.corpusId,"corpus_id")},this.now=U.now??(()=>new Date().toISOString())}async close(){await this.sql.close()}capabilityValue(){return{authority:"knowledge",route:u$,resource_route:Oz,package_version:this.options.packageVersion,schema_version:hk,...this.identity,registration_resource:"collection",supported_resources:["project","collection","item","taxonomy"],stable_project_ids:!0,stable_collection_ids:!0,explicit_membership:!0,membership_rule:N0,later_child_binding_required:!0,bind_existing_items:!0,immutable_receipts:!0,exact_terminal_lookup:!0,exact_readback:!0,conditional_inverse:!0,complete_keyset_pagination:!0,revision_bound_cursors:!0}}async capability(){return this.capabilityValue()}assertIdentity(_){let $=this.capabilityValue();if(_.authority_route!==$.route||_.package_version!==$.package_version||_.authority_id!==$.authority_id||_.tenant_id!==$.tenant_id||_.corpus_id!==$.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","request does not match the current Knowledge project-registration capability identity.")}stableProjectId(_){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00project\x00${_}`)}stableCollectionId(_,$){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00collection\x00${_}\x00${$}`)}collectionFence(_){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"collection",_].join("\x1F")}membershipFence(_,$){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"membership",_,$].join("\x1F")}stableReceiptId(_,$,U,j){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00receipt\x00${_}\x00${$}\x00${U}\x00${j}`)}async getAggregateBySource(_,$){return _.get(`SELECT p.source_project_id, p.project_id, p.project_slug, p.project_name, +) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)`;class tY{sql;itemResolver;options;identity;now;constructor(_,$,U){this.sql=_;this.itemResolver=$;this.options=U;this.identity={authority_id:v_(U.authorityId,"authority_id"),tenant_id:v_(U.tenantId,"tenant_id"),corpus_id:v_(U.corpusId,"corpus_id")},this.now=U.now??(()=>new Date().toISOString())}async close(){await this.sql.close()}capabilityValue(){return{authority:"knowledge",route:u$,resource_route:zz,package_version:this.options.packageVersion,schema_version:dk,...this.identity,registration_resource:"collection",supported_resources:["project","collection","item","taxonomy"],stable_project_ids:!0,stable_collection_ids:!0,explicit_membership:!0,membership_rule:j0,later_child_binding_required:!0,bind_existing_items:!0,immutable_receipts:!0,exact_terminal_lookup:!0,exact_readback:!0,conditional_inverse:!0,complete_keyset_pagination:!0,revision_bound_cursors:!0}}async capability(){return this.capabilityValue()}assertIdentity(_){let $=this.capabilityValue();if(_.authority_route!==$.route||_.package_version!==$.package_version||_.authority_id!==$.authority_id||_.tenant_id!==$.tenant_id||_.corpus_id!==$.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","request does not match the current Knowledge project-registration capability identity.")}stableProjectId(_){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00project\x00${_}`)}stableCollectionId(_,$){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00collection\x00${_}\x00${$}`)}collectionFence(_){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"collection",_].join("\x1F")}membershipFence(_,$){return["knowledge-project-links",this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,"membership",_,$].join("\x1F")}stableReceiptId(_,$,U,N){return w1(`${this.identity.authority_id}\x00${this.identity.tenant_id}\x00${this.identity.corpus_id}\x00receipt\x00${_}\x00${$}\x00${U}\x00${N}`)}async getAggregateBySource(_,$){return _.get(`SELECT p.source_project_id, p.project_id, p.project_slug, p.project_name, c.collection_id, c.collection_slug, c.collection_name, c.membership_rule, c.revision, c.created_at, c.updated_at FROM knowledge_projects p @@ -1369,23 +1369,23 @@ Pages should be concise, cited, and organized for both humans and agents. WHERE p.authority_id = ? AND p.tenant_id = ? AND p.corpus_id = ? AND (p.source_project_id = ? OR p.project_id = ?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,$])}async getReceiptByAttempt(_,$){let U=await _.get(`SELECT * FROM knowledge_project_link_receipts WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND operation_id = ? AND step_id = ? AND action = ? AND direction = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.operation_id,$.step_id,$.action,$.direction]);return U?cR(U):null}assertIdempotent(_,$){if(_.idempotency_key!==$.idempotency_key||$.request_digest!==void 0&&_.request_digest!==$.request_digest||$.precondition_digest!==void 0&&_.precondition_digest!==$.precondition_digest||$.accepted_receipt_id!==void 0&&_.accepted_receipt_id!==$.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_IDEMPOTENCY_MISMATCH","operation and step identity are already bound to a different Knowledge project-link request.",{receipt_id:_.receipt_id})}async registerCollection(_){if(this.assertIdentity(_),_.resource_kind!=="collection"||_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","collection registration requires resource_kind=collection and direction=forward.");let $=w_(_.project_id,"project_id"),U=w_(_.project_slug,"project_slug"),j=w_(_.project_name,"project_name");if(w_(_.target_selector,"target_selector")!==$)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","target_selector must equal the exact source project id.");let N=w_(_.desired.collection_slug??`${U}-knowledge`,"desired.collection_slug"),E=w_(_.desired.collection_name??`${j} Knowledge`,"desired.collection_name"),I=g_({action:"register_collection",source_project_id:$,project_slug:U,project_name:j,collection_slug:N,collection_name:E,membership_rule:N0});if(_.request_digest!==I)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized collection-registration request.",{expected_request_digest:I});let W=this.stableCollectionId($,N);return this.sql.transaction(async(J)=>{let L=await this.getReceiptByAttempt(J,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"forward"});if(L)return this.assertIdempotent(L,_),L;await J.lock(this.collectionFence(W));let S=await this.getAggregateBySource(J,$),X=S===null;if(!S){let P=this.now(),O=this.stableProjectId($),Y=W;await J.run(`INSERT INTO knowledge_projects ( + AND operation_id = ? AND step_id = ? AND action = ? AND direction = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.operation_id,$.step_id,$.action,$.direction]);return U?mY(U):null}assertIdempotent(_,$){if(_.idempotency_key!==$.idempotency_key||$.request_digest!==void 0&&_.request_digest!==$.request_digest||$.precondition_digest!==void 0&&_.precondition_digest!==$.precondition_digest||$.accepted_receipt_id!==void 0&&_.accepted_receipt_id!==$.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_IDEMPOTENCY_MISMATCH","operation and step identity are already bound to a different Knowledge project-link request.",{receipt_id:_.receipt_id})}async registerCollection(_){if(this.assertIdentity(_),_.resource_kind!=="collection"||_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","collection registration requires resource_kind=collection and direction=forward.");let $=v_(_.project_id,"project_id"),U=v_(_.project_slug,"project_slug"),N=v_(_.project_name,"project_name");if(v_(_.target_selector,"target_selector")!==$)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","target_selector must equal the exact source project id.");let j=v_(_.desired.collection_slug??`${U}-knowledge`,"desired.collection_slug"),I=v_(_.desired.collection_name??`${N} Knowledge`,"desired.collection_name"),E=Z_({action:"register_collection",source_project_id:$,project_slug:U,project_name:N,collection_slug:j,collection_name:I,membership_rule:j0});if(_.request_digest!==E)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized collection-registration request.",{expected_request_digest:E});let W=this.stableCollectionId($,j);return this.sql.transaction(async(J)=>{let L=await this.getReceiptByAttempt(J,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"forward"});if(L)return this.assertIdempotent(L,_),L;await J.lock(this.collectionFence(W));let S=await this.getAggregateBySource(J,$),X=S===null;if(!S){let P=this.now(),O=this.stableProjectId($),R=W;await J.run(`INSERT INTO knowledge_projects ( authority_id, tenant_id, corpus_id, source_project_id, project_id, project_slug, project_name, created_at, updated_at - ) VALUES (?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,O,U,j,P,P]),await J.run(`INSERT INTO knowledge_project_collections ( + ) VALUES (?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,O,U,N,P,P]),await J.run(`INSERT INTO knowledge_project_collections ( authority_id, tenant_id, corpus_id, collection_id, project_id, collection_slug, collection_name, membership_rule, revision, created_at, updated_at - ) VALUES (?,?,?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,Y,O,N,E,N0,1,P,P]),S=await this.getAggregateByCollection(J,Y)}else if(S.project_slug!==U||S.project_name!==j||S.collection_slug!==N||S.collection_name!==E||S.membership_rule!==N0)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the source project is already bound to a different Knowledge collection aggregate.",{source_project_id:$,collection_id:S.collection_id});if(!S)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection registration committed but exact aggregate readback was unavailable.");let z=mR(S),R={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","forward"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"forward",idempotency_key:w_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:w_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:X?null:"adopted_existing_collection",source_project_id:z.source_project_id,project_id:z.project_id,collection_id:z.collection_id,item_id:null,result_revision:z.revision,result_digest:z.digest,accepted_receipt_id:null,created_by_operation:X,created_at:this.now()};return await J.run(qI,HI(R)),R})}async readCollection(_){let $=await this.getAggregateByCollection(this.sql,w_(_,"collection_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");return mR($)}async lookupReceipt(_){if(_.max_items!==1)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","exact terminal receipt lookup requires max_items=1.");if(_.authority_id!==this.identity.authority_id||_.tenant_id!==this.identity.tenant_id||_.corpus_id!==this.identity.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","receipt lookup does not match this authority identity.");let $=await this.getReceiptByAttempt(this.sql,_);if(!$||$.idempotency_key!==_.idempotency_key)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","exact Knowledge project-link receipt was not found.");return $}async receiptById(_,$){let U=await _.get(`SELECT * FROM knowledge_project_link_receipts - WHERE receipt_id = ? AND authority_id = ? AND tenant_id = ? AND corpus_id = ?`,[$,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id]);return U?cR(U):null}async hasOtherAcceptedForwardReceipt(_,$){let U=$.action==="bind_item"?"AND item_id = ?":"AND item_id IS NULL";return await _.get(`SELECT receipt_id + ) VALUES (?,?,?,?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,R,O,j,I,j0,1,P,P]),S=await this.getAggregateByCollection(J,R)}else if(S.project_slug!==U||S.project_name!==N||S.collection_slug!==j||S.collection_name!==I||S.membership_rule!==j0)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the source project is already bound to a different Knowledge collection aggregate.",{source_project_id:$,collection_id:S.collection_id});if(!S)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection registration committed but exact aggregate readback was unavailable.");let z=nY(S),Y={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","forward"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"forward",idempotency_key:v_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:v_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:X?null:"adopted_existing_collection",source_project_id:z.source_project_id,project_id:z.project_id,collection_id:z.collection_id,item_id:null,result_revision:z.revision,result_digest:z.digest,accepted_receipt_id:null,created_by_operation:X,created_at:this.now()};return await J.run(kE,qE(Y)),Y})}async readCollection(_){let $=await this.getAggregateByCollection(this.sql,v_(_,"collection_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");return nY($)}async lookupReceipt(_){if(_.max_items!==1)throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","exact terminal receipt lookup requires max_items=1.");if(_.authority_id!==this.identity.authority_id||_.tenant_id!==this.identity.tenant_id||_.corpus_id!==this.identity.corpus_id)throw new o("KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","receipt lookup does not match this authority identity.");let $=await this.getReceiptByAttempt(this.sql,_);if(!$||$.idempotency_key!==_.idempotency_key)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","exact Knowledge project-link receipt was not found.");return $}async receiptById(_,$){let U=await _.get(`SELECT * FROM knowledge_project_link_receipts + WHERE receipt_id = ? AND authority_id = ? AND tenant_id = ? AND corpus_id = ?`,[$,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id]);return U?mY(U):null}async hasOtherAcceptedForwardReceipt(_,$){let U=$.action==="bind_item"?"AND item_id = ?":"AND item_id IS NULL";return await _.get(`SELECT receipt_id FROM knowledge_project_link_receipts WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND action = ? AND direction = 'forward' AND outcome = 'accepted' AND collection_id = ? AND receipt_id <> ? ${U} - LIMIT 1`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.action,$.collection_id,$.receipt_id,...$.action==="bind_item"?[$.item_id]:[]])!==null}assertInverseIdentity(_){this.assertIdentity(_),w_(_.accepted_receipt_id,"accepted_receipt_id"),w_(_.idempotency_key,"idempotency_key")}async compensateRegistration(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let U=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(U)return this.assertIdempotent(U,_),U;let j=await this.receiptById($,_.accepted_receipt_id);if(!j||j.action!=="register_collection"||j.direction!=="forward"||j.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection-registration receipt was not found.");if(j.collection_id)await $.lock(this.collectionFence(j.collection_id));let D=j.collection_id?await this.getAggregateByCollection($,j.collection_id):null,N="accepted",E=null;if(!j.created_by_operation)N="terminal_nonacceptance",E="adopted_collection_is_not_inverse_owned";else if(!D)N="terminal_nonacceptance",E="accepted_collection_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,j))N="terminal_nonacceptance",E="collection_has_later_accepted_adopter";else{let J=await $.get(`SELECT COUNT(*) AS count + LIMIT 1`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.action,$.collection_id,$.receipt_id,...$.action==="bind_item"?[$.item_id]:[]])!==null}assertInverseIdentity(_){this.assertIdentity(_),v_(_.accepted_receipt_id,"accepted_receipt_id"),v_(_.idempotency_key,"idempotency_key")}async compensateRegistration(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let U=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(U)return this.assertIdempotent(U,_),U;let N=await this.receiptById($,_.accepted_receipt_id);if(!N||N.action!=="register_collection"||N.direction!=="forward"||N.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection-registration receipt was not found.");if(N.collection_id)await $.lock(this.collectionFence(N.collection_id));let D=N.collection_id?await this.getAggregateByCollection($,N.collection_id):null,j="accepted",I=null;if(!N.created_by_operation)j="terminal_nonacceptance",I="adopted_collection_is_not_inverse_owned";else if(!D)j="terminal_nonacceptance",I="accepted_collection_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,N))j="terminal_nonacceptance",I="collection_has_later_accepted_adopter";else{let J=await $.get(`SELECT COUNT(*) AS count FROM knowledge_project_collection_memberships - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]);if(Number(J?.count??0)>0)N="terminal_nonacceptance",E="collection_has_bound_items";else await $.run(`DELETE FROM knowledge_project_collections + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]);if(Number(J?.count??0)>0)j="terminal_nonacceptance",I="collection_has_bound_items";else await $.run(`DELETE FROM knowledge_project_collections WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]),await $.run(`DELETE FROM knowledge_projects WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND project_id = ? AND NOT EXISTS ( @@ -1394,24 +1394,24 @@ Pages should be concise, cited, and organized for both humans and agents. AND c.tenant_id = knowledge_projects.tenant_id AND c.corpus_id = knowledge_projects.corpus_id AND c.project_id = knowledge_projects.project_id - )`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.project_id])}let I={accepted_receipt_id:j.receipt_id,collection_id:j.collection_id,absent:N==="accepted"},W={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","inverse"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:g_({accepted_receipt_id:j.receipt_id,collection_id:j.collection_id}),precondition_digest:j.result_digest??"",outcome:N,reason:E,source_project_id:j.source_project_id,project_id:j.project_id,collection_id:j.collection_id,item_id:null,result_revision:N==="accepted"?"absent":j.result_revision,result_digest:g_(I),accepted_receipt_id:j.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(qI,HI(W)),W})}async verifyRegistrationInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection inverse receipt was not found.");if($.collection_id?await this.getAggregateByCollection(this.sql,$.collection_id):null)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","collection inverse verification found the target still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.collection_id,absent:!0,digest:$.result_digest}}async bindItem(_){if(this.assertIdentity(_),_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","item binding requires direction=forward.");let $=w_(_.collection_id,"collection_id"),U=w_(_.item_id,"item_id"),j=await this.itemResolver(U);if(!j||j.id!==U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","bind-existing requires an exact existing Knowledge item id.",{item_id:U});let D=g_({action:"bind_item",collection_id:$,item_id:U});if(_.request_digest!==D)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized item-membership request.",{expected_request_digest:D});return this.sql.transaction(async(N)=>{let E=await this.getReceiptByAttempt(N,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"forward"});if(E)return this.assertIdempotent(E,_),E;if(await N.lock(this.collectionFence($)),await N.lock(this.membershipFence($,U)),!await this.getAggregateByCollection(N,$))throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");let W=await N.get(`SELECT * FROM knowledge_project_collection_memberships + )`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.project_id])}let E={accepted_receipt_id:N.receipt_id,collection_id:N.collection_id,absent:j==="accepted"},W={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"register_collection","inverse"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",resource_kind:"collection",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:Z_({accepted_receipt_id:N.receipt_id,collection_id:N.collection_id}),precondition_digest:N.result_digest??"",outcome:j,reason:I,source_project_id:N.source_project_id,project_id:N.project_id,collection_id:N.collection_id,item_id:null,result_revision:j==="accepted"?"absent":N.result_revision,result_digest:Z_(E),accepted_receipt_id:N.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(kE,qE(W)),W})}async verifyRegistrationInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"register_collection",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted collection inverse receipt was not found.");if($.collection_id?await this.getAggregateByCollection(this.sql,$.collection_id):null)throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","collection inverse verification found the target still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.collection_id,absent:!0,digest:$.result_digest}}async bindItem(_){if(this.assertIdentity(_),_.direction!=="forward")throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","item binding requires direction=forward.");let $=v_(_.collection_id,"collection_id"),U=v_(_.item_id,"item_id"),N=await this.itemResolver(U);if(!N||N.id!==U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","bind-existing requires an exact existing Knowledge item id.",{item_id:U});let D=Z_({action:"bind_item",collection_id:$,item_id:U});if(_.request_digest!==D)throw new o("KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","request_digest does not bind the normalized item-membership request.",{expected_request_digest:D});return this.sql.transaction(async(j)=>{let I=await this.getReceiptByAttempt(j,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"forward"});if(I)return this.assertIdempotent(I,_),I;if(await j.lock(this.collectionFence($)),await j.lock(this.membershipFence($,U)),!await this.getAggregateByCollection(j,$))throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection was not found by exact id.");let W=await j.get(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,U]),J=W===null,L=this.now(),S=this.stableReceiptId(_.operation_id,_.step_id,"bind_item","forward");if(!W)await N.run(`INSERT INTO knowledge_project_collection_memberships ( + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,U]),J=W===null,L=this.now(),S=this.stableReceiptId(_.operation_id,_.step_id,"bind_item","forward");if(!W)await j.run(`INSERT INTO knowledge_project_collection_memberships ( authority_id, tenant_id, corpus_id, collection_id, item_id, bound_receipt_id, created_by_operation, bound_at - ) VALUES (?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,U,S,1,L]),await N.run(`UPDATE knowledge_project_collections + ) VALUES (?,?,?,?,?,?,?,?)`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$,U,S,1,L]),await j.run(`UPDATE knowledge_project_collections SET revision = revision + 1, updated_at = ? - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[L,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$]);let X=await this.getAggregateByCollection(N,$);if(!X)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","item binding committed but collection readback was unavailable.");let z={collection_id:$,item_id:U,collection_revision:`r${Number(X.revision)}`,item_revision:`v${j.version??1}`},R={receipt_id:S,authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"forward",idempotency_key:w_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:w_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:J?null:"adopted_existing_membership",source_project_id:X.source_project_id,project_id:X.project_id,collection_id:$,item_id:U,result_revision:z.collection_revision,result_digest:g_(z),accepted_receipt_id:null,created_by_operation:J,created_at:L};return await N.run(qI,HI(R)),R})}async readItemBinding(_,$){let U=await this.sql.get(`SELECT * FROM knowledge_project_collection_memberships + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[L,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$]);let X=await this.getAggregateByCollection(j,$);if(!X)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","item binding committed but collection readback was unavailable.");let z={collection_id:$,item_id:U,collection_revision:`r${Number(X.revision)}`,item_revision:`v${N.version??1}`},Y={receipt_id:S,authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"forward",idempotency_key:v_(_.idempotency_key,"idempotency_key"),request_digest:_.request_digest,precondition_digest:v_(_.precondition_digest,"precondition_digest"),outcome:"accepted",reason:J?null:"adopted_existing_membership",source_project_id:X.source_project_id,project_id:X.project_id,collection_id:$,item_id:U,result_revision:z.collection_revision,result_digest:Z_(z),accepted_receipt_id:null,created_by_operation:J,created_at:L};return await j.run(kE,qE(Y)),Y})}async readItemBinding(_,$){let U=await this.sql.get(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,w_(_,"collection_id"),w_($,"item_id")]);if(!U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection membership was not found by exact ids.");let j=await this.getAggregateByCollection(this.sql,_);if(!j)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","membership exists without its collection aggregate.");let D={collection_id:_,item_id:$,revision:`r${Number(j.revision)}`,bound_at:U.bound_at};return{...D,digest:g_(D)}}async compensateItemBinding(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let U=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(U)return this.assertIdempotent(U,_),U;let j=await this.receiptById($,_.accepted_receipt_id);if(!j||j.action!=="bind_item"||j.direction!=="forward"||j.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding receipt was not found.");if(j.collection_id)await $.lock(this.collectionFence(j.collection_id));if(j.collection_id&&j.item_id)await $.lock(this.membershipFence(j.collection_id,j.item_id));let D="accepted",N=null,E=await $.get(`SELECT * FROM knowledge_project_collection_memberships + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,v_(_,"collection_id"),v_($,"item_id")]);if(!U)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge collection membership was not found by exact ids.");let N=await this.getAggregateByCollection(this.sql,_);if(!N)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","membership exists without its collection aggregate.");let D={collection_id:_,item_id:$,revision:`r${Number(N.revision)}`,bound_at:U.bound_at};return{...D,digest:Z_(D)}}async compensateItemBinding(_){return this.assertInverseIdentity(_),this.sql.transaction(async($)=>{let U=await this.getReceiptByAttempt($,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(U)return this.assertIdempotent(U,_),U;let N=await this.receiptById($,_.accepted_receipt_id);if(!N||N.action!=="bind_item"||N.direction!=="forward"||N.outcome!=="accepted")throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding receipt was not found.");if(N.collection_id)await $.lock(this.collectionFence(N.collection_id));if(N.collection_id&&N.item_id)await $.lock(this.membershipFence(N.collection_id,N.item_id));let D="accepted",j=null,I=await $.get(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,j.collection_id,j.item_id]);if(!j.created_by_operation)D="terminal_nonacceptance",N="adopted_membership_is_not_inverse_owned";else if(!E)D="terminal_nonacceptance",N="accepted_membership_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,j))D="terminal_nonacceptance",N="membership_has_later_accepted_adopter";else if(E.bound_receipt_id!==j.receipt_id||Number(E.created_by_operation)!==1)D="terminal_nonacceptance",N="membership_is_owned_by_a_different_receipt";else await $.run(`DELETE FROM knowledge_project_collection_memberships + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,N.collection_id,N.item_id]);if(!N.created_by_operation)D="terminal_nonacceptance",j="adopted_membership_is_not_inverse_owned";else if(!I)D="terminal_nonacceptance",j="accepted_membership_is_already_absent";else if(await this.hasOtherAcceptedForwardReceipt($,N))D="terminal_nonacceptance",j="membership_has_later_accepted_adopter";else if(I.bound_receipt_id!==N.receipt_id||Number(I.created_by_operation)!==1)D="terminal_nonacceptance",j="membership_is_owned_by_a_different_receipt";else await $.run(`DELETE FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ? AND bound_receipt_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,j.collection_id,j.item_id,j.receipt_id]),await $.run(`UPDATE knowledge_project_collections + AND collection_id = ? AND item_id = ? AND bound_receipt_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,N.collection_id,N.item_id,N.receipt_id]),await $.run(`UPDATE knowledge_project_collections SET revision = revision + 1, updated_at = ? - WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.now(),this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,j.collection_id]);let I=j.collection_id?await this.getAggregateByCollection($,j.collection_id):null,W={accepted_receipt_id:j.receipt_id,collection_id:j.collection_id,item_id:j.item_id,absent:D==="accepted"},J={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"bind_item","inverse"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:g_({accepted_receipt_id:j.receipt_id,collection_id:j.collection_id,item_id:j.item_id}),precondition_digest:j.result_digest??"",outcome:D,reason:N,source_project_id:j.source_project_id,project_id:j.project_id,collection_id:j.collection_id,item_id:j.item_id,result_revision:D==="accepted"&&I?`r${Number(I.revision)}`:j.result_revision,result_digest:g_(W),accepted_receipt_id:j.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(qI,HI(J)),J})}async verifyItemBindingInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding inverse receipt was not found.");if(await this.sql.get(`SELECT item_id FROM knowledge_project_collection_memberships + WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ?`,[this.now(),this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,N.collection_id]);let E=N.collection_id?await this.getAggregateByCollection($,N.collection_id):null,W={accepted_receipt_id:N.receipt_id,collection_id:N.collection_id,item_id:N.item_id,absent:D==="accepted"},J={receipt_id:this.stableReceiptId(_.operation_id,_.step_id,"bind_item","inverse"),authority:"knowledge",route:u$,package_version:this.options.packageVersion,...this.identity,operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",resource_kind:"item",direction:"inverse",idempotency_key:_.idempotency_key,request_digest:Z_({accepted_receipt_id:N.receipt_id,collection_id:N.collection_id,item_id:N.item_id}),precondition_digest:N.result_digest??"",outcome:D,reason:j,source_project_id:N.source_project_id,project_id:N.project_id,collection_id:N.collection_id,item_id:N.item_id,result_revision:D==="accepted"&&E?`r${Number(E.revision)}`:N.result_revision,result_digest:Z_(W),accepted_receipt_id:N.receipt_id,created_by_operation:!1,created_at:this.now()};return await $.run(kE,qE(J)),J})}async verifyItemBindingInverse(_){this.assertInverseIdentity(_);let $=await this.getReceiptByAttempt(this.sql,{operation_id:_.operation_id,step_id:_.step_id,action:"bind_item",direction:"inverse"});if(!$||$.outcome!=="accepted"||$.accepted_receipt_id!==_.accepted_receipt_id)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","accepted item-binding inverse receipt was not found.");if(await this.sql.get(`SELECT item_id FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? - AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id,$.item_id]))throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","item-binding inverse verification found the membership still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.item_id,absent:!0,digest:$.result_digest}}resourceBase(_){return{project_id:_.project_id,source_project_id:_.source_project_id,collection_id:_.collection_id,revision:`r${Number(_.revision)}`}}projectResource(_){let $={...this.resourceBase(_),kind:"project",id:_.project_id,title:_.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${_.project_id}`},metadata:{source_project_id:_.source_project_id,slug:_.project_slug,collection_count:1}};return{...$,key:`project:${_.project_id}`,digest:g_($)}}collectionResource(_,$){let U={...this.resourceBase(_),kind:"collection",id:_.collection_id,title:_.collection_name,locator:{kind:"external_uuid",value:_.collection_id},metadata:{slug:_.collection_slug,membership_rule:N0,member_count:$}};return{...U,key:`collection:${_.collection_id}`,digest:g_(U)}}itemResource(_,$){let U={...this.resourceBase(_),kind:"item",id:$.id,revision:`v${$.version??1}`,title:$.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent($.id)}`},metadata:{tags:[...$.tags??[]],archived:$.archived===!0,updated_at:$.updated_at}};return{...U,key:`item:${$.id}`,digest:g_(U)}}taxonomyResource(_,$,U){let j=w1(`${_.collection_id}\x00taxonomy\x00${$}`),D={...this.resourceBase(_),kind:"taxonomy",id:j,title:U.label,locator:{kind:"external_uuid",value:j},metadata:{tag:U.label,normalized_tag:$,item_count:U.itemCount,member_digest:U.memberDigest}};return{...D,key:`taxonomy:${j}`,digest:g_(D)}}postgresItem(_){let $=(U,j)=>{if(U==null)return j;if(typeof U==="string")try{return JSON.parse(U)}catch{return j}return U};return{id:String(_.id),short_id:_.short_id??null,title:String(_.title??""),content:String(_.content??""),url:_.url??null,tags:$(_.tags,[]),metadata:$(_.metadata,{}),archived:Boolean(_.archived),created_at:String(_.created_at),updated_at:String(_.updated_at),version:_.version==null?1:Number(_.version)}}resourceCursorAfter(_){if(!_.cursor)return"";let $;try{$=JSON.parse(Buffer.from(_.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if($.version!==1||$.project_id!==_.aggregate.project_id||$.collection_id!==_.aggregate.collection_id||$.collection_revision!==_.revision||$.population_digest!==_.populationDigest||E4($.kinds)!==E4(_.kinds)||typeof $.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");return $.after}async listPostgresProjectResources(_,$,U,j){let D=await this.getAggregateByProject(this.sql,w_(_,"project_id"));if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let N=[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id],E=await this.sql.get(`SELECT + AND collection_id = ? AND item_id = ?`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id,$.item_id]))throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","item-binding inverse verification found the membership still present.");return{accepted_receipt_id:_.accepted_receipt_id,target_id:$.item_id,absent:!0,digest:$.result_digest}}resourceBase(_){return{project_id:_.project_id,source_project_id:_.source_project_id,collection_id:_.collection_id,revision:`r${Number(_.revision)}`}}projectResource(_){let $={...this.resourceBase(_),kind:"project",id:_.project_id,title:_.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${_.project_id}`},metadata:{source_project_id:_.source_project_id,slug:_.project_slug,collection_count:1}};return{...$,key:`project:${_.project_id}`,digest:Z_($)}}collectionResource(_,$){let U={...this.resourceBase(_),kind:"collection",id:_.collection_id,title:_.collection_name,locator:{kind:"external_uuid",value:_.collection_id},metadata:{slug:_.collection_slug,membership_rule:j0,member_count:$}};return{...U,key:`collection:${_.collection_id}`,digest:Z_(U)}}itemResource(_,$){let U={...this.resourceBase(_),kind:"item",id:$.id,revision:`v${$.version??1}`,title:$.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent($.id)}`},metadata:{tags:[...$.tags??[]],archived:$.archived===!0,updated_at:$.updated_at}};return{...U,key:`item:${$.id}`,digest:Z_(U)}}taxonomyResource(_,$,U){let N=w1(`${_.collection_id}\x00taxonomy\x00${$}`),D={...this.resourceBase(_),kind:"taxonomy",id:N,title:U.label,locator:{kind:"external_uuid",value:N},metadata:{tag:U.label,normalized_tag:$,item_count:U.itemCount,member_digest:U.memberDigest}};return{...D,key:`taxonomy:${N}`,digest:Z_(D)}}postgresItem(_){let $=(U,N)=>{if(U==null)return N;if(typeof U==="string")try{return JSON.parse(U)}catch{return N}return U};return{id:String(_.id),short_id:_.short_id??null,title:String(_.title??""),content:String(_.content??""),url:_.url??null,tags:$(_.tags,[]),metadata:$(_.metadata,{}),archived:Boolean(_.archived),created_at:String(_.created_at),updated_at:String(_.updated_at),version:_.version==null?1:Number(_.version)}}resourceCursorAfter(_){if(!_.cursor)return"";let $;try{$=JSON.parse(Buffer.from(_.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if($.version!==1||$.project_id!==_.aggregate.project_id||$.collection_id!==_.aggregate.collection_id||$.collection_revision!==_.revision||$.population_digest!==_.populationDigest||I4($.kinds)!==I4(_.kinds)||typeof $.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");return $.after}async listPostgresProjectResources(_,$,U,N){let D=await this.getAggregateByProject(this.sql,v_(_,"project_id"));if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let j=[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id],I=await this.sql.get(`SELECT COUNT(*)::text AS membership_count, COUNT(i.id)::text AS visible_item_count, encode(sha256(convert_to(COALESCE(string_agg( @@ -1428,7 +1428,7 @@ Pages should be concise, cited, and organized for both humans and agents. ON i.id = m.item_id AND (i.authority_classification IS NULL OR i.tenant_id::text = ?) WHERE m.authority_id = ? AND m.tenant_id = ? AND m.corpus_id = ? - AND m.collection_id = ?`,[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]),I=Number(E?.membership_count??0),W=Number(E?.visible_item_count??0);if(I!==W)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing or inaccessible Knowledge item; refusing a partial resource population.",{collection_id:D.collection_id,membership_count:I,visible_item_count:W});let J=await this.sql.get(`SELECT COUNT(*)::text AS taxonomy_count + AND m.collection_id = ?`,[this.identity.tenant_id,this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,D.collection_id]),E=Number(I?.membership_count??0),W=Number(I?.visible_item_count??0);if(E!==W)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing or inaccessible Knowledge item; refusing a partial resource population.",{collection_id:D.collection_id,membership_count:E,visible_item_count:W});let J=await this.sql.get(`SELECT COUNT(*)::text AS taxonomy_count FROM ( SELECT LOWER(BTRIM(tag.value)) AS normalized_tag FROM knowledge_project_collection_memberships m @@ -1440,7 +1440,7 @@ Pages should be concise, cited, and organized for both humans and agents. AND m.collection_id = ? AND BTRIM(tag.value) <> '' GROUP BY LOWER(BTRIM(tag.value)) - ) taxonomy`,N),L=Number(J?.taxonomy_count??0),S=`r${Number(D.revision)}`,X=g_({collection_revision:S,kinds:j,item_snapshot_digest:j.includes("item")||j.includes("taxonomy")?E?.item_snapshot_digest??"":null,taxonomy_count:j.includes("taxonomy")?L:null}),z=this.resourceCursorAfter({cursor:$.cursor,aggregate:D,revision:S,populationDigest:X,kinds:j}),R=U+rk,P=[],O=(T)=>{if(P.length<R&&j.includes(T.kind)&&T.key>z)P.push(T)};if(O(this.collectionResource(D,I)),j.includes("item")&&P.length<R&&z<"project:"){let T=z.startsWith("item:")?z.slice(5):"",F=await this.sql.many(`SELECT i.* + ) taxonomy`,j),L=Number(J?.taxonomy_count??0),S=`r${Number(D.revision)}`,X=Z_({collection_revision:S,kinds:N,item_snapshot_digest:N.includes("item")||N.includes("taxonomy")?I?.item_snapshot_digest??"":null,taxonomy_count:N.includes("taxonomy")?L:null}),z=this.resourceCursorAfter({cursor:$.cursor,aggregate:D,revision:S,populationDigest:X,kinds:N}),Y=U+lk,P=[],O=(T)=>{if(P.length<Y&&N.includes(T.kind)&&T.key>z)P.push(T)};if(O(this.collectionResource(D,E)),N.includes("item")&&P.length<Y&&z<"project:"){let T=z.startsWith("item:")?z.slice(5):"",F=await this.sql.many(`SELECT i.* FROM knowledge_project_collection_memberships m JOIN knowledge_items i ON i.id = m.item_id @@ -1448,7 +1448,7 @@ Pages should be concise, cited, and organized for both humans and agents. WHERE m.authority_id = ? AND m.tenant_id = ? AND m.corpus_id = ? AND m.collection_id = ? AND m.item_id > ? ORDER BY m.item_id ASC - LIMIT ${R-P.length}`,[...N,T]);for(let g of F)O(this.itemResource(D,this.postgresItem(g)))}if(O(this.projectResource(D)),j.includes("taxonomy")&&P.length<R){let T=z.startsWith("taxonomy:")?z:"taxonomy:",F=await this.sql.many(`WITH tagged AS ( + LIMIT ${Y-P.length}`,[...j,T]);for(let M of F)O(this.itemResource(D,this.postgresItem(M)))}if(O(this.projectResource(D)),N.includes("taxonomy")&&P.length<Y){let T=z.startsWith("taxonomy:")?z:"taxonomy:",F=await this.sql.many(`WITH tagged AS ( SELECT m.item_id, BTRIM(tag.value) AS label, @@ -1517,13 +1517,13 @@ Pages should be concise, cited, and organized for both humans and agents. FROM keyed WHERE 'taxonomy:' || taxonomy_id > ? ORDER BY taxonomy_id ASC - LIMIT ${R-P.length}`,[...N,D.collection_id,T]);for(let g of F)O(this.taxonomyResource(D,g.normalized_tag,{label:g.label,itemCount:Number(g.item_count),memberDigest:g.member_digest}))}let Y=(j.includes("collection")?1:0)+(j.includes("item")?I:0)+(j.includes("project")?1:0)+(j.includes("taxonomy")?L:0),Q=P.slice(0,U),B=P.length>Q.length,G=B&&Q.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:S,population_digest:X,kinds:j,after:Q.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:Oz,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:S,population_digest:X,resource_kinds:j,resources:Q,count:Q.length,total:Y,limit:U,cursor:$.cursor??null,next_cursor:G,has_more:B,complete:!B,truncated:!1}}async buildResources(_){let $=await this.getAggregateByProject(this.sql,w_(_,"project_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let U=await this.sql.many(`SELECT * FROM knowledge_project_collection_memberships + LIMIT ${Y-P.length}`,[...j,D.collection_id,T]);for(let M of F)O(this.taxonomyResource(D,M.normalized_tag,{label:M.label,itemCount:Number(M.item_count),memberDigest:M.member_digest}))}let R=(N.includes("collection")?1:0)+(N.includes("item")?E:0)+(N.includes("project")?1:0)+(N.includes("taxonomy")?L:0),Q=P.slice(0,U),B=P.length>Q.length,G=B&&Q.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:S,population_digest:X,kinds:N,after:Q.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:zz,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:S,population_digest:X,resource_kinds:N,resources:Q,count:Q.length,total:R,limit:U,cursor:$.cursor??null,next_cursor:G,has_more:B,complete:!B,truncated:!1}}async buildResources(_){let $=await this.getAggregateByProject(this.sql,v_(_,"project_id"));if(!$)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let U=await this.sql.many(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ? - ORDER BY item_id ASC`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id]),j=await Promise.all(U.map(async(L)=>{let S=await this.itemResolver(L.item_id);if(!S||S.id!==L.item_id)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing Knowledge item; refusing a partial resource population.",{collection_id:$.collection_id,item_id:L.item_id});return S})),D=`r${Number($.revision)}`,N={project_id:$.project_id,source_project_id:$.source_project_id,collection_id:$.collection_id,revision:D},E=[],I={...N,kind:"project",id:$.project_id,title:$.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${$.project_id}`},metadata:{source_project_id:$.source_project_id,slug:$.project_slug,collection_count:1}};E.push({...I,key:`project:${$.project_id}`,digest:g_(I)});let W={...N,kind:"collection",id:$.collection_id,title:$.collection_name,locator:{kind:"external_uuid",value:$.collection_id},metadata:{slug:$.collection_slug,membership_rule:N0,member_count:j.length}};E.push({...W,key:`collection:${$.collection_id}`,digest:g_(W)});for(let L of j){let S={...N,kind:"item",id:L.id,revision:`v${L.version??1}`,title:L.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent(L.id)}`},metadata:{tags:[...L.tags??[]],archived:L.archived===!0,updated_at:L.updated_at}};E.push({...S,key:`item:${L.id}`,digest:g_(S)})}let J=new Map;for(let L of j)for(let S of L.tags??[]){let X=S.trim().toLowerCase();if(!X)continue;let z=J.get(X)??{label:S.trim(),itemIds:[]};z.itemIds.push(L.id),J.set(X,z)}for(let[L,S]of[...J.entries()].sort(([X],[z])=>X.localeCompare(z))){let X=w1(`${$.collection_id}\x00taxonomy\x00${L}`),z={...N,kind:"taxonomy",id:X,title:S.label,locator:{kind:"external_uuid",value:X},metadata:{tag:S.label,normalized_tag:L,item_count:S.itemIds.length,member_digest:g_([...S.itemIds].sort())}};E.push({...z,key:`taxonomy:${X}`,digest:g_(z)})}return E.sort((L,S)=>L.key.localeCompare(S.key)),{aggregate:$,resources:E}}async listProjectResources(_,$={}){let U=mk($.limit),j=nk($.kinds);if(this.sql.kind==="postgres")return this.listPostgresProjectResources(_,$,U,j);let{aggregate:D,resources:N}=await this.buildResources(_),E=`r${Number(D.revision)}`,I=N.filter((R)=>j.includes(R.kind)),W=g_(I.map((R)=>({key:R.key,digest:R.digest}))),J="";if($.cursor){let R;try{R=JSON.parse(Buffer.from($.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if(R.version!==1||R.project_id!==D.project_id||R.collection_id!==D.collection_id||R.collection_revision!==E||R.population_digest!==W||E4(R.kinds)!==E4(j)||typeof R.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");J=R.after}let L=J?I.filter((R)=>R.key>J):I,S=L.slice(0,U),X=L.length>S.length,z=X&&S.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:E,population_digest:W,kinds:j,after:S.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:Oz,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:E,population_digest:W,resource_kinds:j,resources:S,count:S.length,total:I.length,limit:U,cursor:$.cursor??null,next_cursor:z,has_more:X,complete:!X,truncated:!1}}async readProjectResource(_,$,U){let{resources:j}=await this.buildResources(_),D=j.find((N)=>N.kind===$&&N.id===U);if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project resource was not found by exact kind and id.");return D}async readAllProjectResources(_,$={}){let U=[],j=new Set,D=null,N=null;do{let E=await this.listProjectResources(_,{...$,cursor:D}),I={project_id:E.project_id,collection_id:E.collection_id,collection_revision:E.collection_revision,population_digest:E.population_digest,total:E.total,kinds:E4(E.resource_kinds)};if(N&&E4(N)!==E4(I))throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete population was being read.");N??=I;for(let W of E.resources){if(j.has(W.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource pagination returned a duplicate stable resource key.",{key:W.key});j.add(W.key),U.push(W)}if(E.has_more&&!E.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource page claims more data without a continuation cursor.");D=E.next_cursor}while(D);if(!N||U.length!==N.total)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete project resource enumeration did not match the producer total.",{expected_total:N?.total??null,received:U.length});return U}}function kI(_){if(_.databasePath!==":memory:")i$(_.databasePath);let $=import.meta.require;if(typeof $!=="function")throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the local Knowledge project-links authority requires the Bun runtime.");let{Database:U}=$("bun:sqlite"),j=new U(_.databasePath,{create:!0});return j.exec(ck()),new iR(new dR(j),(D)=>_.itemStore.get(D),_.options)}class tR{options;fetchImpl;root;constructor(_){this.options=_;this.fetchImpl=_.fetch??H0,this.root=_.baseUrl.replace(/\/+$/,"")}async close(){}headers(_={}){let $=new Headers(this.options.headers);if($.set("accept","application/json"),this.options.apiKey)$.set("x-api-key",this.options.apiKey);for(let[U,j]of Object.entries(_))$.set(U,j);return $}async request(_,$={}){let U=await this.fetchImpl(`${this.root}${_}`,{...$,headers:this.headers($.body?{"content-type":"application/json"}:{})}),j=await U.json().catch(()=>({}));if(!U.ok)throw new o(typeof j.error==="string"?j.error:"KNOWLEDGE_PROJECT_LINKS_CONFLICT",typeof j.message==="string"?j.message:`Knowledge project-links HTTP ${U.status}`,j.details&&typeof j.details==="object"?j.details:{});return j}async capability(){return(await this.request("/v1/project-registration/capability")).capability}async registerCollection(_){return(await this.request("/v1/project-registration/create",{method:"POST",body:JSON.stringify(_)})).receipt}async readCollection(_){return(await this.request("/v1/project-registration/read-exact",{method:"POST",body:JSON.stringify({collection_id:_})})).record}async lookupReceipt(_){return(await this.request("/v1/project-registration/receipts/lookup",{method:"POST",body:JSON.stringify(_)})).receipt}async compensateRegistration(_){return(await this.request("/v1/project-registration/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyRegistrationInverse(_){return(await this.request("/v1/project-registration/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async bindItem(_){return(await this.request("/v1/project-registration/items/bind",{method:"POST",body:JSON.stringify(_)})).receipt}async readItemBinding(_,$){return(await this.request("/v1/project-registration/items/read-exact",{method:"POST",body:JSON.stringify({collection_id:_,item_id:$})})).record}async compensateItemBinding(_){return(await this.request("/v1/project-registration/items/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyItemBindingInverse(_){return(await this.request("/v1/project-registration/items/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async listProjectResources(_,$={}){let U=new URLSearchParams;if($.limit!==void 0)U.set("limit",String($.limit));if($.cursor)U.set("cursor",$.cursor);for(let D of $.kinds??[])U.append("kind",D);let j=U.size>0?`?${U.toString()}`:"";return this.request(`/v1/projects/${encodeURIComponent(_)}/resources${j}`)}async readProjectResource(_,$,U){return(await this.request(`/v1/projects/${encodeURIComponent(_)}/resources/${$}/${encodeURIComponent(U)}`)).resource}async readAllProjectResources(_,$={}){let U=[],j=new Set,D=null,N=null,E=null,I=null;do{let W=await this.listProjectResources(_,{...$,cursor:D});if(N??=W.total,E??=W.collection_revision,I??=W.population_digest,W.total!==N||W.collection_revision!==E||W.population_digest!==I)throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete HTTP population was being read.");for(let J of W.resources){if(j.has(J.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP pagination returned a duplicate stable key.");j.add(J.key),U.push(J)}if(W.has_more&&!W.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP page claims more data without a cursor.");D=W.next_cursor}while(D);if(N===null||U.length!==N)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete HTTP resource enumeration did not match the producer total.");return U}}function oR(_){return new tR(_)}var L$={name:"@hasna/knowledge",version:"0.2.104",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/live-private-query.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","live:private-query":"bun scripts/live-private-query.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","contracts:conformance":"contracts conformance fixtures",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 contracts:conformance && contracts no-cloud-scan . && 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.8.5","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};function ok(_){let $=JQ(_);if(R_(pR($,"knowledge.db"))||R_(pR($,"config.json")))return V0($);return V0(S$(S2($)).home)}function Xz(_){return`${tk()}:${f1("sha256").update(_.home).digest("hex").slice(0,12)}`}function Qz(_){return`'${_.replace(/'/g,"'\\''")}'`}function pk(_){return["knowledge",..._].map(Qz).join(" ")}function aR(_,$){return`cd ${Qz(_)} && knowledge ${$.map(Qz).join(" ")}`}function LQ(_){return!_||_==="local"||_==="localhost"}function v1(_,$){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 Yz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function ak(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function x1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function v_(_){return typeof _==="string"&&_.length>0?_:null}function ek(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function CI(_){return typeof _==="boolean"?_:null}function sk(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function SQ(_,$,U){let j=x1(_),D=v_(j.observed_at)??v_($[`${U}_observed_at`]),N=v_(j.source_authority)??v_($[`${U}_source_authority`]);if(!D||!N)return null;return{observed_at:D,verified_at:v_(j.verified_at),expires_at:v_(j.expires_at)??v_($[`${U}_expires_at`]),ttl_ms:ek(j.ttl_ms),source_authority:N,confidence:v_(j.confidence)??(U==="route"?v_($.route_confidence):null),cacheable:CI(j.cacheable)??CI($[`${U}_cacheable`])??!1,stale:CI(j.stale)??CI($[`${U}_stale`])??!1,reasons:sk(j.reasons)}}function _C(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||ak(_.tailscale_ips_json).includes($)}function eR(_,$){return MA(_).find((U)=>_C(U,$))??null}function PQ(_){return x1(E0(_.metadata_json).resolver_evidence)}function y1(_){return x1(E0(_.capabilities_json).resolver)}function OQ(_){let $=y1(_),U=v_($.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 $C(_){let $=y1(_),U=v_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return OQ(_)}function UC(_){return v_(y1(_).route_confidence)??"medium"}function sR(_,$,U){let j=PQ(_),D=x1(j.route),N=y1(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:OQ(_),targetKind:$C(_),confidence:UC(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:SQ(D.cacheability,N,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function _Q(_,$,U){if(!_.workspace_home)return null;let j=PQ(_),D=x1(j.workspace),N=y1(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:v_(D.project_id)??U.project_id,repo_name:v_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:v_(N.project_root_source)??"registry",workspace_root:v_(D.workspace_root),workspace_root_source:v_(N.workspace_root_source)??"registry",open_files_root:v_(D.open_files_root),open_files_root_source:v_(N.open_files_root_source)??"registry",trust_status:v_(N.trust_status)??"unknown",auth_status:v_(N.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:SQ(D.cacheability,N,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function $Q(_){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 bI(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:pk(_.args)}}function wI(_,$){let U=v(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function DC(_,$){let U=wI(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),j=wI(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=wI(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),N=wI(_,["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(" ")),E=N===0;return{ok:E,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:N,message:E?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${N} raw source payload metadata sentinel(s) found`}}var jC=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(jC.has(U.toLowerCase()))return!0;if(Gz(j,$+1))return!0}return!1}function E0(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function UQ(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function NC(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function g$(_,$=["metadata_json"]){return _.map((U)=>{let j={...U};for(let D of $){let N=j[D];if(typeof N==="string"){let E=D.endsWith("_json")?D.slice(0,-5):D;j[E]=E0(N),delete j[D]}}return j})}function fI(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function Tz(_){if(typeof _!=="string")return{};return E0(_)}function EC(_){let $={..._};return $.source_refs=fI($.source_refs_json),$.evidence_refs=fI($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=Tz($.checks_json),$.metadata=Tz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function IC(_){let $={..._};return $.source_refs=fI($.source_refs_json),$.evidence_refs=fI($.evidence_refs_json),$.metadata=Tz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function D$(_,$,U=[]){return _.query($).all(...U)}function AC(_){if(!R_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(ik(_,"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 DQ(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:NC(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function jQ(){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,promotion_candidates:0,durable_records:0}}function zQ(_,$,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 WC(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function JC(_,$,U=!1){let j=zQ(_,$,U);return{query:_,normalized_query:WC(_),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 Rz(_,$,U){let j=U??$.jsonStorePath;if(R_(j))return j;if(_==="global"){let D=pU();if(R_(D))return D}return j}function LC(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Vz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function NQ(_,$,U){let j=d_(Vz(_,U),$);return{text:j.text,redactions:j.findings.length}}function EQ(_,$,U){let j=_.now??new Date,D=_.source??"search",N=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),E=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),I=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),W=Math.max(500,Math.min(_.maxTokens??6000,1e5)),J=0,L=$.citations.slice(0,Math.max(I*2,I)).map((Q,B)=>{let G=NQ(Q.quote,U,B<3?220:140);J+=G.redactions;let T=Q.source_ref??Q.source_uri??Q.artifact_path??Q.artifact_uri??Q.id;return{id:`cite_${f1("sha256").update(`${Q.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:Q.artifact_uri||Q.artifact_path?"artifact":"source",ref:T,source_ref:Q.source_ref,source_uri:Q.source_uri,artifact_uri:Q.artifact_uri,artifact_path:Q.artifact_path,run_id:null,run_event_id:null,revision:Q.revision,hash:Q.hash,chunk_id:Q.chunk_id,offsets:{start:Q.start_offset,end:Q.end_offset},quote_preview:G.text}}),S=new Map($.citations.map((Q,B)=>[Q.id,L[B]])),X=$.excerpts.slice(0,Math.max(I*2,I)).map((Q)=>{let B=$.results.find((F)=>F.id===Q.result_id),G=Q.citation_id?S.get(Q.citation_id):void 0,T=NQ(Q.text,U,520);return J+=T.redactions,{id:`ev_${f1("sha256").update(`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`).digest("hex").slice(0,14)}`,kind:Q.kind,title:Vz(B?.title??G?.ref??Q.kind,100),text_preview:T.text,score:Number(Q.score.toFixed(6)),citation_ids:G?[G.id]:[],provenance:{source:D,record_ref:`${Q.kind}:${Q.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((Q,B)=>B.score-Q.score||Q.id.localeCompare(B.id)).slice(0,I),z=new Set(X.flatMap((Q)=>Q.citation_ids)),R=L.filter((Q)=>z.has(Q.id)),P=Array.from(new Set($.warnings)),O=`ctx_${f1("sha256").update([D,N,E,P.join(","),X.map((Q)=>Q.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,Y={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:j.toISOString(),source:D,purpose:N,query:E,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:O,budgets:{max_tokens:W,estimated_tokens:0,max_items:I,items_included:X.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-X.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:J,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:R,evidence:X,duplicate_candidates:[],outline:{title:E?`Knowledge context: ${Vz(E,80)}`:"Knowledge context",bullets:X.length>0?X.slice(0,5).map((Q)=>`${Q.id}: ${Q.title}`):["No matching bounded evidence was found."],evidence_ids:X.slice(0,8).map((Q)=>Q.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:P,message:`${X.length} bounded evidence item(s), estimated under ${W} token(s)`};return Y.budgets.estimated_tokens=LC(Y),Y.budgets.token_budget_exceeded=Y.budgets.estimated_tokens>W,Y.message=`${Y.evidence.length} bounded evidence item(s), estimated ${Y.budgets.estimated_tokens}/${W} token(s)`,Y}function SC(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function PC(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function OC(_){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 IQ(_){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," "),N=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),E=Math.max(500,Math.min(_.maxTokens??6000,1e5)),I=`ctx_${f1("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:I,budgets:{max_tokens:E,estimated_tokens:0,max_items:N,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/${E} token(s)`}}function Bz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function zC(_,$){let U=v(_);try{let j=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY item_id ASC`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id]),N=await Promise.all(U.map(async(L)=>{let S=await this.itemResolver(L.item_id);if(!S||S.id!==L.item_id)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing Knowledge item; refusing a partial resource population.",{collection_id:$.collection_id,item_id:L.item_id});return S})),D=`r${Number($.revision)}`,j={project_id:$.project_id,source_project_id:$.source_project_id,collection_id:$.collection_id,revision:D},I=[],E={...j,kind:"project",id:$.project_id,title:$.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${$.project_id}`},metadata:{source_project_id:$.source_project_id,slug:$.project_slug,collection_count:1}};I.push({...E,key:`project:${$.project_id}`,digest:Z_(E)});let W={...j,kind:"collection",id:$.collection_id,title:$.collection_name,locator:{kind:"external_uuid",value:$.collection_id},metadata:{slug:$.collection_slug,membership_rule:j0,member_count:N.length}};I.push({...W,key:`collection:${$.collection_id}`,digest:Z_(W)});for(let L of N){let S={...j,kind:"item",id:L.id,revision:`v${L.version??1}`,title:L.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent(L.id)}`},metadata:{tags:[...L.tags??[]],archived:L.archived===!0,updated_at:L.updated_at}};I.push({...S,key:`item:${L.id}`,digest:Z_(S)})}let J=new Map;for(let L of N)for(let S of L.tags??[]){let X=S.trim().toLowerCase();if(!X)continue;let z=J.get(X)??{label:S.trim(),itemIds:[]};z.itemIds.push(L.id),J.set(X,z)}for(let[L,S]of[...J.entries()].sort(([X],[z])=>X.localeCompare(z))){let X=w1(`${$.collection_id}\x00taxonomy\x00${L}`),z={...j,kind:"taxonomy",id:X,title:S.label,locator:{kind:"external_uuid",value:X},metadata:{tag:S.label,normalized_tag:L,item_count:S.itemIds.length,member_digest:Z_([...S.itemIds].sort())}};I.push({...z,key:`taxonomy:${X}`,digest:Z_(z)})}return I.sort((L,S)=>L.key.localeCompare(S.key)),{aggregate:$,resources:I}}async listProjectResources(_,$={}){let U=tk($.limit),N=ok($.kinds);if(this.sql.kind==="postgres")return this.listPostgresProjectResources(_,$,U,N);let{aggregate:D,resources:j}=await this.buildResources(_),I=`r${Number(D.revision)}`,E=j.filter((Y)=>N.includes(Y.kind)),W=Z_(E.map((Y)=>({key:Y.key,digest:Y.digest}))),J="";if($.cursor){let Y;try{Y=JSON.parse(Buffer.from($.cursor,"base64url").toString("utf8"))}catch{throw new o("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if(Y.version!==1||Y.project_id!==D.project_id||Y.collection_id!==D.collection_id||Y.collection_revision!==I||Y.population_digest!==W||I4(Y.kinds)!==I4(N)||typeof Y.after!=="string")throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");J=Y.after}let L=J?E.filter((Y)=>Y.key>J):E,S=L.slice(0,U),X=L.length>S.length,z=X&&S.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:I,population_digest:W,kinds:N,after:S.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:zz,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:I,population_digest:W,resource_kinds:N,resources:S,count:S.length,total:E.length,limit:U,cursor:$.cursor??null,next_cursor:z,has_more:X,complete:!X,truncated:!1}}async readProjectResource(_,$,U){let{resources:N}=await this.buildResources(_),D=N.find((j)=>j.kind===$&&j.id===U);if(!D)throw new o("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project resource was not found by exact kind and id.");return D}async readAllProjectResources(_,$={}){let U=[],N=new Set,D=null,j=null;do{let I=await this.listProjectResources(_,{...$,cursor:D}),E={project_id:I.project_id,collection_id:I.collection_id,collection_revision:I.collection_revision,population_digest:I.population_digest,total:I.total,kinds:I4(I.resource_kinds)};if(j&&I4(j)!==I4(E))throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete population was being read.");j??=E;for(let W of I.resources){if(N.has(W.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource pagination returned a duplicate stable resource key.",{key:W.key});N.add(W.key),U.push(W)}if(I.has_more&&!I.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource page claims more data without a continuation cursor.");D=I.next_cursor}while(D);if(!j||U.length!==j.total)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete project resource enumeration did not match the producer total.",{expected_total:j?.total??null,received:U.length});return U}}function bE(_){if(_.databasePath!==":memory:")i$(_.databasePath);let $=import.meta.require;if(typeof $!=="function")throw new o("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the local Knowledge project-links authority requires the Bun runtime.");let{Database:U}=$("bun:sqlite"),N=new U(_.databasePath,{create:!0});return N.exec(ik()),new tY(new lY(N),(D)=>_.itemStore.get(D),_.options)}class oY{options;fetchImpl;root;constructor(_){this.options=_;this.fetchImpl=_.fetch??H0,this.root=_.baseUrl.replace(/\/+$/,"")}async close(){}headers(_={}){let $=new Headers(this.options.headers);if($.set("accept","application/json"),this.options.apiKey)$.set("x-api-key",this.options.apiKey);for(let[U,N]of Object.entries(_))$.set(U,N);return $}async request(_,$={}){let U=await this.fetchImpl(`${this.root}${_}`,{...$,headers:this.headers($.body?{"content-type":"application/json"}:{})}),N=await U.json().catch(()=>({}));if(!U.ok)throw new o(typeof N.error==="string"?N.error:"KNOWLEDGE_PROJECT_LINKS_CONFLICT",typeof N.message==="string"?N.message:`Knowledge project-links HTTP ${U.status}`,N.details&&typeof N.details==="object"?N.details:{});return N}async capability(){return(await this.request("/v1/project-registration/capability")).capability}async registerCollection(_){return(await this.request("/v1/project-registration/create",{method:"POST",body:JSON.stringify(_)})).receipt}async readCollection(_){return(await this.request("/v1/project-registration/read-exact",{method:"POST",body:JSON.stringify({collection_id:_})})).record}async lookupReceipt(_){return(await this.request("/v1/project-registration/receipts/lookup",{method:"POST",body:JSON.stringify(_)})).receipt}async compensateRegistration(_){return(await this.request("/v1/project-registration/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyRegistrationInverse(_){return(await this.request("/v1/project-registration/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async bindItem(_){return(await this.request("/v1/project-registration/items/bind",{method:"POST",body:JSON.stringify(_)})).receipt}async readItemBinding(_,$){return(await this.request("/v1/project-registration/items/read-exact",{method:"POST",body:JSON.stringify({collection_id:_,item_id:$})})).record}async compensateItemBinding(_){return(await this.request("/v1/project-registration/items/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyItemBindingInverse(_){return(await this.request("/v1/project-registration/items/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async listProjectResources(_,$={}){let U=new URLSearchParams;if($.limit!==void 0)U.set("limit",String($.limit));if($.cursor)U.set("cursor",$.cursor);for(let D of $.kinds??[])U.append("kind",D);let N=U.size>0?`?${U.toString()}`:"";return this.request(`/v1/projects/${encodeURIComponent(_)}/resources${N}`)}async readProjectResource(_,$,U){return(await this.request(`/v1/projects/${encodeURIComponent(_)}/resources/${$}/${encodeURIComponent(U)}`)).resource}async readAllProjectResources(_,$={}){let U=[],N=new Set,D=null,j=null,I=null,E=null;do{let W=await this.listProjectResources(_,{...$,cursor:D});if(j??=W.total,I??=W.collection_revision,E??=W.population_digest,W.total!==j||W.collection_revision!==I||W.population_digest!==E)throw new o("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete HTTP population was being read.");for(let J of W.resources){if(N.has(J.key))throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP pagination returned a duplicate stable key.");N.add(J.key),U.push(J)}if(W.has_more&&!W.next_cursor)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP page claims more data without a cursor.");D=W.next_cursor}while(D);if(j===null||U.length!==j)throw new o("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete HTTP resource enumeration did not match the producer total.");return U}}function pY(_){return new oY(_)}var L$={name:"@hasna/knowledge",version:"0.2.104",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/live-private-query.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","live:private-query":"bun scripts/live-private-query.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","contracts:conformance":"contracts conformance fixtures",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 contracts:conformance && contracts no-cloud-scan . && 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.8.5","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};function _b(_){let $=LQ(_);if(Q_(aY($,"knowledge.db"))||Q_(aY($,"config.json")))return V0($);return V0(S$(P2($)).home)}function Rz(_){return`${sk()}:${f1("sha256").update(_.home).digest("hex").slice(0,12)}`}function Gz(_){return`'${_.replace(/'/g,"'\\''")}'`}function $b(_){return["knowledge",..._].map(Gz).join(" ")}function eY(_,$){return`cd ${Gz(_)} && knowledge ${$.map(Gz).join(" ")}`}function SQ(_){return!_||_==="local"||_==="localhost"}function v1(_,$){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 Yz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function Ub(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function x1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function f_(_){return typeof _==="string"&&_.length>0?_:null}function Db(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function CE(_){return typeof _==="boolean"?_:null}function Nb(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function PQ(_,$,U){let N=x1(_),D=f_(N.observed_at)??f_($[`${U}_observed_at`]),j=f_(N.source_authority)??f_($[`${U}_source_authority`]);if(!D||!j)return null;return{observed_at:D,verified_at:f_(N.verified_at),expires_at:f_(N.expires_at)??f_($[`${U}_expires_at`]),ttl_ms:Db(N.ttl_ms),source_authority:j,confidence:f_(N.confidence)??(U==="route"?f_($.route_confidence):null),cacheable:CE(N.cacheable)??CE($[`${U}_cacheable`])??!1,stale:CE(N.stale)??CE($[`${U}_stale`])??!1,reasons:Nb(N.reasons)}}function jb(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||Ub(_.tailscale_ips_json).includes($)}function sY(_,$){return ZA(_).find((U)=>jb(U,$))??null}function OQ(_){return x1(I0(_.metadata_json).resolver_evidence)}function y1(_){return x1(I0(_.capabilities_json).resolver)}function zQ(_){let $=y1(_),U=f_($.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 Ib(_){let $=y1(_),U=f_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return zQ(_)}function Eb(_){return f_(y1(_).route_confidence)??"medium"}function _Q(_,$,U){let N=OQ(_),D=x1(N.route),j=y1(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:zQ(_),targetKind:Ib(_),confidence:Eb(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:PQ(D.cacheability,j,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function $Q(_,$,U){if(!_.workspace_home)return null;let N=OQ(_),D=x1(N.workspace),j=y1(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:f_(D.project_id)??U.project_id,repo_name:f_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:f_(j.project_root_source)??"registry",workspace_root:f_(D.workspace_root),workspace_root_source:f_(j.workspace_root_source)??"registry",open_files_root:f_(D.open_files_root),open_files_root_source:f_(j.open_files_root_source)??"registry",trust_status:f_(j.trust_status)??"unknown",auth_status:f_(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:PQ(D.cacheability,j,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function UQ(_){if(!_)return null;let $=_.diagnostics.filter((N)=>N.severity!=="ok"),U=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!U)return null;return[$.length?`workspace diagnostics: ${$.map((N)=>`${N.id}=${N.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function wE(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:$b(_.args)}}function vE(_,$){let U=v(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function Ab(_,$){let U=vE(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),N=vE(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=vE(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),j=vE(_,["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(" ")),I=j===0;return{ok:I,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:N},extracted_text_artifacts:D,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:j,message:I?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${j} raw source payload metadata sentinel(s) found`}}var Wb=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function Tz(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((U)=>Tz(U,$+1));for(let[U,N]of Object.entries(_)){if(Wb.has(U.toLowerCase()))return!0;if(Tz(N,$+1))return!0}return!1}function I0(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function DQ(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function Jb(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function M$(_,$=["metadata_json"]){return _.map((U)=>{let N={...U};for(let D of $){let j=N[D];if(typeof j==="string"){let I=D.endsWith("_json")?D.slice(0,-5):D;N[I]=I0(j),delete N[D]}}return N})}function xE(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function Vz(_){if(typeof _!=="string")return{};return I0(_)}function Lb(_){let $={..._};return $.source_refs=xE($.source_refs_json),$.evidence_refs=xE($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=Vz($.checks_json),$.metadata=Vz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function Sb(_){let $={..._};return $.source_refs=xE($.source_refs_json),$.evidence_refs=xE($.evidence_refs_json),$.metadata=Vz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function D$(_,$,U=[]){return _.query($).all(...U)}function Pb(_){if(!Q_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(ek(_,"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 NQ(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:Jb(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function jQ(){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,promotion_candidates:0,durable_records:0}}function XQ(_,$,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 Ob(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function zb(_,$,U=!1){let N=XQ(_,$,U);return{query:_,normalized_query:Ob(_),created_at:new Date().toISOString(),mode:N.mode,warnings:N.warnings,search_counts:N.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function Qz(_,$,U){let N=U??$.jsonStorePath;if(Q_(N))return N;if(_==="global"){let D=pU();if(Q_(D))return D}return N}function Xb(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Bz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function IQ(_,$,U){let N=d_(Bz(_,U),$);return{text:N.text,redactions:N.findings.length}}function EQ(_,$,U){let N=_.now??new Date,D=_.source??"search",j=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),I=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),E=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),W=Math.max(500,Math.min(_.maxTokens??6000,1e5)),J=0,L=$.citations.slice(0,Math.max(E*2,E)).map((Q,B)=>{let G=IQ(Q.quote,U,B<3?220:140);J+=G.redactions;let T=Q.source_ref??Q.source_uri??Q.artifact_path??Q.artifact_uri??Q.id;return{id:`cite_${f1("sha256").update(`${Q.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:Q.artifact_uri||Q.artifact_path?"artifact":"source",ref:T,source_ref:Q.source_ref,source_uri:Q.source_uri,artifact_uri:Q.artifact_uri,artifact_path:Q.artifact_path,run_id:null,run_event_id:null,revision:Q.revision,hash:Q.hash,chunk_id:Q.chunk_id,offsets:{start:Q.start_offset,end:Q.end_offset},quote_preview:G.text}}),S=new Map($.citations.map((Q,B)=>[Q.id,L[B]])),X=$.excerpts.slice(0,Math.max(E*2,E)).map((Q)=>{let B=$.results.find((F)=>F.id===Q.result_id),G=Q.citation_id?S.get(Q.citation_id):void 0,T=IQ(Q.text,U,520);return J+=T.redactions,{id:`ev_${f1("sha256").update(`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`).digest("hex").slice(0,14)}`,kind:Q.kind,title:Bz(B?.title??G?.ref??Q.kind,100),text_preview:T.text,score:Number(Q.score.toFixed(6)),citation_ids:G?[G.id]:[],provenance:{source:D,record_ref:`${Q.kind}:${Q.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((Q,B)=>B.score-Q.score||Q.id.localeCompare(B.id)).slice(0,E),z=new Set(X.flatMap((Q)=>Q.citation_ids)),Y=L.filter((Q)=>z.has(Q.id)),P=Array.from(new Set($.warnings)),O=`ctx_${f1("sha256").update([D,j,I,P.join(","),X.map((Q)=>Q.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,R={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:N.toISOString(),source:D,purpose:j,query:I,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:O,budgets:{max_tokens:W,estimated_tokens:0,max_items:E,items_included:X.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-X.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:J,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:Y,evidence:X,duplicate_candidates:[],outline:{title:I?`Knowledge context: ${Bz(I,80)}`:"Knowledge context",bullets:X.length>0?X.slice(0,5).map((Q)=>`${Q.id}: ${Q.title}`):["No matching bounded evidence was found."],evidence_ids:X.slice(0,8).map((Q)=>Q.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:P,message:`${X.length} bounded evidence item(s), estimated under ${W} token(s)`};return R.budgets.estimated_tokens=Xb(R),R.budgets.token_budget_exceeded=R.budgets.estimated_tokens>W,R.message=`${R.evidence.length} bounded evidence item(s), estimated ${R.budgets.estimated_tokens}/${W} token(s)`,R}function Rb(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Yb(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Qb(_){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 AQ(_){let $=_.now??new Date,U=_.source??"search",N=_.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)),I=Math.max(500,Math.min(_.maxTokens??6000,1e5)),E=`ctx_${f1("sha256").update(["empty",U,N,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:N,query:D,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:E,budgets:{max_tokens:I,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/${I} token(s)`}}function Fz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Gb(_,$){let U=v(_);try{let N=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),D=new Map,N=0,E=0,I=0,W=0,J=0,L=0,S=0,X=0,z=0,R=0,P=0,O=0,Y=new Map,Q=[],B=[],G=[],T=[],F=$.artifact_store.uri_prefix,g=Bz($);for(let N_ of j){if(D.set(N_.kind,(D.get(N_.kind)??0)+1),N_.hash?.startsWith("sha256:"))N+=1;if(typeof N_.size_bytes==="number"&&N_.size_bytes>=0)E+=1,I+=N_.size_bytes;if(N_.artifact_uri.startsWith(F))W+=1;else if(Q.length<5)Q.push(N_.artifact_uri);let y_=E0(N_.metadata_json);if(Gz(y_))S+=1;let T0=typeof y_.key==="string"?y_.key:null;if(!T0)J+=1;else if(g&&T0.startsWith(g)){if(L+=1,B.length<5)B.push(T0)}let X3=typeof y_.artifact_modified_at==="string"?y_.artifact_modified_at:null;if(X3)if(Number.isNaN(Date.parse(X3))){if(z+=1,G.length<5)G.push(N_.artifact_uri)}else X+=1;let oU=y_.provenance&&typeof y_.provenance==="object"&&!Array.isArray(y_.provenance)?y_.provenance:null;if(oU){R+=1;let A2=typeof oU.artifact_key==="string"?oU.artifact_key:null,Y3=typeof oU.generated_from==="string"?oU.generated_from:"unknown";if(Y.set(Y3,(Y.get(Y3)??0)+1),A2){if(P+=1,T0&&A2!==T0){if(O+=1,T.length<5)T.push(`${N_.artifact_uri}:provenance.artifact_key=${A2}:key=${T0}`)}}else if(T.length<5)T.push(`${N_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${N_.artifact_uri}:missing_provenance`)}let q=j.length-N,x=j.length-E,l=j.length-X-z,D_=j.length-R,E_=R-P,E$=j.length-W,Q_=[q>0?`artifact_manifest_missing_hash:${q}`:null,x>0?`artifact_manifest_missing_size:${x}`:null,J>0?`artifact_manifest_missing_key:${J}`:null,E$>0?`artifact_manifest_uri_prefix_mismatch:${E$}`:null,L>0?`artifact_manifest_s3_key_contains_storage_prefix:${L}`:null,z>0?`artifact_manifest_invalid_modified_at:${z}`:null,D_>0?`artifact_manifest_missing_provenance:${D_}`:null,E_>0?`artifact_manifest_missing_provenance_artifact_key:${E_}`:null,O>0?`artifact_manifest_provenance_key_mismatch:${O}`:null,S>0?`artifact_manifest_raw_payload_sentinels:${S}`:null].filter((N_)=>Boolean(N_)),q$=Q_.length===0;return{ok:q$,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:F,s3:$.artifact_store.s3,artifacts:{total:j.length,by_kind:[...D.entries()].map(([N_,y_])=>({kind:N_,count:y_})).sort((N_,y_)=>N_.kind.localeCompare(y_.kind)),with_hash:N,missing_hash:q,with_size:E,missing_size:x,total_size_bytes:I},modified_time:{with_modified_at:X,missing_modified_at:l,invalid_modified_at:z,examples:G},provenance:{with_provenance:R,missing_provenance:D_,with_artifact_key:P,missing_artifact_key:E_,artifact_key_mismatches:O,generated_from:[...Y.entries()].map(([N_,y_])=>({value:N_,count:y_})).sort((N_,y_)=>N_.value.localeCompare(y_.value)),examples:T},uri_prefix:{matching:W,mismatched:E$,examples:Q},keys:{with_key:j.length-J,missing_key:J,prefixed_with_storage_prefix:L,prefixed_examples:B},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:L===0&&J===0,tracks_modified_time:X>0&&z===0,preserves_provenance:D_===0&&E_===0&&O===0},raw_payload_sentinel_hits:S,warnings:Q_,message:q$?`${j.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${Q_.join(", ")}`}}finally{U.close()}}function XC(_,$){let U=Bz($);if(!U)return[];let j=v(_);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,I=0,E=0,W=0,J=0,L=0,S=0,X=0,z=0,Y=0,P=0,O=0,R=new Map,Q=[],B=[],G=[],T=[],F=$.artifact_store.uri_prefix,M=Fz($);for(let j_ of N){if(D.set(j_.kind,(D.get(j_.kind)??0)+1),j_.hash?.startsWith("sha256:"))j+=1;if(typeof j_.size_bytes==="number"&&j_.size_bytes>=0)I+=1,E+=j_.size_bytes;if(j_.artifact_uri.startsWith(F))W+=1;else if(Q.length<5)Q.push(j_.artifact_uri);let u_=I0(j_.metadata_json);if(Tz(u_))S+=1;let T0=typeof u_.key==="string"?u_.key:null;if(!T0)J+=1;else if(M&&T0.startsWith(M)){if(L+=1,B.length<5)B.push(T0)}let R3=typeof u_.artifact_modified_at==="string"?u_.artifact_modified_at:null;if(R3)if(Number.isNaN(Date.parse(R3))){if(z+=1,G.length<5)G.push(j_.artifact_uri)}else X+=1;let oU=u_.provenance&&typeof u_.provenance==="object"&&!Array.isArray(u_.provenance)?u_.provenance:null;if(oU){Y+=1;let W2=typeof oU.artifact_key==="string"?oU.artifact_key:null,Y3=typeof oU.generated_from==="string"?oU.generated_from:"unknown";if(R.set(Y3,(R.get(Y3)??0)+1),W2){if(P+=1,T0&&W2!==T0){if(O+=1,T.length<5)T.push(`${j_.artifact_uri}:provenance.artifact_key=${W2}:key=${T0}`)}}else if(T.length<5)T.push(`${j_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${j_.artifact_uri}:missing_provenance`)}let q=N.length-j,x=N.length-I,l=N.length-X-z,D_=N.length-Y,I_=Y-P,I$=N.length-W,G_=[q>0?`artifact_manifest_missing_hash:${q}`:null,x>0?`artifact_manifest_missing_size:${x}`:null,J>0?`artifact_manifest_missing_key:${J}`:null,I$>0?`artifact_manifest_uri_prefix_mismatch:${I$}`:null,L>0?`artifact_manifest_s3_key_contains_storage_prefix:${L}`:null,z>0?`artifact_manifest_invalid_modified_at:${z}`:null,D_>0?`artifact_manifest_missing_provenance:${D_}`:null,I_>0?`artifact_manifest_missing_provenance_artifact_key:${I_}`:null,O>0?`artifact_manifest_provenance_key_mismatch:${O}`:null,S>0?`artifact_manifest_raw_payload_sentinels:${S}`:null].filter((j_)=>Boolean(j_)),q$=G_.length===0;return{ok:q$,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:F,s3:$.artifact_store.s3,artifacts:{total:N.length,by_kind:[...D.entries()].map(([j_,u_])=>({kind:j_,count:u_})).sort((j_,u_)=>j_.kind.localeCompare(u_.kind)),with_hash:j,missing_hash:q,with_size:I,missing_size:x,total_size_bytes:E},modified_time:{with_modified_at:X,missing_modified_at:l,invalid_modified_at:z,examples:G},provenance:{with_provenance:Y,missing_provenance:D_,with_artifact_key:P,missing_artifact_key:I_,artifact_key_mismatches:O,generated_from:[...R.entries()].map(([j_,u_])=>({value:j_,count:u_})).sort((j_,u_)=>j_.value.localeCompare(u_.value)),examples:T},uri_prefix:{matching:W,mismatched:I$,examples:Q},keys:{with_key:N.length-J,missing_key:J,prefixed_with_storage_prefix:L,prefixed_examples:B},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:L===0&&J===0,tracks_modified_time:X>0&&z===0,preserves_provenance:D_===0&&I_===0&&O===0},raw_payload_sentinel_hits:S,warnings:G_,message:q$?`${N.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${G_.join(", ")}`}}finally{U.close()}}function Tb(_,$){let U=Fz($);if(!U)return[];let N=v(_);try{let D=N.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),N=[];for(let E of D){let I=E0(E.metadata_json),W=typeof I.key==="string"?I.key:null;if(!W?.startsWith(U))continue;let J=W.slice(U.length);if(!J)continue;N.push({id:E.id,artifact_uri:E.artifact_uri,kind:E.kind,current_key:W,repaired_key:p$(J),hash:E.hash,size_bytes:E.size_bytes})}return N}finally{j.close()}}function YC(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],j=[bI({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!LQ(_.machine))j.push(bI({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(bI({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(bI({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return j}function RC(){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 AQ(_,$,U,j){let D=RC(),N=lk(D.command,[...D.argsPrefix,j.target,$],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((N.status??1)!==0){let E=j.source==="open-machines"?` via ${j.route??"resolved"}:${j.target}`:"";throw Error(`ssh ${_}${E} failed: ${(N.stderr||N.stdout||String(N.status)).trim()}`)}return N.stdout||""}function WQ(_,$,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 QC(_,$){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<c6||j>r6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function GC(_,$){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<c6||j>r6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function TC(_){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 vI extends Error{code="semantic_query_unavailable";constructor(){super("semantic_query_unavailable: the hosted Knowledge item store has no configured vector index.");this.name="KnowledgeSemanticSearchUnavailableError"}}class XQ{options;ensuredWorkspace;cachedConfig;cachedProjectLinksAuthority;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??Nj(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=V0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return Xj({storePath:_.jsonStorePath,storePathOverridden:!1})}projectLinksAuthority(){if(this.options.projectLinksAuthority)return this.options.projectLinksAuthority;if(this.cachedProjectLinksAuthority)return this.cachedProjectLinksAuthority;if(o$()){let{apiKey:$}=l2(process.env);if(!$)throw Error("Knowledge project links require the configured API credential in postgres mode.");return this.cachedProjectLinksAuthority=oR({baseUrl:Rj(this.config(),process.env),apiKey:$}),this.cachedProjectLinksAuthority}let _=this.ensureWorkspace();return this.cachedProjectLinksAuthority=kI({databasePath:_.knowledgeDbPath,itemStore:this.itemStore(),options:{packageVersion:L$.version,authorityId:this.options.projectLinksIdentity?.authorityId??process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:this.options.projectLinksIdentity?.tenantId??process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:this.options.projectLinksIdentity?.corpusId??process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),this.cachedProjectLinksAuthority}async close(){let _=this.cachedProjectLinksAuthority;this.cachedProjectLinksAuthority=void 0,await _?.close()}async listItems(_={}){return this.itemStore().list(_)}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||R_($.configPath))this.cachedConfig=R_($.configPath)?O2($.configPath):aU();return this.cachedConfig}safetyPolicy(){return lX(this.config(),this.workspace)}artifactStore(){return n2(this.config(),this.ensureWorkspace())}storageContract(){return Gj(this.config(),this.workspace,this.scope)}validateStorage(){return t2(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=P2(this.options.scope,this.options.cwd),j=rR({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=P2(this.options.scope,this.options.cwd),j=uR({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=TC(_.mode)??U.mode,D=_.apiUrl?z6(_.apiUrl):U.hosted?.api_url?z6(U.hosted.api_url):null,N={...U,mode:j,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?V3():U.storage};B3($.configPath,N),this.cachedConfig=N;let E=Gj(N,$,this.scope);return{ok:!0,mode:j,api_url:N.hosted?.api_url??null,storage_type:N.storage.type,artifact_uri_prefix:E.artifact_store.uri_prefix,canonical_example:E.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 wX(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return CX({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return bX(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:R_(_.home),config_path:_.configPath,config_exists:R_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:R_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:R_(_.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 c(this.ensureWorkspace().knowledgeDbPath)}dbStats(){Yj("reading knowledge.db stats");let _=this.workspace;if(!R_(_.knowledgeDbPath))return jQ();return r2(_.knowledgeDbPath)}enqueuePromotion(_){return pY(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return eY(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return aY(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return sY(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return _R(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return $R(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return UR(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:j,includeArchived:D,storePath:N,storeExists:E,storeReadError:I}=_,W=U.filter((X)=>X.archived!==!0),J=D?U:W,L=jQ(),S={legacy_items:U.length,active_items:W.length,archived_items:U.length-W.length,schema_version:L.schema_version,sources:L.sources,source_revisions:L.source_revisions,chunks:L.chunks,wiki_pages:L.wiki_pages,citations:L.citations,indexes:L.indexes,runs:L.runs,run_events:L.run_events,storage_objects:L.storage_objects,embeddings:L.embeddings,vector_entries:L.vector_entries,reindex_queue:L.reindex_queue,redaction_findings:L.redaction_findings,audit_events:L.audit_events,approval_gates:L.approval_gates,knowledge_machines:L.knowledge_machines,sync_snapshots:L.sync_snapshots,sync_changes:L.sync_changes,sync_conflicts:L.sync_conflicts,sync_table_clocks:L.sync_table_clocks,sync_imports:L.sync_imports,promotion_candidates:L.promotion_candidates,durable_records:L.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:j,paths:{json_store_path:$.jsonStorePath,json_store_exists:R_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:R_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:S,legacy_store:{path:N,exists:E,read_error:I,total_items:U.length,active_items:W.length,archived_items:U.length-W.length,items_returned:Math.min(J.length,j)},items:J.slice(0,j).map(DQ),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],promotion_candidates:[],durable_records:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=UQ(_.limit),U=await this.fetchCloudItems(),j=ID();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:j?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=UQ(_.limit),j=_.storePath??$.jsonStorePath,D=AC(j),N=D.items.filter((L)=>L.archived!==!0),E=_.includeArchived?D.items:N;if(!R_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:U,includeArchived:_.includeArchived??!1,storePath:j,storeExists:D.exists,storeReadError:D.read_error});c($.knowledgeDbPath);let W=r2($.knowledgeDbPath),J=v($.knowledgeDbPath);try{let L=g$(D$(J,` + ORDER BY artifact_uri ASC`).all(),j=[];for(let I of D){let E=I0(I.metadata_json),W=typeof E.key==="string"?E.key:null;if(!W?.startsWith(U))continue;let J=W.slice(U.length);if(!J)continue;j.push({id:I.id,artifact_uri:I.artifact_uri,kind:I.kind,current_key:W,repaired_key:p$(J),hash:I.hash,size_bytes:I.size_bytes})}return j}finally{N.close()}}function Vb(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],N=[wE({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!SQ(_.machine))N.push(wE({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)N.push(wE({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??[])N.push({id:D.id,reason:D.reason,command:D.command,shell_command:D.shell_command});if(_.openConflicts>0)N.push(wE({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return N}function Bb(){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(N){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${N instanceof Error?N.message:String(N)}`)}if(!Array.isArray(U)||!U.every((N)=>typeof N==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:U}}function WQ(_,$,U,N){let D=Bb(),j=ak(D.command,[...D.argsPrefix,N.target,$],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((j.status??1)!==0){let I=N.source==="open-machines"?` via ${N.route??"resolved"}:${N.target}`:"";throw Error(`ssh ${_}${I} failed: ${(j.stderr||j.stdout||String(j.status)).trim()}`)}return j.stdout||""}function JQ(_,$,U){try{return JSON.parse(U)}catch(N){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(N)}`)}}function Fb(_,$){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:N}=$;if(typeof U!=="number"||typeof N!=="number"||U<c6||N>r6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Kb(_,$){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:N}=$;if(typeof U!=="number"||typeof N!=="number"||U<c6||N>r6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Mb(_){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 fE extends Error{code="semantic_query_unavailable";constructor(){super("semantic_query_unavailable: the hosted Knowledge item store has no configured vector index.");this.name="KnowledgeSemanticSearchUnavailableError"}}class RQ{options;ensuredWorkspace;cachedConfig;cachedProjectLinksAuthority;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??IN(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=V0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return RN({storePath:_.jsonStorePath,storePathOverridden:!1})}projectLinksAuthority(){if(this.options.projectLinksAuthority)return this.options.projectLinksAuthority;if(this.cachedProjectLinksAuthority)return this.cachedProjectLinksAuthority;if(o$()){let{apiKey:$}=i2(process.env);if(!$)throw Error("Knowledge project links require the configured API credential in postgres mode.");return this.cachedProjectLinksAuthority=pY({baseUrl:QN(this.config(),process.env),apiKey:$}),this.cachedProjectLinksAuthority}let _=this.ensureWorkspace();return this.cachedProjectLinksAuthority=bE({databasePath:_.knowledgeDbPath,itemStore:this.itemStore(),options:{packageVersion:L$.version,authorityId:this.options.projectLinksIdentity?.authorityId??process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:this.options.projectLinksIdentity?.tenantId??process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:this.options.projectLinksIdentity?.corpusId??process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),this.cachedProjectLinksAuthority}async close(){let _=this.cachedProjectLinksAuthority;this.cachedProjectLinksAuthority=void 0,await _?.close()}async listItems(_={}){return this.itemStore().list(_)}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||Q_($.configPath))this.cachedConfig=Q_($.configPath)?z2($.configPath):aU();return this.cachedConfig}safetyPolicy(){return iX(this.config(),this.workspace)}artifactStore(){return d2(this.config(),this.ensureWorkspace())}storageContract(){return TN(this.config(),this.workspace,this.scope)}validateStorage(){return o2(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=O2(this.options.scope,this.options.cwd),N=cY({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!N.dry_run&&N.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return N}mergeLegacyPath(_={}){let $=this.workspace,U=O2(this.options.scope,this.options.cwd),N=hY({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!N.dry_run&&N.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return N}setup(_={}){let $=this.ensureWorkspace(),U=this.config({ensure:!0}),N=Mb(_.mode)??U.mode,D=_.apiUrl?z6(_.apiUrl):U.hosted?.api_url?z6(U.hosted.api_url):null,j={...U,mode:N,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?B3():U.storage};F3($.configPath,j),this.cachedConfig=j;let I=TN(j,$,this.scope);return{ok:!0,mode:N,api_url:j.hosted?.api_url??null,storage_type:j.storage.type,artifact_uri_prefix:I.artifact_store.uri_prefix,canonical_example:I.canonical_example,config_path:$.configPath,next:N==="hosted"?["knowledge auth login --api-key <key>","knowledge storage status --json"]:["knowledge search <query>","knowledge <prompt>"],message:`Set knowledge mode to ${N}`}}authStatus(_=process.env){return vX(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return CX({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return wX(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:Q_(_.home),config_path:_.configPath,config_exists:Q_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:Q_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:Q_(_.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 c(this.ensureWorkspace().knowledgeDbPath)}dbStats(){YN("reading knowledge.db stats");let _=this.workspace;if(!Q_(_.knowledgeDbPath))return jQ();return c2(_.knowledgeDbPath)}enqueuePromotion(_){return aR(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return sR(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return eR(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return _Y(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return $Y(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return UY(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return DY(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:N,includeArchived:D,storePath:j,storeExists:I,storeReadError:E}=_,W=U.filter((X)=>X.archived!==!0),J=D?U:W,L=jQ(),S={legacy_items:U.length,active_items:W.length,archived_items:U.length-W.length,schema_version:L.schema_version,sources:L.sources,source_revisions:L.source_revisions,chunks:L.chunks,wiki_pages:L.wiki_pages,citations:L.citations,indexes:L.indexes,runs:L.runs,run_events:L.run_events,storage_objects:L.storage_objects,embeddings:L.embeddings,vector_entries:L.vector_entries,reindex_queue:L.reindex_queue,redaction_findings:L.redaction_findings,audit_events:L.audit_events,approval_gates:L.approval_gates,knowledge_machines:L.knowledge_machines,sync_snapshots:L.sync_snapshots,sync_changes:L.sync_changes,sync_conflicts:L.sync_conflicts,sync_table_clocks:L.sync_table_clocks,sync_imports:L.sync_imports,promotion_candidates:L.promotion_candidates,durable_records:L.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:N,paths:{json_store_path:$.jsonStorePath,json_store_exists:Q_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:Q_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:S,legacy_store:{path:j,exists:I,read_error:E,total_items:U.length,active_items:W.length,archived_items:U.length-W.length,items_returned:Math.min(J.length,N)},items:J.slice(0,N).map(NQ),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],promotion_candidates:[],durable_records:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=DQ(_.limit),U=await this.fetchCloudItems(),N=ED();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:N?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=DQ(_.limit),N=_.storePath??$.jsonStorePath,D=Pb(N),j=D.items.filter((L)=>L.archived!==!0),I=_.includeArchived?D.items:j;if(!Q_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:U,includeArchived:_.includeArchived??!1,storePath:N,storeExists:D.exists,storeReadError:D.read_error});c($.knowledgeDbPath);let W=c2($.knowledgeDbPath),J=v($.knowledgeDbPath);try{let L=M$(D$(J,` SELECT s.id, s.uri, @@ -1541,7 +1541,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"]),S=g$(D$(J,` + `,[U]),["metadata_json","acl_json"]),S=M$(D$(J,` SELECT sr.id, s.uri AS source_uri, @@ -1554,7 +1554,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])),X=g$(D$(J,` + `,[U])),X=M$(D$(J,` SELECT c.id, c.kind, @@ -1575,22 +1575,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])),z=g$(D$(J,` + `,[U])),z=M$(D$(J,` SELECT id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at FROM wiki_pages ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),R=g$(D$(J,` + `,[U])),Y=M$(D$(J,` SELECT id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at FROM knowledge_indexes ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),P=g$(D$(J,` + `,[U])),P=M$(D$(J,` SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json, created_at, updated_at FROM storage_objects ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),O=g$(D$(J,` + `,[U])),O=M$(D$(J,` SELECT id, type, @@ -1606,18 +1606,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])),Y=D$(J,` + `,[U])),R=D$(J,` SELECT provider, model, dimensions, status, COUNT(*) AS entries FROM vector_index_entries GROUP BY provider, model, dimensions, status ORDER BY entries DESC LIMIT ? - `,[U]),Q=g$(D$(J,` + `,[U]),Q=M$(D$(J,` SELECT id, kind, target_id, source_uri, reason, status, attempts, metadata_json, created_at, updated_at FROM reindex_queue ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),B=g$(D$(J,` + `,[U])),B=M$(D$(J,` SELECT machine_id, hostname, @@ -1635,7 +1635,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"]),G=g$(D$(J,` + `,[U]),["tailscale_ips_json","capabilities_json","metadata_json"]),G=M$(D$(J,` SELECT id, entity_kind, @@ -1652,17 +1652,17 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ? - `,[U])),T=g$(D$(J,` + `,[U])),T=M$(D$(J,` SELECT id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at FROM approval_gates ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U])),F=g$(D$(J,` + `,[U])),F=M$(D$(J,` SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT ? - `,[U])),g=D$(J,` + `,[U])),M=D$(J,` SELECT id, record_kind, @@ -1687,7 +1687,7 @@ Pages should be concise, cited, and organized for both humans and agents. FROM knowledge_promotion_candidates ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U]).map(EC),q=D$(J,` + `,[U]).map(Lb),q=D$(J,` SELECT id, record_kind, @@ -1709,16 +1709,16 @@ Pages should be concise, cited, and organized for both humans and agents. FROM durable_knowledge_records ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U]).map(IC),x={legacy_items:D.items.length,active_items:N.length,archived_items:D.items.length-N.length,schema_version:W.schema_version,sources:W.sources,source_revisions:W.source_revisions,chunks:W.chunks,wiki_pages:W.wiki_pages,citations:W.citations,indexes:W.indexes,runs:W.runs,run_events:W.run_events,storage_objects:W.storage_objects,embeddings:W.embeddings,vector_entries:W.vector_entries,reindex_queue:W.reindex_queue,redaction_findings:W.redaction_findings,audit_events:W.audit_events,approval_gates:W.approval_gates,knowledge_machines:W.knowledge_machines,sync_snapshots:W.sync_snapshots,sync_changes:W.sync_changes,sync_conflicts:W.sync_conflicts,sync_table_clocks:W.sync_table_clocks,sync_imports:W.sync_imports,promotion_candidates:W.promotion_candidates,durable_records:W.durable_records};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:x,legacy_store:{path:j,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:N.length,archived_items:D.items.length-N.length,items_returned:Math.min(E.length,U)},items:E.slice(0,U).map(DQ),sources:L,source_revisions:S,chunks:X,wiki_pages:z,indexes:R,storage_objects:P,runs:O,vector_indexes:Y,reindex_queue:Q,machines:B,sync_conflicts:G,approval_gates:T,audit_events:F,promotion_candidates:g,durable_records:q,message:`${D.items.length} item(s), ${W.sources} source(s), ${W.chunks} chunk(s), ${W.wiki_pages} wiki page(s), ${W.storage_objects} artifact(s)`}}finally{J.close()}}assertAppWikiWrite(_){AD({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return J5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return L5({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(!R_($.knowledgeDbPath))return[];return S5({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!R_(U.knowledgeDbPath))return null;return P5({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return O5({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();c(_.knowledgeDbPath);let $=await kR(this.artifactStore()),U=v(_.knowledgeDbPath);try{X6(U,$.artifacts),CR(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return MR({..._,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 ZR({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return HR({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return N5({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return gj({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return XR({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let U=this.ensureWorkspace();return Bj({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return ZY({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!R_($.knowledgeDbPath))return SC();return NR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return pO({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return ER({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return Q5(this.config(),_)}modelRegistry(){return NA(this.config())}embeddingStatus(){let _=this.workspace;if(!R_(_.knowledgeDbPath))return PC();return K5(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return Hj({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return o$()}cloudStore(){let _=ID();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return _}async fetchCloudItems(){return zj(this.cloudStore())}async semanticSearch(_){let $=this.workspace;if(this.isApiMode())throw new vI;if(!R_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return qj({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new vI;let j=await this.cloudStore().search({query:_.query,archive:"active",limit:_.limit,offset:_.offset});return SA(j.items,_,[],j.total)}let U=Rz(this.scope,$,_.legacyStorePath);if(!R_($.knowledgeDbPath)){if(R_(U))return wj({..._,legacyStorePath:U,config:this.config()});return zQ(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return bj({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let j=await this.search(_);return Q6(j,{contextChars:_.contextChars})}let U=Rz(this.scope,$,_.legacyStorePath);if(!R_($.knowledgeDbPath)){if(R_(U)){let j=await wj({..._,legacyStorePath:U,config:this.config()});return Q6(j,{contextChars:_.contextChars})}return JC(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return y0({..._,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.search({..._,query:j}),N=Q6(D,{contextChars:_.contextChars});return EQ(_,N,this.safetyPolicy())}return IQ(_)}let U=Rz(this.scope,$,_.legacyStorePath);if(!R_($.knowledgeDbPath)){let j=(_.query??_.topic??"").trim();if(j&&_.source!=="loops"&&_.source!=="runs"&&R_(U)){let D=await wj({..._,query:j,legacyStorePath:U,config:this.config()}),N=Q6(D,{contextChars:_.contextChars});return EQ(_,N,this.safetyPolicy())}return IQ(_)}return $9({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new vI;let j=await this.cloudStore().search({query:_.prompt,archive:"active",limit:_.limit,offset:_.offset}),D=SA(j.items,{query:_.prompt,limit:_.limit,offset:_.offset,semantic:!1},[],j.total);return l5(j.items.map((N)=>N.item),{..._,config:this.config()},D)}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)$D(U);return d5({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return GR({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return mY({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return lY({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!R_(_.knowledgeDbPath))return OC({scope:this.scope,workspaceHome:_.home});return F9({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.syncStatus(),j=this.storageContract(),D=this.validateStorage(),N=zC($.knowledgeDbPath,j),E=_.machine?.trim()||null,I=_.peerWorkspace?.trim()||null,W=[],J=null,L=null;if(E&&!LQ(E)){let P=await dO({machineId:E,includeTailscale:_.includeTailscale});J=Yz(P),W.push(...P.warnings)}if(E||I){let P=await TI({machineId:E??Xz($),peerWorkspace:I,includeTailscale:_.includeTailscale});if(E&&!I&&(J?.source==="raw"||!P.ok||!P.project_root)){let O=eR($.knowledgeDbPath,E);if(O){if(J?.source==="raw"&&O.ssh_target)J=Yz(sR(O,E,{target:J.target,route:J.route,targetKind:J.target_kind,confidence:J.confidence,source:J.source,adapter:J.adapter,evidence:J.evidence,cacheability:J.cacheability,warnings:[]}));if(!P.ok||!P.project_root){let Y=_Q(O,E,P);if(Y)L=v1(Y,Y.project_root),W.push(...Y.warnings)}}}L=P.ok&&P.project_root?v1(P,P.project_root):L??{...v1(P,I??""),project_root:P.project_root??I??""},W.push(...P.warnings)}if(!D.ok)W.push(...D.errors.map((P)=>`storage:${P}`));let S=DC($.knowledgeDbPath,L);if(!S.ok)W.push("open_files_boundary_raw_payload_sentinels");if(!N.ok)W.push(...N.warnings);let X=L?.diagnostics.filter((P)=>P.severity==="fail")??[],z=D.ok&&N.ok&&S.ok&&X.length===0&&(L?.project_root!==""||!L),R=YC({scope:this.scope,machine:E,peerWorkspace:I,tables:_.tables,resolvedWorkspace:L,openConflicts:U.conflicts.open});return{ok:z,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:N},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:S,resolved_route:J,resolved_workspace:L,recommended_commands:R,warnings:[...new Set(W)],message:z?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(W)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.storageContract(),j=Bz(U),D=XC($.knowledgeDbPath,U),N=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:N,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 E=v($.knowledgeDbPath);try{let I=new Date().toISOString();E.transaction((L)=>{let S=E.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),X=E.query("SELECT id, metadata_json FROM storage_objects").all(),z=new Map(X.map((R)=>[R.id,E0(R.metadata_json)]));for(let R of L){let P=z.get(R.id)??{};P.key=R.repaired_key,S.run(JSON.stringify(P),I,R.id)}})(D);let J=G_(E,{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((L)=>L.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:J,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{E.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return B9({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!R_($.knowledgeDbPath))return[];return K9($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=dj($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return RD($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return gY({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=RD($.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=Z9($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let N=G_(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:N,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!R_(_.knowledgeDbPath))return[];return MA(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),c($.knowledgeDbPath),YD({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"),c($.knowledgeDbPath),nj({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();c(j.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],N=_.includeArtifactContent===!1?["--no-artifact-content"]:[],E=["--scope",this.scope,"--json"],I=await dO({machineId:_.machine,includeTailscale:_.includeTailscale}),W=await TI({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&I.source==="raw"||!W.ok||!W.project_root){let z=eR(j.knowledgeDbPath,_.machine);if(z){if(!_.peerWorkspace&&I.source==="raw"&&z.ssh_target)I=sR(z,_.machine,I);if(!W.ok||!W.project_root){let R=_Q(z,_.machine,W);if(R)W=R}}}if(!W.ok||!W.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.",W.warnings.length?`Warnings: ${W.warnings.join(", ")}`:null].filter(Boolean).join(" "));let J=W.project_root,L={ok:!0,dry_run:U,direction:$,transport:"ssh",machine:_.machine,resolved_machine:I.target,resolved_route:Yz(I),resolved_workspace:v1(W,W.project_root),peer_workspace:J,message:""},S=!1,X=()=>{if(U||S)return;G9(j.knowledgeDbPath,{machineId:_.machine,route:I,workspace:W}),S=!0};if($==="pull"||$==="both"){let z=aR(J,["sync","export",...E,...D,...N]),R=AQ(_.machine,z,void 0,I),P=WQ(_.machine,"sync export",R);QC(_.machine,P),L.pull=await this.importSyncBundle({bundle:P,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){X();let z=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),R=aR(J,["sync","import",...E,...U?["--dry-run"]:[]]),P=WQ(_.machine,"sync import",AQ(_.machine,R,JSON.stringify(z),I));GC(_.machine,P),L.push=P}return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),X(),L.message=[$Q(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}async syncPeer(_){let $=_.direction??"both",U=this.ensureWorkspace();c(U.knowledgeDbPath);let j=JQ(_.peerWorkspace),D=ok(j);c(D.knowledgeDbPath);let N=O2(D.configPath),E=Gj(N,D,this.scope),I=n2(N,D),W=_.machineId??Xz(U),J=Xz(D),L=await TI({machineId:_.machineId??J,peerWorkspace:j,includeTailscale:!1}),S=()=>YD({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:W,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),X=()=>YD({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:E,machineId:J,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),z={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:v1(L,L.project_root??j),message:""};if($==="pull"||$==="both")z.pull=await nj({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:X(),targetBundle:S(),direction:"pull",dryRun:_.dryRun,localMachineId:W});if($==="push"||$==="both")z.push=await nj({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:E,targetStore:I,bundle:S(),targetBundle:X(),direction:"push",dryRun:_.dryRun,localMachineId:J});return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),z.message=[$Q(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}}function xI(_={}){return new XQ(_)}import{createHash as YQ}from"crypto";var VC=Object.defineProperty,BC=(_)=>_;function FC(_,$){this[_]=BC.bind(null,$)}var KC=(_,$)=>{for(var U in $)VC(_,U,{get:$[U],enumerable:!0,configurable:!0,set:FC.bind($,U)})},A={};KC(A,{void:()=>Wb,util:()=>I_,unknown:()=>Ib,union:()=>Pb,undefined:()=>jb,tuple:()=>Xb,transformer:()=>GQ,symbol:()=>Db,string:()=>wQ,strictObject:()=>Sb,setErrorMap:()=>ZC,set:()=>Qb,record:()=>Yb,quotelessJson:()=>gC,promise:()=>Kb,preprocess:()=>Zb,pipeline:()=>Hb,ostring:()=>qb,optional:()=>gb,onumber:()=>kb,oboolean:()=>Cb,objectUtil:()=>gz,object:()=>Lb,number:()=>vQ,nullable:()=>Mb,null:()=>Nb,never:()=>Ab,nativeEnum:()=>Fb,nan:()=>_b,map:()=>Rb,makeIssue:()=>hI,literal:()=>Vb,lazy:()=>Tb,late:()=>eC,isValid:()=>I0,isDirty:()=>Zz,isAsync:()=>u1,isAborted:()=>Mz,intersection:()=>zb,instanceof:()=>sC,getParsedType:()=>k6,getErrorMap:()=>uI,function:()=>Gb,enum:()=>Bb,effect:()=>GQ,discriminatedUnion:()=>Ob,defaultErrorMap:()=>MU,datetimeRegex:()=>kQ,date:()=>Ub,custom:()=>bQ,coerce:()=>bb,boolean:()=>fQ,bigint:()=>$b,array:()=>Jb,any:()=>Eb,addIssueToContext:()=>u,ZodVoid:()=>r1,ZodUnknown:()=>I4,ZodUnion:()=>kU,ZodUndefined:()=>HU,ZodType:()=>$_,ZodTuple:()=>j6,ZodTransformer:()=>H$,ZodSymbol:()=>h1,ZodString:()=>h$,ZodSet:()=>J0,ZodSchema:()=>$_,ZodRecord:()=>c1,ZodReadonly:()=>yU,ZodPromise:()=>L0,ZodPipeline:()=>d1,ZodParsedType:()=>r,ZodOptional:()=>c$,ZodObject:()=>b_,ZodNumber:()=>A4,ZodNullable:()=>C6,ZodNull:()=>qU,ZodNever:()=>D6,ZodNativeEnum:()=>vU,ZodNaN:()=>n1,ZodMap:()=>m1,ZodLiteral:()=>wU,ZodLazy:()=>bU,ZodIssueCode:()=>b,ZodIntersection:()=>CU,ZodFunction:()=>KU,ZodFirstPartyTypeKind:()=>t,ZodError:()=>R$,ZodEnum:()=>J4,ZodEffects:()=>H$,ZodDiscriminatedUnion:()=>mI,ZodDefault:()=>fU,ZodDate:()=>A0,ZodCatch:()=>xU,ZodBranded:()=>nI,ZodBoolean:()=>ZU,ZodBigInt:()=>W4,ZodArray:()=>r$,ZodAny:()=>W0,Schema:()=>$_,ParseStatus:()=>e_,OK:()=>N$,NEVER:()=>wb,INVALID:()=>i,EMPTY_PATH:()=>HC,DIRTY:()=>FU,BRAND:()=>aC});var I_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let N={};for(let E of D)N[E]=E;return N},_.getValidEnumValues=(D)=>{let N=_.objectKeys(D).filter((I)=>typeof D[D[I]]!=="number"),E={};for(let I of N)E[I]=D[I];return _.objectValues(E)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(N){return D[N]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let N=[];for(let E in D)if(Object.prototype.hasOwnProperty.call(D,E))N.push(E);return N},_.find=(D,N)=>{for(let E of D)if(N(E))return E;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function j(D,N=" | "){return D.map((E)=>typeof E==="string"?`'${E}'`:E).join(N)}_.joinValues=j,_.jsonStringifyReplacer=(D,N)=>{if(typeof N==="bigint")return N.toString();return N}})(I_||(I_={}));var gz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(gz||(gz={}));var r=I_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),k6=(_)=>{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}},b=I_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),gC=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class R$ 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 N of D.issues)if(N.code==="invalid_union")N.unionErrors.map(j);else if(N.code==="invalid_return_type")j(N.returnTypeError);else if(N.code==="invalid_arguments")j(N.argumentsError);else if(N.path.length===0)U._errors.push($(N));else{let E=U,I=0;while(I<N.path.length){let W=N.path[I];if(I!==N.path.length-1)E[W]=E[W]||{_errors:[]};else E[W]=E[W]||{_errors:[]},E[W]._errors.push($(N));E=E[W],I++}}};return j(this),U}static assert(_){if(!(_ instanceof R$))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,I_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.message){let $={},U=[];for(let 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()}}R$.create=(_)=>{return new R$(_)};var MC=(_,$)=>{let U;switch(_.code){case b.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case b.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,I_.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:U=`Unrecognized key(s) in object: ${I_.joinValues(_.keys,", ")}`;break;case b.invalid_union:U="Invalid input";break;case b.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${I_.joinValues(_.options)}`;break;case b.invalid_enum_value:U=`Invalid enum value. Expected ${I_.joinValues(_.options)}, received '${_.received}'`;break;case b.invalid_arguments:U="Invalid function arguments";break;case b.invalid_return_type:U="Invalid function return type";break;case b.invalid_date:U="Invalid date";break;case b.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else I_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case b.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 b.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 b.custom:U="Invalid input";break;case b.invalid_intersection_types:U="Intersection results could not be merged";break;case b.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case b.not_finite:U="Number must be finite";break;default:U=$.defaultError,I_.assertNever(_)}return{message:U}},MU=MC,ZQ=MU;function ZC(_){ZQ=_}function uI(){return ZQ}var hI=(_)=>{let{data:$,path:U,errorMaps:j,issueData:D}=_,N=[...U,...D.path||[]],E={...D,path:N};if(D.message!==void 0)return{...D,path:N,message:D.message};let I="",W=j.filter((J)=>!!J).slice().reverse();for(let J of W)I=J(E,{data:$,defaultError:I}).message;return{...D,path:N,message:I}},HC=[];function u(_,$){let U=uI(),j=hI({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===MU?void 0:MU].filter((D)=>!!D)});_.common.issues.push(j)}class e_{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 i;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,N=await j.value;U.push({key:D,value:N})}return e_.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let j of $){let{key:D,value:N}=j;if(D.status==="aborted")return i;if(N.status==="aborted")return i;if(D.status==="dirty")_.dirty();if(N.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof N.value<"u"||j.alwaysSet))U[D.value]=N.value}return{status:_.value,value:U}}}var i=Object.freeze({status:"aborted"}),FU=(_)=>({status:"dirty",value:_}),N$=(_)=>({status:"valid",value:_}),Mz=(_)=>_.status==="aborted",Zz=(_)=>_.status==="dirty",I0=(_)=>_.status==="valid",u1=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class m${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 RQ=(_,$)=>{if(I0($))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 R$(_.common.issues);return this._error=U,this._error}}}};function s(_){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:(E,I)=>{let{message:W}=_;if(E.code==="invalid_enum_value")return{message:W??I.defaultError};if(typeof I.data>"u")return{message:W??j??I.defaultError};if(E.code!=="invalid_type")return{message:I.defaultError};return{message:W??U??I.defaultError}},description:D}}class $_{get description(){return this._def.description}_getType(_){return k6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:k6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new e_,ctx:{common:_.parent.common,data:_.data,parsedType:k6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(u1($))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:k6(_)},j=this._parseSync({data:_,path:U.path,parent:U});return RQ(U,j)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:k6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return I0(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)=>I0(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:k6(_)},j=this._parse({data:_,path:U.path,parent:U}),D=await(u1(j)?j:Promise.resolve(j));return RQ(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 N=_(j),E=()=>D.addIssue({code:b.custom,...U(j)});if(typeof Promise<"u"&&N instanceof Promise)return N.then((I)=>{if(!I)return E(),!1;else return!0});if(!N)return E(),!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 H$({schema:this,typeName:t.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 c$.create(this,this._def)}nullable(){return C6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return r$.create(this)}promise(){return L0.create(this,this._def)}or(_){return kU.create([this,_],this._def)}and(_){return CU.create(this,_,this._def)}transform(_){return new H$({...s(this._def),schema:this,typeName:t.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new fU({...s(this._def),innerType:this,defaultValue:$,typeName:t.ZodDefault})}brand(){return new nI({typeName:t.ZodBranded,type:this,...s(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new xU({...s(this._def),innerType:this,catchValue:$,typeName:t.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return d1.create(this,_)}readonly(){return yU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var qC=/^c[^\s-]{8,}$/i,kC=/^[0-9a-z]+$/,CC=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bC=/^[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,wC=/^[a-z0-9_-]{21}$/i,vC=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,fC=/^[-+]?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)?)??$/,xC=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,yC="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Fz,uC=/^(?:(?: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])$/,hC=/^(?:(?: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])$/,rC=/^(([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]))$/,cC=/^(([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])$/,mC=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nC=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,HQ="((\\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])))",dC=new RegExp(`^${HQ}$`);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 lC(_){return new RegExp(`^${qQ(_)}$`)}function kQ(_){let $=`${HQ}T${qQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function iC(_,$){if(($==="v4"||!$)&&uC.test(_))return!0;if(($==="v6"||!$)&&rC.test(_))return!0;return!1}function tC(_,$){if(!vC.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 oC(_,$){if(($==="v4"||!$)&&hC.test(_))return!0;if(($==="v6"||!$)&&cC.test(_))return!0;return!1}class h$ extends $_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return u(D,{code:b.invalid_type,expected:r.string,received:D.parsedType}),i}let U=new e_,j=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.length<D.value)j=this._getOrReturnCtx(_,j),u(j,{code:b.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),u(j,{code:b.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="length"){let N=_.data.length>D.value,E=_.data.length<D.value;if(N||E){if(j=this._getOrReturnCtx(_,j),N)u(j,{code:b.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(E)u(j,{code:b.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});U.dirty()}}else if(D.kind==="email"){if(!xC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"email",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="emoji"){if(!Fz)Fz=new RegExp(yC,"u");if(!Fz.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"emoji",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="uuid"){if(!bC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"uuid",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="nanoid"){if(!wC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"nanoid",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid"){if(!qC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"cuid",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid2"){if(!kC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"cuid2",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ulid"){if(!CC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"ulid",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="url")try{new URL(_.data)}catch{j=this._getOrReturnCtx(_,j),u(j,{validation:"url",code:b.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),u(j,{validation:"regex",code:b.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),u(j,{code:b.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),u(j,{code:b.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),u(j,{code:b.invalid_string,validation:{endsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="datetime"){if(!kQ(D).test(_.data))j=this._getOrReturnCtx(_,j),u(j,{code:b.invalid_string,validation:"datetime",message:D.message}),U.dirty()}else if(D.kind==="date"){if(!dC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{code:b.invalid_string,validation:"date",message:D.message}),U.dirty()}else if(D.kind==="time"){if(!lC(D).test(_.data))j=this._getOrReturnCtx(_,j),u(j,{code:b.invalid_string,validation:"time",message:D.message}),U.dirty()}else if(D.kind==="duration"){if(!fC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"duration",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ip"){if(!iC(_.data,D.version))j=this._getOrReturnCtx(_,j),u(j,{validation:"ip",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="jwt"){if(!tC(_.data,D.alg))j=this._getOrReturnCtx(_,j),u(j,{validation:"jwt",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cidr"){if(!oC(_.data,D.version))j=this._getOrReturnCtx(_,j),u(j,{validation:"cidr",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64"){if(!mC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"base64",code:b.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64url"){if(!nC.test(_.data))j=this._getOrReturnCtx(_,j),u(j,{validation:"base64url",code:b.invalid_string,message:D.message}),U.dirty()}else I_.assertNever(D);return{status:U.value,value:_.data}}_regex(_,$,U){return this.refinement((j)=>_.test(j),{validation:$,code:b.invalid_string,...n.errToObj(U)})}_addCheck(_){return new h$({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...n.errToObj(_)})}url(_){return this._addCheck({kind:"url",...n.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...n.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...n.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...n.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...n.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...n.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...n.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...n.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...n.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...n.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...n.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...n.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,...n.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,...n.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...n.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...n.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...n.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...n.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...n.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...n.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...n.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...n.errToObj($)})}nonempty(_){return this.min(1,n.errToObj(_))}trim(){return new h$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new h$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new h$({...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 _}}h$.create=(_)=>{return new h$({checks:[],typeName:t.ZodString,coerce:_?.coerce??!1,...s(_)})};function pC(_,$){let U=(_.toString().split(".")[1]||"").length,j=($.toString().split(".")[1]||"").length,D=U>j?U:j,N=Number.parseInt(_.toFixed(D).replace(".","")),E=Number.parseInt($.toFixed(D).replace(".",""));return N%E/10**D}class A4 extends $_{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 u(D,{code:b.invalid_type,expected:r.number,received:D.parsedType}),i}let U=void 0,j=new e_;for(let D of this._def.checks)if(D.kind==="int"){if(!I_.isInteger(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:b.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),u(U,{code:b.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),u(U,{code:b.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),j.dirty()}else if(D.kind==="multipleOf"){if(pC(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),u(U,{code:b.not_multiple_of,multipleOf:D.value,message:D.message}),j.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:b.not_finite,message:D.message}),j.dirty()}else I_.assertNever(D);return{status:j.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,j){return new A4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(j)}]})}_addCheck(_){return new A4({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:n.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.toString($)})}finite(_){return this._addCheck({kind:"finite",message:n.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:n.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:n.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&I_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if($===null||U.value>$)$=U.value}else if(U.kind==="max"){if(_===null||U.value<_)_=U.value}return Number.isFinite($)&&Number.isFinite(_)}}A4.create=(_)=>{return new A4({checks:[],typeName:t.ZodNumber,coerce:_?.coerce||!1,...s(_)})};class W4 extends $_{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 e_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:b.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),u(U,{code:b.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),u(U,{code:b.not_multiple_of,multipleOf:D.value,message:D.message}),j.dirty()}else I_.assertNever(D);return{status:j.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:b.invalid_type,expected:r.bigint,received:$.parsedType}),i}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,j){return new W4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(j)}]})}_addCheck(_){return new W4({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.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 _}}W4.create=(_)=>{return new W4({checks:[],typeName:t.ZodBigInt,coerce:_?.coerce??!1,...s(_)})};class ZU extends $_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.boolean,received:U.parsedType}),i}return N$(_.data)}}ZU.create=(_)=>{return new ZU({typeName:t.ZodBoolean,coerce:_?.coerce||!1,...s(_)})};class A0 extends $_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==r.date){let D=this._getOrReturnCtx(_);return u(D,{code:b.invalid_type,expected:r.date,received:D.parsedType}),i}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:b.invalid_date}),i}let U=new e_,j=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()<D.value)j=this._getOrReturnCtx(_,j),u(j,{code:b.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),u(j,{code:b.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else I_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new A0({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:n.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:n.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}}A0.create=(_)=>{return new A0({checks:[],coerce:_?.coerce||!1,typeName:t.ZodDate,...s(_)})};class h1 extends $_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.symbol,received:U.parsedType}),i}return N$(_.data)}}h1.create=(_)=>{return new h1({typeName:t.ZodSymbol,...s(_)})};class HU extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.undefined,received:U.parsedType}),i}return N$(_.data)}}HU.create=(_)=>{return new HU({typeName:t.ZodUndefined,...s(_)})};class qU extends $_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.null,received:U.parsedType}),i}return N$(_.data)}}qU.create=(_)=>{return new qU({typeName:t.ZodNull,...s(_)})};class W0 extends $_{constructor(){super(...arguments);this._any=!0}_parse(_){return N$(_.data)}}W0.create=(_)=>{return new W0({typeName:t.ZodAny,...s(_)})};class I4 extends $_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return N$(_.data)}}I4.create=(_)=>{return new I4({typeName:t.ZodUnknown,...s(_)})};class D6 extends $_{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:b.invalid_type,expected:r.never,received:$.parsedType}),i}}D6.create=(_)=>{return new D6({typeName:t.ZodNever,...s(_)})};class r1 extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.void,received:U.parsedType}),i}return N$(_.data)}}r1.create=(_)=>{return new r1({typeName:t.ZodVoid,...s(_)})};class r$ extends $_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),j=this._def;if($.parsedType!==r.array)return u($,{code:b.invalid_type,expected:r.array,received:$.parsedType}),i;if(j.exactLength!==null){let N=$.data.length>j.exactLength.value,E=$.data.length<j.exactLength.value;if(N||E)u($,{code:N?b.too_big:b.too_small,minimum:E?j.exactLength.value:void 0,maximum:N?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)u($,{code:b.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)u($,{code:b.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((N,E)=>{return j.type._parseAsync(new m$($,N,$.path,E))})).then((N)=>{return e_.mergeArray(U,N)});let D=[...$.data].map((N,E)=>{return j.type._parseSync(new m$($,N,$.path,E))});return e_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new r$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new r$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new r$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}r$.create=(_,$)=>{return new r$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:t.ZodArray,...s($)})};function VU(_){if(_ instanceof b_){let $={};for(let U in _.shape){let j=_.shape[U];$[U]=c$.create(VU(j))}return new b_({..._._def,shape:()=>$})}else if(_ instanceof r$)return new r$({..._._def,type:VU(_.element)});else if(_ instanceof c$)return c$.create(VU(_.unwrap()));else if(_ instanceof C6)return C6.create(VU(_.unwrap()));else if(_ instanceof j6)return j6.create(_.items.map(($)=>VU($)));else return _}class b_ extends $_{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=I_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==r.object){let W=this._getOrReturnCtx(_);return u(W,{code:b.invalid_type,expected:r.object,received:W.parsedType}),i}let{status:U,ctx:j}=this._processInputParams(_),{shape:D,keys:N}=this._getCached(),E=[];if(!(this._def.catchall instanceof D6&&this._def.unknownKeys==="strip")){for(let W in j.data)if(!N.includes(W))E.push(W)}let I=[];for(let W of N){let J=D[W],L=j.data[W];I.push({key:{status:"valid",value:W},value:J._parse(new m$(j,L,j.path,W)),alwaysSet:W in j.data})}if(this._def.catchall instanceof D6){let W=this._def.unknownKeys;if(W==="passthrough")for(let J of E)I.push({key:{status:"valid",value:J},value:{status:"valid",value:j.data[J]}});else if(W==="strict"){if(E.length>0)u(j,{code:b.unrecognized_keys,keys:E}),U.dirty()}else if(W==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let J of E){let L=j.data[J];I.push({key:{status:"valid",value:J},value:W._parse(new m$(j,L,j.path,J)),alwaysSet:J in j.data})}}if(j.common.async)return Promise.resolve().then(async()=>{let W=[];for(let J of I){let L=await J.key,S=await J.value;W.push({key:L,value:S,alwaysSet:J.alwaysSet})}return W}).then((W)=>{return e_.mergeObjectSync(U,W)});else return e_.mergeObjectSync(U,I)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new b_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let j=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??j};return{message:j}}}:{}})}strip(){return new b_({...this._def,unknownKeys:"strip"})}passthrough(){return new b_({...this._def,unknownKeys:"passthrough"})}extend(_){return new b_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new b_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:t.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new b_({...this._def,catchall:_})}pick(_){let $={};for(let U of I_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new b_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of I_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new b_({...this._def,shape:()=>$})}deepPartial(){return VU(this)}partial(_){let $={};for(let U of I_.objectKeys(this.shape)){let j=this.shape[U];if(_&&!_[U])$[U]=j;else $[U]=j.optional()}return new b_({...this._def,shape:()=>$})}required(_){let $={};for(let U of I_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof c$)D=D._def.innerType;$[U]=D}return new b_({...this._def,shape:()=>$})}keyof(){return CQ(I_.objectKeys(this.shape))}}b_.create=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strip",catchall:D6.create(),typeName:t.ZodObject,...s($)})};b_.strictCreate=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strict",catchall:D6.create(),typeName:t.ZodObject,...s($)})};b_.lazycreate=(_,$)=>{return new b_({shape:_,unknownKeys:"strip",catchall:D6.create(),typeName:t.ZodObject,...s($)})};class kU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function j(D){for(let E of D)if(E.result.status==="valid")return E.result;for(let E of D)if(E.result.status==="dirty")return $.common.issues.push(...E.ctx.common.issues),E.result;let N=D.map((E)=>new R$(E.ctx.common.issues));return u($,{code:b.invalid_union,unionErrors:N}),i}if($.common.async)return Promise.all(U.map(async(D)=>{let N={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:N}),ctx:N}})).then(j);else{let D=void 0,N=[];for(let I of U){let W={...$,common:{...$.common,issues:[]},parent:null},J=I._parseSync({data:$.data,path:$.path,parent:W});if(J.status==="valid")return J;else if(J.status==="dirty"&&!D)D={result:J,ctx:W};if(W.common.issues.length)N.push(W.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let E=N.map((I)=>new R$(I));return u($,{code:b.invalid_union,unionErrors:E}),i}}get options(){return this._def.options}}kU.create=(_,$)=>{return new kU({options:_,typeName:t.ZodUnion,...s($)})};var q6=(_)=>{if(_ instanceof bU)return q6(_.schema);else if(_ instanceof H$)return q6(_.innerType());else if(_ instanceof wU)return[_.value];else if(_ instanceof J4)return _.options;else if(_ instanceof vU)return I_.objectValues(_.enum);else if(_ instanceof fU)return q6(_._def.innerType);else if(_ instanceof HU)return[void 0];else if(_ instanceof qU)return[null];else if(_ instanceof c$)return[void 0,...q6(_.unwrap())];else if(_ instanceof C6)return[null,...q6(_.unwrap())];else if(_ instanceof nI)return q6(_.unwrap());else if(_ instanceof yU)return q6(_.unwrap());else if(_ instanceof xU)return q6(_._def.innerType);else return[]};class mI extends $_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return u($,{code:b.invalid_type,expected:r.object,received:$.parsedType}),i;let U=this.discriminator,j=$.data[U],D=this.optionsMap.get(j);if(!D)return u($,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),i;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 N=q6(D.shape[_]);if(!N.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let E of N){if(j.has(E))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(E)}`);j.set(E,D)}}return new mI({typeName:t.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:j,...s(U)})}}function Hz(_,$){let U=k6(_),j=k6($);if(_===$)return{valid:!0,data:_};else if(U===r.object&&j===r.object){let D=I_.objectKeys($),N=I_.objectKeys(_).filter((I)=>D.indexOf(I)!==-1),E={..._,...$};for(let I of N){let W=Hz(_[I],$[I]);if(!W.valid)return{valid:!1};E[I]=W.data}return{valid:!0,data:E}}else if(U===r.array&&j===r.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let N=0;N<_.length;N++){let E=_[N],I=$[N],W=Hz(E,I);if(!W.valid)return{valid:!1};D.push(W.data)}return{valid:!0,data:D}}else if(U===r.date&&j===r.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class CU extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),j=(D,N)=>{if(Mz(D)||Mz(N))return i;let E=Hz(D.value,N.value);if(!E.valid)return u(U,{code:b.invalid_intersection_types}),i;if(Zz(D)||Zz(N))$.dirty();return{status:$.value,value:E.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,N])=>j(D,N));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}))}}CU.create=(_,$,U)=>{return new CU({left:_,right:$,typeName:t.ZodIntersection,...s(U)})};class j6 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return u(U,{code:b.invalid_type,expected:r.array,received:U.parsedType}),i;if(U.data.length<this._def.items.length)return u(U,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i;if(!this._def.rest&&U.data.length>this._def.items.length)u(U,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((N,E)=>{let I=this._def.items[E]||this._def.rest;if(!I)return null;return I._parse(new m$(U,N,U.path,E))}).filter((N)=>!!N);if(U.common.async)return Promise.all(D).then((N)=>{return e_.mergeArray($,N)});else return e_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new j6({...this._def,rest:_})}}j6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new j6({items:_,typeName:t.ZodTuple,rest:null,...s($)})};class c1 extends $_{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 u(U,{code:b.invalid_type,expected:r.object,received:U.parsedType}),i;let j=[],D=this._def.keyType,N=this._def.valueType;for(let E in U.data)j.push({key:D._parse(new m$(U,E,U.path,E)),value:N._parse(new m$(U,U.data[E],U.path,E)),alwaysSet:E in U.data});if(U.common.async)return e_.mergeObjectAsync($,j);else return e_.mergeObjectSync($,j)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof $_)return new c1({keyType:_,valueType:$,typeName:t.ZodRecord,...s(U)});return new c1({keyType:h$.create(),valueType:_,typeName:t.ZodRecord,...s($)})}}class m1 extends $_{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 u(U,{code:b.invalid_type,expected:r.map,received:U.parsedType}),i;let j=this._def.keyType,D=this._def.valueType,N=[...U.data.entries()].map(([E,I],W)=>{return{key:j._parse(new m$(U,E,U.path,[W,"key"])),value:D._parse(new m$(U,I,U.path,[W,"value"]))}});if(U.common.async){let E=new Map;return Promise.resolve().then(async()=>{for(let I of N){let W=await I.key,J=await I.value;if(W.status==="aborted"||J.status==="aborted")return i;if(W.status==="dirty"||J.status==="dirty")$.dirty();E.set(W.value,J.value)}return{status:$.value,value:E}})}else{let E=new Map;for(let I of N){let{key:W,value:J}=I;if(W.status==="aborted"||J.status==="aborted")return i;if(W.status==="dirty"||J.status==="dirty")$.dirty();E.set(W.value,J.value)}return{status:$.value,value:E}}}}m1.create=(_,$,U)=>{return new m1({valueType:$,keyType:_,typeName:t.ZodMap,...s(U)})};class J0 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.set)return u(U,{code:b.invalid_type,expected:r.set,received:U.parsedType}),i;let j=this._def;if(j.minSize!==null){if(U.data.size<j.minSize.value)u(U,{code:b.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)u(U,{code:b.too_big,maximum:j.maxSize.value,type:"set",inclusive:!0,exact:!1,message:j.maxSize.message}),$.dirty()}let D=this._def.valueType;function N(I){let W=new Set;for(let J of I){if(J.status==="aborted")return i;if(J.status==="dirty")$.dirty();W.add(J.value)}return{status:$.value,value:W}}let E=[...U.data.values()].map((I,W)=>D._parse(new m$(U,I,U.path,W)));if(U.common.async)return Promise.all(E).then((I)=>N(I));else return N(E)}min(_,$){return new J0({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new J0({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}J0.create=(_,$)=>{return new J0({valueType:_,minSize:null,maxSize:null,typeName:t.ZodSet,...s($)})};class KU extends $_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return u($,{code:b.invalid_type,expected:r.function,received:$.parsedType}),i;function U(E,I){return hI({data:E,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,uI(),MU].filter((W)=>!!W),issueData:{code:b.invalid_arguments,argumentsError:I}})}function j(E,I){return hI({data:E,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,uI(),MU].filter((W)=>!!W),issueData:{code:b.invalid_return_type,returnTypeError:I}})}let D={errorMap:$.common.contextualErrorMap},N=$.data;if(this._def.returns instanceof L0){let E=this;return N$(async function(...I){let W=new R$([]),J=await E._def.args.parseAsync(I,D).catch((X)=>{throw W.addIssue(U(I,X)),W}),L=await Reflect.apply(N,this,J);return await E._def.returns._def.type.parseAsync(L,D).catch((X)=>{throw W.addIssue(j(L,X)),W})})}else{let E=this;return N$(function(...I){let W=E._def.args.safeParse(I,D);if(!W.success)throw new R$([U(I,W.error)]);let J=Reflect.apply(N,this,W.data),L=E._def.returns.safeParse(J,D);if(!L.success)throw new R$([j(J,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new KU({...this._def,args:j6.create(_).rest(I4.create())})}returns(_){return new KU({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new KU({args:_?_:j6.create([]).rest(I4.create()),returns:$||I4.create(),typeName:t.ZodFunction,...s(U)})}}class bU extends $_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}bU.create=(_,$)=>{return new bU({getter:_,typeName:t.ZodLazy,...s($)})};class wU extends $_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:b.invalid_literal,expected:this._def.value}),i}return{status:"valid",value:_.data}}get value(){return this._def.value}}wU.create=(_,$)=>{return new wU({value:_,typeName:t.ZodLiteral,...s($)})};function CQ(_,$){return new J4({values:_,typeName:t.ZodEnum,...s($)})}class J4 extends $_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{expected:I_.joinValues(U),received:$.parsedType,code:b.invalid_type}),i}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{received:$.data,code:b.invalid_enum_value,options:U}),i}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 J4.create(_,{...this._def,...$})}exclude(_,$=this._def){return J4.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}J4.create=CQ;class vU extends $_{_parse(_){let $=I_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==r.string&&U.parsedType!==r.number){let j=I_.objectValues($);return u(U,{expected:I_.joinValues(j),received:U.parsedType,code:b.invalid_type}),i}if(!this._cache)this._cache=new Set(I_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let j=I_.objectValues($);return u(U,{received:U.data,code:b.invalid_enum_value,options:j}),i}return N$(_.data)}get enum(){return this._def.values}}vU.create=(_,$)=>{return new vU({values:_,typeName:t.ZodNativeEnum,...s($)})};class L0 extends $_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.promise&&$.common.async===!1)return u($,{code:b.invalid_type,expected:r.promise,received:$.parsedType}),i;let U=$.parsedType===r.promise?$.data:Promise.resolve($.data);return N$(U.then((j)=>{return this._def.type.parseAsync(j,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}L0.create=(_,$)=>{return new L0({type:_,typeName:t.ZodPromise,...s($)})};class H$ extends $_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===t.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),j=this._def.effect||null,D={addIssue:(N)=>{if(u(U,N),N.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),j.type==="preprocess"){let N=j.transform(U.data,D);if(U.common.async)return Promise.resolve(N).then(async(E)=>{if($.value==="aborted")return i;let I=await this._def.schema._parseAsync({data:E,path:U.path,parent:U});if(I.status==="aborted")return i;if(I.status==="dirty")return FU(I.value);if($.value==="dirty")return FU(I.value);return I});else{if($.value==="aborted")return i;let E=this._def.schema._parseSync({data:N,path:U.path,parent:U});if(E.status==="aborted")return i;if(E.status==="dirty")return FU(E.value);if($.value==="dirty")return FU(E.value);return E}}if(j.type==="refinement"){let N=(E)=>{let I=j.refinement(E,D);if(U.common.async)return Promise.resolve(I);if(I instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return E};if(U.common.async===!1){let E=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(E.status==="aborted")return i;if(E.status==="dirty")$.dirty();return N(E.value),{status:$.value,value:E.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((E)=>{if(E.status==="aborted")return i;if(E.status==="dirty")$.dirty();return N(E.value).then(()=>{return{status:$.value,value:E.value}})})}if(j.type==="transform")if(U.common.async===!1){let N=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!I0(N))return i;let E=j.transform(N.value,D);if(E instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:E}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((N)=>{if(!I0(N))return i;return Promise.resolve(j.transform(N.value,D)).then((E)=>({status:$.value,value:E}))});I_.assertNever(j)}}H$.create=(_,$,U)=>{return new H$({schema:_,typeName:t.ZodEffects,effect:$,...s(U)})};H$.createWithPreprocess=(_,$,U)=>{return new H$({schema:$,effect:{type:"preprocess",transform:_},typeName:t.ZodEffects,...s(U)})};class c$ extends $_{_parse(_){if(this._getType(_)===r.undefined)return N$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}c$.create=(_,$)=>{return new c$({innerType:_,typeName:t.ZodOptional,...s($)})};class C6 extends $_{_parse(_){if(this._getType(_)===r.null)return N$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}C6.create=(_,$)=>{return new C6({innerType:_,typeName:t.ZodNullable,...s($)})};class fU extends $_{_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}}fU.create=(_,$)=>{return new fU({innerType:_,typeName:t.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...s($)})};class xU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},j=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(u1(j))return j.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new R$(U.common.issues)},input:U.data})}});else return{status:"valid",value:j.status==="valid"?j.value:this._def.catchValue({get error(){return new R$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}xU.create=(_,$)=>{return new xU({innerType:_,typeName:t.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...s($)})};class n1 extends $_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return u(U,{code:b.invalid_type,expected:r.nan,received:U.parsedType}),i}return{status:"valid",value:_.data}}}n1.create=(_)=>{return new n1({typeName:t.ZodNaN,...s(_)})};var aC=Symbol("zod_brand");class nI extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class d1 extends $_{_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 i;if(D.status==="dirty")return $.dirty(),FU(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 i;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 d1({in:_,out:$,typeName:t.ZodPipeline})}}class yU extends $_{_parse(_){let $=this._def.innerType._parse(_),U=(j)=>{if(I0(j))j.value=Object.freeze(j.value);return j};return u1($)?$.then((j)=>U(j)):U($)}unwrap(){return this._def.innerType}}yU.create=(_,$)=>{return new yU({innerType:_,typeName:t.ZodReadonly,...s($)})};function QQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function bQ(_,$={},U){if(_)return W0.create().superRefine((j,D)=>{let N=_(j);if(N instanceof Promise)return N.then((E)=>{if(!E){let I=QQ($,j),W=I.fatal??U??!0;D.addIssue({code:"custom",...I,fatal:W})}});if(!N){let E=QQ($,j),I=E.fatal??U??!0;D.addIssue({code:"custom",...E,fatal:I})}return});return W0.create()}var eC={object:b_.lazycreate},t;(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"})(t||(t={}));var sC=(_,$={message:`Input not instance of ${_.name}`})=>bQ((U)=>U instanceof _,$),wQ=h$.create,vQ=A4.create,_b=n1.create,$b=W4.create,fQ=ZU.create,Ub=A0.create,Db=h1.create,jb=HU.create,Nb=qU.create,Eb=W0.create,Ib=I4.create,Ab=D6.create,Wb=r1.create,Jb=r$.create,Lb=b_.create,Sb=b_.strictCreate,Pb=kU.create,Ob=mI.create,zb=CU.create,Xb=j6.create,Yb=c1.create,Rb=m1.create,Qb=J0.create,Gb=KU.create,Tb=bU.create,Vb=wU.create,Bb=J4.create,Fb=vU.create,Kb=L0.create,GQ=H$.create,gb=c$.create,Mb=C6.create,Zb=H$.createWithPreprocess,Hb=d1.create,qb=()=>wQ().optional(),kb=()=>vQ().optional(),Cb=()=>fQ().optional(),bb={string:(_)=>h$.create({..._,coerce:!0}),number:(_)=>A4.create({..._,coerce:!0}),boolean:(_)=>ZU.create({..._,coerce:!0}),bigint:(_)=>W4.create({..._,coerce:!0}),date:(_)=>A0.create({..._,coerce:!0})},wb=i;var h={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",taskToPrProjection:"hasna.task_to_pr_projection.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",secureLocalStorePolicy:"hasna.secure_local_store_policy.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"},kz=A.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),H_=A.string().datetime(),a=A.string().trim().min(1),n$=a.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://"),xQ=A.string().regex(/^[a-fA-F0-9]{64}$/),yQ=A.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),L4=A.record(A.unknown()),rU=A.array(A.string().min(1)).default([]),S0=H_.nullable().optional(),vb=new Set(["succeeded","failed","cancelled","blocked","skipped"]),z0=A.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function O_(_){return A.object({schema:A.literal(_),id:A.string().min(1),createdAt:H_,updatedAt:S0,metadata:L4.optional()}).strict()}var il=A.object({schema:kz,id:A.string().min(1),createdAt:H_,updatedAt:S0,metadata:L4.optional()}).strict(),uQ=A.enum(["agent","human","service","model","workflow","system"]),fb=O_(h.actorRef).extend({kind:uQ,name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional(),capabilities:A.array(A.string().min(1)).default([])}).strict(),N6=A.object({kind:uQ,id:A.string().min(1),name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional()}).strict(),hQ=A.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"]),xb=O_(h.resourceRef).extend({kind:hQ,name:A.string().min(1).optional(),uri:n$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:rU}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),__=A.object({kind:hQ,id:A.string().min(1),name:A.string().min(1).optional(),uri:n$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:rU}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),Cz=A.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),yb=A.enum(["none","partial","full","unknown"]),ub=O_(h.evidenceRef).extend({kind:Cz,uri:n$,sha256:xQ.optional(),summary:A.string().min(1).optional(),contentType:A.string().min(1).optional(),sizeBytes:A.number().int().nonnegative().optional(),redaction:yb.default("unknown"),producer:N6.optional(),resourceRefs:A.array(__).default([]),tags:rU}).strict(),F_=A.object({id:A.string().min(1),kind:Cz.optional(),uri:n$.optional(),sha256:xQ.optional(),summary:A.string().min(1).optional()}).strict(),l1=O_(h.costEstimate).extend({currency:A.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:A.number().int().nonnegative(),provider:A.string().min(1).optional(),model:A.string().min(1).optional(),accountId:A.string().min(1).optional(),promptTokens:A.number().int().nonnegative().optional(),completionTokens:A.number().int().nonnegative().optional(),totalTokens:A.number().int().nonnegative().optional(),basis:A.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:A.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),hb=A.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),rQ=O_(h.decisionEnvelope).extend({decisionType:A.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:hb,actor:N6.optional(),traceId:A.string().min(1).optional(),inputHash:yQ.optional(),policyBundleId:A.string().min(1).optional(),selected:A.array(__).default([]),skipped:A.array(__).default([]),reason:A.string().min(1),obligations:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),costEstimate:l1.optional(),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),rb=O_(h.capabilityCard).extend({kind:A.enum(["model","tool","machine","agent","lane","connector","service"]),name:A.string().min(1),version:A.string().min(1).optional(),status:A.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:A.array(A.string().min(1)).default([]),limitations:A.array(A.string().min(1)).default([]),riskLevel:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:l1.optional(),evidenceRefs:A.array(F_).default([])}).strict(),uU=A.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),cb=A.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"]),mb=A.object({refName:a,requiredForModes:A.array(uU).min(1),allowedSecretInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:a,revocationCheck:A.boolean().default(!0)}).strict(),nb=A.object({operation:a,supportedModes:A.array(uU).min(1),sideEffectClass:cb,requiresApproval:A.boolean().default(!1),requiresIdempotencyKey:A.boolean().default(!1),requiresSandboxEvidence:A.boolean().default(!1),requiresRollbackOrRevocation:A.boolean().default(!1),rollbackOrRevocation:a.optional(),noSideEffectSmoke:a.optional(),reconciliation:a.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),db=A.object({providerId:a,appId:a,adapterId:a,ownerPackage:a,modes:A.array(uU).min(1),defaultMode:uU,credentialRequirements:A.array(mb).default([]),operations:A.array(nb).min(1),rateLimitPosture:a,costPosture:a.optional(),auditEvents:A.array(a).default([]),redactionRules:A.array(a).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:A.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:A.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:A.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),lb=A.object({appId:a,repo:a,priority:A.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:A.array(a).min(1),firstOperations:A.array(a).min(1),blockedUntil:A.array(a).default([])}).strict(),ib=O_(h.providerLiveModeStandard).extend({name:a,version:a,modes:A.array(uU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:A.array(a).min(1),liveMutationGate:A.object({requiredMode:A.literal("live_mutating"),requiredChecks:A.array(a).min(1),forbiddenBypassSignals:A.array(a).min(1),disabledLiveSmoke:a}).strict(),noSideEffectSmoke:A.object({requiredForModes:A.array(uU).min(1),commandEvidence:A.array(a).min(1),secretOutputScan:A.boolean().default(!0)}).strict(),credentialPolicy:A.object({acceptedInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:A.literal(!1),missingCredentialBehavior:A.literal("fail_closed"),revocationCheckRequired:A.boolean().default(!0)}).strict(),operationCards:A.array(db).min(1),firstAdoptionTargets:A.array(lb).min(1),evidenceRefs:A.array(F_).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:A.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),tb=A.object({id:A.string().min(1),title:A.string().min(1).optional(),summary:A.string().min(1),text:A.string().optional(),tokens:A.number().int().nonnegative().optional(),source:F_,resourceRefs:A.array(__).default([])}).strict(),cQ=O_(h.contextPack).extend({objective:A.string().min(1),budget:A.object({maxTokens:A.number().int().positive().optional(),maxBytes:A.number().int().positive().optional()}).strict().optional(),items:A.array(tb).default([]),citations:A.array(F_).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),permissions:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),conflicts:A.array(A.string().min(1)).default([]),uncertainty:A.string().min(1).optional()}).strict(),M$=a.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),P0=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),ob=A.enum(["public","internal","private","sensitive"]),pb=A.enum(["draft","active","paused","archived"]),bz=A.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),mQ=O_(h.integrationRef).extend({kind:bz,name:A.string().min(1),projectId:P0.optional(),sourcePackage:a.optional(),externalId:a.optional(),uri:n$.optional(),enabled:A.boolean().default(!0),readOnly:A.boolean().default(!0),capabilities:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:__.optional(),evidenceRefs:A.array(F_).default([]),config:L4.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),ab=A.object({schemaRoot:M$.default(".hasna/project"),dashboardManifest:M$.default(".hasna/project/dashboard.render.json"),snapshotsDir:M$.default(".hasna/project/snapshots"),documentsDir:M$.default("documents"),reportsDir:M$.default("reports"),evidenceDir:M$.default(".hasna/project/evidence"),privateDir:M$.default(".hasna/project/private")}).strict(),eb=O_(h.projectManifest).extend({projectId:P0,slug:P0,name:A.string().min(1),summary:A.string().min(1).optional(),status:pb.default("active"),classification:ob.default("private"),owner:N6.optional(),layout:ab.default({}),integrations:A.array(mQ).default([]),renderManifests:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),tags:rU}).strict().superRefine((_,$)=>{let U=new Set,j=new Set;if(_.projectId!==_.slug)$.addIssue({code:A.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,N]of _.integrations.entries()){if(U.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(U.add(N.id),N.projectId&&N.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,N]of _.renderManifests.entries()){if(N.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(j.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});j.add(N.id)}}),sb=A.enum(["local","package","provider","url"]),wz=A.object({id:A.string().min(1),kind:sb,specifier:A.string().min(1),path:M$.optional(),packageName:A.string().min(1).optional(),uri:n$.optional(),provider:bz.optional(),schemaId:kz.optional(),integrity:yQ.optional(),resourceRef:__.optional(),optional:A.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:A.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:A.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:A.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),_w=A.enum(["dashboard","canvas","panel","report","document","custom"]),$w=A.object({id:A.string().min(1),title:A.string().min(1),kind:_w,default:A.boolean().default(!1),entry:M$.optional(),imports:A.array(wz).default([]),panelRefs:A.array(__).default([]),dataRefs:A.array(__).default([]),layout:L4.optional()}).strict(),Uw=O_(h.renderManifest).extend({projectId:P0,name:A.string().min(1),version:A.string().min(1),manifestPath:M$.default(".hasna/project/dashboard.render.json"),renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:A.array($w).min(1),imports:A.array(wz).default([]),theme:L4.optional(),compatibility:A.object({minProjectsVersion:A.string().min(1).optional(),minContractsVersion:A.string().min(1).optional()}).strict().optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((N)=>N.default),j=new Set,D=new Set;if(U.length>1)$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[N,E]of _.imports.entries()){if(D.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",N,"id"]});D.add(E.id)}for(let[N,E]of _.views.entries()){if(j.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",N,"id"]});j.add(E.id);let I=new Set;for(let[W,J]of E.imports.entries()){if(I.has(J.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",N,"imports",W,"id"]});I.add(J.id)}for(let[W,J]of E.panelRefs.entries())if(J.kind!=="panel")$.addIssue({code:A.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",N,"panelRefs",W,"kind"]})}}),Dw=A.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),jw=A.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Nw=A.object({id:A.string().min(1),label:A.string().min(1),value:A.union([A.string(),A.number(),A.boolean()]),unit:A.string().min(1).optional(),status:A.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:A.array(__).default([])}).strict(),Ew=A.object({id:A.string().min(1),title:A.string().min(1),summary:A.string().min(1).optional(),status:A.string().min(1).optional(),priority:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:H_.optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),metadata:L4.optional()}).strict(),Iw=A.object({renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:A.string().min(1).optional(),entry:M$.optional(),imports:A.array(wz).default([]),spec:L4.default({})}).strict(),nQ=O_(h.projectPanel).extend({projectId:P0,provider:A.object({kind:bz,id:A.string().min(1),name:A.string().min(1).optional(),sourcePackage:a.optional(),externalId:a.optional()}).strict(),kind:jw,title:A.string().min(1),summary:A.string().min(1).optional(),state:Dw.default("ready"),stateReason:A.string().min(1).optional(),generatedAt:H_,freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),metrics:A.array(Nw).default([]),items:A.array(Ew).default([]),actions:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),renderFragment:Iw.optional(),warnings:A.array(A.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:A.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:A.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[N,E]of _.metrics.entries()){if(j.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",N,"id"]});j.add(E.id)}for(let[N,E]of _.items.entries()){if(D.has(E.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",N,"id"]});D.add(E.id)}for(let[N,E]of _.actions.entries())if(E.kind!=="action")$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",N,"kind"]})}),Aw=O_(h.projectSnapshot).extend({projectId:P0,generatedAt:H_,status:z0.default("unknown"),manifestRef:__,renderManifestRef:__.optional(),panels:A.array(nQ).default([]),contextPacks:A.array(cQ).default([]),proofBundleRefs:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),warnings:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,j=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,N]of _.proofBundleRefs.entries())if(N.kind!=="proof_bundle")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,N]of _.panels.entries()){if(N.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});U.add(N.id)}for(let[D,N]of _.contextPacks.entries()){if(j.has(N.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});j.add(N.id)}}),dQ=A.object({id:A.string().min(1),kind:A.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),expected:A.string().min(1).optional(),timeoutMs:A.number().int().positive().optional(),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:A.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Ww=O_(h.validationPlan).extend({objective:A.string().min(1),subject:__.optional(),checks:A.array(dQ).min(1),verifier:N6.optional(),requiredEvidenceKinds:A.array(Cz).default([])}).strict(),Jw=A.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Lw=A.enum(["draft","active","deprecated","archived"]),Sw=A.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"]),Pw=A.object({key:A.string().regex(/^[A-Z][A-Z0-9_]*$/),description:A.string().min(1),required:A.boolean().default(!1),["secret"]:A.boolean().default(!1),group:A.string().min(1).optional(),default:A.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Ow=A.object({name:A.string().min(1),command:A.string().min(1),description:A.string().min(1).optional(),required:A.boolean().default(!1)}).strict(),zw=A.object({packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:A.array(A.string().min(1)).default([]),requiredFiles:A.array(A.string().min(1)).default([]),requiredDirectories:A.array(A.string().min(1)).default([]),optionalDirectories:A.array(A.string().min(1)).default([])}).strict(),Xw=O_(h.scaffoldManifest).extend({name:A.string().min(1),version:A.string().min(1),summary:A.string().min(1),type:Jw,status:Lw.default("draft"),capabilities:A.array(Sw).default([]),techStack:A.array(A.string().min(1)).default([]),tags:rU,source:__.optional(),output:zw,env:A.array(Pw).default([]),scripts:A.array(Ow).default([]),validationChecks:A.array(dQ).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:A.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Yw=A.enum(["installed","failed","cancelled","partial","unknown"]),Rw=O_(h.scaffoldInstallRecord).extend({scaffoldId:A.string().min(1),scaffoldVersion:A.string().min(1).optional(),manifestRef:__.optional(),target:__,status:Yw,installedAt:H_.optional(),installer:N6.optional(),packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:L4.optional(),generatedFiles:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),hU=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),vz=A.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),lQ=A.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"),Qw=A.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Gw=a.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Tw=A.enum(["active","stub","deprecated","archived"]),Vw=A.enum(["stable","beta","canary","internal"]),Bw=A.object({transport:A.enum(["http","stdio"]).default("http"),bin:A.string().min(1).optional(),url:n$.optional()}).strict(),Fw=A.object({healthPath:A.string().min(1).default("/health"),port:A.number().int().positive().optional(),baseUrl:n$.optional()}).strict(),Kw=A.object({bins:A.array(A.string().min(1)).default([]),mcp:Bw.optional(),http:Fw.optional()}).strict(),gw=O_(h.app).extend({appId:hU,npmName:vz,repoFolder:hU,githubUrl:Gw,projectSlug:P0,surfaces:Kw.default({}),lifecycle:Tw,releaseChannel:Vw.default("stable"),summary:A.string().min(1).optional(),tags:rU}).strict().superRefine((_,$)=>{let U=new Set;for(let[j,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",j]});U.add(D)}}),Mw=A.enum(["skill","ci","backfilled"]),Zw=O_(h.release).extend({appId:hU,package:vz,version:lQ,gitSha:Qw,publishedAt:H_,publishPath:Mw,changelogRef:__.optional(),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Hw=A.enum(["install","update","rollback","freeze-blocked"]),qw=A.object({cliVersion:A.string().min(1).optional(),mcpHealth:A.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),kw=O_(h.rolloutRecord).extend({appId:hU,package:vz,version:lQ,machine:a,action:Hw,result:z0,verifiedBy:qw.optional(),at:H_,evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Cw=A.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),bw=A.enum(["pending","queued","sent","failed","skipped","suppressed"]),ww=A.object({channel:Cw,status:bw,deliveredAt:H_.optional(),detail:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),vw=O_(h.announcement).extend({campaignId:a,appId:hU.optional(),releaseRef:__.optional(),channels:A.array(ww).min(1),audienceRef:__,sentAt:H_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),fw=A.enum(["tag","attribute","group"]),xw=A.enum(["eq","neq","in","not_in","exists","not_exists"]),TQ=A.union([A.string(),A.number(),A.boolean()]),yw=A.object({kind:fw,key:A.string().min(1).optional(),op:xw.default("eq"),value:TQ.optional(),values:A.array(TQ).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:A.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),uw=A.object({match:A.enum(["all","any"]).default("all"),predicates:A.array(yw).min(1)}).strict(),hw=A.enum(["opt_in","opt_out","transactional","none"]),rw=O_(h.audience).extend({audienceId:hU,name:a,definition:uw,consentPolicy:hw,suppressionSyncedAt:S0}).strict(),yI=["@hasna/cloud","open-cloud"],cw=A.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),mw=A.object({id:A.string().min(1),provider:cw,kind:A.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:A.string().min(1),region:A.string().min(1).optional(),accountId:A.string().min(1).optional(),uri:n$.optional(),machineScoped:A.boolean().default(!1)}).strict(),iQ=O_(h.appCloudManifest).extend({packageName:A.string().min(1),packageVersion:A.string().min(1).optional(),appId:A.string().min(1),repository:__.optional(),storageMode:A.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:A.enum(["none","app_owned","external_service","local_cache"]),cloudResources:A.array(mw).default([]),localCache:A.object({path:A.string().min(1).optional(),pullMode:A.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:A.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:A.array(A.string().min(1)).default([...yI]),dependencies:A.array(A.string().min(1)).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...yI,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:A.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let j of yI)if(!_.forbiddenSharedRuntimes.includes(j))$.addIssue({code:A.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${j}`,path:["forbiddenSharedRuntimes"]});for(let j of U)if(_.dependencies.includes(j))$.addIssue({code:A.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${j}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:A.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:A.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((j,D)=>{if(j.ownerPackage!==_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),tQ=A.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),nw=A.enum(["low","medium","high","critical"]),oQ=A.object({id:A.string().min(1),kind:tQ,severity:nw,path:A.string().min(1).optional(),packageName:A.string().min(1).optional(),pattern:A.string().min(1),message:A.string().min(1),evidenceRefs:A.array(F_).default([])}).strict(),dw=A.object({id:A.string().min(1),kind:tQ,status:z0,target:A.string().min(1),command:A.string().min(1).optional(),evidenceRefs:A.array(F_).default([]),findings:A.array(oQ).default([])}).strict(),lw=O_(h.noCloudEvidencePack).extend({subject:__,packageName:A.string().min(1).optional(),packageVersion:A.string().min(1).optional(),generatedBy:N6.optional(),scanMode:A.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:z0,verdict:A.enum(["passed","failed","warning","not_run"]),appCloudManifest:iQ.optional(),checks:A.array(dw).min(1),findings:A.array(oQ).default([]),evidenceRefs:A.array(F_).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:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(j.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,N)=>{let E=D.findings.filter((I)=>I.severity==="high"||I.severity==="critical");if(D.status==="succeeded"&&E.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",N,"findings"]})})}),iw=A.object({checkId:A.string().min(1),status:z0,summary:A.string().min(1).optional(),startedAt:S0,finishedAt:S0,evidenceRefs:A.array(F_).default([])}).strict(),tw=O_(h.proofBundle).extend({subject:__,validationPlanRef:__.optional(),status:z0,verdict:A.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:A.array(iw).default([]),verifier:N6.optional(),evidenceRefs:A.array(F_).default([]),residualRisks:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:A.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:A.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:A.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),ow=O_(h.workRun).extend({objective:A.string().min(1),status:z0,actor:N6,traceId:A.string().min(1).optional(),startedAt:S0,finishedAt:S0,constraints:A.array(A.string().min(1)).default([]),resourceRefs:A.array(__).default([]),decisions:A.array(rQ).default([]),costEstimates:A.array(l1).default([]),evidenceRefs:A.array(F_).default([]),validationPlanRefs:A.array(__).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)<Date.parse(_.startedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(vb.has(_.status)&&!_.finishedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=_.evidenceRefs.length>0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),pw=Object.freeze({work_run:Object.freeze(["codewith"]),root_request:Object.freeze(["todos"]),pr_group:Object.freeze(["todos"]),leaf_task:Object.freeze(["todos"]),attempt:Object.freeze(["todos"]),writer_generation:Object.freeze(["todos"]),writer_lease:Object.freeze(["repos"]),writer_fence:Object.freeze(["repos"]),provider_profile:Object.freeze(["codewith"]),provider_route:Object.freeze(["codewith"]),admission:Object.freeze(["codewith"]),worker_actor:Object.freeze(["codewith"]),worker:Object.freeze(["codewith"]),runtime:Object.freeze(["codewith"]),repo:Object.freeze(["repos"]),worktree:Object.freeze(["repos"]),branch:Object.freeze(["repos"]),event_stream:Object.freeze(["todos"]),replay_cursor:Object.freeze(["todos"]),handoff:Object.freeze(["todos"]),pull_request:Object.freeze(["todos"]),commit:Object.freeze(["repos"]),review:Object.freeze(["review"]),reviewer:Object.freeze(["review"]),review_run:Object.freeze(["review"]),proof_bundle:Object.freeze(["review"]),repair_cycle:Object.freeze(["todos"]),merge_guard:Object.freeze(["todos"]),merge_operator:Object.freeze(["merge_provider"]),merge_operator_run:Object.freeze(["merge_provider"]),merge_guard_receipt:Object.freeze(["merge_provider"]),merge_outcome:Object.freeze(["merge_provider"]),recovery:Object.freeze(["todos"]),cancellation:Object.freeze(["todos"]),cleanup_eligibility:Object.freeze(["repos"]),cleanup_outcome:Object.freeze(["repos"]),rollback_plan:Object.freeze(["todos"]),rollback_outcome:Object.freeze(["repos"]),terminal_disposition:Object.freeze(["todos"]),openloops_invocation:Object.freeze(["openloops"]),adapter_extension:Object.freeze(["adapter"])}),aw=A.enum(["work_run","root_request","pr_group","leaf_task","attempt","writer_generation","writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","repo","worktree","branch","event_stream","replay_cursor","handoff","pull_request","commit","review","reviewer","review_run","proof_bundle","repair_cycle","merge_guard","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","recovery","cancellation","cleanup_eligibility","cleanup_outcome","rollback_plan","rollback_outcome","terminal_disposition","openloops_invocation","adapter_extension"]),ew=A.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),O0=A.string().regex(/^[a-f0-9]{64}$/),dI=A.string().trim().min(3).max(256),pQ=/^[a-f0-9]{32}$/;function sw(_,$,U){return`${_}:${$}:opaque-${U.slice(0,32)}`}function _v(_){return`evidence:opaque-${_.slice(0,32)}`}var aQ=dI.refine((_)=>{let U=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return pQ.test(U)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),fz=dI.refine((_)=>{let U=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return pQ.test(U)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),$v=new Set(["writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","worktree","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","openloops_invocation","adapter_extension"]),xz=A.object({role:aw,authority:ew,id:dI,digest:O0,redaction:A.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let U=pw[_.role];if(!U.includes(_.authority))$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${U.join(" or ")}`,path:["authority"]});if($v.has(_.role)&&_.redaction==="none")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let j=sw(_.role,_.authority,_.digest);if(_.id!==j)$.addIssue({code:A.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),Z$=A.object({id:dI,digest:O0,redaction:A.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==_v(_.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function eQ(_,$,U,j){if(_.id===$.id||_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:j})}function H(_){return xz.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function M_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function yz(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function gU(_,$,U,j,D){if(yz(_,$))U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:j});if(_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:j})}function rI(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function j$(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var B_=A.object({algorithm:A.enum(["sha1","sha256"]),value:A.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let U=_.algorithm==="sha1"?40:64;if(_.value.length!==U)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${U} lowercase hex characters`,path:["value"]})});function VQ(_){if(_.canonicalizationVersion===1){let U=JSON.stringify(["hasna.task_to_pr_projection.binding.v1",_.canonicalizationVersion,_.rootRequestRef.id,_.rootRequestRef.digest,_.prGroupRef.id,_.prGroupRef.digest,_.leafTaskRef.id,_.leafTaskRef.digest,_.repoRef.id,_.repoRef.digest,_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return YQ("sha256").update(U,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((U)=>[U.role,U.authority,U.id,U.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return YQ("sha256").update($,"utf8").digest("hex")}var Uv=A.object({ref:H("attempt"),nonce:fz,admissionRef:H("admission"),admissionWriterGenerationRef:H("writer_generation"),workerActorRef:H("worker_actor"),workerRef:H("worker"),runtimeRef:H("runtime"),writerGenerationRef:H("writer_generation"),writerLeaseRef:H("writer_lease"),writerFenceRef:H("writer_fence"),providerProfileRef:H("provider_profile"),providerRouteRef:H("provider_route")}).strict(),Dv=A.object({repoRef:H("repo"),worktreeRef:H("worktree"),branchRef:H("branch"),baseHead:B_,branchHead:B_}).strict(),jv=A.object({streamRef:H("event_stream"),replayCursorRef:H("replay_cursor"),sequence:A.number().int().safe().nonnegative(),prefixDigest:O0}).strict(),Nv=A.object({ref:H("handoff"),previousAttemptRef:H("attempt"),nextAttemptRef:H("attempt"),previousWriterGenerationRef:H("writer_generation"),nextWriterGenerationRef:H("writer_generation"),stoppedWorkRunRef:H("work_run"),stopEvidenceRef:Z$,leaseRevocationEvidenceRef:Z$}).strict().superRefine((_,$)=>{gU(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),gU(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),eQ(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Ev=A.object({ref:H("review"),pullRequestRef:H("pull_request"),base:B_,head:B_,reviewerRef:H("reviewer"),reviewRunRef:H("review_run"),proofBundleRef:H("proof_bundle"),verdict:A.enum(["approved","changes_requested","blocked"]),reviewedAt:H_}).strict(),Iv=A.object({pullRequestRef:H("pull_request"),remoteBranchRef:H("branch"),expectedBase:B_,providerPullRequestBase:B_,localHead:B_,remoteHead:B_,providerPullRequestHead:B_,equalityProofRef:H("proof_bundle"),ciProofBundleRefs:A.array(H("proof_bundle")).min(1),verifiedAt:H_}).strict().superRefine((_,$)=>{if(!j$(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!j$(_.localHead,_.remoteHead)||!j$(_.localHead,_.providerPullRequestHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let U=_.ciProofBundleRefs.map(rI);if(new Set(U).size!==U.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let j=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(j).size!==j.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>yz(D,_.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical identities",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>D.digest===_.equalityProofRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),Av=A.object({ref:H("repair_cycle"),cycle:A.number().int().min(0).max(2),cap:A.literal(2),exhausted:A.boolean(),latestRepairRef:H("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&yz(_.ref,_.latestRepairRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),Wv=A.object({ref:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:B_,expectedHead:B_,reviewRefs:A.array(H("review")).min(1),proofBundleRefs:A.array(H("proof_bundle")).min(1),operatorRef:H("merge_operator"),operatorRunRef:H("merge_operator_run"),providerGuardReceiptRef:H("merge_guard_receipt"),mechanism:A.enum(["compare_and_swap","queue_expected_head"]),decision:A.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:H_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((N)=>N.id)).size!==_.reviewRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(rI)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((N)=>N.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),Jv=A.object({ref:H("merge_outcome"),guardRef:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:B_,observedBase:B_,expectedHead:B_,observedHead:B_,status:A.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:H("commit").optional(),finishedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict().superRefine((_,$)=>{let U=j$(_.expectedBase,_.observedBase),j=j$(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!U||!j)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!U?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&j)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&U)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!j)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!j&&_.status!=="head_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!U&&_.status!=="base_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),Lv=A.object({guard:Wv,outcome:Jv.optional()}).strict(),Sv=A.object({ref:H("recovery"),priorAttemptRef:H("attempt"),priorWriterGenerationRef:H("writer_generation"),priorWorkRunRef:H("work_run"),successorAttemptNonce:fz,successorWriterGenerationRef:H("writer_generation"),preservedStateRefs:A.array(xz).min(1),stopEvidenceRef:Z$,leaseRevocationEvidenceRef:Z$}).strict().superRefine((_,$)=>{gU(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),eQ(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Pv=A.object({ref:H("cancellation"),cancelledAttemptRef:H("attempt"),preservedStateRefs:A.array(xz).min(1),evidenceRefs:A.array(Z$).min(1)}).strict(),Ov=A.object({ref:H("cleanup_eligibility"),status:A.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:H("worktree"),eventCursorRef:H("replay_cursor"),terminalDispositionRef:H("terminal_disposition"),writerLeaseRef:H("writer_lease"),leaseRevocationEvidenceRef:Z$,consumedEventEvidenceRef:Z$,evaluatedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),zv=A.object({ref:H("cleanup_outcome"),eligibilityRef:H("cleanup_eligibility"),targetWorktreeRef:H("worktree"),status:A.enum(["preserved","deleted","failed","skipped"]),finishedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict(),Xv=A.object({eligibility:Ov,outcome:zv.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!M_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!M_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility and outcome must bind the same target worktree",path:["outcome","targetWorktreeRef"]});if(_.outcome?.status==="deleted"&&_.eligibility.status!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),Yv=A.object({plan:A.object({ref:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),createdAt:H_}).strict(),outcome:A.object({ref:H("rollback_outcome"),planRef:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),status:A.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:H_,evidenceRefs:A.array(Z$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!M_(_.outcome.planRef,_.plan.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!M_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback target",path:["outcome","targetRef"]});if(_.outcome&&Date.parse(_.outcome.finishedAt)<Date.parse(_.plan.createdAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes cannot finish before their plan was created",path:["outcome","finishedAt"]})}),Rv=A.discriminatedUnion("category",[A.object({category:A.literal("projection_id"),projectionId:aQ}).strict(),A.object({category:A.literal("work_run"),ref:H("work_run")}).strict(),A.object({category:A.literal("attempt"),ref:H("attempt")}).strict(),A.object({category:A.literal("admission"),ref:H("admission")}).strict(),A.object({category:A.literal("worker_actor"),ref:H("worker_actor")}).strict(),A.object({category:A.literal("worker_assignment"),ref:H("worker")}).strict(),A.object({category:A.literal("attempt_nonce"),nonce:fz}).strict(),A.object({category:A.literal("runtime"),ref:H("runtime")}).strict(),A.object({category:A.literal("writer_generation"),ref:H("writer_generation")}).strict(),A.object({category:A.literal("writer_lease"),ref:H("writer_lease")}).strict(),A.object({category:A.literal("writer_fence"),ref:H("writer_fence")}).strict(),A.object({category:A.literal("provider_profile"),ref:H("provider_profile")}).strict(),A.object({category:A.literal("provider_route"),ref:H("provider_route")}).strict(),A.object({category:A.literal("replay_cursor"),ref:H("replay_cursor")}).strict(),A.object({category:A.literal("replay_prefix"),sequence:A.number().int().safe().nonnegative(),prefixDigest:O0}).strict(),A.object({category:A.literal("repair_state"),ref:H("repair_cycle")}).strict(),A.object({category:A.literal("latest_repair"),ref:H("repair_cycle")}).strict(),A.object({category:A.literal("handoff"),ref:H("handoff")}).strict(),A.object({category:A.literal("recovery"),ref:H("recovery")}).strict(),A.object({category:A.literal("merge_guard"),ref:H("merge_guard")}).strict(),A.object({category:A.literal("cleanup_eligibility"),ref:H("cleanup_eligibility")}).strict(),A.object({category:A.literal("rollback_plan"),ref:H("rollback_plan")}).strict(),A.object({category:A.literal("terminal_disposition"),ref:H("terminal_disposition")}).strict(),A.object({category:A.literal("equality_proof"),ref:H("proof_bundle"),base:B_,head:B_}).strict(),A.object({category:A.literal("ci_proof"),ref:H("proof_bundle"),base:B_,head:B_}).strict(),A.object({category:A.literal("review_proof"),ref:H("proof_bundle"),base:B_,head:B_}).strict(),A.object({category:A.literal("review_record"),ref:H("review"),base:B_,head:B_}).strict(),A.object({category:A.literal("review_run"),ref:H("review_run"),base:B_,head:B_}).strict(),A.object({category:A.literal("provider_guard_receipt"),ref:H("merge_guard_receipt"),base:B_,head:B_}).strict()]);function Qv(_){return[{category:"projection_id",projectionId:_.id},{category:"work_run",ref:_.workRunRef},{category:"attempt",ref:_.attempt.ref},{category:"admission",ref:_.attempt.admissionRef},{category:"worker_actor",ref:_.attempt.workerActorRef},{category:"worker_assignment",ref:_.attempt.workerRef},{category:"attempt_nonce",nonce:_.attempt.nonce},{category:"runtime",ref:_.attempt.runtimeRef},{category:"writer_generation",ref:_.attempt.writerGenerationRef},{category:"writer_lease",ref:_.attempt.writerLeaseRef},{category:"writer_fence",ref:_.attempt.writerFenceRef},{category:"provider_profile",ref:_.attempt.providerProfileRef},{category:"provider_route",ref:_.attempt.providerRouteRef},{category:"replay_cursor",ref:_.events.replayCursorRef},{category:"replay_prefix",sequence:_.events.sequence,prefixDigest:_.events.prefixDigest},{category:"repair_state",ref:_.repair.ref},..._.repair.latestRepairRef?[{category:"latest_repair",ref:_.repair.latestRepairRef}]:[],..._.handoff?[{category:"handoff",ref:_.handoff.ref}]:[],..._.recovery?[{category:"recovery",ref:_.recovery.ref}]:[],..._.exactHead?[{category:"equality_proof",ref:_.exactHead.equalityProofRef,base:_.exactHead.expectedBase,head:_.exactHead.localHead},..._.exactHead.ciProofBundleRefs.map(($)=>({category:"ci_proof",ref:$,base:_.exactHead.expectedBase,head:_.exactHead.localHead}))]:[],..._.reviews.flatMap(($)=>[{category:"review_proof",ref:$.proofBundleRef,base:$.base,head:$.head},{category:"review_record",ref:$.ref,base:$.base,head:$.head},{category:"review_run",ref:$.reviewRunRef,base:$.base,head:$.head}]),..._.merge?[{category:"merge_guard",ref:_.merge.guard.ref},{category:"provider_guard_receipt",ref:_.merge.guard.providerGuardReceiptRef,base:_.merge.guard.expectedBase,head:_.merge.guard.expectedHead}]:[],..._.cleanup?[{category:"cleanup_eligibility",ref:_.cleanup.eligibility.ref}]:[],..._.rollback?[{category:"rollback_plan",ref:_.rollback.plan.ref}]:[],..._.terminalDispositionRef?[{category:"terminal_disposition",ref:_.terminalDispositionRef}]:[]]}function Gv(_,$){if(_.category!==$.category)return!1;if(_.category==="projection_id"&&$.category==="projection_id")return _.projectionId===$.projectionId;if(_.category==="attempt_nonce"&&$.category==="attempt_nonce")return _.nonce===$.nonce;if(_.category==="replay_prefix"&&$.category==="replay_prefix")return _.sequence===$.sequence&&_.prefixDigest===$.prefixDigest;if(!("ref"in _)||!("ref"in $))return!1;return M_(_.ref,$.ref)&&(("head"in _)&&("head"in $)&&("base"in _)&&("base"in $)&&j$(_.base,$.base)&&j$(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var Tv="hasna.task_to_pr_adapter_extension.",Vv=A.object({mode:A.enum(["local","cloud"]),schema:kz,ref:H("adapter_extension"),digest:O0}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(Tv))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),Bv=A.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),BQ=new Set(["admitted","running","handed_off"]),FQ=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),Fv={admitted:new Set(["absent","denied:none","revoked:none"]),running:new Set(["absent","denied:none","revoked:none"]),handed_off:new Set(["absent","denied:none","revoked:none"]),reviewing:new Set(["absent","denied:none","revoked:none"]),repairing:new Set(["absent","denied:none","revoked:none"]),merge_ready:new Set(["eligible:none"]),merged:new Set(["consumed:merged"]),closed_unmerged:new Set(["consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),failed:new Set(["absent","revoked:none"]),blocked:new Set(["absent","revoked:none"]),cancelled:new Set(["absent","revoked:none"]),recovering:new Set(["absent","denied:none","revoked:none"]),cleanup_complete:new Set(["absent","revoked:none","consumed:merged","consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),rolled_back:new Set(["consumed:merged"])},Kv=A.object({schema:A.literal(h.taskToPrProjection),id:aQ,createdAt:H_,canonicalizationVersion:A.union([A.literal(1),A.literal(2)]),identityDigest:O0,frozenScopeDigest:O0,state:Bv,workRunRef:H("work_run"),rootRequestRef:H("root_request"),prGroupRef:H("pr_group"),leafTaskRef:H("leaf_task"),attempt:Uv,repository:Dv,events:jv,openLoopsInvocationRef:H("openloops_invocation").optional(),pullRequestRef:H("pull_request").optional(),exactHead:Iv.optional(),handoff:Nv.optional(),reviews:A.array(Ev).default([]),repair:Av,merge:Lv.optional(),recovery:Sv.optional(),cancellation:Pv.optional(),cleanup:Xv.optional(),rollback:Yv.optional(),terminalDispositionRef:H("terminal_disposition").optional(),provenanceLedger:A.array(Rv),adapterExtensions:A.array(Vv).default([]),evidenceRefs:A.array(Z$).default([])}).strict().superRefine((_,$)=>{let U=_.canonicalizationVersion===1?VQ({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):VQ({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==U)$.addIssue({code:A.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let j=new Set,D=new Set,N=new Set,E=new Set,I=new Set,W=new Set;for(let[T,F]of _.provenanceLedger.entries()){if("ref"in F){if(j.has(F.ref.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(j.add(F.ref.id),D.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(F.ref.digest);continue}if(F.category==="projection_id"){if(N.has(F.projectionId))$.addIssue({code:A.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});N.add(F.projectionId);continue}if(F.category==="attempt_nonce"){if(E.has(F.nonce))$.addIssue({code:A.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});E.add(F.nonce);continue}if(I.has(F.prefixDigest))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(I.add(F.prefixDigest),W.has(F.sequence))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});W.add(F.sequence)}for(let T of Qv(_))if(!_.provenanceLedger.some((F)=>Gv(F,T)))$.addIssue({code:A.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let J=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],L=(T,F,g,q)=>{let x=new Set(F.map((D_)=>D_.role)),l=new Set;for(let[D_,E_]of T.entries()){if(!x.has(E_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} cannot preserve an unrecognized ${E_.role} role`,path:[...g,D_]});if(l.has(E_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve exactly one canonical ref per role`,path:[...g,D_]});l.add(E_.role)}if(T.length!==F.length)$.addIssue({code:A.ZodIssueCode.custom,message:`${q} preservation refs must exactly equal the required canonical role set`,path:g});for(let D_ of F)if(!T.some((E_)=>M_(E_,D_)))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve ${D_.role}`,path:g})};if(_.handoff&&!M_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next generation must be the current attempt writer generation",path:["handoff","nextWriterGenerationRef"]});if(_.handoff&&!M_(_.handoff.nextAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)gU(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!M_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});gU(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),gU(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),L(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...J],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!M_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)L(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...J],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the handoff and recovery snapshot",path:["recovery"]});if(_.cleanup&&!M_(_.cleanup.eligibility.eventCursorRef,_.events.replayCursorRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the current canonical replay cursor",path:["cleanup","eligibility","eventCursorRef"]});if(_.cleanup&&(!_.terminalDispositionRef||!M_(_.cleanup.eligibility.terminalDispositionRef,_.terminalDispositionRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact durable terminal owner fact",path:["cleanup","eligibility","terminalDispositionRef"]});if(_.cleanup&&!M_(_.cleanup.eligibility.writerLeaseRef,_.attempt.writerLeaseRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact writer lease being revoked",path:["cleanup","eligibility","writerLeaseRef"]});if(_.cleanup&&!M_(_.cleanup.eligibility.targetWorktreeRef,_.repository.worktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!M_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,F]of _.reviews.entries())if(!M_(F.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!M_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard must bind the canonical pull request ref",path:["merge","guard","pullRequestRef"]});if(_.merge?.outcome&&!M_(_.merge.outcome.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the canonical pull request ref",path:["merge","outcome","pullRequestRef"]})}else if(_.exactHead||_.reviews.length>0||_.merge)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!j$(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!j$(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head expected base must equal the canonical repository base",path:["exactHead","expectedBase"]});if(_.exactHead&&!M_(_.exactHead.remoteBranchRef,_.repository.branchRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head remote branch ref must equal the canonical repository branch ref",path:["exactHead","remoteBranchRef"]});if(_.exactHead&&Date.parse(_.exactHead.verifiedAt)<Date.parse(_.createdAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head verification cannot precede the projection timestamp",path:["exactHead","verifiedAt"]});if(_.reviews.length>0&&!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews require local/remote/provider exact-head proof",path:["exactHead"]});if(_.exactHead){let T=[{ref:_.exactHead.equalityProofRef,path:["exactHead","equalityProofRef"]},..._.exactHead.ciProofBundleRefs.map((q,x)=>({ref:q,path:["exactHead","ciProofBundleRefs",x]})),..._.reviews.map((q,x)=>({ref:q.proofBundleRef,path:["reviews",x,"proofBundleRef"]}))],F=new Set,g=new Set;for(let q of T){let x=rI(q.ref);if(F.has(x))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:q.path});if(F.add(x),g.has(q.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:q.path});g.add(q.ref.digest)}}let S=new Set,X=new Set,z=new Set,R=new Set,P=new Set,O=new Set,Y=new Set,Q=new Set;for(let[T,F]of _.reviews.entries()){if(!j$(F.base,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!j$(F.head,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[q,x,l]of[[F.ref.id,S,"ref"],[F.reviewerRef.id,z,"reviewerRef"],[F.reviewRunRef.id,P,"reviewRunRef"]]){if(x.has(q))$.addIssue({code:A.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,l]});x.add(q)}if(X.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(X.add(F.ref.digest),R.has(F.reviewerRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(R.add(F.reviewerRef.digest),O.has(F.reviewRunRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});O.add(F.reviewRunRef.digest);let g=rI(F.proofBundleRef);if(Y.has(g))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(Y.add(g),Q.has(F.proofBundleRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(Q.add(F.proofBundleRef.digest),F.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(F.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(F.reviewedAt)<Date.parse(_.exactHead.verifiedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews cannot precede exact-head verification",path:["reviews",T,"reviewedAt"]})}if(_.merge){if(!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge state requires local/remote/provider exact-head proof",path:["exactHead"]});if(!j$(_.merge.guard.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard expected base must equal the exact canonical pull-request base",path:["merge","guard","expectedBase"]});if(!j$(_.merge.guard.expectedHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard expected head must equal the exact canonical branch head",path:["merge","guard","expectedHead"]});if(_.exactHead&&Date.parse(_.merge.guard.evaluatedAt)<Date.parse(_.exactHead.verifiedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guards cannot precede exact-head verification",path:["merge","guard","evaluatedAt"]});if(_.reviews.some((T)=>Date.parse(_.merge.guard.evaluatedAt)<Date.parse(T.reviewedAt)))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guards cannot precede their bound reviews",path:["merge","guard","evaluatedAt"]});if(_.merge.guard.operatorRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and merge operator identities must resolve to distinct canonical digests",path:["merge","guard","operatorRef"]});if(_.merge.guard.operatorRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and merge-operator run must resolve to distinct canonical digests",path:["merge","guard","operatorRunRef"]});for(let[T,F]of _.reviews.entries()){if(_.merge.guard.operatorRef.digest===F.reviewerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer and merge operator identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(_.merge.guard.operatorRunRef.digest===F.reviewRunRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge-operator runs must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]})}if(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed"){if(_.reviews.length===0||_.reviews.some((T)=>T.verdict!=="approved"))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards require at least one review and all reviews approved",path:["merge","guard","decision"]});if(_.merge.guard.reviewRefs.length!==_.reviews.length||_.merge.guard.reviewRefs.some((T)=>!_.reviews.some((F)=>M_(T,F.ref))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guard review refs must exactly equal the projected approved review refs as a canonical set",path:["merge","guard","reviewRefs"]});for(let T of _.reviews)if(!_.merge.guard.proofBundleRefs.some((F)=>M_(F,T.proofBundleRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>M_(T,_.exactHead.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind the exact-head equality proof",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&_.exactHead.ciProofBundleRefs.some((T)=>!_.merge.guard.proofBundleRefs.some((F)=>M_(F,T))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact-head CI proof",path:["merge","guard","proofBundleRefs"]})}}if(_.merge?.outcome){if(!M_(_.merge.outcome.guardRef,_.merge.guard.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!j$(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!j$(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:A.ZodIssueCode.custom,message:"Every merge outcome requires an explicitly consumed merge guard",path:["merge","guard","decision"]});if(Date.parse(_.merge.outcome.finishedAt)<Date.parse(_.merge.guard.evaluatedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcomes cannot precede guard evaluation",path:["merge","outcome","finishedAt"]})}if(_.cleanup){let T=_.merge?.outcome?.finishedAt??_.createdAt;if(Date.parse(_.cleanup.eligibility.evaluatedAt)<Date.parse(T))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility cannot precede the terminal merge outcome or projection",path:["cleanup","eligibility","evaluatedAt"]});if(_.cleanup.outcome&&Date.parse(_.cleanup.outcome.finishedAt)<Date.parse(_.cleanup.eligibility.evaluatedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes cannot precede cleanup eligibility",path:["cleanup","outcome","finishedAt"]})}if(_.rollback?.outcome&&_.merge?.outcome&&Date.parse(_.rollback.outcome.finishedAt)<Date.parse(_.merge.outcome.finishedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes cannot precede the merge outcome they remediate",path:["rollback","outcome","finishedAt"]});if(_.rollback){let T=_.merge?.outcome?.finishedAt??_.createdAt;if(Date.parse(_.rollback.plan.createdAt)<Date.parse(T))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback plans cannot precede the terminal merge outcome or projection",path:["rollback","plan","createdAt"]})}if(_.state==="handed_off"&&!_.handoff)$.addIssue({code:A.ZodIssueCode.custom,message:"Handed-off projections require a handoff ref",path:["handoff"]});if(BQ.has(_.state)&&_.reviews.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((BQ.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let B=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!Fv[_.state].has(B))$.addIssue({code:A.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${B}`,path:["merge"]});if(FQ.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!FQ.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Repairing projections require a non-zero repair cycle",path:["repair","cycle"]});if(_.merge&&(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed")&&!M_(_.attempt.admissionWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge eligibility requires admission from the current writer generation",path:["attempt","admissionWriterGenerationRef"]});if(_.state==="merge_ready"&&_.merge?.guard.decision!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:A.ZodIssueCode.custom,message:"Merged projections require a merged immutable outcome",path:["merge"]});if(_.state==="closed_unmerged"&&!_.merge?.outcome?.status.match(/^(closed_unmerged|refused|head_drift|base_drift)$/))$.addIssue({code:A.ZodIssueCode.custom,message:"Closed-unmerged projections require a non-merged terminal outcome",path:["merge"]});if(_.state==="cleanup_complete"&&(!_.cleanup?.outcome||!["deleted","preserved","skipped"].includes(_.cleanup.outcome.status)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed and blocked projections require redacted evidence refs",path:["evidenceRefs"]});if(["admitted","running","handed_off","reviewing","repairing","merge_ready","recovering"].includes(_.state)&&(_.merge?.outcome||_.cancellation||_.cleanup?.outcome||_.rollback?.outcome))$.addIssue({code:A.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let G=new Set;for(let[T,F]of _.adapterExtensions.entries()){let g=`${F.mode}:${F.schema}`;if(G.has(g))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});G.add(g)}});var gv=A.object({id:A.string().min(1),at:H_,kind:A.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:A.string().min(1),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([]),costEstimate:l1.optional()}).strict(),Mv=O_(h.agentTrajectory).extend({actor:N6,workRunRef:__.optional(),events:A.array(gv).default([]),outcome:A.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:__.optional()}).strict(),Zv="v1",Hv=A.enum(["library","cli-with-store","service","saas"]),qv=["user-hosted","hasna-saas"],kv=A.enum(qv),Cv=["api","sdk","mcp","cli"],sQ=A.enum(Cv),bv=A.enum(["supported","deferred","unsupported"]),wv=A.enum(["none","local-only","api-key","session","service-token","custom"]),Kz=A.object({method:A.enum(["GET","POST","PUT","PATCH","DELETE"]),path:A.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:A.boolean().default(!1),description:A.string().min(1).optional()}).strict(),vv=A.object({id:A.string().min(1),kind:A.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),evidenceRef:F_.optional(),status:A.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),fv=A.object({name:A.string().min(1),kind:sQ.optional(),status:bv,bin:A.string().min(1).optional(),mcpBin:A.string().min(1).optional(),authMode:wv,health:Kz.optional(),readiness:Kz.optional(),version:Kz.optional(),apiBasePath:A.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:A.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:A.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:A.string().min(1).optional(),readinessGates:A.array(vv).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),xv=["sqlite","postgres"],_G=A.enum(xv),$G=["sqlite","postgres"],yv=A.enum($G),qz=["postgres"],uv=A.object({kind:sQ,reason:A.string().trim().min(1)}).strict(),uz=500,hz=200,cI=(_)=>A.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),hv=["domain","host","ip","email"],rv=A.object({kind:A.enum(hv),reason:cI(uz),reviewedBy:cI(hz),expiresAt:H_}).strict(),cv=A.object({engine:A.enum(qz),reason:cI(uz),reviewedBy:cI(hz).optional(),expiresAt:H_.optional()}).strict();function mv(_){if(_.class!=="cli-with-store")return`storage waivers are not permitted for class ${_.class}`;if(_.bins.includes(`${_.name}-serve`))return`storage waivers are not permitted for a service-capable cli-with-store repo shipping ${_.name}-serve`;if(_.storageMode==="postgres")return"storage waivers are not permitted while storage.mode is postgres, which reads and writes PostgreSQL directly";if(_.hosting.includes("hasna-saas"))return"storage waivers are not permitted for a repo declaring the hasna-saas product story";return null}var nv=A.object({conformance:A.object({waivedSurfaces:A.array(uv).default([]),waiverProfile:A.literal("non-node-monorepo").optional(),waivedStorageEngines:A.array(cv).default([]),waivedAssetInventories:A.array(rv).default([])}).catchall(A.unknown()).optional(),release:A.object({artifactScan:A.object({script:A.string().trim().min(1)}).strict().optional()}).catchall(A.unknown()).optional()}).catchall(A.unknown()),dv=A.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),lv=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function iv(_){return lv.map(($)=>`${_}${$}`)}function KQ(_){return`hasna/oss/${_}/database-url`}var tv=A.object({mode:_G,engines:A.array(yv).min(1).optional(),envPrefix:A.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:A.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:A.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:A.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:A.object({envVar:A.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:A.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA_<NAME>_DATABASE_URL contract",path:["envPrefix"]})}),UG=A.enum(["0600"]),DG=A.enum(["0700"]),jG=A.enum([".hasna",".codewith"]),ov=A.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),BU=M$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),pv=A.object({id:A.string().min(1),source:A.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:A.string().min(1).optional(),column:A.string().min(1).optional(),description:A.string().min(1),required:A.boolean().default(!0)}).strict(),av=A.object({safeWhen:A.enum(["exclusive_access","offline_only","never"]),operations:A.array(A.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),ev=A.object({id:A.string().min(1),description:A.string().min(1),ttlDays:A.number().int().nonnegative().optional(),artifactClasses:A.array(ov).min(1),allowlistGlobs:A.array(BU).min(1),activeRecordExclusions:A.array(pv).default([]),sqliteMaintenance:av.optional()}).strict(),sv=A.object({storeId:A.string().regex(/^[a-z][a-z0-9-]*$/),packageName:A.string().min(1),displayName:A.string().min(1),root:jG,relativePath:BU,directoryMode:DG.default("0700"),fileMode:UG.default("0600"),sqliteDatabaseGlobs:A.array(BU).default([]),sensitiveFileGlobs:A.array(BU).default([]),backupGlobs:A.array(BU).default([]),exportGlobs:A.array(BU).default([]),retentionAdapters:A.array(ev).default([]),notes:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:A.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let U=new Set;for(let[j,D]of _.retentionAdapters.entries()){if(U.has(D.id))$.addIssue({code:A.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",j,"id"]});U.add(D.id)}}),NG=O_(h.secureLocalStorePolicy).extend({version:A.string().min(1),scope:A.array(jG).min(1),defaults:A.object({directoryMode:DG.default("0700"),fileMode:UG.default("0600"),dryRunDefault:A.literal(!0),requireExplicitApply:A.literal(!0),includeSqliteSidecars:A.literal(!0),redactedEvidenceOnly:A.literal(!0)}).strict(),stores:A.array(sv).min(1),lifecycle:A.object({retentionDryRunDefault:A.literal(!0),requireActiveRecordExclusionProof:A.literal(!0),requireArtifactAllowlist:A.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:A.literal(!0)}).strict(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set;for(let[j,D]of _.stores.entries()){if(U.has(D.storeId))$.addIssue({code:A.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",j,"storeId"]});if(U.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:A.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",j,"root"]})}}),_f=A.object({$schema:A.string().min(1).optional(),schema:A.literal(h.serviceContract),name:dv,class:Hv,contractVersion:A.literal(Zv),kitVersion:A.string().min(1),description:A.string().min(1).optional(),bins:A.array(A.string().min(1)).default([]),storage:tv.optional(),hosting:A.array(kv).min(1).default(["user-hosted"]),serviceSurfaces:A.array(fv).default([]),metadata:nv.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:A.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let U=new Set(iv(_.name)),j=new Set;for(let[J,L]of _.bins.entries()){if(j.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",J]});if(j.add(L),!U.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:`Bin "${L}" 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:A.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${J}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==KQ(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${KQ(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:A.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let J=new Set(_.storage.engines),L=_.metadata?.conformance?.waivedStorageEngines??[],S=mv({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),X=new Set(S?[]:L.map((R)=>R.engine)),z=$G.filter((R)=>!J.has(R)&&!X.has(R));if(z.length>0){let R=S&&L.length>0?`; declared waiver ignored: ${S}`:"";$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${z.join(", ")}${R}`,path:["storage","engines"]})}}}if(!j.has(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:A.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[J,L]of _.serviceSurfaces.entries()){if(L.bin&&!j.has(L.bin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface bin "${L.bin}" must be declared in bins`,path:["serviceSurfaces",J,"bin"]});if(L.mcpBin&&!j.has(L.mcpBin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface MCP bin "${L.mcpBin}" must be declared in bins`,path:["serviceSurfaces",J,"mcpBin"]})}let N=_.metadata?.conformance?.waivedSurfaces??[],E=new Set;for(let[J,L]of N.entries()){if(E.has(L.kind))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${L.kind}`,path:["metadata","conformance","waivedSurfaces",J,"kind"]});E.add(L.kind)}let I=_.metadata?.conformance?.waivedStorageEngines??[],W=new Set;for(let[J,L]of I.entries()){if(W.has(L.engine))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${L.engine}`,path:["metadata","conformance","waivedStorageEngines",J,"engine"]});W.add(L.engine)}}),tl=A.object({status:A.enum(["ok","degraded","unavailable"]),version:A.string().min(1),mode:_G}).strict(),ol=A.object({ready:A.boolean(),reason:A.string().min(1).optional()}).strict(),pl=A.object({version:A.string().min(1)}).strict(),$f=A.enum(["info","notice","breaking","critical"]),Uf=A.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>)"),Df=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],jf=A.enum(Df);var Nf=A.enum(["fleet","package","machine"]),EG=O_(h.commsEventEnvelope).extend({type:Uf,severity:$f,scope:Nf,summary:A.string().min(1).optional(),source:N6.optional(),affected_packages:A.array(a).default([]),affected_machines:A.array(a).default([]),action_required:A.boolean().default(!1),ack_by:H_.optional(),dedupe_key:a,resourceRefs:A.array(__).default([]),evidenceRefs:A.array(F_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Ef=A.enum(["fleet","package","product","loop-lane","initiative","personal"]),If=A.enum(["quiet","work","firehose"]),Af=a.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>)"),Wf=O_(h.commsChannelMetadata).extend({class:Ef,noise:If.optional(),owner:a.optional(),until:Af.optional(),successor:a.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),gQ={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}},Jf=O_(h.commsMessageMetadata).extend({tag:jf,envelope:EG}).strict().superRefine((_,$)=>{let U=gQ[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[j,D]of Object.entries(gQ))if(D.requiredEventType===_.envelope.type&&_.tag!==j)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${j}] tag`,path:["tag"]})});var Lf={[h.actorRef]:fb,[h.resourceRef]:xb,[h.evidenceRef]:ub,[h.workRun]:ow,[h.taskToPrProjection]:Kv,[h.decisionEnvelope]:rQ,[h.costEstimate]:l1,[h.capabilityCard]:rb,[h.providerLiveModeStandard]:ib,[h.contextPack]:cQ,[h.integrationRef]:mQ,[h.projectManifest]:eb,[h.projectPanel]:nQ,[h.projectSnapshot]:Aw,[h.renderManifest]:Uw,[h.agentTrajectory]:Mv,[h.validationPlan]:Ww,[h.proofBundle]:tw,[h.scaffoldManifest]:Xw,[h.scaffoldInstallRecord]:Rw,[h.appCloudManifest]:iQ,[h.noCloudEvidencePack]:lw,[h.secureLocalStorePolicy]:NG,[h.serviceContract]:_f,[h.commsEventEnvelope]:EG,[h.commsChannelMetadata]:Wf,[h.commsMessageMetadata]:Jf,[h.app]:gw,[h.release]:Zw,[h.rolloutRecord]:kw,[h.announcement]:vw,[h.audience]:rw};class IG extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function AG(_,$){let j=Lf[_].safeParse($);if(!j.success)throw new IG(_,j.error.issues);return j.data}var al=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var rz=[{pattern:"@hasna/cloud",kind:"module",message:"Shared @hasna/cloud runtime reference is forbidden"},{pattern:"open-cloud",kind:"module",message:"Shared open-cloud runtime reference is forbidden"},{pattern:"cloud-mcp",kind:"module",message:"Legacy cloud-mcp runtime surface is forbidden"},{pattern:"registerCloudTools",kind:"symbol",message:"Legacy registerCloudTools runtime surface is forbidden"},{pattern:"registerCloudCommands",kind:"symbol",message:"Legacy registerCloudCommands runtime surface is forbidden"},{pattern:".hasna/cloud",kind:"config",checkKind:"runtime_config",message:"Legacy .hasna/cloud runtime config is forbidden"},{pattern:"HASNA_CLOUD_",kind:"config",message:"Shared HASNA_CLOUD_* runtime config is forbidden"},{pattern:"HASNA_RDS_PASSWORD",kind:"config",message:"Legacy shared RDS credential config is forbidden"}],el=rz.filter((_)=>("checkKind"in _)),Sf=rz.filter((_)=>_.kind==="module"),sl=[...new Set([...yI,...Sf.map((_)=>_.pattern)])],_i=rz.filter((_)=>_.kind==="config");var MQ="^[^\\u0000-\\u001f\\u007f]*$",$i={$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. Hosting story, product surfaces, and storage capabilities are separate declarations; the storage backend (sqlite | postgres) is the only runtime switch.",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],allOf:[{if:{required:["class"],properties:{class:{const:"saas"}}},then:{required:["storage"],properties:{storage:{required:["mode","envPrefix"],properties:{mode:{const:"postgres"}}}}}}],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:h.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."},hosting:{type:"array",items:{enum:["user-hosted","hasna-saas"]},minItems:1,uniqueItems:!0,description:"Customer-facing product stories. Public OSS cores include user-hosted; add hasna-saas only when a managed control plane exists."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode"],allOf:[{if:{required:["status"],properties:{status:{const:"supported"},kind:{const:"api"}}},then:{required:["bin","health","readiness","version"]}}],properties:{name:{type:"string",minLength:1},kind:{enum:["api","sdk","mcp","cli"]},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"]},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},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:{const:"GET"},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:{const:"GET"},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_./:-]*$"},exportSubpath:{type:"string",pattern:"^\\.(?:\\/[A-Za-z0-9_.-]+(?:\\/[A-Za-z0-9_.-]+)*)?$",description:"SDK package export key such as . or ./sdk."},generatedFrom:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$",description:"OpenAPI path used to generate the SDK."},clientClassName:{type:"string",pattern:"^[A-Za-z_$][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 API, SDK, MCP, and CLI product surfaces. Legacy entries without kind remain parseable; new manifests declare kind explicitly."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["sqlite","postgres"],description:"Active data backend. sqlite|postgres ONLY \u2014 the single runtime switch."},engines:{type:"array",items:{enum:["sqlite","postgres"]},minItems:1,uniqueItems:!0,description:"Supported storage engines; capability metadata independent of the active backend."},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:"Legacy/private-tier database secret ref. Public conformance rejects this field."},sqlitePath:{type:"string",pattern:"\\.db$",description:"Local sqlite path (~/.hasna/<name>/<name>.db)."},pgTestGate:{type:"object",additionalProperties:!1,required:["envVar","command"],properties:{envVar:{type:"string",pattern:"^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$"},command:{type:"string",minLength:1}},description:"Environment-gated live PostgreSQL test command."}}},metadata:{type:"object",additionalProperties:!0,properties:{conformance:{type:"object",additionalProperties:!0,properties:{waiverProfile:{const:"non-node-monorepo",description:"Explicit surface-waiver eligibility for exceptional non-Node monorepos. Libraries are eligible for API/MCP waivers without this profile."},waivedSurfaces:{type:"array",uniqueItems:!0,items:{type:"object",additionalProperties:!1,required:["kind","reason"],properties:{kind:{enum:["api","sdk","mcp","cli"]},reason:{type:"string",minLength:1}}}},waivedStorageEngines:{type:"array",uniqueItems:!0,maxItems:qz.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...qz]},reason:{type:"string",minLength:1,maxLength:uz,allOf:[{pattern:"\\S"},{pattern:MQ}]},reviewedBy:{type:"string",minLength:1,maxLength:hz,allOf:[{pattern:"\\S"},{pattern:MQ}]},expiresAt:{type:"string",format:"date-time"}}},description:"Explicit storage-engine exceptions, at most one per engine. Only a CLI-only cli-with-store repo (no <name>-serve bin, storage.mode sqlite, no hasna-saas story) may waive postgres; sqlite is never waivable, expiresAt is a UTC RFC 3339 timestamp, and conformance stops honouring a waiver once it has passed."}}}}}}};var Pf="2026-07-06";function U6(_,$,U,j,D,N=[],E){return{id:_,description:$,ttlDays:U,artifactClasses:j,allowlistGlobs:D,activeRecordExclusions:N.map((I)=>({...I,required:I.required??!0})),sqliteMaintenance:E}}var Ui=NG.parse({schema:h.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Pf,scope:[".hasna",".codewith"],defaults:{directoryMode:"0700",fileMode:"0600",dryRunDefault:!0,requireExplicitApply:!0,includeSqliteSidecars:!0,redactedEvidenceOnly:!0},lifecycle:{retentionDryRunDefault:!0,requireActiveRecordExclusionProof:!0,requireArtifactAllowlist:!0,sqliteMaintenanceRequiresExclusiveAccess:!0},stores:[{storeId:"codewith",packageName:"codewith",displayName:"Codewith native state",root:".codewith",relativePath:".",sqliteDatabaseGlobs:["logs_*.sqlite","state_*.sqlite","goals_*.sqlite"],sensitiveFileGlobs:["sessions/**/*.jsonl","shell_snapshots/**/*","logs*.sqlite","state*.sqlite","goals*.sqlite"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("codewith-session-snapshots","Codewith sessions, shell snapshots, logs, monitor output, mailbox payloads, and scheduler state need package-owned redaction before retention applies.",30,["session","snapshot","log"],["sessions/**/*.jsonl","shell_snapshots/**/*","logs/**/*"],[{id:"codewith-active-session",source:"package_adapter",description:"Exclude currently active sessions, leased schedules, monitors, pending interactions, and active goal rows."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})],notes:["Includes native .codewith DBs and transcript-like artifacts; redaction-before-persistence remains package-owned."]},{storeId:"todos",packageName:"@hasna/todos",displayName:"Todos",root:".hasna",relativePath:"todos",sqliteDatabaseGlobs:["todos.db"],sensitiveFileGlobs:["todos.db","todos.db-wal","todos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak","*.backup"],exportGlobs:["exports/**/*","*.jsonl","*.csv"],retentionAdapters:[U6("todos-exports-backups","Todos backups and exports are deleted only after package redaction and active task/evidence references are excluded.",14,["backup","export"],["backups/**/*","exports/**/*"],[{id:"todos-active-evidence",source:"sqlite",table:"task_files",column:"path",description:"Exclude files still referenced by active tasks, verification evidence, task comments, or handoff records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"conversations",packageName:"@hasna/conversations",displayName:"Conversations",root:".hasna",relativePath:"conversations",sqliteDatabaseGlobs:["messages.db"],sensitiveFileGlobs:["messages.db","messages.db-wal","messages.db-shm","exports/**/*","attachments/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*","*.json","*.csv"],retentionAdapters:[U6("conversations-exports-attachments","Conversation exports and attachments require message-id redaction and active attachment reference checks before deletion.",14,["export","backup"],["exports/**/*","backups/**/*","attachments/**/*"],[{id:"conversations-active-attachments",source:"sqlite",table:"messages",column:"attachments",description:"Exclude attachments still referenced by retained messages or audited redaction records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"mementos",packageName:"@hasna/mementos",displayName:"Mementos",root:".hasna",relativePath:"mementos",sqliteDatabaseGlobs:["mementos.db"],sensitiveFileGlobs:["mementos.db","mementos.db-wal","mementos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("mementos-audit-search-history","Mementos retention must preserve active memory versions while compacting audit/search surfaces through package-owned adapters.",30,["backup","export","log"],["backups/**/*","exports/**/*","audit/**/*"],[{id:"mementos-active-memory-versions",source:"sqlite",table:"memory_versions",column:"memory_id",description:"Exclude current memory versions and audit entries required for provenance."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"knowledge",packageName:"@hasna/knowledge",displayName:"Knowledge",root:".hasna",relativePath:"knowledge",sqliteDatabaseGlobs:["knowledge.db"],sensitiveFileGlobs:["knowledge.db","knowledge.db-wal","knowledge.db-shm","db.json","migration-exports/**/*","*.bak"],backupGlobs:["*.bak","backups/**/*","*.pre-cloud-*"],exportGlobs:["migration-exports/**/*","exports/**/*","*.jsonl"],retentionAdapters:[U6("knowledge-migrations-exports","Knowledge migration exports and pre-cloud backups require replacement, encryption, or redaction before retention deletion.",14,["backup","export"],["migration-exports/**/*","exports/**/*","*.bak","*.pre-cloud-*"],[{id:"knowledge-current-catalog",source:"manifest",description:"Exclude files referenced by the active catalog or migration ledger."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"projects",packageName:"@hasna/projects",displayName:"Projects",root:".hasna",relativePath:"projects",sqliteDatabaseGlobs:["projects.db","data/*/project.db"],sensitiveFileGlobs:["projects.db","projects.db-wal","projects.db-shm","data/*/project.db","data/*/project.db-wal","data/*/project.db-shm","reports/**/*"],backupGlobs:["backups/**/*","data/*/backups/**/*"],exportGlobs:["reports/**/*","exports/**/*"],retentionAdapters:[U6("projects-reports-workspaces","Project reports, dashboards, workspaces, and per-project DBs need active workspace/location references before cleanup.",30,["backup","export","report","tmp"],["backups/**/*","reports/**/*","workspaces/**/*","data/*/backups/**/*"],[{id:"projects-active-workspaces",source:"sqlite",table:"workspaces",column:"primary_path",description:"Exclude active workspace paths, locations, linked reports, and project store artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"browser",packageName:"@hasna/browser",displayName:"Browser",root:".hasna",relativePath:"browser",sqliteDatabaseGlobs:["browser.db"],sensitiveFileGlobs:["browser.db","browser.db-wal","browser.db-shm","profiles/**/cookies.json","states/**/*.json","auth/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*","traces/**/*","har/**/*"],retentionAdapters:[U6("browser-auth-traces","Browser state, trace, HAR, and auth artifacts require session invalidation or redaction before deletion.",7,["backup","export","session","snapshot"],["profiles/**/*","states/**/*","traces/**/*","har/**/*","exports/**/*"],[{id:"browser-active-profiles",source:"sqlite",table:"sessions",column:"profile_path",description:"Exclude profiles, cookies, and storage state used by active browser sessions."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"terminal",packageName:"@hasna/terminal",displayName:"Terminal",root:".hasna",relativePath:"terminal",sqliteDatabaseGlobs:["sessions.db"],sensitiveFileGlobs:["sessions.db","sessions.db-wal","sessions.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("terminal-sessions","Terminal sessions and interactions need active session exclusion plus command-output redaction before retention.",30,["backup","export","session","log"],["backups/**/*","exports/**/*","sessions/**/*"],[{id:"terminal-active-sessions",source:"sqlite",table:"sessions",column:"id",description:"Exclude active terminal session records and any linked interaction artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"logs",packageName:"@hasna/logs",displayName:"Logs",root:".hasna",relativePath:"logs",sqliteDatabaseGlobs:["logs.db"],sensitiveFileGlobs:["logs.db","logs.db-wal","logs.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("logs-retention","Logs require redaction before compaction and must preserve active incident/evidence references.",14,["backup","export","log"],["backups/**/*","exports/**/*","*.log","logs/**/*"],[{id:"logs-active-evidence",source:"sqlite",table:"logs",column:"id",description:"Exclude log rows or files linked to active incidents, tasks, or proof bundles."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"loops",packageName:"@hasna/loops",displayName:"OpenLoops",root:".hasna",relativePath:"loops",sqliteDatabaseGlobs:["loops.db","state.db","*.sqlite"],sensitiveFileGlobs:["*.db","*.sqlite","*.db-wal","*.db-shm","reports/**/*","tmp/**/*","runs/**/*"],backupGlobs:["backups/**/*","tmp/**/*"],exportGlobs:["reports/**/*","runs/**/*","exports/**/*"],retentionAdapters:[U6("loops-reports-tmp","Loop reports, tmp files, workflow artifacts, and command output need run-state checks and redaction before retention deletion.",14,["backup","export","report","tmp","log"],["reports/**/*","tmp/**/*","runs/**/*","exports/**/*"],[{id:"loops-active-runs",source:"sqlite",table:"loop_runs",column:"id",description:"Exclude active, leased, recently failed, or evidence-linked loop and workflow run artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]}],warnings:["This package publishes declarations only; each owning package implements and verifies its own local-store lifecycle.","Retention and redaction evidence remain package-owned and must preserve active-record exclusions.","SQLite maintenance is descriptive policy metadata only and is never executed by @hasna/contracts."]});var Of=64,Di=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Of-1}}$`),TU="[0-9a-fA-F]",ji=new RegExp(`^\\{?(?:${TU}{8}-${TU}{4}-${TU}{4}-${TU}{4}-${TU}{12}|${TU}{32})\\}?$`);var zf=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var Ni=new RegExp(zf.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var WG="@hasna/knowledge";function Xf(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Yf(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function i1(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function u_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function t1(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function cU(_){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 lI(_){return n$.safeParse(_).success}function d$(_,$,U,j,D=[]){return{kind:_,id:$,name:U,uri:j&&lI(j)?j:void 0,externalId:$,sourcePackage:WG,tags:D}}function Rf(_){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(cU).filter(Boolean).sort((U,j)=>j.localeCompare(U))[0]}function Qf(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function Gf(_){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 Tf(_,$){let U=[];for(let j of _.items.slice(0,$))U.push({id:`item_${j.id}`,title:j.title,summary:i1(j.content_preview),status:j.archived?"archived":"active",priority:"medium",timestamp:cU(j.updated_at??j.created_at),resourceRefs:[d$("knowledge",j.id,j.title,`knowledge://item/${encodeURIComponent(j.id)}`,j.tags)],evidenceRefs:j.url&&lI(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=u_(j.id,u_(j.uri,"source")),N=u_(j.title,u_(j.uri,D)),E=u_(j.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:N,summary:i1(`${t1(j.chunks)} chunk(s), ${t1(j.revisions)} revision(s)`),status:t1(j.chunks)>0?"indexed":"source",priority:"medium",timestamp:cU(j.updated_at??j.created_at),resourceRefs:[d$("document",D,N,E)],evidenceRefs:lI(E)?[{id:`source_${D}`,kind:"url",uri:E,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:j.kind,chunks:t1(j.chunks),revisions:t1(j.revisions)}})}for(let j of _.chunks.slice(0,Math.max(0,$-U.length))){let D=u_(j.id,"chunk"),N=u_(j.source_uri);U.push({id:`chunk_${D}`,title:u_(j.wiki_title,N?`Chunk from ${N}`:`Knowledge chunk ${D}`),summary:i1(j.text_preview),status:"chunk",priority:"low",timestamp:cU(j.created_at),resourceRefs:[d$("context_pack",D,u_(j.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:N&&lI(N)?[{id:`chunk_source_${D}`,kind:"url",uri:N,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:N||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=u_(j.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${u_(j.entity_kind,"entity")}/${u_(j.entity_id,D)}`,summary:i1(`Status ${u_(j.status,"unknown")}; strategy ${u_(j.resolution_strategy,"none")}.`),status:u_(j.status,"unknown"),priority:"critical",timestamp:cU(j.created_at),resourceRefs:[d$("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=u_(j.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${u_(j.kind,"item")}: ${u_(j.target_id,D)}`,summary:i1(j.reason),status:u_(j.status,"unknown"),priority:u_(j.status).toLowerCase()==="failed"?"high":"medium",timestamp:cU(j.updated_at??j.created_at),resourceRefs:[d$("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 JG(_,$={}){let U=Xf($.limit),j=new Date().toISOString(),D=Yf(_),E=await($.service??xI({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),I=Rf(E),W=Qf(I),J=E.summary.active_items+E.summary.sources+E.summary.chunks+E.summary.wiki_pages+E.summary.storage_objects,L=Gf(E),S=J===0?"empty":W==="stale"?"stale":"ready",X=Tf(E,U),z={schema:h.projectPanel,id:`knowledge_panel_${D}`,createdAt:j,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:WG,externalId:E.home},kind:"knowledge",title:"Knowledge",summary:S==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${E.summary.active_items} active note(s), ${E.summary.sources} source(s), ${E.summary.chunks} chunk(s), and ${E.summary.wiki_pages} wiki page(s).`,state:S,stateReason:S==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:j,freshness:W,metrics:[{id:"active_items",label:"Active notes",value:E.summary.active_items,status:E.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:E.summary.sources,status:E.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:E.summary.chunks,status:E.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:E.summary.wiki_pages,status:E.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:E.summary.storage_objects,status:E.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:E.summary.vector_entries,status:E.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:L,status:L>0?"warning":"good"}],items:X,actions:[d$("action","knowledge:inventory","Inspect knowledge inventory"),d$("action","knowledge:context-pack","Build cited context pack"),d$("action","knowledge:ingest","Ingest project source")],resourceRefs:[d$("project",D,_,`project://${D}`),d$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),d$("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:E.scope,home:E.home,json_store_exists:E.paths.json_store_exists,latest_activity_at:I}};return AG(h.projectPanel,z)}function LG(_){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(` -`)}import{fstatSync as vf,readlinkSync as ff,readSync as xf,writeSync as yf}from"fs";import{TextDecoder as uf}from"util";import{createHash as PG,randomUUID as mz}from"crypto";var Z_="FCAME-1",Vf="hasna.knowledge.private-input.v1";var Bf="hasna.knowledge.private-query.v1",Ff="hasna.knowledge.private-result.v1";var cz=Object.freeze({submission:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:1e4}),reconciliation:Object.freeze({max_calls:1,max_items:1,max_bytes:262144,wall_time_ms:5000}),readback:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:5000})}),iI=4194304,tI=30000,nU=3600000,OG=new WeakMap,Kf=new WeakMap,zG=new WeakMap,XG=new WeakMap;function n_(_,$,U,j=U){if(!_||typeof _!=="object"||Array.isArray(_))throw Error(`${$} must be an object.`);let D=Object.keys(_),N=D.filter((I)=>!U.includes(I)),E=j.filter((I)=>!D.includes(I));if(N.length>0||E.length>0)throw Error(`${$} keys must match its FCAME-1 schema${N.length>0?`; unexpected: ${N.sort().join(",")}`:""}${E.length>0?`; missing: ${E.sort().join(",")}`:""}.`)}function A_(_,$,U=512){if(typeof _!=="string"||_.length===0||_.length>U||_.trim()!==_||/[\u0000-\u001f\u007f]/.test(_))throw Error(`${$} must be a non-empty, trimmed string without control characters.`)}function E6(_){if(n_(_,"binding",["authority","tenant_id","scope","parent_id"]),n_(_.authority,"binding.authority",["classification","authority_id"]),!["user_hosted","hasna_saas"].includes(_.authority.classification))throw Error("binding.authority.classification must be user_hosted or hasna_saas.");A_(_.authority.authority_id,"binding.authority.authority_id"),A_(_.tenant_id,"binding.tenant_id",64),A_(_.scope,"binding.scope"),A_(_.parent_id,"binding.parent_id")}function pI(_,$){if(!["create","update"].includes(_))throw Error("verb must be create or update.");if(_==="create"){if(n_($,"precondition",["kind"]),!$||$.kind!=="absent")throw Error("create requires the create-if-absent precondition.");return}if(n_($,"precondition",["kind","expected_version"]),!$||$.kind!=="version"||!Number.isInteger($.expected_version)||$.expected_version<1)throw Error("update requires a positive compare-and-swap expected_version.")}function YG(_){if(n_(_,"manifest",["manifest_id","ordinal","phase","compensates_receipt_id"]),A_(_.manifest_id,"manifest.manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("manifest.ordinal must be a non-negative integer.");if(!["primary","recovery"].includes(_.phase))throw Error("manifest.phase must be primary or recovery.");if(_.phase==="primary"&&_.compensates_receipt_id!==null)throw Error("a primary manifest step cannot compensate a receipt.");if(_.compensates_receipt_id!==null&&(typeof _.compensates_receipt_id!=="string"||!/^kwr_[0-9a-f]{64}$/.test(_.compensates_receipt_id)))throw Error("manifest.compensates_receipt_id must be null or an immutable guarded receipt id.")}function Q$(_,$="limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(_.max_items!==1)throw Error(`${$}.max_items must be exactly 1.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>iI)throw Error(`${$}.max_bytes must be a positive integer no greater than ${iI}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>tI)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${tI}.`)}function RG(_,$="query limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(!Number.isInteger(_.max_items)||_.max_items<1||_.max_items>50)throw Error(`${$}.max_items must be an integer between 1 and 50.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>iI)throw Error(`${$}.max_bytes must be a positive integer no greater than ${iI}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>tI)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${tI}.`)}function nz(_,$){if(n_(_,"query page",["limit","offset"]),!Number.isInteger(_.limit)||_.limit<1||_.limit>$.max_items)throw Error("query page.limit must be a positive integer no greater than limits.max_items.");if(!Number.isInteger(_.offset)||_.offset<0||_.offset>1e4)throw Error("query page.offset must be an integer between 0 and 10000.")}function gf(_){if(!_||typeof _!=="object"||Array.isArray(_))throw Error("private query selector must be an object.");switch(_.kind){case"exact_title":n_(_,"private query selector",["kind","title"]),A_(_.title,"private query selector.title",2048);return;case"lexical_overlap":case"semantic_overlap":n_(_,"private query selector",["kind","query"]),A_(_.query,"private query selector.query",4096);return;case"supersession":n_(_,"private query selector",["kind","supersedes_item_id"]),A_(_.supersedes_item_id,"private query selector.supersedes_item_id");return;case"current_version":n_(_,"private query selector",["kind","item_id"]),A_(_.item_id,"private query selector.item_id");return;case"historical_version":if(n_(_,"private query selector",["kind","item_id","version"]),A_(_.item_id,"private query selector.item_id"),!Number.isInteger(_.version)||_.version<1)throw Error("private query selector.version must be a positive integer.");return;case"canonical_pointer":n_(_,"private query selector",["kind","canonical_item_id"]),A_(_.canonical_item_id,"private query selector.canonical_item_id");return;default:throw Error("private query selector.kind is unsupported.")}}function aI(_={}){if(n_(_,"limits",["submission","reconciliation","readback"],[]),_.submission!==void 0)Q$(_.submission,"limits.submission");if(_.reconciliation!==void 0)Q$(_.reconciliation,"limits.reconciliation");if(_.readback!==void 0)Q$(_.readback,"limits.readback");let $={submission:{...cz.submission,..._.submission},reconciliation:{...cz.reconciliation,..._.reconciliation},readback:{...cz.readback,..._.readback}};return Q$($.submission,"limits.submission"),Q$($.reconciliation,"limits.reconciliation"),Q$($.readback,"limits.readback"),Object.freeze({submission:Object.freeze($.submission),reconciliation:Object.freeze($.reconciliation),readback:Object.freeze($.readback)})}function oI(_,$){if(_===null||typeof _==="string"||typeof _==="boolean")return _;if(typeof _==="number"){if(!Number.isFinite(_))throw Error(`${$} contains a non-finite number.`);return _}if(Array.isArray(_))return _.map((D,N)=>oI(D,`${$}[${N}]`));if(typeof _!=="object")throw Error(`${$} must contain only JSON values.`);let U=Object.getPrototypeOf(_);if(U!==Object.prototype&&U!==null)throw Error(`${$} must contain plain JSON objects.`);let j={};for(let D of Object.keys(_).sort()){let N=_[D];if(N===void 0)throw Error(`${$}.${D} must not be undefined.`);j[D]=oI(N,`${$}.${D}`)}return j}function dz(_){if(_!==null&&typeof _==="object"){for(let $ of Object.values(_))dz($);Object.freeze(_)}return _}function h_(_){return JSON.stringify(oI(_,"value"))}function f_(_){return PG("sha256").update(h_(_),"utf8").digest("hex")}function mU(_){if(typeof _!=="string")throw Error("content must be a string.");return PG("sha256").update(_,"utf8").digest("hex")}function lz(_){if(!["adopt","rollback"].includes(_.action))throw Error("adoption action must be adopt or rollback.");if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),!Number.isInteger(_.expected_version)||_.expected_version<1)throw Error("expected_version must be a positive integer.");if(!/^[0-9a-f]{64}$/.test(_.expected_content_sha256))throw Error("expected_content_sha256 must be a lowercase sha256 hex digest.");let $=_.adoption_receipt_id??null;if(_.action==="adopt"&&$!==null)throw Error("adopt must not reference an adoption receipt.");if(_.action==="rollback"&&(typeof $!=="string"||!/^kar_[0-9a-f]{64}$/.test($)))throw Error("rollback requires an immutable adoption receipt id.");return`fcame1_adoption_${f_({contract:Z_,action:_.action,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:_.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:$})}`}function eI(_){if(E6(_.binding),A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),!/^[0-9a-f]{64}$/.test(_.payload_digest))throw Error("payload_digest must be a lowercase sha256 hex digest.");if(pI(_.verb,_.precondition),_.manifest)YG(_.manifest);return`fcame1_${f_({contract:Z_,authority:_.binding.authority,tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest??null})}`}function Mf(_){if(A_(_.manifest_id,"manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("ordinal must be a non-negative integer.");if(!/^fcame1_[0-9a-f]{64}$/.test(_.step_deterministic_key))throw Error("step_deterministic_key must be an FCAME-1 deterministic key.");A_(_.operation_id,"recovery.operation_id"),A_(_.step_id,"recovery.step_id"),A_(_.target_id,"recovery.target_id"),E6(_.binding),pI(_.verb,_.precondition);let $=aI(_.limits);if(h_($)!==h_(_.limits))throw Error("recovery.limits must be explicit and complete.");if(!/^[0-9a-f]{64}$/.test(_.semantic_digest))throw Error("recovery.semantic_digest must be a lowercase sha256 hex digest.");if(!["forward_repair","receipt_scoped_compensation"].includes(_.strategy))throw Error("recovery.strategy must be forward_repair or receipt_scoped_compensation.");if(_.strategy==="receipt_scoped_compensation"&&_.receipt_scope!=="accepted_step_receipt"||_.strategy==="forward_repair"&&_.receipt_scope!==null)throw Error("receipt_scoped_compensation requires accepted_step_receipt; forward_repair requires null receipt_scope.");let U=Zf(_.step_deterministic_key);if(_.strategy==="receipt_scoped_compensation"&&_.compensates_receipt_id!==U||_.strategy==="forward_repair"&&_.compensates_receipt_id!==null)throw Error("receipt-scoped compensation must bind the deterministic accepted-step receipt; forward repair must not bind one.");return eI({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.semantic_digest,precondition:_.precondition,manifest:{manifest_id:_.manifest_id,ordinal:_.ordinal,phase:"recovery",compensates_receipt_id:_.compensates_receipt_id}})}function Zf(_){if(!/^fcame1_[0-9a-f]{64}$/.test(_))throw Error("deterministicKey must be an FCAME-1 write key.");return`kwr_${_.slice(7)}`}function Hf(_,$){return E6(_),A_($,"operation_id"),`kmf_${f_({contract:Z_,maintainer:_,operation_id:$})}`}function qf(_,$,U){if(n_($,`steps[${U}]`,["ordinal","operation_id","step_id","deterministic_key","verb","target_id","binding","semantic_digest","precondition","dependencies","limits","recovery"]),n_($.recovery,`steps[${U}].recovery`,["strategy","operation_id","step_id","deterministic_key","verb","target_id","semantic_digest","precondition","binding","limits","receipt_scope","compensates_receipt_id"]),$.ordinal!==U)throw Error(`manifest steps must be ordered contiguously from zero; expected ordinal ${U}.`);if(A_($.operation_id,`steps[${U}].operation_id`),A_($.step_id,`steps[${U}].step_id`),A_($.target_id,`steps[${U}].target_id`),E6($.binding),pI($.verb,$.precondition),!/^[0-9a-f]{64}$/.test($.semantic_digest))throw Error(`steps[${U}].semantic_digest must be a lowercase sha256 digest.`);let j=aI($.limits);if(h_(j)!==h_($.limits))throw Error(`steps[${U}].limits must be explicit and complete.`);let D=Array.from({length:U},(I,W)=>W);if(!Array.isArray($.dependencies)||h_($.dependencies)!==h_(D))throw Error(`steps[${U}].dependencies must name every prior ordinal in order.`);let N=eI({binding:$.binding,operation_id:$.operation_id,step_id:$.step_id,verb:$.verb,target_id:$.target_id,payload_digest:$.semantic_digest,precondition:$.precondition,manifest:{manifest_id:_,ordinal:$.ordinal,phase:"primary",compensates_receipt_id:null}});if($.deterministic_key!==N)throw Error(`steps[${U}].deterministic_key does not match its frozen tuple.`);let E=Mf({manifest_id:_,ordinal:$.ordinal,step_deterministic_key:$.deterministic_key,strategy:$.recovery.strategy,operation_id:$.recovery.operation_id,step_id:$.recovery.step_id,verb:$.recovery.verb,target_id:$.recovery.target_id,semantic_digest:$.recovery.semantic_digest,precondition:$.recovery.precondition,binding:$.recovery.binding,limits:$.recovery.limits,receipt_scope:$.recovery.receipt_scope,compensates_receipt_id:$.recovery.compensates_receipt_id});if($.recovery.deterministic_key!==E)throw Error(`steps[${U}].recovery.deterministic_key does not match its frozen tuple.`)}function kf(_,$){E6(_),n_($,"manifest",["manifest_id","operation_id","steps"]),A_($.manifest_id,"manifest_id"),A_($.operation_id,"operation_id");let U=Hf(_,$.operation_id);if($.manifest_id!==U)throw Error("manifest_id must be the deterministic FCAME-1 id for its maintainer and workflow operation.");if(!Array.isArray($.steps)||$.steps.length<2||$.steps.length>64)throw Error("a guarded workflow manifest must contain between 2 and 64 ordered steps.");let j=new Set,D=new Set;$.steps.forEach((N,E)=>{if(qf($.manifest_id,N,E),N.binding.tenant_id!==_.tenant_id||N.recovery.binding.tenant_id!==_.tenant_id)throw Error(`manifest step ${E} crosses tenants without an authority delegation contract.`);for(let I of[N,N.recovery]){let W=`${I.binding.authority.classification}\x00${I.binding.authority.authority_id}\x00${I.binding.tenant_id}\x00${I.binding.scope}\x00${I.binding.parent_id}\x00${I.operation_id}\x00${I.step_id}`;if(j.has(W))throw Error(`manifest step ${E} repeats an operation/step identity.`);if(j.add(W),D.has(I.deterministic_key))throw Error(`manifest step ${E} repeats a deterministic action key.`);D.add(I.deterministic_key)}})}function Cf(_,$){return kf(_,$),f_({contract:Z_,manifest_id:$.manifest_id,operation_id:$.operation_id,maintainer:_,steps:$.steps})}function QG(_,$){return`fcame1_manifest_${Cf(_,$)}`}function bf(_,$){if(!$||typeof $!=="object"||Array.isArray($))throw Error("payload must be a JSON object.");if(oI($,"payload"),_==="create"){let j=$.title;if(typeof j!=="string"||j.trim().length===0)throw Error("create payload.title is required.")}let U=_==="create"?new Set(["title","content","url","tags","metadata"]):new Set(["title","content","url","tags","metadata","archived"]);for(let j of Object.keys($))if(!U.has(j))throw Error(`payload.${j} is not allowed for ${_}.`);if("title"in $&&$.title!==void 0)A_($.title,"payload.title",2048);if("content"in $&&$.content!==void 0&&typeof $.content!=="string")throw Error("payload.content must be a string.");if("url"in $&&$.url!==void 0&&$.url!==null&&(typeof $.url!=="string"||$.url.length>8192||/[\u0000-\u001f\u007f]/.test($.url)))throw Error("payload.url must be null or a string without control characters.");if("tags"in $&&$.tags!==void 0){if(!Array.isArray($.tags)||$.tags.length>256)throw Error("payload.tags must be an array of strings.");$.tags.forEach((j,D)=>A_(j,`payload.tags[${D}]`,256))}if("archived"in $&&$.archived!==void 0&&typeof $.archived!=="boolean")throw Error("payload.archived must be a boolean.");if("metadata"in $&&$.metadata!==void 0){if($.metadata===null||typeof $.metadata!=="object"||Array.isArray($.metadata))throw Error("payload.metadata must be a JSON object.")}if(_==="update"&&Object.keys($).length===0)throw Error("update payload must change at least one field.")}function GG(_){if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),pI(_.verb,_.precondition),_.manifest)YG(_.manifest);bf(_.verb,_.payload);let $=_.expires_in_ms??300000;if(!Number.isInteger($)||$<1||$>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let U=dz(JSON.parse(h_(_.payload))),j=f_(U),D=f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:j,manifest:_.manifest??null}),N=new Date(Date.now()+$).toISOString(),E=Object.freeze({contract:Z_,schema:Vf,descriptor_id:`kpv_${mz()}`,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:j,binding_digest:D,precondition:Object.freeze({..._.precondition}),binding:Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),manifest:_.manifest?Object.freeze({manifest_id:_.manifest.manifest_id,ordinal:_.manifest.ordinal,phase:_.manifest.phase,compensates_receipt_id:_.manifest.compensates_receipt_id}):null,expires_at:N}),I=Object.freeze({...E,toJSON:()=>E});return OG.set(I,{payload:U,revoked:!1}),I}function iz(_){let $=OG.get(_);if(!$)throw Error("private input descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private input descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private input descriptor has expired.");return $.payload}function TG(_){let $=Kf.get(_);if(!$)throw Error("private title lookup descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private title lookup descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private title lookup descriptor has expired.");if(mU($.title)!==_.title_digest)throw Error("private title lookup descriptor digest changed after freeze.");return $.title}function VG(_){A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),E6(_.binding),gf(_.selector);let $=_.archive??"active";if(!["active","archived","all"].includes($))throw Error("archive must be active, archived, or all.");let U=_.limit??10,j=_.offset??0;nz({limit:U,offset:j},{max_calls:1,max_items:50,max_bytes:1048576,wall_time_ms:1e4});let N=_.expires_in_ms??300000;if(!Number.isInteger(N)||N<1||N>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let E=dz(JSON.parse(h_(_.selector))),I=f_(E),W=Object.freeze({limit:U,offset:j}),J=Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),L=f_({binding:J,operation_id:_.operation_id,step_id:_.step_id,query_kind:E.kind,selector_digest:I,archive:$,page:W}),S=Object.freeze({contract:Z_,schema:Bf,operation_id:_.operation_id,step_id:_.step_id,query_kind:E.kind,selector_digest:I,binding_digest:L,binding:J,archive:$,page:W,expires_at:new Date(Date.now()+N).toISOString()}),X={...S,toJSON:()=>S};return Object.defineProperty(X,"descriptor_id",{value:`kpq_${mz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(X),zG.set(X,{selector:E,revoked:!1}),X}function tz(_){let $=zG.get(_);if(!$)throw Error("private query descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private query descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private query descriptor has expired.");if(f_($.selector)!==_.selector_digest)throw Error("private query descriptor selector digest changed after freeze.");return $.selector}function SG(_){return Object.freeze({id:_.id,version:Number(_.version??1),title_sha256:mU(_.title),content_sha256:mU(_.content),url_sha256:_.url===null||_.url===void 0?null:mU(_.url),tags_sha256:f_(_.tags??[]),metadata_sha256:f_(_.metadata??{}),archived:_.archived===!0})}function o1(_,$=300000){if(!Number.isInteger($)||$<1||$>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let U=_.kind==="title_lookup"||_.kind==="query"?_.value.item_count:1,j=Object.freeze({contract:Z_,schema:Ff,kind:_.kind,result_digest:f_(_.value),item_count:U,expires_at:new Date(Date.now()+$).toISOString()}),D={...j,toJSON:()=>j};return Object.defineProperty(D,"descriptor_id",{value:`kpr_${mz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(D),XG.set(D,{result:_,revoked:!1}),D}function p1(_){let $=XG.get(_);if(!$)throw Error("private result descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private result descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private result descriptor has expired.");if(f_($.result.value)!==_.result_digest)throw Error("private result descriptor digest changed after freeze.");if($.result.kind==="write")return Object.freeze({kind:"write",item_count:1,items:Object.freeze([SG($.result.value.readback.item)]),deterministic_key:$.result.value.deterministic_key,receipt_id:$.result.value.receipt.receipt_id,duplicate:$.result.value.duplicate});if($.result.kind==="readback")return Object.freeze({kind:"readback",item_count:1,items:Object.freeze([SG($.result.value.item)])});if($.result.kind==="query")return Object.freeze({kind:"query",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items]),query_kind:$.result.value.query_kind,status:$.result.value.status,code:$.result.value.code,total:$.result.value.total,page:Object.freeze({...$.result.value.page})});return Object.freeze({kind:"title_lookup",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items])})}function BG(_,$){if(_.contract!==Z_||_.deterministic_key!==$.deterministic_key||_.operation_id!==$.operation_id||_.step_id!==$.step_id||_.exact!==!0||_.bounded!==!0||_.receipt_count!==1||_.terminal_complete!==!0||_.receipt===null)throw Error("terminal_completeness_failed: exact bounded reconciliation did not yield one terminal receipt.");if(_.receipt.deterministic_key!==$.deterministic_key||_.receipt.operation_id!==$.operation_id||_.receipt.step_id!==$.step_id)throw Error("terminal_completeness_failed: receipt identity does not match the frozen operation.");return _.receipt}function G$(_){return Buffer.byteLength(JSON.stringify(_),"utf8")}class ZG extends Error{receipt;reconciliation;code="guarded_write_rejected";constructor(_,$){super(`guarded_write_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedWriteRejectedError"}}class oz extends Error{receipt;code="guarded_operation_conflict";constructor(_){super("guarded_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedOperationConflictError"}}class HG extends Error{code="private_title_lookup_ambiguous";constructor(){super("private_title_lookup_ambiguous: more than one exact title exists in the frozen binding.");this.name="KnowledgePrivateTitleLookupAmbiguousError"}}class X0 extends Error{code="private_query_response_invalid";constructor(){super("private_query_response_invalid: the bounded private query response was unavailable or malformed.");this.name="KnowledgePrivateQueryResponseError"}}class e1 extends Error{code="guarded_readback_response_invalid";constructor(){super("guarded_readback_response_invalid: the exact guarded readback was unavailable or malformed.");this.name="KnowledgeGuardedReadbackError"}}class sI extends Error{manifest;code="guarded_manifest_conflict";constructor(_){super("guarded_manifest_conflict: this manifest id is already bound to a different immutable ordered workflow.");this.manifest=_;this.name="KnowledgeGuardedManifestConflictError"}}class pz extends Error{deterministic_key;reason;code="guarded_manifest_step_refused";constructor(_,$){super(`guarded_manifest_step_refused: ${$}`);this.deterministic_key=_;this.reason=$;this.name="KnowledgeGuardedManifestStepRefusedError"}}class az extends Error{deterministic_key;code="guarded_manifest_terminal_state_unavailable";constructor(_){super("guarded_manifest_terminal_state_unavailable: manifest submission did not yield an exact immutable readback; the producer did not retry creation.");this.deterministic_key=_;this.name="KnowledgeGuardedManifestUncertainError"}}class dU extends Error{deterministic_key;code="guarded_write_terminal_state_unavailable";constructor(_){super("guarded_write_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not retry the mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedWriteUncertainError"}}class qG extends Error{receipt;reconciliation;code="guarded_adoption_rejected";constructor(_,$){super(`guarded_adoption_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedAdoptionRejectedError"}}class ez extends Error{receipt;code="guarded_adoption_operation_conflict";constructor(_){super("guarded_adoption_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedAdoptionOperationConflictError"}}class lU extends Error{deterministic_key;code="guarded_adoption_terminal_state_unavailable";constructor(_){super("guarded_adoption_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not attempt an unguarded mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedAdoptionUncertainError"}}function I6(_){return{"x-knowledge-max-calls":String(_.max_calls),"x-knowledge-max-items":String(_.max_items),"x-knowledge-max-bytes":String(_.max_bytes),"x-knowledge-wall-time-ms":String(_.wall_time_ms)}}function a1(_){return{authority_classification:_.authority.classification,authority_id:_.authority.authority_id,tenant_id:_.tenant_id,scope:_.scope,parent_id:_.parent_id}}function S4(_,$){return h_(_)===h_($)}function wf(_){switch(_.kind){case"exact_title":return _.title;case"lexical_overlap":case"semantic_overlap":return _.query;case"supersession":return _.supersedes_item_id;case"current_version":case"historical_version":return _.item_id;case"canonical_pointer":return _.canonical_item_id}}function iU(_){if(!_||typeof _!=="object")return null;let $=_.body;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $&&typeof $==="object"?$:null}function FG(_){let $=iU(_);if($?.error!=="operation_binding_conflict")return null;let U=$.receipt;return U&&typeof U==="object"?U:null}function KG(_){let $=iU(_);if($?.error!=="manifest_binding_conflict")return null;let U=$.manifest;return U&&typeof U==="object"?U:null}function gG(_){let U=iU(_)?.message;if(typeof U!=="string")return null;return["guarded manifest","guarded write does not match its immutable manifest step","manifest_","external_authority_receipt_verifier_required"].some((D)=>U.startsWith(D))?U:null}function MG(_){let $=iU(_);if($?.error!=="adoption_operation_conflict")return;let U=$.receipt;return U&&typeof U==="object"?U:null}class kG{transport;require_manifest;binding;limits;constructor(_,$,U,j){this.transport=_;this.require_manifest=j;this.binding=Object.freeze({authority:Object.freeze({...$.authority}),tenant_id:$.tenant_id,scope:$.scope,parent_id:$.parent_id}),this.limits=U}async execute(_){if(this.require_manifest&&!_.manifest)throw Error("guarded_manifest_required: this writer is configured for multi-step work and refuses an unmanifested write.");if(!S4(_.binding,this.binding))throw Error("private input descriptor binding does not match this guarded writer.");let $=iz(_);if(f_($)!==_.payload_digest)throw Error("private input descriptor payload digest changed after freeze.");if(f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:_.payload_digest,manifest:_.manifest})!==_.binding_digest)throw Error("private input descriptor binding digest changed after freeze.");let j=eI({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest}),D={contract:Z_,descriptor:_.toJSON(),deterministic_key:j,limits:this.limits,payload:$};if(G$(D)>this.limits.submission.max_bytes)throw Error("guarded_write_request_exceeds_submission_byte_cap.");let N=null,E=null;try{N=await this.transport.post("/guarded-writes",D,{headers:{...I6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:j,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(L){E=L}let I;try{I=await this.reconcile(j,_.operation_id,_.step_id)}catch{let L=FG(E);if(L)throw new oz(L);let S=_.manifest?gG(E):null;if(S)throw new pz(j,S);throw new dU(j)}if(I.receipt_count===0||I.receipt===null){let L=FG(E);if(L)throw new oz(L);let S=_.manifest?gG(E):null;if(S)throw new pz(j,S);throw new dU(j)}let W=BG(I,{deterministic_key:j,operation_id:_.operation_id,step_id:_.step_id});if(N&&(N.deterministic_key!==j||N.receipt.receipt_id!==W.receipt_id))throw new dU(j);if(W.status!=="accepted")throw new ZG(W,I);if(W.effect_count!==1||W.result_id!==_.target_id)throw new dU(j);let J=await this.readback(W.result_id);if(J.item.id!==_.target_id||!S4(J.binding,this.binding)||J.item.version!==W.result_version)throw new dU(j);return{deterministic_key:j,duplicate:N?.duplicate??!1,receipt:W,reconciliation:I,readback:J}}async executePrivate(_){let $=await this.execute(_);return o1({kind:"write",value:$})}async lookupTitle(_){if(!S4(_.binding,this.binding))throw Error("private title lookup descriptor binding does not match this guarded writer.");let $=TG(_);if(f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,title_digest:_.title_digest})!==_.binding_digest)throw Error("private title lookup descriptor binding digest changed after freeze.");let j={contract:Z_,descriptor:_.toJSON(),title:$,limits:this.limits.readback};if(G$(j)>this.limits.readback.max_bytes)throw Error("private_title_lookup_request_exceeds_byte_cap.");let D;try{D=await this.transport.post("/guarded-writes/lookups/title",j,{headers:{...I6(this.limits.readback),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:this.limits.readback.wall_time_ms,retry:!1})}catch(N){if(iU(N)?.error==="private_title_lookup_ambiguous")throw new HG;throw N}if(G$(D)>this.limits.readback.max_bytes||D.contract!==Z_||D.exact!==!0||D.bounded!==!0||D.title_digest!==_.title_digest||!S4(D.binding,this.binding)||D.item_count!==D.items.length||D.item_count>1||D.items.some((N)=>N.title_sha256!==_.title_digest))throw Error("private_title_lookup_exact_bounded_readback_failed.");return o1({kind:"title_lookup",value:D})}async query(_,$={max_calls:1,max_items:_.page.limit,max_bytes:this.limits.readback.max_bytes,wall_time_ms:this.limits.readback.wall_time_ms}){if(RG($),nz(_.page,$),!S4(_.binding,this.binding))throw Error("private query descriptor binding does not match this guarded writer.");let U=tz(_);if(U.kind!==_.query_kind)throw Error("private query descriptor kind changed after freeze.");if(f_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,query_kind:_.query_kind,selector_digest:_.selector_digest,archive:_.archive,page:_.page})!==_.binding_digest)throw Error("private query descriptor binding digest changed after freeze.");let D={contract:Z_,descriptor:_.toJSON(),selector:U,limits:$};if(G$(D)>$.max_bytes)throw Error("private_query_request_exceeds_byte_cap.");let N;try{let I=await this.transport.post("/guarded-writes/queries",D,{headers:{...I6($),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:$.wall_time_ms,retry:!1});if(!I||typeof I!=="object"||Array.isArray(I))throw new X0;N=I}catch(I){if(I instanceof X0)throw I;throw new X0}let E=mU(wf(U));if(G$(N)>$.max_bytes||N.contract!==Z_||N.exact!==!0||N.bounded!==!0||N.private!==!0||N.query_kind!==_.query_kind||N.selector_digest!==_.selector_digest||!S4(N.binding,this.binding)||N.item_count!==N.items.length||N.item_count!==N.page.returned||N.item_count>_.page.limit||N.page.limit!==_.page.limit||N.page.offset!==_.page.offset||N.total<N.item_count||N.page.has_more!==_.page.offset+N.item_count<N.total||h_(N.limits)!==h_($)||N.items.some((I)=>I.matched_value_sha256!==E))throw new X0;if(_.query_kind==="semantic_overlap"&&(N.status!=="unavailable"||N.code!=="semantic_query_unavailable"||N.item_count!==0||N.total!==0))throw new X0;if(_.query_kind!=="semantic_overlap"&&(N.status!=="available"||N.code!==null))throw new X0;return o1({kind:"query",value:N})}async createManifest(_,$=this.limits.submission){Q$($,"manifest submission bounds");let U=QG(this.binding,_),j={contract:Z_,maintainer:this.binding,manifest:_,deterministic_key:U};if(G$(j)>$.max_bytes)throw Error("guarded_manifest_request_exceeds_byte_cap.");let D=null,N=null;try{D=await this.transport.post("/guarded-manifests",j,{headers:{...I6($),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:U,timeoutMs:$.wall_time_ms,retry:!1})}catch(I){let W=KG(I);if(W)throw new sI(W);N=I}let E;try{E=await this.reconcileManifest(_.manifest_id,$)}catch{let I=KG(N);if(I)throw new sI(I);throw new az(U)}if(E.manifest.deterministic_key!==U)throw new sI(E.manifest);if(D&&(D.contract!==Z_||D.deterministic_key!==U||D.manifest.manifest_receipt_id!==E.manifest.manifest_receipt_id))throw new az(U);return D??{contract:Z_,deterministic_key:U,manifest:E.manifest,duplicate:!0}}async reconcileManifest(_,$=this.limits.reconciliation){Q$($,"manifest reconciliation bounds");let U=await this.transport.get(`/guarded-manifests/${encodeURIComponent(_)}`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:I6($),timeoutMs:$.wall_time_ms,retry:!1});if(G$(U)>$.max_bytes)throw Error("guarded_manifest_response_exceeds_byte_cap.");if(U.contract!==Z_||U.manifest.manifest_id!==_||U.exact!==!0||U.bounded!==!0)throw Error("guarded_manifest_exact_reconciliation_failed.");return U}async reconcile(_,$,U,j=this.limits.reconciliation){Q$(j,"write reconciliation bounds");let D=await this.transport.get(`/guarded-writes/receipts/${encodeURIComponent(_)}`,{query:{...a1(this.binding),operation_id:$,step_id:U,max_calls:j.max_calls,max_items:j.max_items,max_bytes:j.max_bytes,wall_time_ms:j.wall_time_ms},headers:I6(j),timeoutMs:j.wall_time_ms,retry:!1});if(G$(D)>j.max_bytes)throw Error("guarded_reconciliation_response_exceeds_byte_cap.");return D}async reconcileAdoption(_,$,U,j=this.limits.reconciliation){Q$(j,"adoption reconciliation bounds");let D=await this.transport.get(`/guarded-adoptions/receipts/${encodeURIComponent(_)}`,{query:{...a1(this.binding),operation_id:$,step_id:U,max_calls:j.max_calls,max_items:j.max_items,max_bytes:j.max_bytes,wall_time_ms:j.wall_time_ms},headers:I6(j),timeoutMs:j.wall_time_ms,retry:!1});if(G$(D)>j.max_bytes)throw Error("guarded_adoption_reconciliation_response_exceeds_byte_cap.");return D}async readBindingState(_,$=this.limits.readback){Q$($,"binding-state readback bounds");let U=await this.transport.get(`/guarded-adoptions/items/${encodeURIComponent(_)}/binding-state`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:I6($),timeoutMs:$.wall_time_ms,retry:!1});if(G$(U)>$.max_bytes||U.contract!==Z_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||U.target_id!==_)throw Error("guarded_binding_state_exact_readback_failed.");return U}async submitAdoption(_){if(G$(_)>this.limits.submission.max_bytes)throw Error("guarded_adoption_request_exceeds_submission_byte_cap.");let $=null,U=null;try{$=await this.transport.post("/guarded-adoptions",_,{headers:{...I6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:_.deterministic_key,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(N){if(iU(N)?.error==="not_found")throw N;U=N}let j;try{j=await this.reconcileAdoption(_.deterministic_key,_.operation_id,_.step_id)}catch{let N=MG(U);if(N!==void 0)throw new ez(N);throw new lU(_.deterministic_key)}if(!j.terminal_complete||j.receipt_count!==1||!j.receipt){let N=MG(U);if(N!==void 0)throw new ez(N);throw new lU(_.deterministic_key)}let D=j.receipt;if(D.deterministic_key!==_.deterministic_key||D.operation_id!==_.operation_id||D.step_id!==_.step_id)throw new lU(_.deterministic_key);if(D.status!=="accepted")throw new qG(D,j);return{submission:$,receipt:D,reconciliation:j}}async adoptLegacy(_){let $=lz({action:"adopt",..._,binding:this.binding,adoption_receipt_id:null}),U={contract:Z_,action:"adopt",deterministic_key:$,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:this.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:null,limits:this.limits},j=await this.submitAdoption(U),D=await this.readBindingState(_.target_id),N=await this.readback(_.target_id);if(D.state!=="bound_to_requested"||D.item_version!==j.receipt.result_version||D.content_sha256!==j.receipt.result_content_sha256||N.item.version!==j.receipt.result_version)throw new lU($);return{deterministic_key:$,duplicate:j.submission?.duplicate??!1,receipt:j.receipt,reconciliation:j.reconciliation,binding_state:D,readback:N}}async rollbackLegacyAdoption(_){let $=_.adoption_receipt;if($.action!=="adopt"||$.status!=="accepted"||$.effect_count!==1||!S4($.binding,this.binding)||$.result_version===null||$.result_content_sha256===null)throw Error("rollback requires an accepted adoption receipt for this guarded writer binding.");let U=lz({action:"rollback",operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id}),j={contract:Z_,action:"rollback",deterministic_key:U,operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id,limits:this.limits},D=await this.submitAdoption(j),N=await this.readBindingState($.target_id);if(N.state!=="legacy_unbound"||N.item_version!==D.receipt.result_version||N.content_sha256!==D.receipt.result_content_sha256)throw new lU(U);return{deterministic_key:U,duplicate:D.submission?.duplicate??!1,receipt:D.receipt,reconciliation:D.reconciliation,binding_state:N}}async readback(_,$=this.limits.readback){Q$($,"readback bounds");let U;try{let j=await this.transport.get(`/guarded-writes/items/${encodeURIComponent(_)}`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:I6($),timeoutMs:$.wall_time_ms,retry:!1});if(!j||typeof j!=="object"||Array.isArray(j))throw new e1;U=j}catch(j){if(j instanceof e1)throw j;if(j&&typeof j==="object"&&typeof j.status==="number")throw j;throw new e1}if(G$(U)>$.max_bytes||U.contract!==Z_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||!U.item||U.item.id!==_||!S4(U.binding,this.binding)||h_(U.limits)!==h_($))throw new e1;return U}async readbackPrivate(_,$=this.limits.readback){let U=await this.readback(_,$);return o1({kind:"readback",value:U})}}function CG(_){E6(_.binding);let $=OX(_.env??process.env);if(!$)throw Error("FCAME-1 guarded writes require the authenticated postgres/API transport; local JSON, SQLite, and raw-store fallbacks are refused.");return new kG($,_.binding,aI(_.limits),_.require_manifest===!0)}var hf="knowledge.guarded-cli-request.v1",xG="knowledge.guarded-cli-result.v1",sz=1048576;class x_ extends Error{code;constructor(_){super(_);this.code=_;this.name="KnowledgeGuardedCliDescriptorError"}}function bG(_,$,U){let j=Object.keys(_).sort(),D=[...$].sort();if(j.length!==D.length||j.some((N,E)=>N!==D[E]))throw new x_(`${U}_shape_invalid`)}function wG(_,$){if(!Number.isInteger(_)||_<3)throw new x_(`${$}_must_be_inherited_private_fd`);let U;try{U=vf(_)}catch{throw new x_(`${$}_unavailable`)}if(!U.isFIFO()&&!U.isSocket())throw new x_(`${$}_must_be_anonymous_pipe_or_socket`);if(U.isFIFO()){let j;try{j=ff(`/proc/self/fd/${_}`)}catch{throw new x_(`${$}_anonymous_pipe_identity_unverified`)}if(!/^pipe:\[\d+\]$/.test(j))throw new x_(`${$}_must_be_anonymous_pipe_or_socket`)}}function rf(_){let $=[],U=0;while(!0){let j=Buffer.allocUnsafe(Math.min(65536,sz+1-U)),D=xf(_,j,0,j.length,null);if(D===0)break;if(U+=D,U>sz)throw new x_("private_request_byte_cap_exceeded");$.push(j.subarray(0,D))}try{return new uf("utf-8",{fatal:!0}).decode(Buffer.concat($,U))}catch{throw new x_("private_request_invalid_utf8")}}function vG(_,$){let U=Buffer.from(`${h_($)} -`,"utf8");if(U.byteLength>sz)throw new x_("private_result_byte_cap_exceeded");let j=0;while(j<U.byteLength){let D=yf(_,U,j,U.byteLength-j);if(D<1)throw new x_("private_result_write_failed");j+=D}}function cf(_){if(_ instanceof x_)return _.code;if(_&&typeof _==="object"&&typeof _.code==="string"&&/^[a-z0-9_:-]+$/i.test(_.code))return _.code;return"guarded_private_cli_failed"}function mf(_){let $;try{$=JSON.parse(_)}catch{throw new x_("private_request_invalid_json")}if(!$||typeof $!=="object"||Array.isArray($))throw new x_("private_request_shape_invalid");let U=$;if(U.schema!==hf)throw new x_("private_request_schema_invalid");if(U.action==="write")return bG(U,["schema","action","operation_id","step_id","verb","target_id","precondition","binding","manifest","payload","expires_at"],"private_write_request"),U;if(U.action==="query"||U.action==="readback")return bG(U,["schema","action","operation_id","step_id","binding","selector","archive","page","expires_at"],"private_query_request"),U;throw new x_("private_request_action_invalid")}function fG(_){let $=Date.parse(_)-Date.now();if(!Number.isFinite($)||$<1)throw new x_("private_descriptor_expired");return Math.min($,3600000)}async function nf(_,$){let U=CG({binding:_.binding,env:$}),j;if(_.action==="write"){let N=GG({operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,binding:_.binding,..._.manifest?{manifest:_.manifest}:{},payload:_.payload,expires_in_ms:fG(_.expires_at)});j=p1(await U.executePrivate(N));let E=p1(await U.readbackPrivate(_.target_id));if(h_(j.items)!==h_(E.items))throw new x_("private_write_exact_readback_mismatch")}else{let N=VG({operation_id:_.operation_id,step_id:_.step_id,binding:_.binding,selector:_.selector,archive:_.archive,limit:_.page.limit,offset:_.page.offset,expires_in_ms:fG(_.expires_at)});if(_.action==="readback"){if(_.selector.kind!=="current_version"||_.page.limit!==1||_.page.offset!==0)throw new x_("private_readback_descriptor_invalid");j=p1(await U.readbackPrivate(_.selector.item_id))}else j=p1(await U.query(N))}let D=f_(_);return Object.freeze({schema:xG,ok:!0,contract:Z_,action:_.action,transport:"anonymous_fd",request_digest:D,result_digest:f_(j),proof:j})}async function yG(_,$,U=process.env){if(wG(_,"request_fd"),wG($,"result_fd"),_===$)throw new x_("private_fds_must_be_distinct");try{let j=await nf(mf(rf(_)),U);vG($,j);let{proof:D,...N}=j;return N}catch(j){let D={schema:xG,ok:!1,contract:Z_,transport:"anonymous_fd",code:cf(j)};try{vG($,D)}catch{}throw new x_(D.code)}}var rG=["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 cG="HASNA_KNOWLEDGE_STORAGE_MODE",mG="KNOWLEDGE_STORAGE_MODE";function uG(_){return process.env[_]?.trim()||void 0}function hG(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function df(_={}){let $=V0(Nj(_.scope,_.cwd).home);return c($.knowledgeDbPath),{db:v($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function nG(){let _=hG(uG(cG))??hG(uG(mG));if(_)return _;return"sqlite"}function _3(_={}){let $=df(_);try{lf($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:nG(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:rG,sync:U}}finally{$.db.close()}}function lf(_){_.exec(` + `,[U]).map(Sb),x={legacy_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,schema_version:W.schema_version,sources:W.sources,source_revisions:W.source_revisions,chunks:W.chunks,wiki_pages:W.wiki_pages,citations:W.citations,indexes:W.indexes,runs:W.runs,run_events:W.run_events,storage_objects:W.storage_objects,embeddings:W.embeddings,vector_entries:W.vector_entries,reindex_queue:W.reindex_queue,redaction_findings:W.redaction_findings,audit_events:W.audit_events,approval_gates:W.approval_gates,knowledge_machines:W.knowledge_machines,sync_snapshots:W.sync_snapshots,sync_changes:W.sync_changes,sync_conflicts:W.sync_conflicts,sync_table_clocks:W.sync_table_clocks,sync_imports:W.sync_imports,promotion_candidates:W.promotion_candidates,durable_records:W.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:U,paths:{json_store_path:N,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:x,legacy_store:{path:N,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(I.length,U)},items:I.slice(0,U).map(NQ),sources:L,source_revisions:S,chunks:X,wiki_pages:z,indexes:Y,storage_objects:P,runs:O,vector_indexes:R,reindex_queue:Q,machines:B,sync_conflicts:G,approval_gates:T,audit_events:F,promotion_candidates:M,durable_records:q,message:`${D.items.length} item(s), ${W.sources} source(s), ${W.chunks} chunk(s), ${W.wiki_pages} wiki page(s), ${W.storage_objects} artifact(s)`}}finally{J.close()}}assertAppWikiWrite(_){AD({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return L5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return S5({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(!Q_($.knowledgeDbPath))return[];return P5({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!Q_(U.knowledgeDbPath))return null;return O5({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return z5({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();c(_.knowledgeDbPath);let $=await bY(this.artifactStore()),U=v(_.knowledgeDbPath);try{X6(U,$.artifacts),CY(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return ZY({..._,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 HY({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return qY({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return I5({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return gN({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return RY({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 FN({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return HR({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return Rb();return IY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return aO({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return EY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return G5(this.config(),_)}modelRegistry(){return IA(this.config())}embeddingStatus(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return Yb();return M5(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return qN({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return o$()}cloudStore(){let _=ED();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return _}async fetchCloudItems(){return XN(this.cloudStore())}async semanticSearch(_){let $=this.workspace;if(this.isApiMode())throw new fE;if(!Q_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return kN({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new fE;let N=await this.cloudStore().search({query:_.query,archive:"active",limit:_.limit,offset:_.offset});return PA(N.items,_,[],N.total)}let U=Qz(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){if(Q_(U))return vN({..._,legacyStorePath:U,config:this.config()});return XQ(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return wN({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let N=await this.search(_);return Q6(N,{contextChars:_.contextChars})}let U=Qz(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){if(Q_(U)){let N=await vN({..._,legacyStorePath:U,config:this.config()});return Q6(N,{contextChars:_.contextChars})}return zb(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return y0({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let N=(_.query??_.topic??"").trim();if(N&&_.source!=="loops"&&_.source!=="runs"){let D=await this.search({..._,query:N}),j=Q6(D,{contextChars:_.contextChars});return EQ(_,j,this.safetyPolicy())}return AQ(_)}let U=Qz(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){let N=(_.query??_.topic??"").trim();if(N&&_.source!=="loops"&&_.source!=="runs"&&Q_(U)){let D=await vN({..._,query:N,legacyStorePath:U,config:this.config()}),j=Q6(D,{contextChars:_.contextChars});return EQ(_,j,this.safetyPolicy())}return AQ(_)}return U9({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new fE;let N=await this.cloudStore().search({query:_.prompt,archive:"active",limit:_.limit,offset:_.offset}),D=PA(N.items,{query:_.prompt,limit:_.limit,offset:_.offset,semantic:!1},[],N.total);return i5(N.items.map((j)=>j.item),{..._,config:this.config()},D)}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)$D(U);return l5({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return TY({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return nR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return iR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return Qb({scope:this.scope,workspaceHome:_.home});return K9({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.syncStatus(),N=this.storageContract(),D=this.validateStorage(),j=Gb($.knowledgeDbPath,N),I=_.machine?.trim()||null,E=_.peerWorkspace?.trim()||null,W=[],J=null,L=null;if(I&&!SQ(I)){let P=await lO({machineId:I,includeTailscale:_.includeTailscale});J=Yz(P),W.push(...P.warnings)}if(I||E){let P=await VE({machineId:I??Rz($),peerWorkspace:E,includeTailscale:_.includeTailscale});if(I&&!E&&(J?.source==="raw"||!P.ok||!P.project_root)){let O=sY($.knowledgeDbPath,I);if(O){if(J?.source==="raw"&&O.ssh_target)J=Yz(_Q(O,I,{target:J.target,route:J.route,targetKind:J.target_kind,confidence:J.confidence,source:J.source,adapter:J.adapter,evidence:J.evidence,cacheability:J.cacheability,warnings:[]}));if(!P.ok||!P.project_root){let R=$Q(O,I,P);if(R)L=v1(R,R.project_root),W.push(...R.warnings)}}}L=P.ok&&P.project_root?v1(P,P.project_root):L??{...v1(P,E??""),project_root:P.project_root??E??""},W.push(...P.warnings)}if(!D.ok)W.push(...D.errors.map((P)=>`storage:${P}`));let S=Ab($.knowledgeDbPath,L);if(!S.ok)W.push("open_files_boundary_raw_payload_sentinels");if(!j.ok)W.push(...j.warnings);let X=L?.diagnostics.filter((P)=>P.severity==="fail")??[],z=D.ok&&j.ok&&S.ok&&X.length===0&&(L?.project_root!==""||!L),Y=Vb({scope:this.scope,machine:I,peerWorkspace:E,tables:_.tables,resolvedWorkspace:L,openConflicts:U.conflicts.open});return{ok:z,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:N,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:S,resolved_route:J,resolved_workspace:L,recommended_commands:Y,warnings:[...new Set(W)],message:z?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(W)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.storageContract(),N=Fz(U),D=Tb($.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:N,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:N,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:N,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by <name>"};let I=v($.knowledgeDbPath);try{let E=new Date().toISOString();I.transaction((L)=>{let S=I.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),X=I.query("SELECT id, metadata_json FROM storage_objects").all(),z=new Map(X.map((Y)=>[Y.id,I0(Y.metadata_json)]));for(let Y of L){let P=z.get(Y.id)??{};P.key=Y.repaired_key,S.run(JSON.stringify(P),E,Y.id)}})(D);let J=T_(I,{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:N,artifact_uris:D.map((L)=>L.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:D.length,audit_event_id:J,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{I.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return F9({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return[];return M9($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=lN($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return YD($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return gR({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=YD($.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 N=H9($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let j=T_(D,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:N.entity_kind,entity_id:N.entity_id,strategy:N.resolution_strategy,approved_by:N.approved_by,proposed_patch_uri:N.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:N,audit_event_id:j,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return[];return ZA(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),c($.knowledgeDbPath),RD({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"),c($.knowledgeDbPath),dN({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,N=this.ensureWorkspace();c(N.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],j=_.includeArtifactContent===!1?["--no-artifact-content"]:[],I=["--scope",this.scope,"--json"],E=await lO({machineId:_.machine,includeTailscale:_.includeTailscale}),W=await VE({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&E.source==="raw"||!W.ok||!W.project_root){let z=sY(N.knowledgeDbPath,_.machine);if(z){if(!_.peerWorkspace&&E.source==="raw"&&z.ssh_target)E=_Q(z,_.machine,E);if(!W.ok||!W.project_root){let Y=$Q(z,_.machine,W);if(Y)W=Y}}}if(!W.ok||!W.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.",W.warnings.length?`Warnings: ${W.warnings.join(", ")}`:null].filter(Boolean).join(" "));let J=W.project_root,L={ok:!0,dry_run:U,direction:$,transport:"ssh",machine:_.machine,resolved_machine:E.target,resolved_route:Yz(E),resolved_workspace:v1(W,W.project_root),peer_workspace:J,message:""},S=!1,X=()=>{if(U||S)return;T9(N.knowledgeDbPath,{machineId:_.machine,route:E,workspace:W}),S=!0};if($==="pull"||$==="both"){let z=eY(J,["sync","export",...I,...D,...j]),Y=WQ(_.machine,z,void 0,E),P=JQ(_.machine,"sync export",Y);Fb(_.machine,P),L.pull=await this.importSyncBundle({bundle:P,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){X();let z=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),Y=eY(J,["sync","import",...I,...U?["--dry-run"]:[]]),P=JQ(_.machine,"sync import",WQ(_.machine,Y,JSON.stringify(z),E));Kb(_.machine,P),L.push=P}return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),X(),L.message=[UQ(L.resolved_workspace),L.pull?`pull: ${L.pull.message}`:null,L.push?`push: ${L.push.message}`:null].filter(Boolean).join("; "),L}async syncPeer(_){let $=_.direction??"both",U=this.ensureWorkspace();c(U.knowledgeDbPath);let N=LQ(_.peerWorkspace),D=_b(N);c(D.knowledgeDbPath);let j=z2(D.configPath),I=TN(j,D,this.scope),E=d2(j,D),W=_.machineId??Rz(U),J=Rz(D),L=await VE({machineId:_.machineId??J,peerWorkspace:N,includeTailscale:!1}),S=()=>RD({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:W,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),X=()=>RD({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:I,machineId:J,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),z={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:v1(L,L.project_root??N),message:""};if($==="pull"||$==="both")z.pull=await dN({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:X(),targetBundle:S(),direction:"pull",dryRun:_.dryRun,localMachineId:W});if($==="push"||$==="both")z.push=await dN({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:I,targetStore:E,bundle:S(),targetBundle:X(),direction:"push",dryRun:_.dryRun,localMachineId:J});return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),z.message=[UQ(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}}function yE(_={}){return new RQ(_)}import{createHash as YQ}from"crypto";var gb=Object.defineProperty,Zb=(_)=>_;function Hb(_,$){this[_]=Zb.bind(null,$)}var qb=(_,$)=>{for(var U in $)gb(_,U,{get:$[U],enumerable:!0,configurable:!0,set:Hb.bind($,U)})},A={};qb(A,{void:()=>OC,util:()=>E_,unknown:()=>SC,union:()=>YC,undefined:()=>WC,tuple:()=>TC,transformer:()=>TQ,symbol:()=>AC,string:()=>vQ,strictObject:()=>RC,setErrorMap:()=>Cb,set:()=>FC,record:()=>VC,quotelessJson:()=>kb,promise:()=>qC,preprocess:()=>CC,pipeline:()=>wC,ostring:()=>vC,optional:()=>kC,onumber:()=>fC,oboolean:()=>xC,objectUtil:()=>gz,object:()=>XC,number:()=>fQ,nullable:()=>bC,null:()=>JC,never:()=>PC,nativeEnum:()=>HC,nan:()=>jC,map:()=>BC,makeIssue:()=>rE,literal:()=>gC,lazy:()=>MC,late:()=>DC,isValid:()=>E0,isDirty:()=>Hz,isAsync:()=>u1,isAborted:()=>Zz,intersection:()=>GC,instanceof:()=>NC,getParsedType:()=>k6,getErrorMap:()=>hE,function:()=>KC,enum:()=>ZC,effect:()=>TQ,discriminatedUnion:()=>QC,defaultErrorMap:()=>gU,datetimeRegex:()=>bQ,date:()=>EC,custom:()=>wQ,coerce:()=>yC,boolean:()=>xQ,bigint:()=>IC,array:()=>zC,any:()=>LC,addIssueToContext:()=>u,ZodVoid:()=>r1,ZodUnknown:()=>E4,ZodUnion:()=>kU,ZodUndefined:()=>HU,ZodType:()=>$_,ZodTuple:()=>N6,ZodTransformer:()=>H$,ZodSymbol:()=>h1,ZodString:()=>h$,ZodSet:()=>J0,ZodSchema:()=>$_,ZodRecord:()=>c1,ZodReadonly:()=>yU,ZodPromise:()=>L0,ZodPipeline:()=>d1,ZodParsedType:()=>r,ZodOptional:()=>c$,ZodObject:()=>w_,ZodNumber:()=>A4,ZodNullable:()=>b6,ZodNull:()=>qU,ZodNever:()=>D6,ZodNativeEnum:()=>vU,ZodNaN:()=>n1,ZodMap:()=>m1,ZodLiteral:()=>wU,ZodLazy:()=>CU,ZodIssueCode:()=>C,ZodIntersection:()=>bU,ZodFunction:()=>KU,ZodFirstPartyTypeKind:()=>t,ZodError:()=>Y$,ZodEnum:()=>J4,ZodEffects:()=>H$,ZodDiscriminatedUnion:()=>nE,ZodDefault:()=>fU,ZodDate:()=>A0,ZodCatch:()=>xU,ZodBranded:()=>dE,ZodBoolean:()=>ZU,ZodBigInt:()=>W4,ZodArray:()=>r$,ZodAny:()=>W0,Schema:()=>$_,ParseStatus:()=>e_,OK:()=>j$,NEVER:()=>uC,INVALID:()=>i,EMPTY_PATH:()=>wb,DIRTY:()=>FU,BRAND:()=>UC});var E_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let j={};for(let I of D)j[I]=I;return j},_.getValidEnumValues=(D)=>{let j=_.objectKeys(D).filter((E)=>typeof D[D[E]]!=="number"),I={};for(let E of j)I[E]=D[E];return _.objectValues(I)},_.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 I in D)if(Object.prototype.hasOwnProperty.call(D,I))j.push(I);return j},_.find=(D,j)=>{for(let I of D)if(j(I))return I;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function N(D,j=" | "){return D.map((I)=>typeof I==="string"?`'${I}'`:I).join(j)}_.joinValues=N,_.jsonStringifyReplacer=(D,j)=>{if(typeof j==="bigint")return j.toString();return j}})(E_||(E_={}));var gz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(gz||(gz={}));var r=E_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),k6=(_)=>{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}},C=E_.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"]),kb=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class Y$ 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:[]},N=(D)=>{for(let j of D.issues)if(j.code==="invalid_union")j.unionErrors.map(N);else if(j.code==="invalid_return_type")N(j.returnTypeError);else if(j.code==="invalid_arguments")N(j.argumentsError);else if(j.path.length===0)U._errors.push($(j));else{let I=U,E=0;while(E<j.path.length){let W=j.path[E];if(E!==j.path.length-1)I[W]=I[W]||{_errors:[]};else I[W]=I[W]||{_errors:[]},I[W]._errors.push($(j));I=I[W],E++}}};return N(this),U}static assert(_){if(!(_ instanceof Y$))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,E_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.message){let $={},U=[];for(let N of this.issues)if(N.path.length>0){let D=N.path[0];$[D]=$[D]||[],$[D].push(_(N))}else U.push(_(N));return{formErrors:U,fieldErrors:$}}get formErrors(){return this.flatten()}}Y$.create=(_)=>{return new Y$(_)};var bb=(_,$)=>{let U;switch(_.code){case C.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,E_.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${E_.joinValues(_.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${E_.joinValues(_.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${E_.joinValues(_.options)}, received '${_.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else E_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case C.too_small:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else U="Invalid input";break;case C.too_big:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")U=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=$.defaultError,E_.assertNever(_)}return{message:U}},gU=bb,HQ=gU;function Cb(_){HQ=_}function hE(){return HQ}var rE=(_)=>{let{data:$,path:U,errorMaps:N,issueData:D}=_,j=[...U,...D.path||[]],I={...D,path:j};if(D.message!==void 0)return{...D,path:j,message:D.message};let E="",W=N.filter((J)=>!!J).slice().reverse();for(let J of W)E=J(I,{data:$,defaultError:E}).message;return{...D,path:j,message:E}},wb=[];function u(_,$){let U=hE(),N=rE({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===gU?void 0:gU].filter((D)=>!!D)});_.common.issues.push(N)}class e_{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 N of $){if(N.status==="aborted")return i;if(N.status==="dirty")_.dirty();U.push(N.value)}return{status:_.value,value:U}}static async mergeObjectAsync(_,$){let U=[];for(let N of $){let D=await N.key,j=await N.value;U.push({key:D,value:j})}return e_.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let N of $){let{key:D,value:j}=N;if(D.status==="aborted")return i;if(j.status==="aborted")return i;if(D.status==="dirty")_.dirty();if(j.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof j.value<"u"||N.alwaysSet))U[D.value]=j.value}return{status:_.value,value:U}}}var i=Object.freeze({status:"aborted"}),FU=(_)=>({status:"dirty",value:_}),j$=(_)=>({status:"valid",value:_}),Zz=(_)=>_.status==="aborted",Hz=(_)=>_.status==="dirty",E0=(_)=>_.status==="valid",u1=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class m${constructor(_,$,U,N){this._cachedPath=[],this.parent=_,this.data=$,this._path=U,this._key=N}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 QQ=(_,$)=>{if(E0($))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 Y$(_.common.issues);return this._error=U,this._error}}}};function s(_){if(!_)return{};let{errorMap:$,invalid_type_error:U,required_error:N,description:D}=_;if($&&(U||N))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};return{errorMap:(I,E)=>{let{message:W}=_;if(I.code==="invalid_enum_value")return{message:W??E.defaultError};if(typeof E.data>"u")return{message:W??N??E.defaultError};if(I.code!=="invalid_type")return{message:E.defaultError};return{message:W??U??E.defaultError}},description:D}}class $_{get description(){return this._def.description}_getType(_){return k6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:k6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new e_,ctx:{common:_.parent.common,data:_.data,parsedType:k6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(u1($))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:k6(_)},N=this._parseSync({data:_,path:U.path,parent:U});return QQ(U,N)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:k6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return E0(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)=>E0(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:k6(_)},N=this._parse({data:_,path:U.path,parent:U}),D=await(u1(N)?N:Promise.resolve(N));return QQ(U,D)}refine(_,$){let U=(N)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(N);else return $};return this._refinement((N,D)=>{let j=_(N),I=()=>D.addIssue({code:C.custom,...U(N)});if(typeof Promise<"u"&&j instanceof Promise)return j.then((E)=>{if(!E)return I(),!1;else return!0});if(!j)return I(),!1;else return!0})}refinement(_,$){return this._refinement((U,N)=>{if(!_(U))return N.addIssue(typeof $==="function"?$(U,N):$),!1;else return!0})}_refinement(_){return new H$({schema:this,typeName:t.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 c$.create(this,this._def)}nullable(){return b6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return r$.create(this)}promise(){return L0.create(this,this._def)}or(_){return kU.create([this,_],this._def)}and(_){return bU.create(this,_,this._def)}transform(_){return new H$({...s(this._def),schema:this,typeName:t.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new fU({...s(this._def),innerType:this,defaultValue:$,typeName:t.ZodDefault})}brand(){return new dE({typeName:t.ZodBranded,type:this,...s(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new xU({...s(this._def),innerType:this,catchValue:$,typeName:t.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return d1.create(this,_)}readonly(){return yU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var vb=/^c[^\s-]{8,}$/i,fb=/^[0-9a-z]+$/,xb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,yb=/^[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,hb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,rb=/^[-+]?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)?)??$/,cb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,mb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Kz,nb=/^(?:(?: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])$/,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])\/(3[0-2]|[12]?[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]))$/,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]))\/(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}=))?$/,ob=/^([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])))",pb=new RegExp(`^${qQ}$`);function kQ(_){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(`^${kQ(_)}$`)}function bQ(_){let $=`${qQ}T${kQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function eb(_,$){if(($==="v4"||!$)&&nb.test(_))return!0;if(($==="v6"||!$)&&lb.test(_))return!0;return!1}function sb(_,$){if(!hb.test(_))return!1;try{let[U]=_.split(".");if(!U)return!1;let N=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),D=JSON.parse(atob(N));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 _C(_,$){if(($==="v4"||!$)&&db.test(_))return!0;if(($==="v6"||!$)&&ib.test(_))return!0;return!1}class h$ extends $_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.string,received:D.parsedType}),i}let U=new e_,N=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.length<D.value)N=this._getOrReturnCtx(_,N),u(N,{code:C.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)N=this._getOrReturnCtx(_,N),u(N,{code:C.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,I=_.data.length<D.value;if(j||I){if(N=this._getOrReturnCtx(_,N),j)u(N,{code:C.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});else if(I)u(N,{code:C.too_small,minimum:D.value,type:"string",inclusive:!0,exact:!0,message:D.message});U.dirty()}}else if(D.kind==="email"){if(!cb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"email",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="emoji"){if(!Kz)Kz=new RegExp(mb,"u");if(!Kz.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"emoji",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="uuid"){if(!yb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"uuid",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="nanoid"){if(!ub.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"nanoid",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid"){if(!vb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"cuid",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cuid2"){if(!fb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"cuid2",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ulid"){if(!xb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"ulid",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="url")try{new URL(_.data)}catch{N=this._getOrReturnCtx(_,N),u(N,{validation:"url",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="regex"){if(D.regex.lastIndex=0,!D.regex.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"regex",code:C.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))N=this._getOrReturnCtx(_,N),u(N,{code:C.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))N=this._getOrReturnCtx(_,N),u(N,{code:C.invalid_string,validation:{startsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="endsWith"){if(!_.data.endsWith(D.value))N=this._getOrReturnCtx(_,N),u(N,{code:C.invalid_string,validation:{endsWith:D.value},message:D.message}),U.dirty()}else if(D.kind==="datetime"){if(!bQ(D).test(_.data))N=this._getOrReturnCtx(_,N),u(N,{code:C.invalid_string,validation:"datetime",message:D.message}),U.dirty()}else if(D.kind==="date"){if(!pb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{code:C.invalid_string,validation:"date",message:D.message}),U.dirty()}else if(D.kind==="time"){if(!ab(D).test(_.data))N=this._getOrReturnCtx(_,N),u(N,{code:C.invalid_string,validation:"time",message:D.message}),U.dirty()}else if(D.kind==="duration"){if(!rb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"duration",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="ip"){if(!eb(_.data,D.version))N=this._getOrReturnCtx(_,N),u(N,{validation:"ip",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="jwt"){if(!sb(_.data,D.alg))N=this._getOrReturnCtx(_,N),u(N,{validation:"jwt",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="cidr"){if(!_C(_.data,D.version))N=this._getOrReturnCtx(_,N),u(N,{validation:"cidr",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64"){if(!tb.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"base64",code:C.invalid_string,message:D.message}),U.dirty()}else if(D.kind==="base64url"){if(!ob.test(_.data))N=this._getOrReturnCtx(_,N),u(N,{validation:"base64url",code:C.invalid_string,message:D.message}),U.dirty()}else E_.assertNever(D);return{status:U.value,value:_.data}}_regex(_,$,U){return this.refinement((N)=>_.test(N),{validation:$,code:C.invalid_string,...n.errToObj(U)})}_addCheck(_){return new h$({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...n.errToObj(_)})}url(_){return this._addCheck({kind:"url",...n.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...n.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...n.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...n.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...n.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...n.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...n.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...n.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...n.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...n.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...n.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...n.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,...n.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,...n.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...n.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...n.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...n.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...n.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...n.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...n.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...n.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...n.errToObj($)})}nonempty(_){return this.min(1,n.errToObj(_))}trim(){return new h$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new h$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new h$({...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 _}}h$.create=(_)=>{return new h$({checks:[],typeName:t.ZodString,coerce:_?.coerce??!1,...s(_)})};function $C(_,$){let U=(_.toString().split(".")[1]||"").length,N=($.toString().split(".")[1]||"").length,D=U>N?U:N,j=Number.parseInt(_.toFixed(D).replace(".","")),I=Number.parseInt($.toFixed(D).replace(".",""));return j%I/10**D}class A4 extends $_{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 u(D,{code:C.invalid_type,expected:r.number,received:D.parsedType}),i}let U=void 0,N=new e_;for(let D of this._def.checks)if(D.kind==="int"){if(!E_.isInteger(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:C.invalid_type,expected:"integer",received:"float",message:D.message}),N.dirty()}else if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_small,minimum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),N.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),N.dirty()}else if(D.kind==="multipleOf"){if($C(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),u(U,{code:C.not_multiple_of,multipleOf:D.value,message:D.message}),N.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:C.not_finite,message:D.message}),N.dirty()}else E_.assertNever(D);return{status:N.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,N){return new A4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(N)}]})}_addCheck(_){return new A4({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:n.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.toString($)})}finite(_){return this._addCheck({kind:"finite",message:n.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:n.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:n.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"&&E_.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(_)}}A4.create=(_)=>{return new A4({checks:[],typeName:t.ZodNumber,coerce:_?.coerce||!1,...s(_)})};class W4 extends $_{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,N=new e_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.data<D.value:_.data<=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_small,type:"bigint",minimum:D.value,inclusive:D.inclusive,message:D.message}),N.dirty()}else if(D.kind==="max"){if(D.inclusive?_.data>D.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),N.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))U=this._getOrReturnCtx(_,U),u(U,{code:C.not_multiple_of,multipleOf:D.value,message:D.message}),N.dirty()}else E_.assertNever(D);return{status:N.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:r.bigint,received:$.parsedType}),i}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,N){return new W4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(N)}]})}_addCheck(_){return new W4({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.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 _}}W4.create=(_)=>{return new W4({checks:[],typeName:t.ZodBigInt,coerce:_?.coerce??!1,...s(_)})};class ZU extends $_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.boolean,received:U.parsedType}),i}return j$(_.data)}}ZU.create=(_)=>{return new ZU({typeName:t.ZodBoolean,coerce:_?.coerce||!1,...s(_)})};class A0 extends $_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==r.date){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.date,received:D.parsedType}),i}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_date}),i}let U=new e_,N=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()<D.value)N=this._getOrReturnCtx(_,N),u(N,{code:C.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)N=this._getOrReturnCtx(_,N),u(N,{code:C.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else E_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new A0({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:n.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:n.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}}A0.create=(_)=>{return new A0({checks:[],coerce:_?.coerce||!1,typeName:t.ZodDate,...s(_)})};class h1 extends $_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.symbol,received:U.parsedType}),i}return j$(_.data)}}h1.create=(_)=>{return new h1({typeName:t.ZodSymbol,...s(_)})};class HU extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.undefined,received:U.parsedType}),i}return j$(_.data)}}HU.create=(_)=>{return new HU({typeName:t.ZodUndefined,...s(_)})};class qU extends $_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.null,received:U.parsedType}),i}return j$(_.data)}}qU.create=(_)=>{return new qU({typeName:t.ZodNull,...s(_)})};class W0 extends $_{constructor(){super(...arguments);this._any=!0}_parse(_){return j$(_.data)}}W0.create=(_)=>{return new W0({typeName:t.ZodAny,...s(_)})};class E4 extends $_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return j$(_.data)}}E4.create=(_)=>{return new E4({typeName:t.ZodUnknown,...s(_)})};class D6 extends $_{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:r.never,received:$.parsedType}),i}}D6.create=(_)=>{return new D6({typeName:t.ZodNever,...s(_)})};class r1 extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.void,received:U.parsedType}),i}return j$(_.data)}}r1.create=(_)=>{return new r1({typeName:t.ZodVoid,...s(_)})};class r$ extends $_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),N=this._def;if($.parsedType!==r.array)return u($,{code:C.invalid_type,expected:r.array,received:$.parsedType}),i;if(N.exactLength!==null){let j=$.data.length>N.exactLength.value,I=$.data.length<N.exactLength.value;if(j||I)u($,{code:j?C.too_big:C.too_small,minimum:I?N.exactLength.value:void 0,maximum:j?N.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:N.exactLength.message}),U.dirty()}if(N.minLength!==null){if($.data.length<N.minLength.value)u($,{code:C.too_small,minimum:N.minLength.value,type:"array",inclusive:!0,exact:!1,message:N.minLength.message}),U.dirty()}if(N.maxLength!==null){if($.data.length>N.maxLength.value)u($,{code:C.too_big,maximum:N.maxLength.value,type:"array",inclusive:!0,exact:!1,message:N.maxLength.message}),U.dirty()}if($.common.async)return Promise.all([...$.data].map((j,I)=>{return N.type._parseAsync(new m$($,j,$.path,I))})).then((j)=>{return e_.mergeArray(U,j)});let D=[...$.data].map((j,I)=>{return N.type._parseSync(new m$($,j,$.path,I))});return e_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new r$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new r$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new r$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}r$.create=(_,$)=>{return new r$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:t.ZodArray,...s($)})};function VU(_){if(_ instanceof w_){let $={};for(let U in _.shape){let N=_.shape[U];$[U]=c$.create(VU(N))}return new w_({..._._def,shape:()=>$})}else if(_ instanceof r$)return new r$({..._._def,type:VU(_.element)});else if(_ instanceof c$)return c$.create(VU(_.unwrap()));else if(_ instanceof b6)return b6.create(VU(_.unwrap()));else if(_ instanceof N6)return N6.create(_.items.map(($)=>VU($)));else return _}class w_ extends $_{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(),$=E_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==r.object){let W=this._getOrReturnCtx(_);return u(W,{code:C.invalid_type,expected:r.object,received:W.parsedType}),i}let{status:U,ctx:N}=this._processInputParams(_),{shape:D,keys:j}=this._getCached(),I=[];if(!(this._def.catchall instanceof D6&&this._def.unknownKeys==="strip")){for(let W in N.data)if(!j.includes(W))I.push(W)}let E=[];for(let W of j){let J=D[W],L=N.data[W];E.push({key:{status:"valid",value:W},value:J._parse(new m$(N,L,N.path,W)),alwaysSet:W in N.data})}if(this._def.catchall instanceof D6){let W=this._def.unknownKeys;if(W==="passthrough")for(let J of I)E.push({key:{status:"valid",value:J},value:{status:"valid",value:N.data[J]}});else if(W==="strict"){if(I.length>0)u(N,{code:C.unrecognized_keys,keys:I}),U.dirty()}else if(W==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let W=this._def.catchall;for(let J of I){let L=N.data[J];E.push({key:{status:"valid",value:J},value:W._parse(new m$(N,L,N.path,J)),alwaysSet:J in N.data})}}if(N.common.async)return Promise.resolve().then(async()=>{let W=[];for(let J of E){let L=await J.key,S=await J.value;W.push({key:L,value:S,alwaysSet:J.alwaysSet})}return W}).then((W)=>{return e_.mergeObjectSync(U,W)});else return e_.mergeObjectSync(U,E)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new w_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let N=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??N};return{message:N}}}:{}})}strip(){return new w_({...this._def,unknownKeys:"strip"})}passthrough(){return new w_({...this._def,unknownKeys:"passthrough"})}extend(_){return new w_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new w_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:t.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new w_({...this._def,catchall:_})}pick(_){let $={};for(let U of E_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new w_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of E_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new w_({...this._def,shape:()=>$})}deepPartial(){return VU(this)}partial(_){let $={};for(let U of E_.objectKeys(this.shape)){let N=this.shape[U];if(_&&!_[U])$[U]=N;else $[U]=N.optional()}return new w_({...this._def,shape:()=>$})}required(_){let $={};for(let U of E_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof c$)D=D._def.innerType;$[U]=D}return new w_({...this._def,shape:()=>$})}keyof(){return CQ(E_.objectKeys(this.shape))}}w_.create=(_,$)=>{return new w_({shape:()=>_,unknownKeys:"strip",catchall:D6.create(),typeName:t.ZodObject,...s($)})};w_.strictCreate=(_,$)=>{return new w_({shape:()=>_,unknownKeys:"strict",catchall:D6.create(),typeName:t.ZodObject,...s($)})};w_.lazycreate=(_,$)=>{return new w_({shape:_,unknownKeys:"strip",catchall:D6.create(),typeName:t.ZodObject,...s($)})};class kU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function N(D){for(let I of D)if(I.result.status==="valid")return I.result;for(let I of D)if(I.result.status==="dirty")return $.common.issues.push(...I.ctx.common.issues),I.result;let j=D.map((I)=>new Y$(I.ctx.common.issues));return u($,{code:C.invalid_union,unionErrors:j}),i}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(N);else{let D=void 0,j=[];for(let E of U){let W={...$,common:{...$.common,issues:[]},parent:null},J=E._parseSync({data:$.data,path:$.path,parent:W});if(J.status==="valid")return J;else if(J.status==="dirty"&&!D)D={result:J,ctx:W};if(W.common.issues.length)j.push(W.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let I=j.map((E)=>new Y$(E));return u($,{code:C.invalid_union,unionErrors:I}),i}}get options(){return this._def.options}}kU.create=(_,$)=>{return new kU({options:_,typeName:t.ZodUnion,...s($)})};var q6=(_)=>{if(_ instanceof CU)return q6(_.schema);else if(_ instanceof H$)return q6(_.innerType());else if(_ instanceof wU)return[_.value];else if(_ instanceof J4)return _.options;else if(_ instanceof vU)return E_.objectValues(_.enum);else if(_ instanceof fU)return q6(_._def.innerType);else if(_ instanceof HU)return[void 0];else if(_ instanceof qU)return[null];else if(_ instanceof c$)return[void 0,...q6(_.unwrap())];else if(_ instanceof b6)return[null,...q6(_.unwrap())];else if(_ instanceof dE)return q6(_.unwrap());else if(_ instanceof yU)return q6(_.unwrap());else if(_ instanceof xU)return q6(_._def.innerType);else return[]};class nE extends $_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return u($,{code:C.invalid_type,expected:r.object,received:$.parsedType}),i;let U=this.discriminator,N=$.data[U],D=this.optionsMap.get(N);if(!D)return u($,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),i;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 N=new Map;for(let D of $){let j=q6(D.shape[_]);if(!j.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let I of j){if(N.has(I))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(I)}`);N.set(I,D)}}return new nE({typeName:t.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:N,...s(U)})}}function qz(_,$){let U=k6(_),N=k6($);if(_===$)return{valid:!0,data:_};else if(U===r.object&&N===r.object){let D=E_.objectKeys($),j=E_.objectKeys(_).filter((E)=>D.indexOf(E)!==-1),I={..._,...$};for(let E of j){let W=qz(_[E],$[E]);if(!W.valid)return{valid:!1};I[E]=W.data}return{valid:!0,data:I}}else if(U===r.array&&N===r.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let j=0;j<_.length;j++){let I=_[j],E=$[j],W=qz(I,E);if(!W.valid)return{valid:!1};D.push(W.data)}return{valid:!0,data:D}}else if(U===r.date&&N===r.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class bU extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),N=(D,j)=>{if(Zz(D)||Zz(j))return i;let I=qz(D.value,j.value);if(!I.valid)return u(U,{code:C.invalid_intersection_types}),i;if(Hz(D)||Hz(j))$.dirty();return{status:$.value,value:I.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])=>N(D,j));else return N(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}bU.create=(_,$,U)=>{return new bU({left:_,right:$,typeName:t.ZodIntersection,...s(U)})};class N6 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return u(U,{code:C.invalid_type,expected:r.array,received:U.parsedType}),i;if(U.data.length<this._def.items.length)return u(U,{code:C.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),i;if(!this._def.rest&&U.data.length>this._def.items.length)u(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((j,I)=>{let E=this._def.items[I]||this._def.rest;if(!E)return null;return E._parse(new m$(U,j,U.path,I))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return e_.mergeArray($,j)});else return e_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new N6({...this._def,rest:_})}}N6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new N6({items:_,typeName:t.ZodTuple,rest:null,...s($)})};class c1 extends $_{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 u(U,{code:C.invalid_type,expected:r.object,received:U.parsedType}),i;let N=[],D=this._def.keyType,j=this._def.valueType;for(let I in U.data)N.push({key:D._parse(new m$(U,I,U.path,I)),value:j._parse(new m$(U,U.data[I],U.path,I)),alwaysSet:I in U.data});if(U.common.async)return e_.mergeObjectAsync($,N);else return e_.mergeObjectSync($,N)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof $_)return new c1({keyType:_,valueType:$,typeName:t.ZodRecord,...s(U)});return new c1({keyType:h$.create(),valueType:_,typeName:t.ZodRecord,...s($)})}}class m1 extends $_{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 u(U,{code:C.invalid_type,expected:r.map,received:U.parsedType}),i;let N=this._def.keyType,D=this._def.valueType,j=[...U.data.entries()].map(([I,E],W)=>{return{key:N._parse(new m$(U,I,U.path,[W,"key"])),value:D._parse(new m$(U,E,U.path,[W,"value"]))}});if(U.common.async){let I=new Map;return Promise.resolve().then(async()=>{for(let E of j){let W=await E.key,J=await E.value;if(W.status==="aborted"||J.status==="aborted")return i;if(W.status==="dirty"||J.status==="dirty")$.dirty();I.set(W.value,J.value)}return{status:$.value,value:I}})}else{let I=new Map;for(let E of j){let{key:W,value:J}=E;if(W.status==="aborted"||J.status==="aborted")return i;if(W.status==="dirty"||J.status==="dirty")$.dirty();I.set(W.value,J.value)}return{status:$.value,value:I}}}}m1.create=(_,$,U)=>{return new m1({valueType:$,keyType:_,typeName:t.ZodMap,...s(U)})};class J0 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.set)return u(U,{code:C.invalid_type,expected:r.set,received:U.parsedType}),i;let N=this._def;if(N.minSize!==null){if(U.data.size<N.minSize.value)u(U,{code:C.too_small,minimum:N.minSize.value,type:"set",inclusive:!0,exact:!1,message:N.minSize.message}),$.dirty()}if(N.maxSize!==null){if(U.data.size>N.maxSize.value)u(U,{code:C.too_big,maximum:N.maxSize.value,type:"set",inclusive:!0,exact:!1,message:N.maxSize.message}),$.dirty()}let D=this._def.valueType;function j(E){let W=new Set;for(let J of E){if(J.status==="aborted")return i;if(J.status==="dirty")$.dirty();W.add(J.value)}return{status:$.value,value:W}}let I=[...U.data.values()].map((E,W)=>D._parse(new m$(U,E,U.path,W)));if(U.common.async)return Promise.all(I).then((E)=>j(E));else return j(I)}min(_,$){return new J0({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new J0({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}J0.create=(_,$)=>{return new J0({valueType:_,minSize:null,maxSize:null,typeName:t.ZodSet,...s($)})};class KU extends $_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return u($,{code:C.invalid_type,expected:r.function,received:$.parsedType}),i;function U(I,E){return rE({data:I,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,hE(),gU].filter((W)=>!!W),issueData:{code:C.invalid_arguments,argumentsError:E}})}function N(I,E){return rE({data:I,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,hE(),gU].filter((W)=>!!W),issueData:{code:C.invalid_return_type,returnTypeError:E}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof L0){let I=this;return j$(async function(...E){let W=new Y$([]),J=await I._def.args.parseAsync(E,D).catch((X)=>{throw W.addIssue(U(E,X)),W}),L=await Reflect.apply(j,this,J);return await I._def.returns._def.type.parseAsync(L,D).catch((X)=>{throw W.addIssue(N(L,X)),W})})}else{let I=this;return j$(function(...E){let W=I._def.args.safeParse(E,D);if(!W.success)throw new Y$([U(E,W.error)]);let J=Reflect.apply(j,this,W.data),L=I._def.returns.safeParse(J,D);if(!L.success)throw new Y$([N(J,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new KU({...this._def,args:N6.create(_).rest(E4.create())})}returns(_){return new KU({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new KU({args:_?_:N6.create([]).rest(E4.create()),returns:$||E4.create(),typeName:t.ZodFunction,...s(U)})}}class CU extends $_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}CU.create=(_,$)=>{return new CU({getter:_,typeName:t.ZodLazy,...s($)})};class wU extends $_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:C.invalid_literal,expected:this._def.value}),i}return{status:"valid",value:_.data}}get value(){return this._def.value}}wU.create=(_,$)=>{return new wU({value:_,typeName:t.ZodLiteral,...s($)})};function CQ(_,$){return new J4({values:_,typeName:t.ZodEnum,...s($)})}class J4 extends $_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{expected:E_.joinValues(U),received:$.parsedType,code:C.invalid_type}),i}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{received:$.data,code:C.invalid_enum_value,options:U}),i}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 J4.create(_,{...this._def,...$})}exclude(_,$=this._def){return J4.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}J4.create=CQ;class vU extends $_{_parse(_){let $=E_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==r.string&&U.parsedType!==r.number){let N=E_.objectValues($);return u(U,{expected:E_.joinValues(N),received:U.parsedType,code:C.invalid_type}),i}if(!this._cache)this._cache=new Set(E_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let N=E_.objectValues($);return u(U,{received:U.data,code:C.invalid_enum_value,options:N}),i}return j$(_.data)}get enum(){return this._def.values}}vU.create=(_,$)=>{return new vU({values:_,typeName:t.ZodNativeEnum,...s($)})};class L0 extends $_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.promise&&$.common.async===!1)return u($,{code:C.invalid_type,expected:r.promise,received:$.parsedType}),i;let U=$.parsedType===r.promise?$.data:Promise.resolve($.data);return j$(U.then((N)=>{return this._def.type.parseAsync(N,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}L0.create=(_,$)=>{return new L0({type:_,typeName:t.ZodPromise,...s($)})};class H$ extends $_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===t.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),N=this._def.effect||null,D={addIssue:(j)=>{if(u(U,j),j.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),N.type==="preprocess"){let j=N.transform(U.data,D);if(U.common.async)return Promise.resolve(j).then(async(I)=>{if($.value==="aborted")return i;let E=await this._def.schema._parseAsync({data:I,path:U.path,parent:U});if(E.status==="aborted")return i;if(E.status==="dirty")return FU(E.value);if($.value==="dirty")return FU(E.value);return E});else{if($.value==="aborted")return i;let I=this._def.schema._parseSync({data:j,path:U.path,parent:U});if(I.status==="aborted")return i;if(I.status==="dirty")return FU(I.value);if($.value==="dirty")return FU(I.value);return I}}if(N.type==="refinement"){let j=(I)=>{let E=N.refinement(I,D);if(U.common.async)return Promise.resolve(E);if(E instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return I};if(U.common.async===!1){let I=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(I.status==="aborted")return i;if(I.status==="dirty")$.dirty();return j(I.value),{status:$.value,value:I.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((I)=>{if(I.status==="aborted")return i;if(I.status==="dirty")$.dirty();return j(I.value).then(()=>{return{status:$.value,value:I.value}})})}if(N.type==="transform")if(U.common.async===!1){let j=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!E0(j))return i;let I=N.transform(j.value,D);if(I instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:I}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((j)=>{if(!E0(j))return i;return Promise.resolve(N.transform(j.value,D)).then((I)=>({status:$.value,value:I}))});E_.assertNever(N)}}H$.create=(_,$,U)=>{return new H$({schema:_,typeName:t.ZodEffects,effect:$,...s(U)})};H$.createWithPreprocess=(_,$,U)=>{return new H$({schema:$,effect:{type:"preprocess",transform:_},typeName:t.ZodEffects,...s(U)})};class c$ extends $_{_parse(_){if(this._getType(_)===r.undefined)return j$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}c$.create=(_,$)=>{return new c$({innerType:_,typeName:t.ZodOptional,...s($)})};class b6 extends $_{_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:t.ZodNullable,...s($)})};class fU extends $_{_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}}fU.create=(_,$)=>{return new fU({innerType:_,typeName:t.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...s($)})};class xU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},N=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(u1(N))return N.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new Y$(U.common.issues)},input:U.data})}});else return{status:"valid",value:N.status==="valid"?N.value:this._def.catchValue({get error(){return new Y$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}xU.create=(_,$)=>{return new xU({innerType:_,typeName:t.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...s($)})};class n1 extends $_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.nan,received:U.parsedType}),i}return{status:"valid",value:_.data}}}n1.create=(_)=>{return new n1({typeName:t.ZodNaN,...s(_)})};var UC=Symbol("zod_brand");class dE extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class d1 extends $_{_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 i;if(D.status==="dirty")return $.dirty(),FU(D.value);else return this._def.out._parseAsync({data:D.value,path:U.path,parent:U})})();else{let N=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(N.status==="aborted")return i;if(N.status==="dirty")return $.dirty(),{status:"dirty",value:N.value};else return this._def.out._parseSync({data:N.value,path:U.path,parent:U})}}static create(_,$){return new d1({in:_,out:$,typeName:t.ZodPipeline})}}class yU extends $_{_parse(_){let $=this._def.innerType._parse(_),U=(N)=>{if(E0(N))N.value=Object.freeze(N.value);return N};return u1($)?$.then((N)=>U(N)):U($)}unwrap(){return this._def.innerType}}yU.create=(_,$)=>{return new yU({innerType:_,typeName:t.ZodReadonly,...s($)})};function GQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function wQ(_,$={},U){if(_)return W0.create().superRefine((N,D)=>{let j=_(N);if(j instanceof Promise)return j.then((I)=>{if(!I){let E=GQ($,N),W=E.fatal??U??!0;D.addIssue({code:"custom",...E,fatal:W})}});if(!j){let I=GQ($,N),E=I.fatal??U??!0;D.addIssue({code:"custom",...I,fatal:E})}return});return W0.create()}var DC={object:w_.lazycreate},t;(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"})(t||(t={}));var NC=(_,$={message:`Input not instance of ${_.name}`})=>wQ((U)=>U instanceof _,$),vQ=h$.create,fQ=A4.create,jC=n1.create,IC=W4.create,xQ=ZU.create,EC=A0.create,AC=h1.create,WC=HU.create,JC=qU.create,LC=W0.create,SC=E4.create,PC=D6.create,OC=r1.create,zC=r$.create,XC=w_.create,RC=w_.strictCreate,YC=kU.create,QC=nE.create,GC=bU.create,TC=N6.create,VC=c1.create,BC=m1.create,FC=J0.create,KC=KU.create,MC=CU.create,gC=wU.create,ZC=J4.create,HC=vU.create,qC=L0.create,TQ=H$.create,kC=c$.create,bC=b6.create,CC=H$.createWithPreprocess,wC=d1.create,vC=()=>vQ().optional(),fC=()=>fQ().optional(),xC=()=>xQ().optional(),yC={string:(_)=>h$.create({..._,coerce:!0}),number:(_)=>A4.create({..._,coerce:!0}),boolean:(_)=>ZU.create({..._,coerce:!0}),bigint:(_)=>W4.create({..._,coerce:!0}),date:(_)=>A0.create({..._,coerce:!0})},uC=i;var h={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",taskToPrProjection:"hasna.task_to_pr_projection.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",secureLocalStorePolicy:"hasna.secure_local_store_policy.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"},bz=A.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),q_=A.string().datetime(),a=A.string().trim().min(1),n$=a.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://"),yQ=A.string().regex(/^[a-fA-F0-9]{64}$/),uQ=A.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),L4=A.record(A.unknown()),rU=A.array(A.string().min(1)).default([]),S0=q_.nullable().optional(),hC=new Set(["succeeded","failed","cancelled","blocked","skipped"]),z0=A.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function z_(_){return A.object({schema:A.literal(_),id:A.string().min(1),createdAt:q_,updatedAt:S0,metadata:L4.optional()}).strict()}var pl=A.object({schema:bz,id:A.string().min(1),createdAt:q_,updatedAt:S0,metadata:L4.optional()}).strict(),hQ=A.enum(["agent","human","service","model","workflow","system"]),rC=z_(h.actorRef).extend({kind:hQ,name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional(),capabilities:A.array(A.string().min(1)).default([])}).strict(),j6=A.object({kind:hQ,id:A.string().min(1),name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional()}).strict(),rQ=A.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"]),cC=z_(h.resourceRef).extend({kind:rQ,name:A.string().min(1).optional(),uri:n$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:rU}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),__=A.object({kind:rQ,id:A.string().min(1),name:A.string().min(1).optional(),uri:n$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:rU}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),Cz=A.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),mC=A.enum(["none","partial","full","unknown"]),nC=z_(h.evidenceRef).extend({kind:Cz,uri:n$,sha256:yQ.optional(),summary:A.string().min(1).optional(),contentType:A.string().min(1).optional(),sizeBytes:A.number().int().nonnegative().optional(),redaction:mC.default("unknown"),producer:j6.optional(),resourceRefs:A.array(__).default([]),tags:rU}).strict(),K_=A.object({id:A.string().min(1),kind:Cz.optional(),uri:n$.optional(),sha256:yQ.optional(),summary:A.string().min(1).optional()}).strict(),l1=z_(h.costEstimate).extend({currency:A.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:A.number().int().nonnegative(),provider:A.string().min(1).optional(),model:A.string().min(1).optional(),accountId:A.string().min(1).optional(),promptTokens:A.number().int().nonnegative().optional(),completionTokens:A.number().int().nonnegative().optional(),totalTokens:A.number().int().nonnegative().optional(),basis:A.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:A.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),dC=A.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),cQ=z_(h.decisionEnvelope).extend({decisionType:A.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:dC,actor:j6.optional(),traceId:A.string().min(1).optional(),inputHash:uQ.optional(),policyBundleId:A.string().min(1).optional(),selected:A.array(__).default([]),skipped:A.array(__).default([]),reason:A.string().min(1),obligations:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),costEstimate:l1.optional(),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),lC=z_(h.capabilityCard).extend({kind:A.enum(["model","tool","machine","agent","lane","connector","service"]),name:A.string().min(1),version:A.string().min(1).optional(),status:A.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:A.array(A.string().min(1)).default([]),limitations:A.array(A.string().min(1)).default([]),riskLevel:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:l1.optional(),evidenceRefs:A.array(K_).default([])}).strict(),uU=A.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),iC=A.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"]),tC=A.object({refName:a,requiredForModes:A.array(uU).min(1),allowedSecretInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:a,revocationCheck:A.boolean().default(!0)}).strict(),oC=A.object({operation:a,supportedModes:A.array(uU).min(1),sideEffectClass:iC,requiresApproval:A.boolean().default(!1),requiresIdempotencyKey:A.boolean().default(!1),requiresSandboxEvidence:A.boolean().default(!1),requiresRollbackOrRevocation:A.boolean().default(!1),rollbackOrRevocation:a.optional(),noSideEffectSmoke:a.optional(),reconciliation:a.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),pC=A.object({providerId:a,appId:a,adapterId:a,ownerPackage:a,modes:A.array(uU).min(1),defaultMode:uU,credentialRequirements:A.array(tC).default([]),operations:A.array(oC).min(1),rateLimitPosture:a,costPosture:a.optional(),auditEvents:A.array(a).default([]),redactionRules:A.array(a).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:A.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set(_.operations.flatMap((N)=>N.supportedModes));for(let N of U)if(!_.modes.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`operation mode ${N} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),aC=A.object({appId:a,repo:a,priority:A.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:A.array(a).min(1),firstOperations:A.array(a).min(1),blockedUntil:A.array(a).default([])}).strict(),eC=z_(h.providerLiveModeStandard).extend({name:a,version:a,modes:A.array(uU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:A.array(a).min(1),liveMutationGate:A.object({requiredMode:A.literal("live_mutating"),requiredChecks:A.array(a).min(1),forbiddenBypassSignals:A.array(a).min(1),disabledLiveSmoke:a}).strict(),noSideEffectSmoke:A.object({requiredForModes:A.array(uU).min(1),commandEvidence:A.array(a).min(1),secretOutputScan:A.boolean().default(!0)}).strict(),credentialPolicy:A.object({acceptedInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:A.literal(!1),missingCredentialBehavior:A.literal("fail_closed"),revocationCheckRequired:A.boolean().default(!0)}).strict(),operationCards:A.array(pC).min(1),firstAdoptionTargets:A.array(aC).min(1),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),N=new Set(_.operationCards.map((D)=>D.appId));for(let D of U)if(!N.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),sC=A.object({id:A.string().min(1),title:A.string().min(1).optional(),summary:A.string().min(1),text:A.string().optional(),tokens:A.number().int().nonnegative().optional(),source:K_,resourceRefs:A.array(__).default([])}).strict(),mQ=z_(h.contextPack).extend({objective:A.string().min(1),budget:A.object({maxTokens:A.number().int().positive().optional(),maxBytes:A.number().int().positive().optional()}).strict().optional(),items:A.array(sC).default([]),citations:A.array(K_).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),permissions:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),conflicts:A.array(A.string().min(1)).default([]),uncertainty:A.string().min(1).optional()}).strict(),g$=a.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),P0=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),_w=A.enum(["public","internal","private","sensitive"]),$w=A.enum(["draft","active","paused","archived"]),wz=A.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),nQ=z_(h.integrationRef).extend({kind:wz,name:A.string().min(1),projectId:P0.optional(),sourcePackage:a.optional(),externalId:a.optional(),uri:n$.optional(),enabled:A.boolean().default(!0),readOnly:A.boolean().default(!0),capabilities:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:__.optional(),evidenceRefs:A.array(K_).default([]),config:L4.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),Uw=A.object({schemaRoot:g$.default(".hasna/project"),dashboardManifest:g$.default(".hasna/project/dashboard.render.json"),snapshotsDir:g$.default(".hasna/project/snapshots"),documentsDir:g$.default("documents"),reportsDir:g$.default("reports"),evidenceDir:g$.default(".hasna/project/evidence"),privateDir:g$.default(".hasna/project/private")}).strict(),Dw=z_(h.projectManifest).extend({projectId:P0,slug:P0,name:A.string().min(1),summary:A.string().min(1).optional(),status:$w.default("active"),classification:_w.default("private"),owner:j6.optional(),layout:Uw.default({}),integrations:A.array(nQ).default([]),renderManifests:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),tags:rU}).strict().superRefine((_,$)=>{let U=new Set,N=new Set;if(_.projectId!==_.slug)$.addIssue({code:A.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:A.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:A.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:A.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(N.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});N.add(j.id)}}),Nw=A.enum(["local","package","provider","url"]),vz=A.object({id:A.string().min(1),kind:Nw,specifier:A.string().min(1),path:g$.optional(),packageName:A.string().min(1).optional(),uri:n$.optional(),provider:wz.optional(),schemaId:bz.optional(),integrity:uQ.optional(),resourceRef:__.optional(),optional:A.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:A.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:A.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:A.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),jw=A.enum(["dashboard","canvas","panel","report","document","custom"]),Iw=A.object({id:A.string().min(1),title:A.string().min(1),kind:jw,default:A.boolean().default(!1),entry:g$.optional(),imports:A.array(vz).default([]),panelRefs:A.array(__).default([]),dataRefs:A.array(__).default([]),layout:L4.optional()}).strict(),Ew=z_(h.renderManifest).extend({projectId:P0,name:A.string().min(1),version:A.string().min(1),manifestPath:g$.default(".hasna/project/dashboard.render.json"),renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:A.array(Iw).min(1),imports:A.array(vz).default([]),theme:L4.optional(),compatibility:A.object({minProjectsVersion:A.string().min(1).optional(),minContractsVersion:A.string().min(1).optional()}).strict().optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((j)=>j.default),N=new Set,D=new Set;if(U.length>1)$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[j,I]of _.imports.entries()){if(D.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",j,"id"]});D.add(I.id)}for(let[j,I]of _.views.entries()){if(N.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",j,"id"]});N.add(I.id);let E=new Set;for(let[W,J]of I.imports.entries()){if(E.has(J.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",j,"imports",W,"id"]});E.add(J.id)}for(let[W,J]of I.panelRefs.entries())if(J.kind!=="panel")$.addIssue({code:A.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",j,"panelRefs",W,"kind"]})}}),Aw=A.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),Ww=A.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Jw=A.object({id:A.string().min(1),label:A.string().min(1),value:A.union([A.string(),A.number(),A.boolean()]),unit:A.string().min(1).optional(),status:A.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:A.array(__).default([])}).strict(),Lw=A.object({id:A.string().min(1),title:A.string().min(1),summary:A.string().min(1).optional(),status:A.string().min(1).optional(),priority:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:q_.optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),metadata:L4.optional()}).strict(),Sw=A.object({renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:A.string().min(1).optional(),entry:g$.optional(),imports:A.array(vz).default([]),spec:L4.default({})}).strict(),dQ=z_(h.projectPanel).extend({projectId:P0,provider:A.object({kind:wz,id:A.string().min(1),name:A.string().min(1).optional(),sourcePackage:a.optional(),externalId:a.optional()}).strict(),kind:Ww,title:A.string().min(1),summary:A.string().min(1).optional(),state:Aw.default("ready"),stateReason:A.string().min(1).optional(),generatedAt:q_,freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),metrics:A.array(Jw).default([]),items:A.array(Lw).default([]),actions:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),renderFragment:Sw.optional(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set(["error","auth_required","unavailable","stale"]),N=new Set,D=new Set;if(U.has(_.state)&&!_.stateReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:A.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[j,I]of _.metrics.entries()){if(N.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",j,"id"]});N.add(I.id)}for(let[j,I]of _.items.entries()){if(D.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",j,"id"]});D.add(I.id)}for(let[j,I]of _.actions.entries())if(I.kind!=="action")$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",j,"kind"]})}),Pw=z_(h.projectSnapshot).extend({projectId:P0,generatedAt:q_,status:z0.default("unknown"),manifestRef:__,renderManifestRef:__.optional(),panels:A.array(dQ).default([]),contextPacks:A.array(mQ).default([]),proofBundleRefs:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),warnings:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,N=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:A.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:A.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:A.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(j.id))$.addIssue({code:A.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(N.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});N.add(j.id)}}),lQ=A.object({id:A.string().min(1),kind:A.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),expected:A.string().min(1).optional(),timeoutMs:A.number().int().positive().optional(),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:A.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Ow=z_(h.validationPlan).extend({objective:A.string().min(1),subject:__.optional(),checks:A.array(lQ).min(1),verifier:j6.optional(),requiredEvidenceKinds:A.array(Cz).default([])}).strict(),zw=A.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Xw=A.enum(["draft","active","deprecated","archived"]),Rw=A.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"]),Yw=A.object({key:A.string().regex(/^[A-Z][A-Z0-9_]*$/),description:A.string().min(1),required:A.boolean().default(!1),["secret"]:A.boolean().default(!1),group:A.string().min(1).optional(),default:A.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Qw=A.object({name:A.string().min(1),command:A.string().min(1),description:A.string().min(1).optional(),required:A.boolean().default(!1)}).strict(),Gw=A.object({packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:A.array(A.string().min(1)).default([]),requiredFiles:A.array(A.string().min(1)).default([]),requiredDirectories:A.array(A.string().min(1)).default([]),optionalDirectories:A.array(A.string().min(1)).default([])}).strict(),Tw=z_(h.scaffoldManifest).extend({name:A.string().min(1),version:A.string().min(1),summary:A.string().min(1),type:zw,status:Xw.default("draft"),capabilities:A.array(Rw).default([]),techStack:A.array(A.string().min(1)).default([]),tags:rU,source:__.optional(),output:Gw,env:A.array(Yw).default([]),scripts:A.array(Qw).default([]),validationChecks:A.array(lQ).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:A.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Vw=A.enum(["installed","failed","cancelled","partial","unknown"]),Bw=z_(h.scaffoldInstallRecord).extend({scaffoldId:A.string().min(1),scaffoldVersion:A.string().min(1).optional(),manifestRef:__.optional(),target:__,status:Vw,installedAt:q_.optional(),installer:j6.optional(),packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:L4.optional(),generatedFiles:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),hU=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),fz=A.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),iQ=A.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"),Fw=A.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Kw=a.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Mw=A.enum(["active","stub","deprecated","archived"]),gw=A.enum(["stable","beta","canary","internal"]),Zw=A.object({transport:A.enum(["http","stdio"]).default("http"),bin:A.string().min(1).optional(),url:n$.optional()}).strict(),Hw=A.object({healthPath:A.string().min(1).default("/health"),port:A.number().int().positive().optional(),baseUrl:n$.optional()}).strict(),qw=A.object({bins:A.array(A.string().min(1)).default([]),mcp:Zw.optional(),http:Hw.optional()}).strict(),kw=z_(h.app).extend({appId:hU,npmName:fz,repoFolder:hU,githubUrl:Kw,projectSlug:P0,surfaces:qw.default({}),lifecycle:Mw,releaseChannel:gw.default("stable"),summary:A.string().min(1).optional(),tags:rU}).strict().superRefine((_,$)=>{let U=new Set;for(let[N,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",N]});U.add(D)}}),bw=A.enum(["skill","ci","backfilled"]),Cw=z_(h.release).extend({appId:hU,package:fz,version:iQ,gitSha:Fw,publishedAt:q_,publishPath:bw,changelogRef:__.optional(),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),ww=A.enum(["install","update","rollback","freeze-blocked"]),vw=A.object({cliVersion:A.string().min(1).optional(),mcpHealth:A.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),fw=z_(h.rolloutRecord).extend({appId:hU,package:fz,version:iQ,machine:a,action:ww,result:z0,verifiedBy:vw.optional(),at:q_,evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:A.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",N=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||N&&!U))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),xw=A.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),yw=A.enum(["pending","queued","sent","failed","skipped","suppressed"]),uw=A.object({channel:xw,status:yw,deliveredAt:q_.optional(),detail:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),hw=z_(h.announcement).extend({campaignId:a,appId:hU.optional(),releaseRef:__.optional(),channels:A.array(uw).min(1),audienceRef:__,sentAt:q_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),rw=A.enum(["tag","attribute","group"]),cw=A.enum(["eq","neq","in","not_in","exists","not_exists"]),VQ=A.union([A.string(),A.number(),A.boolean()]),mw=A.object({kind:rw,key:A.string().min(1).optional(),op:cw.default("eq"),value:VQ.optional(),values:A.array(VQ).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:A.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),nw=A.object({match:A.enum(["all","any"]).default("all"),predicates:A.array(mw).min(1)}).strict(),dw=A.enum(["opt_in","opt_out","transactional","none"]),lw=z_(h.audience).extend({audienceId:hU,name:a,definition:nw,consentPolicy:dw,suppressionSyncedAt:S0}).strict(),uE=["@hasna/cloud","open-cloud"],iw=A.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),tw=A.object({id:A.string().min(1),provider:iw,kind:A.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:A.string().min(1),region:A.string().min(1).optional(),accountId:A.string().min(1).optional(),uri:n$.optional(),machineScoped:A.boolean().default(!1)}).strict(),tQ=z_(h.appCloudManifest).extend({packageName:A.string().min(1),packageVersion:A.string().min(1).optional(),appId:A.string().min(1),repository:__.optional(),storageMode:A.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:A.enum(["none","app_owned","external_service","local_cache"]),cloudResources:A.array(tw).default([]),localCache:A.object({path:A.string().min(1).optional(),pullMode:A.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:A.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:A.array(A.string().min(1)).default([...uE]),dependencies:A.array(A.string().min(1)).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...uE,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:A.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let N of uE)if(!_.forbiddenSharedRuntimes.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${N}`,path:["forbiddenSharedRuntimes"]});for(let N of U)if(_.dependencies.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${N}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:A.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:A.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((N,D)=>{if(N.ownerPackage!==_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),oQ=A.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),ow=A.enum(["low","medium","high","critical"]),pQ=A.object({id:A.string().min(1),kind:oQ,severity:ow,path:A.string().min(1).optional(),packageName:A.string().min(1).optional(),pattern:A.string().min(1),message:A.string().min(1),evidenceRefs:A.array(K_).default([])}).strict(),pw=A.object({id:A.string().min(1),kind:oQ,status:z0,target:A.string().min(1),command:A.string().min(1).optional(),evidenceRefs:A.array(K_).default([]),findings:A.array(pQ).default([])}).strict(),aw=z_(h.noCloudEvidencePack).extend({subject:__,packageName:A.string().min(1).optional(),packageVersion:A.string().min(1).optional(),generatedBy:j6.optional(),scanMode:A.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:z0,verdict:A.enum(["passed","failed","warning","not_run"]),appCloudManifest:tQ.optional(),checks:A.array(pw).min(1),findings:A.array(pQ).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=[..._.findings,..._.checks.flatMap((D)=>D.findings)],N=U.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(N.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,j)=>{let I=D.findings.filter((E)=>E.severity==="high"||E.severity==="critical");if(D.status==="succeeded"&&I.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",j,"findings"]})})}),ew=A.object({checkId:A.string().min(1),status:z0,summary:A.string().min(1).optional(),startedAt:S0,finishedAt:S0,evidenceRefs:A.array(K_).default([])}).strict(),sw=z_(h.proofBundle).extend({subject:__,validationPlanRef:__.optional(),status:z0,verdict:A.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:A.array(ew).default([]),verifier:j6.optional(),evidenceRefs:A.array(K_).default([]),residualRisks:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((N,D)=>{if(N.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((N)=>N.evidenceRefs.length>0)))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),_v=z_(h.workRun).extend({objective:A.string().min(1),status:z0,actor:j6,traceId:A.string().min(1).optional(),startedAt:S0,finishedAt:S0,constraints:A.array(A.string().min(1)).default([]),resourceRefs:A.array(__).default([]),decisions:A.array(cQ).default([]),costEstimates:A.array(l1).default([]),evidenceRefs:A.array(K_).default([]),validationPlanRefs:A.array(__).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)<Date.parse(_.startedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"finishedAt must be after or equal to startedAt",path:["finishedAt"]});if(hC.has(_.status)&&!_.finishedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal work runs require finishedAt",path:["finishedAt"]});let U=_.evidenceRefs.length>0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),$v=Object.freeze({work_run:Object.freeze(["codewith"]),root_request:Object.freeze(["todos"]),pr_group:Object.freeze(["todos"]),leaf_task:Object.freeze(["todos"]),attempt:Object.freeze(["todos"]),writer_generation:Object.freeze(["todos"]),writer_lease:Object.freeze(["repos"]),writer_fence:Object.freeze(["repos"]),provider_profile:Object.freeze(["codewith"]),provider_route:Object.freeze(["codewith"]),admission:Object.freeze(["codewith"]),worker_actor:Object.freeze(["codewith"]),worker:Object.freeze(["codewith"]),runtime:Object.freeze(["codewith"]),repo:Object.freeze(["repos"]),worktree:Object.freeze(["repos"]),branch:Object.freeze(["repos"]),event_stream:Object.freeze(["todos"]),replay_cursor:Object.freeze(["todos"]),handoff:Object.freeze(["todos"]),pull_request:Object.freeze(["todos"]),commit:Object.freeze(["repos"]),review:Object.freeze(["review"]),reviewer:Object.freeze(["review"]),review_run:Object.freeze(["review"]),proof_bundle:Object.freeze(["review"]),repair_cycle:Object.freeze(["todos"]),merge_guard:Object.freeze(["todos"]),merge_operator:Object.freeze(["merge_provider"]),merge_operator_run:Object.freeze(["merge_provider"]),merge_guard_receipt:Object.freeze(["merge_provider"]),merge_outcome:Object.freeze(["merge_provider"]),recovery:Object.freeze(["todos"]),cancellation:Object.freeze(["todos"]),cleanup_eligibility:Object.freeze(["repos"]),cleanup_outcome:Object.freeze(["repos"]),rollback_plan:Object.freeze(["todos"]),rollback_outcome:Object.freeze(["repos"]),terminal_disposition:Object.freeze(["todos"]),openloops_invocation:Object.freeze(["openloops"]),adapter_extension:Object.freeze(["adapter"])}),Uv=A.enum(["work_run","root_request","pr_group","leaf_task","attempt","writer_generation","writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","repo","worktree","branch","event_stream","replay_cursor","handoff","pull_request","commit","review","reviewer","review_run","proof_bundle","repair_cycle","merge_guard","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","recovery","cancellation","cleanup_eligibility","cleanup_outcome","rollback_plan","rollback_outcome","terminal_disposition","openloops_invocation","adapter_extension"]),Dv=A.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),O0=A.string().regex(/^[a-f0-9]{64}$/),lE=A.string().trim().min(3).max(256),aQ=/^[a-f0-9]{32}$/;function Nv(_,$,U){return`${_}:${$}:opaque-${U.slice(0,32)}`}function jv(_){return`evidence:opaque-${_.slice(0,32)}`}var eQ=lE.refine((_)=>{let U=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return aQ.test(U)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),xz=lE.refine((_)=>{let U=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return aQ.test(U)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),Iv=new Set(["writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","worktree","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","openloops_invocation","adapter_extension"]),yz=A.object({role:Uv,authority:Dv,id:lE,digest:O0,redaction:A.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let U=$v[_.role];if(!U.includes(_.authority))$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${U.join(" or ")}`,path:["authority"]});if(Iv.has(_.role)&&_.redaction==="none")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let N=Nv(_.role,_.authority,_.digest);if(_.id!==N)$.addIssue({code:A.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),Z$=A.object({id:lE,digest:O0,redaction:A.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==jv(_.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function sQ(_,$,U,N){if(_.id===$.id||_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:N})}function H(_){return yz.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function H_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function uz(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function MU(_,$,U,N,D){if(uz(_,$))U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:N});if(_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:N})}function cE(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function N$(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var F_=A.object({algorithm:A.enum(["sha1","sha256"]),value:A.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let U=_.algorithm==="sha1"?40:64;if(_.value.length!==U)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${U} lowercase hex characters`,path:["value"]})});function BQ(_){if(_.canonicalizationVersion===1){let U=JSON.stringify(["hasna.task_to_pr_projection.binding.v1",_.canonicalizationVersion,_.rootRequestRef.id,_.rootRequestRef.digest,_.prGroupRef.id,_.prGroupRef.digest,_.leafTaskRef.id,_.leafTaskRef.digest,_.repoRef.id,_.repoRef.digest,_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return YQ("sha256").update(U,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((U)=>[U.role,U.authority,U.id,U.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return YQ("sha256").update($,"utf8").digest("hex")}var Ev=A.object({ref:H("attempt"),nonce:xz,admissionRef:H("admission"),admissionWriterGenerationRef:H("writer_generation"),workerActorRef:H("worker_actor"),workerRef:H("worker"),runtimeRef:H("runtime"),writerGenerationRef:H("writer_generation"),writerLeaseRef:H("writer_lease"),writerFenceRef:H("writer_fence"),providerProfileRef:H("provider_profile"),providerRouteRef:H("provider_route")}).strict(),Av=A.object({repoRef:H("repo"),worktreeRef:H("worktree"),branchRef:H("branch"),baseHead:F_,branchHead:F_}).strict(),Wv=A.object({streamRef:H("event_stream"),replayCursorRef:H("replay_cursor"),sequence:A.number().int().safe().nonnegative(),prefixDigest:O0}).strict(),Jv=A.object({ref:H("handoff"),previousAttemptRef:H("attempt"),nextAttemptRef:H("attempt"),previousWriterGenerationRef:H("writer_generation"),nextWriterGenerationRef:H("writer_generation"),stoppedWorkRunRef:H("work_run"),stopEvidenceRef:Z$,leaseRevocationEvidenceRef:Z$}).strict().superRefine((_,$)=>{MU(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),MU(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),sQ(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Lv=A.object({ref:H("review"),pullRequestRef:H("pull_request"),base:F_,head:F_,reviewerRef:H("reviewer"),reviewRunRef:H("review_run"),proofBundleRef:H("proof_bundle"),verdict:A.enum(["approved","changes_requested","blocked"]),reviewedAt:q_}).strict(),Sv=A.object({pullRequestRef:H("pull_request"),remoteBranchRef:H("branch"),expectedBase:F_,providerPullRequestBase:F_,localHead:F_,remoteHead:F_,providerPullRequestHead:F_,equalityProofRef:H("proof_bundle"),ciProofBundleRefs:A.array(H("proof_bundle")).min(1),verifiedAt:q_}).strict().superRefine((_,$)=>{if(!N$(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!N$(_.localHead,_.remoteHead)||!N$(_.localHead,_.providerPullRequestHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let U=_.ciProofBundleRefs.map(cE);if(new Set(U).size!==U.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let N=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(N).size!==N.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>uz(D,_.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical identities",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>D.digest===_.equalityProofRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),Pv=A.object({ref:H("repair_cycle"),cycle:A.number().int().min(0).max(2),cap:A.literal(2),exhausted:A.boolean(),latestRepairRef:H("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&uz(_.ref,_.latestRepairRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),Ov=A.object({ref:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:F_,expectedHead:F_,reviewRefs:A.array(H("review")).min(1),proofBundleRefs:A.array(H("proof_bundle")).min(1),operatorRef:H("merge_operator"),operatorRunRef:H("merge_operator_run"),providerGuardReceiptRef:H("merge_guard_receipt"),mechanism:A.enum(["compare_and_swap","queue_expected_head"]),decision:A.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:q_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((j)=>j.id)).size!==_.reviewRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(cE)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((j)=>j.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),zv=A.object({ref:H("merge_outcome"),guardRef:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:F_,observedBase:F_,expectedHead:F_,observedHead:F_,status:A.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:H("commit").optional(),finishedAt:q_,evidenceRefs:A.array(Z$).min(1)}).strict().superRefine((_,$)=>{let U=N$(_.expectedBase,_.observedBase),N=N$(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!U||!N)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!U?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&N)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&U)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!N)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!N&&_.status!=="head_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!U&&_.status!=="base_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),Xv=A.object({guard:Ov,outcome:zv.optional()}).strict(),Rv=A.object({ref:H("recovery"),priorAttemptRef:H("attempt"),priorWriterGenerationRef:H("writer_generation"),priorWorkRunRef:H("work_run"),successorAttemptNonce:xz,successorWriterGenerationRef:H("writer_generation"),preservedStateRefs:A.array(yz).min(1),stopEvidenceRef:Z$,leaseRevocationEvidenceRef:Z$}).strict().superRefine((_,$)=>{MU(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),sQ(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Yv=A.object({ref:H("cancellation"),cancelledAttemptRef:H("attempt"),preservedStateRefs:A.array(yz).min(1),evidenceRefs:A.array(Z$).min(1)}).strict(),Qv=A.object({ref:H("cleanup_eligibility"),status:A.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:H("worktree"),eventCursorRef:H("replay_cursor"),terminalDispositionRef:H("terminal_disposition"),writerLeaseRef:H("writer_lease"),leaseRevocationEvidenceRef:Z$,consumedEventEvidenceRef:Z$,evaluatedAt:q_,evidenceRefs:A.array(Z$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),Gv=A.object({ref:H("cleanup_outcome"),eligibilityRef:H("cleanup_eligibility"),targetWorktreeRef:H("worktree"),status:A.enum(["preserved","deleted","failed","skipped"]),finishedAt:q_,evidenceRefs:A.array(Z$).min(1)}).strict(),Tv=A.object({eligibility:Qv,outcome:Gv.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!H_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!H_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility and outcome must bind the same target worktree",path:["outcome","targetWorktreeRef"]});if(_.outcome?.status==="deleted"&&_.eligibility.status!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),Vv=A.object({plan:A.object({ref:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),createdAt:q_}).strict(),outcome:A.object({ref:H("rollback_outcome"),planRef:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),status:A.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:q_,evidenceRefs:A.array(Z$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!H_(_.outcome.planRef,_.plan.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!H_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback target",path:["outcome","targetRef"]});if(_.outcome&&Date.parse(_.outcome.finishedAt)<Date.parse(_.plan.createdAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes cannot finish before their plan was created",path:["outcome","finishedAt"]})}),Bv=A.discriminatedUnion("category",[A.object({category:A.literal("projection_id"),projectionId:eQ}).strict(),A.object({category:A.literal("work_run"),ref:H("work_run")}).strict(),A.object({category:A.literal("attempt"),ref:H("attempt")}).strict(),A.object({category:A.literal("admission"),ref:H("admission")}).strict(),A.object({category:A.literal("worker_actor"),ref:H("worker_actor")}).strict(),A.object({category:A.literal("worker_assignment"),ref:H("worker")}).strict(),A.object({category:A.literal("attempt_nonce"),nonce:xz}).strict(),A.object({category:A.literal("runtime"),ref:H("runtime")}).strict(),A.object({category:A.literal("writer_generation"),ref:H("writer_generation")}).strict(),A.object({category:A.literal("writer_lease"),ref:H("writer_lease")}).strict(),A.object({category:A.literal("writer_fence"),ref:H("writer_fence")}).strict(),A.object({category:A.literal("provider_profile"),ref:H("provider_profile")}).strict(),A.object({category:A.literal("provider_route"),ref:H("provider_route")}).strict(),A.object({category:A.literal("replay_cursor"),ref:H("replay_cursor")}).strict(),A.object({category:A.literal("replay_prefix"),sequence:A.number().int().safe().nonnegative(),prefixDigest:O0}).strict(),A.object({category:A.literal("repair_state"),ref:H("repair_cycle")}).strict(),A.object({category:A.literal("latest_repair"),ref:H("repair_cycle")}).strict(),A.object({category:A.literal("handoff"),ref:H("handoff")}).strict(),A.object({category:A.literal("recovery"),ref:H("recovery")}).strict(),A.object({category:A.literal("merge_guard"),ref:H("merge_guard")}).strict(),A.object({category:A.literal("cleanup_eligibility"),ref:H("cleanup_eligibility")}).strict(),A.object({category:A.literal("rollback_plan"),ref:H("rollback_plan")}).strict(),A.object({category:A.literal("terminal_disposition"),ref:H("terminal_disposition")}).strict(),A.object({category:A.literal("equality_proof"),ref:H("proof_bundle"),base:F_,head:F_}).strict(),A.object({category:A.literal("ci_proof"),ref:H("proof_bundle"),base:F_,head:F_}).strict(),A.object({category:A.literal("review_proof"),ref:H("proof_bundle"),base:F_,head:F_}).strict(),A.object({category:A.literal("review_record"),ref:H("review"),base:F_,head:F_}).strict(),A.object({category:A.literal("review_run"),ref:H("review_run"),base:F_,head:F_}).strict(),A.object({category:A.literal("provider_guard_receipt"),ref:H("merge_guard_receipt"),base:F_,head:F_}).strict()]);function Fv(_){return[{category:"projection_id",projectionId:_.id},{category:"work_run",ref:_.workRunRef},{category:"attempt",ref:_.attempt.ref},{category:"admission",ref:_.attempt.admissionRef},{category:"worker_actor",ref:_.attempt.workerActorRef},{category:"worker_assignment",ref:_.attempt.workerRef},{category:"attempt_nonce",nonce:_.attempt.nonce},{category:"runtime",ref:_.attempt.runtimeRef},{category:"writer_generation",ref:_.attempt.writerGenerationRef},{category:"writer_lease",ref:_.attempt.writerLeaseRef},{category:"writer_fence",ref:_.attempt.writerFenceRef},{category:"provider_profile",ref:_.attempt.providerProfileRef},{category:"provider_route",ref:_.attempt.providerRouteRef},{category:"replay_cursor",ref:_.events.replayCursorRef},{category:"replay_prefix",sequence:_.events.sequence,prefixDigest:_.events.prefixDigest},{category:"repair_state",ref:_.repair.ref},..._.repair.latestRepairRef?[{category:"latest_repair",ref:_.repair.latestRepairRef}]:[],..._.handoff?[{category:"handoff",ref:_.handoff.ref}]:[],..._.recovery?[{category:"recovery",ref:_.recovery.ref}]:[],..._.exactHead?[{category:"equality_proof",ref:_.exactHead.equalityProofRef,base:_.exactHead.expectedBase,head:_.exactHead.localHead},..._.exactHead.ciProofBundleRefs.map(($)=>({category:"ci_proof",ref:$,base:_.exactHead.expectedBase,head:_.exactHead.localHead}))]:[],..._.reviews.flatMap(($)=>[{category:"review_proof",ref:$.proofBundleRef,base:$.base,head:$.head},{category:"review_record",ref:$.ref,base:$.base,head:$.head},{category:"review_run",ref:$.reviewRunRef,base:$.base,head:$.head}]),..._.merge?[{category:"merge_guard",ref:_.merge.guard.ref},{category:"provider_guard_receipt",ref:_.merge.guard.providerGuardReceiptRef,base:_.merge.guard.expectedBase,head:_.merge.guard.expectedHead}]:[],..._.cleanup?[{category:"cleanup_eligibility",ref:_.cleanup.eligibility.ref}]:[],..._.rollback?[{category:"rollback_plan",ref:_.rollback.plan.ref}]:[],..._.terminalDispositionRef?[{category:"terminal_disposition",ref:_.terminalDispositionRef}]:[]]}function Kv(_,$){if(_.category!==$.category)return!1;if(_.category==="projection_id"&&$.category==="projection_id")return _.projectionId===$.projectionId;if(_.category==="attempt_nonce"&&$.category==="attempt_nonce")return _.nonce===$.nonce;if(_.category==="replay_prefix"&&$.category==="replay_prefix")return _.sequence===$.sequence&&_.prefixDigest===$.prefixDigest;if(!("ref"in _)||!("ref"in $))return!1;return H_(_.ref,$.ref)&&(("head"in _)&&("head"in $)&&("base"in _)&&("base"in $)&&N$(_.base,$.base)&&N$(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var Mv="hasna.task_to_pr_adapter_extension.",gv=A.object({mode:A.enum(["local","cloud"]),schema:bz,ref:H("adapter_extension"),digest:O0}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(Mv))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),Zv=A.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),FQ=new Set(["admitted","running","handed_off"]),KQ=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),Hv={admitted:new Set(["absent","denied:none","revoked:none"]),running:new Set(["absent","denied:none","revoked:none"]),handed_off:new Set(["absent","denied:none","revoked:none"]),reviewing:new Set(["absent","denied:none","revoked:none"]),repairing:new Set(["absent","denied:none","revoked:none"]),merge_ready:new Set(["eligible:none"]),merged:new Set(["consumed:merged"]),closed_unmerged:new Set(["consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),failed:new Set(["absent","revoked:none"]),blocked:new Set(["absent","revoked:none"]),cancelled:new Set(["absent","revoked:none"]),recovering:new Set(["absent","denied:none","revoked:none"]),cleanup_complete:new Set(["absent","revoked:none","consumed:merged","consumed:closed_unmerged","consumed:refused","consumed:head_drift","consumed:base_drift"]),rolled_back:new Set(["consumed:merged"])},qv=A.object({schema:A.literal(h.taskToPrProjection),id:eQ,createdAt:q_,canonicalizationVersion:A.union([A.literal(1),A.literal(2)]),identityDigest:O0,frozenScopeDigest:O0,state:Zv,workRunRef:H("work_run"),rootRequestRef:H("root_request"),prGroupRef:H("pr_group"),leafTaskRef:H("leaf_task"),attempt:Ev,repository:Av,events:Wv,openLoopsInvocationRef:H("openloops_invocation").optional(),pullRequestRef:H("pull_request").optional(),exactHead:Sv.optional(),handoff:Jv.optional(),reviews:A.array(Lv).default([]),repair:Pv,merge:Xv.optional(),recovery:Rv.optional(),cancellation:Yv.optional(),cleanup:Tv.optional(),rollback:Vv.optional(),terminalDispositionRef:H("terminal_disposition").optional(),provenanceLedger:A.array(Bv),adapterExtensions:A.array(gv).default([]),evidenceRefs:A.array(Z$).default([])}).strict().superRefine((_,$)=>{let U=_.canonicalizationVersion===1?BQ({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):BQ({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==U)$.addIssue({code:A.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let N=new Set,D=new Set,j=new Set,I=new Set,E=new Set,W=new Set;for(let[T,F]of _.provenanceLedger.entries()){if("ref"in F){if(N.has(F.ref.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(N.add(F.ref.id),D.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(F.ref.digest);continue}if(F.category==="projection_id"){if(j.has(F.projectionId))$.addIssue({code:A.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});j.add(F.projectionId);continue}if(F.category==="attempt_nonce"){if(I.has(F.nonce))$.addIssue({code:A.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});I.add(F.nonce);continue}if(E.has(F.prefixDigest))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(E.add(F.prefixDigest),W.has(F.sequence))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});W.add(F.sequence)}for(let T of Fv(_))if(!_.provenanceLedger.some((F)=>Kv(F,T)))$.addIssue({code:A.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let J=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],L=(T,F,M,q)=>{let x=new Set(F.map((D_)=>D_.role)),l=new Set;for(let[D_,I_]of T.entries()){if(!x.has(I_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} cannot preserve an unrecognized ${I_.role} role`,path:[...M,D_]});if(l.has(I_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve exactly one canonical ref per role`,path:[...M,D_]});l.add(I_.role)}if(T.length!==F.length)$.addIssue({code:A.ZodIssueCode.custom,message:`${q} preservation refs must exactly equal the required canonical role set`,path:M});for(let D_ of F)if(!T.some((I_)=>H_(I_,D_)))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve ${D_.role}`,path:M})};if(_.handoff&&!H_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next generation must be the current attempt writer generation",path:["handoff","nextWriterGenerationRef"]});if(_.handoff&&!H_(_.handoff.nextAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)MU(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!H_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});MU(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),MU(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),L(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...J],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!H_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)L(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...J],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the handoff and recovery snapshot",path:["recovery"]});if(_.cleanup&&!H_(_.cleanup.eligibility.eventCursorRef,_.events.replayCursorRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the current canonical replay cursor",path:["cleanup","eligibility","eventCursorRef"]});if(_.cleanup&&(!_.terminalDispositionRef||!H_(_.cleanup.eligibility.terminalDispositionRef,_.terminalDispositionRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact durable terminal owner fact",path:["cleanup","eligibility","terminalDispositionRef"]});if(_.cleanup&&!H_(_.cleanup.eligibility.writerLeaseRef,_.attempt.writerLeaseRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact writer lease being revoked",path:["cleanup","eligibility","writerLeaseRef"]});if(_.cleanup&&!H_(_.cleanup.eligibility.targetWorktreeRef,_.repository.worktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!H_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,F]of _.reviews.entries())if(!H_(F.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!H_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard must bind the canonical pull request ref",path:["merge","guard","pullRequestRef"]});if(_.merge?.outcome&&!H_(_.merge.outcome.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the canonical pull request ref",path:["merge","outcome","pullRequestRef"]})}else if(_.exactHead||_.reviews.length>0||_.merge)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!N$(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!N$(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head expected base must equal the canonical repository base",path:["exactHead","expectedBase"]});if(_.exactHead&&!H_(_.exactHead.remoteBranchRef,_.repository.branchRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head remote branch ref must equal the canonical repository branch ref",path:["exactHead","remoteBranchRef"]});if(_.exactHead&&Date.parse(_.exactHead.verifiedAt)<Date.parse(_.createdAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head verification cannot precede the projection timestamp",path:["exactHead","verifiedAt"]});if(_.reviews.length>0&&!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews require local/remote/provider exact-head proof",path:["exactHead"]});if(_.exactHead){let T=[{ref:_.exactHead.equalityProofRef,path:["exactHead","equalityProofRef"]},..._.exactHead.ciProofBundleRefs.map((q,x)=>({ref:q,path:["exactHead","ciProofBundleRefs",x]})),..._.reviews.map((q,x)=>({ref:q.proofBundleRef,path:["reviews",x,"proofBundleRef"]}))],F=new Set,M=new Set;for(let q of T){let x=cE(q.ref);if(F.has(x))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:q.path});if(F.add(x),M.has(q.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:q.path});M.add(q.ref.digest)}}let S=new Set,X=new Set,z=new Set,Y=new Set,P=new Set,O=new Set,R=new Set,Q=new Set;for(let[T,F]of _.reviews.entries()){if(!N$(F.base,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!N$(F.head,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[q,x,l]of[[F.ref.id,S,"ref"],[F.reviewerRef.id,z,"reviewerRef"],[F.reviewRunRef.id,P,"reviewRunRef"]]){if(x.has(q))$.addIssue({code:A.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,l]});x.add(q)}if(X.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(X.add(F.ref.digest),Y.has(F.reviewerRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(Y.add(F.reviewerRef.digest),O.has(F.reviewRunRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});O.add(F.reviewRunRef.digest);let M=cE(F.proofBundleRef);if(R.has(M))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(R.add(M),Q.has(F.proofBundleRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(Q.add(F.proofBundleRef.digest),F.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(F.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(F.reviewedAt)<Date.parse(_.exactHead.verifiedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews cannot precede exact-head verification",path:["reviews",T,"reviewedAt"]})}if(_.merge){if(!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge state requires local/remote/provider exact-head proof",path:["exactHead"]});if(!N$(_.merge.guard.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard expected base must equal the exact canonical pull-request base",path:["merge","guard","expectedBase"]});if(!N$(_.merge.guard.expectedHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard expected head must equal the exact canonical branch head",path:["merge","guard","expectedHead"]});if(_.exactHead&&Date.parse(_.merge.guard.evaluatedAt)<Date.parse(_.exactHead.verifiedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guards cannot precede exact-head verification",path:["merge","guard","evaluatedAt"]});if(_.reviews.some((T)=>Date.parse(_.merge.guard.evaluatedAt)<Date.parse(T.reviewedAt)))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guards cannot precede their bound reviews",path:["merge","guard","evaluatedAt"]});if(_.merge.guard.operatorRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and merge operator identities must resolve to distinct canonical digests",path:["merge","guard","operatorRef"]});if(_.merge.guard.operatorRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and merge-operator run must resolve to distinct canonical digests",path:["merge","guard","operatorRunRef"]});for(let[T,F]of _.reviews.entries()){if(_.merge.guard.operatorRef.digest===F.reviewerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer and merge operator identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(_.merge.guard.operatorRunRef.digest===F.reviewRunRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge-operator runs must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]})}if(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed"){if(_.reviews.length===0||_.reviews.some((T)=>T.verdict!=="approved"))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards require at least one review and all reviews approved",path:["merge","guard","decision"]});if(_.merge.guard.reviewRefs.length!==_.reviews.length||_.merge.guard.reviewRefs.some((T)=>!_.reviews.some((F)=>H_(T,F.ref))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guard review refs must exactly equal the projected approved review refs as a canonical set",path:["merge","guard","reviewRefs"]});for(let T of _.reviews)if(!_.merge.guard.proofBundleRefs.some((F)=>H_(F,T.proofBundleRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>H_(T,_.exactHead.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind the exact-head equality proof",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&_.exactHead.ciProofBundleRefs.some((T)=>!_.merge.guard.proofBundleRefs.some((F)=>H_(F,T))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact-head CI proof",path:["merge","guard","proofBundleRefs"]})}}if(_.merge?.outcome){if(!H_(_.merge.outcome.guardRef,_.merge.guard.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!N$(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!N$(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:A.ZodIssueCode.custom,message:"Every merge outcome requires an explicitly consumed merge guard",path:["merge","guard","decision"]});if(Date.parse(_.merge.outcome.finishedAt)<Date.parse(_.merge.guard.evaluatedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcomes cannot precede guard evaluation",path:["merge","outcome","finishedAt"]})}if(_.cleanup){let T=_.merge?.outcome?.finishedAt??_.createdAt;if(Date.parse(_.cleanup.eligibility.evaluatedAt)<Date.parse(T))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility cannot precede the terminal merge outcome or projection",path:["cleanup","eligibility","evaluatedAt"]});if(_.cleanup.outcome&&Date.parse(_.cleanup.outcome.finishedAt)<Date.parse(_.cleanup.eligibility.evaluatedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes cannot precede cleanup eligibility",path:["cleanup","outcome","finishedAt"]})}if(_.rollback?.outcome&&_.merge?.outcome&&Date.parse(_.rollback.outcome.finishedAt)<Date.parse(_.merge.outcome.finishedAt))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes cannot precede the merge outcome they remediate",path:["rollback","outcome","finishedAt"]});if(_.rollback){let T=_.merge?.outcome?.finishedAt??_.createdAt;if(Date.parse(_.rollback.plan.createdAt)<Date.parse(T))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback plans cannot precede the terminal merge outcome or projection",path:["rollback","plan","createdAt"]})}if(_.state==="handed_off"&&!_.handoff)$.addIssue({code:A.ZodIssueCode.custom,message:"Handed-off projections require a handoff ref",path:["handoff"]});if(FQ.has(_.state)&&_.reviews.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((FQ.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let B=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!Hv[_.state].has(B))$.addIssue({code:A.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${B}`,path:["merge"]});if(KQ.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!KQ.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Repairing projections require a non-zero repair cycle",path:["repair","cycle"]});if(_.merge&&(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed")&&!H_(_.attempt.admissionWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge eligibility requires admission from the current writer generation",path:["attempt","admissionWriterGenerationRef"]});if(_.state==="merge_ready"&&_.merge?.guard.decision!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:A.ZodIssueCode.custom,message:"Merged projections require a merged immutable outcome",path:["merge"]});if(_.state==="closed_unmerged"&&!_.merge?.outcome?.status.match(/^(closed_unmerged|refused|head_drift|base_drift)$/))$.addIssue({code:A.ZodIssueCode.custom,message:"Closed-unmerged projections require a non-merged terminal outcome",path:["merge"]});if(_.state==="cleanup_complete"&&(!_.cleanup?.outcome||!["deleted","preserved","skipped"].includes(_.cleanup.outcome.status)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed and blocked projections require redacted evidence refs",path:["evidenceRefs"]});if(["admitted","running","handed_off","reviewing","repairing","merge_ready","recovering"].includes(_.state)&&(_.merge?.outcome||_.cancellation||_.cleanup?.outcome||_.rollback?.outcome))$.addIssue({code:A.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let G=new Set;for(let[T,F]of _.adapterExtensions.entries()){let M=`${F.mode}:${F.schema}`;if(G.has(M))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});G.add(M)}});var kv=A.object({id:A.string().min(1),at:q_,kind:A.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:A.string().min(1),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),costEstimate:l1.optional()}).strict(),bv=z_(h.agentTrajectory).extend({actor:j6,workRunRef:__.optional(),events:A.array(kv).default([]),outcome:A.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:__.optional()}).strict(),Cv="v1",wv=A.enum(["library","cli-with-store","service","saas"]),vv=["user-hosted","hasna-saas"],fv=A.enum(vv),xv=["api","sdk","mcp","cli"],_G=A.enum(xv),yv=A.enum(["supported","deferred","unsupported"]),uv=A.enum(["none","local-only","api-key","session","service-token","custom"]),Mz=A.object({method:A.enum(["GET","POST","PUT","PATCH","DELETE"]),path:A.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:A.boolean().default(!1),description:A.string().min(1).optional()}).strict(),hv=A.object({id:A.string().min(1),kind:A.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),evidenceRef:K_.optional(),status:A.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),rv=A.object({name:A.string().min(1),kind:_G.optional(),status:yv,bin:A.string().min(1).optional(),mcpBin:A.string().min(1).optional(),authMode:uv,health:Mz.optional(),readiness:Mz.optional(),version:Mz.optional(),apiBasePath:A.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:A.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:A.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:A.string().min(1).optional(),readinessGates:A.array(hv).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),cv=["sqlite","postgres"],$G=A.enum(cv),UG=["sqlite","postgres"],mv=A.enum(UG),kz=["postgres"],nv=A.object({kind:_G,reason:A.string().trim().min(1)}).strict(),hz=500,rz=200,mE=(_)=>A.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),dv=["domain","host","ip","email"],lv=A.object({kind:A.enum(dv),reason:mE(hz),reviewedBy:mE(rz),expiresAt:q_}).strict(),iv=A.object({engine:A.enum(kz),reason:mE(hz),reviewedBy:mE(rz).optional(),expiresAt:q_.optional()}).strict();function tv(_){if(_.class!=="cli-with-store")return`storage waivers are not permitted for class ${_.class}`;if(_.bins.includes(`${_.name}-serve`))return`storage waivers are not permitted for a service-capable cli-with-store repo shipping ${_.name}-serve`;if(_.storageMode==="postgres")return"storage waivers are not permitted while storage.mode is postgres, which reads and writes PostgreSQL directly";if(_.hosting.includes("hasna-saas"))return"storage waivers are not permitted for a repo declaring the hasna-saas product story";return null}var ov=A.object({conformance:A.object({waivedSurfaces:A.array(nv).default([]),waiverProfile:A.literal("non-node-monorepo").optional(),waivedStorageEngines:A.array(iv).default([]),waivedAssetInventories:A.array(lv).default([])}).catchall(A.unknown()).optional(),release:A.object({artifactScan:A.object({script:A.string().trim().min(1)}).strict().optional()}).catchall(A.unknown()).optional()}).catchall(A.unknown()),pv=A.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),av=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function ev(_){return av.map(($)=>`${_}${$}`)}function MQ(_){return`hasna/oss/${_}/database-url`}var sv=A.object({mode:$G,engines:A.array(mv).min(1).optional(),envPrefix:A.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:A.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:A.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:A.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:A.object({envVar:A.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:A.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA_<NAME>_DATABASE_URL contract",path:["envPrefix"]})}),DG=A.enum(["0600"]),NG=A.enum(["0700"]),jG=A.enum([".hasna",".codewith"]),_f=A.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),BU=g$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),$f=A.object({id:A.string().min(1),source:A.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:A.string().min(1).optional(),column:A.string().min(1).optional(),description:A.string().min(1),required:A.boolean().default(!0)}).strict(),Uf=A.object({safeWhen:A.enum(["exclusive_access","offline_only","never"]),operations:A.array(A.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),Df=A.object({id:A.string().min(1),description:A.string().min(1),ttlDays:A.number().int().nonnegative().optional(),artifactClasses:A.array(_f).min(1),allowlistGlobs:A.array(BU).min(1),activeRecordExclusions:A.array($f).default([]),sqliteMaintenance:Uf.optional()}).strict(),Nf=A.object({storeId:A.string().regex(/^[a-z][a-z0-9-]*$/),packageName:A.string().min(1),displayName:A.string().min(1),root:jG,relativePath:BU,directoryMode:NG.default("0700"),fileMode:DG.default("0600"),sqliteDatabaseGlobs:A.array(BU).default([]),sensitiveFileGlobs:A.array(BU).default([]),backupGlobs:A.array(BU).default([]),exportGlobs:A.array(BU).default([]),retentionAdapters:A.array(Df).default([]),notes:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:A.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let U=new Set;for(let[N,D]of _.retentionAdapters.entries()){if(U.has(D.id))$.addIssue({code:A.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",N,"id"]});U.add(D.id)}}),IG=z_(h.secureLocalStorePolicy).extend({version:A.string().min(1),scope:A.array(jG).min(1),defaults:A.object({directoryMode:NG.default("0700"),fileMode:DG.default("0600"),dryRunDefault:A.literal(!0),requireExplicitApply:A.literal(!0),includeSqliteSidecars:A.literal(!0),redactedEvidenceOnly:A.literal(!0)}).strict(),stores:A.array(Nf).min(1),lifecycle:A.object({retentionDryRunDefault:A.literal(!0),requireActiveRecordExclusionProof:A.literal(!0),requireArtifactAllowlist:A.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:A.literal(!0)}).strict(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set;for(let[N,D]of _.stores.entries()){if(U.has(D.storeId))$.addIssue({code:A.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",N,"storeId"]});if(U.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:A.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",N,"root"]})}}),jf=A.object({$schema:A.string().min(1).optional(),schema:A.literal(h.serviceContract),name:pv,class:wv,contractVersion:A.literal(Cv),kitVersion:A.string().min(1),description:A.string().min(1).optional(),bins:A.array(A.string().min(1)).default([]),storage:sv.optional(),hosting:A.array(fv).min(1).default(["user-hosted"]),serviceSurfaces:A.array(rv).default([]),metadata:ov.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:A.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let U=new Set(ev(_.name)),N=new Set;for(let[J,L]of _.bins.entries()){if(N.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",J]});if(N.add(L),!U.has(L))$.addIssue({code:A.ZodIssueCode.custom,message:`Bin "${L}" is not allowlisted for app "${_.name}"; allowed: ${[...U].join(", ")}`,path:["bins",J]})}let D=(J)=>N.has(`${_.name}${J}`);if(_.storage){let J=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${J}_`)$.addIssue({code:A.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${J}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==MQ(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${MQ(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:A.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna/<name>/<name>.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let J=new Set(_.storage.engines),L=_.metadata?.conformance?.waivedStorageEngines??[],S=tv({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),X=new Set(S?[]:L.map((Y)=>Y.engine)),z=UG.filter((Y)=>!J.has(Y)&&!X.has(Y));if(z.length>0){let Y=S&&L.length>0?`; declared waiver ignored: ${S}`:"";$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${z.join(", ")}${Y}`,path:["storage","engines"]})}}}if(!N.has(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:A.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[J,L]of _.serviceSurfaces.entries()){if(L.bin&&!N.has(L.bin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface bin "${L.bin}" must be declared in bins`,path:["serviceSurfaces",J,"bin"]});if(L.mcpBin&&!N.has(L.mcpBin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface MCP bin "${L.mcpBin}" must be declared in bins`,path:["serviceSurfaces",J,"mcpBin"]})}let j=_.metadata?.conformance?.waivedSurfaces??[],I=new Set;for(let[J,L]of j.entries()){if(I.has(L.kind))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${L.kind}`,path:["metadata","conformance","waivedSurfaces",J,"kind"]});I.add(L.kind)}let E=_.metadata?.conformance?.waivedStorageEngines??[],W=new Set;for(let[J,L]of E.entries()){if(W.has(L.engine))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${L.engine}`,path:["metadata","conformance","waivedStorageEngines",J,"engine"]});W.add(L.engine)}}),al=A.object({status:A.enum(["ok","degraded","unavailable"]),version:A.string().min(1),mode:$G}).strict(),el=A.object({ready:A.boolean(),reason:A.string().min(1).optional()}).strict(),sl=A.object({version:A.string().min(1)}).strict(),If=A.enum(["info","notice","breaking","critical"]),Ef=A.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>)"),Af=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],Wf=A.enum(Af);var Jf=A.enum(["fleet","package","machine"]),EG=z_(h.commsEventEnvelope).extend({type:Ef,severity:If,scope:Jf,summary:A.string().min(1).optional(),source:j6.optional(),affected_packages:A.array(a).default([]),affected_machines:A.array(a).default([]),action_required:A.boolean().default(!1),ack_by:q_.optional(),dedupe_key:a,resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:A.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:A.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Lf=A.enum(["fleet","package","product","loop-lane","initiative","personal"]),Sf=A.enum(["quiet","work","firehose"]),Pf=a.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>)"),Of=z_(h.commsChannelMetadata).extend({class:Lf,noise:Sf.optional(),owner:a.optional(),until:Pf.optional(),successor:a.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),gQ={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}},zf=z_(h.commsMessageMetadata).extend({tag:Wf,envelope:EG}).strict().superRefine((_,$)=>{let U=gQ[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[N,D]of Object.entries(gQ))if(D.requiredEventType===_.envelope.type&&_.tag!==N)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${N}] tag`,path:["tag"]})});var Xf={[h.actorRef]:rC,[h.resourceRef]:cC,[h.evidenceRef]:nC,[h.workRun]:_v,[h.taskToPrProjection]:qv,[h.decisionEnvelope]:cQ,[h.costEstimate]:l1,[h.capabilityCard]:lC,[h.providerLiveModeStandard]:eC,[h.contextPack]:mQ,[h.integrationRef]:nQ,[h.projectManifest]:Dw,[h.projectPanel]:dQ,[h.projectSnapshot]:Pw,[h.renderManifest]:Ew,[h.agentTrajectory]:bv,[h.validationPlan]:Ow,[h.proofBundle]:sw,[h.scaffoldManifest]:Tw,[h.scaffoldInstallRecord]:Bw,[h.appCloudManifest]:tQ,[h.noCloudEvidencePack]:aw,[h.secureLocalStorePolicy]:IG,[h.serviceContract]:jf,[h.commsEventEnvelope]:EG,[h.commsChannelMetadata]:Of,[h.commsMessageMetadata]:zf,[h.app]:kw,[h.release]:Cw,[h.rolloutRecord]:fw,[h.announcement]:hw,[h.audience]:lw};class AG extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function WG(_,$){let N=Xf[_].safeParse($);if(!N.success)throw new AG(_,N.error.issues);return N.data}var _i=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var cz=[{pattern:"@hasna/cloud",kind:"module",message:"Shared @hasna/cloud runtime reference is forbidden"},{pattern:"open-cloud",kind:"module",message:"Shared open-cloud runtime reference is forbidden"},{pattern:"cloud-mcp",kind:"module",message:"Legacy cloud-mcp runtime surface is forbidden"},{pattern:"registerCloudTools",kind:"symbol",message:"Legacy registerCloudTools runtime surface is forbidden"},{pattern:"registerCloudCommands",kind:"symbol",message:"Legacy registerCloudCommands runtime surface is forbidden"},{pattern:".hasna/cloud",kind:"config",checkKind:"runtime_config",message:"Legacy .hasna/cloud runtime config is forbidden"},{pattern:"HASNA_CLOUD_",kind:"config",message:"Shared HASNA_CLOUD_* runtime config is forbidden"},{pattern:"HASNA_RDS_PASSWORD",kind:"config",message:"Legacy shared RDS credential config is forbidden"}],$i=cz.filter((_)=>("checkKind"in _)),Rf=cz.filter((_)=>_.kind==="module"),Ui=[...new Set([...uE,...Rf.map((_)=>_.pattern)])],Di=cz.filter((_)=>_.kind==="config");var ZQ="^[^\\u0000-\\u001f\\u007f]*$",Ni={$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. Hosting story, product surfaces, and storage capabilities are separate declarations; the storage backend (sqlite | postgres) is the only runtime switch.",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],allOf:[{if:{required:["class"],properties:{class:{const:"saas"}}},then:{required:["storage"],properties:{storage:{required:["mode","envPrefix"],properties:{mode:{const:"postgres"}}}}}}],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:h.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."},hosting:{type:"array",items:{enum:["user-hosted","hasna-saas"]},minItems:1,uniqueItems:!0,description:"Customer-facing product stories. Public OSS cores include user-hosted; add hasna-saas only when a managed control plane exists."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode"],allOf:[{if:{required:["status"],properties:{status:{const:"supported"},kind:{const:"api"}}},then:{required:["bin","health","readiness","version"]}}],properties:{name:{type:"string",minLength:1},kind:{enum:["api","sdk","mcp","cli"]},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"]},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},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:{const:"GET"},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:{const:"GET"},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_./:-]*$"},exportSubpath:{type:"string",pattern:"^\\.(?:\\/[A-Za-z0-9_.-]+(?:\\/[A-Za-z0-9_.-]+)*)?$",description:"SDK package export key such as . or ./sdk."},generatedFrom:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$",description:"OpenAPI path used to generate the SDK."},clientClassName:{type:"string",pattern:"^[A-Za-z_$][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 API, SDK, MCP, and CLI product surfaces. Legacy entries without kind remain parseable; new manifests declare kind explicitly."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["sqlite","postgres"],description:"Active data backend. sqlite|postgres ONLY \u2014 the single runtime switch."},engines:{type:"array",items:{enum:["sqlite","postgres"]},minItems:1,uniqueItems:!0,description:"Supported storage engines; capability metadata independent of the active backend."},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:"Legacy/private-tier database secret ref. Public conformance rejects this field."},sqlitePath:{type:"string",pattern:"\\.db$",description:"Local sqlite path (~/.hasna/<name>/<name>.db)."},pgTestGate:{type:"object",additionalProperties:!1,required:["envVar","command"],properties:{envVar:{type:"string",pattern:"^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$"},command:{type:"string",minLength:1}},description:"Environment-gated live PostgreSQL test command."}}},metadata:{type:"object",additionalProperties:!0,properties:{conformance:{type:"object",additionalProperties:!0,properties:{waiverProfile:{const:"non-node-monorepo",description:"Explicit surface-waiver eligibility for exceptional non-Node monorepos. Libraries are eligible for API/MCP waivers without this profile."},waivedSurfaces:{type:"array",uniqueItems:!0,items:{type:"object",additionalProperties:!1,required:["kind","reason"],properties:{kind:{enum:["api","sdk","mcp","cli"]},reason:{type:"string",minLength:1}}}},waivedStorageEngines:{type:"array",uniqueItems:!0,maxItems:kz.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...kz]},reason:{type:"string",minLength:1,maxLength:hz,allOf:[{pattern:"\\S"},{pattern:ZQ}]},reviewedBy:{type:"string",minLength:1,maxLength:rz,allOf:[{pattern:"\\S"},{pattern:ZQ}]},expiresAt:{type:"string",format:"date-time"}}},description:"Explicit storage-engine exceptions, at most one per engine. Only a CLI-only cli-with-store repo (no <name>-serve bin, storage.mode sqlite, no hasna-saas story) may waive postgres; sqlite is never waivable, expiresAt is a UTC RFC 3339 timestamp, and conformance stops honouring a waiver once it has passed."}}}}}}};var Yf="2026-07-06";function U6(_,$,U,N,D,j=[],I){return{id:_,description:$,ttlDays:U,artifactClasses:N,allowlistGlobs:D,activeRecordExclusions:j.map((E)=>({...E,required:E.required??!0})),sqliteMaintenance:I}}var ji=IG.parse({schema:h.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Yf,scope:[".hasna",".codewith"],defaults:{directoryMode:"0700",fileMode:"0600",dryRunDefault:!0,requireExplicitApply:!0,includeSqliteSidecars:!0,redactedEvidenceOnly:!0},lifecycle:{retentionDryRunDefault:!0,requireActiveRecordExclusionProof:!0,requireArtifactAllowlist:!0,sqliteMaintenanceRequiresExclusiveAccess:!0},stores:[{storeId:"codewith",packageName:"codewith",displayName:"Codewith native state",root:".codewith",relativePath:".",sqliteDatabaseGlobs:["logs_*.sqlite","state_*.sqlite","goals_*.sqlite"],sensitiveFileGlobs:["sessions/**/*.jsonl","shell_snapshots/**/*","logs*.sqlite","state*.sqlite","goals*.sqlite"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("codewith-session-snapshots","Codewith sessions, shell snapshots, logs, monitor output, mailbox payloads, and scheduler state need package-owned redaction before retention applies.",30,["session","snapshot","log"],["sessions/**/*.jsonl","shell_snapshots/**/*","logs/**/*"],[{id:"codewith-active-session",source:"package_adapter",description:"Exclude currently active sessions, leased schedules, monitors, pending interactions, and active goal rows."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})],notes:["Includes native .codewith DBs and transcript-like artifacts; redaction-before-persistence remains package-owned."]},{storeId:"todos",packageName:"@hasna/todos",displayName:"Todos",root:".hasna",relativePath:"todos",sqliteDatabaseGlobs:["todos.db"],sensitiveFileGlobs:["todos.db","todos.db-wal","todos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak","*.backup"],exportGlobs:["exports/**/*","*.jsonl","*.csv"],retentionAdapters:[U6("todos-exports-backups","Todos backups and exports are deleted only after package redaction and active task/evidence references are excluded.",14,["backup","export"],["backups/**/*","exports/**/*"],[{id:"todos-active-evidence",source:"sqlite",table:"task_files",column:"path",description:"Exclude files still referenced by active tasks, verification evidence, task comments, or handoff records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"conversations",packageName:"@hasna/conversations",displayName:"Conversations",root:".hasna",relativePath:"conversations",sqliteDatabaseGlobs:["messages.db"],sensitiveFileGlobs:["messages.db","messages.db-wal","messages.db-shm","exports/**/*","attachments/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*","*.json","*.csv"],retentionAdapters:[U6("conversations-exports-attachments","Conversation exports and attachments require message-id redaction and active attachment reference checks before deletion.",14,["export","backup"],["exports/**/*","backups/**/*","attachments/**/*"],[{id:"conversations-active-attachments",source:"sqlite",table:"messages",column:"attachments",description:"Exclude attachments still referenced by retained messages or audited redaction records."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"mementos",packageName:"@hasna/mementos",displayName:"Mementos",root:".hasna",relativePath:"mementos",sqliteDatabaseGlobs:["mementos.db"],sensitiveFileGlobs:["mementos.db","mementos.db-wal","mementos.db-shm","exports/**/*","backups/**/*"],backupGlobs:["backups/**/*","*.bak"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("mementos-audit-search-history","Mementos retention must preserve active memory versions while compacting audit/search surfaces through package-owned adapters.",30,["backup","export","log"],["backups/**/*","exports/**/*","audit/**/*"],[{id:"mementos-active-memory-versions",source:"sqlite",table:"memory_versions",column:"memory_id",description:"Exclude current memory versions and audit entries required for provenance."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"knowledge",packageName:"@hasna/knowledge",displayName:"Knowledge",root:".hasna",relativePath:"knowledge",sqliteDatabaseGlobs:["knowledge.db"],sensitiveFileGlobs:["knowledge.db","knowledge.db-wal","knowledge.db-shm","db.json","migration-exports/**/*","*.bak"],backupGlobs:["*.bak","backups/**/*","*.pre-cloud-*"],exportGlobs:["migration-exports/**/*","exports/**/*","*.jsonl"],retentionAdapters:[U6("knowledge-migrations-exports","Knowledge migration exports and pre-cloud backups require replacement, encryption, or redaction before retention deletion.",14,["backup","export"],["migration-exports/**/*","exports/**/*","*.bak","*.pre-cloud-*"],[{id:"knowledge-current-catalog",source:"manifest",description:"Exclude files referenced by the active catalog or migration ledger."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"projects",packageName:"@hasna/projects",displayName:"Projects",root:".hasna",relativePath:"projects",sqliteDatabaseGlobs:["projects.db","data/*/project.db"],sensitiveFileGlobs:["projects.db","projects.db-wal","projects.db-shm","data/*/project.db","data/*/project.db-wal","data/*/project.db-shm","reports/**/*"],backupGlobs:["backups/**/*","data/*/backups/**/*"],exportGlobs:["reports/**/*","exports/**/*"],retentionAdapters:[U6("projects-reports-workspaces","Project reports, dashboards, workspaces, and per-project DBs need active workspace/location references before cleanup.",30,["backup","export","report","tmp"],["backups/**/*","reports/**/*","workspaces/**/*","data/*/backups/**/*"],[{id:"projects-active-workspaces",source:"sqlite",table:"workspaces",column:"primary_path",description:"Exclude active workspace paths, locations, linked reports, and project store artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"browser",packageName:"@hasna/browser",displayName:"Browser",root:".hasna",relativePath:"browser",sqliteDatabaseGlobs:["browser.db"],sensitiveFileGlobs:["browser.db","browser.db-wal","browser.db-shm","profiles/**/cookies.json","states/**/*.json","auth/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*","traces/**/*","har/**/*"],retentionAdapters:[U6("browser-auth-traces","Browser state, trace, HAR, and auth artifacts require session invalidation or redaction before deletion.",7,["backup","export","session","snapshot"],["profiles/**/*","states/**/*","traces/**/*","har/**/*","exports/**/*"],[{id:"browser-active-profiles",source:"sqlite",table:"sessions",column:"profile_path",description:"Exclude profiles, cookies, and storage state used by active browser sessions."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"terminal",packageName:"@hasna/terminal",displayName:"Terminal",root:".hasna",relativePath:"terminal",sqliteDatabaseGlobs:["sessions.db"],sensitiveFileGlobs:["sessions.db","sessions.db-wal","sessions.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("terminal-sessions","Terminal sessions and interactions need active session exclusion plus command-output redaction before retention.",30,["backup","export","session","log"],["backups/**/*","exports/**/*","sessions/**/*"],[{id:"terminal-active-sessions",source:"sqlite",table:"sessions",column:"id",description:"Exclude active terminal session records and any linked interaction artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"logs",packageName:"@hasna/logs",displayName:"Logs",root:".hasna",relativePath:"logs",sqliteDatabaseGlobs:["logs.db"],sensitiveFileGlobs:["logs.db","logs.db-wal","logs.db-shm","exports/**/*"],backupGlobs:["backups/**/*"],exportGlobs:["exports/**/*"],retentionAdapters:[U6("logs-retention","Logs require redaction before compaction and must preserve active incident/evidence references.",14,["backup","export","log"],["backups/**/*","exports/**/*","*.log","logs/**/*"],[{id:"logs-active-evidence",source:"sqlite",table:"logs",column:"id",description:"Exclude log rows or files linked to active incidents, tasks, or proof bundles."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]},{storeId:"loops",packageName:"@hasna/loops",displayName:"OpenLoops",root:".hasna",relativePath:"loops",sqliteDatabaseGlobs:["loops.db","state.db","*.sqlite"],sensitiveFileGlobs:["*.db","*.sqlite","*.db-wal","*.db-shm","reports/**/*","tmp/**/*","runs/**/*"],backupGlobs:["backups/**/*","tmp/**/*"],exportGlobs:["reports/**/*","runs/**/*","exports/**/*"],retentionAdapters:[U6("loops-reports-tmp","Loop reports, tmp files, workflow artifacts, and command output need run-state checks and redaction before retention deletion.",14,["backup","export","report","tmp","log"],["reports/**/*","tmp/**/*","runs/**/*","exports/**/*"],[{id:"loops-active-runs",source:"sqlite",table:"loop_runs",column:"id",description:"Exclude active, leased, recently failed, or evidence-linked loop and workflow run artifacts."}],{safeWhen:"exclusive_access",operations:["wal_checkpoint_truncate","optimize"]})]}],warnings:["This package publishes declarations only; each owning package implements and verifies its own local-store lifecycle.","Retention and redaction evidence remain package-owned and must preserve active-record exclusions.","SQLite maintenance is descriptive policy metadata only and is never executed by @hasna/contracts."]});var Qf=64,Ii=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Qf-1}}$`),TU="[0-9a-fA-F]",Ei=new RegExp(`^\\{?(?:${TU}{8}-${TU}{4}-${TU}{4}-${TU}{4}-${TU}{12}|${TU}{32})\\}?$`);var Gf=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var Ai=new RegExp(Gf.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var JG="@hasna/knowledge";function Tf(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Vf(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function i1(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function h_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function t1(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function cU(_){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 iE(_){return n$.safeParse(_).success}function d$(_,$,U,N,D=[]){return{kind:_,id:$,name:U,uri:N&&iE(N)?N:void 0,externalId:$,sourcePackage:JG,tags:D}}function Bf(_){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(cU).filter(Boolean).sort((U,N)=>N.localeCompare(U))[0]}function Ff(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function Kf(_){let $=(U)=>{let N=String(U??"").toLowerCase();return N!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(N)};return _.reindex_queue.filter((U)=>$(U.status)).length+_.sync_conflicts.filter((U)=>$(U.status)).length+_.approval_gates.filter((U)=>$(U.status)).length}function Mf(_,$){let U=[];for(let N of _.items.slice(0,$))U.push({id:`item_${N.id}`,title:N.title,summary:i1(N.content_preview),status:N.archived?"archived":"active",priority:"medium",timestamp:cU(N.updated_at??N.created_at),resourceRefs:[d$("knowledge",N.id,N.title,`knowledge://item/${encodeURIComponent(N.id)}`,N.tags)],evidenceRefs:N.url&&iE(N.url)?[{id:`url_${N.id}`,kind:"url",uri:N.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:N.archived,tags:N.tags,url:N.url||void 0}});for(let N of _.sources.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,h_(N.uri,"source")),j=h_(N.title,h_(N.uri,D)),I=h_(N.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:j,summary:i1(`${t1(N.chunks)} chunk(s), ${t1(N.revisions)} revision(s)`),status:t1(N.chunks)>0?"indexed":"source",priority:"medium",timestamp:cU(N.updated_at??N.created_at),resourceRefs:[d$("document",D,j,I)],evidenceRefs:iE(I)?[{id:`source_${D}`,kind:"url",uri:I,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:N.kind,chunks:t1(N.chunks),revisions:t1(N.revisions)}})}for(let N of _.chunks.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"chunk"),j=h_(N.source_uri);U.push({id:`chunk_${D}`,title:h_(N.wiki_title,j?`Chunk from ${j}`:`Knowledge chunk ${D}`),summary:i1(N.text_preview),status:"chunk",priority:"low",timestamp:cU(N.created_at),resourceRefs:[d$("context_pack",D,h_(N.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:j&&iE(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:N.token_count,ordinal:N.ordinal}})}for(let N of _.sync_conflicts.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${h_(N.entity_kind,"entity")}/${h_(N.entity_id,D)}`,summary:i1(`Status ${h_(N.status,"unknown")}; strategy ${h_(N.resolution_strategy,"none")}.`),status:h_(N.status,"unknown"),priority:"critical",timestamp:cU(N.created_at),resourceRefs:[d$("finding",D,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:N.local_machine_id,remote_machine_id:N.remote_machine_id}})}for(let N of _.reindex_queue.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${h_(N.kind,"item")}: ${h_(N.target_id,D)}`,summary:i1(N.reason),status:h_(N.status,"unknown"),priority:h_(N.status).toLowerCase()==="failed"?"high":"medium",timestamp:cU(N.updated_at??N.created_at),resourceRefs:[d$("action",D,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:N.attempts,source_uri:N.source_uri}})}return U.slice(0,$)}async function LG(_,$={}){let U=Tf($.limit),N=new Date().toISOString(),D=Vf(_),I=await($.service??yE({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),E=Bf(I),W=Ff(E),J=I.summary.active_items+I.summary.sources+I.summary.chunks+I.summary.wiki_pages+I.summary.storage_objects,L=Kf(I),S=J===0?"empty":W==="stale"?"stale":"ready",X=Mf(I,U),z={schema:h.projectPanel,id:`knowledge_panel_${D}`,createdAt:N,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:JG,externalId:I.home},kind:"knowledge",title:"Knowledge",summary:S==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${I.summary.active_items} active note(s), ${I.summary.sources} source(s), ${I.summary.chunks} chunk(s), and ${I.summary.wiki_pages} wiki page(s).`,state:S,stateReason:S==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:N,freshness:W,metrics:[{id:"active_items",label:"Active notes",value:I.summary.active_items,status:I.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:I.summary.sources,status:I.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:I.summary.chunks,status:I.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:I.summary.wiki_pages,status:I.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:I.summary.storage_objects,status:I.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:I.summary.vector_entries,status:I.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:L,status:L>0?"warning":"good"}],items:X,actions:[d$("action","knowledge:inventory","Inspect knowledge inventory"),d$("action","knowledge:context-pack","Build cited context pack"),d$("action","knowledge:ingest","Ingest project source")],resourceRefs:[d$("project",D,_,`project://${D}`),d$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),d$("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:I.scope,home:I.home,json_store_exists:I.paths.json_store_exists,latest_activity_at:E}};return WG(h.projectPanel,z)}function SG(_){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(` +`)}import{fstatSync as hf,readlinkSync as rf,readSync as cf,writeSync as mf}from"fs";import{TextDecoder as nf}from"util";import{createHash as OG,randomUUID as nz}from"crypto";var M_="FCAME-1",gf="hasna.knowledge.private-input.v1";var Zf="hasna.knowledge.private-query.v1",Hf="hasna.knowledge.private-result.v1";var mz=Object.freeze({submission:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:1e4}),reconciliation:Object.freeze({max_calls:1,max_items:1,max_bytes:262144,wall_time_ms:5000}),readback:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:5000})}),tE=4194304,oE=30000,nU=3600000,zG=new WeakMap,qf=new WeakMap,XG=new WeakMap,RG=new WeakMap;function n_(_,$,U,N=U){if(!_||typeof _!=="object"||Array.isArray(_))throw Error(`${$} must be an object.`);let D=Object.keys(_),j=D.filter((E)=>!U.includes(E)),I=N.filter((E)=>!D.includes(E));if(j.length>0||I.length>0)throw Error(`${$} keys must match its FCAME-1 schema${j.length>0?`; unexpected: ${j.sort().join(",")}`:""}${I.length>0?`; missing: ${I.sort().join(",")}`:""}.`)}function A_(_,$,U=512){if(typeof _!=="string"||_.length===0||_.length>U||_.trim()!==_||/[\u0000-\u001f\u007f]/.test(_))throw Error(`${$} must be a non-empty, trimmed string without control characters.`)}function I6(_){if(n_(_,"binding",["authority","tenant_id","scope","parent_id"]),n_(_.authority,"binding.authority",["classification","authority_id"]),!["user_hosted","hasna_saas"].includes(_.authority.classification))throw Error("binding.authority.classification must be user_hosted or hasna_saas.");A_(_.authority.authority_id,"binding.authority.authority_id"),A_(_.tenant_id,"binding.tenant_id",64),A_(_.scope,"binding.scope"),A_(_.parent_id,"binding.parent_id")}function aE(_,$){if(!["create","update"].includes(_))throw Error("verb must be create or update.");if(_==="create"){if(n_($,"precondition",["kind"]),!$||$.kind!=="absent")throw Error("create requires the create-if-absent precondition.");return}if(n_($,"precondition",["kind","expected_version"]),!$||$.kind!=="version"||!Number.isInteger($.expected_version)||$.expected_version<1)throw Error("update requires a positive compare-and-swap expected_version.")}function YG(_){if(n_(_,"manifest",["manifest_id","ordinal","phase","compensates_receipt_id"]),A_(_.manifest_id,"manifest.manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("manifest.ordinal must be a non-negative integer.");if(!["primary","recovery"].includes(_.phase))throw Error("manifest.phase must be primary or recovery.");if(_.phase==="primary"&&_.compensates_receipt_id!==null)throw Error("a primary manifest step cannot compensate a receipt.");if(_.compensates_receipt_id!==null&&(typeof _.compensates_receipt_id!=="string"||!/^kwr_[0-9a-f]{64}$/.test(_.compensates_receipt_id)))throw Error("manifest.compensates_receipt_id must be null or an immutable guarded receipt id.")}function Q$(_,$="limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(_.max_items!==1)throw Error(`${$}.max_items must be exactly 1.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>tE)throw Error(`${$}.max_bytes must be a positive integer no greater than ${tE}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>oE)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${oE}.`)}function QG(_,$="query limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(!Number.isInteger(_.max_items)||_.max_items<1||_.max_items>50)throw Error(`${$}.max_items must be an integer between 1 and 50.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>tE)throw Error(`${$}.max_bytes must be a positive integer no greater than ${tE}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>oE)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${oE}.`)}function dz(_,$){if(n_(_,"query page",["limit","offset"]),!Number.isInteger(_.limit)||_.limit<1||_.limit>$.max_items)throw Error("query page.limit must be a positive integer no greater than limits.max_items.");if(!Number.isInteger(_.offset)||_.offset<0||_.offset>1e4)throw Error("query page.offset must be an integer between 0 and 10000.")}function kf(_){if(!_||typeof _!=="object"||Array.isArray(_))throw Error("private query selector must be an object.");switch(_.kind){case"exact_title":n_(_,"private query selector",["kind","title"]),A_(_.title,"private query selector.title",2048);return;case"lexical_overlap":case"semantic_overlap":n_(_,"private query selector",["kind","query"]),A_(_.query,"private query selector.query",4096);return;case"supersession":n_(_,"private query selector",["kind","supersedes_item_id"]),A_(_.supersedes_item_id,"private query selector.supersedes_item_id");return;case"current_version":n_(_,"private query selector",["kind","item_id"]),A_(_.item_id,"private query selector.item_id");return;case"historical_version":if(n_(_,"private query selector",["kind","item_id","version"]),A_(_.item_id,"private query selector.item_id"),!Number.isInteger(_.version)||_.version<1)throw Error("private query selector.version must be a positive integer.");return;case"canonical_pointer":n_(_,"private query selector",["kind","canonical_item_id"]),A_(_.canonical_item_id,"private query selector.canonical_item_id");return;default:throw Error("private query selector.kind is unsupported.")}}function eE(_={}){if(n_(_,"limits",["submission","reconciliation","readback"],[]),_.submission!==void 0)Q$(_.submission,"limits.submission");if(_.reconciliation!==void 0)Q$(_.reconciliation,"limits.reconciliation");if(_.readback!==void 0)Q$(_.readback,"limits.readback");let $={submission:{...mz.submission,..._.submission},reconciliation:{...mz.reconciliation,..._.reconciliation},readback:{...mz.readback,..._.readback}};return Q$($.submission,"limits.submission"),Q$($.reconciliation,"limits.reconciliation"),Q$($.readback,"limits.readback"),Object.freeze({submission:Object.freeze($.submission),reconciliation:Object.freeze($.reconciliation),readback:Object.freeze($.readback)})}function pE(_,$){if(_===null||typeof _==="string"||typeof _==="boolean")return _;if(typeof _==="number"){if(!Number.isFinite(_))throw Error(`${$} contains a non-finite number.`);return _}if(Array.isArray(_))return _.map((D,j)=>pE(D,`${$}[${j}]`));if(typeof _!=="object")throw Error(`${$} must contain only JSON values.`);let U=Object.getPrototypeOf(_);if(U!==Object.prototype&&U!==null)throw Error(`${$} must contain plain JSON objects.`);let N={};for(let D of Object.keys(_).sort()){let j=_[D];if(j===void 0)throw Error(`${$}.${D} must not be undefined.`);N[D]=pE(j,`${$}.${D}`)}return N}function lz(_){if(_!==null&&typeof _==="object"){for(let $ of Object.values(_))lz($);Object.freeze(_)}return _}function x_(_){return JSON.stringify(pE(_,"value"))}function y_(_){return OG("sha256").update(x_(_),"utf8").digest("hex")}function mU(_){if(typeof _!=="string")throw Error("content must be a string.");return OG("sha256").update(_,"utf8").digest("hex")}function iz(_){if(!["adopt","rollback"].includes(_.action))throw Error("adoption action must be adopt or rollback.");if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),I6(_.binding),!Number.isInteger(_.expected_version)||_.expected_version<1)throw Error("expected_version must be a positive integer.");if(!/^[0-9a-f]{64}$/.test(_.expected_content_sha256))throw Error("expected_content_sha256 must be a lowercase sha256 hex digest.");let $=_.adoption_receipt_id??null;if(_.action==="adopt"&&$!==null)throw Error("adopt must not reference an adoption receipt.");if(_.action==="rollback"&&(typeof $!=="string"||!/^kar_[0-9a-f]{64}$/.test($)))throw Error("rollback requires an immutable adoption receipt id.");return`fcame1_adoption_${y_({contract:M_,action:_.action,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:_.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:$})}`}function sE(_){if(I6(_.binding),A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),!/^[0-9a-f]{64}$/.test(_.payload_digest))throw Error("payload_digest must be a lowercase sha256 hex digest.");if(aE(_.verb,_.precondition),_.manifest)YG(_.manifest);return`fcame1_${y_({contract:M_,authority:_.binding.authority,tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest??null})}`}function bf(_){if(A_(_.manifest_id,"manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("ordinal must be a non-negative integer.");if(!/^fcame1_[0-9a-f]{64}$/.test(_.step_deterministic_key))throw Error("step_deterministic_key must be an FCAME-1 deterministic key.");A_(_.operation_id,"recovery.operation_id"),A_(_.step_id,"recovery.step_id"),A_(_.target_id,"recovery.target_id"),I6(_.binding),aE(_.verb,_.precondition);let $=eE(_.limits);if(x_($)!==x_(_.limits))throw Error("recovery.limits must be explicit and complete.");if(!/^[0-9a-f]{64}$/.test(_.semantic_digest))throw Error("recovery.semantic_digest must be a lowercase sha256 hex digest.");if(!["forward_repair","receipt_scoped_compensation"].includes(_.strategy))throw Error("recovery.strategy must be forward_repair or receipt_scoped_compensation.");if(_.strategy==="receipt_scoped_compensation"&&_.receipt_scope!=="accepted_step_receipt"||_.strategy==="forward_repair"&&_.receipt_scope!==null)throw Error("receipt_scoped_compensation requires accepted_step_receipt; forward_repair requires null receipt_scope.");let U=Cf(_.step_deterministic_key);if(_.strategy==="receipt_scoped_compensation"&&_.compensates_receipt_id!==U||_.strategy==="forward_repair"&&_.compensates_receipt_id!==null)throw Error("receipt-scoped compensation must bind the deterministic accepted-step receipt; forward repair must not bind one.");return sE({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.semantic_digest,precondition:_.precondition,manifest:{manifest_id:_.manifest_id,ordinal:_.ordinal,phase:"recovery",compensates_receipt_id:_.compensates_receipt_id}})}function Cf(_){if(!/^fcame1_[0-9a-f]{64}$/.test(_))throw Error("deterministicKey must be an FCAME-1 write key.");return`kwr_${_.slice(7)}`}function wf(_,$){return I6(_),A_($,"operation_id"),`kmf_${y_({contract:M_,maintainer:_,operation_id:$})}`}function vf(_,$,U){if(n_($,`steps[${U}]`,["ordinal","operation_id","step_id","deterministic_key","verb","target_id","binding","semantic_digest","precondition","dependencies","limits","recovery"]),n_($.recovery,`steps[${U}].recovery`,["strategy","operation_id","step_id","deterministic_key","verb","target_id","semantic_digest","precondition","binding","limits","receipt_scope","compensates_receipt_id"]),$.ordinal!==U)throw Error(`manifest steps must be ordered contiguously from zero; expected ordinal ${U}.`);if(A_($.operation_id,`steps[${U}].operation_id`),A_($.step_id,`steps[${U}].step_id`),A_($.target_id,`steps[${U}].target_id`),I6($.binding),aE($.verb,$.precondition),!/^[0-9a-f]{64}$/.test($.semantic_digest))throw Error(`steps[${U}].semantic_digest must be a lowercase sha256 digest.`);let N=eE($.limits);if(x_(N)!==x_($.limits))throw Error(`steps[${U}].limits must be explicit and complete.`);let D=Array.from({length:U},(E,W)=>W);if(!Array.isArray($.dependencies)||x_($.dependencies)!==x_(D))throw Error(`steps[${U}].dependencies must name every prior ordinal in order.`);let j=sE({binding:$.binding,operation_id:$.operation_id,step_id:$.step_id,verb:$.verb,target_id:$.target_id,payload_digest:$.semantic_digest,precondition:$.precondition,manifest:{manifest_id:_,ordinal:$.ordinal,phase:"primary",compensates_receipt_id:null}});if($.deterministic_key!==j)throw Error(`steps[${U}].deterministic_key does not match its frozen tuple.`);let I=bf({manifest_id:_,ordinal:$.ordinal,step_deterministic_key:$.deterministic_key,strategy:$.recovery.strategy,operation_id:$.recovery.operation_id,step_id:$.recovery.step_id,verb:$.recovery.verb,target_id:$.recovery.target_id,semantic_digest:$.recovery.semantic_digest,precondition:$.recovery.precondition,binding:$.recovery.binding,limits:$.recovery.limits,receipt_scope:$.recovery.receipt_scope,compensates_receipt_id:$.recovery.compensates_receipt_id});if($.recovery.deterministic_key!==I)throw Error(`steps[${U}].recovery.deterministic_key does not match its frozen tuple.`)}function ff(_,$){I6(_),n_($,"manifest",["manifest_id","operation_id","steps"]),A_($.manifest_id,"manifest_id"),A_($.operation_id,"operation_id");let U=wf(_,$.operation_id);if($.manifest_id!==U)throw Error("manifest_id must be the deterministic FCAME-1 id for its maintainer and workflow operation.");if(!Array.isArray($.steps)||$.steps.length<2||$.steps.length>64)throw Error("a guarded workflow manifest must contain between 2 and 64 ordered steps.");let N=new Set,D=new Set;$.steps.forEach((j,I)=>{if(vf($.manifest_id,j,I),j.binding.tenant_id!==_.tenant_id||j.recovery.binding.tenant_id!==_.tenant_id)throw Error(`manifest step ${I} crosses tenants without an authority delegation contract.`);for(let E of[j,j.recovery]){let W=`${E.binding.authority.classification}\x00${E.binding.authority.authority_id}\x00${E.binding.tenant_id}\x00${E.binding.scope}\x00${E.binding.parent_id}\x00${E.operation_id}\x00${E.step_id}`;if(N.has(W))throw Error(`manifest step ${I} repeats an operation/step identity.`);if(N.add(W),D.has(E.deterministic_key))throw Error(`manifest step ${I} repeats a deterministic action key.`);D.add(E.deterministic_key)}})}function xf(_,$){return ff(_,$),y_({contract:M_,manifest_id:$.manifest_id,operation_id:$.operation_id,maintainer:_,steps:$.steps})}function GG(_,$){return`fcame1_manifest_${xf(_,$)}`}function yf(_,$){if(!$||typeof $!=="object"||Array.isArray($))throw Error("payload must be a JSON object.");if(pE($,"payload"),_==="create"){let N=$.title;if(typeof N!=="string"||N.trim().length===0)throw Error("create payload.title is required.")}let U=_==="create"?new Set(["title","content","url","tags","metadata"]):new Set(["title","content","url","tags","metadata","archived"]);for(let N of Object.keys($))if(!U.has(N))throw Error(`payload.${N} is not allowed for ${_}.`);if("title"in $&&$.title!==void 0)A_($.title,"payload.title",2048);if("content"in $&&$.content!==void 0&&typeof $.content!=="string")throw Error("payload.content must be a string.");if("url"in $&&$.url!==void 0&&$.url!==null&&(typeof $.url!=="string"||$.url.length>8192||/[\u0000-\u001f\u007f]/.test($.url)))throw Error("payload.url must be null or a string without control characters.");if("tags"in $&&$.tags!==void 0){if(!Array.isArray($.tags)||$.tags.length>256)throw Error("payload.tags must be an array of strings.");$.tags.forEach((N,D)=>A_(N,`payload.tags[${D}]`,256))}if("archived"in $&&$.archived!==void 0&&typeof $.archived!=="boolean")throw Error("payload.archived must be a boolean.");if("metadata"in $&&$.metadata!==void 0){if($.metadata===null||typeof $.metadata!=="object"||Array.isArray($.metadata))throw Error("payload.metadata must be a JSON object.")}if(_==="update"&&Object.keys($).length===0)throw Error("update payload must change at least one field.")}function TG(_){if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),I6(_.binding),aE(_.verb,_.precondition),_.manifest)YG(_.manifest);yf(_.verb,_.payload);let $=_.expires_in_ms??300000;if(!Number.isInteger($)||$<1||$>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let U=lz(JSON.parse(x_(_.payload))),N=y_(U),D=y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:N,manifest:_.manifest??null}),j=new Date(Date.now()+$).toISOString(),I=Object.freeze({contract:M_,schema:gf,descriptor_id:`kpv_${nz()}`,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:N,binding_digest:D,precondition:Object.freeze({..._.precondition}),binding:Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),manifest:_.manifest?Object.freeze({manifest_id:_.manifest.manifest_id,ordinal:_.manifest.ordinal,phase:_.manifest.phase,compensates_receipt_id:_.manifest.compensates_receipt_id}):null,expires_at:j}),E=Object.freeze({...I,toJSON:()=>I});return zG.set(E,{payload:U,revoked:!1}),E}function tz(_){let $=zG.get(_);if(!$)throw Error("private input descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private input descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private input descriptor has expired.");return $.payload}function VG(_){let $=qf.get(_);if(!$)throw Error("private title lookup descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private title lookup descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private title lookup descriptor has expired.");if(mU($.title)!==_.title_digest)throw Error("private title lookup descriptor digest changed after freeze.");return $.title}function BG(_){A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),I6(_.binding),kf(_.selector);let $=_.archive??"active";if(!["active","archived","all"].includes($))throw Error("archive must be active, archived, or all.");let U=_.limit??10,N=_.offset??0;dz({limit:U,offset:N},{max_calls:1,max_items:50,max_bytes:1048576,wall_time_ms:1e4});let j=_.expires_in_ms??300000;if(!Number.isInteger(j)||j<1||j>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let I=lz(JSON.parse(x_(_.selector))),E=y_(I),W=Object.freeze({limit:U,offset:N}),J=Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),L=y_({binding:J,operation_id:_.operation_id,step_id:_.step_id,query_kind:I.kind,selector_digest:E,archive:$,page:W}),S=Object.freeze({contract:M_,schema:Zf,operation_id:_.operation_id,step_id:_.step_id,query_kind:I.kind,selector_digest:E,binding_digest:L,binding:J,archive:$,page:W,expires_at:new Date(Date.now()+j).toISOString()}),X={...S,toJSON:()=>S};return Object.defineProperty(X,"descriptor_id",{value:`kpq_${nz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(X),XG.set(X,{selector:I,revoked:!1}),X}function oz(_){let $=XG.get(_);if(!$)throw Error("private query descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private query descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private query descriptor has expired.");if(y_($.selector)!==_.selector_digest)throw Error("private query descriptor selector digest changed after freeze.");return $.selector}function PG(_){return Object.freeze({id:_.id,version:Number(_.version??1),title_sha256:mU(_.title),content_sha256:mU(_.content),url_sha256:_.url===null||_.url===void 0?null:mU(_.url),tags_sha256:y_(_.tags??[]),metadata_sha256:y_(_.metadata??{}),archived:_.archived===!0})}function o1(_,$=300000){if(!Number.isInteger($)||$<1||$>nU)throw Error(`expires_in_ms must be between 1 and ${nU}.`);let U=_.kind==="title_lookup"||_.kind==="query"?_.value.item_count:1,N=Object.freeze({contract:M_,schema:Hf,kind:_.kind,result_digest:y_(_.value),item_count:U,expires_at:new Date(Date.now()+$).toISOString()}),D={...N,toJSON:()=>N};return Object.defineProperty(D,"descriptor_id",{value:`kpr_${nz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(D),RG.set(D,{result:_,revoked:!1}),D}function p1(_){let $=RG.get(_);if(!$)throw Error("private result descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private result descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private result descriptor has expired.");if(y_($.result.value)!==_.result_digest)throw Error("private result descriptor digest changed after freeze.");if($.result.kind==="write")return Object.freeze({kind:"write",item_count:1,items:Object.freeze([PG($.result.value.readback.item)]),deterministic_key:$.result.value.deterministic_key,receipt_id:$.result.value.receipt.receipt_id,duplicate:$.result.value.duplicate});if($.result.kind==="readback")return Object.freeze({kind:"readback",item_count:1,items:Object.freeze([PG($.result.value.item)])});if($.result.kind==="query")return Object.freeze({kind:"query",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items]),query_kind:$.result.value.query_kind,status:$.result.value.status,code:$.result.value.code,total:$.result.value.total,page:Object.freeze({...$.result.value.page})});return Object.freeze({kind:"title_lookup",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items])})}function FG(_,$){if(_.contract!==M_||_.deterministic_key!==$.deterministic_key||_.operation_id!==$.operation_id||_.step_id!==$.step_id||_.exact!==!0||_.bounded!==!0||_.receipt_count!==1||_.terminal_complete!==!0||_.receipt===null)throw Error("terminal_completeness_failed: exact bounded reconciliation did not yield one terminal receipt.");if(_.receipt.deterministic_key!==$.deterministic_key||_.receipt.operation_id!==$.operation_id||_.receipt.step_id!==$.step_id)throw Error("terminal_completeness_failed: receipt identity does not match the frozen operation.");return _.receipt}function G$(_){return Buffer.byteLength(JSON.stringify(_),"utf8")}class HG extends Error{receipt;reconciliation;code="guarded_write_rejected";constructor(_,$){super(`guarded_write_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedWriteRejectedError"}}class pz extends Error{receipt;code="guarded_operation_conflict";constructor(_){super("guarded_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedOperationConflictError"}}class qG extends Error{code="private_title_lookup_ambiguous";constructor(){super("private_title_lookup_ambiguous: more than one exact title exists in the frozen binding.");this.name="KnowledgePrivateTitleLookupAmbiguousError"}}class X0 extends Error{code="private_query_response_invalid";constructor(){super("private_query_response_invalid: the bounded private query response was unavailable or malformed.");this.name="KnowledgePrivateQueryResponseError"}}class e1 extends Error{code="guarded_readback_response_invalid";constructor(){super("guarded_readback_response_invalid: the exact guarded readback was unavailable or malformed.");this.name="KnowledgeGuardedReadbackError"}}class _2 extends Error{manifest;code="guarded_manifest_conflict";constructor(_){super("guarded_manifest_conflict: this manifest id is already bound to a different immutable ordered workflow.");this.manifest=_;this.name="KnowledgeGuardedManifestConflictError"}}class az extends Error{deterministic_key;reason;code="guarded_manifest_step_refused";constructor(_,$){super(`guarded_manifest_step_refused: ${$}`);this.deterministic_key=_;this.reason=$;this.name="KnowledgeGuardedManifestStepRefusedError"}}class ez extends Error{deterministic_key;code="guarded_manifest_terminal_state_unavailable";constructor(_){super("guarded_manifest_terminal_state_unavailable: manifest submission did not yield an exact immutable readback; the producer did not retry creation.");this.deterministic_key=_;this.name="KnowledgeGuardedManifestUncertainError"}}class dU extends Error{deterministic_key;code="guarded_write_terminal_state_unavailable";constructor(_){super("guarded_write_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not retry the mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedWriteUncertainError"}}class kG extends Error{receipt;reconciliation;code="guarded_adoption_rejected";constructor(_,$){super(`guarded_adoption_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedAdoptionRejectedError"}}class sz extends Error{receipt;code="guarded_adoption_operation_conflict";constructor(_){super("guarded_adoption_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedAdoptionOperationConflictError"}}class lU extends Error{deterministic_key;code="guarded_adoption_terminal_state_unavailable";constructor(_){super("guarded_adoption_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not attempt an unguarded mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedAdoptionUncertainError"}}function E6(_){return{"x-knowledge-max-calls":String(_.max_calls),"x-knowledge-max-items":String(_.max_items),"x-knowledge-max-bytes":String(_.max_bytes),"x-knowledge-wall-time-ms":String(_.wall_time_ms)}}function a1(_){return{authority_classification:_.authority.classification,authority_id:_.authority.authority_id,tenant_id:_.tenant_id,scope:_.scope,parent_id:_.parent_id}}function S4(_,$){return x_(_)===x_($)}function uf(_){switch(_.kind){case"exact_title":return _.title;case"lexical_overlap":case"semantic_overlap":return _.query;case"supersession":return _.supersedes_item_id;case"current_version":case"historical_version":return _.item_id;case"canonical_pointer":return _.canonical_item_id}}function iU(_){if(!_||typeof _!=="object")return null;let $=_.body;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $&&typeof $==="object"?$:null}function KG(_){let $=iU(_);if($?.error!=="operation_binding_conflict")return null;let U=$.receipt;return U&&typeof U==="object"?U:null}function MG(_){let $=iU(_);if($?.error!=="manifest_binding_conflict")return null;let U=$.manifest;return U&&typeof U==="object"?U:null}function gG(_){let U=iU(_)?.message;if(typeof U!=="string")return null;return["guarded manifest","guarded write does not match its immutable manifest step","manifest_","external_authority_receipt_verifier_required"].some((D)=>U.startsWith(D))?U:null}function ZG(_){let $=iU(_);if($?.error!=="adoption_operation_conflict")return;let U=$.receipt;return U&&typeof U==="object"?U:null}class bG{transport;require_manifest;binding;limits;constructor(_,$,U,N){this.transport=_;this.require_manifest=N;this.binding=Object.freeze({authority:Object.freeze({...$.authority}),tenant_id:$.tenant_id,scope:$.scope,parent_id:$.parent_id}),this.limits=U}async execute(_){if(this.require_manifest&&!_.manifest)throw Error("guarded_manifest_required: this writer is configured for multi-step work and refuses an unmanifested write.");if(!S4(_.binding,this.binding))throw Error("private input descriptor binding does not match this guarded writer.");let $=tz(_);if(y_($)!==_.payload_digest)throw Error("private input descriptor payload digest changed after freeze.");if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:_.payload_digest,manifest:_.manifest})!==_.binding_digest)throw Error("private input descriptor binding digest changed after freeze.");let N=sE({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest}),D={contract:M_,descriptor:_.toJSON(),deterministic_key:N,limits:this.limits,payload:$};if(G$(D)>this.limits.submission.max_bytes)throw Error("guarded_write_request_exceeds_submission_byte_cap.");let j=null,I=null;try{j=await this.transport.post("/guarded-writes",D,{headers:{...E6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:N,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(L){I=L}let E;try{E=await this.reconcile(N,_.operation_id,_.step_id)}catch{let L=KG(I);if(L)throw new pz(L);let S=_.manifest?gG(I):null;if(S)throw new az(N,S);throw new dU(N)}if(E.receipt_count===0||E.receipt===null){let L=KG(I);if(L)throw new pz(L);let S=_.manifest?gG(I):null;if(S)throw new az(N,S);throw new dU(N)}let W=FG(E,{deterministic_key:N,operation_id:_.operation_id,step_id:_.step_id});if(j&&(j.deterministic_key!==N||j.receipt.receipt_id!==W.receipt_id))throw new dU(N);if(W.status!=="accepted")throw new HG(W,E);if(W.effect_count!==1||W.result_id!==_.target_id)throw new dU(N);let J=await this.readback(W.result_id);if(J.item.id!==_.target_id||!S4(J.binding,this.binding)||J.item.version!==W.result_version)throw new dU(N);return{deterministic_key:N,duplicate:j?.duplicate??!1,receipt:W,reconciliation:E,readback:J}}async executePrivate(_){let $=await this.execute(_);return o1({kind:"write",value:$})}async lookupTitle(_){if(!S4(_.binding,this.binding))throw Error("private title lookup descriptor binding does not match this guarded writer.");let $=VG(_);if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,title_digest:_.title_digest})!==_.binding_digest)throw Error("private title lookup descriptor binding digest changed after freeze.");let N={contract:M_,descriptor:_.toJSON(),title:$,limits:this.limits.readback};if(G$(N)>this.limits.readback.max_bytes)throw Error("private_title_lookup_request_exceeds_byte_cap.");let D;try{D=await this.transport.post("/guarded-writes/lookups/title",N,{headers:{...E6(this.limits.readback),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:this.limits.readback.wall_time_ms,retry:!1})}catch(j){if(iU(j)?.error==="private_title_lookup_ambiguous")throw new qG;throw j}if(G$(D)>this.limits.readback.max_bytes||D.contract!==M_||D.exact!==!0||D.bounded!==!0||D.title_digest!==_.title_digest||!S4(D.binding,this.binding)||D.item_count!==D.items.length||D.item_count>1||D.items.some((j)=>j.title_sha256!==_.title_digest))throw Error("private_title_lookup_exact_bounded_readback_failed.");return o1({kind:"title_lookup",value:D})}async query(_,$={max_calls:1,max_items:_.page.limit,max_bytes:this.limits.readback.max_bytes,wall_time_ms:this.limits.readback.wall_time_ms}){if(QG($),dz(_.page,$),!S4(_.binding,this.binding))throw Error("private query descriptor binding does not match this guarded writer.");let U=oz(_);if(U.kind!==_.query_kind)throw Error("private query descriptor kind changed after freeze.");if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,query_kind:_.query_kind,selector_digest:_.selector_digest,archive:_.archive,page:_.page})!==_.binding_digest)throw Error("private query descriptor binding digest changed after freeze.");let D={contract:M_,descriptor:_.toJSON(),selector:U,limits:$};if(G$(D)>$.max_bytes)throw Error("private_query_request_exceeds_byte_cap.");let j;try{let E=await this.transport.post("/guarded-writes/queries",D,{headers:{...E6($),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:$.wall_time_ms,retry:!1});if(!E||typeof E!=="object"||Array.isArray(E))throw new X0;j=E}catch(E){if(E instanceof X0)throw E;throw new X0}let I=mU(uf(U));if(G$(j)>$.max_bytes||j.contract!==M_||j.exact!==!0||j.bounded!==!0||j.private!==!0||j.query_kind!==_.query_kind||j.selector_digest!==_.selector_digest||!S4(j.binding,this.binding)||j.item_count!==j.items.length||j.item_count!==j.page.returned||j.item_count>_.page.limit||j.page.limit!==_.page.limit||j.page.offset!==_.page.offset||j.total<j.item_count||j.page.has_more!==_.page.offset+j.item_count<j.total||x_(j.limits)!==x_($)||j.items.some((E)=>E.matched_value_sha256!==I))throw new X0;if(_.query_kind==="semantic_overlap"&&(j.status!=="unavailable"||j.code!=="semantic_query_unavailable"||j.item_count!==0||j.total!==0))throw new X0;if(_.query_kind!=="semantic_overlap"&&(j.status!=="available"||j.code!==null))throw new X0;return o1({kind:"query",value:j})}async createManifest(_,$=this.limits.submission){Q$($,"manifest submission bounds");let U=GG(this.binding,_),N={contract:M_,maintainer:this.binding,manifest:_,deterministic_key:U};if(G$(N)>$.max_bytes)throw Error("guarded_manifest_request_exceeds_byte_cap.");let D=null,j=null;try{D=await this.transport.post("/guarded-manifests",N,{headers:{...E6($),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:U,timeoutMs:$.wall_time_ms,retry:!1})}catch(E){let W=MG(E);if(W)throw new _2(W);j=E}let I;try{I=await this.reconcileManifest(_.manifest_id,$)}catch{let E=MG(j);if(E)throw new _2(E);throw new ez(U)}if(I.manifest.deterministic_key!==U)throw new _2(I.manifest);if(D&&(D.contract!==M_||D.deterministic_key!==U||D.manifest.manifest_receipt_id!==I.manifest.manifest_receipt_id))throw new ez(U);return D??{contract:M_,deterministic_key:U,manifest:I.manifest,duplicate:!0}}async reconcileManifest(_,$=this.limits.reconciliation){Q$($,"manifest reconciliation bounds");let U=await this.transport.get(`/guarded-manifests/${encodeURIComponent(_)}`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:E6($),timeoutMs:$.wall_time_ms,retry:!1});if(G$(U)>$.max_bytes)throw Error("guarded_manifest_response_exceeds_byte_cap.");if(U.contract!==M_||U.manifest.manifest_id!==_||U.exact!==!0||U.bounded!==!0)throw Error("guarded_manifest_exact_reconciliation_failed.");return U}async reconcile(_,$,U,N=this.limits.reconciliation){Q$(N,"write reconciliation bounds");let D=await this.transport.get(`/guarded-writes/receipts/${encodeURIComponent(_)}`,{query:{...a1(this.binding),operation_id:$,step_id:U,max_calls:N.max_calls,max_items:N.max_items,max_bytes:N.max_bytes,wall_time_ms:N.wall_time_ms},headers:E6(N),timeoutMs:N.wall_time_ms,retry:!1});if(G$(D)>N.max_bytes)throw Error("guarded_reconciliation_response_exceeds_byte_cap.");return D}async reconcileAdoption(_,$,U,N=this.limits.reconciliation){Q$(N,"adoption reconciliation bounds");let D=await this.transport.get(`/guarded-adoptions/receipts/${encodeURIComponent(_)}`,{query:{...a1(this.binding),operation_id:$,step_id:U,max_calls:N.max_calls,max_items:N.max_items,max_bytes:N.max_bytes,wall_time_ms:N.wall_time_ms},headers:E6(N),timeoutMs:N.wall_time_ms,retry:!1});if(G$(D)>N.max_bytes)throw Error("guarded_adoption_reconciliation_response_exceeds_byte_cap.");return D}async readBindingState(_,$=this.limits.readback){Q$($,"binding-state readback bounds");let U=await this.transport.get(`/guarded-adoptions/items/${encodeURIComponent(_)}/binding-state`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:E6($),timeoutMs:$.wall_time_ms,retry:!1});if(G$(U)>$.max_bytes||U.contract!==M_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||U.target_id!==_)throw Error("guarded_binding_state_exact_readback_failed.");return U}async submitAdoption(_){if(G$(_)>this.limits.submission.max_bytes)throw Error("guarded_adoption_request_exceeds_submission_byte_cap.");let $=null,U=null;try{$=await this.transport.post("/guarded-adoptions",_,{headers:{...E6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:_.deterministic_key,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(j){if(iU(j)?.error==="not_found")throw j;U=j}let N;try{N=await this.reconcileAdoption(_.deterministic_key,_.operation_id,_.step_id)}catch{let j=ZG(U);if(j!==void 0)throw new sz(j);throw new lU(_.deterministic_key)}if(!N.terminal_complete||N.receipt_count!==1||!N.receipt){let j=ZG(U);if(j!==void 0)throw new sz(j);throw new lU(_.deterministic_key)}let D=N.receipt;if(D.deterministic_key!==_.deterministic_key||D.operation_id!==_.operation_id||D.step_id!==_.step_id)throw new lU(_.deterministic_key);if(D.status!=="accepted")throw new kG(D,N);return{submission:$,receipt:D,reconciliation:N}}async adoptLegacy(_){let $=iz({action:"adopt",..._,binding:this.binding,adoption_receipt_id:null}),U={contract:M_,action:"adopt",deterministic_key:$,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:this.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:null,limits:this.limits},N=await this.submitAdoption(U),D=await this.readBindingState(_.target_id),j=await this.readback(_.target_id);if(D.state!=="bound_to_requested"||D.item_version!==N.receipt.result_version||D.content_sha256!==N.receipt.result_content_sha256||j.item.version!==N.receipt.result_version)throw new lU($);return{deterministic_key:$,duplicate:N.submission?.duplicate??!1,receipt:N.receipt,reconciliation:N.reconciliation,binding_state:D,readback:j}}async rollbackLegacyAdoption(_){let $=_.adoption_receipt;if($.action!=="adopt"||$.status!=="accepted"||$.effect_count!==1||!S4($.binding,this.binding)||$.result_version===null||$.result_content_sha256===null)throw Error("rollback requires an accepted adoption receipt for this guarded writer binding.");let U=iz({action:"rollback",operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id}),N={contract:M_,action:"rollback",deterministic_key:U,operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id,limits:this.limits},D=await this.submitAdoption(N),j=await this.readBindingState($.target_id);if(j.state!=="legacy_unbound"||j.item_version!==D.receipt.result_version||j.content_sha256!==D.receipt.result_content_sha256)throw new lU(U);return{deterministic_key:U,duplicate:D.submission?.duplicate??!1,receipt:D.receipt,reconciliation:D.reconciliation,binding_state:j}}async readback(_,$=this.limits.readback){Q$($,"readback bounds");let U;try{let N=await this.transport.get(`/guarded-writes/items/${encodeURIComponent(_)}`,{query:{...a1(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:E6($),timeoutMs:$.wall_time_ms,retry:!1});if(!N||typeof N!=="object"||Array.isArray(N))throw new e1;U=N}catch(N){if(N instanceof e1)throw N;if(N&&typeof N==="object"&&typeof N.status==="number")throw N;throw new e1}if(G$(U)>$.max_bytes||U.contract!==M_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||!U.item||U.item.id!==_||!S4(U.binding,this.binding)||x_(U.limits)!==x_($))throw new e1;return U}async readbackPrivate(_,$=this.limits.readback){let U=await this.readback(_,$);return o1({kind:"readback",value:U})}}function CG(_){I6(_.binding);let $=zX(_.env??process.env);if(!$)throw Error("FCAME-1 guarded writes require the authenticated postgres/API transport; local JSON, SQLite, and raw-store fallbacks are refused.");return new bG($,_.binding,eE(_.limits),_.require_manifest===!0)}var df="knowledge.guarded-cli-request.v1",_3="knowledge.guarded-cli-result.v1",s1=1048576;class L_ extends Error{code;constructor(_){super(_);this.code=_;this.name="KnowledgeGuardedCliDescriptorError"}}function wG(_,$,U){let N=Object.keys(_).sort(),D=[...$].sort();if(N.length!==D.length||N.some((j,I)=>j!==D[I]))throw new L_(`${U}_shape_invalid`)}function vG(_,$){if(!Number.isInteger(_)||_<3)throw new L_(`${$}_must_be_inherited_private_fd`);let U;try{U=hf(_)}catch{throw new L_(`${$}_unavailable`)}if(!U.isFIFO()&&!U.isSocket())throw new L_(`${$}_must_be_anonymous_pipe_or_socket`);if(U.isFIFO()){if(process.platform!=="linux")throw new L_(`${$}_must_be_anonymous_pipe_or_socket`);let N;try{N=rf(`/proc/self/fd/${_}`)}catch{throw new L_(`${$}_must_be_anonymous_pipe_or_socket`)}if(!/^pipe:\[\d+\]$/.test(N))throw new L_(`${$}_must_be_anonymous_pipe_or_socket`)}}function lf(_){let $=[],U=0;while(!0){let N=Buffer.allocUnsafe(Math.min(65536,s1+1-U)),D=cf(_,N,0,N.length,null);if(D===0)break;if(U+=D,U>s1)throw new L_("private_request_byte_cap_exceeded");$.push(N.subarray(0,D))}try{return new nf("utf-8",{fatal:!0}).decode(Buffer.concat($,U))}catch{throw new L_("private_request_invalid_utf8")}}function fG(_,$){let U=Buffer.from(`${x_($)} +`,"utf8");if(U.byteLength>s1)throw new L_("private_result_byte_cap_exceeded");let N=0;while(N<U.byteLength){let D=mf(_,U,N,U.byteLength-N);if(D<1)throw new L_("private_result_write_failed");N+=D}}function uG(_){if(_ instanceof L_)return _.code;if(_&&typeof _==="object"&&typeof _.code==="string"&&/^[a-z0-9_:-]+$/i.test(_.code))return _.code;return"guarded_private_cli_failed"}function hG(_){let $;try{$=JSON.parse(_)}catch{throw new L_("private_request_invalid_json")}if(!$||typeof $!=="object"||Array.isArray($))throw new L_("private_request_shape_invalid");let U=$;if(U.schema!==df)throw new L_("private_request_schema_invalid");if(U.action==="write")return wG(U,["schema","action","operation_id","step_id","verb","target_id","precondition","binding","manifest","payload","expires_at"],"private_write_request"),U;if(U.action==="query"||U.action==="readback")return wG(U,["schema","action","operation_id","step_id","binding","selector","archive","page","expires_at"],"private_query_request"),U;throw new L_("private_request_action_invalid")}function xG(_){let $=Date.parse(_)-Date.now();if(!Number.isFinite($)||$<1)throw new L_("private_descriptor_expired");return Math.min($,3600000)}async function rG(_,$,U){let N=CG({binding:_.binding,env:$}),D;if(_.action==="write"){let I=TG({operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,binding:_.binding,..._.manifest?{manifest:_.manifest}:{},payload:_.payload,expires_in_ms:xG(_.expires_at)});D=p1(await N.executePrivate(I));let E=p1(await N.readbackPrivate(_.target_id));if(x_(D.items)!==x_(E.items))throw new L_("private_write_exact_readback_mismatch")}else{let I=BG({operation_id:_.operation_id,step_id:_.step_id,binding:_.binding,selector:_.selector,archive:_.archive,limit:_.page.limit,offset:_.page.offset,expires_in_ms:xG(_.expires_at)});if(_.action==="readback"){if(_.selector.kind!=="current_version"||_.page.limit!==1||_.page.offset!==0)throw new L_("private_readback_descriptor_invalid");D=p1(await N.readbackPrivate(_.selector.item_id))}else D=p1(await N.query(I))}let j=y_(_);return Object.freeze({schema:_3,ok:!0,contract:M_,action:_.action,transport:U,request_digest:j,result_digest:y_(D),proof:D})}async function cG(_,$,U=process.env){if(vG(_,"request_fd"),vG($,"result_fd"),_===$)throw new L_("private_fds_must_be_distinct");try{let N=await rG(hG(lf(_)),U,"anonymous_fd");fG($,N);let{proof:D,...j}=N;return j}catch(N){let D={schema:_3,ok:!1,contract:M_,transport:"anonymous_fd",code:uG(N)};try{fG($,D)}catch{}throw new L_(D.code)}}function tf(){if(typeof process.send!=="function"||!process.connected)throw new L_("guarded_descriptor_private_ipc_required");return new Promise((_,$)=>{let U=()=>{process.off("message",N),process.off("disconnect",D)},N=(j)=>{if(U(),typeof j!=="string"){$(new L_("private_request_schema_invalid"));return}if(Buffer.byteLength(j,"utf8")>s1){$(new L_("private_request_byte_cap_exceeded"));return}_(j)},D=()=>{U(),$(new L_("guarded_descriptor_private_ipc_disconnected"))};process.once("message",N),process.once("disconnect",D)})}function yG(_){if(typeof process.send!=="function"||!process.connected)throw new L_("guarded_descriptor_private_ipc_required");let $=x_(_);if(Buffer.byteLength($,"utf8")>s1)throw new L_("private_result_byte_cap_exceeded");return new Promise((U,N)=>{process.send($,(D)=>{if(D){N(new L_("private_result_write_failed"));return}U()})})}async function mG(_=process.env){if(typeof process.send!=="function"||!process.connected)throw new L_("guarded_descriptor_private_ipc_required");try{let $=await rG(hG(await tf()),_,"process_ipc");await yG($);let{proof:U,...N}=$;return N}catch($){let U={schema:_3,ok:!1,contract:M_,transport:"process_ipc",code:uG($)};try{await yG(U)}catch{}throw new L_(U.code)}finally{if(process.connected&&typeof process.disconnect==="function")process.disconnect()}}var lG=["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 iG="HASNA_KNOWLEDGE_STORAGE_MODE",tG="KNOWLEDGE_STORAGE_MODE";function nG(_){return process.env[_]?.trim()||void 0}function dG(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function of(_={}){let $=V0(IN(_.scope,_.cwd).home);return c($.knowledgeDbPath),{db:v($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function oG(){let _=dG(nG(iG))??dG(nG(tG));if(_)return _;return"sqlite"}function $3(_={}){let $=of(_);try{pf($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:oG(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:lG,sync:U}}finally{$.db.close()}}function pf(_){_.exec(` CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( table_name TEXT NOT NULL, last_synced_at TEXT, direction TEXT NOT NULL CHECK(direction IN ('push', 'pull')), PRIMARY KEY (table_name, direction) ) - `)}var tf=[`CREATE TABLE IF NOT EXISTS sources ( + `)}var af=[`CREATE TABLE IF NOT EXISTS sources ( id TEXT PRIMARY KEY, uri TEXT NOT NULL UNIQUE, kind TEXT NOT NULL, @@ -2874,9 +2874,9 @@ Pages should be concise, cited, and organized for both humans and agents. archived, id ) WHERE metadata #>> '{hasna_knowledge_relations,schema}' - = 'hasna.knowledge.relations.v1'`,...lR()];var I7=d7(E7(),1),{program:$t,createCommand:Ut,createArgument:Dt,createOption:jt,CommanderError:Nt,InvalidArgumentError:Et,InvalidOptionArgumentError:It,Command:A7,Argument:At,Option:Wt,Help:Jt}=I7.default;import{chmod as W3,mkdir as ix,readFile as tx,rename as ox,writeFile as S7}from"fs/promises";import{Buffer as G7}from"buffer";import{existsSync as T7}from"fs";import{homedir as px}from"os";import{join as Uj}from"path";import{createHmac as Uy,timingSafeEqual as Rt}from"crypto";import{randomUUID as Ny}from"crypto";import{spawn as Ey}from"child_process";import{randomUUID as Sy}from"crypto";function ux(_,$){return $.split(".").reduce((U,j)=>{if(U&&typeof U==="object"&&j in U)return U[j];return},_)}function hx(_,$){let U=[],j=(N)=>{if(!U.some((E)=>Object.is(E,N)))U.push(N)};if($.includes(".")&&$ in _)j(_[$]);let D=ux(_,$);if(D!==void 0||!$.includes("."))j(D);return U}function rx(_,$={}){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 _j(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>rx(D,U).test(_))}function W7(_,$){if(!$)return!0;return Object.entries($).every(([U,j])=>{let D=hx(_,U);return cx(D,j,U)})}function cx(_,$,U){if(dx($))return!_.some((j)=>J7(j,$.not,U));return _.some((j)=>J7(j,$,U))}function J7(_,$,U){if(typeof $==="string"||Array.isArray($))return mx(_).some((j)=>_j(j,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((j)=>j===$);return _===$}function mx(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>nx($)?[String($)]:[]);return[String(_)]}function nx(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function dx(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function lx(_,$){return _j(_.source,$.source)&&_j(_.type,$.type)&&_j(_.subject,$.subject)&&_j(_.severity,$.severity)&&W7(_.data,$.data)&&W7(_.metadata,$.metadata)}function L7(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>lx($,U))}var D2="HASNA_EVENTS_DIR",j2="HASNA_EVENTS_HOME",P3="local-json-v1:",ax=100,ex=1000;function V7(_){return _||process.env[D2]||process.env[j2]||Uj(px(),".hasna","events")}function sx(){if(process.env[D2])return D2;if(process.env[j2])return j2;return null}class N2{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=V7()){this.dataDir=_,this.runtime=_y(_),this.channelsPath=Uj(_,"channels.json"),this.eventsPath=Uj(_,"events.json"),this.deliveriesPath=Uj(_,"deliveries.json")}async init(){await ix(this.dataDir,{recursive:!0,mode:448}),await W3(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=O7(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 P7($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=P7($,{eventId:_.eventId,source:_.source,type:_.type}),j=E2(_.cursor,_),D=I2(_.limit),N=U.slice(j,j+D),E=j+N.length,I=E<U.length;return{events:N,cursor:_.cursor,nextCursor:I?B7(E,_):void 0,hasMore:I}}async findEventByIdentity(_){let $=await this.listEvents();return O7($,_)}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(!T7(_))await S7(_,`[] -`,{encoding:"utf-8",mode:384});await W3(_,384).catch(()=>{return})}async readJson(_,$){try{let U=await tx(_,"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 S7(U,`${JSON.stringify($,null,2)} -`,{encoding:"utf-8",mode:384}),await ox(U,_),await W3(_,384).catch(()=>{return})}}function _y(_=V7()){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 B7(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${P3}${G7.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function E2(_,$={}){if(!_)return 0;if(!_.startsWith(P3))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(P3.length),j;try{j=JSON.parse(G7.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 J3("eventId",j.eventId,$.eventId),J3("source",j.source,$.source),J3("type",j.type,$.type),D}function I2(_){if(_===void 0)return ax;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,ex)}function P7(_,$){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=E2($.cursor,$);U=U.slice(j)}if($.limit!==void 0)U=U.slice(0,I2($.limit));return U}function J3(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function O7(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function $y(_){let $=new N2(_);await $.init();let[U,j,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),N=U.reduce((E,I)=>{return E[I.transport]=(E[I.transport]??0)+1,E},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:D2,fallback:j2,active:sx()},files:{channels:L3($.dataDir,"channels.json",U.length),events:L3($.dataDir,"events.json",j.length),deliveries:L3($.dataDir,"deliveries.json",D.length)},counts:{channels:U.length,enabledChannels:U.filter((E)=>E.enabled).length,disabledChannels:U.filter((E)=>!E.enabled).length,events:j.length,deliveries:D.length},transports:N,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function L3(_,$,U){let j=Uj(_,$);return{path:j,exists:T7(j),records:U}}function Dy(_,$){return`${_}.${$}`}function jy(_,$,U){return`sha256=${Uy("sha256",_).update(Dy($,U)).digest("hex")}`}function A6(){return new Date().toISOString()}function $j(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Iy(_,$){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"]=jy($.webhook.secret,j,U);return{body:U,headers:D}}async function Ay(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let j=A6(),{body:D,headers:N}=Iy(_,$),E=new AbortController,I=setTimeout(()=>E.abort(),$.webhook.timeoutMs??15000);try{let W=await(U.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:N,body:D,signal:E.signal}),J=$j(await W.text());return{attempt:1,status:W.ok?"success":"failed",startedAt:j,completedAt:A6(),responseStatus:W.status,responseBody:J,error:W.ok?void 0:`Webhook returned HTTP ${W.status}`}}catch(W){return{attempt:1,status:"failed",startedAt:j,completedAt:A6(),error:W instanceof Error?W.message:String(W)}}finally{clearTimeout(I)}}async function Wy(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=A6(),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((N)=>{let E=Ey($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),I="",W="",J=setTimeout(()=>E.kill("SIGTERM"),$.command.timeoutMs??15000);E.stdin.end(j),E.stdout.on("data",(L)=>{I+=L.toString()}),E.stderr.on("data",(L)=>{W+=L.toString()}),E.on("error",(L)=>{clearTimeout(J),N({attempt:1,status:"failed",startedAt:U,completedAt:A6(),stdout:$j(I),stderr:$j(W),error:L.message})}),E.on("close",(L,S)=>{clearTimeout(J);let X=L===0;N({attempt:1,status:X?"success":"failed",startedAt:U,completedAt:A6(),stdout:$j(I),stderr:$j(W),error:X?void 0:`Command exited with ${S?`signal ${S}`:`code ${L}`}`})})})}async function Jy(_,$,U={}){if($.transport==="webhook")return Ay(_,$,U);if($.transport==="command")return Wy(_,$);return{attempt:1,status:"skipped",startedAt:A6(),completedAt:A6(),error:`Unsupported transport: ${$.transport}`}}function z7(_,$,U){let j=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Ny(),eventId:_.id,channelId:$.id,transport:$.transport,status:j,attempts:U,createdAt:U[0]?.startedAt??A6(),completedAt:U.at(-1)?.completedAt??A6()}}class F7 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 K7{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 F7(_.type,$.issues)}}var Ly=new K7;function S3(_){return{id:_.id??Sy(),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 g7{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new N2(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Ly,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?S3(_):zy(S3(_));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 X7(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=X7(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=E2(_.cursor,_),j=I2(_.limit),D=$.slice(U,U+j),N=U+D.length,E=N<$.length;return{events:D,cursor:_.cursor,nextCursor:E?B7(N,_):void 0,hasMore:E}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>L7(D,_)),j=[];for(let D of U){let N=await this.applyRedaction(_,D),E=await this.deliverWithRetry(N,D);await this.store.appendDelivery(E),j.push(E)}return j}async matchChannel(_,$={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let j=S3({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=L7(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(_,$),N=D.event;if(U.honorFilters&&!D.matched){let W=new Date().toISOString(),J=z7(N,j,[{attempt:1,status:"skipped",startedAt:W,completedAt:W,error:D.reason}]);return J.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(J),J}let E=await this.applyRedaction(N,j),I=await this.deliverWithRetry(E,j);return await this.store.appendDelivery(I),I}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=Py(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let j of this.redactors)U=await j(U,$);return U}async deliverWithRetry(_,$){let U=Ry($.retry),j=[];for(let D=0;D<U.maxAttempts;D+=1){let N=await Jy(_,$,this.transportOptions);if(N.attempt=D+1,N.status==="failed"&&D+1<U.maxAttempts)N.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**D);if(j.push(N),N.status!=="failed")break;if(N.nextBackoffMs)await Bun.sleep(N.nextBackoffMs)}return z7(_,$,j)}}function Py(_,$,U="[REDACTED]"){if($.length===0)return _;let j=structuredClone(_);for(let D of $)Xy(j,D,U);return j}function M7(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([U,j])=>[U,Z7(U)?"[REDACTED]":j]));return $}function Oy(_){return _.map(M7)}function zy(_,$="[REDACTED]"){return O3(_,$)}function Z7(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function O3(_,$){if(Array.isArray(_))return _.map((U)=>O3(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,j])=>[U,Z7(U)?$:O3(j,$)]))}function Xy(_,$,U){let j=$.split("."),D=_;for(let E of j.slice(0,-1)){let I=D[E];if(!I||typeof I!=="object")return;D=I}let N=j.at(-1);if(N&&N in D)D[N]=U}function X7(_,$){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(E2($.cursor,$));if($.limit!==void 0)U=U.slice(0,I2($.limit));return U}function Yy(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function Ry(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function U2(_,$,U=!1){if(!_?.length)return;let j={};for(let D of _){let N=Ty(D,$),E=N.path;if(E in j)throw Error(`Duplicate ${$} filter path: ${E}`);let I=U?Gy(N.rawValue,$):N.rawValue;j[E]=N.negated?{not:I}:I}return j}function Qy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=Y7(U2(_.data,"data"),U2(_.dataJson,"data-json",!0)),j=Y7(U2(_.metadata,"metadata"),U2(_.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 Y7(..._){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 Gy(_,$){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 Ty(_,$){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 Vy=100;function tU(_,$){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 P4(_){if(_.createClient)return _.createClient();return new g7({store:new N2(_.dataDir)})}function R0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function R7(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function Q7(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function w6(_,$){return Q7(_)||Q7($)}function Fy(_,$){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",Y0,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",Y0,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",Y0,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",Y0,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",Y0,[]).option("--arg <arg...>","Command argument",Y0,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",Dj).option("--retry-attempts <n>","Maximum delivery attempts",Dj).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",Dj).option("--redact <path...>","Event field path to redact before delivery",Y0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(j,D,N)=>{let E=new Date().toISOString(),I={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:E,updatedAt:E};if(D.transport==="webhook")I.webhook={url:j,secret:D.secret,headers:By(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")I.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 W=await P4($).addChannel(I);R0(M7(W),w6(D,N),`Added ${W.transport} channel ${W.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(j,D)=>{let N=await P4($).listChannels();if(w6(j,D)){console.log(JSON.stringify(Oy(N),null,2));return}if(!N.length){console.log("No channels configured.");return}for(let E of N)console.log(`${E.id} ${E.enabled?"enabled":"disabled"} ${E.transport} ${E.webhook?.url??E.command?.command??E.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(j,D)=>{let N=await $y($.dataDir);R0(N,w6(j,D),`events dataDir: ${N.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(j,D,N)=>{let E=await P4($).removeChannel(j);R0({removed:E},w6(D,N),E?`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,N)=>{let E=w6(D,N);try{let I=await P4($).testChannel(j,{source:D.source??$.source,type:D.type,subject:D.subject??j,message:D.message,data:tU(D.data,{test:!0}),metadata:tU(D.metadata,{})},{honorFilters:D.honorFilters});R0(I,E,`${I.status}: ${I.channelId}`)}catch(I){R7(I,E)}}),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,N)=>{let E=w6(D,N);try{let I=await P4($).matchChannel(j,{source:D.source??$.source,type:D.type,subject:D.subject??j,message:D.message,data:tU(D.data,{test:!0}),metadata:tU(D.metadata,{})});R0(I,E,`${I.matched?"matched":"skipped"}: ${I.channelId}`)}catch(I){R7(I,E)}}),U}function Ky(_,$){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,N,E)=>{let I=await P4($).emit({source:N.source??$.source,type:D,subject:N.subject,severity:N.severity,message:N.message,dedupeKey:N.dedupeKey,data:tU(N.data,{}),metadata:tU(N.metadata,{})},{deliver:N.deliver,dedupe:N.dedupe});R0(I,w6(N,E),`${I.deduped?"Deduped":"Emitted"} ${I.event.id} to ${I.deliveries.length} channel(s)`)});let j=$.defaultEventListLimit??Vy;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)`,Dj,j).option("-j, --json","Print JSON output",!1).action(async(D,N)=>{let E=await P4($).listEvents();if(D.source)E=E.filter((I)=>I.source===D.source);if(D.type)E=E.filter((I)=>I.type===D.type);if(D.limit)E=E.slice(-D.limit);if(w6(D,N)){console.log(JSON.stringify(E,null,2));return}if(!E.length){console.log("No events recorded.");return}for(let I of E)console.log(`${I.time} ${I.id} ${I.source} ${I.type} ${I.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",Dj).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,N)=>{let E=await P4($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});R0(E,w6(D,N),gy(E.events.length,E.deliveries.length,E.nextCursor))}),U}function H7(_,$){Fy(_,$),Ky(_,$)}function Dj(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function Y0(_,$){return $.push(_),$}function gy(_,$,U){let j=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${j}`}import{basename as My,dirname as Zy,join as Hy}from"path";var q7={debug:0,info:1,warn:2,error:3},qy=()=>{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 G0(_,$,U){if(q7[_]<q7[qy()])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 v7=["events","webhooks"],f7=["add","list","get","delete","update","archive","restore","upsert","untag","versions","diff","export","prune","dedupe","stats","inventory","project-panel","project-registration","project-membership","project-resources","project-resource","paths","mode","guarded","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...v7],x7={ls:"list",rm:"delete",edit:"update",unarchive:"restore"},ky=/^k_[A-Za-z0-9][A-Za-z0-9_-]*$/;async function Cy(_,$,U){if(/\s/.test($))return!0;if(_.length<=1)return!1;let j=_[1]??"";if(ky.test(j))return!1;return await U.get(j)===null}function by(_){let $=new Set,U=[];for(let j of _){let D=j.toLowerCase();if($.has(D))continue;$.add(D),U.push(j)}return U}function k7(_,$){let U=new Set((_??[]).map((j)=>j.toLowerCase()));return $.filter((j)=>!U.has(j.toLowerCase()))}function z3(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function wy(_,$){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 by([..._??[],...U])}function vy(_){let $=[],U={},j=_.indexOf("guarded"),D=j>=0&&_.indexOf("execute-descriptor",j+1)>=0,N=!1;for(let E=0;E<_.length;E+=1){let I=_[E];if(N){$.push(I);continue}if(I==="--"){N=!0;continue}if(!I.startsWith("-")||$[0]==="add"&&$.length===2&&I.startsWith("---")){$.push(I);continue}switch(I){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(_[E+1]),E+=1;break;case"--limit":case"-l":U.limit=Number(_[E+1]),E+=1;break;case"--search":case"-s":U.search=_[E+1],E+=1;break;case"--sort":U.sort=_[E+1],E+=1;break;case"--id":U.id=_[E+1],E+=1;break;case"--store":U.store=_[E+1],E+=1;break;case"--title":U.title=_[E+1],E+=1;break;case"--content":U.content=_[E+1],E+=1;break;case"--url":U.url=_[E+1],E+=1;break;case"--tag":case"-t":U.tag=wy(U.tag,_[E+1]),U.tagRaw=[...U.tagRaw??[],_[E+1]],E+=1;break;case"--format":U.format=_[E+1],E+=1;break;case"--completions":U.completions=_[E+1],E+=1;break;case"--purpose":U.purpose=_[E+1],E+=1;break;case"--model":U.model=_[E+1],E+=1;break;case"--strategy":U.strategy=_[E+1],E+=1;break;case"--dimensions":U.dimensions=Number(_[E+1]),E+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number(_[E+1]),E+=1;break;case"--max-items":U.maxItems=Number(_[E+1]),E+=1;break;case"--from":U.from=_[E+1],E+=1;break;case"--to":U.to=_[E+1],E+=1;break;case"--rev":U.rev=Number(_[E+1]),E+=1;break;case"--if-version":U.ifVersion=Number(_[E+1]),E+=1;break;case"--since":U.since=_[E+1],E+=1;break;case"--topic":U.topic=_[E+1],E+=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=_[E+1],E+=1;break;case"--mode":U.mode=_[E+1],E+=1;break;case"--machine":U.machine=_[E+1],E+=1;break;case"--workspace":U.workspace=_[E+1],E+=1;break;case"--api-url":U.apiUrl=_[E+1],E+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=_[E+1],E+=1;break;case"--email":U.email=_[E+1],E+=1;break;case"--org":U.org=_[E+1],E+=1;break;case"--org-id":U.orgId=_[E+1],E+=1;break;case"--user-id":U.userId=_[E+1],E+=1;break;case"--owner":U.owner=_[E+1],E+=1;break;case"--approved-by":U.approvedBy=_[E+1],E+=1;break;case"--patch-uri":U.patchUri=_[E+1],E+=1;break;case"--domain":U.domain=[...U.domain??[],_[E+1]],E+=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=_[E+1],E+=1;break;case"--tables":U.tables=_[E+1],E+=1;break;case"--peer-workspace":U.peerWorkspace=_[E+1],E+=1;break;case"--older-than":U.olderThan=Number(_[E+1]),E+=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=_[E+1],E+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],_[E+1]],E+=1;break;case"--allow-global":U.allowGlobal=!0;break;case"--operation-id":U.operationId=_[E+1],E+=1;break;case"--step-id":U.stepId=_[E+1],E+=1;break;case"--idempotency-key":U.idempotencyKey=_[E+1],E+=1;break;case"--collection-id":U.collectionId=_[E+1],E+=1;break;case"--item-id":U.itemId=_[E+1],E+=1;break;case"--receipt-id":U.receiptId=_[E+1],E+=1;break;case"--cursor":U.cursor=_[E+1],E+=1;break;case"--kind":U.kind=[...U.kind??[],_[E+1]],E+=1;break;case"--all":U.all=!0;break;case"--slug":U.slug=_[E+1],E+=1;break;case"--name":U.name=_[E+1],E+=1;break;case"--collection-slug":U.collectionSlug=_[E+1],E+=1;break;case"--collection-name":U.collectionName=_[E+1],E+=1;break;case"--request-fd":U.requestFd=Number(_[E+1]),E+=1;break;case"--result-fd":U.resultFd=Number(_[E+1]),E+=1;break;default:if(D)throw Error("guarded_descriptor_public_input_refused");throw Error(`Unknown flag: ${I}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:U}}function fy(_){if(!_)return"";return x7[_]??_}function xy(_,$){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 N=_[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]+N)}return U[_.length][$.length]}function yy(_){if(!_)return"";let $=[...f7,...Object.keys(x7)],U="",j=Number.POSITIVE_INFINITY;for(let D of $){let N=xy(_,D);if(N<j)j=N,U=D}return j<=3?U:""}function uy(){return My(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function hy(_){if(!v7.includes(_[0]??""))return!1;let $=new A7;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),H7($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function ry(){console.log(`knowledge - local agent knowledge store + = 'hasna.knowledge.relations.v1'`,...iY()];var S7=p7(L7(),1),{program:Nt,createCommand:jt,createArgument:It,createOption:Et,CommanderError:At,InvalidArgumentError:Wt,InvalidOptionArgumentError:Jt,Command:P7,Argument:Lt,Option:St,Help:Pt}=S7.default;import{chmod as J3,mkdir as px,readFile as ax,rename as ex,writeFile as R7}from"fs/promises";import{Buffer as K7}from"buffer";import{existsSync as M7}from"fs";import{homedir as sx}from"os";import{join as DN}from"path";import{createHmac as jy,timingSafeEqual as Tt}from"crypto";import{randomUUID as Ay}from"crypto";import{spawn as Wy}from"child_process";import{randomUUID as zy}from"crypto";function cx(_,$){return $.split(".").reduce((U,N)=>{if(U&&typeof U==="object"&&N in U)return U[N];return},_)}function mx(_,$){let U=[],N=(j)=>{if(!U.some((I)=>Object.is(I,j)))U.push(j)};if($.includes(".")&&$ in _)N(_[$]);let D=cx(_,$);if(D!==void 0||!$.includes("."))N(D);return U}function nx(_,$={}){let U="";for(let N=0;N<_.length;N+=1){let D=_[N];if(D==="*")if(_[N+1]==="*")U+=".*",N+=1;else U+=$.segmentSafe?"[^/]*":".*";else U+=D.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function $N(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>nx(D,U).test(_))}function O7(_,$){if(!$)return!0;return Object.entries($).every(([U,N])=>{let D=mx(_,U);return dx(D,N,U)})}function dx(_,$,U){if(tx($))return!_.some((N)=>z7(N,$.not,U));return _.some((N)=>z7(N,$,U))}function z7(_,$,U){if(typeof $==="string"||Array.isArray($))return lx(_).some((N)=>$N(N,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((N)=>N===$);return _===$}function lx(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>ix($)?[String($)]:[]);return[String(_)]}function ix(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function tx(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function ox(_,$){return $N(_.source,$.source)&&$N(_.type,$.type)&&$N(_.subject,$.subject)&&$N(_.severity,$.severity)&&O7(_.data,$.data)&&O7(_.metadata,$.metadata)}function X7(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>ox($,U))}var N2="HASNA_EVENTS_DIR",j2="HASNA_EVENTS_HOME",O3="local-json-v1:",_y=100,$y=1000;function g7(_){return _||process.env[N2]||process.env[j2]||DN(sx(),".hasna","events")}function Uy(){if(process.env[N2])return N2;if(process.env[j2])return j2;return null}class I2{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=g7()){this.dataDir=_,this.runtime=Dy(_),this.channelsPath=DN(_,"channels.json"),this.eventsPath=DN(_,"events.json"),this.deliveriesPath=DN(_,"deliveries.json")}async init(){await px(this.dataDir,{recursive:!0,mode:448}),await J3(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((N)=>N.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((N)=>N.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=Q7(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 Y7($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=Y7($,{eventId:_.eventId,source:_.source,type:_.type}),N=E2(_.cursor,_),D=A2(_.limit),j=U.slice(N,N+D),I=N+j.length,E=I<U.length;return{events:j,cursor:_.cursor,nextCursor:E?Z7(I,_):void 0,hasMore:E}}async findEventByIdentity(_){let $=await this.listEvents();return Q7($,_)}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(!M7(_))await R7(_,`[] +`,{encoding:"utf-8",mode:384});await J3(_,384).catch(()=>{return})}async readJson(_,$){try{let U=await ax(_,"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 R7(U,`${JSON.stringify($,null,2)} +`,{encoding:"utf-8",mode:384}),await ex(U,_),await J3(_,384).catch(()=>{return})}}function Dy(_=g7()){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 Z7(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${O3}${K7.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function E2(_,$={}){if(!_)return 0;if(!_.startsWith(O3))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(O3.length),N;try{N=JSON.parse(K7.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let D=N.offset;if(!Number.isInteger(D)||D<0)throw Error(`Invalid local JSON event cursor: ${_}`);return L3("eventId",N.eventId,$.eventId),L3("source",N.source,$.source),L3("type",N.type,$.type),D}function A2(_){if(_===void 0)return _y;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,$y)}function Y7(_,$){let U=_;if($.eventId)U=U.filter((N)=>N.id===$.eventId);if($.source)U=U.filter((N)=>N.source===$.source);if($.type)U=U.filter((N)=>N.type===$.type);if($.cursor){let N=E2($.cursor,$);U=U.slice(N)}if($.limit!==void 0)U=U.slice(0,A2($.limit));return U}function L3(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function Q7(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function Ny(_){let $=new I2(_);await $.init();let[U,N,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),j=U.reduce((I,E)=>{return I[E.transport]=(I[E.transport]??0)+1,I},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:N2,fallback:j2,active:Uy()},files:{channels:S3($.dataDir,"channels.json",U.length),events:S3($.dataDir,"events.json",N.length),deliveries:S3($.dataDir,"deliveries.json",D.length)},counts:{channels:U.length,enabledChannels:U.filter((I)=>I.enabled).length,disabledChannels:U.filter((I)=>!I.enabled).length,events:N.length,deliveries:D.length},transports:j,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function S3(_,$,U){let N=DN(_,$);return{path:N,exists:M7(N),records:U}}function Iy(_,$){return`${_}.${$}`}function Ey(_,$,U){return`sha256=${jy("sha256",_).update(Iy($,U)).digest("hex")}`}function A6(){return new Date().toISOString()}function UN(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Jy(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let U=JSON.stringify(_),N=_.time,D={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":N,...$.webhook.headers};if($.webhook.secret)D["X-Hasna-Signature"]=Ey($.webhook.secret,N,U);return{body:U,headers:D}}async function Ly(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let N=A6(),{body:D,headers:j}=Jy(_,$),I=new AbortController,E=setTimeout(()=>I.abort(),$.webhook.timeoutMs??15000);try{let W=await(U.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:j,body:D,signal:I.signal}),J=UN(await W.text());return{attempt:1,status:W.ok?"success":"failed",startedAt:N,completedAt:A6(),responseStatus:W.status,responseBody:J,error:W.ok?void 0:`Webhook returned HTTP ${W.status}`}}catch(W){return{attempt:1,status:"failed",startedAt:N,completedAt:A6(),error:W instanceof Error?W.message:String(W)}}finally{clearTimeout(E)}}async function Sy(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=A6(),N=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:N};return new Promise((j)=>{let I=Wy($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),E="",W="",J=setTimeout(()=>I.kill("SIGTERM"),$.command.timeoutMs??15000);I.stdin.end(N),I.stdout.on("data",(L)=>{E+=L.toString()}),I.stderr.on("data",(L)=>{W+=L.toString()}),I.on("error",(L)=>{clearTimeout(J),j({attempt:1,status:"failed",startedAt:U,completedAt:A6(),stdout:UN(E),stderr:UN(W),error:L.message})}),I.on("close",(L,S)=>{clearTimeout(J);let X=L===0;j({attempt:1,status:X?"success":"failed",startedAt:U,completedAt:A6(),stdout:UN(E),stderr:UN(W),error:X?void 0:`Command exited with ${S?`signal ${S}`:`code ${L}`}`})})})}async function Py(_,$,U={}){if($.transport==="webhook")return Ly(_,$,U);if($.transport==="command")return Sy(_,$);return{attempt:1,status:"skipped",startedAt:A6(),completedAt:A6(),error:`Unsupported transport: ${$.transport}`}}function G7(_,$,U){let N=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Ay(),eventId:_.id,channelId:$.id,transport:$.transport,status:N,attempts:U,createdAt:U[0]?.startedAt??A6(),completedAt:U.at(-1)?.completedAt??A6()}}class H7 extends Error{eventType;issues;constructor(_,$){let U=$.map((N)=>`${N.path||"<root>"}: ${N.message}`).join("; ");super(`Event validation failed for type "${_}": ${U}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class q7{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 H7(_.type,$.issues)}}var Oy=new q7;function P3(_){return{id:_.id??zy(),source:_.source,type:_.type,time:Gy(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class k7{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new I2(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Oy,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?P3(_):Yy(P3(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let N=await this.appendEvent(U,{dedupe:$.dedupe!==!1});if(N.deduped)return{event:N.event,deliveries:[],deduped:!0};let D=$.deliver===!1?[]:await this.deliver(N.event);return{event:N.event,deliveries:D,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return T7(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=T7(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=E2(_.cursor,_),N=A2(_.limit),D=$.slice(U,U+N),j=U+D.length,I=j<$.length;return{events:D,cursor:_.cursor,nextCursor:I?Z7(j,_):void 0,hasMore:I}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>X7(D,_)),N=[];for(let D of U){let j=await this.applyRedaction(_,D),I=await this.deliverWithRetry(j,D);await this.store.appendDelivery(I),N.push(I)}return N}async matchChannel(_,$={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let N=P3({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=X7(U,N);return{channelId:U.id,matched:D,event:N,filters:U.filters,reason:D?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},U={}){let N=await this.store.getChannel(_);if(!N)throw Error(`Channel not found: ${_}`);let D=await this.matchChannel(_,$),j=D.event;if(U.honorFilters&&!D.matched){let W=new Date().toISOString(),J=G7(j,N,[{attempt:1,status:"skipped",startedAt:W,completedAt:W,error:D.reason}]);return J.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(J),J}let I=await this.applyRedaction(j,N),E=await this.deliverWithRetry(I,N);return await this.store.appendDelivery(E),E}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 N of $.events)U.push(...await this.deliver(N));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 N=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(N)return{event:N,stored:!1,deduped:!0,identity:{id:N.id,dedupeKey:N.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=Xy(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let N of this.redactors)U=await N(U,$);return U}async deliverWithRetry(_,$){let U=Ty($.retry),N=[];for(let D=0;D<U.maxAttempts;D+=1){let j=await Py(_,$,this.transportOptions);if(j.attempt=D+1,j.status==="failed"&&D+1<U.maxAttempts)j.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**D);if(N.push(j),j.status!=="failed")break;if(j.nextBackoffMs)await Bun.sleep(j.nextBackoffMs)}return G7(_,$,N)}}function Xy(_,$,U="[REDACTED]"){if($.length===0)return _;let N=structuredClone(_);for(let D of $)Qy(N,D,U);return N}function b7(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([U,N])=>[U,C7(U)?"[REDACTED]":N]));return $}function Ry(_){return _.map(b7)}function Yy(_,$="[REDACTED]"){return z3(_,$)}function C7(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function z3(_,$){if(Array.isArray(_))return _.map((U)=>z3(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,N])=>[U,C7(U)?$:z3(N,$)]))}function Qy(_,$,U){let N=$.split("."),D=_;for(let I of N.slice(0,-1)){let E=D[I];if(!E||typeof E!=="object")return;D=E}let j=N.at(-1);if(j&&j in D)D[j]=U}function T7(_,$){let U=_;if($.eventId)U=U.filter((N)=>N.id===$.eventId);if($.source)U=U.filter((N)=>N.source===$.source);if($.type)U=U.filter((N)=>N.type===$.type);if($.cursor)U=U.slice(E2($.cursor,$));if($.limit!==void 0)U=U.slice(0,A2($.limit));return U}function Gy(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function Ty(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function D2(_,$,U=!1){if(!_?.length)return;let N={};for(let D of _){let j=Fy(D,$),I=j.path;if(I in N)throw Error(`Duplicate ${$} filter path: ${I}`);let E=U?By(j.rawValue,$):j.rawValue;N[I]=j.negated?{not:E}:E}return N}function Vy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=V7(D2(_.data,"data"),D2(_.dataJson,"data-json",!0)),N=V7(D2(_.metadata,"metadata"),D2(_.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)$.data=U;if(Object.keys(N).length>0)$.metadata=N;return Object.keys($).length>0?[$]:void 0}function V7(..._){let $={};for(let U of _){if(!U)continue;for(let[N,D]of Object.entries(U)){if(N in $)throw Error(`Duplicate filter path: ${N}`);$[N]=D}}return $}function By(_,$){let U=JSON.parse(_);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((N)=>typeof N==="string"))return U;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function Fy(_,$){let U=_.indexOf("!=");if(U>0)return{path:_.slice(0,U),rawValue:_.slice(U+2),negated:!0};let N=_.indexOf("=");if(N<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,N),rawValue:_.slice(N+1),negated:!1}}var Ky=100;function tU(_,$){if(!_)return $;let U=JSON.parse(_);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function My(_){if(!_?.length)return;let $={};for(let U of _){let N=U.indexOf("=");if(N===-1)throw Error(`Invalid header, expected name=value: ${U}`);$[U.slice(0,N)]=U.slice(N+1)}return $}function P4(_){if(_.createClient)return _.createClient();return new k7({store:new I2(_.dataDir)})}function Y0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function B7(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function F7(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function w6(_,$){return F7(_)||F7($)}function gy(_,$){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",R0,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",R0,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",R0,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",R0,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",R0,[]).option("--arg <arg...>","Command argument",R0,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",NN).option("--retry-attempts <n>","Maximum delivery attempts",NN).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",NN).option("--redact <path...>","Event field path to redact before delivery",R0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=new Date().toISOString(),E={id:D.id,name:D.name,enabled:!D.disabled,transport:D.transport,filters:Vy(D),retry:D.retryAttempts||D.retryBackoffMs?{maxAttempts:D.retryAttempts,backoffMs:D.retryBackoffMs}:void 0,redact:D.redact?.length?{paths:D.redact}:void 0,createdAt:I,updatedAt:I};if(D.transport==="webhook")E.webhook={url:N,secret:D.secret,headers:My(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")E.command={command:N,args:D.arg??[],timeoutMs:D.timeoutMs};else throw Error(`Transport ${D.transport} is reserved for future use and cannot be added yet`);let W=await P4($).addChannel(E);Y0(b7(W),w6(D,j),`Added ${W.transport} channel ${W.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(N,D)=>{let j=await P4($).listChannels();if(w6(N,D)){console.log(JSON.stringify(Ry(j),null,2));return}if(!j.length){console.log("No channels configured.");return}for(let I of j)console.log(`${I.id} ${I.enabled?"enabled":"disabled"} ${I.transport} ${I.webhook?.url??I.command?.command??I.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(N,D)=>{let j=await Ny($.dataDir);Y0(j,w6(N,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(N,D,j)=>{let I=await P4($).removeChannel(N);Y0({removed:I},w6(D,j),I?`Removed ${N}`:`Channel not found: ${N}`)}),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(N,D,j)=>{let I=w6(D,j);try{let E=await P4($).testChannel(N,{source:D.source??$.source,type:D.type,subject:D.subject??N,message:D.message,data:tU(D.data,{test:!0}),metadata:tU(D.metadata,{})},{honorFilters:D.honorFilters});Y0(E,I,`${E.status}: ${E.channelId}`)}catch(E){B7(E,I)}}),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(N,D,j)=>{let I=w6(D,j);try{let E=await P4($).matchChannel(N,{source:D.source??$.source,type:D.type,subject:D.subject??N,message:D.message,data:tU(D.data,{test:!0}),metadata:tU(D.metadata,{})});Y0(E,I,`${E.matched?"matched":"skipped"}: ${E.channelId}`)}catch(E){B7(E,I)}}),U}function Zy(_,$){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,I)=>{let E=await P4($).emit({source:j.source??$.source,type:D,subject:j.subject,severity:j.severity,message:j.message,dedupeKey:j.dedupeKey,data:tU(j.data,{}),metadata:tU(j.metadata,{})},{deliver:j.deliver,dedupe:j.dedupe});Y0(E,w6(j,I),`${E.deduped?"Deduped":"Emitted"} ${E.event.id} to ${E.deliveries.length} channel(s)`)});let N=$.defaultEventListLimit??Ky;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 ${N}; use 0 for all)`,NN,N).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let I=await P4($).listEvents();if(D.source)I=I.filter((E)=>E.source===D.source);if(D.type)I=I.filter((E)=>E.type===D.type);if(D.limit)I=I.slice(-D.limit);if(w6(D,j)){console.log(JSON.stringify(I,null,2));return}if(!I.length){console.log("No events recorded.");return}for(let E of I)console.log(`${E.time} ${E.id} ${E.source} ${E.type} ${E.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",NN).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let I=await P4($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});Y0(I,w6(D,j),Hy(I.events.length,I.deliveries.length,I.nextCursor))}),U}function w7(_,$){gy(_,$),Zy(_,$)}function NN(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function R0(_,$){return $.push(_),$}function Hy(_,$,U){let N=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${N}`}import{basename as qy,dirname as ky,join as by}from"path";var v7={debug:0,info:1,warn:2,error:3},Cy=()=>{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 G0(_,$,U){if(v7[_]<v7[Cy()])return;let N={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[_],D=U?`${N} ${$} ${JSON.stringify(U)}`:`${N} ${$}`;if(_==="error")console.error(D);else console.error(D)}var h7=["events","webhooks"],r7=["add","list","get","delete","update","archive","restore","upsert","untag","versions","diff","export","prune","dedupe","stats","inventory","project-panel","project-registration","project-membership","project-resources","project-resource","paths","mode","guarded","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...h7],c7={ls:"list",rm:"delete",edit:"update",unarchive:"restore"},wy=/^k_[A-Za-z0-9][A-Za-z0-9_-]*$/;async function vy(_,$,U){if(/\s/.test($))return!0;if(_.length<=1)return!1;let N=_[1]??"";if(wy.test(N))return!1;return await U.get(N)===null}function fy(_){let $=new Set,U=[];for(let N of _){let D=N.toLowerCase();if($.has(D))continue;$.add(D),U.push(N)}return U}function f7(_,$){let U=new Set((_??[]).map((N)=>N.toLowerCase()));return $.filter((N)=>!U.has(N.toLowerCase()))}function X3(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function xy(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=$.split(",").map((N)=>N.trim()).filter((N)=>N.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 yy(_){let $=[],U={},N=_.indexOf("guarded"),D=N>=0&&_.indexOf("execute-descriptor",N+1)>=0,j=!1;for(let I=0;I<_.length;I+=1){let E=_[I];if(j){$.push(E);continue}if(E==="--"){j=!0;continue}if(!E.startsWith("-")||$[0]==="add"&&$.length===2&&E.startsWith("---")){$.push(E);continue}switch(E){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(_[I+1]),I+=1;break;case"--limit":case"-l":U.limit=Number(_[I+1]),I+=1;break;case"--search":case"-s":U.search=_[I+1],I+=1;break;case"--sort":U.sort=_[I+1],I+=1;break;case"--id":U.id=_[I+1],I+=1;break;case"--store":U.store=_[I+1],I+=1;break;case"--title":U.title=_[I+1],I+=1;break;case"--content":U.content=_[I+1],I+=1;break;case"--url":U.url=_[I+1],I+=1;break;case"--tag":case"-t":U.tag=xy(U.tag,_[I+1]),U.tagRaw=[...U.tagRaw??[],_[I+1]],I+=1;break;case"--format":U.format=_[I+1],I+=1;break;case"--completions":U.completions=_[I+1],I+=1;break;case"--purpose":U.purpose=_[I+1],I+=1;break;case"--model":U.model=_[I+1],I+=1;break;case"--strategy":U.strategy=_[I+1],I+=1;break;case"--dimensions":U.dimensions=Number(_[I+1]),I+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number(_[I+1]),I+=1;break;case"--max-items":U.maxItems=Number(_[I+1]),I+=1;break;case"--from":U.from=_[I+1],I+=1;break;case"--to":U.to=_[I+1],I+=1;break;case"--rev":U.rev=Number(_[I+1]),I+=1;break;case"--if-version":U.ifVersion=Number(_[I+1]),I+=1;break;case"--since":U.since=_[I+1],I+=1;break;case"--topic":U.topic=_[I+1],I+=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=_[I+1],I+=1;break;case"--mode":U.mode=_[I+1],I+=1;break;case"--machine":U.machine=_[I+1],I+=1;break;case"--workspace":U.workspace=_[I+1],I+=1;break;case"--api-url":U.apiUrl=_[I+1],I+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=_[I+1],I+=1;break;case"--email":U.email=_[I+1],I+=1;break;case"--org":U.org=_[I+1],I+=1;break;case"--org-id":U.orgId=_[I+1],I+=1;break;case"--user-id":U.userId=_[I+1],I+=1;break;case"--owner":U.owner=_[I+1],I+=1;break;case"--approved-by":U.approvedBy=_[I+1],I+=1;break;case"--patch-uri":U.patchUri=_[I+1],I+=1;break;case"--domain":U.domain=[...U.domain??[],_[I+1]],I+=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=_[I+1],I+=1;break;case"--tables":U.tables=_[I+1],I+=1;break;case"--peer-workspace":U.peerWorkspace=_[I+1],I+=1;break;case"--older-than":U.olderThan=Number(_[I+1]),I+=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=_[I+1],I+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],_[I+1]],I+=1;break;case"--allow-global":U.allowGlobal=!0;break;case"--operation-id":U.operationId=_[I+1],I+=1;break;case"--step-id":U.stepId=_[I+1],I+=1;break;case"--idempotency-key":U.idempotencyKey=_[I+1],I+=1;break;case"--collection-id":U.collectionId=_[I+1],I+=1;break;case"--item-id":U.itemId=_[I+1],I+=1;break;case"--receipt-id":U.receiptId=_[I+1],I+=1;break;case"--cursor":U.cursor=_[I+1],I+=1;break;case"--kind":U.kind=[...U.kind??[],_[I+1]],I+=1;break;case"--all":U.all=!0;break;case"--slug":U.slug=_[I+1],I+=1;break;case"--name":U.name=_[I+1],I+=1;break;case"--collection-slug":U.collectionSlug=_[I+1],I+=1;break;case"--collection-name":U.collectionName=_[I+1],I+=1;break;case"--request-fd":U.requestFd=Number(_[I+1]),I+=1;break;case"--result-fd":U.resultFd=Number(_[I+1]),I+=1;break;case"--ipc":U.ipc=!0;break;default:if(D)throw Error("guarded_descriptor_public_input_refused");throw Error(`Unknown flag: ${E}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:U}}function uy(_){if(!_)return"";return c7[_]??_}function hy(_,$){let U=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let N=0;N<=_.length;N+=1)U[N][0]=N;for(let N=0;N<=$.length;N+=1)U[0][N]=N;for(let N=1;N<=_.length;N+=1)for(let D=1;D<=$.length;D+=1){let j=_[N-1]===$[D-1]?0:1;U[N][D]=Math.min(U[N-1][D]+1,U[N][D-1]+1,U[N-1][D-1]+j)}return U[_.length][$.length]}function ry(_){if(!_)return"";let $=[...r7,...Object.keys(c7)],U="",N=Number.POSITIVE_INFINITY;for(let D of $){let j=hy(_,D);if(j<N)N=j,U=D}return N<=3?U:""}function cy(){return qy(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function my(_){if(!h7.includes(_[0]??""))return!1;let $=new P7;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),w7($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function ny(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -2906,7 +2906,7 @@ Commands: paths Show resolved workspace/store paths mode Report the resolved backend (local or cloud) and why guarded capabilities Report FCAME-1 private transport capability - guarded execute-descriptor Execute an opaque descriptor over inherited private FDs + guarded execute-descriptor Execute an opaque descriptor over inherited process IPC setup Configure local, hosted, or canonical example S3 mode auth login|whoami|logout Manage hosted API credentials storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path|import-legacy @@ -3026,7 +3026,7 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function cy(_){if(_==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] + --empty Remove items with empty content`)}function dy(_){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] -s/--search is a CASE-INSENSITIVE LITERAL SUBSTRING filter over id, title and content \u2014 not a tokenised or semantic search, so a word order that never appears verbatim matches nothing. It @@ -3067,36 +3067,36 @@ Prune Options: which env var selected it. Reads the environment only: no store is opened, no config file is read, and no request is made, so it is safe on a machine with no config and no network. Selection is EXPLICIT-ONLY: set ${L6[0]}=sqlite|postgres. Setting only - ${Sj[0]} / ${Pj[0]} does NOT switch backends; + ${PN[0]} / ${ON[0]} does NOT switch backends; those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if(_==="guarded"){console.log(`Usage: knowledge guarded capabilities [--json] - knowledge guarded execute-descriptor --request-fd <fd> --result-fd <fd> [--json] + knowledge guarded execute-descriptor --ipc [--json] - execute-descriptor is an internal package-owned worker. Private requests and results must use - distinct inherited anonymous pipe or socket descriptors numbered 3 or higher. It rejects stdin, - regular files, positional bodies, and body-bearing flags. Use the exported opaque-descriptor - helpers rather than invoking this worker directly from a shell.`);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] + execute-descriptor is an internal package-owned worker. Private requests and results use the + runtime-owned child-process IPC channel, never argv, stdin, environment variables, files, stdout, + or stderr. Direct shell invocation has no IPC channel and fails closed. Use the exported opaque- + descriptor helpers rather than invoking this worker directly from a shell.`);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}ry()}function my(_){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} -${s_()}`:ny(_))}function s_(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function j_(_,$=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 ny(_){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}: ${j_(D,100)}`)}return U.push(s_()),U.join(` -`)}function dy(_){let $=_.mode==="postgres"?"postgres (HTTP /v1 API)":"sqlite (on-box store)",U=_.source.kind==="env"?`selected by ${_.source.name}=${_.source.value}`:`default (no mode var set; set ${L6[0]}=postgres to use the API)`,j=[`Knowledge mode: ${$}`,` ${U}`];if(_.pointer_env_present.length>0){let D=_.pointer_ignored?"present but IGNORED for mode selection":"present";j.push(` Pointer env ${D}: ${_.pointer_env_present.join(", ")}`)}if(_.network_guard_active)j.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if(_.warning)j.push(` Note: ${_.warning}`);return j.join(` -`)}function ly(_){return[`Knowledge paths (${_.scope})`,`Home: ${_.home}`,`SQLite: ${_.knowledge_db_path}`,`JSON store: ${_.json_store_path}`,`Wiki: ${_.wiki_dir}`,s_("config and all paths")].join(` -`)}function C7(_){console.log(JSON.stringify(_))}function iy(_){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,N,E)=>{if(N.length===0)return;U.push("",`${D}:`);for(let I of N.slice(0,_.limit))U.push(`- ${E(I)}`)};return j("Items",_.items,(D)=>`${D.id}: ${D.title}`),j("Sources",_.sources,(D)=>`${D.kind??"source"} ${D.uri} (${D.chunks??0} chunk(s))`),j("Chunks",_.chunks,(D)=>`${D.kind??"chunk"} ${D.id}: ${D.text_preview??""}`),j("Wiki pages",_.wiki_pages,(D)=>`${D.path}: ${D.title}`),j("Indexes",_.indexes,(D)=>`${D.kind??"index"} ${D.name}${D.shard_key?` (${D.shard_key})`:""}`),j("Artifacts",_.storage_objects,(D)=>`${D.kind??"artifact"} ${D.artifact_uri}`),j("Runs",_.runs,(D)=>`${D.type??"run"} ${D.id}: ${D.status??"unknown"}`),j("Machines",_.machines,(D)=>`${D.machine_id}${D.workspace_home?` ${D.workspace_home}`:""}`),j("Sync conflicts",_.sync_conflicts,(D)=>`${D.id}: ${D.entity_kind}/${D.entity_id} ${D.status}`),U.join(` -`)}function ty(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} search result(s) for "${j_(_.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,N=typeof j.score==="number"?` score=${j.score.toFixed(3)}`:"";if(U.push(`- ${j.kind??"result"} ${j_(j.title??j.id,80)}${N}`),D)U.push(` source: ${j_(D,120)}`);if(j.text)U.push(` text: ${j_(j.text,180)}`)}if($.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(s_("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 oy(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],U=Array.isArray(_.citations)?_.citations:[],j=[`${$.length} context excerpt(s) for "${j_(_.query??_.normalized_query,80)}"`];for(let D of $.slice(0,10)){let N=U.find((W)=>W.id===D.citation_id||W.result_id===D.result_id),E=N?.source_uri??N?.artifact_path??D.result_id,I=typeof D.score==="number"?` score=${D.score.toFixed(3)}`:"";if(j.push(`- ${D.kind??"excerpt"} ${j_(D.id,44)}${I}`),E)j.push(` source: ${j_(E,120)}`);j.push(` text: ${j_(D.text,220)}`)}return j.push(`Citations: ${U.length}`),j.push(s_("citations, graph, notes, and full excerpts")),j.join(` -`)}function py(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} semantic result(s) for "${j_(_.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(`- ${j_(j.chunk_id,44)}${D}`),j.source_uri)U.push(` source: ${j_(j.source_uri,120)}`);if(j.text)U.push(` text: ${j_(j.text,180)}`)}return U.push(s_("provenance and full vector result objects")),U.join(` -`)}function ay(_){let $=Array.isArray(_.sources)?_.sources:[],U=[`${$.length} web source(s) for "${j_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let j of $.slice(0,_.limit??10)){U.push(`- ${j_(j.title??j.url??j.uri??"source",100)}`);let D=j.url??j.uri??j.source_ref;if(D)U.push(` url: ${j_(D,140)}`);if(j.snippet)U.push(` snippet: ${j_(j.snippet,180)}`)}return U.push(s_("provider payloads and filed source refs")),U.join(` -`)}function ey(_){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":"",N=j.tailscale_dns??j.ssh_target??j.hostname??"";U.push(`- ${j_(j.machine_id??j.id??"unknown",48)}${D}${N?` -> ${j_(N,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(s_("full topology, route hints, and adapter evidence")),U.join(` -`)}function sy(_){let $=Array.isArray(_.checks)?_.checks:[],U=$.filter((N)=>N.status==="fail"||N.severity==="fail"),j=$.filter((N)=>N.status==="warn"||N.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 N of[...U,...j].slice(0,8))D.push(`- ${N.status??N.severity??"check"} ${j_(N.id??N.kind??"check",72)}: ${j_(N.message??N.detail??"",140)}`);return D.push(s_("all checks and repair hints")),D.join(` -`)}function _u(_){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"}`,s_("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function $u(_){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: ${j_(D.shell_command??D.command?.join(" ")??D.id,160)}`);return j.push(s_("diagnostics, route evidence, and all recommended commands")),j.join(` -`)}function Uu(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${j_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${j_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,s_("snapshot payload and topology evidence")].join(` -`)}function Du(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],U=[`${$.length} sync conflict(s)`];for(let j of $.slice(0,10))U.push(`- ${j_(j.id,48)} ${j.status??"unknown"} ${j.entity_kind??""}/${j_(j.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(s_("full conflict objects")),U.join(` -`)}function ju(_){let $=Array.isArray(_.machines)?_.machines:[],U=[`${$.length} registered sync machine(s)`];for(let j of $.slice(0,10))U.push(`- ${j_(j.machine_id,48)} ${j_(j.hostname??j.workspace_home??"",100)}`);return U.push(s_("machine registry rows")),U.join(` -`)}function b7(_,$){let U=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],j=(D,N)=>{if(!N)return;let I=(Array.isArray(N.tables)?N.tables:[]).reduce((L,S)=>L+(S.inserted??0)+(S.updated??0)+(S.deleted??0),0),W=N.artifacts?.copied??0,J=Array.isArray(N.errors)?N.errors.length:0;U.push(`${D}: ${I} table row change(s), ${W} artifact(s), ${J} error(s)`)};if(j("pull",_.pull),j("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)U.push(`Errors: ${_.errors.slice(0,3).map((D)=>j_(D,120)).join("; ")}`);return U.push(s_("per-table rows, artifacts, clocks, and errors")),U.join(` -`)}function Nu(_){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: ${j_(_.answer,500)}`);for(let D of $.slice(0,5))j.push(`- ${j_(D.source_uri??D.ref??D.id,120)}`);return j.push(s_("full answer payload, context, citations, and run ledger")),j.join(` -`)}function Eu(_,$){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 w7(_){return!_||_==="local"||_==="localhost"}function Q0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Iu(_,$){let U=$.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let j=[..._].sort((D,N)=>{if(U==="title")return D.title.localeCompare(N.title);return D.created_at.localeCompare(N.created_at)});if($.desc)j.reverse();return{sorted:j,sort:U,direction:$.desc?"desc":"asc"}}async function Au(_){if(await hy(_))return;let{positional:$,flags:U}=vy(_);if(G0("debug","CLI invoked",{command:$[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:L$.name,version:L$.version},null,2):`${L$.name} ${L$.version}`);return}if(U.completions){let J=U.completions;if(J==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 --rev --to --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 --operation-id --step-id --idempotency-key --slug --name --collection-id --collection-slug --collection-name --item-id --receipt-id --cursor --kind --all --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(J==="zsh")console.log(`#compdef knowledge -_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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" "(--all)--all" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(--search)--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}:" "(--to)--to[diff target: version number or current]:" "(--rev)--rev[entry version for diff]:number:" "(--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]:" "(--operation-id)--operation-id[registration operation id]:" "(--step-id)--step-id[registration step id]:" "(--idempotency-key)--idempotency-key[caller idempotency key]:" "(--slug)--slug[project slug]:" "(--name)--name[project name]:" "(--collection-id)--collection-id[exact collection id]:" "(--collection-slug)--collection-slug[collection slug]:" "(--collection-name)--collection-name[collection name]:" "(--item-id)--item-id[exact item id]:" "(--receipt-id)--receipt-id[exact receipt id]:" "(--cursor)--cursor[resource cursor]:" "(--kind)--kind[resource kind]:(project collection item taxonomy):" "(--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(J==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 to; complete -c knowledge -l rev; 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 operation-id; complete -c knowledge -l step-id; complete -c knowledge -l idempotency-key; complete -c knowledge -l slug; complete -c knowledge -l name; complete -c knowledge -l collection-id; complete -c knowledge -l collection-slug; complete -c knowledge -l collection-name; complete -c knowledge -l item-id; complete -c knowledge -l receipt-id; complete -c knowledge -l cursor; complete -c knowledge -l kind -a "project collection item taxonomy"; complete -c knowledge -l all; 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=fy($[0]),D=1,N=uy()&&j&&!f7.includes(j);if(!j||U.help||j==="help"){let J=j==="help"?$[1]:j||$[1];cy(J);return}if(j==="mode"){let J=SX(process.env);C(U.json||U.verbose?{ok:!0,...J}:dy(J),U.json,U);return}if(j==="guarded"){let J=$[1]??"capabilities";if(J==="capabilities"){C({ok:!0,contract:"FCAME-1",private_input:!0,private_result:!0,exact_title_lookup:!0,private_transport_body_output:!1,private_cli_descriptor_transport:!0,private_cli_transport:"anonymous_fd",guarded_actions:["create","update","query","readback"]},U.json,U);return}if(J!=="execute-descriptor")throw Error("Usage: knowledge guarded capabilities|execute-descriptor [--json]");let L=[U.title,U.content,U.url,U.tag,U.tagRaw,U.id,U.itemId,U.operationId,U.stepId,U.idempotencyKey,U.sourceRef,U.search,U.topic,U.project,U.collectionId,U.collectionSlug,U.collectionName].some((S)=>S!==void 0);if($.length!==2||L)throw Error("guarded_descriptor_public_input_refused");if(!Number.isInteger(U.requestFd)||!Number.isInteger(U.resultFd)||U.requestFd<3||U.resultFd<3)throw Error("guarded_descriptor_private_fds_required");C({ok:!0,...await yG(U.requestFd,U.resultFd,process.env)},U.json,U);return}LX(process.env,{storePathOverridden:Boolean(U.store)});let E=j==="project-panel"||j==="app-wiki"?U.scope??"project":U.scope,I=xI({scope:E}),W;try{if(j==="storage"){let P=$[1]??"status";if(P==="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 O=B2({dryRun:U.dryRun});if(C(O,U.json),!O.ok)process.exitCode=1;return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=I.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=I.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}}let J=Boolean(U.store),L=U.store;if(!L)if(E==="project"||E==="local")L=I.workspace.jsonStorePath;else L=Ij();let S=Xj({storePath:L,storePathOverridden:J});if(N&&await Cy($,j,S))j="ask",D=0;if(!J&&(j==="ask"||j==="build")&&!o$())$D(L);let X=()=>{if(!J||o$())return I.projectLinksAuthority();return W??=kI({databasePath:Hy(Zy(L),"knowledge.db"),itemStore:S,options:{packageVersion:L$.version,authorityId:process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),W};if(j==="project-registration"){let P=$[1]??"capability",O=X();if(P==="capability"){C({ok:!0,capability:await O.capability()},U.json,U);return}if(P==="create"){let Y=await O.capability(),Q=U.project,B=U.slug,G=U.name;if(!U.operationId||!U.stepId||!U.idempotencyKey||!Q||!B||!G)throw Error("Usage: knowledge project-registration create --operation-id <id> --step-id <id> --idempotency-key <key> --project <id> --slug <slug> --name <name> [--collection-slug <slug>] [--collection-name <name>] [--json]");let T={collection_slug:U.collectionSlug??`${B}-knowledge`,collection_name:U.collectionName??`${G} Knowledge`},F=g_({action:"register_collection",source_project_id:Q,project_slug:B,project_name:G,collection_slug:T.collection_slug,collection_name:T.collection_name,membership_rule:"explicit_collection_binding"}),g=await O.registerCollection({operation_id:U.operationId,step_id:U.stepId,resource_kind:"collection",direction:"forward",authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,target_selector:Q,idempotency_key:U.idempotencyKey,request_digest:F,precondition_digest:g_({source_project_id:Q,expected:"absent_or_exact_match"}),project_id:Q,project_slug:B,project_name:G,desired:T});C({ok:g.outcome==="accepted",receipt:g},U.json,U);return}if(P==="read-exact"){if(!U.collectionId)throw Error("Usage: knowledge project-registration read-exact --collection-id <uuid> [--json]");C({ok:!0,record:await O.readCollection(U.collectionId)},U.json,U);return}if(P==="receipt"){let Y=$[2],Q=$[3];if(!U.operationId||!U.stepId||!U.idempotencyKey||!Y||!Q)throw Error("Usage: knowledge project-registration receipt <register_collection|bind_item> <forward|inverse> --operation-id <id> --step-id <id> --idempotency-key <key> [--json]");let B=await O.capability(),G=await O.lookupReceipt({authority_id:B.authority_id,tenant_id:B.tenant_id,corpus_id:B.corpus_id,operation_id:U.operationId,step_id:U.stepId,action:Y,direction:Q,idempotency_key:U.idempotencyKey,max_items:1});C({ok:!0,receipt:G},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-registration ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let Y=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},B=P==="compensate"?{receipt:await O.compensateRegistration(Q)}:{verification:await O.verifyRegistrationInverse(Q)};C({ok:!0,...B},U.json,U);return}throw Error("Invalid project-registration action. Use capability, create, read-exact, receipt, compensate, or verify-inverse.")}if(j==="project-membership"){let P=$[1]??"read-exact",O=X();if(P==="bind"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership bind --operation-id <id> --step-id <id> --idempotency-key <key> --collection-id <uuid> --item-id <id> [--json]");let Y=await O.capability(),Q=await O.bindItem({operation_id:U.operationId,step_id:U.stepId,direction:"forward",authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,idempotency_key:U.idempotencyKey,request_digest:g_({action:"bind_item",collection_id:U.collectionId,item_id:U.itemId}),precondition_digest:g_({collection_id:U.collectionId,item_id:U.itemId,expected:"unbound_or_exact_membership"}),collection_id:U.collectionId,item_id:U.itemId});C({ok:Q.outcome==="accepted",receipt:Q},U.json,U);return}if(P==="read-exact"){if(!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership read-exact --collection-id <uuid> --item-id <id> [--json]");C({ok:!0,record:await O.readItemBinding(U.collectionId,U.itemId)},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-membership ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let Y=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:u$,package_version:Y.package_version,authority_id:Y.authority_id,tenant_id:Y.tenant_id,corpus_id:Y.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},B=P==="compensate"?{receipt:await O.compensateItemBinding(Q)}:{verification:await O.verifyItemBindingInverse(Q)};C({ok:!0,...B},U.json,U);return}throw Error("Invalid project-membership action. Use bind, read-exact, compensate, or verify-inverse.")}if(j==="project-resources"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-resources <project-id> [--kind <kind>]... [--limit <n>] [--cursor <cursor>] [--all] [--json]");let O=X(),Y=U.kind,Q=U.all?{resources:await O.readAllProjectResources(P,{limit:U.limit,kinds:Y})}:await O.listProjectResources(P,{limit:U.limit,cursor:U.cursor,kinds:Y});C({ok:!0,...Q},U.json,U);return}if(j==="project-resource"){let P=U.project??$[1],O=$[2],Y=$[3];if(!P||!O||!Y)throw Error("Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]");C({ok:!0,resource:await X().readProjectResource(P,O,Y)},U.json,U);return}if(j==="inventory"){let P=await I.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:o$()?void 0:L});C(U.json||U.verbose?P:iy(P),U.json,U);return}if(j==="project-panel"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let O=await JG(P,{service:I,limit:U.limit,storePath:o$()?void 0:L,includeArchived:U.includeArchived||U.archived});C(U.json||U.contract?O:LG(O),U.json||U.contract);return}if(j==="paths"){let P=I.paths();C(U.json||U.verbose?P:ly(P),U.json,U);return}if(j==="setup"){let P=I.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});C(P,U.json,U);return}if(j==="auth"){let P=$[1]??"whoami";if(P==="whoami"||P==="status"){let O=I.authStatus(process.env);C({ok:!0,...O,message:O.authenticated?`Authenticated via ${O.source}`:"Not authenticated"},U.json,U);return}if(P==="login"){let O=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!O)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let Y=I.saveAuth({apiKey:O,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);C({ok:!0,authenticated:!0,email:Y.email??null,org_slug:Y.org_slug??null,api_url:Y.api_url??I.authStatus(process.env).api_url,auth_path:I.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${Y.email??"API key"}`},U.json,U);return}if(P==="logout"){let O=I.clearAuth(process.env);C({ok:!0,removed:O,message:O?"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 P=$[1]??"status";if(P==="status"){let O=I.storageContract(),Y=I.validateStorage();C({ok:Y.ok,...O,validation:Y,message:`${O.storage_type} artifact storage at ${O.artifact_store.uri_prefix}`},U.json,U);return}if(P==="validate"){let O=I.validateStorage();if(C({ok:O.ok,validation:O,message:O.ok?"Storage contract valid":`Storage contract invalid: ${O.errors.join("; ")}`},U.json,U),!O.ok)process.exitCode=1;return}if(P==="repair-artifact-keys"||P==="repair-keys"){let O=I.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});C(O,U.json,U);return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=I.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=I.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(C(O,U.json),!O.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 P=$[1]??"topology";if(P==="topology"||P==="status"){let O=await I.machineTopology({includeTailscale:U.tailscale!==!1});C(U.json||U.verbose?O:ey(O),U.json,U);return}if(P==="preflight"||P==="check"){let O=$[2]??U.machine??"local",Y=U.workspace??process.cwd(),Q=await I.machinePreflight({machineId:O,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:L$.name,command:"knowledge",expectedVersion:L$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:Y,expectedPackageName:L$.name,expectedVersion:L$.version,required:!0}]});if(C(U.json||U.verbose?Q:sy(Q),U.json,U),!Q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(j==="sync"){let P=$[1]??"status",O=U.tables?U.tables.split(",").map((Y)=>Y.trim()).filter(Boolean):void 0;if(P==="status"){let Y=I.syncStatus();C(U.json||U.verbose?Y:_u(Y),U.json,U);return}if(P==="doctor"||P==="readiness"||P==="preflight"){let Y=await I.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:O}),Q={package:{name:L$.name,version:L$.version},...Y};if(C(U.json||U.verbose?Q:$u(Q),U.json,U),!Y.ok&&!U.json)process.exitCode=1;return}if(P==="snapshot"||P==="record"){let Y=await I.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});C(U.json||U.verbose?Y:Uu(Y),U.json,U);return}if(P==="conflicts"||P==="conflict"){let Y=$[2];if(Y==="show"||Y==="get"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts show <id>");let T=I.syncConflict(G);C({ok:!0,conflict:T,message:`Sync conflict ${G}`},U.json,U);return}if(Y==="propose"||Y==="proposal"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts propose <id>");C(U.mode==="ai"?await I.proposeSyncConflictResolutionWithAi({id:G,modelRef:U.model,fake:U.fake}):I.proposeSyncConflictResolution(G),U.json,U);return}if(Y==="resolve"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let T=I.resolveSyncConflict({id:G,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(C(T,U.json,U),!T.ok&&!U.json)process.exitCode=1;return}let Q=I.syncConflicts({status:Y,limit:U.limit}),B={ok:!0,conflicts:Q,message:`${Q.length} sync conflict(s)`};C(U.json||U.verbose?B:Du(B),U.json,U);return}if(P==="machines"||P==="registry"){let Y=I.syncMachines(),Q={ok:!0,machines:Y,message:`${Y.length} registered sync machine(s)`};C(U.json||U.verbose?Q:ju(Q),U.json,U);return}if(P==="export"){let Y=I.exportSyncBundle({machineId:U.machine??null,tables:O,includeArtifactContent:U.artifactContent!==!1});C(Y,!0);return}if(P==="import"){let Y=await Bun.stdin.text();if(!Y.trim())throw Error("Usage: knowledge sync import < bundle.json");let Q=await I.importSyncBundle({bundle:JSON.parse(Y),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});C(U.json||U.verbose?Q:b7(Q,P),U.json,U);return}if(P==="dry-run"||P==="pull"||P==="push"||P==="sync"){if(!U.peerWorkspace&&w7(U.machine))throw Error(`Usage: knowledge sync ${P} --peer-workspace <repo-or-knowledge-home> [--scope project] -Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let Y=P==="dry-run"?"both":P==="sync"?"both":P,Q=!w7(U.machine)?await I.syncRemotePeer({direction:Y,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:O,dryRun:U.dryRun===!0||P==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await I.syncPeer({peerWorkspace:U.peerWorkspace,direction:Y,dryRun:U.dryRun===!0||P==="dry-run",tables:O,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(C(U.json||U.verbose?Q:b7(Q,P),U.json,U),!Q.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 P=$[1]??"init";if(P==="init"){let O=I.initDb();C({ok:!0,...O,message:`Initialized ${O.path}`},U.json,U);return}if(P==="stats"){let O=I.dbStats();C({ok:!0,path:I.workspace.knowledgeDbPath,...O,message:`knowledge.db schema v${O.schema_version}`},U.json,U);return}if(P==="storage"){if(($[2]??"status")==="status"){let Y=_3({scope:U.scope});C({ok:!0,...Y,message:`knowledge.db storage mode ${Y.mode}`},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 P=$[1]??"init";if(P==="paths"||P==="status"){C({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...I.paths()},U.json);return}if(P==="init"||P==="open"){let O=await I.initAppWiki({allowGlobal:U.allowGlobal});C(O,U.json);return}if(P==="note"||P==="notes"){let O=$[2]??"list";if(O==="add"||O==="create"){let Y=U.title??$[3],Q=U.content??$.slice(4).join(" ");if(!Y||!Q)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let B=await I.addAppWikiNote({title:Y,content:Q,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});C(B,U.json);return}if(O==="list"||O==="ls"){let Y=I.listAppWikiNotes({limit:U.limit});C({ok:!0,scope:I.scope,home:I.workspace.home,notes:Y,message:`${Y.length} app wiki note(s)`},U.json);return}if(O==="get"||O==="show"){let Y=$[3]??U.id;if(!Y)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let Q=await I.getAppWikiNote(Y,{includeContent:!0});if(!Q)throw Error(`App wiki note not found: ${Y}`);C(Q,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(P==="source"||P==="sources"){let O=$[2]??"add";if(O!=="add"&&O!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let Y=$[3]??U.sourceRef?.[0];if(!Y)throw Error("Usage: knowledge app-wiki source add <source-ref>");let Q=await I.addAppWikiSourceRef({sourceRef:Y,purpose:U.purpose,allowGlobal:U.allowGlobal});C({ok:!0,...Q,message:`Added app wiki source ${Q.source_ref}`},U.json);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki search <query>");let Y=await I.searchAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...Y,message:`${Y.results.length} app wiki result(s)`},U.json);return}if(P==="query"||P==="context"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki query <query>");let Y=await I.queryAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...Y,message:`${Y.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 P=$[1]??"init";if(P==="init"){let O=await I.initWiki();C({ok:!0,...O,message:`Initialized wiki layout in ${I.workspace.home}`},U.json,U);return}if(P==="compile"){let O=$.slice(2),Y=O.filter((G)=>/^(open-files|file|s3|https?):\/\//.test(G)),Q=O.filter((G)=>!/^(open-files|file|s3|https?):\/\//.test(G)).join(" "),B=await I.compileWiki({title:U.title,query:Q||U.search,sourceRefs:Y.length>0?Y:void 0,limit:U.limit});C({ok:!0,...B,message:`Compiled wiki page ${B.path}`},U.json,U);return}if(P==="file-answer"||P==="answer"){let O=$.slice(2).join(" ");if(!O)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 Y=await I.fileAnswer({prompt:O,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...Y},U.json,U);return}if(P==="lint"){let O=I.lintWiki();C({ok:O.ok,...O,message:O.ok?"Wiki lint passed":`Wiki lint found ${O.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(j==="safety"){let P=$[1]??"status",O=I.ensureWorkspace(),Y=I.safetyPolicy();I.initDb();let Q=v(O.knowledgeDbPath);try{if(P==="status"){C({ok:!0,mode:Y.mode,workspace:O.home,allow_write_roots:Y.allowWriteRoots,read_only_source_access:Y.readOnlySourceAccess,network:Y.network,redaction:Y.redaction,approvals:Y.approvals,message:`Safety policy: ${Y.mode}`},U.json,U);return}if(P==="check"){let B=$[2]??"generated_write",G=$[3]??null,T;try{if(B==="web_search")C0(Y),T={action:B,target_uri:G,approval_required:!1,approved:!0,decision:"allow"};else if(B==="s3_read"){if(!G)throw Error("safety check s3_read requires an s3:// target.");y6(G,Y),T={action:B,target_uri:G,approval_required:!1,approved:!0,decision:"allow"}}else T=tX(Q,Y,B,G);G_(Q,{event_type:"safety_check",action:B,target_uri:G,decision:T.decision==="allow"?"allow":"requires_approval",metadata:T}),C({ok:!0,...T,message:`Safety check ${T.decision}`},U.json,U);return}catch(F){throw G_(Q,{event_type:"safety_check",action:B,target_uri:G,decision:"deny",metadata:{error:F instanceof Error?F.message:String(F)}}),F}}if(P==="approve"){let B=$[2]??"generated_write",G=$[3]??null,T=Tj(Q,{action:B,target_uri:G,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});G_(Q,{event_type:"approval",action:B,target_uri:G,decision:"allow",metadata:{approval_id:T.id}}),C({ok:!0,...T,action:B,target_uri:G,message:`Approved ${B}`},U.json,U);return}if(P==="audit"){let B=Q.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((G)=>({id:G.id,event_type:G.event_type,action:G.action,target_uri:G.target_uri,decision:G.decision,metadata:JSON.parse(G.metadata_json),created_at:G.created_at}));C({ok:!0,events:B,message:`${B.length} audit event(s)`},U.json,U);return}if(P==="redact"){let B=$.slice(2).join(" ");if(!B)throw Error("Usage: knowledge safety redact <text>");let G=d_(B,Y);if(G.findings.length>0)b0(Q,{source_uri:"safety://redact",findings:G.findings,metadata:{command:"safety redact"}});G_(Q,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:G.findings.length>0?"redacted":"allow",metadata:{findings:G.findings.length}}),C({ok:!0,text:G.text,findings:G.findings,message:`Redacted ${G.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{Q.close()}}if(j==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let O=$[2];if(!O)throw Error("Usage: knowledge source resolve <source-ref>");let Y=await I.resolveSource(O,{purpose:U.purpose,limit:U.limit});C({ok:!0,...Y,message:Y.resolved?`Resolved ${Y.source_ref} (${Y.content.chunks_returned}/${Y.content.chunks_total} chunks)`:`Source not indexed: ${O}`},U.json,U);return}if(j==="ingest"){let P=$[1]??"";if(P==="rules"||P==="global-rules"||P==="agent-rules"){let O=await I.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});C({ok:!0,...O},U.json);return}if(P==="manifest"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let Y=await I.ingestManifest(O);C({ok:!0,...Y,message:`Ingested ${Y.items_seen} manifest item(s)`},U.json,U);return}if(P==="source"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest source <source-ref>");let Y=await I.ingestSource(O,U.purpose);C({ok:!0,...Y,message:`Ingested source ${Y.source_ref} (${Y.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(j==="reindex"){let P=$[1]??"status";if(P==="status"){let O=I.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`${O.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(P==="enqueue"){let O=I.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`Queued ${O.enqueued} embedding refresh item(s)`},U.json,U);return}if(P==="embeddings"){let O=await I.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`Embedded ${O.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="outbox"){let O=$[2];if(!O)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let Y=await I.consumeOutbox(O);C({ok:!0,...Y,message:`Consumed ${Y.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(j==="embeddings"){let P=$[1]??"status";if(P==="status"){let O=I.embeddingStatus();C({ok:!0,...O,message:`${O.total_vector_entries} vector index entries`},U.json,U);return}if(P==="index"){let O=await I.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});C({ok:!0,...O,message:`Embedded ${O.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge embeddings search <query>");let Y=await I.semanticSearch({query:O,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),Q={ok:!0,...Y,message:`${Y.results.length} semantic result(s)`};C(U.json||U.verbose?Q:py(Q),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 O=U.from??"search";if(!["search","loops","runs"].includes(O))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let Y=$.slice(2).join(" ")||U.topic||"",Q=await I.contextPack({source:O,purpose:O==="loops"||O==="runs"?"proposal":"agent_context",query:Y,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:L});C7({ok:!0,...Q,message:Q.message});return}if(j==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let O=U.from??"loops";if(!["loops","runs"].includes(O))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let Y=U.topic??$.slice(2).join(" ");if(!Y.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let Q=await I.contextPack({source:O,purpose:"proposal",query:Y,topic:Y,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});C7({ok:!0,...Q,message:Q.message});return}if(j==="search"){let P=$.slice(1).join(" ");if(!P)throw Error("Usage: knowledge search <query>");if(U.context){let Q=await I.retrieveContext({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:L}),B={ok:!0,...Q,message:`${Q.excerpts.length} context excerpt(s)`};C(U.json||U.verbose?B:oy(B),U.json,U);return}let O=await I.search({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:L}),Y={ok:!0,...O,message:`${O.results.length} search result(s)`};C(U.json||U.verbose?Y:ty(Y),U.json,U);return}if(j==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge web search <query>");let Y=await I.webSearch({query:O,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),Q={ok:!0,...Y,message:`${Y.sources.length} web source(s)`};C(U.json||U.verbose?Q:ay(Q),U.json,U);return}if(j==="ask"||j==="build"){let P=$.slice(D).join(" ");if(!P)throw Error("Usage: knowledge ask <prompt>");let O=await I.runPrompt({prompt:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:L}),Y={ok:!0,...O,message:O.generated?"Generated answer with citations":"Prepared citation context draft"};C(U.json||U.verbose?Y:Nu(Y),U.json,U);return}if(j==="providers"){let P=$[1]??"status";if(P==="status"){let O=I.providerStatus(),Y=O.providers.filter((Q)=>Q.configured).length;C({ok:!0,...O,message:`${Y}/${O.providers.length} provider credential(s) configured`},U.json,U);return}if(P==="models"){let O=I.modelRegistry();C({ok:!0,models:O,message:`${O.length} model alias(es)`},U.json,U);return}if(P==="check"){let O=$[2]??"default",Y=k$(O,I.config()),Q=c_(Y),B=T4(Q.provider,I.config());C({ok:!0,target:O,model_ref:Y,provider:Q.provider,model:Q.model,credential:B,message:`${Q.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(j==="add"){let P=$[1],O=$[2];if(!P||!O)throw Error("Usage: knowledge add <title> <content>");let Y=await S.create({title:P,content:O,url:U.url??null,tags:U.tag??[]});G0("info","Item added",{id:Y.id,title:Y.title,tags:Y.tags?.length??0,transport:S.kind}),C({ok:!0,item:Y,message:`Added ${Y.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'.");if(U.page!==void 0&&(!Number.isFinite(U.page)||!Number.isInteger(U.page)||U.page<1))throw Error("--page must be a positive integer.");if(U.limit!==void 0&&(!Number.isFinite(U.limit)||!Number.isInteger(U.limit)||U.limit<1||U.limit>200))throw Error("--limit must be an integer between 1 and 200.");let P=U.page??1,O=U.limit??20,Y=U.search?String(U.search).toLowerCase():"",Q=U.tagRaw??U.tag??[],B=U.tag?.length?U.tag.map((Q_)=>Q_.toLowerCase()).join(","):"none",G=U.format==="table"||!U.json&&!U.format&&my(U),T=U.json||U.format==="json",F=U.archived?"archived":U.includeArchived?"all":"active",{sort:g,direction:q}=Iu([],U),x=(P-1)*O;if(x>1e4)throw Error("The requested page exceeds the maximum bounded offset of 10000.");let l=await S.list({search:Y,tags:Q,archive:F,sort:g,direction:q,limit:O,offset:x}),D_=l.items,E_=Math.max(1,Math.ceil(l.total/O)),E$={ok:!0,page:P,limit:O,total:l.total,total_pages:E_,sort:g,direction:q,items:D_,store_exists:l.exists};if(T){C(E$,!0);return}if(U.verbose){C(E$,!1,U);return}if(D_.length===0){C(`No items found (search=${Y||"none"}, tag=${B})`,!1);return}if(G){let Q_=(N_)=>N_,q$=`${Q_("ID")} ${Q_("TITLE")} ${Q_("CREATED")} ${Q_("URL")} ${Q_("TAGS")}`;console.log(q$);for(let N_ of D_)console.log(`${N_.id} ${Q_(j_(N_.title,80))} ${N_.created_at} ${N_.url?Q_(j_(N_.url,90)):""} ${N_.tags?.length?Q_(j_(`[${N_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${E_} | showing ${D_.length} of ${l.total} | sort=${g} ${q} | search=${Y||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let Q_ of D_)console.log(`${Q_.id} ${j_(Q_.title,80)} ${Q_.created_at}${Q_.url?` ${j_(Q_.url,90)}`:""}${Q_.tags?.length?` ${j_(`[${Q_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${E_} | showing ${D_.length} of ${l.total} | sort=${g} ${q} | search=${Y||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(j==="get"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);C({ok:!0,item:P,store_exists:S.exists,message:`${P.id}: ${P.title}`},U.json,U);return}if(j==="versions"){Q0(U);let P=Number.isFinite(U.page)&&U.page>0?U.page:1,O=Number.isFinite(U.limit)&&U.limit>0?U.limit:void 0,Y=await S.listVersions(U.id,{limit:O,offset:(P-1)*(O??50)});if(!Y)throw Error(`Item not found: ${U.id}`);let Q={ok:!0,id:Y.item_id,current_version:Y.current_version,total:Y.total,page:P,store:S.location,versions:Y.items,message:Y.total===0?`${Y.item_id} is at version ${Y.current_version} with no retained prior versions`:`${Y.item_id} is at version ${Y.current_version}; ${Y.total} prior version(s) retained`};if(U.json||U.verbose){C(Q,U.json,U);return}console.log(Q.message);for(let B of Y.items){let G=B.actor?` by ${B.actor}`:"",T=B.reason?` (${B.reason})`:"";console.log(`v${B.version} ${B.valid_to}${G}${T} ${B.content_bytes} bytes ${B.content_hash.slice(0,12)}`)}if(Y.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(j==="diff"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.rev!==void 0&&(U.from!==void 0||U.to!==void 0))throw Error("Use either --rev <n> or --from <a> --to <b>, not both.");let O=()=>({title:P.title,content:P.content,url:P.url,tags:P.tags??[],metadata:P.metadata??{},archived:P.archived??!1}),Y=`v${P.version??"?"} (current)`,Q=async(q)=>{if(q==="current")return{label:Y,snapshot:O()};let x=Number(q);if(!Number.isInteger(x)||x<1)throw Error(`Not a version number: ${q}`);if(P.version!==void 0&&x===P.version)return{label:Y,snapshot:O()};let l=await S.getVersion(P.id,x);if(!l)throw Error(`No version ${x} retained for ${P.id} (it is at version ${P.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${l.version}`,snapshot:{title:l.title,content:l.content,url:l.url,tags:l.tags,metadata:l.metadata,archived:l.archived}}},B,G;if(U.rev!==void 0){if(!Number.isInteger(U.rev)||U.rev<1)throw Error("--rev must be a positive version number.");if(U.rev===1)throw Error("Version 1 has no predecessor to diff against.");B=String(U.rev-1),G=String(U.rev)}else if(U.from!==void 0||U.to!==void 0){if(U.from===void 0||U.to===void 0)throw Error("--from and --to must be given together.");B=U.from,G=U.to}else{let q=await S.listVersions(P.id,{limit:1});if(!q)throw Error(`Item not found: ${U.id}`);if(q.items.length===0)throw Error(`${P.id} is at version ${q.current_version} with no retained prior versions to diff against.`);B=String(q.items[0].version),G="current"}let T=await Q(B),F=await Q(G),g=GX(T.snapshot,F.snapshot);if(U.json||U.verbose){C({ok:!0,id:P.id,from:T.label,to:F.label,...g},U.json,U);return}console.log(TX(g,`${P.id} ${T.label}`,`${P.id} ${F.label}`));return}if(j==="update"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.ifVersion!==void 0&&(!Number.isInteger(U.ifVersion)||U.ifVersion<1))throw Error(`Invalid --if-version ${JSON.stringify(String(U.ifVersion))}: must be a positive integer version number, e.g. the "version" field from a prior 'knowledge get'.`);let O={};if(U.title!==void 0)O.title=U.title;if(U.content!==void 0)O.content=U.content;if(U.url!==void 0)O.url=U.url;let Y;if(U.tag!==void 0){if(Y=k7(P.tags,U.tag),Y.length>0)O.tags=[...P.tags??[],...Y]}let Q=U.ifVersion!==void 0?U.ifVersion:P.version,B=await S.update(P.id,O,{expectedVersion:Q});C(z3({ok:!0,item:B},`Updated ${B?.id??P.id}`,Y),U.json,U);return}if(j==="archive"||j==="restore"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=await S.update(P.id,{archived:j==="archive"},{expectedVersion:P.version});C({ok:!0,item:O,message:`${j==="archive"?"Archived":"Restored"} ${O?.id??P.id}`},U.json,U);return}if(j==="untag"){if(Q0(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=P.tags??[],Y=new Set(O.map((x)=>x.toLowerCase())),Q=new Set;for(let x of U.tagRaw??U.tag){let l=x.trim().toLowerCase();if(l.length>0&&Y.has(l)){Q.add(l);continue}for(let D_ of x.split(",").map((E_)=>E_.trim().toLowerCase()).filter((E_)=>E_.length>0))Q.add(D_)}let B=O.filter((x)=>!Q.has(x.toLowerCase())),G=O.length-B.length,T=[...Q].filter((x)=>!Y.has(x));if(G===0)throw Error(`No matching tag on ${P.id}: ${T.map((x)=>JSON.stringify(x)).join(", ")} not in [${O.map((x)=>JSON.stringify(x)).join(", ")}]`);let F=await S.update(P.id,{tags:B},{expectedVersion:P.version}),g=T.length>0?` (not found: ${T.map((x)=>JSON.stringify(x)).join(", ")})`:"",q={ok:!0,item:F,removed:G,message:`Removed ${G} tag${G===1?"":"s"} from ${F?.id??P.id}${g}`};if(T.length>0)q.not_found=T;C(q,U.json,U);return}if(j==="upsert"){let P=U.title??$[1],O=U.content??$[2],Y=U.id?await S.get(U.id):null;if(!Y){if(!P||!O)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let T=await S.create({id:U.id,title:P,content:O,url:U.url??null,tags:U.tag??[]});C(z3({ok:!0,created:!0,item:T},`Upserted ${T.id}`,U.tag),U.json,U);return}let Q={};if(P!==void 0)Q.title=P;if(O!==void 0)Q.content=O;if(U.url!==void 0)Q.url=U.url;let B;if(U.tag!==void 0){if(B=k7(Y.tags,U.tag),B.length>0)Q.tags=[...Y.tags??[],...B]}let G=await S.update(Y.id,Q,{expectedVersion:Y.version});C(z3({ok:!0,created:!1,item:G},`Upserted ${G?.id??Y.id}`,B),U.json,U);return}if(j==="delete"){if(Q0(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await S.delete(U.id))throw Error(`Item not found: ${U.id}`);G0("info","Item deleted",{id:U.id,transport:S.kind}),C({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(j==="export"){let P=U.format??"json";if(P!=="json"&&P!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let O=await S.listAll();if(P==="jsonl")for(let Y of O.items)console.log(JSON.stringify(Y));else if(U.json||U.format==="json"||U.verbose)C({ok:!0,items:O.items,store_exists:O.exists},U.json||U.format==="json",U);else C(Eu(O.items,P),!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:P}=await S.listAll(),O=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,Y=P.filter((G)=>O!==null&&new Date(G.created_at)<O||U.empty&&G.content.trim().length===0),Q=await S.deleteMany(Y.map((G)=>G.id)),B=P.length-Q;G0("info","Prune completed",{pruned:Q,remaining:B,transport:S.kind}),C({ok:!0,pruned:Q,remaining:B,message:`Pruned ${Q} 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:P}=await S.listAll(),O=new Set,Y=[];for(let G of P){let T=`${G.title}\x00${G.content}`;if(O.has(T))Y.push(G);else O.add(T)}let Q=await S.deleteMany(Y.map((G)=>G.id)),B=P.length-Q;G0("info","Dedupe completed",{removed:Q,remaining:B,transport:S.kind}),C({ok:!0,removed:Q,remaining:B,message:`Dedupe removed ${Q} duplicate(s)`},U.json,U);return}if(j==="stats"){let P=await S.listAll(),O=P.items.filter((x)=>!x.archived),Y=O.length,Q=P.items.length-Y,B=O.filter((x)=>x.url).length,G=O.filter((x)=>x.tags&&x.tags.length>0).length,T=Y>0?O.map((x)=>x.created_at).sort()[0]:null,F=Y>0?O.map((x)=>x.created_at).sort()[Y-1]:null,g={};for(let x of O)for(let l of x.tags||[])g[l]=(g[l]||0)+1;let q=Object.entries(g).sort((x,l)=>l[1]-x[1]).slice(0,5).map(([x,l])=>({tag:x,count:l}));C({ok:!0,total:Y,archived:Q,with_url:B,with_tags:G,oldest:T,newest:F,top_tags:q,store_exists:P.exists,message:`${Y} items | ${B} with URL | ${G} with tags`},U.json,U);return}let z=yy($[0]),R=z?` Did you mean '${z}'?`:"";throw G0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${R} Run 'knowledge --help' for available commands.`)}finally{await W?.close(),await I.close()}}function Wu(_,$){let U=_ instanceof Error?_.message:String(_);G0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`);let j=_ instanceof q0?_:null;if($.includes("--json"))C({ok:!1,error:U,message:U,...j?{code:"version_conflict",expected:j.expected,current:j.current}:{}},!0);process.exitCode=j?2:1}if(import.meta.main){let _=process.argv.slice(2);Au(_).catch(($)=>Wu($,_))}export{yy as suggestCommand,Iu as sortItems,Au as run,vy as parseArgs,Wu 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}ny()}function ly(_){if(_.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function b(_,$,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 N=_.message;console.log(N?`${N} +${s_()}`:iy(_))}function s_(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function N_(_,$=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 iy(_){if(!_||typeof _!=="object")return String(_);let $=_,U=[$.ok===!1?"Result: not ok":"Result: ok"];for(let[N,D]of Object.entries($).slice(0,8)){if(N==="ok"||N==="message")continue;if(Array.isArray(D))U.push(`${N}: ${D.length} item(s)`);else if(D&&typeof D==="object")U.push(`${N}: ${Object.keys(D).length} field(s)`);else U.push(`${N}: ${N_(D,100)}`)}return U.push(s_()),U.join(` +`)}function ty(_){let $=_.mode==="postgres"?"postgres (HTTP /v1 API)":"sqlite (on-box store)",U=_.source.kind==="env"?`selected by ${_.source.name}=${_.source.value}`:`default (no mode var set; set ${L6[0]}=postgres to use the API)`,N=[`Knowledge mode: ${$}`,` ${U}`];if(_.pointer_env_present.length>0){let D=_.pointer_ignored?"present but IGNORED for mode selection":"present";N.push(` Pointer env ${D}: ${_.pointer_env_present.join(", ")}`)}if(_.network_guard_active)N.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if(_.warning)N.push(` Note: ${_.warning}`);return N.join(` +`)}function oy(_){return[`Knowledge paths (${_.scope})`,`Home: ${_.home}`,`SQLite: ${_.knowledge_db_path}`,`JSON store: ${_.json_store_path}`,`Wiki: ${_.wiki_dir}`,s_("config and all paths")].join(` +`)}function x7(_){console.log(JSON.stringify(_))}function py(_){let $=_.summary,U=[`Knowledge inventory (${_.scope})`,`Home: ${_.home}`,`JSON store: ${_.paths.json_store_path}${_.paths.json_store_exists?"":" (missing)"}`,`SQLite catalog: ${_.paths.knowledge_db_path}`,`Summary: ${$.legacy_items} item(s), ${$.sources} source(s), ${$.chunks} chunk(s), ${$.wiki_pages} wiki page(s), ${$.indexes} index(es), ${$.storage_objects} artifact(s), ${$.runs} run(s)`],N=(D,j,I)=>{if(j.length===0)return;U.push("",`${D}:`);for(let E of j.slice(0,_.limit))U.push(`- ${I(E)}`)};return N("Items",_.items,(D)=>`${D.id}: ${D.title}`),N("Sources",_.sources,(D)=>`${D.kind??"source"} ${D.uri} (${D.chunks??0} chunk(s))`),N("Chunks",_.chunks,(D)=>`${D.kind??"chunk"} ${D.id}: ${D.text_preview??""}`),N("Wiki pages",_.wiki_pages,(D)=>`${D.path}: ${D.title}`),N("Indexes",_.indexes,(D)=>`${D.kind??"index"} ${D.name}${D.shard_key?` (${D.shard_key})`:""}`),N("Artifacts",_.storage_objects,(D)=>`${D.kind??"artifact"} ${D.artifact_uri}`),N("Runs",_.runs,(D)=>`${D.type??"run"} ${D.id}: ${D.status??"unknown"}`),N("Machines",_.machines,(D)=>`${D.machine_id}${D.workspace_home?` ${D.workspace_home}`:""}`),N("Sync conflicts",_.sync_conflicts,(D)=>`${D.id}: ${D.entity_kind}/${D.entity_id} ${D.status}`),U.join(` +`)}function ay(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} search result(s) for "${N_(_.query,80)}"${_.mode?.semantic?" (semantic enabled)":""}`];for(let N of $.slice(0,_.limit??10)){let D=N.source?.uri??N.provenance?.source_uri??N.artifact?.path??N.artifact?.uri??N.id,j=typeof N.score==="number"?` score=${N.score.toFixed(3)}`:"";if(U.push(`- ${N.kind??"result"} ${N_(N.title??N.id,80)}${j}`),D)U.push(` source: ${N_(D,120)}`);if(N.text)U.push(` text: ${N_(N.text,180)}`)}if($.length===0)U.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(U.push(s_("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 ey(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],U=Array.isArray(_.citations)?_.citations:[],N=[`${$.length} context excerpt(s) for "${N_(_.query??_.normalized_query,80)}"`];for(let D of $.slice(0,10)){let j=U.find((W)=>W.id===D.citation_id||W.result_id===D.result_id),I=j?.source_uri??j?.artifact_path??D.result_id,E=typeof D.score==="number"?` score=${D.score.toFixed(3)}`:"";if(N.push(`- ${D.kind??"excerpt"} ${N_(D.id,44)}${E}`),I)N.push(` source: ${N_(I,120)}`);N.push(` text: ${N_(D.text,220)}`)}return N.push(`Citations: ${U.length}`),N.push(s_("citations, graph, notes, and full excerpts")),N.join(` +`)}function sy(_){let $=Array.isArray(_.results)?_.results:[],U=[`${$.length} semantic result(s) for "${N_(_.query,80)}"`,`Index: ${_.provider??"unknown"}:${_.model??"unknown"} (${_.dimensions??"?"} dimensions)`];for(let N of $.slice(0,_.limit??10)){let D=typeof N.score==="number"?` score=${N.score.toFixed(3)}`:"";if(U.push(`- ${N_(N.chunk_id,44)}${D}`),N.source_uri)U.push(` source: ${N_(N.source_uri,120)}`);if(N.text)U.push(` text: ${N_(N.text,180)}`)}return U.push(s_("provenance and full vector result objects")),U.join(` +`)}function _u(_){let $=Array.isArray(_.sources)?_.sources:[],U=[`${$.length} web source(s) for "${N_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let N of $.slice(0,_.limit??10)){U.push(`- ${N_(N.title??N.url??N.uri??"source",100)}`);let D=N.url??N.uri??N.source_ref;if(D)U.push(` url: ${N_(D,140)}`);if(N.snippet)U.push(` snippet: ${N_(N.snippet,180)}`)}return U.push(s_("provider payloads and filed source refs")),U.join(` +`)}function $u(_){let $=Array.isArray(_.machines)?_.machines:[],U=[`${$.length} machine(s) discovered via ${_.source??"unknown"}`,`Adapter: ${_.adapter?.package??"@hasna/machines"} ${_.adapter?.available?"available":"unavailable"}`];for(let N of $.slice(0,10)){let D=N.local?" local":"",j=N.tailscale_dns??N.ssh_target??N.hostname??"";U.push(`- ${N_(N.machine_id??N.id??"unknown",48)}${D}${j?` -> ${N_(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(s_("full topology, route hints, and adapter evidence")),U.join(` +`)}function Uu(_){let $=Array.isArray(_.checks)?_.checks:[],U=$.filter((j)=>j.status==="fail"||j.severity==="fail"),N=$.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, ${N.length} warning(s)`];for(let j of[...U,...N].slice(0,8))D.push(`- ${j.status??j.severity??"check"} ${N_(j.id??j.kind??"check",72)}: ${N_(j.message??j.detail??"",140)}`);return D.push(s_("all checks and repair hints")),D.join(` +`)}function Du(_){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,N])=>`${U}=${N}`).join(", ")||"none"}`,s_("registry rows, clocks, snapshots, imports, and conflicts")].join(` +`)}function Nu(_){let $=Array.isArray(_.warnings)?_.warnings:[],U=Array.isArray(_.recommended_commands)?_.recommended_commands:[],N=[_.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)N.push(`Warnings: ${$.slice(0,5).join("; ")}`);for(let D of U.slice(0,5))N.push(`- next: ${N_(D.shell_command??D.command?.join(" ")??D.id,160)}`);return N.push(s_("diagnostics, route evidence, and all recommended commands")),N.join(` +`)}function ju(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${N_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${N_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,s_("snapshot payload and topology evidence")].join(` +`)}function Iu(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],U=[`${$.length} sync conflict(s)`];for(let N of $.slice(0,10))U.push(`- ${N_(N.id,48)} ${N.status??"unknown"} ${N.entity_kind??""}/${N_(N.entity_id,80)}`);return U.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),U.push(s_("full conflict objects")),U.join(` +`)}function Eu(_){let $=Array.isArray(_.machines)?_.machines:[],U=[`${$.length} registered sync machine(s)`];for(let N of $.slice(0,10))U.push(`- ${N_(N.machine_id,48)} ${N_(N.hostname??N.workspace_home??"",100)}`);return U.push(s_("machine registry rows")),U.join(` +`)}function y7(_,$){let U=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],N=(D,j)=>{if(!j)return;let E=(Array.isArray(j.tables)?j.tables:[]).reduce((L,S)=>L+(S.inserted??0)+(S.updated??0)+(S.deleted??0),0),W=j.artifacts?.copied??0,J=Array.isArray(j.errors)?j.errors.length:0;U.push(`${D}: ${E} table row change(s), ${W} artifact(s), ${J} error(s)`)};if(N("pull",_.pull),N("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)U.push(`Errors: ${_.errors.slice(0,3).map((D)=>N_(D,120)).join("; ")}`);return U.push(s_("per-table rows, artifacts, clocks, and errors")),U.join(` +`)}function Au(_){let $=Array.isArray(_.citations)?_.citations:[],U=Array.isArray(_.context?.excerpts)?_.context.excerpts:Array.isArray(_.excerpts)?_.excerpts:[],N=[_.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${$.length}; excerpts: ${U.length}`];if(_.answer)N.push(`Answer: ${N_(_.answer,500)}`);for(let D of $.slice(0,5))N.push(`- ${N_(D.source_uri??D.ref??D.id,120)}`);return N.push(s_("full answer payload, context, citations, and run ledger")),N.join(` +`)}function Wu(_,$){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 u7(_){return!_||_==="local"||_==="localhost"}function Q0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Ju(_,$){let U=$.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let N=[..._].sort((D,j)=>{if(U==="title")return D.title.localeCompare(j.title);return D.created_at.localeCompare(j.created_at)});if($.desc)N.reverse();return{sorted:N,sort:U,direction:$.desc?"desc":"asc"}}async function Lu(_){if(await my(_))return;let{positional:$,flags:U}=yy(_);if(G0("debug","CLI invoked",{command:$[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:L$.name,version:L$.version},null,2):`${L$.name} ${L$.version}`);return}if(U.completions){let J=U.completions;if(J==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 --rev --to --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 --operation-id --step-id --idempotency-key --slug --name --collection-id --collection-slug --collection-name --item-id --receipt-id --cursor --kind --all --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(J==="zsh")console.log(`#compdef knowledge +_knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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" "(--all)--all" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(--search)--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}:" "(--to)--to[diff target: version number or current]:" "(--rev)--rev[entry version for diff]:number:" "(--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]:" "(--operation-id)--operation-id[registration operation id]:" "(--step-id)--step-id[registration step id]:" "(--idempotency-key)--idempotency-key[caller idempotency key]:" "(--slug)--slug[project slug]:" "(--name)--name[project name]:" "(--collection-id)--collection-id[exact collection id]:" "(--collection-slug)--collection-slug[collection slug]:" "(--collection-name)--collection-name[collection name]:" "(--item-id)--item-id[exact item id]:" "(--receipt-id)--receipt-id[exact receipt id]:" "(--cursor)--cursor[resource cursor]:" "(--kind)--kind[resource kind]:(project collection item taxonomy):" "(--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(J==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded 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 to; complete -c knowledge -l rev; 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 operation-id; complete -c knowledge -l step-id; complete -c knowledge -l idempotency-key; complete -c knowledge -l slug; complete -c knowledge -l name; complete -c knowledge -l collection-id; complete -c knowledge -l collection-slug; complete -c knowledge -l collection-name; complete -c knowledge -l item-id; complete -c knowledge -l receipt-id; complete -c knowledge -l cursor; complete -c knowledge -l kind -a "project collection item taxonomy"; complete -c knowledge -l all; 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 N=uy($[0]),D=1,j=cy()&&N&&!r7.includes(N);if(!N||U.help||N==="help"){let J=N==="help"?$[1]:N||$[1];dy(J);return}if(N==="mode"){let J=PX(process.env);b(U.json||U.verbose?{ok:!0,...J}:ty(J),U.json,U);return}if(N==="guarded"){let J=$[1]??"capabilities";if(J==="capabilities"){b({ok:!0,contract:"FCAME-1",private_input:!0,private_result:!0,exact_title_lookup:!0,private_transport_body_output:!1,private_cli_descriptor_transport:!0,private_cli_transport:"process_ipc",guarded_actions:["create","update","query","readback"]},U.json,U);return}if(J!=="execute-descriptor")throw Error("Usage: knowledge guarded capabilities|execute-descriptor [--json]");let L=[U.title,U.content,U.url,U.tag,U.tagRaw,U.id,U.itemId,U.operationId,U.stepId,U.idempotencyKey,U.sourceRef,U.search,U.topic,U.project,U.collectionId,U.collectionSlug,U.collectionName].some((S)=>S!==void 0);if($.length!==2||L)throw Error("guarded_descriptor_public_input_refused");if(U.ipc){if(U.requestFd!==void 0||U.resultFd!==void 0)throw Error("guarded_descriptor_private_transport_ambiguous");b({ok:!0,...await mG(process.env)},U.json,U);return}if(!Number.isInteger(U.requestFd)||!Number.isInteger(U.resultFd)||U.requestFd<3||U.resultFd<3)throw Error("guarded_descriptor_private_fds_required");b({ok:!0,...await cG(U.requestFd,U.resultFd,process.env)},U.json,U);return}SX(process.env,{storePathOverridden:Boolean(U.store)});let I=N==="project-panel"||N==="app-wiki"?U.scope??"project":U.scope,E=yE({scope:I}),W;try{if(N==="storage"){let P=$[1]??"status";if(P==="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 O=F2({dryRun:U.dryRun});if(b(O,U.json),!O.ok)process.exitCode=1;return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=E.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=E.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}}let J=Boolean(U.store),L=U.store;if(!L)if(I==="project"||I==="local")L=E.workspace.jsonStorePath;else L=AN();let S=RN({storePath:L,storePathOverridden:J});if(j&&await vy($,N,S))N="ask",D=0;if(!J&&(N==="ask"||N==="build")&&!o$())$D(L);let X=()=>{if(!J||o$())return E.projectLinksAuthority();return W??=bE({databasePath:by(ky(L),"knowledge.db"),itemStore:S,options:{packageVersion:L$.version,authorityId:process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),W};if(N==="project-registration"){let P=$[1]??"capability",O=X();if(P==="capability"){b({ok:!0,capability:await O.capability()},U.json,U);return}if(P==="create"){let R=await O.capability(),Q=U.project,B=U.slug,G=U.name;if(!U.operationId||!U.stepId||!U.idempotencyKey||!Q||!B||!G)throw Error("Usage: knowledge project-registration create --operation-id <id> --step-id <id> --idempotency-key <key> --project <id> --slug <slug> --name <name> [--collection-slug <slug>] [--collection-name <name>] [--json]");let T={collection_slug:U.collectionSlug??`${B}-knowledge`,collection_name:U.collectionName??`${G} Knowledge`},F=Z_({action:"register_collection",source_project_id:Q,project_slug:B,project_name:G,collection_slug:T.collection_slug,collection_name:T.collection_name,membership_rule:"explicit_collection_binding"}),M=await O.registerCollection({operation_id:U.operationId,step_id:U.stepId,resource_kind:"collection",direction:"forward",authority_route:u$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,target_selector:Q,idempotency_key:U.idempotencyKey,request_digest:F,precondition_digest:Z_({source_project_id:Q,expected:"absent_or_exact_match"}),project_id:Q,project_slug:B,project_name:G,desired:T});b({ok:M.outcome==="accepted",receipt:M},U.json,U);return}if(P==="read-exact"){if(!U.collectionId)throw Error("Usage: knowledge project-registration read-exact --collection-id <uuid> [--json]");b({ok:!0,record:await O.readCollection(U.collectionId)},U.json,U);return}if(P==="receipt"){let R=$[2],Q=$[3];if(!U.operationId||!U.stepId||!U.idempotencyKey||!R||!Q)throw Error("Usage: knowledge project-registration receipt <register_collection|bind_item> <forward|inverse> --operation-id <id> --step-id <id> --idempotency-key <key> [--json]");let B=await O.capability(),G=await O.lookupReceipt({authority_id:B.authority_id,tenant_id:B.tenant_id,corpus_id:B.corpus_id,operation_id:U.operationId,step_id:U.stepId,action:R,direction:Q,idempotency_key:U.idempotencyKey,max_items:1});b({ok:!0,receipt:G},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-registration ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let R=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:u$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},B=P==="compensate"?{receipt:await O.compensateRegistration(Q)}:{verification:await O.verifyRegistrationInverse(Q)};b({ok:!0,...B},U.json,U);return}throw Error("Invalid project-registration action. Use capability, create, read-exact, receipt, compensate, or verify-inverse.")}if(N==="project-membership"){let P=$[1]??"read-exact",O=X();if(P==="bind"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership bind --operation-id <id> --step-id <id> --idempotency-key <key> --collection-id <uuid> --item-id <id> [--json]");let R=await O.capability(),Q=await O.bindItem({operation_id:U.operationId,step_id:U.stepId,direction:"forward",authority_route:u$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,idempotency_key:U.idempotencyKey,request_digest:Z_({action:"bind_item",collection_id:U.collectionId,item_id:U.itemId}),precondition_digest:Z_({collection_id:U.collectionId,item_id:U.itemId,expected:"unbound_or_exact_membership"}),collection_id:U.collectionId,item_id:U.itemId});b({ok:Q.outcome==="accepted",receipt:Q},U.json,U);return}if(P==="read-exact"){if(!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership read-exact --collection-id <uuid> --item-id <id> [--json]");b({ok:!0,record:await O.readItemBinding(U.collectionId,U.itemId)},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-membership ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let R=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:u$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},B=P==="compensate"?{receipt:await O.compensateItemBinding(Q)}:{verification:await O.verifyItemBindingInverse(Q)};b({ok:!0,...B},U.json,U);return}throw Error("Invalid project-membership action. Use bind, read-exact, compensate, or verify-inverse.")}if(N==="project-resources"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-resources <project-id> [--kind <kind>]... [--limit <n>] [--cursor <cursor>] [--all] [--json]");let O=X(),R=U.kind,Q=U.all?{resources:await O.readAllProjectResources(P,{limit:U.limit,kinds:R})}:await O.listProjectResources(P,{limit:U.limit,cursor:U.cursor,kinds:R});b({ok:!0,...Q},U.json,U);return}if(N==="project-resource"){let P=U.project??$[1],O=$[2],R=$[3];if(!P||!O||!R)throw Error("Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]");b({ok:!0,resource:await X().readProjectResource(P,O,R)},U.json,U);return}if(N==="inventory"){let P=await E.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:o$()?void 0:L});b(U.json||U.verbose?P:py(P),U.json,U);return}if(N==="project-panel"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let O=await LG(P,{service:E,limit:U.limit,storePath:o$()?void 0:L,includeArchived:U.includeArchived||U.archived});b(U.json||U.contract?O:SG(O),U.json||U.contract);return}if(N==="paths"){let P=E.paths();b(U.json||U.verbose?P:oy(P),U.json,U);return}if(N==="setup"){let P=E.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});b(P,U.json,U);return}if(N==="auth"){let P=$[1]??"whoami";if(P==="whoami"||P==="status"){let O=E.authStatus(process.env);b({ok:!0,...O,message:O.authenticated?`Authenticated via ${O.source}`:"Not authenticated"},U.json,U);return}if(P==="login"){let O=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!O)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let R=E.saveAuth({apiKey:O,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);b({ok:!0,authenticated:!0,email:R.email??null,org_slug:R.org_slug??null,api_url:R.api_url??E.authStatus(process.env).api_url,auth_path:E.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${R.email??"API key"}`},U.json,U);return}if(P==="logout"){let O=E.clearAuth(process.env);b({ok:!0,removed:O,message:O?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(N==="storage"){let P=$[1]??"status";if(P==="status"){let O=E.storageContract(),R=E.validateStorage();b({ok:R.ok,...O,validation:R,message:`${O.storage_type} artifact storage at ${O.artifact_store.uri_prefix}`},U.json,U);return}if(P==="validate"){let O=E.validateStorage();if(b({ok:O.ok,validation:O,message:O.ok?"Storage contract valid":`Storage contract invalid: ${O.errors.join("; ")}`},U.json,U),!O.ok)process.exitCode=1;return}if(P==="repair-artifact-keys"||P==="repair-keys"){let O=E.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});b(O,U.json,U);return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=E.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=E.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.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(N==="machines"){let P=$[1]??"topology";if(P==="topology"||P==="status"){let O=await E.machineTopology({includeTailscale:U.tailscale!==!1});b(U.json||U.verbose?O:$u(O),U.json,U);return}if(P==="preflight"||P==="check"){let O=$[2]??U.machine??"local",R=U.workspace??process.cwd(),Q=await E.machinePreflight({machineId:O,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:L$.name,command:"knowledge",expectedVersion:L$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:R,expectedPackageName:L$.name,expectedVersion:L$.version,required:!0}]});if(b(U.json||U.verbose?Q:Uu(Q),U.json,U),!Q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(N==="sync"){let P=$[1]??"status",O=U.tables?U.tables.split(",").map((R)=>R.trim()).filter(Boolean):void 0;if(P==="status"){let R=E.syncStatus();b(U.json||U.verbose?R:Du(R),U.json,U);return}if(P==="doctor"||P==="readiness"||P==="preflight"){let R=await E.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:O}),Q={package:{name:L$.name,version:L$.version},...R};if(b(U.json||U.verbose?Q:Nu(Q),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}if(P==="snapshot"||P==="record"){let R=await E.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});b(U.json||U.verbose?R:ju(R),U.json,U);return}if(P==="conflicts"||P==="conflict"){let R=$[2];if(R==="show"||R==="get"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts show <id>");let T=E.syncConflict(G);b({ok:!0,conflict:T,message:`Sync conflict ${G}`},U.json,U);return}if(R==="propose"||R==="proposal"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts propose <id>");b(U.mode==="ai"?await E.proposeSyncConflictResolutionWithAi({id:G,modelRef:U.model,fake:U.fake}):E.proposeSyncConflictResolution(G),U.json,U);return}if(R==="resolve"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let T=E.resolveSyncConflict({id:G,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(b(T,U.json,U),!T.ok&&!U.json)process.exitCode=1;return}let Q=E.syncConflicts({status:R,limit:U.limit}),B={ok:!0,conflicts:Q,message:`${Q.length} sync conflict(s)`};b(U.json||U.verbose?B:Iu(B),U.json,U);return}if(P==="machines"||P==="registry"){let R=E.syncMachines(),Q={ok:!0,machines:R,message:`${R.length} registered sync machine(s)`};b(U.json||U.verbose?Q:Eu(Q),U.json,U);return}if(P==="export"){let R=E.exportSyncBundle({machineId:U.machine??null,tables:O,includeArtifactContent:U.artifactContent!==!1});b(R,!0);return}if(P==="import"){let R=await Bun.stdin.text();if(!R.trim())throw Error("Usage: knowledge sync import < bundle.json");let Q=await E.importSyncBundle({bundle:JSON.parse(R),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});b(U.json||U.verbose?Q:y7(Q,P),U.json,U);return}if(P==="dry-run"||P==="pull"||P==="push"||P==="sync"){if(!U.peerWorkspace&&u7(U.machine))throw Error(`Usage: knowledge sync ${P} --peer-workspace <repo-or-knowledge-home> [--scope project] +Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let R=P==="dry-run"?"both":P==="sync"?"both":P,Q=!u7(U.machine)?await E.syncRemotePeer({direction:R,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:O,dryRun:U.dryRun===!0||P==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await E.syncPeer({peerWorkspace:U.peerWorkspace,direction:R,dryRun:U.dryRun===!0||P==="dry-run",tables:O,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(b(U.json||U.verbose?Q:y7(Q,P),U.json,U),!Q.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(N==="db"){let P=$[1]??"init";if(P==="init"){let O=E.initDb();b({ok:!0,...O,message:`Initialized ${O.path}`},U.json,U);return}if(P==="stats"){let O=E.dbStats();b({ok:!0,path:E.workspace.knowledgeDbPath,...O,message:`knowledge.db schema v${O.schema_version}`},U.json,U);return}if(P==="storage"){if(($[2]??"status")==="status"){let R=$3({scope:U.scope});b({ok:!0,...R,message:`knowledge.db storage mode ${R.mode}`},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(N==="app-wiki"){let P=$[1]??"init";if(P==="paths"||P==="status"){b({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...E.paths()},U.json);return}if(P==="init"||P==="open"){let O=await E.initAppWiki({allowGlobal:U.allowGlobal});b(O,U.json);return}if(P==="note"||P==="notes"){let O=$[2]??"list";if(O==="add"||O==="create"){let R=U.title??$[3],Q=U.content??$.slice(4).join(" ");if(!R||!Q)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let B=await E.addAppWikiNote({title:R,content:Q,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});b(B,U.json);return}if(O==="list"||O==="ls"){let R=E.listAppWikiNotes({limit:U.limit});b({ok:!0,scope:E.scope,home:E.workspace.home,notes:R,message:`${R.length} app wiki note(s)`},U.json);return}if(O==="get"||O==="show"){let R=$[3]??U.id;if(!R)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let Q=await E.getAppWikiNote(R,{includeContent:!0});if(!Q)throw Error(`App wiki note not found: ${R}`);b(Q,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(P==="source"||P==="sources"){let O=$[2]??"add";if(O!=="add"&&O!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let R=$[3]??U.sourceRef?.[0];if(!R)throw Error("Usage: knowledge app-wiki source add <source-ref>");let Q=await E.addAppWikiSourceRef({sourceRef:R,purpose:U.purpose,allowGlobal:U.allowGlobal});b({ok:!0,...Q,message:`Added app wiki source ${Q.source_ref}`},U.json);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki search <query>");let R=await E.searchAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R,message:`${R.results.length} app wiki result(s)`},U.json);return}if(P==="query"||P==="context"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki query <query>");let R=await E.queryAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R,message:`${R.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(N==="wiki"){let P=$[1]??"init";if(P==="init"){let O=await E.initWiki();b({ok:!0,...O,message:`Initialized wiki layout in ${E.workspace.home}`},U.json,U);return}if(P==="compile"){let O=$.slice(2),R=O.filter((G)=>/^(open-files|file|s3|https?):\/\//.test(G)),Q=O.filter((G)=>!/^(open-files|file|s3|https?):\/\//.test(G)).join(" "),B=await E.compileWiki({title:U.title,query:Q||U.search,sourceRefs:R.length>0?R:void 0,limit:U.limit});b({ok:!0,...B,message:`Compiled wiki page ${B.path}`},U.json,U);return}if(P==="file-answer"||P==="answer"){let O=$.slice(2).join(" ");if(!O)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 R=await E.fileAnswer({prompt:O,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R},U.json,U);return}if(P==="lint"){let O=E.lintWiki();b({ok:O.ok,...O,message:O.ok?"Wiki lint passed":`Wiki lint found ${O.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(N==="safety"){let P=$[1]??"status",O=E.ensureWorkspace(),R=E.safetyPolicy();E.initDb();let Q=v(O.knowledgeDbPath);try{if(P==="status"){b({ok:!0,mode:R.mode,workspace:O.home,allow_write_roots:R.allowWriteRoots,read_only_source_access:R.readOnlySourceAccess,network:R.network,redaction:R.redaction,approvals:R.approvals,message:`Safety policy: ${R.mode}`},U.json,U);return}if(P==="check"){let B=$[2]??"generated_write",G=$[3]??null,T;try{if(B==="web_search")b0(R),T={action:B,target_uri:G,approval_required:!1,approved:!0,decision:"allow"};else if(B==="s3_read"){if(!G)throw Error("safety check s3_read requires an s3:// target.");y6(G,R),T={action:B,target_uri:G,approval_required:!1,approved:!0,decision:"allow"}}else T=oX(Q,R,B,G);T_(Q,{event_type:"safety_check",action:B,target_uri:G,decision:T.decision==="allow"?"allow":"requires_approval",metadata:T}),b({ok:!0,...T,message:`Safety check ${T.decision}`},U.json,U);return}catch(F){throw T_(Q,{event_type:"safety_check",action:B,target_uri:G,decision:"deny",metadata:{error:F instanceof Error?F.message:String(F)}}),F}}if(P==="approve"){let B=$[2]??"generated_write",G=$[3]??null,T=VN(Q,{action:B,target_uri:G,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});T_(Q,{event_type:"approval",action:B,target_uri:G,decision:"allow",metadata:{approval_id:T.id}}),b({ok:!0,...T,action:B,target_uri:G,message:`Approved ${B}`},U.json,U);return}if(P==="audit"){let B=Q.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((G)=>({id:G.id,event_type:G.event_type,action:G.action,target_uri:G.target_uri,decision:G.decision,metadata:JSON.parse(G.metadata_json),created_at:G.created_at}));b({ok:!0,events:B,message:`${B.length} audit event(s)`},U.json,U);return}if(P==="redact"){let B=$.slice(2).join(" ");if(!B)throw Error("Usage: knowledge safety redact <text>");let G=d_(B,R);if(G.findings.length>0)C0(Q,{source_uri:"safety://redact",findings:G.findings,metadata:{command:"safety redact"}});T_(Q,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:G.findings.length>0?"redacted":"allow",metadata:{findings:G.findings.length}}),b({ok:!0,text:G.text,findings:G.findings,message:`Redacted ${G.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{Q.close()}}if(N==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let O=$[2];if(!O)throw Error("Usage: knowledge source resolve <source-ref>");let R=await E.resolveSource(O,{purpose:U.purpose,limit:U.limit});b({ok:!0,...R,message:R.resolved?`Resolved ${R.source_ref} (${R.content.chunks_returned}/${R.content.chunks_total} chunks)`:`Source not indexed: ${O}`},U.json,U);return}if(N==="ingest"){let P=$[1]??"";if(P==="rules"||P==="global-rules"||P==="agent-rules"){let O=await E.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});b({ok:!0,...O},U.json);return}if(P==="manifest"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let R=await E.ingestManifest(O);b({ok:!0,...R,message:`Ingested ${R.items_seen} manifest item(s)`},U.json,U);return}if(P==="source"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest source <source-ref>");let R=await E.ingestSource(O,U.purpose);b({ok:!0,...R,message:`Ingested source ${R.source_ref} (${R.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(N==="reindex"){let P=$[1]??"status";if(P==="status"){let O=E.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`${O.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(P==="enqueue"){let O=E.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Queued ${O.enqueued} embedding refresh item(s)`},U.json,U);return}if(P==="embeddings"){let O=await E.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Embedded ${O.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="outbox"){let O=$[2];if(!O)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let R=await E.consumeOutbox(O);b({ok:!0,...R,message:`Consumed ${R.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(N==="embeddings"){let P=$[1]??"status";if(P==="status"){let O=E.embeddingStatus();b({ok:!0,...O,message:`${O.total_vector_entries} vector index entries`},U.json,U);return}if(P==="index"){let O=await E.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Embedded ${O.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge embeddings search <query>");let R=await E.semanticSearch({query:O,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),Q={ok:!0,...R,message:`${R.results.length} semantic result(s)`};b(U.json||U.verbose?Q:sy(Q),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(N==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let O=U.from??"search";if(!["search","loops","runs"].includes(O))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let R=$.slice(2).join(" ")||U.topic||"",Q=await E.contextPack({source:O,purpose:O==="loops"||O==="runs"?"proposal":"agent_context",query:R,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:L});x7({ok:!0,...Q,message:Q.message});return}if(N==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let O=U.from??"loops";if(!["loops","runs"].includes(O))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let R=U.topic??$.slice(2).join(" ");if(!R.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let Q=await E.contextPack({source:O,purpose:"proposal",query:R,topic:R,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});x7({ok:!0,...Q,message:Q.message});return}if(N==="search"){let P=$.slice(1).join(" ");if(!P)throw Error("Usage: knowledge search <query>");if(U.context){let Q=await E.retrieveContext({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:L}),B={ok:!0,...Q,message:`${Q.excerpts.length} context excerpt(s)`};b(U.json||U.verbose?B:ey(B),U.json,U);return}let O=await E.search({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:L}),R={ok:!0,...O,message:`${O.results.length} search result(s)`};b(U.json||U.verbose?R:ay(R),U.json,U);return}if(N==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge web search <query>");let R=await E.webSearch({query:O,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),Q={ok:!0,...R,message:`${R.sources.length} web source(s)`};b(U.json||U.verbose?Q:_u(Q),U.json,U);return}if(N==="ask"||N==="build"){let P=$.slice(D).join(" ");if(!P)throw Error("Usage: knowledge ask <prompt>");let O=await E.runPrompt({prompt:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:L}),R={ok:!0,...O,message:O.generated?"Generated answer with citations":"Prepared citation context draft"};b(U.json||U.verbose?R:Au(R),U.json,U);return}if(N==="providers"){let P=$[1]??"status";if(P==="status"){let O=E.providerStatus(),R=O.providers.filter((Q)=>Q.configured).length;b({ok:!0,...O,message:`${R}/${O.providers.length} provider credential(s) configured`},U.json,U);return}if(P==="models"){let O=E.modelRegistry();b({ok:!0,models:O,message:`${O.length} model alias(es)`},U.json,U);return}if(P==="check"){let O=$[2]??"default",R=k$(O,E.config()),Q=c_(R),B=T4(Q.provider,E.config());b({ok:!0,target:O,model_ref:R,provider:Q.provider,model:Q.model,credential:B,message:`${Q.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(N==="add"){let P=$[1],O=$[2];if(!P||!O)throw Error("Usage: knowledge add <title> <content>");let R=await S.create({title:P,content:O,url:U.url??null,tags:U.tag??[]});G0("info","Item added",{id:R.id,title:R.title,tags:R.tags?.length??0,transport:S.kind}),b({ok:!0,item:R,message:`Added ${R.id}`},U.json,U);return}if(N==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");if(U.page!==void 0&&(!Number.isFinite(U.page)||!Number.isInteger(U.page)||U.page<1))throw Error("--page must be a positive integer.");if(U.limit!==void 0&&(!Number.isFinite(U.limit)||!Number.isInteger(U.limit)||U.limit<1||U.limit>200))throw Error("--limit must be an integer between 1 and 200.");let P=U.page??1,O=U.limit??20,R=U.search?String(U.search).toLowerCase():"",Q=U.tagRaw??U.tag??[],B=U.tag?.length?U.tag.map((G_)=>G_.toLowerCase()).join(","):"none",G=U.format==="table"||!U.json&&!U.format&&ly(U),T=U.json||U.format==="json",F=U.archived?"archived":U.includeArchived?"all":"active",{sort:M,direction:q}=Ju([],U),x=(P-1)*O;if(x>1e4)throw Error("The requested page exceeds the maximum bounded offset of 10000.");let l=await S.list({search:R,tags:Q,archive:F,sort:M,direction:q,limit:O,offset:x}),D_=l.items,I_=Math.max(1,Math.ceil(l.total/O)),I$={ok:!0,page:P,limit:O,total:l.total,total_pages:I_,sort:M,direction:q,items:D_,store_exists:l.exists};if(T){b(I$,!0);return}if(U.verbose){b(I$,!1,U);return}if(D_.length===0){b(`No items found (search=${R||"none"}, tag=${B})`,!1);return}if(G){let G_=(j_)=>j_,q$=`${G_("ID")} ${G_("TITLE")} ${G_("CREATED")} ${G_("URL")} ${G_("TAGS")}`;console.log(q$);for(let j_ of D_)console.log(`${j_.id} ${G_(N_(j_.title,80))} ${j_.created_at} ${j_.url?G_(N_(j_.url,90)):""} ${j_.tags?.length?G_(N_(`[${j_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${l.total} | sort=${M} ${q} | search=${R||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let G_ of D_)console.log(`${G_.id} ${N_(G_.title,80)} ${G_.created_at}${G_.url?` ${N_(G_.url,90)}`:""}${G_.tags?.length?` ${N_(`[${G_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${l.total} | sort=${M} ${q} | search=${R||"none"} | tag=${B}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(N==="get"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);b({ok:!0,item:P,store_exists:S.exists,message:`${P.id}: ${P.title}`},U.json,U);return}if(N==="versions"){Q0(U);let P=Number.isFinite(U.page)&&U.page>0?U.page:1,O=Number.isFinite(U.limit)&&U.limit>0?U.limit:void 0,R=await S.listVersions(U.id,{limit:O,offset:(P-1)*(O??50)});if(!R)throw Error(`Item not found: ${U.id}`);let Q={ok:!0,id:R.item_id,current_version:R.current_version,total:R.total,page:P,store:S.location,versions:R.items,message:R.total===0?`${R.item_id} is at version ${R.current_version} with no retained prior versions`:`${R.item_id} is at version ${R.current_version}; ${R.total} prior version(s) retained`};if(U.json||U.verbose){b(Q,U.json,U);return}console.log(Q.message);for(let B of R.items){let G=B.actor?` by ${B.actor}`:"",T=B.reason?` (${B.reason})`:"";console.log(`v${B.version} ${B.valid_to}${G}${T} ${B.content_bytes} bytes ${B.content_hash.slice(0,12)}`)}if(R.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(N==="diff"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.rev!==void 0&&(U.from!==void 0||U.to!==void 0))throw Error("Use either --rev <n> or --from <a> --to <b>, not both.");let O=()=>({title:P.title,content:P.content,url:P.url,tags:P.tags??[],metadata:P.metadata??{},archived:P.archived??!1}),R=`v${P.version??"?"} (current)`,Q=async(q)=>{if(q==="current")return{label:R,snapshot:O()};let x=Number(q);if(!Number.isInteger(x)||x<1)throw Error(`Not a version number: ${q}`);if(P.version!==void 0&&x===P.version)return{label:R,snapshot:O()};let l=await S.getVersion(P.id,x);if(!l)throw Error(`No version ${x} retained for ${P.id} (it is at version ${P.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${l.version}`,snapshot:{title:l.title,content:l.content,url:l.url,tags:l.tags,metadata:l.metadata,archived:l.archived}}},B,G;if(U.rev!==void 0){if(!Number.isInteger(U.rev)||U.rev<1)throw Error("--rev must be a positive version number.");if(U.rev===1)throw Error("Version 1 has no predecessor to diff against.");B=String(U.rev-1),G=String(U.rev)}else if(U.from!==void 0||U.to!==void 0){if(U.from===void 0||U.to===void 0)throw Error("--from and --to must be given together.");B=U.from,G=U.to}else{let q=await S.listVersions(P.id,{limit:1});if(!q)throw Error(`Item not found: ${U.id}`);if(q.items.length===0)throw Error(`${P.id} is at version ${q.current_version} with no retained prior versions to diff against.`);B=String(q.items[0].version),G="current"}let T=await Q(B),F=await Q(G),M=TX(T.snapshot,F.snapshot);if(U.json||U.verbose){b({ok:!0,id:P.id,from:T.label,to:F.label,...M},U.json,U);return}console.log(VX(M,`${P.id} ${T.label}`,`${P.id} ${F.label}`));return}if(N==="update"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.ifVersion!==void 0&&(!Number.isInteger(U.ifVersion)||U.ifVersion<1))throw Error(`Invalid --if-version ${JSON.stringify(String(U.ifVersion))}: must be a positive integer version number, e.g. the "version" field from a prior 'knowledge get'.`);let O={};if(U.title!==void 0)O.title=U.title;if(U.content!==void 0)O.content=U.content;if(U.url!==void 0)O.url=U.url;let R;if(U.tag!==void 0){if(R=f7(P.tags,U.tag),R.length>0)O.tags=[...P.tags??[],...R]}let Q=U.ifVersion!==void 0?U.ifVersion:P.version,B=await S.update(P.id,O,{expectedVersion:Q});b(X3({ok:!0,item:B},`Updated ${B?.id??P.id}`,R),U.json,U);return}if(N==="archive"||N==="restore"){Q0(U);let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=await S.update(P.id,{archived:N==="archive"},{expectedVersion:P.version});b({ok:!0,item:O,message:`${N==="archive"?"Archived":"Restored"} ${O?.id??P.id}`},U.json,U);return}if(N==="untag"){if(Q0(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let P=await S.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=P.tags??[],R=new Set(O.map((x)=>x.toLowerCase())),Q=new Set;for(let x of U.tagRaw??U.tag){let l=x.trim().toLowerCase();if(l.length>0&&R.has(l)){Q.add(l);continue}for(let D_ of x.split(",").map((I_)=>I_.trim().toLowerCase()).filter((I_)=>I_.length>0))Q.add(D_)}let B=O.filter((x)=>!Q.has(x.toLowerCase())),G=O.length-B.length,T=[...Q].filter((x)=>!R.has(x));if(G===0)throw Error(`No matching tag on ${P.id}: ${T.map((x)=>JSON.stringify(x)).join(", ")} not in [${O.map((x)=>JSON.stringify(x)).join(", ")}]`);let F=await S.update(P.id,{tags:B},{expectedVersion:P.version}),M=T.length>0?` (not found: ${T.map((x)=>JSON.stringify(x)).join(", ")})`:"",q={ok:!0,item:F,removed:G,message:`Removed ${G} tag${G===1?"":"s"} from ${F?.id??P.id}${M}`};if(T.length>0)q.not_found=T;b(q,U.json,U);return}if(N==="upsert"){let P=U.title??$[1],O=U.content??$[2],R=U.id?await S.get(U.id):null;if(!R){if(!P||!O)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let T=await S.create({id:U.id,title:P,content:O,url:U.url??null,tags:U.tag??[]});b(X3({ok:!0,created:!0,item:T},`Upserted ${T.id}`,U.tag),U.json,U);return}let Q={};if(P!==void 0)Q.title=P;if(O!==void 0)Q.content=O;if(U.url!==void 0)Q.url=U.url;let B;if(U.tag!==void 0){if(B=f7(R.tags,U.tag),B.length>0)Q.tags=[...R.tags??[],...B]}let G=await S.update(R.id,Q,{expectedVersion:R.version});b(X3({ok:!0,created:!1,item:G},`Upserted ${G?.id??R.id}`,B),U.json,U);return}if(N==="delete"){if(Q0(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await S.delete(U.id))throw Error(`Item not found: ${U.id}`);G0("info","Item deleted",{id:U.id,transport:S.kind}),b({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(N==="export"){let P=U.format??"json";if(P!=="json"&&P!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let O=await S.listAll();if(P==="jsonl")for(let R of O.items)console.log(JSON.stringify(R));else if(U.json||U.format==="json"||U.verbose)b({ok:!0,items:O.items,store_exists:O.exists},U.json||U.format==="json",U);else b(Wu(O.items,P),!1);return}if(N==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:P}=await S.listAll(),O=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,R=P.filter((G)=>O!==null&&new Date(G.created_at)<O||U.empty&&G.content.trim().length===0),Q=await S.deleteMany(R.map((G)=>G.id)),B=P.length-Q;G0("info","Prune completed",{pruned:Q,remaining:B,transport:S.kind}),b({ok:!0,pruned:Q,remaining:B,message:`Pruned ${Q} item(s)`},U.json,U);return}if(N==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:P}=await S.listAll(),O=new Set,R=[];for(let G of P){let T=`${G.title}\x00${G.content}`;if(O.has(T))R.push(G);else O.add(T)}let Q=await S.deleteMany(R.map((G)=>G.id)),B=P.length-Q;G0("info","Dedupe completed",{removed:Q,remaining:B,transport:S.kind}),b({ok:!0,removed:Q,remaining:B,message:`Dedupe removed ${Q} duplicate(s)`},U.json,U);return}if(N==="stats"){let P=await S.listAll(),O=P.items.filter((x)=>!x.archived),R=O.length,Q=P.items.length-R,B=O.filter((x)=>x.url).length,G=O.filter((x)=>x.tags&&x.tags.length>0).length,T=R>0?O.map((x)=>x.created_at).sort()[0]:null,F=R>0?O.map((x)=>x.created_at).sort()[R-1]:null,M={};for(let x of O)for(let l of x.tags||[])M[l]=(M[l]||0)+1;let q=Object.entries(M).sort((x,l)=>l[1]-x[1]).slice(0,5).map(([x,l])=>({tag:x,count:l}));b({ok:!0,total:R,archived:Q,with_url:B,with_tags:G,oldest:T,newest:F,top_tags:q,store_exists:P.exists,message:`${R} items | ${B} with URL | ${G} with tags`},U.json,U);return}let z=ry($[0]),Y=z?` Did you mean '${z}'?`:"";throw G0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${Y} Run 'knowledge --help' for available commands.`)}finally{await W?.close(),await E.close()}}function Su(_,$){let U=_ instanceof Error?_.message:String(_);G0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`);let N=_ instanceof q0?_:null;if($.includes("--json"))b({ok:!1,error:U,message:U,...N?{code:"version_conflict",expected:N.expected,current:N.current}:{}},!0);process.exitCode=N?2:1}if(import.meta.main){let _=process.argv.slice(2);Lu(_).catch(($)=>Su($,_))}export{ry as suggestCommand,Ju as sortItems,Lu as run,yy as parseArgs,Su as emitCliError}; diff --git a/dist/guarded-cli.d.ts b/dist/guarded-cli.d.ts index b8e186c..957164a 100644 --- a/dist/guarded-cli.d.ts +++ b/dist/guarded-cli.d.ts @@ -2,12 +2,13 @@ import { KNOWLEDGE_GUARDED_WRITE_CONTRACT, type KnowledgePrivateInputDescriptor, export declare const KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA: 'knowledge.guarded-cli-request.v1'; export declare const KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA: 'knowledge.guarded-cli-result.v1'; type KnowledgeGuardedCliAction = 'write' | 'query' | 'readback'; +type KnowledgeGuardedCliTransport = 'process_ipc' | 'anonymous_fd'; export interface KnowledgeGuardedCliPrivateResult { schema: typeof KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA; ok: true; contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; action: KnowledgeGuardedCliAction; - transport: 'anonymous_fd'; + transport: KnowledgeGuardedCliTransport; request_digest: string; result_digest: string; proof: KnowledgePrivateResultProof; @@ -21,6 +22,7 @@ export declare class KnowledgeGuardedCliDescriptorError extends Error { constructor(code: string); } export declare function runKnowledgeGuardedCliDescriptorWorker(requestFd: number, resultFd: number, env?: NodeJS.ProcessEnv): Promise<Omit<KnowledgeGuardedCliPrivateResult, 'proof'>>; +export declare function runKnowledgeGuardedCliIpcWorker(env?: NodeJS.ProcessEnv): Promise<Omit<KnowledgeGuardedCliPrivateResult, 'proof'>>; export declare function executeKnowledgeGuardedCliWrite(descriptor: KnowledgePrivateInputDescriptor, options?: KnowledgeGuardedCliDescriptorOptions): Promise<KnowledgeGuardedCliPrivateResult>; export declare function executeKnowledgeGuardedCliQuery(descriptor: KnowledgePrivateQueryDescriptor, options?: KnowledgeGuardedCliDescriptorOptions): Promise<KnowledgeGuardedCliPrivateResult>; export declare function executeKnowledgeGuardedCliReadback(descriptor: KnowledgePrivateQueryDescriptor, options?: KnowledgeGuardedCliDescriptorOptions): Promise<KnowledgeGuardedCliPrivateResult>; diff --git a/dist/index.js b/dist/index.js index 12a13fd..2d26bad 100644 --- a/dist/index.js +++ b/dist/index.js @@ -41500,6 +41500,49 @@ function collectBounded(stream, maxBytes = 64 * 1024) { stream.on("error", () => reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_stream_failed"))); }); } +function collectPrivateIpc(child) { + return new Promise((resolve6, reject) => { + const cleanup = () => { + child.off("message", onMessage); + child.off("disconnect", onDisconnect); + }; + const onMessage = (message) => { + cleanup(); + if (typeof message !== "string") { + reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_result_invalid")); + return; + } + if (Buffer.byteLength(message, "utf8") > PRIVATE_FD_MAX_BYTES) { + reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_result_cap_exceeded")); + return; + } + resolve6(message); + }; + const onDisconnect = () => { + cleanup(); + reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_ipc_disconnected")); + }; + child.once("message", onMessage); + child.once("disconnect", onDisconnect); + }); +} +function sendPrivateIpc(child, value, didTimeout) { + if (typeof child.send !== "function" || !child.connected) { + return Promise.reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_ipc_unavailable")); + } + if (Buffer.byteLength(value, "utf8") > PRIVATE_FD_MAX_BYTES) { + return Promise.reject(new KnowledgeGuardedCliDescriptorError("private_request_byte_cap_exceeded")); + } + return new Promise((resolve6, reject) => { + child.send(value, (error51) => { + if (error51 && !didTimeout()) { + reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_request_failed")); + return; + } + resolve6(); + }); + }); +} function parseWorkerResult(raw) { let parsed; try { @@ -41520,23 +41563,16 @@ async function executeDescriptorFrame(frame, options) { entrypoint, "guarded", "execute-descriptor", - "--request-fd", - "3", - "--result-fd", - "4", + "--ipc", "--json" ], { env: options.env ?? process.env, - stdio: ["ignore", "pipe", "ignore", "pipe", "pipe"] + stdio: ["ignore", "pipe", "ignore", "ipc"] }); - const request = child.stdio[3]; - const privateResult = child.stdio[4]; const stdout = collectBounded(child.stdout); - const resultText = collectBounded(privateResult, PRIVATE_FD_MAX_BYTES); - const requestFinished = new Promise((resolve6, reject) => { - request.once("error", () => reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_private_request_failed"))); - request.end(canonicalKnowledgeGuardedJson(frame), () => resolve6()); - }); + const resultText = collectPrivateIpc(child); + let timeoutExpired = false; + const requestFinished = sendPrivateIpc(child, canonicalKnowledgeGuardedJson(frame), () => timeoutExpired); const exited = new Promise((resolve6, reject) => { child.once("error", () => reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_spawn_failed"))); child.once("close", (code) => resolve6(code ?? 1)); @@ -41544,10 +41580,9 @@ async function executeDescriptorFrame(frame, options) { let timeout; const timedOut = new Promise((_resolve, reject) => { timeout = setTimeout(() => { + timeoutExpired = true; child.kill("SIGKILL"); - request.destroy(); child.stdout?.destroy(); - privateResult.destroy(); reject(new KnowledgeGuardedCliDescriptorError("guarded_cli_timeout")); }, timeoutMs); }); @@ -41563,7 +41598,7 @@ async function executeDescriptorFrame(frame, options) { } const [exitCode, _requestComplete, publicOut, privateOut] = completed; const result = parseWorkerResult(privateOut); - if (exitCode !== 0 || result.schema !== KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA || result.ok !== true) { + if (exitCode !== 0 || result.schema !== KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA || result.ok !== true || result.transport !== "process_ipc") { const code = result && result.ok === false ? result.code : "guarded_cli_worker_failed"; throw new KnowledgeGuardedCliDescriptorError(code); } diff --git a/src/cli.ts b/src/cli.ts index f22c7da..0d85122 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -28,7 +28,10 @@ import { type KnowledgeProjectRegistrationDirection, type KnowledgeProjectResourceKind, } from './project-links'; -import { runKnowledgeGuardedCliDescriptorWorker } from './guarded-cli'; +import { + runKnowledgeGuardedCliDescriptorWorker, + runKnowledgeGuardedCliIpcWorker, +} from './guarded-cli'; import { getStorageStatus as getDatabaseStorageStatus } from './storage'; import { assertProviderCredentials, parseModelRef, resolveModelRef, type AiProviderId } from './providers'; import { approvalStatus, assertS3ReadAllowed, assertWebSearchAllowed, createApprovalGate, recordAuditEvent, recordRedactionFindings, redactSecrets } from './safety'; @@ -157,6 +160,7 @@ interface Flags { collectionName?: string; requestFd?: number; resultFd?: number; + ipc?: boolean; } interface ParseResult { @@ -360,6 +364,7 @@ function parseArgs(argv: string[]): ParseResult { case '--collection-name': flags.collectionName = argv[i + 1]; i += 1; break; case '--request-fd': flags.requestFd = Number(argv[i + 1]); i += 1; break; case '--result-fd': flags.resultFd = Number(argv[i + 1]); i += 1; break; + case '--ipc': flags.ipc = true; break; default: if (guardedDescriptorInvocation) { throw new Error('guarded_descriptor_public_input_refused'); @@ -449,7 +454,7 @@ Commands: paths Show resolved workspace/store paths mode Report the resolved backend (local or cloud) and why guarded capabilities Report FCAME-1 private transport capability - guarded execute-descriptor Execute an opaque descriptor over inherited private FDs + guarded execute-descriptor Execute an opaque descriptor over inherited process IPC setup Configure local, hosted, or canonical example S3 mode auth login|whoami|logout Manage hosted API credentials storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path|import-legacy @@ -596,7 +601,7 @@ function printCommandHelp(command: string): void { if (command === 'project-resource') { console.log('Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]'); return; } if (command === 'paths') { console.log('Usage: knowledge paths [--scope local|global|project] [--verbose] [--json]'); return; } if (command === 'mode') { console.log(`Usage: knowledge mode [--json]\n Reports which backend this process would use — sqlite (on-box store) or postgres (HTTP /v1) — and\n which env var selected it. Reads the environment only: no store is opened, no config file is read,\n and no request is made, so it is safe on a machine with no config and no network.\n Selection is EXPLICIT-ONLY: set ${KNOWLEDGE_MODE_ENV_KEYS[0]}=sqlite|postgres. Setting only\n ${KNOWLEDGE_API_URL_ENV_KEYS[0]} / ${KNOWLEDGE_API_KEY_ENV_KEYS[0]} does NOT switch backends;\n those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`); return; } - if (command === 'guarded') { console.log('Usage:\n knowledge guarded capabilities [--json]\n knowledge guarded execute-descriptor --request-fd <fd> --result-fd <fd> [--json]\n\n execute-descriptor is an internal package-owned worker. Private requests and results must use\n distinct inherited anonymous pipe or socket descriptors numbered 3 or higher. It rejects stdin,\n regular files, positional bodies, and body-bearing flags. Use the exported opaque-descriptor\n helpers rather than invoking this worker directly from a shell.'); return; } + if (command === 'guarded') { console.log('Usage:\n knowledge guarded capabilities [--json]\n knowledge guarded execute-descriptor --ipc [--json]\n\n execute-descriptor is an internal package-owned worker. Private requests and results use the\n runtime-owned child-process IPC channel, never argv, stdin, environment variables, files, stdout,\n or stderr. Direct shell invocation has no IPC channel and fails closed. Use the exported opaque-\n descriptor helpers rather than invoking this worker directly from a shell.'); return; } if (command === 'setup') { console.log('Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]'); return; } if (command === 'auth') { console.log('Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]'); return; } if (command === 'storage') { console.log('Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json]\n knowledge storage import-legacy [--dry-run] [--scope global] [--json]'); return; } @@ -1019,7 +1024,7 @@ async function run(argv: string[]): Promise<void> { exact_title_lookup: true, private_transport_body_output: false, private_cli_descriptor_transport: true, - private_cli_transport: 'anonymous_fd', + private_cli_transport: 'process_ipc', guarded_actions: ['create', 'update', 'query', 'readback'], }, flags.json, flags); return; @@ -1049,6 +1054,16 @@ async function run(argv: string[]): Promise<void> { if (positional.length !== 2 || publicBodyFlagsPresent) { throw new Error('guarded_descriptor_public_input_refused'); } + if (flags.ipc) { + if (flags.requestFd !== undefined || flags.resultFd !== undefined) { + throw new Error('guarded_descriptor_private_transport_ambiguous'); + } + output({ + ok: true, + ...(await runKnowledgeGuardedCliIpcWorker(process.env)), + }, flags.json, flags); + return; + } if ( !Number.isInteger(flags.requestFd) || !Number.isInteger(flags.resultFd) diff --git a/src/guarded-cli.ts b/src/guarded-cli.ts index a2df005..bc9b44a 100644 --- a/src/guarded-cli.ts +++ b/src/guarded-cli.ts @@ -1,6 +1,6 @@ -import { spawn } from 'node:child_process'; +import { spawn, type ChildProcess } from 'node:child_process'; import { fstatSync, readlinkSync, readSync, writeSync } from 'node:fs'; -import type { Readable, Writable } from 'node:stream'; +import type { Readable } from 'node:stream'; import { fileURLToPath } from 'node:url'; import { TextDecoder } from 'node:util'; import { @@ -29,6 +29,7 @@ export const KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA = 'knowledge.guarded-cli-result const PRIVATE_FD_MAX_BYTES = 1_048_576; type KnowledgeGuardedCliAction = 'write' | 'query' | 'readback'; +type KnowledgeGuardedCliTransport = 'process_ipc' | 'anonymous_fd'; interface KnowledgeGuardedCliWriteFrame { schema: typeof KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA; @@ -65,7 +66,7 @@ export interface KnowledgeGuardedCliPrivateResult { ok: true; contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; action: KnowledgeGuardedCliAction; - transport: 'anonymous_fd'; + transport: KnowledgeGuardedCliTransport; request_digest: string; result_digest: string; proof: KnowledgePrivateResultProof; @@ -75,7 +76,7 @@ interface KnowledgeGuardedCliPrivateFailure { schema: typeof KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA; ok: false; contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; - transport: 'anonymous_fd'; + transport: KnowledgeGuardedCliTransport; code: string; } @@ -121,11 +122,14 @@ function privateFd(fd: number, label: string): void { throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_anonymous_pipe_or_socket`); } if (stats.isFIFO()) { + if (process.platform !== 'linux') { + throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_anonymous_pipe_or_socket`); + } let target: string; try { target = readlinkSync(`/proc/self/fd/${fd}`); } catch { - throw new KnowledgeGuardedCliDescriptorError(`${label}_anonymous_pipe_identity_unverified`); + throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_anonymous_pipe_or_socket`); } if (!/^pipe:\[\d+\]$/.test(target)) { throw new KnowledgeGuardedCliDescriptorError(`${label}_must_be_anonymous_pipe_or_socket`); @@ -239,6 +243,7 @@ function remainingLifetime(expiresAt: string): number { async function executeFrame( frame: KnowledgeGuardedCliRequestFrame, env: NodeJS.ProcessEnv, + transport: KnowledgeGuardedCliTransport, ): Promise<KnowledgeGuardedCliPrivateResult> { const writer = createKnowledgeGuardedWriter({ binding: frame.binding, env }); let proof: KnowledgePrivateResultProof; @@ -291,7 +296,7 @@ async function executeFrame( ok: true, contract: KNOWLEDGE_GUARDED_WRITE_CONTRACT, action: frame.action, - transport: 'anonymous_fd', + transport, request_digest: requestDigest, result_digest: knowledgeGuardedDigest(proof), proof, @@ -309,7 +314,7 @@ export async function runKnowledgeGuardedCliDescriptorWorker( throw new KnowledgeGuardedCliDescriptorError('private_fds_must_be_distinct'); } try { - const result = await executeFrame(parseFrame(readBoundedPrivateFd(requestFd)), env); + const result = await executeFrame(parseFrame(readBoundedPrivateFd(requestFd)), env, 'anonymous_fd'); writeBoundedPrivateFd(resultFd, result); const { proof: _proof, ...safe } = result; return safe; @@ -331,6 +336,92 @@ export async function runKnowledgeGuardedCliDescriptorWorker( } } +function readBoundedPrivateIpcMessage(): Promise<string> { + if (typeof process.send !== 'function' || !process.connected) { + throw new KnowledgeGuardedCliDescriptorError('guarded_descriptor_private_ipc_required'); + } + return new Promise((resolve, reject) => { + const cleanup = () => { + process.off('message', onMessage); + process.off('disconnect', onDisconnect); + }; + const onMessage = (message: unknown) => { + cleanup(); + if (typeof message !== 'string') { + reject(new KnowledgeGuardedCliDescriptorError('private_request_schema_invalid')); + return; + } + if (Buffer.byteLength(message, 'utf8') > PRIVATE_FD_MAX_BYTES) { + reject(new KnowledgeGuardedCliDescriptorError('private_request_byte_cap_exceeded')); + return; + } + resolve(message); + }; + const onDisconnect = () => { + cleanup(); + reject(new KnowledgeGuardedCliDescriptorError('guarded_descriptor_private_ipc_disconnected')); + }; + process.once('message', onMessage); + process.once('disconnect', onDisconnect); + }); +} + +function writeBoundedPrivateIpcMessage(value: unknown): Promise<void> { + if (typeof process.send !== 'function' || !process.connected) { + throw new KnowledgeGuardedCliDescriptorError('guarded_descriptor_private_ipc_required'); + } + const encoded = canonicalKnowledgeGuardedJson(value); + if (Buffer.byteLength(encoded, 'utf8') > PRIVATE_FD_MAX_BYTES) { + throw new KnowledgeGuardedCliDescriptorError('private_result_byte_cap_exceeded'); + } + return new Promise((resolve, reject) => { + process.send!(encoded, (error) => { + if (error) { + reject(new KnowledgeGuardedCliDescriptorError('private_result_write_failed')); + return; + } + resolve(); + }); + }); +} + +export async function runKnowledgeGuardedCliIpcWorker( + env: NodeJS.ProcessEnv = process.env, +): Promise<Omit<KnowledgeGuardedCliPrivateResult, 'proof'>> { + if (typeof process.send !== 'function' || !process.connected) { + throw new KnowledgeGuardedCliDescriptorError('guarded_descriptor_private_ipc_required'); + } + try { + const result = await executeFrame( + parseFrame(await readBoundedPrivateIpcMessage()), + env, + 'process_ipc', + ); + await writeBoundedPrivateIpcMessage(result); + const { proof: _proof, ...safe } = result; + return safe; + } catch (error) { + const failure: KnowledgeGuardedCliPrivateFailure = { + schema: KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA, + ok: false, + contract: KNOWLEDGE_GUARDED_WRITE_CONTRACT, + transport: 'process_ipc', + code: safeCode(error), + }; + try { + await writeBoundedPrivateIpcMessage(failure); + } catch { + // The public error remains metadata-only even if the private IPC channel + // has already closed. + } + throw new KnowledgeGuardedCliDescriptorError(failure.code); + } finally { + if (process.connected && typeof process.disconnect === 'function') { + process.disconnect(); + } + } +} + function writeFrame(descriptor: KnowledgePrivateInputDescriptor): KnowledgeGuardedCliWriteFrame { return { schema: KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA, @@ -383,6 +474,51 @@ function collectBounded(stream: Readable, maxBytes = 64 * 1024): Promise<string> }); } +function collectPrivateIpc(child: ChildProcess): Promise<string> { + return new Promise((resolve, reject) => { + const cleanup = () => { + child.off('message', onMessage); + child.off('disconnect', onDisconnect); + }; + const onMessage = (message: unknown) => { + cleanup(); + if (typeof message !== 'string') { + reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_private_result_invalid')); + return; + } + if (Buffer.byteLength(message, 'utf8') > PRIVATE_FD_MAX_BYTES) { + reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_private_result_cap_exceeded')); + return; + } + resolve(message); + }; + const onDisconnect = () => { + cleanup(); + reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_private_ipc_disconnected')); + }; + child.once('message', onMessage); + child.once('disconnect', onDisconnect); + }); +} + +function sendPrivateIpc(child: ChildProcess, value: string, didTimeout: () => boolean): Promise<void> { + if (typeof child.send !== 'function' || !child.connected) { + return Promise.reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_private_ipc_unavailable')); + } + if (Buffer.byteLength(value, 'utf8') > PRIVATE_FD_MAX_BYTES) { + return Promise.reject(new KnowledgeGuardedCliDescriptorError('private_request_byte_cap_exceeded')); + } + return new Promise((resolve, reject) => { + child.send!(value, (error) => { + if (error && !didTimeout()) { + reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_private_request_failed')); + return; + } + resolve(); + }); + }); +} + function parseWorkerResult(raw: string): KnowledgeGuardedCliWorkerResult { let parsed: unknown; try { @@ -407,25 +543,20 @@ async function executeDescriptorFrame( entrypoint, 'guarded', 'execute-descriptor', - '--request-fd', - '3', - '--result-fd', - '4', + '--ipc', '--json', ], { env: options.env ?? process.env, - stdio: ['ignore', 'pipe', 'ignore', 'pipe', 'pipe'], + stdio: ['ignore', 'pipe', 'ignore', 'ipc'], }); - const request = child.stdio[3] as Writable; - const privateResult = child.stdio[4] as Readable; const stdout = collectBounded(child.stdout!); - const resultText = collectBounded(privateResult, PRIVATE_FD_MAX_BYTES); - const requestFinished = new Promise<void>((resolve, reject) => { - request.once('error', () => reject( - new KnowledgeGuardedCliDescriptorError('guarded_cli_private_request_failed'), - )); - request.end(canonicalKnowledgeGuardedJson(frame), () => resolve()); - }); + const resultText = collectPrivateIpc(child); + let timeoutExpired = false; + const requestFinished = sendPrivateIpc( + child, + canonicalKnowledgeGuardedJson(frame), + () => timeoutExpired, + ); const exited = new Promise<number>((resolve, reject) => { child.once('error', () => reject( new KnowledgeGuardedCliDescriptorError('guarded_cli_spawn_failed'), @@ -435,10 +566,9 @@ async function executeDescriptorFrame( let timeout: ReturnType<typeof setTimeout> | undefined; const timedOut = new Promise<never>((_resolve, reject) => { timeout = setTimeout(() => { + timeoutExpired = true; child.kill('SIGKILL'); - request.destroy(); child.stdout?.destroy(); - privateResult.destroy(); reject(new KnowledgeGuardedCliDescriptorError('guarded_cli_timeout')); }, timeoutMs); }); @@ -457,6 +587,7 @@ async function executeDescriptorFrame( exitCode !== 0 || result.schema !== KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA || result.ok !== true + || result.transport !== 'process_ipc' ) { const code = result && result.ok === false ? result.code : 'guarded_cli_worker_failed'; throw new KnowledgeGuardedCliDescriptorError(code); diff --git a/tests/cli.test.ts b/tests/cli.test.ts index 7f132b5..160e85d 100644 --- a/tests/cli.test.ts +++ b/tests/cli.test.ts @@ -386,7 +386,13 @@ describe('knowledge cli', () => { private_result: true, exact_title_lookup: true, private_transport_body_output: false, + private_cli_transport: 'process_ipc', }); + + const directIpc = runCli(['guarded', 'execute-descriptor', '--ipc']); + expect(directIpc.exitCode).toBe(1); + expect(new TextDecoder().decode(directIpc.stdout)).toBe(''); + expect(new TextDecoder().decode(directIpc.stderr)).toContain('guarded_descriptor_private_ipc_required'); }); test('guarded descriptor worker refuses argv, stdin, and ordinary file descriptors without leaking private input', () => { @@ -466,10 +472,41 @@ describe('knowledge cli', () => { closeSync(fifoResultFd); expect(namedFifo.status).toBe(1); expect(namedFifo.stderr.toString()).toContain('request_fd_must_be_anonymous_pipe_or_socket'); + expect(namedFifo.stderr.toString()).not.toContain('anonymous_pipe_identity_unverified'); expect(namedFifo.stderr.toString()).not.toContain('private_request_schema_invalid'); } }); + test('guarded descriptor IPC establishes from a Node parent before request delivery', () => { + const builtCli = join(__dirname, '..', packageJson.bin.knowledge); + const probe = [ + 'const { spawn } = require("node:child_process");', + 'const child = spawn(process.argv[1], [process.argv[2], "guarded", "execute-descriptor", "--ipc", "--json"], { stdio: ["ignore", "ignore", "ignore", "ipc"] });', + 'let privateFailure = false;', + 'const timer = setTimeout(() => { child.kill(); process.exit(3); }, 10000);', + 'child.on("message", (raw) => {', + ' const result = JSON.parse(String(raw));', + ' privateFailure = result.ok === false && result.transport === "process_ipc" && result.code === "private_request_schema_invalid";', + '});', + 'child.on("error", () => process.exit(4));', + 'child.on("close", (code) => {', + ' clearTimeout(timer);', + ' process.stdout.write(JSON.stringify({ private_failure: privateFailure, exit_code: code }));', + '});', + 'child.send("{}");', + ].join('\n'); + const result = spawnSync('node', ['-e', probe, process.execPath, builtCli], { + env: childEnv(), + maxBuffer: 64 * 1024, + }); + expect(result.status).toBe(0); + expect(result.stderr.toString()).toBe(''); + expect(JSON.parse(result.stdout.toString())).toEqual({ + private_failure: true, + exit_code: 1, + }); + }); + test("'<sub> --help' prints that subcommand's usage, not root help", () => { // Regression: `knowledge add --help` used to print the generic ROOT help // (full command tree) instead of the per-command usage line. diff --git a/tests/guarded-writer.test.ts b/tests/guarded-writer.test.ts index 525e693..cdcee54 100644 --- a/tests/guarded-writer.test.ts +++ b/tests/guarded-writer.test.ts @@ -305,7 +305,7 @@ test('guarded CLI accepts only opaque descriptors and proves create, update, que }); const created = await executeKnowledgeGuardedCliWrite(create, { env }); - expect(created.transport).toBe('anonymous_fd'); + expect(created.transport).toBe('process_ipc'); expect(created.proof).toMatchObject({ kind: 'write', item_count: 1, diff --git a/tests/package-release.test.ts b/tests/package-release.test.ts index 76d796e..c87b37b 100644 --- a/tests/package-release.test.ts +++ b/tests/package-release.test.ts @@ -134,6 +134,8 @@ describe('public package release safety', () => { expect(declarationExportsIdentifier(rootDeclaration, 'executeKnowledgeGuardedCliReadback')).toBe(true); expect(rootRuntimeExports.runKnowledgeGuardedCliDescriptorWorker).toBeUndefined(); expect(declarationExportsIdentifier(rootDeclaration, 'runKnowledgeGuardedCliDescriptorWorker')).toBe(false); + expect(rootRuntimeExports.runKnowledgeGuardedCliIpcWorker).toBeUndefined(); + expect(declarationExportsIdentifier(rootDeclaration, 'runKnowledgeGuardedCliIpcWorker')).toBe(false); expect(rootRuntimeExports.materializeKnowledgePrivateInput).toBeUndefined(); expect(declarationExportsIdentifier(rootDeclaration, 'materializeKnowledgePrivateInput')).toBe(false);