diff --git a/bin/knowledge-mcp.js b/bin/knowledge-mcp.js index c94440f..e627a37 100755 --- a/bin/knowledge-mcp.js +++ b/bin/knowledge-mcp.js @@ -17248,6 +17248,12 @@ import { } from "fs"; import { randomUUID } from "crypto"; import { basename, dirname as dirname2, join as join3 } from "path"; +function itemMatchesSearch(item, needle) { + if (!needle) + return true; + const q = needle.toLowerCase(); + return item.id.toLowerCase().includes(q) || item.title.toLowerCase().includes(q) || item.content.toLowerCase().includes(q); +} function defaultStorePath() { return workspaceForHome(globalKnowledgeHome()).jsonStorePath; } @@ -32913,7 +32919,7 @@ function buildServer() { return jsonText({ ok: true, item, message: `Added ${item.id}` }); }); registerTool(server, "ok_list", "List knowledge items", "List compact item summaries with pagination, search, tag filtering, and sorting", { - search: exports_external.string().optional().describe("Search text for title/content"), + search: exports_external.string().optional().describe("Case-insensitive literal substring filter over id, title and content. Not a semantic search \u2014 use ok_search for that."), tag: exports_external.array(exports_external.string()).optional().describe("Filter by tags; item must match all tags"), include_archived: exports_external.boolean().optional().describe("Include archived items"), include_content: exports_external.boolean().optional().describe("Include full item content in each list row; default false to keep agent output compact"), @@ -32931,7 +32937,7 @@ function buildServer() { const requiredTags = (tag ?? []).map((entry) => entry.toLowerCase()); let items = activeItems(all, include_archived); if (q) - items = items.filter((item) => item.title.toLowerCase().includes(q) || item.content.toLowerCase().includes(q)); + items = items.filter((item) => itemMatchesSearch(item, q)); if (requiredTags.length > 0) { items = items.filter((item) => { const itemTags = (item.tags ?? []).map((entry) => entry.toLowerCase()); diff --git a/bin/knowledge.js b/bin/knowledge.js index a3ee069..5e05917 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -1,9 +1,9 @@ #!/usr/bin/env bun // @bun -var l8=Object.create;var{getPrototypeOf:t8,defineProperty:qN,getOwnPropertyNames:o8}=Object;var p8=Object.prototype.hasOwnProperty;function e8(_){return this[_]}var a8,s8,_Y=(_,$,g)=>{var U=_!=null&&typeof _==="object";if(U){var D=$?a8??=new WeakMap:s8??=new WeakMap,I=D.get(_);if(I)return I}g=_!=null?l8(t8(_)):{};let j=$||!_||!_.__esModule?qN(g,"default",{value:_,enumerable:!0}):g;for(let N of o8(_))if(!p8.call(j,N))qN(j,N,{get:e8.bind(_,N),enumerable:!0});if(U)D.set(_,j);return j};var e6=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var $Y=(_)=>_;function gY(_,$){this[_]=$Y.bind(null,$)}var r$=(_,$)=>{for(var g in $)qN(_,g,{get:$[g],enumerable:!0,configurable:!0,set:gY.bind($,g)})};var f=(_,$)=>()=>(_&&($=_(_=0)),$);var O_=import.meta.require;function Y(_,$,g){function U(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 A=j.prototype,L=Object.keys(A);for(let z=0;z{if(g?.Parent&&N instanceof g.Parent)return!0;return N?._zod?.traits?.has(_)}}),Object.defineProperty(j,"name",{value:_}),j}function Z_(_){if(_)Object.assign(A4,_);return A4}var GX,XI,RI,x$,L4,A4;var J4=f(()=>{XI=Object.freeze({status:"aborted"});RI=Symbol("zod_brand");x$=class x$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};L4=class L4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(GX=globalThis).__zod_globalConfig??(GX.__zod_globalConfig={});A4=globalThis.__zod_globalConfig});var H={};r$(H,{unwrapMessage:()=>tg,uint8ArrayToHex:()=>PK,uint8ArrayToBase64url:()=>LK,uint8ArrayToBase64:()=>TX,stringifyPrimitive:()=>F,slugify:()=>yE,shallowClone:()=>cE,safeExtend:()=>IK,required:()=>EK,randomString:()=>aB,propertyKeyTypes:()=>eg,promiseAllObject:()=>eB,primitiveTypes:()=>nE,prefixIssues:()=>s_,pick:()=>gK,partial:()=>NK,parsedType:()=>M,optionalKeys:()=>dE,omit:()=>DK,objectClone:()=>tB,numKeys:()=>sB,nullish:()=>M6,normalizeParams:()=>C,mergeDefs:()=>D6,merge:()=>jK,jsonStringifyReplacer:()=>K0,joinValues:()=>B,issue:()=>F0,isPlainObject:()=>b6,isObject:()=>P4,hexToUint8Array:()=>JK,getSizableOrigin:()=>ag,getParsedType:()=>_K,getLengthableOrigin:()=>sg,getEnumValues:()=>og,getElementAtPath:()=>pB,floatSafeRemainder:()=>xE,finalizeIssue:()=>l_,extend:()=>UK,explicitlyAborted:()=>lE,escapeRegex:()=>P$,esc:()=>GI,defineLazy:()=>$_,createTransparentProxy:()=>$K,cloneDef:()=>oB,clone:()=>y_,cleanRegex:()=>pg,cleanEnum:()=>OK,captureStackTrace:()=>YI,cached:()=>V0,base64urlToUint8Array:()=>AK,base64ToUint8Array:()=>QX,assignProp:()=>Z6,assertNotEqual:()=>dB,assertNever:()=>iB,assertIs:()=>mB,assertEqual:()=>nB,assert:()=>lB,allowsEval:()=>hE,aborted:()=>H6,NUMBER_FORMAT_RANGES:()=>mE,Class:()=>qX,BIGINT_FORMAT_RANGES:()=>iE});function nB(_){return _}function dB(_){return _}function mB(_){}function iB(_){throw Error("Unexpected value in exhaustive check")}function lB(_){}function og(_){let $=Object.values(_).filter((U)=>typeof U==="number");return Object.entries(_).filter(([U,D])=>$.indexOf(+U)===-1).map(([U,D])=>D)}function B(_,$="|"){return _.map((g)=>F(g)).join($)}function K0(_,$){if(typeof $==="bigint")return $.toString();return $}function V0(_){return{get value(){{let g=_();return Object.defineProperty(this,"value",{value:g}),g}throw Error("cached value already set")}}}function M6(_){return _===null||_===void 0}function pg(_){let $=_.startsWith("^")?1:0,g=_.endsWith("$")?_.length-1:_.length;return _.slice($,g)}function xE(_,$){let g=_/$,U=Math.round(g),D=Number.EPSILON*Math.max(Math.abs(g),1);if(Math.abs(g-U)g?.[U],_)}function eB(_){let $=Object.keys(_),g=$.map((U)=>_[U]);return Promise.all(g).then((U)=>{let D={};for(let I=0;I<$.length;I++)D[$[I]]=U[I];return D})}function aB(_=10){let g="";for(let U=0;U<_;U++)g+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return g}function GI(_){return JSON.stringify(_)}function yE(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function P4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function b6(_){if(P4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let g=$.prototype;if(P4(g)===!1)return!1;if(Object.prototype.hasOwnProperty.call(g,"isPrototypeOf")===!1)return!1;return!0}function cE(_){if(b6(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function sB(_){let $=0;for(let g in _)if(Object.prototype.hasOwnProperty.call(_,g))$++;return $}function P$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function y_(_,$,g){let U=new _._zod.constr($??_._zod.def);if(!$||g?.parent)U._zod.parent=_;return U}function C(_){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 $K(_){let $;return new Proxy({},{get(g,U,D){return $??($=_()),Reflect.get($,U,D)},set(g,U,D,I){return $??($=_()),Reflect.set($,U,D,I)},has(g,U){return $??($=_()),Reflect.has($,U)},deleteProperty(g,U){return $??($=_()),Reflect.deleteProperty($,U)},ownKeys(g){return $??($=_()),Reflect.ownKeys($)},getOwnPropertyDescriptor(g,U){return $??($=_()),Reflect.getOwnPropertyDescriptor($,U)},defineProperty(g,U,D){return $??($=_()),Reflect.defineProperty($,U,D)}})}function F(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function dE(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function gK(_,$){let g=_._zod.def,U=g.checks;if(U&&U.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let I=D6(_._zod.def,{get shape(){let j={};for(let N in $){if(!(N in g.shape))throw Error(`Unrecognized key: "${N}"`);if(!$[N])continue;j[N]=g.shape[N]}return Z6(this,"shape",j),j},checks:[]});return y_(_,I)}function DK(_,$){let g=_._zod.def,U=g.checks;if(U&&U.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let I=D6(_._zod.def,{get shape(){let j={..._._zod.def.shape};for(let N in $){if(!(N in g.shape))throw Error(`Unrecognized key: "${N}"`);if(!$[N])continue;delete j[N]}return Z6(this,"shape",j),j},checks:[]});return y_(_,I)}function UK(_,$){if(!b6($))throw Error("Invalid input to extend: expected a plain object");let g=_._zod.def.checks;if(g&&g.length>0){let I=_._zod.def.shape;for(let j in $)if(Object.getOwnPropertyDescriptor(I,j)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let D=D6(_._zod.def,{get shape(){let I={..._._zod.def.shape,...$};return Z6(this,"shape",I),I}});return y_(_,D)}function IK(_,$){if(!b6($))throw Error("Invalid input to safeExtend: expected a plain object");let g=D6(_._zod.def,{get shape(){let U={..._._zod.def.shape,...$};return Z6(this,"shape",U),U}});return y_(_,g)}function jK(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let g=D6(_._zod.def,{get shape(){let U={..._._zod.def.shape,...$._zod.def.shape};return Z6(this,"shape",U),U},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return y_(_,g)}function NK(_,$,g){let D=$._zod.def.checks;if(D&&D.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let j=D6($._zod.def,{get shape(){let N=$._zod.def.shape,O={...N};if(g)for(let A in g){if(!(A in N))throw Error(`Unrecognized key: "${A}"`);if(!g[A])continue;O[A]=_?new _({type:"optional",innerType:N[A]}):N[A]}else for(let A in N)O[A]=_?new _({type:"optional",innerType:N[A]}):N[A];return Z6(this,"shape",O),O},checks:[]});return y_($,j)}function EK(_,$,g){let U=D6($._zod.def,{get shape(){let D=$._zod.def.shape,I={...D};if(g)for(let j in g){if(!(j in I))throw Error(`Unrecognized key: "${j}"`);if(!g[j])continue;I[j]=new _({type:"nonoptional",innerType:D[j]})}else for(let j in D)I[j]=new _({type:"nonoptional",innerType:D[j]});return Z6(this,"shape",I),I}});return y_($,U)}function H6(_,$=0){if(_.aborted===!0)return!0;for(let g=$;g<_.issues.length;g++)if(_.issues[g]?.continue!==!0)return!0;return!1}function lE(_,$=0){if(_.aborted===!0)return!0;for(let g=$;g<_.issues.length;g++)if(_.issues[g]?.continue===!1)return!0;return!1}function s_(_,$){return $.map((g)=>{var U;return(U=g).path??(U.path=[]),g.path.unshift(_),g})}function tg(_){return typeof _==="string"?_:_?.message}function l_(_,$,g){let U=_.message?_.message:tg(_.inst?._zod.def?.error?.(_))??tg($?.error?.(_))??tg(g.customError?.(_))??tg(g.localeError?.(_))??"Invalid input",{inst:D,continue:I,input:j,...N}=_;if(N.path??(N.path=[]),N.message=U,$?.reportInput)N.input=j;return N}function ag(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function sg(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function M(_){let $=typeof _;switch($){case"number":return Number.isNaN(_)?"nan":"number";case"object":{if(_===null)return"null";if(Array.isArray(_))return"array";let g=_;if(g&&Object.getPrototypeOf(g)!==Object.prototype&&"constructor"in g&&g.constructor)return g.constructor.name}}return $}function F0(..._){let[$,g,U]=_;if(typeof $==="string")return{message:$,code:"custom",input:g,inst:U};return{...$}}function OK(_){return Object.entries(_).filter(([$,g])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function QX(_){let $=atob(_),g=new Uint8Array($.length);for(let U=0;U<$.length;U++)g[U]=$.charCodeAt(U);return g}function TX(_){let $="";for(let g=0;g<_.length;g++)$+=String.fromCharCode(_[g]);return btoa($)}function AK(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),g="=".repeat((4-$.length%4)%4);return QX($+g)}function LK(_){return TX(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function JK(_){let $=_.replace(/^0x/,"");if($.length%2!==0)throw Error("Invalid hex string length");let g=new Uint8Array($.length/2);for(let U=0;U<$.length;U+=2)g[U/2]=Number.parseInt($.slice(U,U+2),16);return g}function PK(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class qX{constructor(..._){}}var YX,YI,hE,_K=(_)=>{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: ${$}`)}},eg,nE,mE,iE;var c=f(()=>{J4();YX=Symbol("evaluating");YI="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};hE=V0(()=>{if(A4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});eg=new Set(["string","number","symbol"]),nE=new Set(["string","number","bigint","boolean","symbol","undefined"]);mE={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]},iE={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function M0(_,$=(g)=>g.message){let g={},U=[];for(let D of _.issues)if(D.path.length>0)g[D.path[0]]=g[D.path[0]]||[],g[D.path[0]].push($(D));else U.push($(D));return{formErrors:U,fieldErrors:g}}function Z0(_,$=(g)=>g.message){let g={_errors:[]},U=(D,I=[])=>{for(let j of D.issues)if(j.code==="invalid_union"&&j.errors.length)j.errors.map((N)=>U({issues:N},[...I,...j.path]));else if(j.code==="invalid_key")U({issues:j.issues},[...I,...j.path]);else if(j.code==="invalid_element")U({issues:j.issues},[...I,...j.path]);else{let N=[...I,...j.path];if(N.length===0)g._errors.push($(j));else{let O=g,A=0;while(Ag.message){let g={errors:[]},U=(D,I=[])=>{var j,N;for(let O of D.issues)if(O.code==="invalid_union"&&O.errors.length)O.errors.map((A)=>U({issues:A},[...I,...O.path]));else if(O.code==="invalid_key")U({issues:O.issues},[...I,...O.path]);else if(O.code==="invalid_element")U({issues:O.issues},[...I,...O.path]);else{let A=[...I,...O.path];if(A.length===0){g.errors.push($(O));continue}let L=g,z=0;while(ztypeof U==="object"?U.key:U);for(let U of g)if(typeof U==="number")$.push(`[${U}]`);else if(typeof U==="symbol")$.push(`[${JSON.stringify(String(U))}]`);else if(/[^\w$]/.test(U))$.push(`[${JSON.stringify(U)}]`);else{if($.length)$.push(".");$.push(U)}return $.join("")}function TI(_){let $=[],g=[..._.issues].sort((U,D)=>(U.path??[]).length-(D.path??[]).length);for(let U of g)if($.push(`\u2716 ${U.message}`),U.path?.length)$.push(` \u2192 at ${KX(U.path)}`);return $.join(` -`)}var BX=(_,$)=>{_.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})},_D,_$;var tE=f(()=>{J4();c();_D=Y("$ZodError",BX),_$=Y("$ZodError",BX,{Parent:Error})});var b0=(_)=>($,g,U,D)=>{let I=U?{...U,async:!1}:{async:!1},j=$._zod.run({value:g,issues:[]},I);if(j instanceof Promise)throw new x$;if(j.issues.length){let N=new(D?.Err??_)(j.issues.map((O)=>l_(O,I,Z_())));throw YI(N,D?.callee),N}return j.value},qI,H0=(_)=>async($,g,U,D)=>{let I=U?{...U,async:!0}:{async:!0},j=$._zod.run({value:g,issues:[]},I);if(j instanceof Promise)j=await j;if(j.issues.length){let N=new(D?.Err??_)(j.issues.map((O)=>l_(O,I,Z_())));throw YI(N,D?.callee),N}return j.value},BI,k0=(_)=>($,g,U)=>{let D=U?{...U,async:!1}:{async:!1},I=$._zod.run({value:g,issues:[]},D);if(I instanceof Promise)throw new x$;return I.issues.length?{success:!1,error:new(_??_D)(I.issues.map((j)=>l_(j,D,Z_())))}:{success:!0,data:I.value}},oE,C0=(_)=>async($,g,U)=>{let D=U?{...U,async:!0}:{async:!0},I=$._zod.run({value:g,issues:[]},D);if(I instanceof Promise)I=await I;return I.issues.length?{success:!1,error:new _(I.issues.map((j)=>l_(j,D,Z_())))}:{success:!0,data:I.value}},pE,KI=(_)=>($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return b0(_)($,g,D)},SK,VI=(_)=>($,g,U)=>{return b0(_)($,g,U)},WK,FI=(_)=>async($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return H0(_)($,g,D)},XK,MI=(_)=>async($,g,U)=>{return H0(_)($,g,U)},RK,ZI=(_)=>($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return k0(_)($,g,D)},GK,bI=(_)=>($,g,U)=>{return k0(_)($,g,U)},YK,HI=(_)=>async($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return C0(_)($,g,D)},QK,kI=(_)=>async($,g,U)=>{return C0(_)($,g,U)},TK;var eE=f(()=>{J4();tE();c();qI=b0(_$),BI=H0(_$),oE=k0(_$),pE=C0(_$),SK=KI(_$),WK=VI(_$),XK=FI(_$),RK=MI(_$),GK=ZI(_$),YK=bI(_$),QK=HI(_$),TK=kI(_$)});var $$={};r$($$,{xid:()=>$2,uuid7:()=>VK,uuid6:()=>KK,uuid4:()=>BK,uuid:()=>z4,uppercase:()=>V2,unicodeEmail:()=>VX,undefined:()=>B2,ulid:()=>_2,time:()=>X2,string:()=>G2,sha512_hex:()=>lK,sha512_base64url:()=>oK,sha512_base64:()=>tK,sha384_hex:()=>dK,sha384_base64url:()=>iK,sha384_base64:()=>mK,sha256_hex:()=>hK,sha256_base64url:()=>nK,sha256_base64:()=>cK,sha1_hex:()=>uK,sha1_base64url:()=>yK,sha1_base64:()=>xK,rfc5322Email:()=>MK,number:()=>$D,null:()=>q2,nanoid:()=>D2,md5_hex:()=>vK,md5_base64url:()=>wK,md5_base64:()=>fK,mac:()=>A2,lowercase:()=>K2,ksuid:()=>g2,ipv6:()=>O2,ipv4:()=>E2,integer:()=>Q2,idnEmail:()=>ZK,httpProtocol:()=>z2,html5Email:()=>FK,hostname:()=>kK,hex:()=>rK,guid:()=>I2,extendedDuration:()=>qK,emoji:()=>N2,email:()=>j2,e164:()=>S2,duration:()=>U2,domain:()=>CK,datetime:()=>R2,date:()=>W2,cuid2:()=>sE,cuid:()=>aE,cidrv6:()=>J2,cidrv4:()=>L2,browserEmail:()=>bK,boolean:()=>T2,bigint:()=>Y2,base64url:()=>CI,base64:()=>P2});function N2(){return new RegExp(HK,"u")}function MX(_){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 X2(_){return new RegExp(`^${MX(_)}$`)}function R2(_){let $=MX({precision:_.precision}),g=["Z"];if(_.local)g.push("");if(_.offset)g.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let U=`${$}(?:${g.join("|")})`;return new RegExp(`^${FX}T(?:${U})$`)}function gD(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function DD(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var aE,sE,_2,$2,g2,D2,U2,qK,I2,z4=(_)=>{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})$`)},BK,KK,VK,j2,FK,MK,VX,ZK,bK,HK="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",E2,O2,A2=(_)=>{let $=P$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},L2,J2,P2,CI,kK,CK,z2,S2,FX="(?:(?:\\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])))",W2,G2=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},Y2,Q2,$D,T2,q2,B2,K2,V2,rK,vK,fK,wK,uK,xK,yK,hK,cK,nK,dK,mK,iK,lK,tK,oK;var rI=f(()=>{c();aE=/^[cC][0-9a-z]{6,}$/,sE=/^[0-9a-z]+$/,_2=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$2=/^[0-9a-vA-V]{20}$/,g2=/^[A-Za-z0-9]{27}$/,D2=/^[a-zA-Z0-9_-]{21}$/,U2=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,qK=/^[-+]?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)?)??$/,I2=/^([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})$/,BK=z4(4),KK=z4(6),VK=z4(7),j2=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,FK=/^[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])?)*$/,MK=/^(([^<>()\[\]\\.,;:\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,}))$/,VX=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ZK=VX,bK=/^[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])?)*$/;E2=/^(?:(?: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])$/,O2=/^(([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}|:))$/,L2=/^((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])$/,J2=/^(([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])$/,P2=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,CI=/^[A-Za-z0-9_-]*$/,kK=/^(?=.{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])?)*\.?$/,CK=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,z2=/^https?$/,S2=/^\+[1-9]\d{6,14}$/,W2=new RegExp(`^${FX}$`);Y2=/^-?\d+n?$/,Q2=/^-?\d+$/,$D=/^-?\d+(?:\.\d+)?$/,T2=/^(?:true|false)$/i,q2=/^null$/i,B2=/^undefined$/i,K2=/^[^A-Z]*$/,V2=/^[^a-z]*$/,rK=/^[0-9a-fA-F]*$/;vK=/^[0-9a-fA-F]{32}$/,fK=gD(22,"=="),wK=DD(22),uK=/^[0-9a-fA-F]{40}$/,xK=gD(27,"="),yK=DD(27),hK=/^[0-9a-fA-F]{64}$/,cK=gD(43,"="),nK=DD(43),dK=/^[0-9a-fA-F]{96}$/,mK=gD(64,""),iK=DD(64),lK=/^[0-9a-fA-F]{128}$/,tK=gD(86,"=="),oK=DD(86)});function ZX(_,$,g){if(_.issues.length)$.issues.push(...s_(g,_.issues))}var Y_,bX,vI,fI,F2,M2,Z2,b2,H2,k2,C2,r2,v2,r0,f2,w2,u2,x2,y2,h2,c2,n2,d2;var wI=f(()=>{J4();rI();c();Y_=Y("$ZodCheck",(_,$)=>{var g;_._zod??(_._zod={}),_._zod.def=$,(g=_._zod).onattach??(g.onattach=[])}),bX={number:"number",bigint:"bigint",object:"date"},vI=Y("$ZodCheckLessThan",(_,$)=>{Y_.init(_,$);let g=bX[typeof $.value];_._zod.onattach.push((U)=>{let D=U._zod.bag,I=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value{if($.inclusive?U.value<=$.value:U.value<$.value)return;U.issues.push({origin:g,code:"too_big",maximum:typeof $.value==="object"?$.value.getTime():$.value,input:U.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),fI=Y("$ZodCheckGreaterThan",(_,$)=>{Y_.init(_,$);let g=bX[typeof $.value];_._zod.onattach.push((U)=>{let D=U._zod.bag,I=($.inclusive?D.minimum:D.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if($.value>I)if($.inclusive)D.minimum=$.value;else D.exclusiveMinimum=$.value}),_._zod.check=(U)=>{if($.inclusive?U.value>=$.value:U.value>$.value)return;U.issues.push({origin:g,code:"too_small",minimum:typeof $.value==="object"?$.value.getTime():$.value,input:U.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),F2=Y("$ZodCheckMultipleOf",(_,$)=>{Y_.init(_,$),_._zod.onattach.push((g)=>{var U;(U=g._zod.bag).multipleOf??(U.multipleOf=$.value)}),_._zod.check=(g)=>{if(typeof g.value!==typeof $.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof g.value==="bigint"?g.value%$.value===BigInt(0):xE(g.value,$.value)===0)return;g.issues.push({origin:typeof g.value,code:"not_multiple_of",divisor:$.value,input:g.value,inst:_,continue:!$.abort})}}),M2=Y("$ZodCheckNumberFormat",(_,$)=>{Y_.init(_,$),$.format=$.format||"float64";let g=$.format?.includes("int"),U=g?"int":"number",[D,I]=mE[$.format];_._zod.onattach.push((j)=>{let N=j._zod.bag;if(N.format=$.format,N.minimum=D,N.maximum=I,g)N.pattern=Q2}),_._zod.check=(j)=>{let N=j.value;if(g){if(!Number.isInteger(N)){j.issues.push({expected:U,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:U,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:U,inclusive:!0,continue:!$.abort});return}}if(NI)j.issues.push({origin:"number",input:N,code:"too_big",maximum:I,inclusive:!0,inst:_,continue:!$.abort})}}),Z2=Y("$ZodCheckBigIntFormat",(_,$)=>{Y_.init(_,$);let[g,U]=iE[$.format];_._zod.onattach.push((D)=>{let I=D._zod.bag;I.format=$.format,I.minimum=g,I.maximum=U}),_._zod.check=(D)=>{let I=D.value;if(IU)D.issues.push({origin:"bigint",input:I,code:"too_big",maximum:U,inclusive:!0,inst:_,continue:!$.abort})}}),b2=Y("$ZodCheckMaxSize",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.size!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=U.value;if(D.size<=$.maximum)return;U.issues.push({origin:ag(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),H2=Y("$ZodCheckMinSize",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.size!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)U._zod.bag.minimum=$.minimum}),_._zod.check=(U)=>{let D=U.value;if(D.size>=$.minimum)return;U.issues.push({origin:ag(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),k2=Y("$ZodCheckSizeEquals",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.size!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.minimum=$.size,D.maximum=$.size,D.size=$.size}),_._zod.check=(U)=>{let D=U.value,I=D.size;if(I===$.size)return;let j=I>$.size;U.issues.push({origin:ag(D),...j?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:U.value,inst:_,continue:!$.abort})}}),C2=Y("$ZodCheckMaxLength",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.length!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=U.value;if(D.length<=$.maximum)return;let j=sg(D);U.issues.push({origin:j,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),r2=Y("$ZodCheckMinLength",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.length!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)U._zod.bag.minimum=$.minimum}),_._zod.check=(U)=>{let D=U.value;if(D.length>=$.minimum)return;let j=sg(D);U.issues.push({origin:j,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),v2=Y("$ZodCheckLengthEquals",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.length!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.minimum=$.length,D.maximum=$.length,D.length=$.length}),_._zod.check=(U)=>{let D=U.value,I=D.length;if(I===$.length)return;let j=sg(D),N=I>$.length;U.issues.push({origin:j,...N?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:U.value,inst:_,continue:!$.abort})}}),r0=Y("$ZodCheckStringFormat",(_,$)=>{var g,U;if(Y_.init(_,$),_._zod.onattach.push((D)=>{let I=D._zod.bag;if(I.format=$.format,$.pattern)I.patterns??(I.patterns=new Set),I.patterns.add($.pattern)}),$.pattern)(g=_._zod).check??(g.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(U=_._zod).check??(U.check=()=>{})}),f2=Y("$ZodCheckRegex",(_,$)=>{r0.init(_,$),_._zod.check=(g)=>{if($.pattern.lastIndex=0,$.pattern.test(g.value))return;g.issues.push({origin:"string",code:"invalid_format",format:"regex",input:g.value,pattern:$.pattern.toString(),inst:_,continue:!$.abort})}}),w2=Y("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=K2),r0.init(_,$)}),u2=Y("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=V2),r0.init(_,$)}),x2=Y("$ZodCheckIncludes",(_,$)=>{Y_.init(_,$);let g=P$($.includes),U=new RegExp(typeof $.position==="number"?`^.{${$.position}}${g}`:g);$.pattern=U,_._zod.onattach.push((D)=>{let I=D._zod.bag;I.patterns??(I.patterns=new Set),I.patterns.add(U)}),_._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})}}),y2=Y("$ZodCheckStartsWith",(_,$)=>{Y_.init(_,$);let g=new RegExp(`^${P$($.prefix)}.*`);$.pattern??($.pattern=g),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(g)}),_._zod.check=(U)=>{if(U.value.startsWith($.prefix))return;U.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:$.prefix,input:U.value,inst:_,continue:!$.abort})}}),h2=Y("$ZodCheckEndsWith",(_,$)=>{Y_.init(_,$);let g=new RegExp(`.*${P$($.suffix)}$`);$.pattern??($.pattern=g),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(g)}),_._zod.check=(U)=>{if(U.value.endsWith($.suffix))return;U.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:$.suffix,input:U.value,inst:_,continue:!$.abort})}});c2=Y("$ZodCheckProperty",(_,$)=>{Y_.init(_,$),_._zod.check=(g)=>{let U=$.schema._zod.run({value:g.value[$.property],issues:[]},{});if(U instanceof Promise)return U.then((D)=>ZX(D,g,$.property));ZX(U,g,$.property);return}}),n2=Y("$ZodCheckMimeType",(_,$)=>{Y_.init(_,$);let g=new Set($.mime);_._zod.onattach.push((U)=>{U._zod.bag.mime=$.mime}),_._zod.check=(U)=>{if(g.has(U.value.type))return;U.issues.push({code:"invalid_value",values:$.mime,input:U.value.type,inst:_,continue:!$.abort})}}),d2=Y("$ZodCheckOverwrite",(_,$)=>{Y_.init(_,$),_._zod.check=(g)=>{g.value=$.tx(g.value)}})});class uI{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 g=_.split(` +var t8=Object.create;var{getPrototypeOf:o8,defineProperty:qN,getOwnPropertyNames:p8}=Object;var e8=Object.prototype.hasOwnProperty;function a8(_){return this[_]}var s8,_Y,$Y=(_,$,g)=>{var U=_!=null&&typeof _==="object";if(U){var D=$?s8??=new WeakMap:_Y??=new WeakMap,I=D.get(_);if(I)return I}g=_!=null?t8(o8(_)):{};let j=$||!_||!_.__esModule?qN(g,"default",{value:_,enumerable:!0}):g;for(let N of p8(_))if(!e8.call(j,N))qN(j,N,{get:a8.bind(_,N),enumerable:!0});if(U)D.set(_,j);return j};var e6=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var gY=(_)=>_;function DY(_,$){this[_]=gY.bind(null,$)}var r$=(_,$)=>{for(var g in $)qN(_,g,{get:$[g],enumerable:!0,configurable:!0,set:DY.bind($,g)})};var f=(_,$)=>()=>(_&&($=_(_=0)),$);var O_=import.meta.require;function Y(_,$,g){function U(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 A=j.prototype,L=Object.keys(A);for(let z=0;z{if(g?.Parent&&N instanceof g.Parent)return!0;return N?._zod?.traits?.has(_)}}),Object.defineProperty(j,"name",{value:_}),j}function Z_(_){if(_)Object.assign(A4,_);return A4}var YX,XI,RI,x$,L4,A4;var J4=f(()=>{XI=Object.freeze({status:"aborted"});RI=Symbol("zod_brand");x$=class x$ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};L4=class L4 extends Error{constructor(_){super(`Encountered unidirectional transform during encode: ${_}`);this.name="ZodEncodeError"}};(YX=globalThis).__zod_globalConfig??(YX.__zod_globalConfig={});A4=globalThis.__zod_globalConfig});var H={};r$(H,{unwrapMessage:()=>tg,uint8ArrayToHex:()=>zK,uint8ArrayToBase64url:()=>JK,uint8ArrayToBase64:()=>qX,stringifyPrimitive:()=>F,slugify:()=>yE,shallowClone:()=>cE,safeExtend:()=>jK,required:()=>OK,randomString:()=>sB,propertyKeyTypes:()=>eg,promiseAllObject:()=>aB,primitiveTypes:()=>nE,prefixIssues:()=>s_,pick:()=>DK,partial:()=>EK,parsedType:()=>M,optionalKeys:()=>dE,omit:()=>UK,objectClone:()=>oB,numKeys:()=>_K,nullish:()=>M6,normalizeParams:()=>C,mergeDefs:()=>D6,merge:()=>NK,jsonStringifyReplacer:()=>K0,joinValues:()=>B,issue:()=>F0,isPlainObject:()=>b6,isObject:()=>P4,hexToUint8Array:()=>PK,getSizableOrigin:()=>ag,getParsedType:()=>$K,getLengthableOrigin:()=>sg,getEnumValues:()=>og,getElementAtPath:()=>eB,floatSafeRemainder:()=>xE,finalizeIssue:()=>l_,extend:()=>IK,explicitlyAborted:()=>lE,escapeRegex:()=>P$,esc:()=>GI,defineLazy:()=>$_,createTransparentProxy:()=>gK,cloneDef:()=>pB,clone:()=>y_,cleanRegex:()=>pg,cleanEnum:()=>AK,captureStackTrace:()=>YI,cached:()=>V0,base64urlToUint8Array:()=>LK,base64ToUint8Array:()=>TX,assignProp:()=>Z6,assertNotEqual:()=>mB,assertNever:()=>lB,assertIs:()=>iB,assertEqual:()=>dB,assert:()=>tB,allowsEval:()=>hE,aborted:()=>H6,NUMBER_FORMAT_RANGES:()=>mE,Class:()=>BX,BIGINT_FORMAT_RANGES:()=>iE});function dB(_){return _}function mB(_){return _}function iB(_){}function lB(_){throw Error("Unexpected value in exhaustive check")}function tB(_){}function og(_){let $=Object.values(_).filter((U)=>typeof U==="number");return Object.entries(_).filter(([U,D])=>$.indexOf(+U)===-1).map(([U,D])=>D)}function B(_,$="|"){return _.map((g)=>F(g)).join($)}function K0(_,$){if(typeof $==="bigint")return $.toString();return $}function V0(_){return{get value(){{let g=_();return Object.defineProperty(this,"value",{value:g}),g}throw Error("cached value already set")}}}function M6(_){return _===null||_===void 0}function pg(_){let $=_.startsWith("^")?1:0,g=_.endsWith("$")?_.length-1:_.length;return _.slice($,g)}function xE(_,$){let g=_/$,U=Math.round(g),D=Number.EPSILON*Math.max(Math.abs(g),1);if(Math.abs(g-U)g?.[U],_)}function aB(_){let $=Object.keys(_),g=$.map((U)=>_[U]);return Promise.all(g).then((U)=>{let D={};for(let I=0;I<$.length;I++)D[$[I]]=U[I];return D})}function sB(_=10){let g="";for(let U=0;U<_;U++)g+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return g}function GI(_){return JSON.stringify(_)}function yE(_){return _.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function P4(_){return typeof _==="object"&&_!==null&&!Array.isArray(_)}function b6(_){if(P4(_)===!1)return!1;let $=_.constructor;if($===void 0)return!0;if(typeof $!=="function")return!0;let g=$.prototype;if(P4(g)===!1)return!1;if(Object.prototype.hasOwnProperty.call(g,"isPrototypeOf")===!1)return!1;return!0}function cE(_){if(b6(_))return{..._};if(Array.isArray(_))return[..._];if(_ instanceof Map)return new Map(_);if(_ instanceof Set)return new Set(_);return _}function _K(_){let $=0;for(let g in _)if(Object.prototype.hasOwnProperty.call(_,g))$++;return $}function P$(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function y_(_,$,g){let U=new _._zod.constr($??_._zod.def);if(!$||g?.parent)U._zod.parent=_;return U}function C(_){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 gK(_){let $;return new Proxy({},{get(g,U,D){return $??($=_()),Reflect.get($,U,D)},set(g,U,D,I){return $??($=_()),Reflect.set($,U,D,I)},has(g,U){return $??($=_()),Reflect.has($,U)},deleteProperty(g,U){return $??($=_()),Reflect.deleteProperty($,U)},ownKeys(g){return $??($=_()),Reflect.ownKeys($)},getOwnPropertyDescriptor(g,U){return $??($=_()),Reflect.getOwnPropertyDescriptor($,U)},defineProperty(g,U,D){return $??($=_()),Reflect.defineProperty($,U,D)}})}function F(_){if(typeof _==="bigint")return _.toString()+"n";if(typeof _==="string")return`"${_}"`;return`${_}`}function dE(_){return Object.keys(_).filter(($)=>{return _[$]._zod.optin==="optional"&&_[$]._zod.optout==="optional"})}function DK(_,$){let g=_._zod.def,U=g.checks;if(U&&U.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let I=D6(_._zod.def,{get shape(){let j={};for(let N in $){if(!(N in g.shape))throw Error(`Unrecognized key: "${N}"`);if(!$[N])continue;j[N]=g.shape[N]}return Z6(this,"shape",j),j},checks:[]});return y_(_,I)}function UK(_,$){let g=_._zod.def,U=g.checks;if(U&&U.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let I=D6(_._zod.def,{get shape(){let j={..._._zod.def.shape};for(let N in $){if(!(N in g.shape))throw Error(`Unrecognized key: "${N}"`);if(!$[N])continue;delete j[N]}return Z6(this,"shape",j),j},checks:[]});return y_(_,I)}function IK(_,$){if(!b6($))throw Error("Invalid input to extend: expected a plain object");let g=_._zod.def.checks;if(g&&g.length>0){let I=_._zod.def.shape;for(let j in $)if(Object.getOwnPropertyDescriptor(I,j)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let D=D6(_._zod.def,{get shape(){let I={..._._zod.def.shape,...$};return Z6(this,"shape",I),I}});return y_(_,D)}function jK(_,$){if(!b6($))throw Error("Invalid input to safeExtend: expected a plain object");let g=D6(_._zod.def,{get shape(){let U={..._._zod.def.shape,...$};return Z6(this,"shape",U),U}});return y_(_,g)}function NK(_,$){if(_._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let g=D6(_._zod.def,{get shape(){let U={..._._zod.def.shape,...$._zod.def.shape};return Z6(this,"shape",U),U},get catchall(){return $._zod.def.catchall},checks:$._zod.def.checks??[]});return y_(_,g)}function EK(_,$,g){let D=$._zod.def.checks;if(D&&D.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let j=D6($._zod.def,{get shape(){let N=$._zod.def.shape,O={...N};if(g)for(let A in g){if(!(A in N))throw Error(`Unrecognized key: "${A}"`);if(!g[A])continue;O[A]=_?new _({type:"optional",innerType:N[A]}):N[A]}else for(let A in N)O[A]=_?new _({type:"optional",innerType:N[A]}):N[A];return Z6(this,"shape",O),O},checks:[]});return y_($,j)}function OK(_,$,g){let U=D6($._zod.def,{get shape(){let D=$._zod.def.shape,I={...D};if(g)for(let j in g){if(!(j in I))throw Error(`Unrecognized key: "${j}"`);if(!g[j])continue;I[j]=new _({type:"nonoptional",innerType:D[j]})}else for(let j in D)I[j]=new _({type:"nonoptional",innerType:D[j]});return Z6(this,"shape",I),I}});return y_($,U)}function H6(_,$=0){if(_.aborted===!0)return!0;for(let g=$;g<_.issues.length;g++)if(_.issues[g]?.continue!==!0)return!0;return!1}function lE(_,$=0){if(_.aborted===!0)return!0;for(let g=$;g<_.issues.length;g++)if(_.issues[g]?.continue===!1)return!0;return!1}function s_(_,$){return $.map((g)=>{var U;return(U=g).path??(U.path=[]),g.path.unshift(_),g})}function tg(_){return typeof _==="string"?_:_?.message}function l_(_,$,g){let U=_.message?_.message:tg(_.inst?._zod.def?.error?.(_))??tg($?.error?.(_))??tg(g.customError?.(_))??tg(g.localeError?.(_))??"Invalid input",{inst:D,continue:I,input:j,...N}=_;if(N.path??(N.path=[]),N.message=U,$?.reportInput)N.input=j;return N}function ag(_){if(_ instanceof Set)return"set";if(_ instanceof Map)return"map";if(_ instanceof File)return"file";return"unknown"}function sg(_){if(Array.isArray(_))return"array";if(typeof _==="string")return"string";return"unknown"}function M(_){let $=typeof _;switch($){case"number":return Number.isNaN(_)?"nan":"number";case"object":{if(_===null)return"null";if(Array.isArray(_))return"array";let g=_;if(g&&Object.getPrototypeOf(g)!==Object.prototype&&"constructor"in g&&g.constructor)return g.constructor.name}}return $}function F0(..._){let[$,g,U]=_;if(typeof $==="string")return{message:$,code:"custom",input:g,inst:U};return{...$}}function AK(_){return Object.entries(_).filter(([$,g])=>{return Number.isNaN(Number.parseInt($,10))}).map(($)=>$[1])}function TX(_){let $=atob(_),g=new Uint8Array($.length);for(let U=0;U<$.length;U++)g[U]=$.charCodeAt(U);return g}function qX(_){let $="";for(let g=0;g<_.length;g++)$+=String.fromCharCode(_[g]);return btoa($)}function LK(_){let $=_.replace(/-/g,"+").replace(/_/g,"/"),g="=".repeat((4-$.length%4)%4);return TX($+g)}function JK(_){return qX(_).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function PK(_){let $=_.replace(/^0x/,"");if($.length%2!==0)throw Error("Invalid hex string length");let g=new Uint8Array($.length/2);for(let U=0;U<$.length;U+=2)g[U/2]=Number.parseInt($.slice(U,U+2),16);return g}function zK(_){return Array.from(_).map(($)=>$.toString(16).padStart(2,"0")).join("")}class BX{constructor(..._){}}var QX,YI,hE,$K=(_)=>{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: ${$}`)}},eg,nE,mE,iE;var c=f(()=>{J4();QX=Symbol("evaluating");YI="captureStackTrace"in Error?Error.captureStackTrace:(..._)=>{};hE=V0(()=>{if(A4.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});eg=new Set(["string","number","symbol"]),nE=new Set(["string","number","bigint","boolean","symbol","undefined"]);mE={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]},iE={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function M0(_,$=(g)=>g.message){let g={},U=[];for(let D of _.issues)if(D.path.length>0)g[D.path[0]]=g[D.path[0]]||[],g[D.path[0]].push($(D));else U.push($(D));return{formErrors:U,fieldErrors:g}}function Z0(_,$=(g)=>g.message){let g={_errors:[]},U=(D,I=[])=>{for(let j of D.issues)if(j.code==="invalid_union"&&j.errors.length)j.errors.map((N)=>U({issues:N},[...I,...j.path]));else if(j.code==="invalid_key")U({issues:j.issues},[...I,...j.path]);else if(j.code==="invalid_element")U({issues:j.issues},[...I,...j.path]);else{let N=[...I,...j.path];if(N.length===0)g._errors.push($(j));else{let O=g,A=0;while(Ag.message){let g={errors:[]},U=(D,I=[])=>{var j,N;for(let O of D.issues)if(O.code==="invalid_union"&&O.errors.length)O.errors.map((A)=>U({issues:A},[...I,...O.path]));else if(O.code==="invalid_key")U({issues:O.issues},[...I,...O.path]);else if(O.code==="invalid_element")U({issues:O.issues},[...I,...O.path]);else{let A=[...I,...O.path];if(A.length===0){g.errors.push($(O));continue}let L=g,z=0;while(ztypeof U==="object"?U.key:U);for(let U of g)if(typeof U==="number")$.push(`[${U}]`);else if(typeof U==="symbol")$.push(`[${JSON.stringify(String(U))}]`);else if(/[^\w$]/.test(U))$.push(`[${JSON.stringify(U)}]`);else{if($.length)$.push(".");$.push(U)}return $.join("")}function TI(_){let $=[],g=[..._.issues].sort((U,D)=>(U.path??[]).length-(D.path??[]).length);for(let U of g)if($.push(`\u2716 ${U.message}`),U.path?.length)$.push(` \u2192 at ${VX(U.path)}`);return $.join(` +`)}var KX=(_,$)=>{_.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})},_D,_$;var tE=f(()=>{J4();c();_D=Y("$ZodError",KX),_$=Y("$ZodError",KX,{Parent:Error})});var b0=(_)=>($,g,U,D)=>{let I=U?{...U,async:!1}:{async:!1},j=$._zod.run({value:g,issues:[]},I);if(j instanceof Promise)throw new x$;if(j.issues.length){let N=new(D?.Err??_)(j.issues.map((O)=>l_(O,I,Z_())));throw YI(N,D?.callee),N}return j.value},qI,H0=(_)=>async($,g,U,D)=>{let I=U?{...U,async:!0}:{async:!0},j=$._zod.run({value:g,issues:[]},I);if(j instanceof Promise)j=await j;if(j.issues.length){let N=new(D?.Err??_)(j.issues.map((O)=>l_(O,I,Z_())));throw YI(N,D?.callee),N}return j.value},BI,k0=(_)=>($,g,U)=>{let D=U?{...U,async:!1}:{async:!1},I=$._zod.run({value:g,issues:[]},D);if(I instanceof Promise)throw new x$;return I.issues.length?{success:!1,error:new(_??_D)(I.issues.map((j)=>l_(j,D,Z_())))}:{success:!0,data:I.value}},oE,C0=(_)=>async($,g,U)=>{let D=U?{...U,async:!0}:{async:!0},I=$._zod.run({value:g,issues:[]},D);if(I instanceof Promise)I=await I;return I.issues.length?{success:!1,error:new _(I.issues.map((j)=>l_(j,D,Z_())))}:{success:!0,data:I.value}},pE,KI=(_)=>($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return b0(_)($,g,D)},WK,VI=(_)=>($,g,U)=>{return b0(_)($,g,U)},XK,FI=(_)=>async($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return H0(_)($,g,D)},RK,MI=(_)=>async($,g,U)=>{return H0(_)($,g,U)},GK,ZI=(_)=>($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return k0(_)($,g,D)},YK,bI=(_)=>($,g,U)=>{return k0(_)($,g,U)},QK,HI=(_)=>async($,g,U)=>{let D=U?{...U,direction:"backward"}:{direction:"backward"};return C0(_)($,g,D)},TK,kI=(_)=>async($,g,U)=>{return C0(_)($,g,U)},qK;var eE=f(()=>{J4();tE();c();qI=b0(_$),BI=H0(_$),oE=k0(_$),pE=C0(_$),WK=KI(_$),XK=VI(_$),RK=FI(_$),GK=MI(_$),YK=ZI(_$),QK=bI(_$),TK=HI(_$),qK=kI(_$)});var $$={};r$($$,{xid:()=>$2,uuid7:()=>FK,uuid6:()=>VK,uuid4:()=>KK,uuid:()=>z4,uppercase:()=>V2,unicodeEmail:()=>FX,undefined:()=>B2,ulid:()=>_2,time:()=>X2,string:()=>G2,sha512_hex:()=>tK,sha512_base64url:()=>pK,sha512_base64:()=>oK,sha384_hex:()=>mK,sha384_base64url:()=>lK,sha384_base64:()=>iK,sha256_hex:()=>cK,sha256_base64url:()=>dK,sha256_base64:()=>nK,sha1_hex:()=>xK,sha1_base64url:()=>hK,sha1_base64:()=>yK,rfc5322Email:()=>ZK,number:()=>$D,null:()=>q2,nanoid:()=>D2,md5_hex:()=>fK,md5_base64url:()=>uK,md5_base64:()=>wK,mac:()=>A2,lowercase:()=>K2,ksuid:()=>g2,ipv6:()=>O2,ipv4:()=>E2,integer:()=>Q2,idnEmail:()=>bK,httpProtocol:()=>z2,html5Email:()=>MK,hostname:()=>CK,hex:()=>vK,guid:()=>I2,extendedDuration:()=>BK,emoji:()=>N2,email:()=>j2,e164:()=>S2,duration:()=>U2,domain:()=>rK,datetime:()=>R2,date:()=>W2,cuid2:()=>sE,cuid:()=>aE,cidrv6:()=>J2,cidrv4:()=>L2,browserEmail:()=>HK,boolean:()=>T2,bigint:()=>Y2,base64url:()=>CI,base64:()=>P2});function N2(){return new RegExp(kK,"u")}function ZX(_){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 X2(_){return new RegExp(`^${ZX(_)}$`)}function R2(_){let $=ZX({precision:_.precision}),g=["Z"];if(_.local)g.push("");if(_.offset)g.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let U=`${$}(?:${g.join("|")})`;return new RegExp(`^${MX}T(?:${U})$`)}function gD(_,$){return new RegExp(`^[A-Za-z0-9+/]{${_}}${$}$`)}function DD(_){return new RegExp(`^[A-Za-z0-9_-]{${_}}$`)}var aE,sE,_2,$2,g2,D2,U2,BK,I2,z4=(_)=>{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})$`)},KK,VK,FK,j2,MK,ZK,FX,bK,HK,kK="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",E2,O2,A2=(_)=>{let $=P$(_??":");return new RegExp(`^(?:[0-9A-F]{2}${$}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${$}){5}[0-9a-f]{2}$`)},L2,J2,P2,CI,CK,rK,z2,S2,MX="(?:(?:\\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])))",W2,G2=(_)=>{let $=_?`[\\s\\S]{${_?.minimum??0},${_?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${$}$`)},Y2,Q2,$D,T2,q2,B2,K2,V2,vK,fK,wK,uK,xK,yK,hK,cK,nK,dK,mK,iK,lK,tK,oK,pK;var rI=f(()=>{c();aE=/^[cC][0-9a-z]{6,}$/,sE=/^[0-9a-z]+$/,_2=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$2=/^[0-9a-vA-V]{20}$/,g2=/^[A-Za-z0-9]{27}$/,D2=/^[a-zA-Z0-9_-]{21}$/,U2=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,BK=/^[-+]?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)?)??$/,I2=/^([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})$/,KK=z4(4),VK=z4(6),FK=z4(7),j2=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,MK=/^[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])?)*$/,ZK=/^(([^<>()\[\]\\.,;:\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,}))$/,FX=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,bK=FX,HK=/^[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])?)*$/;E2=/^(?:(?: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])$/,O2=/^(([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}|:))$/,L2=/^((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])$/,J2=/^(([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])$/,P2=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,CI=/^[A-Za-z0-9_-]*$/,CK=/^(?=.{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])?)*\.?$/,rK=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,z2=/^https?$/,S2=/^\+[1-9]\d{6,14}$/,W2=new RegExp(`^${MX}$`);Y2=/^-?\d+n?$/,Q2=/^-?\d+$/,$D=/^-?\d+(?:\.\d+)?$/,T2=/^(?:true|false)$/i,q2=/^null$/i,B2=/^undefined$/i,K2=/^[^A-Z]*$/,V2=/^[^a-z]*$/,vK=/^[0-9a-fA-F]*$/;fK=/^[0-9a-fA-F]{32}$/,wK=gD(22,"=="),uK=DD(22),xK=/^[0-9a-fA-F]{40}$/,yK=gD(27,"="),hK=DD(27),cK=/^[0-9a-fA-F]{64}$/,nK=gD(43,"="),dK=DD(43),mK=/^[0-9a-fA-F]{96}$/,iK=gD(64,""),lK=DD(64),tK=/^[0-9a-fA-F]{128}$/,oK=gD(86,"=="),pK=DD(86)});function bX(_,$,g){if(_.issues.length)$.issues.push(...s_(g,_.issues))}var Y_,HX,vI,fI,F2,M2,Z2,b2,H2,k2,C2,r2,v2,r0,f2,w2,u2,x2,y2,h2,c2,n2,d2;var wI=f(()=>{J4();rI();c();Y_=Y("$ZodCheck",(_,$)=>{var g;_._zod??(_._zod={}),_._zod.def=$,(g=_._zod).onattach??(g.onattach=[])}),HX={number:"number",bigint:"bigint",object:"date"},vI=Y("$ZodCheckLessThan",(_,$)=>{Y_.init(_,$);let g=HX[typeof $.value];_._zod.onattach.push((U)=>{let D=U._zod.bag,I=($.inclusive?D.maximum:D.exclusiveMaximum)??Number.POSITIVE_INFINITY;if($.value{if($.inclusive?U.value<=$.value:U.value<$.value)return;U.issues.push({origin:g,code:"too_big",maximum:typeof $.value==="object"?$.value.getTime():$.value,input:U.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),fI=Y("$ZodCheckGreaterThan",(_,$)=>{Y_.init(_,$);let g=HX[typeof $.value];_._zod.onattach.push((U)=>{let D=U._zod.bag,I=($.inclusive?D.minimum:D.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if($.value>I)if($.inclusive)D.minimum=$.value;else D.exclusiveMinimum=$.value}),_._zod.check=(U)=>{if($.inclusive?U.value>=$.value:U.value>$.value)return;U.issues.push({origin:g,code:"too_small",minimum:typeof $.value==="object"?$.value.getTime():$.value,input:U.value,inclusive:$.inclusive,inst:_,continue:!$.abort})}}),F2=Y("$ZodCheckMultipleOf",(_,$)=>{Y_.init(_,$),_._zod.onattach.push((g)=>{var U;(U=g._zod.bag).multipleOf??(U.multipleOf=$.value)}),_._zod.check=(g)=>{if(typeof g.value!==typeof $.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof g.value==="bigint"?g.value%$.value===BigInt(0):xE(g.value,$.value)===0)return;g.issues.push({origin:typeof g.value,code:"not_multiple_of",divisor:$.value,input:g.value,inst:_,continue:!$.abort})}}),M2=Y("$ZodCheckNumberFormat",(_,$)=>{Y_.init(_,$),$.format=$.format||"float64";let g=$.format?.includes("int"),U=g?"int":"number",[D,I]=mE[$.format];_._zod.onattach.push((j)=>{let N=j._zod.bag;if(N.format=$.format,N.minimum=D,N.maximum=I,g)N.pattern=Q2}),_._zod.check=(j)=>{let N=j.value;if(g){if(!Number.isInteger(N)){j.issues.push({expected:U,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:U,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:U,inclusive:!0,continue:!$.abort});return}}if(NI)j.issues.push({origin:"number",input:N,code:"too_big",maximum:I,inclusive:!0,inst:_,continue:!$.abort})}}),Z2=Y("$ZodCheckBigIntFormat",(_,$)=>{Y_.init(_,$);let[g,U]=iE[$.format];_._zod.onattach.push((D)=>{let I=D._zod.bag;I.format=$.format,I.minimum=g,I.maximum=U}),_._zod.check=(D)=>{let I=D.value;if(IU)D.issues.push({origin:"bigint",input:I,code:"too_big",maximum:U,inclusive:!0,inst:_,continue:!$.abort})}}),b2=Y("$ZodCheckMaxSize",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.size!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=U.value;if(D.size<=$.maximum)return;U.issues.push({origin:ag(D),code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),H2=Y("$ZodCheckMinSize",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.size!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)U._zod.bag.minimum=$.minimum}),_._zod.check=(U)=>{let D=U.value;if(D.size>=$.minimum)return;U.issues.push({origin:ag(D),code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),k2=Y("$ZodCheckSizeEquals",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.size!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.minimum=$.size,D.maximum=$.size,D.size=$.size}),_._zod.check=(U)=>{let D=U.value,I=D.size;if(I===$.size)return;let j=I>$.size;U.issues.push({origin:ag(D),...j?{code:"too_big",maximum:$.size}:{code:"too_small",minimum:$.size},inclusive:!0,exact:!0,input:U.value,inst:_,continue:!$.abort})}}),C2=Y("$ZodCheckMaxLength",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.length!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.maximum??Number.POSITIVE_INFINITY;if($.maximum{let D=U.value;if(D.length<=$.maximum)return;let j=sg(D);U.issues.push({origin:j,code:"too_big",maximum:$.maximum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),r2=Y("$ZodCheckMinLength",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.length!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag.minimum??Number.NEGATIVE_INFINITY;if($.minimum>D)U._zod.bag.minimum=$.minimum}),_._zod.check=(U)=>{let D=U.value;if(D.length>=$.minimum)return;let j=sg(D);U.issues.push({origin:j,code:"too_small",minimum:$.minimum,inclusive:!0,input:D,inst:_,continue:!$.abort})}}),v2=Y("$ZodCheckLengthEquals",(_,$)=>{var g;Y_.init(_,$),(g=_._zod.def).when??(g.when=(U)=>{let D=U.value;return!M6(D)&&D.length!==void 0}),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.minimum=$.length,D.maximum=$.length,D.length=$.length}),_._zod.check=(U)=>{let D=U.value,I=D.length;if(I===$.length)return;let j=sg(D),N=I>$.length;U.issues.push({origin:j,...N?{code:"too_big",maximum:$.length}:{code:"too_small",minimum:$.length},inclusive:!0,exact:!0,input:U.value,inst:_,continue:!$.abort})}}),r0=Y("$ZodCheckStringFormat",(_,$)=>{var g,U;if(Y_.init(_,$),_._zod.onattach.push((D)=>{let I=D._zod.bag;if(I.format=$.format,$.pattern)I.patterns??(I.patterns=new Set),I.patterns.add($.pattern)}),$.pattern)(g=_._zod).check??(g.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(U=_._zod).check??(U.check=()=>{})}),f2=Y("$ZodCheckRegex",(_,$)=>{r0.init(_,$),_._zod.check=(g)=>{if($.pattern.lastIndex=0,$.pattern.test(g.value))return;g.issues.push({origin:"string",code:"invalid_format",format:"regex",input:g.value,pattern:$.pattern.toString(),inst:_,continue:!$.abort})}}),w2=Y("$ZodCheckLowerCase",(_,$)=>{$.pattern??($.pattern=K2),r0.init(_,$)}),u2=Y("$ZodCheckUpperCase",(_,$)=>{$.pattern??($.pattern=V2),r0.init(_,$)}),x2=Y("$ZodCheckIncludes",(_,$)=>{Y_.init(_,$);let g=P$($.includes),U=new RegExp(typeof $.position==="number"?`^.{${$.position}}${g}`:g);$.pattern=U,_._zod.onattach.push((D)=>{let I=D._zod.bag;I.patterns??(I.patterns=new Set),I.patterns.add(U)}),_._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})}}),y2=Y("$ZodCheckStartsWith",(_,$)=>{Y_.init(_,$);let g=new RegExp(`^${P$($.prefix)}.*`);$.pattern??($.pattern=g),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(g)}),_._zod.check=(U)=>{if(U.value.startsWith($.prefix))return;U.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:$.prefix,input:U.value,inst:_,continue:!$.abort})}}),h2=Y("$ZodCheckEndsWith",(_,$)=>{Y_.init(_,$);let g=new RegExp(`.*${P$($.suffix)}$`);$.pattern??($.pattern=g),_._zod.onattach.push((U)=>{let D=U._zod.bag;D.patterns??(D.patterns=new Set),D.patterns.add(g)}),_._zod.check=(U)=>{if(U.value.endsWith($.suffix))return;U.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:$.suffix,input:U.value,inst:_,continue:!$.abort})}});c2=Y("$ZodCheckProperty",(_,$)=>{Y_.init(_,$),_._zod.check=(g)=>{let U=$.schema._zod.run({value:g.value[$.property],issues:[]},{});if(U instanceof Promise)return U.then((D)=>bX(D,g,$.property));bX(U,g,$.property);return}}),n2=Y("$ZodCheckMimeType",(_,$)=>{Y_.init(_,$);let g=new Set($.mime);_._zod.onattach.push((U)=>{U._zod.bag.mime=$.mime}),_._zod.check=(U)=>{if(g.has(U.value.type))return;U.issues.push({code:"invalid_value",values:$.mime,input:U.value.type,inst:_,continue:!$.abort})}}),d2=Y("$ZodCheckOverwrite",(_,$)=>{Y_.init(_,$),_._zod.check=(g)=>{g.value=$.tx(g.value)}})});class uI{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 g=_.split(` `).filter((I)=>I),U=Math.min(...g.map((I)=>I.length-I.trimStart().length)),D=g.map((I)=>I.slice(U)).map((I)=>" ".repeat(this.indent*2)+I);for(let I of D)this.content.push(I)}compile(){let _=Function,$=this?.args,U=[...(this?.content??[""]).map((D)=>` ${D}`)];return new _(...$,U.join(` -`))}}var m2;var i2=f(()=>{m2={major:4,minor:4,patch:3}});function zO(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function iX(_){if(!CI.test(_))return!1;let $=_.replace(/[-_]/g,(U)=>U==="-"?"+":"/"),g=$.padEnd(Math.ceil($.length/4)*4,"=");return zO(g)}function lX(_,$=null){try{let g=_.split(".");if(g.length!==3)return!1;let[U]=g;if(!U)return!1;let D=JSON.parse(atob(U));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 kX(_,$,g){if(_.issues.length)$.issues.push(...s_(g,_.issues));$.value[g]=_.value}function cI(_,$,g,U,D,I){let j=g in U;if(_.issues.length){if(D&&I&&!j)return;$.issues.push(...s_(g,_.issues))}if(!j&&!D){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[g]});return}if(_.value===void 0){if(j)$.value[g]=void 0}else $.value[g]=_.value}function tX(_){let $=Object.keys(_.shape);for(let U of $)if(!_.shape?.[U]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${U}": expected a Zod schema`);let g=dE(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(g)}}function oX(_,$,g,U,D,I){let j=[],N=D.keySet,O=D.catchall._zod,A=O.def.type,L=O.optin==="optional",z=O.optout==="optional";for(let W in $){if(W==="__proto__")continue;if(N.has(W))continue;if(A==="never"){j.push(W);continue}let J=O.run({value:$[W],issues:[]},U);if(J instanceof Promise)_.push(J.then((P)=>cI(P,g,W,$,L,z)));else cI(J,g,W,$,L,z)}if(j.length)g.issues.push({code:"unrecognized_keys",keys:j,input:$,inst:I});if(!_.length)return g;return Promise.all(_).then(()=>{return g})}function CX(_,$,g,U){for(let I of _)if(I.issues.length===0)return $.value=I.value,$;let D=_.filter((I)=>!H6(I));if(D.length===1)return $.value=D[0].value,D[0];return $.issues.push({code:"invalid_union",input:$.value,inst:g,errors:_.map((I)=>I.issues.map((j)=>l_(j,U,Z_())))}),$}function rX(_,$,g,U){let D=_.filter((I)=>I.issues.length===0);if(D.length===1)return $.value=D[0].value,$;if(D.length===0)$.issues.push({code:"invalid_union",input:$.value,inst:g,errors:_.map((I)=>I.issues.map((j)=>l_(j,U,Z_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:g,errors:[],inclusive:!1});return $}function l2(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(b6(_)&&b6($)){let g=Object.keys($),U=Object.keys(_).filter((I)=>g.indexOf(I)!==-1),D={..._,...$};for(let I of U){let j=l2(_[I],$[I]);if(!j.valid)return{valid:!1,mergeErrorPath:[I,...j.mergeErrorPath]};D[I]=j.data}return{valid:!0,data:D}}if(Array.isArray(_)&&Array.isArray($)){if(_.length!==$.length)return{valid:!1,mergeErrorPath:[]};let g=[];for(let U=0;U<_.length;U++){let D=_[U],I=$[U],j=l2(D,I);if(!j.valid)return{valid:!1,mergeErrorPath:[U,...j.mergeErrorPath]};g.push(j.data)}return{valid:!0,data:g}}return{valid:!1,mergeErrorPath:[]}}function vX(_,$,g){let U=new Map,D;for(let N of $.issues)if(N.code==="unrecognized_keys"){D??(D=N);for(let O of N.keys){if(!U.has(O))U.set(O,{});U.get(O).l=!0}}else _.issues.push(N);for(let N of g.issues)if(N.code==="unrecognized_keys")for(let O of N.keys){if(!U.has(O))U.set(O,{});U.get(O).r=!0}else _.issues.push(N);let I=[...U].filter(([,N])=>N.l&&N.r).map(([N])=>N);if(I.length&&D)_.issues.push({...D,keys:I});if(H6(_))return _;let j=l2($.value,g.value);if(!j.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(j.mergeErrorPath)}`);return _.value=j.data,_}function fX(_,$){for(let g=_.length-1;g>=0;g--)if(_[g]._zod[$]!=="optional")return g+1;return 0}function wX(_,$,g){if(_.issues.length)$.issues.push(...s_(g,_.issues));$.value[g]=_.value}function uX(_,$,g,U,D){for(let I=0;I=D){$.value.length=I;break}$.issues.push(...s_(I,j.issues))}$.value[I]=j.value}for(let I=$.value.length-1;I>=U.length;I--)if(g[I]._zod.optout==="optional"&&$.value[I]===void 0)$.value.length=I;else break;return $}function xX(_,$,g,U,D,I,j){if(_.issues.length)if(eg.has(typeof U))g.issues.push(...s_(U,_.issues));else g.issues.push({code:"invalid_key",origin:"map",input:D,inst:I,issues:_.issues.map((N)=>l_(N,j,Z_()))});if($.issues.length)if(eg.has(typeof U))g.issues.push(...s_(U,$.issues));else g.issues.push({origin:"map",code:"invalid_element",input:D,inst:I,key:U,issues:$.issues.map((N)=>l_(N,j,Z_()))});g.value.set(_.value,$.value)}function yX(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function hX(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function cX(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function nX(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function xI(_,$,g){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},g)}function yI(_,$,g){if(_.issues.length)return _.aborted=!0,_;if((g.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((I)=>hI(_,I,$.out,g));return hI(_,D,$.out,g)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((I)=>hI(_,I,$.in,g));return hI(_,D,$.in,g)}}function hI(_,$,g,U){if(_.issues.length)return _.aborted=!0,_;return g._zod.run({value:$,issues:_.issues},U)}function dX(_){return _.value=Object.freeze(_.value),_}function mX(_,$,g,U){if(!_){let D={code:"custom",input:g,inst:U,path:[...U._zod.def.path??[]],continue:!U._zod.def.abort};if(U._zod.def.params)D.params=U._zod.def.params;$.issues.push(F0(D))}}var l,S4,R_,t2,o2,p2,e2,a2,s2,_O,$O,gO,DO,UO,IO,jO,NO,EO,OO,AO,LO,JO,PO,SO,WO,XO,RO,GO,nI,YO,UD,dI,QO,TO,qO,BO,KO,VO,FO,MO,ZO,bO,pX,HO,ID,kO,CO,rO,mI,vO,fO,wO,uO,xO,yO,hO,iI,cO,nO,dO,mO,iO,lO,tO,oO,lI,jD,pO,eO,aO,sO,_A,$A,gA;var DA=f(()=>{wI();J4();eE();rI();c();i2();c();l=Y("$ZodType",(_,$)=>{var g;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=m2;let U=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))U.unshift(_);for(let D of U)for(let I of D._zod.onattach)I(_);if(U.length===0)(g=_._zod).deferred??(g.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let D=(j,N,O)=>{let A=H6(j),L;for(let z of N){if(z._zod.def.when){if(lE(j))continue;if(!z._zod.def.when(j))continue}else if(A)continue;let W=j.issues.length,J=z._zod.check(j);if(J instanceof Promise&&O?.async===!1)throw new x$;if(L||J instanceof Promise)L=(L??Promise.resolve()).then(async()=>{if(await J,j.issues.length===W)return;if(!A)A=H6(j,W)});else{if(j.issues.length===W)continue;if(!A)A=H6(j,W)}}if(L)return L.then(()=>{return j});return j},I=(j,N,O)=>{if(H6(j))return j.aborted=!0,j;let A=D(N,U,O);if(A instanceof Promise){if(O.async===!1)throw new x$;return A.then((L)=>_._zod.parse(L,O))}return _._zod.parse(A,O)};_._zod.run=(j,N)=>{if(N.skipChecks)return _._zod.parse(j,N);if(N.direction==="backward"){let A=_._zod.parse({value:j.value,issues:[]},{...N,skipChecks:!0});if(A instanceof Promise)return A.then((L)=>{return I(L,j,N)});return I(A,j,N)}let O=_._zod.parse(j,N);if(O instanceof Promise){if(N.async===!1)throw new x$;return O.then((A)=>D(A,U,N))}return D(O,U,N)}}$_(_,"~standard",()=>({validate:(D)=>{try{let I=oE(_,D);return I.success?{value:I.data}:{issues:I.error?.issues}}catch(I){return pE(_,D).then((j)=>j.success?{value:j.data}:{issues:j.error?.issues})}},vendor:"zod",version:1}))}),S4=Y("$ZodString",(_,$)=>{l.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??G2(_._zod.bag),_._zod.parse=(g,U)=>{if($.coerce)try{g.value=String(g.value)}catch(D){}if(typeof g.value==="string")return g;return g.issues.push({expected:"string",code:"invalid_type",input:g.value,inst:_}),g}}),R_=Y("$ZodStringFormat",(_,$)=>{r0.init(_,$),S4.init(_,$)}),t2=Y("$ZodGUID",(_,$)=>{$.pattern??($.pattern=I2),R_.init(_,$)}),o2=Y("$ZodUUID",(_,$)=>{if($.version){let U={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[$.version];if(U===void 0)throw Error(`Invalid UUID version: "${$.version}"`);$.pattern??($.pattern=z4(U))}else $.pattern??($.pattern=z4());R_.init(_,$)}),p2=Y("$ZodEmail",(_,$)=>{$.pattern??($.pattern=j2),R_.init(_,$)}),e2=Y("$ZodURL",(_,$)=>{R_.init(_,$),_._zod.check=(g)=>{try{let U=g.value.trim();if(!$.normalize&&$.protocol?.source===z2.source){if(!/^https?:\/\//i.test(U)){g.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:g.value,inst:_,continue:!$.abort});return}}let D=new URL(U);if($.hostname){if($.hostname.lastIndex=0,!$.hostname.test(D.hostname))g.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:$.hostname.source,input:g.value,inst:_,continue:!$.abort})}if($.protocol){if($.protocol.lastIndex=0,!$.protocol.test(D.protocol.endsWith(":")?D.protocol.slice(0,-1):D.protocol))g.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:$.protocol.source,input:g.value,inst:_,continue:!$.abort})}if($.normalize)g.value=D.href;else g.value=U;return}catch(U){g.issues.push({code:"invalid_format",format:"url",input:g.value,inst:_,continue:!$.abort})}}}),a2=Y("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=N2()),R_.init(_,$)}),s2=Y("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=D2),R_.init(_,$)}),_O=Y("$ZodCUID",(_,$)=>{$.pattern??($.pattern=aE),R_.init(_,$)}),$O=Y("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=sE),R_.init(_,$)}),gO=Y("$ZodULID",(_,$)=>{$.pattern??($.pattern=_2),R_.init(_,$)}),DO=Y("$ZodXID",(_,$)=>{$.pattern??($.pattern=$2),R_.init(_,$)}),UO=Y("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=g2),R_.init(_,$)}),IO=Y("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=R2($)),R_.init(_,$)}),jO=Y("$ZodISODate",(_,$)=>{$.pattern??($.pattern=W2),R_.init(_,$)}),NO=Y("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=X2($)),R_.init(_,$)}),EO=Y("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=U2),R_.init(_,$)}),OO=Y("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=E2),R_.init(_,$),_._zod.bag.format="ipv4"}),AO=Y("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=O2),R_.init(_,$),_._zod.bag.format="ipv6",_._zod.check=(g)=>{try{new URL(`http://[${g.value}]`)}catch{g.issues.push({code:"invalid_format",format:"ipv6",input:g.value,inst:_,continue:!$.abort})}}}),LO=Y("$ZodMAC",(_,$)=>{$.pattern??($.pattern=A2($.delimiter)),R_.init(_,$),_._zod.bag.format="mac"}),JO=Y("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=L2),R_.init(_,$)}),PO=Y("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=J2),R_.init(_,$),_._zod.check=(g)=>{let U=g.value.split("/");try{if(U.length!==2)throw Error();let[D,I]=U;if(!I)throw Error();let j=Number(I);if(`${j}`!==I)throw Error();if(j<0||j>128)throw Error();new URL(`http://[${D}]`)}catch{g.issues.push({code:"invalid_format",format:"cidrv6",input:g.value,inst:_,continue:!$.abort})}}});SO=Y("$ZodBase64",(_,$)=>{$.pattern??($.pattern=P2),R_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(g)=>{if(zO(g.value))return;g.issues.push({code:"invalid_format",format:"base64",input:g.value,inst:_,continue:!$.abort})}});WO=Y("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=CI),R_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(g)=>{if(iX(g.value))return;g.issues.push({code:"invalid_format",format:"base64url",input:g.value,inst:_,continue:!$.abort})}}),XO=Y("$ZodE164",(_,$)=>{$.pattern??($.pattern=S2),R_.init(_,$)});RO=Y("$ZodJWT",(_,$)=>{R_.init(_,$),_._zod.check=(g)=>{if(lX(g.value,$.alg))return;g.issues.push({code:"invalid_format",format:"jwt",input:g.value,inst:_,continue:!$.abort})}}),GO=Y("$ZodCustomStringFormat",(_,$)=>{R_.init(_,$),_._zod.check=(g)=>{if($.fn(g.value))return;g.issues.push({code:"invalid_format",format:$.format,input:g.value,inst:_,continue:!$.abort})}}),nI=Y("$ZodNumber",(_,$)=>{l.init(_,$),_._zod.pattern=_._zod.bag.pattern??$D,_._zod.parse=(g,U)=>{if($.coerce)try{g.value=Number(g.value)}catch(j){}let D=g.value;if(typeof D==="number"&&!Number.isNaN(D)&&Number.isFinite(D))return g;let I=typeof D==="number"?Number.isNaN(D)?"NaN":!Number.isFinite(D)?"Infinity":void 0:void 0;return g.issues.push({expected:"number",code:"invalid_type",input:D,inst:_,...I?{received:I}:{}}),g}}),YO=Y("$ZodNumberFormat",(_,$)=>{M2.init(_,$),nI.init(_,$)}),UD=Y("$ZodBoolean",(_,$)=>{l.init(_,$),_._zod.pattern=T2,_._zod.parse=(g,U)=>{if($.coerce)try{g.value=Boolean(g.value)}catch(I){}let D=g.value;if(typeof D==="boolean")return g;return g.issues.push({expected:"boolean",code:"invalid_type",input:D,inst:_}),g}}),dI=Y("$ZodBigInt",(_,$)=>{l.init(_,$),_._zod.pattern=Y2,_._zod.parse=(g,U)=>{if($.coerce)try{g.value=BigInt(g.value)}catch(D){}if(typeof g.value==="bigint")return g;return g.issues.push({expected:"bigint",code:"invalid_type",input:g.value,inst:_}),g}}),QO=Y("$ZodBigIntFormat",(_,$)=>{Z2.init(_,$),dI.init(_,$)}),TO=Y("$ZodSymbol",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(typeof D==="symbol")return g;return g.issues.push({expected:"symbol",code:"invalid_type",input:D,inst:_}),g}}),qO=Y("$ZodUndefined",(_,$)=>{l.init(_,$),_._zod.pattern=B2,_._zod.values=new Set([void 0]),_._zod.parse=(g,U)=>{let D=g.value;if(typeof D>"u")return g;return g.issues.push({expected:"undefined",code:"invalid_type",input:D,inst:_}),g}}),BO=Y("$ZodNull",(_,$)=>{l.init(_,$),_._zod.pattern=q2,_._zod.values=new Set([null]),_._zod.parse=(g,U)=>{let D=g.value;if(D===null)return g;return g.issues.push({expected:"null",code:"invalid_type",input:D,inst:_}),g}}),KO=Y("$ZodAny",(_,$)=>{l.init(_,$),_._zod.parse=(g)=>g}),VO=Y("$ZodUnknown",(_,$)=>{l.init(_,$),_._zod.parse=(g)=>g}),FO=Y("$ZodNever",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{return g.issues.push({expected:"never",code:"invalid_type",input:g.value,inst:_}),g}}),MO=Y("$ZodVoid",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(typeof D>"u")return g;return g.issues.push({expected:"void",code:"invalid_type",input:D,inst:_}),g}}),ZO=Y("$ZodDate",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{if($.coerce)try{g.value=new Date(g.value)}catch(N){}let D=g.value,I=D instanceof Date;if(I&&!Number.isNaN(D.getTime()))return g;return g.issues.push({expected:"date",code:"invalid_type",input:D,...I?{received:"Invalid Date"}:{},inst:_}),g}});bO=Y("$ZodArray",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!Array.isArray(D))return g.issues.push({expected:"array",code:"invalid_type",input:D,inst:_}),g;g.value=Array(D.length);let I=[];for(let j=0;jkX(A,g,j)));else kX(O,g,j)}if(I.length)return Promise.all(I).then(()=>g);return g}});pX=Y("$ZodObject",(_,$)=>{if(l.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let N=$.shape;Object.defineProperty($,"shape",{get:()=>{let O={...N};return Object.defineProperty($,"shape",{value:O}),O}})}let U=V0(()=>tX($));$_(_._zod,"propValues",()=>{let N=$.shape,O={};for(let A in N){let L=N[A]._zod;if(L.values){O[A]??(O[A]=new Set);for(let z of L.values)O[A].add(z)}}return O});let D=P4,I=$.catchall,j;_._zod.parse=(N,O)=>{j??(j=U.value);let A=N.value;if(!D(A))return N.issues.push({expected:"object",code:"invalid_type",input:A,inst:_}),N;N.value={};let L=[],z=j.shape;for(let W of j.keys){let J=z[W],P=J._zod.optin==="optional",S=J._zod.optout==="optional",X=J._zod.run({value:A[W],issues:[]},O);if(X instanceof Promise)L.push(X.then((G)=>cI(G,N,W,A,P,S)));else cI(X,N,W,A,P,S)}if(!I)return L.length?Promise.all(L).then(()=>N):N;return oX(L,A,N,O,U.value,_)}}),HO=Y("$ZodObjectJIT",(_,$)=>{pX.init(_,$);let g=_._zod.parse,U=V0(()=>tX($)),D=(W)=>{let J=new uI(["shape","payload","ctx"]),P=U.value,S=(K)=>{let Q=GI(K);return`shape[${Q}]._zod.run({ value: input[${Q}], issues: [] }, ctx)`};J.write("const input = payload.value;");let X=Object.create(null),G=0;for(let K of P.keys)X[K]=`key_${G++}`;J.write("const newResult = {};");for(let K of P.keys){let Q=X[K],T=GI(K),q=W[K],V=q?._zod?.optin==="optional",Z=q?._zod?.optout==="optional";if(J.write(`const ${Q} = ${S(K)};`),V&&Z)J.write(` +`))}}var m2;var i2=f(()=>{m2={major:4,minor:4,patch:3}});function zO(_){if(_==="")return!0;if(/\s/.test(_))return!1;if(_.length%4!==0)return!1;try{return atob(_),!0}catch{return!1}}function lX(_){if(!CI.test(_))return!1;let $=_.replace(/[-_]/g,(U)=>U==="-"?"+":"/"),g=$.padEnd(Math.ceil($.length/4)*4,"=");return zO(g)}function tX(_,$=null){try{let g=_.split(".");if(g.length!==3)return!1;let[U]=g;if(!U)return!1;let D=JSON.parse(atob(U));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 CX(_,$,g){if(_.issues.length)$.issues.push(...s_(g,_.issues));$.value[g]=_.value}function cI(_,$,g,U,D,I){let j=g in U;if(_.issues.length){if(D&&I&&!j)return;$.issues.push(...s_(g,_.issues))}if(!j&&!D){if(!_.issues.length)$.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[g]});return}if(_.value===void 0){if(j)$.value[g]=void 0}else $.value[g]=_.value}function oX(_){let $=Object.keys(_.shape);for(let U of $)if(!_.shape?.[U]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${U}": expected a Zod schema`);let g=dE(_.shape);return{..._,keys:$,keySet:new Set($),numKeys:$.length,optionalKeys:new Set(g)}}function pX(_,$,g,U,D,I){let j=[],N=D.keySet,O=D.catchall._zod,A=O.def.type,L=O.optin==="optional",z=O.optout==="optional";for(let W in $){if(W==="__proto__")continue;if(N.has(W))continue;if(A==="never"){j.push(W);continue}let J=O.run({value:$[W],issues:[]},U);if(J instanceof Promise)_.push(J.then((P)=>cI(P,g,W,$,L,z)));else cI(J,g,W,$,L,z)}if(j.length)g.issues.push({code:"unrecognized_keys",keys:j,input:$,inst:I});if(!_.length)return g;return Promise.all(_).then(()=>{return g})}function rX(_,$,g,U){for(let I of _)if(I.issues.length===0)return $.value=I.value,$;let D=_.filter((I)=>!H6(I));if(D.length===1)return $.value=D[0].value,D[0];return $.issues.push({code:"invalid_union",input:$.value,inst:g,errors:_.map((I)=>I.issues.map((j)=>l_(j,U,Z_())))}),$}function vX(_,$,g,U){let D=_.filter((I)=>I.issues.length===0);if(D.length===1)return $.value=D[0].value,$;if(D.length===0)$.issues.push({code:"invalid_union",input:$.value,inst:g,errors:_.map((I)=>I.issues.map((j)=>l_(j,U,Z_())))});else $.issues.push({code:"invalid_union",input:$.value,inst:g,errors:[],inclusive:!1});return $}function l2(_,$){if(_===$)return{valid:!0,data:_};if(_ instanceof Date&&$ instanceof Date&&+_===+$)return{valid:!0,data:_};if(b6(_)&&b6($)){let g=Object.keys($),U=Object.keys(_).filter((I)=>g.indexOf(I)!==-1),D={..._,...$};for(let I of U){let j=l2(_[I],$[I]);if(!j.valid)return{valid:!1,mergeErrorPath:[I,...j.mergeErrorPath]};D[I]=j.data}return{valid:!0,data:D}}if(Array.isArray(_)&&Array.isArray($)){if(_.length!==$.length)return{valid:!1,mergeErrorPath:[]};let g=[];for(let U=0;U<_.length;U++){let D=_[U],I=$[U],j=l2(D,I);if(!j.valid)return{valid:!1,mergeErrorPath:[U,...j.mergeErrorPath]};g.push(j.data)}return{valid:!0,data:g}}return{valid:!1,mergeErrorPath:[]}}function fX(_,$,g){let U=new Map,D;for(let N of $.issues)if(N.code==="unrecognized_keys"){D??(D=N);for(let O of N.keys){if(!U.has(O))U.set(O,{});U.get(O).l=!0}}else _.issues.push(N);for(let N of g.issues)if(N.code==="unrecognized_keys")for(let O of N.keys){if(!U.has(O))U.set(O,{});U.get(O).r=!0}else _.issues.push(N);let I=[...U].filter(([,N])=>N.l&&N.r).map(([N])=>N);if(I.length&&D)_.issues.push({...D,keys:I});if(H6(_))return _;let j=l2($.value,g.value);if(!j.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(j.mergeErrorPath)}`);return _.value=j.data,_}function wX(_,$){for(let g=_.length-1;g>=0;g--)if(_[g]._zod[$]!=="optional")return g+1;return 0}function uX(_,$,g){if(_.issues.length)$.issues.push(...s_(g,_.issues));$.value[g]=_.value}function xX(_,$,g,U,D){for(let I=0;I=D){$.value.length=I;break}$.issues.push(...s_(I,j.issues))}$.value[I]=j.value}for(let I=$.value.length-1;I>=U.length;I--)if(g[I]._zod.optout==="optional"&&$.value[I]===void 0)$.value.length=I;else break;return $}function yX(_,$,g,U,D,I,j){if(_.issues.length)if(eg.has(typeof U))g.issues.push(...s_(U,_.issues));else g.issues.push({code:"invalid_key",origin:"map",input:D,inst:I,issues:_.issues.map((N)=>l_(N,j,Z_()))});if($.issues.length)if(eg.has(typeof U))g.issues.push(...s_(U,$.issues));else g.issues.push({origin:"map",code:"invalid_element",input:D,inst:I,key:U,issues:$.issues.map((N)=>l_(N,j,Z_()))});g.value.set(_.value,$.value)}function hX(_,$){if(_.issues.length)$.issues.push(..._.issues);$.value.add(_.value)}function cX(_,$){if($===void 0&&(_.issues.length||_.fallback))return{issues:[],value:void 0};return _}function nX(_,$){if(_.value===void 0)_.value=$.defaultValue;return _}function dX(_,$){if(!_.issues.length&&_.value===void 0)_.issues.push({code:"invalid_type",expected:"nonoptional",input:_.value,inst:$});return _}function xI(_,$,g){if(_.issues.length)return _.aborted=!0,_;return $._zod.run({value:_.value,issues:_.issues,fallback:_.fallback},g)}function yI(_,$,g){if(_.issues.length)return _.aborted=!0,_;if((g.direction||"forward")==="forward"){let D=$.transform(_.value,_);if(D instanceof Promise)return D.then((I)=>hI(_,I,$.out,g));return hI(_,D,$.out,g)}else{let D=$.reverseTransform(_.value,_);if(D instanceof Promise)return D.then((I)=>hI(_,I,$.in,g));return hI(_,D,$.in,g)}}function hI(_,$,g,U){if(_.issues.length)return _.aborted=!0,_;return g._zod.run({value:$,issues:_.issues},U)}function mX(_){return _.value=Object.freeze(_.value),_}function iX(_,$,g,U){if(!_){let D={code:"custom",input:g,inst:U,path:[...U._zod.def.path??[]],continue:!U._zod.def.abort};if(U._zod.def.params)D.params=U._zod.def.params;$.issues.push(F0(D))}}var l,S4,R_,t2,o2,p2,e2,a2,s2,_O,$O,gO,DO,UO,IO,jO,NO,EO,OO,AO,LO,JO,PO,SO,WO,XO,RO,GO,nI,YO,UD,dI,QO,TO,qO,BO,KO,VO,FO,MO,ZO,bO,eX,HO,ID,kO,CO,rO,mI,vO,fO,wO,uO,xO,yO,hO,iI,cO,nO,dO,mO,iO,lO,tO,oO,lI,jD,pO,eO,aO,sO,_A,$A,gA;var DA=f(()=>{wI();J4();eE();rI();c();i2();c();l=Y("$ZodType",(_,$)=>{var g;_??(_={}),_._zod.def=$,_._zod.bag=_._zod.bag||{},_._zod.version=m2;let U=[..._._zod.def.checks??[]];if(_._zod.traits.has("$ZodCheck"))U.unshift(_);for(let D of U)for(let I of D._zod.onattach)I(_);if(U.length===0)(g=_._zod).deferred??(g.deferred=[]),_._zod.deferred?.push(()=>{_._zod.run=_._zod.parse});else{let D=(j,N,O)=>{let A=H6(j),L;for(let z of N){if(z._zod.def.when){if(lE(j))continue;if(!z._zod.def.when(j))continue}else if(A)continue;let W=j.issues.length,J=z._zod.check(j);if(J instanceof Promise&&O?.async===!1)throw new x$;if(L||J instanceof Promise)L=(L??Promise.resolve()).then(async()=>{if(await J,j.issues.length===W)return;if(!A)A=H6(j,W)});else{if(j.issues.length===W)continue;if(!A)A=H6(j,W)}}if(L)return L.then(()=>{return j});return j},I=(j,N,O)=>{if(H6(j))return j.aborted=!0,j;let A=D(N,U,O);if(A instanceof Promise){if(O.async===!1)throw new x$;return A.then((L)=>_._zod.parse(L,O))}return _._zod.parse(A,O)};_._zod.run=(j,N)=>{if(N.skipChecks)return _._zod.parse(j,N);if(N.direction==="backward"){let A=_._zod.parse({value:j.value,issues:[]},{...N,skipChecks:!0});if(A instanceof Promise)return A.then((L)=>{return I(L,j,N)});return I(A,j,N)}let O=_._zod.parse(j,N);if(O instanceof Promise){if(N.async===!1)throw new x$;return O.then((A)=>D(A,U,N))}return D(O,U,N)}}$_(_,"~standard",()=>({validate:(D)=>{try{let I=oE(_,D);return I.success?{value:I.data}:{issues:I.error?.issues}}catch(I){return pE(_,D).then((j)=>j.success?{value:j.data}:{issues:j.error?.issues})}},vendor:"zod",version:1}))}),S4=Y("$ZodString",(_,$)=>{l.init(_,$),_._zod.pattern=[..._?._zod.bag?.patterns??[]].pop()??G2(_._zod.bag),_._zod.parse=(g,U)=>{if($.coerce)try{g.value=String(g.value)}catch(D){}if(typeof g.value==="string")return g;return g.issues.push({expected:"string",code:"invalid_type",input:g.value,inst:_}),g}}),R_=Y("$ZodStringFormat",(_,$)=>{r0.init(_,$),S4.init(_,$)}),t2=Y("$ZodGUID",(_,$)=>{$.pattern??($.pattern=I2),R_.init(_,$)}),o2=Y("$ZodUUID",(_,$)=>{if($.version){let U={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[$.version];if(U===void 0)throw Error(`Invalid UUID version: "${$.version}"`);$.pattern??($.pattern=z4(U))}else $.pattern??($.pattern=z4());R_.init(_,$)}),p2=Y("$ZodEmail",(_,$)=>{$.pattern??($.pattern=j2),R_.init(_,$)}),e2=Y("$ZodURL",(_,$)=>{R_.init(_,$),_._zod.check=(g)=>{try{let U=g.value.trim();if(!$.normalize&&$.protocol?.source===z2.source){if(!/^https?:\/\//i.test(U)){g.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:g.value,inst:_,continue:!$.abort});return}}let D=new URL(U);if($.hostname){if($.hostname.lastIndex=0,!$.hostname.test(D.hostname))g.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:$.hostname.source,input:g.value,inst:_,continue:!$.abort})}if($.protocol){if($.protocol.lastIndex=0,!$.protocol.test(D.protocol.endsWith(":")?D.protocol.slice(0,-1):D.protocol))g.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:$.protocol.source,input:g.value,inst:_,continue:!$.abort})}if($.normalize)g.value=D.href;else g.value=U;return}catch(U){g.issues.push({code:"invalid_format",format:"url",input:g.value,inst:_,continue:!$.abort})}}}),a2=Y("$ZodEmoji",(_,$)=>{$.pattern??($.pattern=N2()),R_.init(_,$)}),s2=Y("$ZodNanoID",(_,$)=>{$.pattern??($.pattern=D2),R_.init(_,$)}),_O=Y("$ZodCUID",(_,$)=>{$.pattern??($.pattern=aE),R_.init(_,$)}),$O=Y("$ZodCUID2",(_,$)=>{$.pattern??($.pattern=sE),R_.init(_,$)}),gO=Y("$ZodULID",(_,$)=>{$.pattern??($.pattern=_2),R_.init(_,$)}),DO=Y("$ZodXID",(_,$)=>{$.pattern??($.pattern=$2),R_.init(_,$)}),UO=Y("$ZodKSUID",(_,$)=>{$.pattern??($.pattern=g2),R_.init(_,$)}),IO=Y("$ZodISODateTime",(_,$)=>{$.pattern??($.pattern=R2($)),R_.init(_,$)}),jO=Y("$ZodISODate",(_,$)=>{$.pattern??($.pattern=W2),R_.init(_,$)}),NO=Y("$ZodISOTime",(_,$)=>{$.pattern??($.pattern=X2($)),R_.init(_,$)}),EO=Y("$ZodISODuration",(_,$)=>{$.pattern??($.pattern=U2),R_.init(_,$)}),OO=Y("$ZodIPv4",(_,$)=>{$.pattern??($.pattern=E2),R_.init(_,$),_._zod.bag.format="ipv4"}),AO=Y("$ZodIPv6",(_,$)=>{$.pattern??($.pattern=O2),R_.init(_,$),_._zod.bag.format="ipv6",_._zod.check=(g)=>{try{new URL(`http://[${g.value}]`)}catch{g.issues.push({code:"invalid_format",format:"ipv6",input:g.value,inst:_,continue:!$.abort})}}}),LO=Y("$ZodMAC",(_,$)=>{$.pattern??($.pattern=A2($.delimiter)),R_.init(_,$),_._zod.bag.format="mac"}),JO=Y("$ZodCIDRv4",(_,$)=>{$.pattern??($.pattern=L2),R_.init(_,$)}),PO=Y("$ZodCIDRv6",(_,$)=>{$.pattern??($.pattern=J2),R_.init(_,$),_._zod.check=(g)=>{let U=g.value.split("/");try{if(U.length!==2)throw Error();let[D,I]=U;if(!I)throw Error();let j=Number(I);if(`${j}`!==I)throw Error();if(j<0||j>128)throw Error();new URL(`http://[${D}]`)}catch{g.issues.push({code:"invalid_format",format:"cidrv6",input:g.value,inst:_,continue:!$.abort})}}});SO=Y("$ZodBase64",(_,$)=>{$.pattern??($.pattern=P2),R_.init(_,$),_._zod.bag.contentEncoding="base64",_._zod.check=(g)=>{if(zO(g.value))return;g.issues.push({code:"invalid_format",format:"base64",input:g.value,inst:_,continue:!$.abort})}});WO=Y("$ZodBase64URL",(_,$)=>{$.pattern??($.pattern=CI),R_.init(_,$),_._zod.bag.contentEncoding="base64url",_._zod.check=(g)=>{if(lX(g.value))return;g.issues.push({code:"invalid_format",format:"base64url",input:g.value,inst:_,continue:!$.abort})}}),XO=Y("$ZodE164",(_,$)=>{$.pattern??($.pattern=S2),R_.init(_,$)});RO=Y("$ZodJWT",(_,$)=>{R_.init(_,$),_._zod.check=(g)=>{if(tX(g.value,$.alg))return;g.issues.push({code:"invalid_format",format:"jwt",input:g.value,inst:_,continue:!$.abort})}}),GO=Y("$ZodCustomStringFormat",(_,$)=>{R_.init(_,$),_._zod.check=(g)=>{if($.fn(g.value))return;g.issues.push({code:"invalid_format",format:$.format,input:g.value,inst:_,continue:!$.abort})}}),nI=Y("$ZodNumber",(_,$)=>{l.init(_,$),_._zod.pattern=_._zod.bag.pattern??$D,_._zod.parse=(g,U)=>{if($.coerce)try{g.value=Number(g.value)}catch(j){}let D=g.value;if(typeof D==="number"&&!Number.isNaN(D)&&Number.isFinite(D))return g;let I=typeof D==="number"?Number.isNaN(D)?"NaN":!Number.isFinite(D)?"Infinity":void 0:void 0;return g.issues.push({expected:"number",code:"invalid_type",input:D,inst:_,...I?{received:I}:{}}),g}}),YO=Y("$ZodNumberFormat",(_,$)=>{M2.init(_,$),nI.init(_,$)}),UD=Y("$ZodBoolean",(_,$)=>{l.init(_,$),_._zod.pattern=T2,_._zod.parse=(g,U)=>{if($.coerce)try{g.value=Boolean(g.value)}catch(I){}let D=g.value;if(typeof D==="boolean")return g;return g.issues.push({expected:"boolean",code:"invalid_type",input:D,inst:_}),g}}),dI=Y("$ZodBigInt",(_,$)=>{l.init(_,$),_._zod.pattern=Y2,_._zod.parse=(g,U)=>{if($.coerce)try{g.value=BigInt(g.value)}catch(D){}if(typeof g.value==="bigint")return g;return g.issues.push({expected:"bigint",code:"invalid_type",input:g.value,inst:_}),g}}),QO=Y("$ZodBigIntFormat",(_,$)=>{Z2.init(_,$),dI.init(_,$)}),TO=Y("$ZodSymbol",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(typeof D==="symbol")return g;return g.issues.push({expected:"symbol",code:"invalid_type",input:D,inst:_}),g}}),qO=Y("$ZodUndefined",(_,$)=>{l.init(_,$),_._zod.pattern=B2,_._zod.values=new Set([void 0]),_._zod.parse=(g,U)=>{let D=g.value;if(typeof D>"u")return g;return g.issues.push({expected:"undefined",code:"invalid_type",input:D,inst:_}),g}}),BO=Y("$ZodNull",(_,$)=>{l.init(_,$),_._zod.pattern=q2,_._zod.values=new Set([null]),_._zod.parse=(g,U)=>{let D=g.value;if(D===null)return g;return g.issues.push({expected:"null",code:"invalid_type",input:D,inst:_}),g}}),KO=Y("$ZodAny",(_,$)=>{l.init(_,$),_._zod.parse=(g)=>g}),VO=Y("$ZodUnknown",(_,$)=>{l.init(_,$),_._zod.parse=(g)=>g}),FO=Y("$ZodNever",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{return g.issues.push({expected:"never",code:"invalid_type",input:g.value,inst:_}),g}}),MO=Y("$ZodVoid",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(typeof D>"u")return g;return g.issues.push({expected:"void",code:"invalid_type",input:D,inst:_}),g}}),ZO=Y("$ZodDate",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{if($.coerce)try{g.value=new Date(g.value)}catch(N){}let D=g.value,I=D instanceof Date;if(I&&!Number.isNaN(D.getTime()))return g;return g.issues.push({expected:"date",code:"invalid_type",input:D,...I?{received:"Invalid Date"}:{},inst:_}),g}});bO=Y("$ZodArray",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!Array.isArray(D))return g.issues.push({expected:"array",code:"invalid_type",input:D,inst:_}),g;g.value=Array(D.length);let I=[];for(let j=0;jCX(A,g,j)));else CX(O,g,j)}if(I.length)return Promise.all(I).then(()=>g);return g}});eX=Y("$ZodObject",(_,$)=>{if(l.init(_,$),!Object.getOwnPropertyDescriptor($,"shape")?.get){let N=$.shape;Object.defineProperty($,"shape",{get:()=>{let O={...N};return Object.defineProperty($,"shape",{value:O}),O}})}let U=V0(()=>oX($));$_(_._zod,"propValues",()=>{let N=$.shape,O={};for(let A in N){let L=N[A]._zod;if(L.values){O[A]??(O[A]=new Set);for(let z of L.values)O[A].add(z)}}return O});let D=P4,I=$.catchall,j;_._zod.parse=(N,O)=>{j??(j=U.value);let A=N.value;if(!D(A))return N.issues.push({expected:"object",code:"invalid_type",input:A,inst:_}),N;N.value={};let L=[],z=j.shape;for(let W of j.keys){let J=z[W],P=J._zod.optin==="optional",S=J._zod.optout==="optional",X=J._zod.run({value:A[W],issues:[]},O);if(X instanceof Promise)L.push(X.then((G)=>cI(G,N,W,A,P,S)));else cI(X,N,W,A,P,S)}if(!I)return L.length?Promise.all(L).then(()=>N):N;return pX(L,A,N,O,U.value,_)}}),HO=Y("$ZodObjectJIT",(_,$)=>{eX.init(_,$);let g=_._zod.parse,U=V0(()=>oX($)),D=(W)=>{let J=new uI(["shape","payload","ctx"]),P=U.value,S=(K)=>{let Q=GI(K);return`shape[${Q}]._zod.run({ value: input[${Q}], issues: [] }, ctx)`};J.write("const input = payload.value;");let X=Object.create(null),G=0;for(let K of P.keys)X[K]=`key_${G++}`;J.write("const newResult = {};");for(let K of P.keys){let Q=X[K],T=GI(K),q=W[K],V=q?._zod?.optin==="optional",Z=q?._zod?.optout==="optional";if(J.write(`const ${Q} = ${S(K)};`),V&&Z)J.write(` if (${Q}.issues.length) { if (${T} in input) { payload.issues = payload.issues.concat(${Q}.issues.map(iss => ({ @@ -62,44 +62,44 @@ var l8=Object.create;var{getPrototypeOf:t8,defineProperty:qN,getOwnPropertyNames newResult[${T}] = ${Q}.value; } - `)}J.write("payload.value = newResult;"),J.write("return payload;");let R=J.compile();return(K,Q)=>R(W,K,Q)},I,j=P4,N=!A4.jitless,A=N&&hE.value,L=$.catchall,z;_._zod.parse=(W,J)=>{z??(z=U.value);let P=W.value;if(!j(P))return W.issues.push({expected:"object",code:"invalid_type",input:P,inst:_}),W;if(N&&A&&J?.async===!1&&J.jitless!==!0){if(!I)I=D($.shape);if(W=I(W,J),!L)return W;return oX([],P,W,J,z,_)}return g(W,J)}});ID=Y("$ZodUnion",(_,$)=>{l.init(_,$),$_(_._zod,"optin",()=>$.options.some((U)=>U._zod.optin==="optional")?"optional":void 0),$_(_._zod,"optout",()=>$.options.some((U)=>U._zod.optout==="optional")?"optional":void 0),$_(_._zod,"values",()=>{if($.options.every((U)=>U._zod.values))return new Set($.options.flatMap((U)=>Array.from(U._zod.values)));return}),$_(_._zod,"pattern",()=>{if($.options.every((U)=>U._zod.pattern)){let U=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${U.map((D)=>pg(D.source)).join("|")})$`)}return});let g=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(U,D)=>{if(g)return g(U,D);let I=!1,j=[];for(let N of $.options){let O=N._zod.run({value:U.value,issues:[]},D);if(O instanceof Promise)j.push(O),I=!0;else{if(O.issues.length===0)return O;j.push(O)}}if(!I)return CX(j,U,_,D);return Promise.all(j).then((N)=>{return CX(N,U,_,D)})}});kO=Y("$ZodXor",(_,$)=>{ID.init(_,$),$.inclusive=!1;let g=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(U,D)=>{if(g)return g(U,D);let I=!1,j=[];for(let N of $.options){let O=N._zod.run({value:U.value,issues:[]},D);if(O instanceof Promise)j.push(O),I=!0;else j.push(O)}if(!I)return rX(j,U,_,D);return Promise.all(j).then((N)=>{return rX(N,U,_,D)})}}),CO=Y("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,ID.init(_,$);let g=_._zod.parse;$_(_._zod,"propValues",()=>{let D={};for(let I of $.options){let j=I._zod.propValues;if(!j||Object.keys(j).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(I)}"`);for(let[N,O]of Object.entries(j)){if(!D[N])D[N]=new Set;for(let A of O)D[N].add(A)}}return D});let U=V0(()=>{let D=$.options,I=new Map;for(let j of D){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(I.has(O))throw Error(`Duplicate discriminator value "${String(O)}"`);I.set(O,j)}}return I});_._zod.parse=(D,I)=>{let j=D.value;if(!P4(j))return D.issues.push({code:"invalid_type",expected:"object",input:j,inst:_}),D;let N=U.value.get(j?.[$.discriminator]);if(N)return N._zod.run(D,I);if($.unionFallback||I.direction==="backward")return g(D,I);return D.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(U.value.keys()),input:j,path:[$.discriminator],inst:_}),D}}),rO=Y("$ZodIntersection",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value,I=$.left._zod.run({value:D,issues:[]},U),j=$.right._zod.run({value:D,issues:[]},U);if(I instanceof Promise||j instanceof Promise)return Promise.all([I,j]).then(([O,A])=>{return vX(g,O,A)});return vX(g,I,j)}});mI=Y("$ZodTuple",(_,$)=>{l.init(_,$);let g=$.items;_._zod.parse=(U,D)=>{let I=U.value;if(!Array.isArray(I))return U.issues.push({input:I,inst:_,expected:"tuple",code:"invalid_type"}),U;U.value=[];let j=[],N=fX(g,"optin"),O=fX(g,"optout");if(!$.rest){if(I.lengthg.length)U.issues.push({code:"too_big",maximum:g.length,inclusive:!0,input:I,inst:_,origin:"array"})}let A=Array(g.length);for(let L=0;L{A[L]=W}));else A[L]=z}if($.rest){let L=g.length-1,z=I.slice(g.length);for(let W of z){L++;let J=$.rest._zod.run({value:W,issues:[]},D);if(J instanceof Promise)j.push(J.then((P)=>wX(P,U,L)));else wX(J,U,L)}}if(j.length)return Promise.all(j).then(()=>uX(A,U,g,I,O));return uX(A,U,g,I,O)}});vO=Y("$ZodRecord",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!b6(D))return g.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),g;let I=[],j=$.keyType._zod.values;if(j){g.value={};let N=new Set;for(let A of j)if(typeof A==="string"||typeof A==="number"||typeof A==="symbol"){N.add(typeof A==="number"?A.toString():A);let L=$.keyType._zod.run({value:A,issues:[]},U);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length){g.issues.push({code:"invalid_key",origin:"record",issues:L.issues.map((J)=>l_(J,U,Z_())),input:A,path:[A],inst:_});continue}let z=L.value,W=$.valueType._zod.run({value:D[A],issues:[]},U);if(W instanceof Promise)I.push(W.then((J)=>{if(J.issues.length)g.issues.push(...s_(A,J.issues));g.value[z]=J.value}));else{if(W.issues.length)g.issues.push(...s_(A,W.issues));g.value[z]=W.value}}let O;for(let A in D)if(!N.has(A))O=O??[],O.push(A);if(O&&O.length>0)g.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:O})}else{g.value={};for(let N of Reflect.ownKeys(D)){if(N==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,N))continue;let O=$.keyType._zod.run({value:N,issues:[]},U);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof N==="string"&&$D.test(N)&&O.issues.length){let z=$.keyType._zod.run({value:Number(N),issues:[]},U);if(z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(z.issues.length===0)O=z}if(O.issues.length){if($.mode==="loose")g.value[N]=D[N];else g.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((z)=>l_(z,U,Z_())),input:N,path:[N],inst:_});continue}let L=$.valueType._zod.run({value:D[N],issues:[]},U);if(L instanceof Promise)I.push(L.then((z)=>{if(z.issues.length)g.issues.push(...s_(N,z.issues));g.value[O.value]=z.value}));else{if(L.issues.length)g.issues.push(...s_(N,L.issues));g.value[O.value]=L.value}}}if(I.length)return Promise.all(I).then(()=>g);return g}}),fO=Y("$ZodMap",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!(D instanceof Map))return g.issues.push({expected:"map",code:"invalid_type",input:D,inst:_}),g;let I=[];g.value=new Map;for(let[j,N]of D){let O=$.keyType._zod.run({value:j,issues:[]},U),A=$.valueType._zod.run({value:N,issues:[]},U);if(O instanceof Promise||A instanceof Promise)I.push(Promise.all([O,A]).then(([L,z])=>{xX(L,z,g,j,D,_,U)}));else xX(O,A,g,j,D,_,U)}if(I.length)return Promise.all(I).then(()=>g);return g}});wO=Y("$ZodSet",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!(D instanceof Set))return g.issues.push({input:D,inst:_,expected:"set",code:"invalid_type"}),g;let I=[];g.value=new Set;for(let j of D){let N=$.valueType._zod.run({value:j,issues:[]},U);if(N instanceof Promise)I.push(N.then((O)=>yX(O,g)));else yX(N,g)}if(I.length)return Promise.all(I).then(()=>g);return g}});uO=Y("$ZodEnum",(_,$)=>{l.init(_,$);let g=og($.entries),U=new Set(g);_._zod.values=U,_._zod.pattern=new RegExp(`^(${g.filter((D)=>eg.has(typeof D)).map((D)=>typeof D==="string"?P$(D):D.toString()).join("|")})$`),_._zod.parse=(D,I)=>{let j=D.value;if(U.has(j))return D;return D.issues.push({code:"invalid_value",values:g,input:j,inst:_}),D}}),xO=Y("$ZodLiteral",(_,$)=>{if(l.init(_,$),$.values.length===0)throw Error("Cannot create literal schema with no valid values");let g=new Set($.values);_._zod.values=g,_._zod.pattern=new RegExp(`^(${$.values.map((U)=>typeof U==="string"?P$(U):U?P$(U.toString()):String(U)).join("|")})$`),_._zod.parse=(U,D)=>{let I=U.value;if(g.has(I))return U;return U.issues.push({code:"invalid_value",values:$.values,input:I,inst:_}),U}}),yO=Y("$ZodFile",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(D instanceof File)return g;return g.issues.push({expected:"file",code:"invalid_type",input:D,inst:_}),g}}),hO=Y("$ZodTransform",(_,$)=>{l.init(_,$),_._zod.optin="optional",_._zod.parse=(g,U)=>{if(U.direction==="backward")throw new L4(_.constructor.name);let D=$.transform(g.value,g);if(U.async)return(D instanceof Promise?D:Promise.resolve(D)).then((j)=>{return g.value=j,g.fallback=!0,g});if(D instanceof Promise)throw new x$;return g.value=D,g.fallback=!0,g}});iI=Y("$ZodOptional",(_,$)=>{l.init(_,$),_._zod.optin="optional",_._zod.optout="optional",$_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),$_(_._zod,"pattern",()=>{let g=$.innerType._zod.pattern;return g?new RegExp(`^(${pg(g.source)})?$`):void 0}),_._zod.parse=(g,U)=>{if($.innerType._zod.optin==="optional"){let D=g.value,I=$.innerType._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>hX(j,D));return hX(I,D)}if(g.value===void 0)return g;return $.innerType._zod.run(g,U)}}),cO=Y("$ZodExactOptional",(_,$)=>{iI.init(_,$),$_(_._zod,"values",()=>$.innerType._zod.values),$_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(g,U)=>{return $.innerType._zod.run(g,U)}}),nO=Y("$ZodNullable",(_,$)=>{l.init(_,$),$_(_._zod,"optin",()=>$.innerType._zod.optin),$_(_._zod,"optout",()=>$.innerType._zod.optout),$_(_._zod,"pattern",()=>{let g=$.innerType._zod.pattern;return g?new RegExp(`^(${pg(g.source)}|null)$`):void 0}),$_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,null]):void 0}),_._zod.parse=(g,U)=>{if(g.value===null)return g;return $.innerType._zod.run(g,U)}}),dO=Y("$ZodDefault",(_,$)=>{l.init(_,$),_._zod.optin="optional",$_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);if(g.value===void 0)return g.value=$.defaultValue,g;let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>cX(I,$));return cX(D,$)}});mO=Y("$ZodPrefault",(_,$)=>{l.init(_,$),_._zod.optin="optional",$_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);if(g.value===void 0)g.value=$.defaultValue;return $.innerType._zod.run(g,U)}}),iO=Y("$ZodNonOptional",(_,$)=>{l.init(_,$),$_(_._zod,"values",()=>{let g=$.innerType._zod.values;return g?new Set([...g].filter((U)=>U!==void 0)):void 0}),_._zod.parse=(g,U)=>{let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>nX(I,_));return nX(D,_)}});lO=Y("$ZodSuccess",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{if(U.direction==="backward")throw new L4("ZodSuccess");let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>{return g.value=I.issues.length===0,g});return g.value=D.issues.length===0,g}}),tO=Y("$ZodCatch",(_,$)=>{l.init(_,$),_._zod.optin="optional",$_(_._zod,"optout",()=>$.innerType._zod.optout),$_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>{if(g.value=I.value,I.issues.length)g.value=$.catchValue({...g,error:{issues:I.issues.map((j)=>l_(j,U,Z_()))},input:g.value}),g.issues=[],g.fallback=!0;return g});if(g.value=D.value,D.issues.length)g.value=$.catchValue({...g,error:{issues:D.issues.map((I)=>l_(I,U,Z_()))},input:g.value}),g.issues=[],g.fallback=!0;return g}}),oO=Y("$ZodNaN",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{if(typeof g.value!=="number"||!Number.isNaN(g.value))return g.issues.push({input:g.value,inst:_,expected:"nan",code:"invalid_type"}),g;return g}}),lI=Y("$ZodPipe",(_,$)=>{l.init(_,$),$_(_._zod,"values",()=>$.in._zod.values),$_(_._zod,"optin",()=>$.in._zod.optin),$_(_._zod,"optout",()=>$.out._zod.optout),$_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(g,U)=>{if(U.direction==="backward"){let I=$.out._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>xI(j,$.in,U));return xI(I,$.in,U)}let D=$.in._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>xI(I,$.out,U));return xI(D,$.out,U)}});jD=Y("$ZodCodec",(_,$)=>{l.init(_,$),$_(_._zod,"values",()=>$.in._zod.values),$_(_._zod,"optin",()=>$.in._zod.optin),$_(_._zod,"optout",()=>$.out._zod.optout),$_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(g,U)=>{if((U.direction||"forward")==="forward"){let I=$.in._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>yI(j,$,U));return yI(I,$,U)}else{let I=$.out._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>yI(j,$,U));return yI(I,$,U)}}});pO=Y("$ZodPreprocess",(_,$)=>{lI.init(_,$)}),eO=Y("$ZodReadonly",(_,$)=>{l.init(_,$),$_(_._zod,"propValues",()=>$.innerType._zod.propValues),$_(_._zod,"values",()=>$.innerType._zod.values),$_(_._zod,"optin",()=>$.innerType?._zod?.optin),$_(_._zod,"optout",()=>$.innerType?._zod?.optout),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then(dX);return dX(D)}});aO=Y("$ZodTemplateLiteral",(_,$)=>{l.init(_,$);let g=[];for(let U of $.parts)if(typeof U==="object"&&U!==null){if(!U._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...U._zod.traits].shift()}`);let D=U._zod.pattern instanceof RegExp?U._zod.pattern.source:U._zod.pattern;if(!D)throw Error(`Invalid template literal part: ${U._zod.traits}`);let I=D.startsWith("^")?1:0,j=D.endsWith("$")?D.length-1:D.length;g.push(D.slice(I,j))}else if(U===null||nE.has(typeof U))g.push(P$(`${U}`));else throw Error(`Invalid template literal part: ${U}`);_._zod.pattern=new RegExp(`^${g.join("")}$`),_._zod.parse=(U,D)=>{if(typeof U.value!=="string")return U.issues.push({input:U.value,inst:_,expected:"string",code:"invalid_type"}),U;if(_._zod.pattern.lastIndex=0,!_._zod.pattern.test(U.value))return U.issues.push({input:U.value,inst:_,code:"invalid_format",format:$.format??"template_literal",pattern:_._zod.pattern.source}),U;return U}}),sO=Y("$ZodFunction",(_,$)=>{return l.init(_,$),_._def=$,_._zod.def=$,_.implement=(g)=>{if(typeof g!=="function")throw Error("implement() must be called with a function");return function(...U){let D=_._def.input?qI(_._def.input,U):U,I=Reflect.apply(g,this,D);if(_._def.output)return qI(_._def.output,I);return I}},_.implementAsync=(g)=>{if(typeof g!=="function")throw Error("implementAsync() must be called with a function");return async function(...U){let D=_._def.input?await BI(_._def.input,U):U,I=await Reflect.apply(g,this,D);if(_._def.output)return await BI(_._def.output,I);return I}},_._zod.parse=(g,U)=>{if(typeof g.value!=="function")return g.issues.push({code:"invalid_type",expected:"function",input:g.value,inst:_}),g;if(_._def.output&&_._def.output._zod.def.type==="promise")g.value=_.implementAsync(g.value);else g.value=_.implement(g.value);return g},_.input=(...g)=>{let U=_.constructor;if(Array.isArray(g[0]))return new U({type:"function",input:new mI({type:"tuple",items:g[0],rest:g[1]}),output:_._def.output});return new U({type:"function",input:g[0],output:_._def.output})},_.output=(g)=>{return new _.constructor({type:"function",input:_._def.input,output:g})},_}),_A=Y("$ZodPromise",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{return Promise.resolve(g.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},U))}}),$A=Y("$ZodLazy",(_,$)=>{l.init(_,$),$_(_._zod,"innerType",()=>{let g=$;if(!g._cachedInner)g._cachedInner=$.getter();return g._cachedInner}),$_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),$_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),$_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),$_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(g,U)=>{return _._zod.innerType._zod.run(g,U)}}),gA=Y("$ZodCustom",(_,$)=>{Y_.init(_,$),l.init(_,$),_._zod.parse=(g,U)=>{return g},_._zod.check=(g)=>{let U=g.value,D=$.fn(U);if(D instanceof Promise)return D.then((I)=>mX(I,g,U,_));mX(D,g,U,_);return}})});function UA(){return{localeError:aK()}}var aK=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${N}`}case"invalid_value":if(D.values.length===1)return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${F(D.values[0])}`;return`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${I} ${D.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 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I} ${D.minimum.toString()} ${j.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 ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`${g[I.format]??D.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${D.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${D.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${D.keys.length>1?"\u0629":""}: ${B(D.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var eX=f(()=>{c()});function IA(){return{localeError:sK()}}var sK=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${N}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${I}, daxil olan ${N}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${F(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${I}${D.maximum.toString()} ${j.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${I}${D.minimum.toString()} ${j.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${I.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(I.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${I.suffix}" il\u0259 bitm\u0259lidir`;if(I.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${I.includes}" daxil olmal\u0131d\u0131r`;if(I.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${I.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${g[I.format]??D.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${D.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${D.keys.length>1?"lar":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${D.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var aX=f(()=>{c()});function sX(_,$,g,U){let D=Math.abs(_),I=D%10,j=D%100;if(j>=11&&j<=19)return U;if(I===1)return $;if(I>=2&&I<=4)return g;return U}function jA(){return{localeError:_V()}}var _V=()=>{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 g={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"},U={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${I}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${F(D.values[0])}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j){let N=Number(D.maximum),O=sX(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 ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${j.verb} ${I}${D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j){let N=Number(D.minimum),O=sX(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 ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${j.verb} ${I}${D.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 ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${D.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${D.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var _5=f(()=>{c()});function NA(){return{localeError:$V()}}var $V=()=>{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 g={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"},U={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${I}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${F(D.values[0])}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)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 ${I}${D.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 ${D.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I}${D.minimum.toString()} ${j.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 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;let j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(I.format==="emoji")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(I.format==="datetime")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(I.format==="date")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(I.format==="time")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(I.format==="duration")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${j} ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${D.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u043E\u0432\u0435":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var $5=f(()=>{c()});function EA(){return{localeError:gV()}}var gV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${N}`;return`Tipus inv\xE0lid: s'esperava ${I}, s'ha rebut ${N}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${F(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${B(D.values," o ")}`;case"too_big":{let I=D.inclusive?"com a m\xE0xim":"menys de",j=$(D.origin);if(j)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${I} ${D.maximum.toString()} ${j.unit??"elements"}`;return`Massa gran: s'esperava que ${D.origin??"el valor"} fos ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?"com a m\xEDnim":"m\xE9s de",j=$(D.origin);if(j)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${I} ${D.minimum.toString()} ${j.unit}`;return`Massa petit: s'esperava que ${D.origin} fos ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${I.prefix}"`;if(I.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${I.suffix}"`;if(I.format==="includes")return`Format inv\xE0lid: ha d'incloure "${I.includes}"`;if(I.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${I.pattern}`;return`Format inv\xE0lid per a ${g[I.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${D.divisor}`;case"unrecognized_keys":return`Clau${D.keys.length>1?"s":""} no reconeguda${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${D.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${D.origin}`;default:return"Entrada inv\xE0lida"}}};var g5=f(()=>{c()});function OA(){return{localeError:DV()}}var DV=()=>{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 g={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"},U={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${N}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${I}, obdr\u017Eeno ${N}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${F(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${I}${D.maximum.toString()} ${j.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${I}${D.minimum.toString()} ${j.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${I.prefix}"`;if(I.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${I.suffix}"`;if(I.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${I.includes}"`;if(I.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${I.pattern}`;return`Neplatn\xFD form\xE1t ${g[I.format]??D.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${D.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${B(D.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${D.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${D.origin}`;default:return"Neplatn\xFD vstup"}}};var D5=f(()=>{c()});function AA(){return{localeError:UV()}}var UV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${N}`;return`Ugyldigt input: forventede ${I}, fik ${N}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${F(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`For stor: forventede ${N??"value"} ${j.verb} ${I} ${D.maximum.toString()} ${j.unit??"elementer"}`;return`For stor: forventede ${N??"value"} havde ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`For lille: forventede ${N} ${j.verb} ${I} ${D.minimum.toString()} ${j.unit}`;return`For lille: forventede ${N} havde ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ugyldig streng: skal starte med "${I.prefix}"`;if(I.format==="ends_with")return`Ugyldig streng: skal ende med "${I.suffix}"`;if(I.format==="includes")return`Ugyldig streng: skal indeholde "${I.includes}"`;if(I.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${I.pattern}`;return`Ugyldig ${g[I.format]??D.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${D.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${D.origin}`;default:return"Ugyldigt input"}}};var U5=f(()=>{c()});function LA(){return{localeError:IV()}}var IV=()=>{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 g={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"},U={nan:"NaN",number:"Zahl",array:"Array"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${N}`;return`Ung\xFCltige Eingabe: erwartet ${I}, erhalten ${N}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${F(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${I}${D.maximum.toString()} ${j.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${I}${D.maximum.toString()} ist`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Zu klein: erwartet, dass ${D.origin} ${I}${D.minimum.toString()} ${j.unit} hat`;return`Zu klein: erwartet, dass ${D.origin} ${I}${D.minimum.toString()} ist`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ung\xFCltiger String: muss mit "${I.prefix}" beginnen`;if(I.format==="ends_with")return`Ung\xFCltiger String: muss mit "${I.suffix}" enden`;if(I.format==="includes")return`Ung\xFCltiger String: muss "${I.includes}" enthalten`;if(I.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${I.pattern} entsprechen`;return`Ung\xFCltig: ${g[I.format]??D.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${D.divisor} sein`;case"unrecognized_keys":return`${D.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${D.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${D.origin}`;default:return"Ung\xFCltige Eingabe"}}};var I5=f(()=>{c()});function JA(){return{localeError:jV()}}var jV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${N}`}case"invalid_value":if(D.values.length===1)return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${F(D.values[0])}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)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 ${I}${D.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 ${D.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I}${D.minimum.toString()} ${j.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 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${g[I.format]??D.format}`}case"not_multiple_of":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${D.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${D.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${D.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${D.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${D.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var j5=f(()=>{c()});function ND(){return{localeError:NV()}}var NV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;return`Invalid input: expected ${I}, received ${N}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${F(D.values[0])}`;return`Invalid option: expected one of ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Too big: expected ${D.origin??"value"} to have ${I}${D.maximum.toString()} ${j.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Too small: expected ${D.origin} to have ${I}${D.minimum.toString()} ${j.unit}`;return`Too small: expected ${D.origin} to be ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Invalid string: must start with "${I.prefix}"`;if(I.format==="ends_with")return`Invalid string: must end with "${I.suffix}"`;if(I.format==="includes")return`Invalid string: must include "${I.includes}"`;if(I.format==="regex")return`Invalid string: must match pattern ${I.pattern}`;return`Invalid ${g[I.format]??D.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${D.divisor}`;case"unrecognized_keys":return`Unrecognized key${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Invalid key in ${D.origin}`;case"invalid_union":if(D.options&&Array.isArray(D.options)&&D.options.length>0)return`Invalid discriminator value. Expected ${D.options.map((j)=>`'${j}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var PA=f(()=>{c()});function zA(){return{localeError:EV()}}var EV=()=>{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 g={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"},U={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${N}`;return`Nevalida enigo: atendi\u011Dis ${I}, ricevi\u011Dis ${N}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${F(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${I}${D.maximum.toString()} ${j.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${I}${D.minimum.toString()} ${j.unit}`;return`Tro malgranda: atendi\u011Dis ke ${D.origin} estu ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${I.prefix}"`;if(I.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${I.suffix}"`;if(I.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${I.includes}"`;if(I.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${I.pattern}`;return`Nevalida ${g[I.format]??D.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${D.divisor}`;case"unrecognized_keys":return`Nekonata${D.keys.length>1?"j":""} \u015Dlosilo${D.keys.length>1?"j":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${D.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${D.origin}`;default:return"Nevalida enigo"}}};var N5=f(()=>{c()});function SA(){return{localeError:OV()}}var OV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${N}`;return`Entrada inv\xE1lida: se esperaba ${I}, recibido ${N}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${F(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Demasiado grande: se esperaba que ${N??"valor"} tuviera ${I}${D.maximum.toString()} ${j.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${N??"valor"} fuera ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Demasiado peque\xF1o: se esperaba que ${N} tuviera ${I}${D.minimum.toString()} ${j.unit}`;return`Demasiado peque\xF1o: se esperaba que ${N} fuera ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${I.prefix}"`;if(I.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${I.suffix}"`;if(I.format==="includes")return`Cadena inv\xE1lida: debe incluir "${I.includes}"`;if(I.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${I.pattern}`;return`Inv\xE1lido ${g[I.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Llave${D.keys.length>1?"s":""} desconocida${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${U[D.origin]??D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${U[D.origin]??D.origin}`;default:return"Entrada inv\xE1lida"}}};var E5=f(()=>{c()});function WA(){return{localeError:AV()}}var AV=()=>{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 g={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"},U={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${N} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(D.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${F(D.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;return`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${B(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${I}${D.maximum.toString()} ${j.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 ${I}${D.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} ${j.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${I.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(I.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${I.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(I.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${I.includes}" \u0628\u0627\u0634\u062F`;if(I.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 ${I.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${g[I.format]??D.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${D.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${D.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${B(D.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${D.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${D.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var O5=f(()=>{c()});function XA(){return{localeError:LV()}}var LV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${N}`;return`Virheellinen tyyppi: odotettiin ${I}, oli ${N}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${F(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Liian suuri: ${j.subject} t\xE4ytyy olla ${I}${D.maximum.toString()} ${j.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Liian pieni: ${j.subject} t\xE4ytyy olla ${I}${D.minimum.toString()} ${j.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${I.prefix}"`;if(I.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${I.suffix}"`;if(I.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${I.includes}"`;if(I.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${I.pattern}`;return`Virheellinen ${g[I.format]??D.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${D.divisor} monikerta`;case"unrecognized_keys":return`${D.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${B(D.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var A5=f(()=>{c()});function RA(){return{localeError:JV()}}var JV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${N} re\xE7u`;return`Entr\xE9e invalide : ${I} attendu, ${N} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${F(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${B(D.values,"|")} attendue`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Trop grand : ${U[D.origin]??"valeur"} doit ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${U[D.origin]??"valeur"} doit \xEAtre ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Trop petit : ${U[D.origin]??"valeur"} doit ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Trop petit : ${U[D.origin]??"valeur"} doit \xEAtre ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${I.prefix}"`;if(I.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${I.suffix}"`;if(I.format==="includes")return`Cha\xEEne invalide : doit inclure "${I.includes}"`;if(I.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${I.pattern}`;return`${g[I.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${B(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var L5=f(()=>{c()});function GA(){return{localeError:PV()}}var PV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${N}`;return`Entr\xE9e invalide : attendu ${I}, re\xE7u ${N}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${F(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"\u2264":"<",j=$(D.origin);if(j)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${I}${D.maximum.toString()} ${j.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?"\u2265":">",j=$(D.origin);if(j)return`Trop petit : attendu que ${D.origin} ait ${I}${D.minimum.toString()} ${j.unit}`;return`Trop petit : attendu que ${D.origin} soit ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${I.prefix}"`;if(I.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${I.suffix}"`;if(I.format==="includes")return`Cha\xEEne invalide : doit inclure "${I.includes}"`;if(I.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${I.pattern}`;return`${g[I.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${B(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var J5=f(()=>{c()});function YA(){return{localeError:zV()}}var zV=()=>{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"}},g=(A)=>A?_[A]:void 0,U=(A)=>{let L=g(A);if(L)return L.label;return A??_.unknown.label},D=(A)=>`\u05D4${U(A)}`,I=(A)=>{return(g(A)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},j=(A)=>{if(!A)return null;return $[A]??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(A)=>{switch(A.code){case"invalid_type":{let L=A.expected,z=O[L??""]??U(L),W=M(A.input),J=O[W]??_[W]?.label??W;if(/^[A-Z]/.test(A.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${A.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${J}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${z}, \u05D4\u05EA\u05E7\u05D1\u05DC ${J}`}case"invalid_value":{if(A.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${F(A.values[0])}`;let L=A.values.map((J)=>F(J));if(A.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 z=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 ${z}`}case"too_big":{let L=j(A.origin),z=D(A.origin??"value");if(A.origin==="string")return`${L?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${A.maximum.toString()} ${L?.unit??""} ${A.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(A.origin==="number"){let P=A.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${A.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${A.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${P}`}if(A.origin==="array"||A.origin==="set"){let P=A.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",S=A.inclusive?`${A.maximum} ${L?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${A.maximum} ${L?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${z} ${P} \u05DC\u05D4\u05DB\u05D9\u05DC ${S}`.trim()}let W=A.inclusive?"<=":"<",J=I(A.origin??"value");if(L?.unit)return`${L.longLabel} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.maximum.toString()} ${L.unit}`;return`${L?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.maximum.toString()}`}case"too_small":{let L=j(A.origin),z=D(A.origin??"value");if(A.origin==="string")return`${L?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${A.minimum.toString()} ${L?.unit??""} ${A.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(A.origin==="number"){let P=A.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${A.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${A.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${P}`}if(A.origin==="array"||A.origin==="set"){let P=A.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(A.minimum===1&&A.inclusive){let X=A.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: ${z} ${P} \u05DC\u05D4\u05DB\u05D9\u05DC ${X}`}let S=A.inclusive?`${A.minimum} ${L?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${A.minimum} ${L?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${z} ${P} \u05DC\u05D4\u05DB\u05D9\u05DC ${S}`.trim()}let W=A.inclusive?">=":">",J=I(A.origin??"value");if(L?.unit)return`${L.shortLabel} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.minimum.toString()} ${L.unit}`;return`${L?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.minimum.toString()}`}case"invalid_format":{let L=A;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 z=N[L.format],W=z?.label??L.format,P=(z?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${W} \u05DC\u05D0 ${P}`}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 ${A.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${A.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${A.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${B(A.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(A.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var P5=f(()=>{c()});function QA(){return{localeError:SV()}}var SV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${N}`;return`Neispravan unos: o\u010Dekuje se ${I}, a primljeno je ${N}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${F(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Preveliko: o\u010Dekivano da ${N??"vrijednost"} ima ${I}${D.maximum.toString()} ${j.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${N??"vrijednost"} bude ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Premalo: o\u010Dekivano da ${N} ima ${I}${D.minimum.toString()} ${j.unit}`;return`Premalo: o\u010Dekivano da ${N} bude ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${I.prefix}"`;if(I.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${I.suffix}"`;if(I.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${I.includes}"`;if(I.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${I.pattern}`;return`Neispravna ${g[I.format]??D.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${D.divisor}`;case"unrecognized_keys":return`Neprepoznat${D.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${B(D.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${U[D.origin]??D.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${U[D.origin]??D.origin}`;default:return"Neispravan unos"}}};var z5=f(()=>{c()});function TA(){return{localeError:WV()}}var WV=()=>{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 g={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"},U={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${N}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${I}, a kapott \xE9rt\xE9k ${N}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${F(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${I}${D.maximum.toString()} ${j.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${D.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${I}${D.minimum.toString()} ${j.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} t\xFAl kicsi ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\xC9rv\xE9nytelen string: "${I.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(I.format==="ends_with")return`\xC9rv\xE9nytelen string: "${I.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(I.format==="includes")return`\xC9rv\xE9nytelen string: "${I.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(I.format==="regex")return`\xC9rv\xE9nytelen string: ${I.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${g[I.format]??D.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${D.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${D.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${D.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var S5=f(()=>{c()});function W5(_,$,g){return Math.abs(_)===1?$:g}function v0(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],g=_[_.length-1];return _+($.includes(g)?"\u0576":"\u0568")}function qA(){return{localeError:XV()}}var XV=()=>{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 g={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"},U={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${N}`}case"invalid_value":if(D.values.length===1)return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${F(D.values[1])}`;return`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j){let N=Number(D.maximum),O=W5(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 ${v0(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${I}${D.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 ${v0(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j){let N=Number(D.minimum),O=W5(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 ${v0(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${I}${D.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 ${v0(D.origin)} \u056C\u056B\u0576\u056B ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${I.prefix}"-\u0578\u057E`;if(I.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${I.suffix}"-\u0578\u057E`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${g[I.format]??D.format}`}case"not_multiple_of":return`\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${D.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${D.keys.length>1?"\u0576\u0565\u0580":""}. ${B(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${v0(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 ${v0(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var X5=f(()=>{c()});function BA(){return{localeError:RV()}}var RV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${N}`;return`Input tidak valid: diharapkan ${I}, diterima ${N}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${F(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${I}${D.maximum.toString()} ${j.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${I}${D.minimum.toString()} ${j.unit}`;return`Terlalu kecil: diharapkan ${D.origin} menjadi ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`String tidak valid: harus dimulai dengan "${I.prefix}"`;if(I.format==="ends_with")return`String tidak valid: harus berakhir dengan "${I.suffix}"`;if(I.format==="includes")return`String tidak valid: harus menyertakan "${I.includes}"`;if(I.format==="regex")return`String tidak valid: harus sesuai pola ${I.pattern}`;return`${g[I.format]??D.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${D.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${D.origin}`;default:return"Input tidak valid"}}};var R5=f(()=>{c()});function KA(){return{localeError:GV()}}var GV=()=>{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 g={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"},U={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${N} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${N} \xFEar sem \xE1 a\xF0 vera ${I}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${F(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${I}${D.maximum.toString()} ${j.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} s\xE9 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${I}${D.minimum.toString()} ${j.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} s\xE9 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${I.prefix}"`;if(I.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${I.suffix}"`;if(I.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${I.includes}"`;if(I.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${I.pattern}`;return`Rangt ${g[I.format]??D.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${D.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${D.keys.length>1?"ir lyklar":"ur lykill"}: ${B(D.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${D.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${D.origin}`;default:return"Rangt gildi"}}};var G5=f(()=>{c()});function VA(){return{localeError:YV()}}var YV=()=>{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 g={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"},U={nan:"NaN",number:"numero",array:"vettore"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${N}`;return`Input non valido: atteso ${I}, ricevuto ${N}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${F(D.values[0])}`;return`Opzione non valida: atteso uno tra ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Troppo grande: ${D.origin??"valore"} deve avere ${I}${D.maximum.toString()} ${j.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Troppo piccolo: ${D.origin} deve avere ${I}${D.minimum.toString()} ${j.unit}`;return`Troppo piccolo: ${D.origin} deve essere ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Stringa non valida: deve iniziare con "${I.prefix}"`;if(I.format==="ends_with")return`Stringa non valida: deve terminare con "${I.suffix}"`;if(I.format==="includes")return`Stringa non valida: deve includere "${I.includes}"`;if(I.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${I.pattern}`;return`Input non valido: ${g[I.format]??D.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${D.divisor}`;case"unrecognized_keys":return`Chiav${D.keys.length>1?"i":"e"} non riconosciut${D.keys.length>1?"e":"a"}: ${B(D.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${D.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${D.origin}`;default:return"Input non valido"}}};var Y5=f(()=>{c()});function FA(){return{localeError:QV()}}var QV=()=>{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 g={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"},U={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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${N}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${I}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${N}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${F(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${B(D.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let I=D.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",j=$(D.origin);if(j)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${j.unit??"\u8981\u7D20"}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let I=D.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",j=$(D.origin);if(j)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${j.unit}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${I.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(I.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${I.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(I.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${I.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(I.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${I.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${g[I.format]??D.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${D.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${D.keys.length>1?"\u7FA4":""}: ${B(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var Q5=f(()=>{c()});function MA(){return{localeError:TV()}}var TV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${N}`}case"invalid_value":if(D.values.length===1)return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${F(D.values[0])}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${B(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${j.verb} ${I}${D.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 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.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 ${D.origin} ${j.verb} ${I}${D.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 ${D.origin} \u10D8\u10E7\u10DD\u10E1 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"-\u10D8\u10D7`;if(I.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 "${I.suffix}"-\u10D8\u10D7`;if(I.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 "${I.includes}"-\u10E1`;if(I.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 ${I.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${D.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${D.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${D.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${D.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var T5=f(()=>{c()});function ED(){return{localeError:qV()}}var qV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${N}`}case"invalid_value":if(D.values.length===1)return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${F(D.values[0])}`;return`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${I} ${D.maximum.toString()} ${j.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"} ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${I} ${D.minimum.toString()} ${j.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${D.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${B(D.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var ZA=f(()=>{c()});function bA(){return ED()}var q5=f(()=>{ZA()});function HA(){return{localeError:BV()}}var BV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${I}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${N}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${F(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${B(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let I=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",j=I==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",N=$(D.origin),O=N?.unit??"\uC694\uC18C";if(N)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${O} ${I}${j}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${I}${j}`}case"too_small":{let I=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",j=I==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",N=$(D.origin),O=N?.unit??"\uC694\uC18C";if(N)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${O} ${I}${j}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${I}${j}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${I.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(I.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${I.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(I.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${I.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(I.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${I.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${g[I.format]??D.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${D.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${B(D.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${D.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${D.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var B5=f(()=>{c()});function K5(_){let $=Math.abs(_),g=$%10,U=$%100;if(U>=11&&U<=19||g===0)return"many";if(g===1)return"one";return"few"}function kA(){return{localeError:KV()}}var OD=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},KV=()=>{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,I,j,N){let O=_[D]??null;if(O===null)return O;return{unit:O.unit[I],verb:O.verb[N][j?"inclusive":"notInclusive"]}}let g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${N}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${N}, o tik\u0117tasi - ${I}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${F(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${B(D.values,"|")} pasirinkim\u0173`;case"too_big":{let I=U[D.origin]??D.origin,j=$(D.origin,K5(Number(D.maximum)),D.inclusive??!1,"smaller");if(j?.verb)return`${OD(I??D.origin??"reik\u0161m\u0117")} ${j.verb} ${D.maximum.toString()} ${j.unit??"element\u0173"}`;let N=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${OD(I??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${N} ${D.maximum.toString()} ${j?.unit}`}case"too_small":{let I=U[D.origin]??D.origin,j=$(D.origin,K5(Number(D.minimum)),D.inclusive??!1,"bigger");if(j?.verb)return`${OD(I??D.origin??"reik\u0161m\u0117")} ${j.verb} ${D.minimum.toString()} ${j.unit??"element\u0173"}`;let N=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${OD(I??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${N} ${D.minimum.toString()} ${j?.unit}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${I.prefix}"`;if(I.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${I.suffix}"`;if(I.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${I.includes}"`;if(I.format==="regex")return`Eilut\u0117 privalo atitikti ${I.pattern}`;return`Neteisingas ${g[I.format]??D.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${D.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${D.keys.length>1?"i":"as"} rakt${D.keys.length>1?"ai":"as"}: ${B(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let I=U[D.origin]??D.origin;return`${OD(I??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var V5=f(()=>{c()});function CA(){return{localeError:VV()}}var VV=()=>{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 g={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"},U={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${I}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${N}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${F(D.values[0])}`;return`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${I}${D.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 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I}${D.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 ${D.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`Invalid ${g[I.format]??D.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${D.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${D.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var F5=f(()=>{c()});function rA(){return{localeError:FV()}}var FV=()=>{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 g={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"},U={nan:"NaN",number:"nombor"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${N}`;return`Input tidak sah: dijangka ${I}, diterima ${N}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${F(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Terlalu kecil: dijangka ${D.origin} ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Terlalu kecil: dijangka ${D.origin} adalah ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`String tidak sah: mesti bermula dengan "${I.prefix}"`;if(I.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${I.suffix}"`;if(I.format==="includes")return`String tidak sah: mesti mengandungi "${I.includes}"`;if(I.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${I.pattern}`;return`${g[I.format]??D.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${B(D.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${D.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${D.origin}`;default:return"Input tidak sah"}}};var M5=f(()=>{c()});function vA(){return{localeError:MV()}}var MV=()=>{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 g={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"},U={nan:"NaN",number:"getal"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${N}`;return`Ongeldige invoer: verwacht ${I}, ontving ${N}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${F(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(j)return`Te ${N}: verwacht dat ${D.origin??"waarde"} ${I}${D.maximum.toString()} ${j.unit??"elementen"} ${j.verb}`;return`Te ${N}: verwacht dat ${D.origin??"waarde"} ${I}${D.maximum.toString()} is`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(j)return`Te ${N}: verwacht dat ${D.origin} ${I}${D.minimum.toString()} ${j.unit} ${j.verb}`;return`Te ${N}: verwacht dat ${D.origin} ${I}${D.minimum.toString()} is`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ongeldige tekst: moet met "${I.prefix}" beginnen`;if(I.format==="ends_with")return`Ongeldige tekst: moet op "${I.suffix}" eindigen`;if(I.format==="includes")return`Ongeldige tekst: moet "${I.includes}" bevatten`;if(I.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${I.pattern}`;return`Ongeldig: ${g[I.format]??D.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${D.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${D.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${D.origin}`;default:return"Ongeldige invoer"}}};var Z5=f(()=>{c()});function fA(){return{localeError:ZV()}}var ZV=()=>{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 g={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"},U={nan:"NaN",number:"tall",array:"liste"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${N}`;return`Ugyldig input: forventet ${I}, fikk ${N}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${F(D.values[0])}`;return`Ugyldig valg: forventet en av ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${I}${D.maximum.toString()} ${j.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`For lite(n): forventet ${D.origin} til \xE5 ha ${I}${D.minimum.toString()} ${j.unit}`;return`For lite(n): forventet ${D.origin} til \xE5 ha ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${I.prefix}"`;if(I.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${I.suffix}"`;if(I.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${I.includes}"`;if(I.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${I.pattern}`;return`Ugyldig ${g[I.format]??D.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${D.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${D.origin}`;default:return"Ugyldig input"}}};var b5=f(()=>{c()});function wA(){return{localeError:bV()}}var bV=()=>{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 g={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"},U={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${N}`;return`F\xE2sit giren: umulan ${I}, al\u0131nan ${N}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${F(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${I}${D.maximum.toString()} ${j.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${I}${D.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${I}${D.minimum.toString()} ${j.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${I}${D.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`F\xE2sit metin: "${I.prefix}" ile ba\u015Flamal\u0131.`;if(I.format==="ends_with")return`F\xE2sit metin: "${I.suffix}" ile bitmeli.`;if(I.format==="includes")return`F\xE2sit metin: "${I.includes}" ihtiv\xE2 etmeli.`;if(I.format==="regex")return`F\xE2sit metin: ${I.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${g[I.format]??D.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${D.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${D.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var H5=f(()=>{c()});function uA(){return{localeError:HV()}}var HV=()=>{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 g={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"},U={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${I} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${N} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(D.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${F(D.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${B(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${I}${D.maximum.toString()} ${j.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 ${I}${D.maximum.toString()} \u0648\u064A`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} ${j.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} \u0648\u064A`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${I.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(I.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${I.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(I.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${I.includes}" \u0648\u0644\u0631\u064A`;if(I.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${I.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${g[I.format]??D.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${D.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${D.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${D.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${D.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var k5=f(()=>{c()});function xA(){return{localeError:kV()}}var kV=()=>{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 g={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"},U={nan:"NaN",number:"liczba",array:"tablica"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${N}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${I}, otrzymano ${N}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${F(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${I}${D.maximum.toString()} ${j.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${I}${D.minimum.toString()} ${j.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${I.prefix}"`;if(I.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${I.suffix}"`;if(I.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${I.includes}"`;if(I.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${I.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${g[I.format]??D.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${D.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${D.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${D.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var C5=f(()=>{c()});function yA(){return{localeError:CV()}}var CV=()=>{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 g={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"},U={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${N}`;return`Tipo inv\xE1lido: esperado ${I}, recebido ${N}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${F(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${I}${D.maximum.toString()} ${j.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Muito pequeno: esperado que ${D.origin} tivesse ${I}${D.minimum.toString()} ${j.unit}`;return`Muito pequeno: esperado que ${D.origin} fosse ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${I.prefix}"`;if(I.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${I.suffix}"`;if(I.format==="includes")return`Texto inv\xE1lido: deve incluir "${I.includes}"`;if(I.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${I.pattern}`;return`${g[I.format]??D.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Chave${D.keys.length>1?"s":""} desconhecida${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${D.origin}`;default:return"Campo inv\xE1lido"}}};var r5=f(()=>{c()});function hA(){return{localeError:rV()}}var rV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;return`Intrare invalid\u0103: a\u0219teptat ${I}, primit ${N}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${F(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} s\u0103 fie ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Prea mic: a\u0219teptat ca ${D.origin} ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Prea mic: a\u0219teptat ca ${D.origin} s\u0103 fie ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${I.prefix}"`;if(I.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${I.suffix}"`;if(I.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${I.includes}"`;if(I.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${I.pattern}`;return`Format invalid: ${g[I.format]??D.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${D.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${B(D.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${D.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${D.origin}`;default:return"Intrare invalid\u0103"}}};var v5=f(()=>{c()});function f5(_,$,g,U){let D=Math.abs(_),I=D%10,j=D%100;if(j>=11&&j<=19)return U;if(I===1)return $;if(I>=2&&I<=4)return g;return U}function cA(){return{localeError:vV()}}var vV=()=>{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 g={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"},U={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${I}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${F(D.values[0])}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j){let N=Number(D.maximum),O=f5(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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${I}${D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j){let N=Number(D.minimum),O=f5(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 ${D.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${I}${D.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 ${D.origin} \u0431\u0443\u0434\u0435\u0442 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${D.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0438":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var w5=f(()=>{c()});function nA(){return{localeError:fV()}}var fV=()=>{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 g={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"},U={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${N}`;return`Neveljaven vnos: pri\u010Dakovano ${I}, prejeto ${N}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${F(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${I}${D.maximum.toString()} ${j.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${I}${D.minimum.toString()} ${j.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${I.prefix}"`;if(I.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${I.suffix}"`;if(I.format==="includes")return`Neveljaven niz: mora vsebovati "${I.includes}"`;if(I.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${I.pattern}`;return`Neveljaven ${g[I.format]??D.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${D.divisor}`;case"unrecognized_keys":return`Neprepoznan${D.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${B(D.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${D.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${D.origin}`;default:return"Neveljaven vnos"}}};var u5=f(()=>{c()});function dA(){return{localeError:wV()}}var wV=()=>{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 g={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"},U={nan:"NaN",number:"antal",array:"lista"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${N}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${I}, fick ${N}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${F(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${I}${D.maximum.toString()} ${j.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${D.origin??"v\xE4rdet"} att ha ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${I}${D.minimum.toString()} ${j.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${I.prefix}"`;if(I.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${I.suffix}"`;if(I.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${I.includes}"`;if(I.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${I.pattern}"`;return`Ogiltig(t) ${g[I.format]??D.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${D.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${D.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var x5=f(()=>{c()});function mA(){return{localeError:uV()}}var uV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${N}`}case"invalid_value":if(D.values.length===1)return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${F(D.values[0])}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${B(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${I}${D.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 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${I}${D.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.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 ${D.origin} ${I}${D.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 ${D.origin} ${I}${D.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${I.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(I.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${I.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(I.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${I.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(I.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${I.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 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${D.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${D.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var y5=f(()=>{c()});function iA(){return{localeError:xV()}}var xV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${N}`}case"invalid_value":if(D.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${F(D.values[0])}`;return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",j=$(D.origin);if(j)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${I} ${D.maximum.toString()} ${j.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${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",j=$(D.origin);if(j)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${I} ${D.minimum.toString()} ${j.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(I.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 ${I.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${g[I.format]??D.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${D.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${B(D.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var h5=f(()=>{c()});function lA(){return{localeError:yV()}}var yV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${N}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${I}, al\u0131nan ${N}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${F(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${I}${D.maximum.toString()} ${j.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${I}${D.minimum.toString()} ${j.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ge\xE7ersiz metin: "${I.prefix}" ile ba\u015Flamal\u0131`;if(I.format==="ends_with")return`Ge\xE7ersiz metin: "${I.suffix}" ile bitmeli`;if(I.format==="includes")return`Ge\xE7ersiz metin: "${I.includes}" i\xE7ermeli`;if(I.format==="regex")return`Ge\xE7ersiz metin: ${I.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${g[I.format]??D.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${D.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${D.keys.length>1?"lar":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${D.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var c5=f(()=>{c()});function AD(){return{localeError:hV()}}var hV=()=>{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 g={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"},U={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${F(D.values[0])}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${j.verb} ${I}${D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.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 ${D.origin} ${j.verb} ${I}${D.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 ${D.origin} \u0431\u0443\u0434\u0435 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0456":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${D.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var tA=f(()=>{c()});function oA(){return AD()}var n5=f(()=>{tA()});function pA(){return{localeError:cV()}}var cV=()=>{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 g={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"},U={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${I} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${N} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${F(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${B(D.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${I}${D.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: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${I}${D.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${I}${D.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: ${D.origin} \u06A9\u0627 ${I}${D.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${I.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(I.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${I.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(I.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${I.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(I.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${I.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${D.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${D.keys.length>1?"\u0632":""}: ${B(D.keys,"\u060C ")}`;case"invalid_key":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var d5=f(()=>{c()});function eA(){return{localeError:nV()}}var nV=()=>{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 g={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"},U={nan:"NaN",number:"raqam",array:"massiv"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${N}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${I}, qabul qilingan ${N}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${F(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${I}${D.maximum.toString()} ${j.unit} ${j.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Juda kichik: kutilgan ${D.origin} ${I}${D.minimum.toString()} ${j.unit} ${j.verb}`;return`Juda kichik: kutilgan ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${I.prefix}" bilan boshlanishi kerak`;if(I.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${I.suffix}" bilan tugashi kerak`;if(I.format==="includes")return`Noto\u2018g\u2018ri satr: "${I.includes}" ni o\u2018z ichiga olishi kerak`;if(I.format==="regex")return`Noto\u2018g\u2018ri satr: ${I.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${g[I.format]??D.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${D.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${D.keys.length>1?"lar":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${D.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var m5=f(()=>{c()});function aA(){return{localeError:dV()}}var dV=()=>{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 g={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"},U={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${I}, nh\u1EADn \u0111\u01B0\u1EE3c ${N}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${F(D.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${I.prefix}"`;if(I.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${I.suffix}"`;if(I.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${I.includes}"`;if(I.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${I.pattern}`;return`${g[I.format]??D.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${D.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${B(D.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var i5=f(()=>{c()});function sA(){return{localeError:mV()}}var mV=()=>{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 g={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"},U={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${N}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${I}\uFF0C\u5B9E\u9645\u63A5\u6536 ${N}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${F(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${I}${D.maximum.toString()} ${j.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${I}${D.minimum.toString()} ${j.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${I.prefix}" \u5F00\u5934`;if(I.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${I.suffix}" \u7ED3\u5C3E`;if(I.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${I.includes}"`;if(I.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${I.pattern}`;return`\u65E0\u6548${g[I.format]??D.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${D.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${D.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var l5=f(()=>{c()});function _L(){return{localeError:iV()}}var iV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${N}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${I}\uFF0C\u4F46\u6536\u5230 ${N}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${F(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${I}${D.maximum.toString()} ${j.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${I}${D.minimum.toString()} ${j.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${I.prefix}" \u958B\u982D`;if(I.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${I.suffix}" \u7D50\u5C3E`;if(I.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${I.includes}"`;if(I.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${I.pattern}`;return`\u7121\u6548\u7684 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${D.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${D.keys.length>1?"\u5011":""}\uFF1A${B(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var t5=f(()=>{c()});function $L(){return{localeError:lV()}}var lV=()=>{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 g={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"},U={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${I}, \xE0m\u1ECD\u0300 a r\xED ${N}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${F(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${j.verb} ${I}${D.maximum} ${j.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${I}${D.maximum}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${j.verb} ${I}${D.minimum} ${j.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${I}${D.minimum}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${I.suffix}"`;if(I.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${I.includes}"`;if(I.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${I.pattern}`;return`A\u1E63\xEC\u1E63e: ${g[I.format]??D.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${D.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${B(D.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var o5=f(()=>{c()});var f0={};r$(f0,{zhTW:()=>_L,zhCN:()=>sA,yo:()=>$L,vi:()=>aA,uz:()=>eA,ur:()=>pA,uk:()=>AD,ua:()=>oA,tr:()=>lA,th:()=>iA,ta:()=>mA,sv:()=>dA,sl:()=>nA,ru:()=>cA,ro:()=>hA,pt:()=>yA,ps:()=>uA,pl:()=>xA,ota:()=>wA,no:()=>fA,nl:()=>vA,ms:()=>rA,mk:()=>CA,lt:()=>kA,ko:()=>HA,km:()=>ED,kh:()=>bA,ka:()=>MA,ja:()=>FA,it:()=>VA,is:()=>KA,id:()=>BA,hy:()=>qA,hu:()=>TA,hr:()=>QA,he:()=>YA,frCA:()=>GA,fr:()=>RA,fi:()=>XA,fa:()=>WA,es:()=>SA,eo:()=>zA,en:()=>ND,el:()=>JA,de:()=>LA,da:()=>AA,cs:()=>OA,ca:()=>EA,bg:()=>NA,be:()=>jA,az:()=>IA,ar:()=>UA});var gL=f(()=>{eX();aX();_5();$5();g5();D5();U5();I5();j5();PA();N5();E5();O5();A5();L5();J5();P5();z5();S5();X5();R5();G5();Y5();Q5();T5();q5();ZA();B5();V5();F5();M5();Z5();b5();H5();k5();C5();r5();v5();w5();u5();x5();y5();h5();c5();n5();tA();d5();m5();i5();l5();t5();o5()});class DL{constructor(){this._map=new WeakMap,this._idmap=new Map}add(_,...$){let g=$[0];if(this._map.set(_,g),g&&typeof g==="object"&&"id"in g)this._idmap.set(g.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 g={...this.get($)??{}};delete g.id;let U={...g,...this._map.get(_)};return Object.keys(U).length?U:void 0}return this._map.get(_)}has(_){return this._map.has(_)}}function LD(){return new DL}var p5,tI,oI,w_;var JD=f(()=>{tI=Symbol("ZodOutput"),oI=Symbol("ZodInput");(p5=globalThis).__zod_globalRegistry??(p5.__zod_globalRegistry=LD());w_=globalThis.__zod_globalRegistry});function UL(_,$){return new _({type:"string",...C($)})}function IL(_,$){return new _({type:"string",coerce:!0,...C($)})}function pI(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...C($)})}function PD(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...C($)})}function eI(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...C($)})}function aI(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...C($)})}function sI(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...C($)})}function _1(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...C($)})}function zD(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...C($)})}function $1(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...C($)})}function g1(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...C($)})}function D1(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...C($)})}function U1(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...C($)})}function I1(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...C($)})}function j1(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...C($)})}function N1(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...C($)})}function E1(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...C($)})}function O1(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...C($)})}function jL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...C($)})}function A1(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...C($)})}function L1(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...C($)})}function J1(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...C($)})}function P1(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...C($)})}function z1(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...C($)})}function S1(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...C($)})}function NL(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...C($)})}function EL(_,$){return new _({type:"string",format:"date",check:"string_format",...C($)})}function OL(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...C($)})}function AL(_,$){return new _({type:"string",format:"duration",check:"string_format",...C($)})}function LL(_,$){return new _({type:"number",checks:[],...C($)})}function JL(_,$){return new _({type:"number",coerce:!0,checks:[],...C($)})}function PL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...C($)})}function zL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...C($)})}function SL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...C($)})}function WL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...C($)})}function XL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...C($)})}function RL(_,$){return new _({type:"boolean",...C($)})}function GL(_,$){return new _({type:"boolean",coerce:!0,...C($)})}function YL(_,$){return new _({type:"bigint",...C($)})}function QL(_,$){return new _({type:"bigint",coerce:!0,...C($)})}function TL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...C($)})}function qL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...C($)})}function BL(_,$){return new _({type:"symbol",...C($)})}function KL(_,$){return new _({type:"undefined",...C($)})}function VL(_,$){return new _({type:"null",...C($)})}function FL(_){return new _({type:"any"})}function ML(_){return new _({type:"unknown"})}function ZL(_,$){return new _({type:"never",...C($)})}function bL(_,$){return new _({type:"void",...C($)})}function HL(_,$){return new _({type:"date",...C($)})}function kL(_,$){return new _({type:"date",coerce:!0,...C($)})}function CL(_,$){return new _({type:"nan",...C($)})}function Q$(_,$){return new vI({check:"less_than",...C($),value:_,inclusive:!1})}function g$(_,$){return new vI({check:"less_than",...C($),value:_,inclusive:!0})}function T$(_,$){return new fI({check:"greater_than",...C($),value:_,inclusive:!1})}function h_(_,$){return new fI({check:"greater_than",...C($),value:_,inclusive:!0})}function SD(_){return T$(0,_)}function WD(_){return Q$(0,_)}function XD(_){return g$(0,_)}function RD(_){return h_(0,_)}function U6(_,$){return new F2({check:"multiple_of",...C($),value:_})}function I6(_,$){return new b2({check:"max_size",...C($),maximum:_})}function q$(_,$){return new H2({check:"min_size",...C($),minimum:_})}function k6(_,$){return new k2({check:"size_equals",...C($),size:_})}function C6(_,$){return new C2({check:"max_length",...C($),maximum:_})}function y$(_,$){return new r2({check:"min_length",...C($),minimum:_})}function r6(_,$){return new v2({check:"length_equals",...C($),length:_})}function W4(_,$){return new f2({check:"string_format",format:"regex",...C($),pattern:_})}function X4(_){return new w2({check:"string_format",format:"lowercase",...C(_)})}function R4(_){return new u2({check:"string_format",format:"uppercase",...C(_)})}function G4(_,$){return new x2({check:"string_format",format:"includes",...C($),includes:_})}function Y4(_,$){return new y2({check:"string_format",format:"starts_with",...C($),prefix:_})}function Q4(_,$){return new h2({check:"string_format",format:"ends_with",...C($),suffix:_})}function GD(_,$,g){return new c2({check:"property",property:_,schema:$,...C(g)})}function T4(_,$){return new n2({check:"mime_type",mime:_,...C($)})}function z$(_){return new d2({check:"overwrite",tx:_})}function q4(_){return z$(($)=>$.normalize(_))}function B4(){return z$((_)=>_.trim())}function K4(){return z$((_)=>_.toLowerCase())}function V4(){return z$((_)=>_.toUpperCase())}function F4(){return z$((_)=>yE(_))}function rL(_,$,g){return new _({type:"array",element:$,...C(g)})}function oV(_,$,g){return new _({type:"union",options:$,...C(g)})}function pV(_,$,g){return new _({type:"union",options:$,inclusive:!1,...C(g)})}function eV(_,$,g,U){return new _({type:"union",options:g,discriminator:$,...C(U)})}function aV(_,$,g){return new _({type:"intersection",left:$,right:g})}function sV(_,$,g,U){let D=g instanceof l;return new _({type:"tuple",items:$,rest:D?g:null,...C(D?U:g)})}function _F(_,$,g,U){return new _({type:"record",keyType:$,valueType:g,...C(U)})}function $F(_,$,g,U){return new _({type:"map",keyType:$,valueType:g,...C(U)})}function gF(_,$,g){return new _({type:"set",valueType:$,...C(g)})}function DF(_,$,g){let U=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:U,...C(g)})}function UF(_,$,g){return new _({type:"enum",entries:$,...C(g)})}function IF(_,$,g){return new _({type:"literal",values:Array.isArray($)?$:[$],...C(g)})}function vL(_,$){return new _({type:"file",...C($)})}function jF(_,$){return new _({type:"transform",transform:$})}function NF(_,$){return new _({type:"optional",innerType:$})}function EF(_,$){return new _({type:"nullable",innerType:$})}function OF(_,$,g){return new _({type:"default",innerType:$,get defaultValue(){return typeof g==="function"?g():cE(g)}})}function AF(_,$,g){return new _({type:"nonoptional",innerType:$,...C(g)})}function LF(_,$){return new _({type:"success",innerType:$})}function JF(_,$,g){return new _({type:"catch",innerType:$,catchValue:typeof g==="function"?g:()=>g})}function PF(_,$,g){return new _({type:"pipe",in:$,out:g})}function zF(_,$){return new _({type:"readonly",innerType:$})}function SF(_,$,g){return new _({type:"template_literal",parts:$,...C(g)})}function WF(_,$){return new _({type:"lazy",getter:$})}function XF(_,$){return new _({type:"promise",innerType:$})}function fL(_,$,g){let U=C(g);return U.abort??(U.abort=!0),new _({type:"custom",check:"custom",fn:$,...U})}function wL(_,$,g){return new _({type:"custom",check:"custom",fn:$,...C(g)})}function uL(_,$){let g=e5((U)=>{return U.addIssue=(D)=>{if(typeof D==="string")U.issues.push(F0(D,U.value,g._zod.def));else{let I=D;if(I.fatal)I.continue=!1;I.code??(I.code="custom"),I.input??(I.input=U.value),I.inst??(I.inst=g),I.continue??(I.continue=!g._zod.def.abort),U.issues.push(F0(I))}},_(U.value,U)},$);return g}function e5(_,$){let g=new Y_({check:"custom",...C($)});return g._zod.check=_,g}function xL(_){let $=new Y_({check:"describe"});return $._zod.onattach=[(g)=>{let U=w_.get(g)??{};w_.add(g,{...U,description:_})}],$._zod.check=()=>{},$}function yL(_){let $=new Y_({check:"meta"});return $._zod.onattach=[(g)=>{let U=w_.get(g)??{};w_.add(g,{...U,..._})}],$._zod.check=()=>{},$}function hL(_,$){let g=C($),U=g.truthy??["true","1","yes","on","y","enabled"],D=g.falsy??["false","0","no","off","n","disabled"];if(g.case!=="sensitive")U=U.map((J)=>typeof J==="string"?J.toLowerCase():J),D=D.map((J)=>typeof J==="string"?J.toLowerCase():J);let I=new Set(U),j=new Set(D),N=_.Codec??jD,O=_.Boolean??UD,L=new(_.String??S4)({type:"string",error:g.error}),z=new O({type:"boolean",error:g.error}),W=new N({type:"pipe",in:L,out:z,transform:(J,P)=>{let S=J;if(g.case!=="sensitive")S=S.toLowerCase();if(I.has(S))return!0;else if(j.has(S))return!1;else return P.issues.push({code:"invalid_value",expected:"stringbool",values:[...I,...j],input:P.value,inst:W,continue:!1}),{}},reverseTransform:(J,P)=>{if(J===!0)return U[0]||"true";else return D[0]||"false"},error:g.error});return W}function w0(_,$,g,U={}){let D=C(U),I={...C(U),check:"string_format",type:"string",format:$,fn:typeof g==="function"?g:(N)=>g.test(N),...D};if(g instanceof RegExp)I.pattern=g;return new _(I)}var W1;var a5=f(()=>{wI();JD();DA();c();W1={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function v6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??w_,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 A_(_,$,g={path:[],schemaPath:[]}){var U;let D=_._zod.def,I=$.seen.get(_);if(I){if(I.count++,g.schemaPath.includes(_))I.cycle=g.path;return I.schema}let j={schema:{},count:1,cycle:void 0,path:g.path};$.seen.set(_,j);let N=_._zod.toJSONSchema?.();if(N)j.schema=N;else{let L={...g,schemaPath:[...g.schemaPath,_],path:g.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,j.schema,L);else{let W=j.schema,J=$.processors[D.type];if(!J)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);J(_,$,W,L)}let z=_._zod.parent;if(z){if(!j.ref)j.ref=z;A_(z,$,L),$.seen.get(z).isParent=!0}}let O=$.metadataRegistry.get(_);if(O)Object.assign(j.schema,O);if($.io==="input"&&t_(_))delete j.schema.examples,delete j.schema.default;if($.io==="input"&&"_prefault"in j.schema)(U=j.schema).default??(U.default=j.schema._prefault);return delete j.schema._prefault,$.seen.get(_).schema}function f6(_,$){let g=_.seen.get($);if(!g)throw Error("Unprocessed schema. This is a bug in Zod.");let U=new Map;for(let j of _.seen.entries()){let N=_.metadataRegistry.get(j[0])?.id;if(N){let O=U.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.`);U.set(N,j[0])}}let D=(j)=>{let N=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let z=_.external.registry.get(j[0])?.id,W=_.external.uri??((P)=>P);if(z)return{ref:W(z)};let J=j[1].defId??j[1].schema.id??`schema${_.counter++}`;return j[1].defId=J,{defId:J,ref:`${W("__shared")}#/${N}/${J}`}}if(j[1]===g)return{ref:"#"};let A=`${"#"}/${N}/`,L=j[1].schema.id??`__schema${_.counter++}`;return{defId:L,ref:A+L}},I=(j)=>{if(j[1].schema.$ref)return;let N=j[1],{ref:O,defId:A}=D(j);if(N.def={...N.schema},A)N.defId=A;let L=N.schema;for(let z in L)delete L[z];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("/")}/ + `)}J.write("payload.value = newResult;"),J.write("return payload;");let R=J.compile();return(K,Q)=>R(W,K,Q)},I,j=P4,N=!A4.jitless,A=N&&hE.value,L=$.catchall,z;_._zod.parse=(W,J)=>{z??(z=U.value);let P=W.value;if(!j(P))return W.issues.push({expected:"object",code:"invalid_type",input:P,inst:_}),W;if(N&&A&&J?.async===!1&&J.jitless!==!0){if(!I)I=D($.shape);if(W=I(W,J),!L)return W;return pX([],P,W,J,z,_)}return g(W,J)}});ID=Y("$ZodUnion",(_,$)=>{l.init(_,$),$_(_._zod,"optin",()=>$.options.some((U)=>U._zod.optin==="optional")?"optional":void 0),$_(_._zod,"optout",()=>$.options.some((U)=>U._zod.optout==="optional")?"optional":void 0),$_(_._zod,"values",()=>{if($.options.every((U)=>U._zod.values))return new Set($.options.flatMap((U)=>Array.from(U._zod.values)));return}),$_(_._zod,"pattern",()=>{if($.options.every((U)=>U._zod.pattern)){let U=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${U.map((D)=>pg(D.source)).join("|")})$`)}return});let g=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(U,D)=>{if(g)return g(U,D);let I=!1,j=[];for(let N of $.options){let O=N._zod.run({value:U.value,issues:[]},D);if(O instanceof Promise)j.push(O),I=!0;else{if(O.issues.length===0)return O;j.push(O)}}if(!I)return rX(j,U,_,D);return Promise.all(j).then((N)=>{return rX(N,U,_,D)})}});kO=Y("$ZodXor",(_,$)=>{ID.init(_,$),$.inclusive=!1;let g=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(U,D)=>{if(g)return g(U,D);let I=!1,j=[];for(let N of $.options){let O=N._zod.run({value:U.value,issues:[]},D);if(O instanceof Promise)j.push(O),I=!0;else j.push(O)}if(!I)return vX(j,U,_,D);return Promise.all(j).then((N)=>{return vX(N,U,_,D)})}}),CO=Y("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,ID.init(_,$);let g=_._zod.parse;$_(_._zod,"propValues",()=>{let D={};for(let I of $.options){let j=I._zod.propValues;if(!j||Object.keys(j).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(I)}"`);for(let[N,O]of Object.entries(j)){if(!D[N])D[N]=new Set;for(let A of O)D[N].add(A)}}return D});let U=V0(()=>{let D=$.options,I=new Map;for(let j of D){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(I.has(O))throw Error(`Duplicate discriminator value "${String(O)}"`);I.set(O,j)}}return I});_._zod.parse=(D,I)=>{let j=D.value;if(!P4(j))return D.issues.push({code:"invalid_type",expected:"object",input:j,inst:_}),D;let N=U.value.get(j?.[$.discriminator]);if(N)return N._zod.run(D,I);if($.unionFallback||I.direction==="backward")return g(D,I);return D.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(U.value.keys()),input:j,path:[$.discriminator],inst:_}),D}}),rO=Y("$ZodIntersection",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value,I=$.left._zod.run({value:D,issues:[]},U),j=$.right._zod.run({value:D,issues:[]},U);if(I instanceof Promise||j instanceof Promise)return Promise.all([I,j]).then(([O,A])=>{return fX(g,O,A)});return fX(g,I,j)}});mI=Y("$ZodTuple",(_,$)=>{l.init(_,$);let g=$.items;_._zod.parse=(U,D)=>{let I=U.value;if(!Array.isArray(I))return U.issues.push({input:I,inst:_,expected:"tuple",code:"invalid_type"}),U;U.value=[];let j=[],N=wX(g,"optin"),O=wX(g,"optout");if(!$.rest){if(I.lengthg.length)U.issues.push({code:"too_big",maximum:g.length,inclusive:!0,input:I,inst:_,origin:"array"})}let A=Array(g.length);for(let L=0;L{A[L]=W}));else A[L]=z}if($.rest){let L=g.length-1,z=I.slice(g.length);for(let W of z){L++;let J=$.rest._zod.run({value:W,issues:[]},D);if(J instanceof Promise)j.push(J.then((P)=>uX(P,U,L)));else uX(J,U,L)}}if(j.length)return Promise.all(j).then(()=>xX(A,U,g,I,O));return xX(A,U,g,I,O)}});vO=Y("$ZodRecord",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!b6(D))return g.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),g;let I=[],j=$.keyType._zod.values;if(j){g.value={};let N=new Set;for(let A of j)if(typeof A==="string"||typeof A==="number"||typeof A==="symbol"){N.add(typeof A==="number"?A.toString():A);let L=$.keyType._zod.run({value:A,issues:[]},U);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length){g.issues.push({code:"invalid_key",origin:"record",issues:L.issues.map((J)=>l_(J,U,Z_())),input:A,path:[A],inst:_});continue}let z=L.value,W=$.valueType._zod.run({value:D[A],issues:[]},U);if(W instanceof Promise)I.push(W.then((J)=>{if(J.issues.length)g.issues.push(...s_(A,J.issues));g.value[z]=J.value}));else{if(W.issues.length)g.issues.push(...s_(A,W.issues));g.value[z]=W.value}}let O;for(let A in D)if(!N.has(A))O=O??[],O.push(A);if(O&&O.length>0)g.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:O})}else{g.value={};for(let N of Reflect.ownKeys(D)){if(N==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,N))continue;let O=$.keyType._zod.run({value:N,issues:[]},U);if(O instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof N==="string"&&$D.test(N)&&O.issues.length){let z=$.keyType._zod.run({value:Number(N),issues:[]},U);if(z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(z.issues.length===0)O=z}if(O.issues.length){if($.mode==="loose")g.value[N]=D[N];else g.issues.push({code:"invalid_key",origin:"record",issues:O.issues.map((z)=>l_(z,U,Z_())),input:N,path:[N],inst:_});continue}let L=$.valueType._zod.run({value:D[N],issues:[]},U);if(L instanceof Promise)I.push(L.then((z)=>{if(z.issues.length)g.issues.push(...s_(N,z.issues));g.value[O.value]=z.value}));else{if(L.issues.length)g.issues.push(...s_(N,L.issues));g.value[O.value]=L.value}}}if(I.length)return Promise.all(I).then(()=>g);return g}}),fO=Y("$ZodMap",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!(D instanceof Map))return g.issues.push({expected:"map",code:"invalid_type",input:D,inst:_}),g;let I=[];g.value=new Map;for(let[j,N]of D){let O=$.keyType._zod.run({value:j,issues:[]},U),A=$.valueType._zod.run({value:N,issues:[]},U);if(O instanceof Promise||A instanceof Promise)I.push(Promise.all([O,A]).then(([L,z])=>{yX(L,z,g,j,D,_,U)}));else yX(O,A,g,j,D,_,U)}if(I.length)return Promise.all(I).then(()=>g);return g}});wO=Y("$ZodSet",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(!(D instanceof Set))return g.issues.push({input:D,inst:_,expected:"set",code:"invalid_type"}),g;let I=[];g.value=new Set;for(let j of D){let N=$.valueType._zod.run({value:j,issues:[]},U);if(N instanceof Promise)I.push(N.then((O)=>hX(O,g)));else hX(N,g)}if(I.length)return Promise.all(I).then(()=>g);return g}});uO=Y("$ZodEnum",(_,$)=>{l.init(_,$);let g=og($.entries),U=new Set(g);_._zod.values=U,_._zod.pattern=new RegExp(`^(${g.filter((D)=>eg.has(typeof D)).map((D)=>typeof D==="string"?P$(D):D.toString()).join("|")})$`),_._zod.parse=(D,I)=>{let j=D.value;if(U.has(j))return D;return D.issues.push({code:"invalid_value",values:g,input:j,inst:_}),D}}),xO=Y("$ZodLiteral",(_,$)=>{if(l.init(_,$),$.values.length===0)throw Error("Cannot create literal schema with no valid values");let g=new Set($.values);_._zod.values=g,_._zod.pattern=new RegExp(`^(${$.values.map((U)=>typeof U==="string"?P$(U):U?P$(U.toString()):String(U)).join("|")})$`),_._zod.parse=(U,D)=>{let I=U.value;if(g.has(I))return U;return U.issues.push({code:"invalid_value",values:$.values,input:I,inst:_}),U}}),yO=Y("$ZodFile",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{let D=g.value;if(D instanceof File)return g;return g.issues.push({expected:"file",code:"invalid_type",input:D,inst:_}),g}}),hO=Y("$ZodTransform",(_,$)=>{l.init(_,$),_._zod.optin="optional",_._zod.parse=(g,U)=>{if(U.direction==="backward")throw new L4(_.constructor.name);let D=$.transform(g.value,g);if(U.async)return(D instanceof Promise?D:Promise.resolve(D)).then((j)=>{return g.value=j,g.fallback=!0,g});if(D instanceof Promise)throw new x$;return g.value=D,g.fallback=!0,g}});iI=Y("$ZodOptional",(_,$)=>{l.init(_,$),_._zod.optin="optional",_._zod.optout="optional",$_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),$_(_._zod,"pattern",()=>{let g=$.innerType._zod.pattern;return g?new RegExp(`^(${pg(g.source)})?$`):void 0}),_._zod.parse=(g,U)=>{if($.innerType._zod.optin==="optional"){let D=g.value,I=$.innerType._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>cX(j,D));return cX(I,D)}if(g.value===void 0)return g;return $.innerType._zod.run(g,U)}}),cO=Y("$ZodExactOptional",(_,$)=>{iI.init(_,$),$_(_._zod,"values",()=>$.innerType._zod.values),$_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(g,U)=>{return $.innerType._zod.run(g,U)}}),nO=Y("$ZodNullable",(_,$)=>{l.init(_,$),$_(_._zod,"optin",()=>$.innerType._zod.optin),$_(_._zod,"optout",()=>$.innerType._zod.optout),$_(_._zod,"pattern",()=>{let g=$.innerType._zod.pattern;return g?new RegExp(`^(${pg(g.source)}|null)$`):void 0}),$_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,null]):void 0}),_._zod.parse=(g,U)=>{if(g.value===null)return g;return $.innerType._zod.run(g,U)}}),dO=Y("$ZodDefault",(_,$)=>{l.init(_,$),_._zod.optin="optional",$_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);if(g.value===void 0)return g.value=$.defaultValue,g;let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>nX(I,$));return nX(D,$)}});mO=Y("$ZodPrefault",(_,$)=>{l.init(_,$),_._zod.optin="optional",$_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);if(g.value===void 0)g.value=$.defaultValue;return $.innerType._zod.run(g,U)}}),iO=Y("$ZodNonOptional",(_,$)=>{l.init(_,$),$_(_._zod,"values",()=>{let g=$.innerType._zod.values;return g?new Set([...g].filter((U)=>U!==void 0)):void 0}),_._zod.parse=(g,U)=>{let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>dX(I,_));return dX(D,_)}});lO=Y("$ZodSuccess",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{if(U.direction==="backward")throw new L4("ZodSuccess");let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>{return g.value=I.issues.length===0,g});return g.value=D.issues.length===0,g}}),tO=Y("$ZodCatch",(_,$)=>{l.init(_,$),_._zod.optin="optional",$_(_._zod,"optout",()=>$.innerType._zod.optout),$_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>{if(g.value=I.value,I.issues.length)g.value=$.catchValue({...g,error:{issues:I.issues.map((j)=>l_(j,U,Z_()))},input:g.value}),g.issues=[],g.fallback=!0;return g});if(g.value=D.value,D.issues.length)g.value=$.catchValue({...g,error:{issues:D.issues.map((I)=>l_(I,U,Z_()))},input:g.value}),g.issues=[],g.fallback=!0;return g}}),oO=Y("$ZodNaN",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{if(typeof g.value!=="number"||!Number.isNaN(g.value))return g.issues.push({input:g.value,inst:_,expected:"nan",code:"invalid_type"}),g;return g}}),lI=Y("$ZodPipe",(_,$)=>{l.init(_,$),$_(_._zod,"values",()=>$.in._zod.values),$_(_._zod,"optin",()=>$.in._zod.optin),$_(_._zod,"optout",()=>$.out._zod.optout),$_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(g,U)=>{if(U.direction==="backward"){let I=$.out._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>xI(j,$.in,U));return xI(I,$.in,U)}let D=$.in._zod.run(g,U);if(D instanceof Promise)return D.then((I)=>xI(I,$.out,U));return xI(D,$.out,U)}});jD=Y("$ZodCodec",(_,$)=>{l.init(_,$),$_(_._zod,"values",()=>$.in._zod.values),$_(_._zod,"optin",()=>$.in._zod.optin),$_(_._zod,"optout",()=>$.out._zod.optout),$_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(g,U)=>{if((U.direction||"forward")==="forward"){let I=$.in._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>yI(j,$,U));return yI(I,$,U)}else{let I=$.out._zod.run(g,U);if(I instanceof Promise)return I.then((j)=>yI(j,$,U));return yI(I,$,U)}}});pO=Y("$ZodPreprocess",(_,$)=>{lI.init(_,$)}),eO=Y("$ZodReadonly",(_,$)=>{l.init(_,$),$_(_._zod,"propValues",()=>$.innerType._zod.propValues),$_(_._zod,"values",()=>$.innerType._zod.values),$_(_._zod,"optin",()=>$.innerType?._zod?.optin),$_(_._zod,"optout",()=>$.innerType?._zod?.optout),_._zod.parse=(g,U)=>{if(U.direction==="backward")return $.innerType._zod.run(g,U);let D=$.innerType._zod.run(g,U);if(D instanceof Promise)return D.then(mX);return mX(D)}});aO=Y("$ZodTemplateLiteral",(_,$)=>{l.init(_,$);let g=[];for(let U of $.parts)if(typeof U==="object"&&U!==null){if(!U._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...U._zod.traits].shift()}`);let D=U._zod.pattern instanceof RegExp?U._zod.pattern.source:U._zod.pattern;if(!D)throw Error(`Invalid template literal part: ${U._zod.traits}`);let I=D.startsWith("^")?1:0,j=D.endsWith("$")?D.length-1:D.length;g.push(D.slice(I,j))}else if(U===null||nE.has(typeof U))g.push(P$(`${U}`));else throw Error(`Invalid template literal part: ${U}`);_._zod.pattern=new RegExp(`^${g.join("")}$`),_._zod.parse=(U,D)=>{if(typeof U.value!=="string")return U.issues.push({input:U.value,inst:_,expected:"string",code:"invalid_type"}),U;if(_._zod.pattern.lastIndex=0,!_._zod.pattern.test(U.value))return U.issues.push({input:U.value,inst:_,code:"invalid_format",format:$.format??"template_literal",pattern:_._zod.pattern.source}),U;return U}}),sO=Y("$ZodFunction",(_,$)=>{return l.init(_,$),_._def=$,_._zod.def=$,_.implement=(g)=>{if(typeof g!=="function")throw Error("implement() must be called with a function");return function(...U){let D=_._def.input?qI(_._def.input,U):U,I=Reflect.apply(g,this,D);if(_._def.output)return qI(_._def.output,I);return I}},_.implementAsync=(g)=>{if(typeof g!=="function")throw Error("implementAsync() must be called with a function");return async function(...U){let D=_._def.input?await BI(_._def.input,U):U,I=await Reflect.apply(g,this,D);if(_._def.output)return await BI(_._def.output,I);return I}},_._zod.parse=(g,U)=>{if(typeof g.value!=="function")return g.issues.push({code:"invalid_type",expected:"function",input:g.value,inst:_}),g;if(_._def.output&&_._def.output._zod.def.type==="promise")g.value=_.implementAsync(g.value);else g.value=_.implement(g.value);return g},_.input=(...g)=>{let U=_.constructor;if(Array.isArray(g[0]))return new U({type:"function",input:new mI({type:"tuple",items:g[0],rest:g[1]}),output:_._def.output});return new U({type:"function",input:g[0],output:_._def.output})},_.output=(g)=>{return new _.constructor({type:"function",input:_._def.input,output:g})},_}),_A=Y("$ZodPromise",(_,$)=>{l.init(_,$),_._zod.parse=(g,U)=>{return Promise.resolve(g.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},U))}}),$A=Y("$ZodLazy",(_,$)=>{l.init(_,$),$_(_._zod,"innerType",()=>{let g=$;if(!g._cachedInner)g._cachedInner=$.getter();return g._cachedInner}),$_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),$_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),$_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),$_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(g,U)=>{return _._zod.innerType._zod.run(g,U)}}),gA=Y("$ZodCustom",(_,$)=>{Y_.init(_,$),l.init(_,$),_._zod.parse=(g,U)=>{return g},_._zod.check=(g)=>{let U=g.value,D=$.fn(U);if(D instanceof Promise)return D.then((I)=>iX(I,g,U,_));iX(D,g,U,_);return}})});function UA(){return{localeError:sK()}}var sK=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${N}`}case"invalid_value":if(D.values.length===1)return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${F(D.values[0])}`;return`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${I} ${D.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 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I} ${D.minimum.toString()} ${j.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 ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`${g[I.format]??D.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${D.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${D.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${D.keys.length>1?"\u0629":""}: ${B(D.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var aX=f(()=>{c()});function IA(){return{localeError:_V()}}var _V=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${N}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${I}, daxil olan ${N}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${F(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${I}${D.maximum.toString()} ${j.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${I}${D.minimum.toString()} ${j.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${I.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(I.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${I.suffix}" il\u0259 bitm\u0259lidir`;if(I.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${I.includes}" daxil olmal\u0131d\u0131r`;if(I.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${I.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${g[I.format]??D.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${D.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${D.keys.length>1?"lar":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${D.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var sX=f(()=>{c()});function _5(_,$,g,U){let D=Math.abs(_),I=D%10,j=D%100;if(j>=11&&j<=19)return U;if(I===1)return $;if(I>=2&&I<=4)return g;return U}function jA(){return{localeError:$V()}}var $V=()=>{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 g={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"},U={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${I}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${F(D.values[0])}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j){let N=Number(D.maximum),O=_5(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 ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${j.verb} ${I}${D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j){let N=Number(D.minimum),O=_5(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 ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${j.verb} ${I}${D.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 ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${D.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${D.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var $5=f(()=>{c()});function NA(){return{localeError:gV()}}var gV=()=>{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 g={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"},U={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${I}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${F(D.values[0])}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)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 ${I}${D.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 ${D.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I}${D.minimum.toString()} ${j.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 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;let j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(I.format==="emoji")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(I.format==="datetime")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(I.format==="date")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(I.format==="time")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(I.format==="duration")j="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${j} ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${D.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u043E\u0432\u0435":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var g5=f(()=>{c()});function EA(){return{localeError:DV()}}var DV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${N}`;return`Tipus inv\xE0lid: s'esperava ${I}, s'ha rebut ${N}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${F(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${B(D.values," o ")}`;case"too_big":{let I=D.inclusive?"com a m\xE0xim":"menys de",j=$(D.origin);if(j)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${I} ${D.maximum.toString()} ${j.unit??"elements"}`;return`Massa gran: s'esperava que ${D.origin??"el valor"} fos ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?"com a m\xEDnim":"m\xE9s de",j=$(D.origin);if(j)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${I} ${D.minimum.toString()} ${j.unit}`;return`Massa petit: s'esperava que ${D.origin} fos ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${I.prefix}"`;if(I.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${I.suffix}"`;if(I.format==="includes")return`Format inv\xE0lid: ha d'incloure "${I.includes}"`;if(I.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${I.pattern}`;return`Format inv\xE0lid per a ${g[I.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${D.divisor}`;case"unrecognized_keys":return`Clau${D.keys.length>1?"s":""} no reconeguda${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${D.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${D.origin}`;default:return"Entrada inv\xE0lida"}}};var D5=f(()=>{c()});function OA(){return{localeError:UV()}}var UV=()=>{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 g={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"},U={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${N}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${I}, obdr\u017Eeno ${N}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${F(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${I}${D.maximum.toString()} ${j.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${I}${D.minimum.toString()} ${j.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${I.prefix}"`;if(I.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${I.suffix}"`;if(I.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${I.includes}"`;if(I.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${I.pattern}`;return`Neplatn\xFD form\xE1t ${g[I.format]??D.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${D.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${B(D.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${D.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${D.origin}`;default:return"Neplatn\xFD vstup"}}};var U5=f(()=>{c()});function AA(){return{localeError:IV()}}var IV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${N}`;return`Ugyldigt input: forventede ${I}, fik ${N}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${F(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`For stor: forventede ${N??"value"} ${j.verb} ${I} ${D.maximum.toString()} ${j.unit??"elementer"}`;return`For stor: forventede ${N??"value"} havde ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`For lille: forventede ${N} ${j.verb} ${I} ${D.minimum.toString()} ${j.unit}`;return`For lille: forventede ${N} havde ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ugyldig streng: skal starte med "${I.prefix}"`;if(I.format==="ends_with")return`Ugyldig streng: skal ende med "${I.suffix}"`;if(I.format==="includes")return`Ugyldig streng: skal indeholde "${I.includes}"`;if(I.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${I.pattern}`;return`Ugyldig ${g[I.format]??D.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${D.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${D.origin}`;default:return"Ugyldigt input"}}};var I5=f(()=>{c()});function LA(){return{localeError:jV()}}var jV=()=>{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 g={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"},U={nan:"NaN",number:"Zahl",array:"Array"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${N}`;return`Ung\xFCltige Eingabe: erwartet ${I}, erhalten ${N}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${F(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${I}${D.maximum.toString()} ${j.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${I}${D.maximum.toString()} ist`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Zu klein: erwartet, dass ${D.origin} ${I}${D.minimum.toString()} ${j.unit} hat`;return`Zu klein: erwartet, dass ${D.origin} ${I}${D.minimum.toString()} ist`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ung\xFCltiger String: muss mit "${I.prefix}" beginnen`;if(I.format==="ends_with")return`Ung\xFCltiger String: muss mit "${I.suffix}" enden`;if(I.format==="includes")return`Ung\xFCltiger String: muss "${I.includes}" enthalten`;if(I.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${I.pattern} entsprechen`;return`Ung\xFCltig: ${g[I.format]??D.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${D.divisor} sein`;case"unrecognized_keys":return`${D.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${D.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${D.origin}`;default:return"Ung\xFCltige Eingabe"}}};var j5=f(()=>{c()});function JA(){return{localeError:NV()}}var NV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${N}`}case"invalid_value":if(D.values.length===1)return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${F(D.values[0])}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)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 ${I}${D.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 ${D.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I}${D.minimum.toString()} ${j.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 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${g[I.format]??D.format}`}case"not_multiple_of":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${D.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${D.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${D.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${D.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${D.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var N5=f(()=>{c()});function ND(){return{localeError:EV()}}var EV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;return`Invalid input: expected ${I}, received ${N}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${F(D.values[0])}`;return`Invalid option: expected one of ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Too big: expected ${D.origin??"value"} to have ${I}${D.maximum.toString()} ${j.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Too small: expected ${D.origin} to have ${I}${D.minimum.toString()} ${j.unit}`;return`Too small: expected ${D.origin} to be ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Invalid string: must start with "${I.prefix}"`;if(I.format==="ends_with")return`Invalid string: must end with "${I.suffix}"`;if(I.format==="includes")return`Invalid string: must include "${I.includes}"`;if(I.format==="regex")return`Invalid string: must match pattern ${I.pattern}`;return`Invalid ${g[I.format]??D.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${D.divisor}`;case"unrecognized_keys":return`Unrecognized key${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Invalid key in ${D.origin}`;case"invalid_union":if(D.options&&Array.isArray(D.options)&&D.options.length>0)return`Invalid discriminator value. Expected ${D.options.map((j)=>`'${j}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var PA=f(()=>{c()});function zA(){return{localeError:OV()}}var OV=()=>{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 g={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"},U={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${N}`;return`Nevalida enigo: atendi\u011Dis ${I}, ricevi\u011Dis ${N}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${F(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${I}${D.maximum.toString()} ${j.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${I}${D.minimum.toString()} ${j.unit}`;return`Tro malgranda: atendi\u011Dis ke ${D.origin} estu ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${I.prefix}"`;if(I.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${I.suffix}"`;if(I.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${I.includes}"`;if(I.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${I.pattern}`;return`Nevalida ${g[I.format]??D.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${D.divisor}`;case"unrecognized_keys":return`Nekonata${D.keys.length>1?"j":""} \u015Dlosilo${D.keys.length>1?"j":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${D.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${D.origin}`;default:return"Nevalida enigo"}}};var E5=f(()=>{c()});function SA(){return{localeError:AV()}}var AV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${N}`;return`Entrada inv\xE1lida: se esperaba ${I}, recibido ${N}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${F(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Demasiado grande: se esperaba que ${N??"valor"} tuviera ${I}${D.maximum.toString()} ${j.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${N??"valor"} fuera ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Demasiado peque\xF1o: se esperaba que ${N} tuviera ${I}${D.minimum.toString()} ${j.unit}`;return`Demasiado peque\xF1o: se esperaba que ${N} fuera ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${I.prefix}"`;if(I.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${I.suffix}"`;if(I.format==="includes")return`Cadena inv\xE1lida: debe incluir "${I.includes}"`;if(I.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${I.pattern}`;return`Inv\xE1lido ${g[I.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Llave${D.keys.length>1?"s":""} desconocida${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${U[D.origin]??D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${U[D.origin]??D.origin}`;default:return"Entrada inv\xE1lida"}}};var O5=f(()=>{c()});function WA(){return{localeError:LV()}}var LV=()=>{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 g={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"},U={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${N} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(D.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${F(D.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;return`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${B(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${I}${D.maximum.toString()} ${j.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 ${I}${D.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} ${j.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${I.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(I.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${I.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(I.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${I.includes}" \u0628\u0627\u0634\u062F`;if(I.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 ${I.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${g[I.format]??D.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${D.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${D.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${B(D.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${D.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${D.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var A5=f(()=>{c()});function XA(){return{localeError:JV()}}var JV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${N}`;return`Virheellinen tyyppi: odotettiin ${I}, oli ${N}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${F(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Liian suuri: ${j.subject} t\xE4ytyy olla ${I}${D.maximum.toString()} ${j.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Liian pieni: ${j.subject} t\xE4ytyy olla ${I}${D.minimum.toString()} ${j.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${I.prefix}"`;if(I.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${I.suffix}"`;if(I.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${I.includes}"`;if(I.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${I.pattern}`;return`Virheellinen ${g[I.format]??D.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${D.divisor} monikerta`;case"unrecognized_keys":return`${D.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${B(D.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var L5=f(()=>{c()});function RA(){return{localeError:PV()}}var PV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${N} re\xE7u`;return`Entr\xE9e invalide : ${I} attendu, ${N} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${F(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${B(D.values,"|")} attendue`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Trop grand : ${U[D.origin]??"valeur"} doit ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${U[D.origin]??"valeur"} doit \xEAtre ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Trop petit : ${U[D.origin]??"valeur"} doit ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Trop petit : ${U[D.origin]??"valeur"} doit \xEAtre ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${I.prefix}"`;if(I.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${I.suffix}"`;if(I.format==="includes")return`Cha\xEEne invalide : doit inclure "${I.includes}"`;if(I.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${I.pattern}`;return`${g[I.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${B(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var J5=f(()=>{c()});function GA(){return{localeError:zV()}}var zV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${N}`;return`Entr\xE9e invalide : attendu ${I}, re\xE7u ${N}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${F(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"\u2264":"<",j=$(D.origin);if(j)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${I}${D.maximum.toString()} ${j.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?"\u2265":">",j=$(D.origin);if(j)return`Trop petit : attendu que ${D.origin} ait ${I}${D.minimum.toString()} ${j.unit}`;return`Trop petit : attendu que ${D.origin} soit ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${I.prefix}"`;if(I.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${I.suffix}"`;if(I.format==="includes")return`Cha\xEEne invalide : doit inclure "${I.includes}"`;if(I.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${I.pattern}`;return`${g[I.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${B(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var P5=f(()=>{c()});function YA(){return{localeError:SV()}}var SV=()=>{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"}},g=(A)=>A?_[A]:void 0,U=(A)=>{let L=g(A);if(L)return L.label;return A??_.unknown.label},D=(A)=>`\u05D4${U(A)}`,I=(A)=>{return(g(A)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},j=(A)=>{if(!A)return null;return $[A]??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(A)=>{switch(A.code){case"invalid_type":{let L=A.expected,z=O[L??""]??U(L),W=M(A.input),J=O[W]??_[W]?.label??W;if(/^[A-Z]/.test(A.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${A.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${J}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${z}, \u05D4\u05EA\u05E7\u05D1\u05DC ${J}`}case"invalid_value":{if(A.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${F(A.values[0])}`;let L=A.values.map((J)=>F(J));if(A.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 z=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 ${z}`}case"too_big":{let L=j(A.origin),z=D(A.origin??"value");if(A.origin==="string")return`${L?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${A.maximum.toString()} ${L?.unit??""} ${A.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(A.origin==="number"){let P=A.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${A.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${A.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${P}`}if(A.origin==="array"||A.origin==="set"){let P=A.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",S=A.inclusive?`${A.maximum} ${L?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${A.maximum} ${L?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${z} ${P} \u05DC\u05D4\u05DB\u05D9\u05DC ${S}`.trim()}let W=A.inclusive?"<=":"<",J=I(A.origin??"value");if(L?.unit)return`${L.longLabel} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.maximum.toString()} ${L.unit}`;return`${L?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.maximum.toString()}`}case"too_small":{let L=j(A.origin),z=D(A.origin??"value");if(A.origin==="string")return`${L?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${A.minimum.toString()} ${L?.unit??""} ${A.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(A.origin==="number"){let P=A.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${A.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${A.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${z} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${P}`}if(A.origin==="array"||A.origin==="set"){let P=A.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(A.minimum===1&&A.inclusive){let X=A.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: ${z} ${P} \u05DC\u05D4\u05DB\u05D9\u05DC ${X}`}let S=A.inclusive?`${A.minimum} ${L?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${A.minimum} ${L?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${z} ${P} \u05DC\u05D4\u05DB\u05D9\u05DC ${S}`.trim()}let W=A.inclusive?">=":">",J=I(A.origin??"value");if(L?.unit)return`${L.shortLabel} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.minimum.toString()} ${L.unit}`;return`${L?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${z} ${J} ${W}${A.minimum.toString()}`}case"invalid_format":{let L=A;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 z=N[L.format],W=z?.label??L.format,P=(z?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${W} \u05DC\u05D0 ${P}`}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 ${A.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${A.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${A.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${B(A.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(A.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var z5=f(()=>{c()});function QA(){return{localeError:WV()}}var WV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${N}`;return`Neispravan unos: o\u010Dekuje se ${I}, a primljeno je ${N}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${F(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Preveliko: o\u010Dekivano da ${N??"vrijednost"} ima ${I}${D.maximum.toString()} ${j.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${N??"vrijednost"} bude ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=U[D.origin]??D.origin;if(j)return`Premalo: o\u010Dekivano da ${N} ima ${I}${D.minimum.toString()} ${j.unit}`;return`Premalo: o\u010Dekivano da ${N} bude ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${I.prefix}"`;if(I.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${I.suffix}"`;if(I.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${I.includes}"`;if(I.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${I.pattern}`;return`Neispravna ${g[I.format]??D.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${D.divisor}`;case"unrecognized_keys":return`Neprepoznat${D.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${B(D.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${U[D.origin]??D.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${U[D.origin]??D.origin}`;default:return"Neispravan unos"}}};var S5=f(()=>{c()});function TA(){return{localeError:XV()}}var XV=()=>{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 g={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"},U={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${N}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${I}, a kapott \xE9rt\xE9k ${N}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${F(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${I}${D.maximum.toString()} ${j.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${D.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${I}${D.minimum.toString()} ${j.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} t\xFAl kicsi ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\xC9rv\xE9nytelen string: "${I.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(I.format==="ends_with")return`\xC9rv\xE9nytelen string: "${I.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(I.format==="includes")return`\xC9rv\xE9nytelen string: "${I.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(I.format==="regex")return`\xC9rv\xE9nytelen string: ${I.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${g[I.format]??D.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${D.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${D.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${D.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var W5=f(()=>{c()});function X5(_,$,g){return Math.abs(_)===1?$:g}function v0(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],g=_[_.length-1];return _+($.includes(g)?"\u0576":"\u0568")}function qA(){return{localeError:RV()}}var RV=()=>{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 g={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"},U={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${N}`}case"invalid_value":if(D.values.length===1)return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${F(D.values[1])}`;return`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j){let N=Number(D.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 ${v0(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${I}${D.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 ${v0(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j){let N=Number(D.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 ${v0(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${I}${D.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 ${v0(D.origin)} \u056C\u056B\u0576\u056B ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${I.prefix}"-\u0578\u057E`;if(I.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${I.suffix}"-\u0578\u057E`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${g[I.format]??D.format}`}case"not_multiple_of":return`\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${D.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${D.keys.length>1?"\u0576\u0565\u0580":""}. ${B(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${v0(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 ${v0(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var R5=f(()=>{c()});function BA(){return{localeError:GV()}}var GV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${N}`;return`Input tidak valid: diharapkan ${I}, diterima ${N}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${F(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${I}${D.maximum.toString()} ${j.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${I}${D.minimum.toString()} ${j.unit}`;return`Terlalu kecil: diharapkan ${D.origin} menjadi ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`String tidak valid: harus dimulai dengan "${I.prefix}"`;if(I.format==="ends_with")return`String tidak valid: harus berakhir dengan "${I.suffix}"`;if(I.format==="includes")return`String tidak valid: harus menyertakan "${I.includes}"`;if(I.format==="regex")return`String tidak valid: harus sesuai pola ${I.pattern}`;return`${g[I.format]??D.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${D.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${D.origin}`;default:return"Input tidak valid"}}};var G5=f(()=>{c()});function KA(){return{localeError:YV()}}var YV=()=>{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 g={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"},U={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${N} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${N} \xFEar sem \xE1 a\xF0 vera ${I}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${F(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${I}${D.maximum.toString()} ${j.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} s\xE9 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${I}${D.minimum.toString()} ${j.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} s\xE9 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${I.prefix}"`;if(I.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${I.suffix}"`;if(I.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${I.includes}"`;if(I.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${I.pattern}`;return`Rangt ${g[I.format]??D.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${D.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${D.keys.length>1?"ir lyklar":"ur lykill"}: ${B(D.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${D.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${D.origin}`;default:return"Rangt gildi"}}};var Y5=f(()=>{c()});function VA(){return{localeError:QV()}}var QV=()=>{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 g={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"},U={nan:"NaN",number:"numero",array:"vettore"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${N}`;return`Input non valido: atteso ${I}, ricevuto ${N}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${F(D.values[0])}`;return`Opzione non valida: atteso uno tra ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Troppo grande: ${D.origin??"valore"} deve avere ${I}${D.maximum.toString()} ${j.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Troppo piccolo: ${D.origin} deve avere ${I}${D.minimum.toString()} ${j.unit}`;return`Troppo piccolo: ${D.origin} deve essere ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Stringa non valida: deve iniziare con "${I.prefix}"`;if(I.format==="ends_with")return`Stringa non valida: deve terminare con "${I.suffix}"`;if(I.format==="includes")return`Stringa non valida: deve includere "${I.includes}"`;if(I.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${I.pattern}`;return`Input non valido: ${g[I.format]??D.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${D.divisor}`;case"unrecognized_keys":return`Chiav${D.keys.length>1?"i":"e"} non riconosciut${D.keys.length>1?"e":"a"}: ${B(D.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${D.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${D.origin}`;default:return"Input non valido"}}};var Q5=f(()=>{c()});function FA(){return{localeError:TV()}}var TV=()=>{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 g={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"},U={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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${N}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${I}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${N}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${F(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${B(D.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let I=D.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",j=$(D.origin);if(j)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${j.unit??"\u8981\u7D20"}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let I=D.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",j=$(D.origin);if(j)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${j.unit}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${I}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${I.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(I.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${I.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(I.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${I.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(I.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${I.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${g[I.format]??D.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${D.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${D.keys.length>1?"\u7FA4":""}: ${B(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var T5=f(()=>{c()});function MA(){return{localeError:qV()}}var qV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${N}`}case"invalid_value":if(D.values.length===1)return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${F(D.values[0])}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${B(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${j.verb} ${I}${D.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 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.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 ${D.origin} ${j.verb} ${I}${D.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 ${D.origin} \u10D8\u10E7\u10DD\u10E1 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"-\u10D8\u10D7`;if(I.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 "${I.suffix}"-\u10D8\u10D7`;if(I.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 "${I.includes}"-\u10E1`;if(I.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 ${I.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${D.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${D.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${D.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${D.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var q5=f(()=>{c()});function ED(){return{localeError:BV()}}var BV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${N}`}case"invalid_value":if(D.values.length===1)return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${F(D.values[0])}`;return`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${I} ${D.maximum.toString()} ${j.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"} ${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${I} ${D.minimum.toString()} ${j.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${D.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${B(D.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var ZA=f(()=>{c()});function bA(){return ED()}var B5=f(()=>{ZA()});function HA(){return{localeError:KV()}}var KV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${I}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${N}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${F(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${B(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let I=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",j=I==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",N=$(D.origin),O=N?.unit??"\uC694\uC18C";if(N)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${O} ${I}${j}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${I}${j}`}case"too_small":{let I=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",j=I==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",N=$(D.origin),O=N?.unit??"\uC694\uC18C";if(N)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${O} ${I}${j}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${I}${j}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${I.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(I.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${I.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(I.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${I.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(I.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${I.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${g[I.format]??D.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${D.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${B(D.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${D.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${D.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var K5=f(()=>{c()});function V5(_){let $=Math.abs(_),g=$%10,U=$%100;if(U>=11&&U<=19||g===0)return"many";if(g===1)return"one";return"few"}function kA(){return{localeError:VV()}}var OD=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},VV=()=>{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,I,j,N){let O=_[D]??null;if(O===null)return O;return{unit:O.unit[I],verb:O.verb[N][j?"inclusive":"notInclusive"]}}let g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${N}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${N}, o tik\u0117tasi - ${I}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${F(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${B(D.values,"|")} pasirinkim\u0173`;case"too_big":{let I=U[D.origin]??D.origin,j=$(D.origin,V5(Number(D.maximum)),D.inclusive??!1,"smaller");if(j?.verb)return`${OD(I??D.origin??"reik\u0161m\u0117")} ${j.verb} ${D.maximum.toString()} ${j.unit??"element\u0173"}`;let N=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${OD(I??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${N} ${D.maximum.toString()} ${j?.unit}`}case"too_small":{let I=U[D.origin]??D.origin,j=$(D.origin,V5(Number(D.minimum)),D.inclusive??!1,"bigger");if(j?.verb)return`${OD(I??D.origin??"reik\u0161m\u0117")} ${j.verb} ${D.minimum.toString()} ${j.unit??"element\u0173"}`;let N=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${OD(I??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${N} ${D.minimum.toString()} ${j?.unit}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${I.prefix}"`;if(I.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${I.suffix}"`;if(I.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${I.includes}"`;if(I.format==="regex")return`Eilut\u0117 privalo atitikti ${I.pattern}`;return`Neteisingas ${g[I.format]??D.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${D.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${D.keys.length>1?"i":"as"} rakt${D.keys.length>1?"ai":"as"}: ${B(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let I=U[D.origin]??D.origin;return`${OD(I??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var F5=f(()=>{c()});function CA(){return{localeError:FV()}}var FV=()=>{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 g={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"},U={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${I}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${N}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${F(D.values[0])}`;return`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${I}${D.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 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)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 ${I}${D.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 ${D.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`Invalid ${g[I.format]??D.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${D.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${D.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var M5=f(()=>{c()});function rA(){return{localeError:MV()}}var MV=()=>{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 g={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"},U={nan:"NaN",number:"nombor"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${N}`;return`Input tidak sah: dijangka ${I}, diterima ${N}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${F(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Terlalu kecil: dijangka ${D.origin} ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Terlalu kecil: dijangka ${D.origin} adalah ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`String tidak sah: mesti bermula dengan "${I.prefix}"`;if(I.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${I.suffix}"`;if(I.format==="includes")return`String tidak sah: mesti mengandungi "${I.includes}"`;if(I.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${I.pattern}`;return`${g[I.format]??D.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${B(D.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${D.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${D.origin}`;default:return"Input tidak sah"}}};var Z5=f(()=>{c()});function vA(){return{localeError:ZV()}}var ZV=()=>{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 g={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"},U={nan:"NaN",number:"getal"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${N}`;return`Ongeldige invoer: verwacht ${I}, ontving ${N}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${F(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin),N=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(j)return`Te ${N}: verwacht dat ${D.origin??"waarde"} ${I}${D.maximum.toString()} ${j.unit??"elementen"} ${j.verb}`;return`Te ${N}: verwacht dat ${D.origin??"waarde"} ${I}${D.maximum.toString()} is`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin),N=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(j)return`Te ${N}: verwacht dat ${D.origin} ${I}${D.minimum.toString()} ${j.unit} ${j.verb}`;return`Te ${N}: verwacht dat ${D.origin} ${I}${D.minimum.toString()} is`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ongeldige tekst: moet met "${I.prefix}" beginnen`;if(I.format==="ends_with")return`Ongeldige tekst: moet op "${I.suffix}" eindigen`;if(I.format==="includes")return`Ongeldige tekst: moet "${I.includes}" bevatten`;if(I.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${I.pattern}`;return`Ongeldig: ${g[I.format]??D.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${D.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${D.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${D.origin}`;default:return"Ongeldige invoer"}}};var b5=f(()=>{c()});function fA(){return{localeError:bV()}}var bV=()=>{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 g={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"},U={nan:"NaN",number:"tall",array:"liste"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${N}`;return`Ugyldig input: forventet ${I}, fikk ${N}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${F(D.values[0])}`;return`Ugyldig valg: forventet en av ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${I}${D.maximum.toString()} ${j.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`For lite(n): forventet ${D.origin} til \xE5 ha ${I}${D.minimum.toString()} ${j.unit}`;return`For lite(n): forventet ${D.origin} til \xE5 ha ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${I.prefix}"`;if(I.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${I.suffix}"`;if(I.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${I.includes}"`;if(I.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${I.pattern}`;return`Ugyldig ${g[I.format]??D.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${D.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${D.origin}`;default:return"Ugyldig input"}}};var H5=f(()=>{c()});function wA(){return{localeError:HV()}}var HV=()=>{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 g={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"},U={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${N}`;return`F\xE2sit giren: umulan ${I}, al\u0131nan ${N}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${F(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${I}${D.maximum.toString()} ${j.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${I}${D.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${I}${D.minimum.toString()} ${j.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${I}${D.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`F\xE2sit metin: "${I.prefix}" ile ba\u015Flamal\u0131.`;if(I.format==="ends_with")return`F\xE2sit metin: "${I.suffix}" ile bitmeli.`;if(I.format==="includes")return`F\xE2sit metin: "${I.includes}" ihtiv\xE2 etmeli.`;if(I.format==="regex")return`F\xE2sit metin: ${I.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${g[I.format]??D.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${D.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${D.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var k5=f(()=>{c()});function uA(){return{localeError:kV()}}var kV=()=>{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 g={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"},U={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${I} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${N} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(D.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${F(D.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${B(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${I}${D.maximum.toString()} ${j.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 ${I}${D.maximum.toString()} \u0648\u064A`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} ${j.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${I}${D.minimum.toString()} \u0648\u064A`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${I.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(I.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${I.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(I.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${I.includes}" \u0648\u0644\u0631\u064A`;if(I.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${I.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${g[I.format]??D.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${D.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${D.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${B(D.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${D.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${D.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var C5=f(()=>{c()});function xA(){return{localeError:CV()}}var CV=()=>{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 g={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"},U={nan:"NaN",number:"liczba",array:"tablica"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${N}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${I}, otrzymano ${N}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${F(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${I}${D.maximum.toString()} ${j.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${I}${D.minimum.toString()} ${j.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${I.prefix}"`;if(I.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${I.suffix}"`;if(I.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${I.includes}"`;if(I.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${I.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${g[I.format]??D.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${D.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${D.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${D.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var r5=f(()=>{c()});function yA(){return{localeError:rV()}}var rV=()=>{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 g={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"},U={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${N}`;return`Tipo inv\xE1lido: esperado ${I}, recebido ${N}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${F(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${I}${D.maximum.toString()} ${j.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Muito pequeno: esperado que ${D.origin} tivesse ${I}${D.minimum.toString()} ${j.unit}`;return`Muito pequeno: esperado que ${D.origin} fosse ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${I.prefix}"`;if(I.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${I.suffix}"`;if(I.format==="includes")return`Texto inv\xE1lido: deve incluir "${I.includes}"`;if(I.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${I.pattern}`;return`${g[I.format]??D.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Chave${D.keys.length>1?"s":""} desconhecida${D.keys.length>1?"s":""}: ${B(D.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${D.origin}`;default:return"Campo inv\xE1lido"}}};var v5=f(()=>{c()});function hA(){return{localeError:vV()}}var vV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;return`Intrare invalid\u0103: a\u0219teptat ${I}, primit ${N}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${F(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} s\u0103 fie ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Prea mic: a\u0219teptat ca ${D.origin} ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Prea mic: a\u0219teptat ca ${D.origin} s\u0103 fie ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${I.prefix}"`;if(I.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${I.suffix}"`;if(I.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${I.includes}"`;if(I.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${I.pattern}`;return`Format invalid: ${g[I.format]??D.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${D.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${B(D.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${D.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${D.origin}`;default:return"Intrare invalid\u0103"}}};var f5=f(()=>{c()});function w5(_,$,g,U){let D=Math.abs(_),I=D%10,j=D%100;if(j>=11&&j<=19)return U;if(I===1)return $;if(I>=2&&I<=4)return g;return U}function cA(){return{localeError:fV()}}var fV=()=>{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 g={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"},U={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${I}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${F(D.values[0])}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j){let N=Number(D.maximum),O=w5(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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${I}${D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j){let N=Number(D.minimum),O=w5(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 ${D.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${I}${D.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 ${D.origin} \u0431\u0443\u0434\u0435\u0442 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${D.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0438":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var u5=f(()=>{c()});function nA(){return{localeError:wV()}}var wV=()=>{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 g={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"},U={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${N}`;return`Neveljaven vnos: pri\u010Dakovano ${I}, prejeto ${N}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${F(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${I}${D.maximum.toString()} ${j.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${I}${D.minimum.toString()} ${j.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${I.prefix}"`;if(I.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${I.suffix}"`;if(I.format==="includes")return`Neveljaven niz: mora vsebovati "${I.includes}"`;if(I.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${I.pattern}`;return`Neveljaven ${g[I.format]??D.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${D.divisor}`;case"unrecognized_keys":return`Neprepoznan${D.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${B(D.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${D.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${D.origin}`;default:return"Neveljaven vnos"}}};var x5=f(()=>{c()});function dA(){return{localeError:uV()}}var uV=()=>{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 g={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"},U={nan:"NaN",number:"antal",array:"lista"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${N}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${I}, fick ${N}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${F(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${I}${D.maximum.toString()} ${j.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${D.origin??"v\xE4rdet"} att ha ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${I}${D.minimum.toString()} ${j.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${I.prefix}"`;if(I.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${I.suffix}"`;if(I.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${I.includes}"`;if(I.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${I.pattern}"`;return`Ogiltig(t) ${g[I.format]??D.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${B(D.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${D.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${D.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var y5=f(()=>{c()});function mA(){return{localeError:xV()}}var xV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${N}`}case"invalid_value":if(D.values.length===1)return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${F(D.values[0])}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${B(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${I}${D.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 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${I}${D.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.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 ${D.origin} ${I}${D.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 ${D.origin} ${I}${D.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${I.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(I.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${I.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(I.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${I.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(I.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${I.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 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${D.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${D.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var h5=f(()=>{c()});function iA(){return{localeError:yV()}}var yV=()=>{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 g={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"},U={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 I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${N}`}case"invalid_value":if(D.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${F(D.values[0])}`;return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",j=$(D.origin);if(j)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${I} ${D.maximum.toString()} ${j.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${I} ${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",j=$(D.origin);if(j)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${I} ${D.minimum.toString()} ${j.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${I} ${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(I.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 ${I.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${g[I.format]??D.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${D.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${B(D.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var c5=f(()=>{c()});function lA(){return{localeError:hV()}}var hV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${N}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${I}, al\u0131nan ${N}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${F(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${I}${D.maximum.toString()} ${j.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${I}${D.minimum.toString()} ${j.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Ge\xE7ersiz metin: "${I.prefix}" ile ba\u015Flamal\u0131`;if(I.format==="ends_with")return`Ge\xE7ersiz metin: "${I.suffix}" ile bitmeli`;if(I.format==="includes")return`Ge\xE7ersiz metin: "${I.includes}" i\xE7ermeli`;if(I.format==="regex")return`Ge\xE7ersiz metin: ${I.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${g[I.format]??D.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${D.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${D.keys.length>1?"lar":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${D.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var n5=f(()=>{c()});function AD(){return{localeError:cV()}}var cV=()=>{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 g={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"},U={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${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 ${I}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${N}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${F(D.values[0])}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${j.verb} ${I}${D.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 ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.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 ${D.origin} ${j.verb} ${I}${D.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 ${D.origin} \u0431\u0443\u0434\u0435 ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.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 "${I.suffix}"`;if(I.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 "${I.includes}"`;if(I.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 ${I.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0456":""}: ${B(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${D.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var tA=f(()=>{c()});function oA(){return AD()}var d5=f(()=>{tA()});function pA(){return{localeError:nV()}}var nV=()=>{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 g={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"},U={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${I} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${N} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${F(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${B(D.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${I}${D.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: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${I}${D.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${I}${D.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: ${D.origin} \u06A9\u0627 ${I}${D.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${I.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(I.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${I.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(I.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${I.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(I.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${I.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${D.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${D.keys.length>1?"\u0632":""}: ${B(D.keys,"\u060C ")}`;case"invalid_key":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var m5=f(()=>{c()});function eA(){return{localeError:dV()}}var dV=()=>{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 g={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"},U={nan:"NaN",number:"raqam",array:"massiv"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${N}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${I}, qabul qilingan ${N}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${F(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${I}${D.maximum.toString()} ${j.unit} ${j.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Juda kichik: kutilgan ${D.origin} ${I}${D.minimum.toString()} ${j.unit} ${j.verb}`;return`Juda kichik: kutilgan ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${I.prefix}" bilan boshlanishi kerak`;if(I.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${I.suffix}" bilan tugashi kerak`;if(I.format==="includes")return`Noto\u2018g\u2018ri satr: "${I.includes}" ni o\u2018z ichiga olishi kerak`;if(I.format==="regex")return`Noto\u2018g\u2018ri satr: ${I.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${g[I.format]??D.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${D.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${D.keys.length>1?"lar":""}: ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${D.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var i5=f(()=>{c()});function aA(){return{localeError:mV()}}var mV=()=>{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 g={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"},U={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${I}, nh\u1EADn \u0111\u01B0\u1EE3c ${N}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${F(D.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${j.verb} ${I}${D.maximum.toString()} ${j.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${j.verb} ${I}${D.minimum.toString()} ${j.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${I.prefix}"`;if(I.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${I.suffix}"`;if(I.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${I.includes}"`;if(I.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${I.pattern}`;return`${g[I.format]??D.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${D.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${B(D.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var l5=f(()=>{c()});function sA(){return{localeError:iV()}}var iV=()=>{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 g={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"},U={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${N}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${I}\uFF0C\u5B9E\u9645\u63A5\u6536 ${N}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${F(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${I}${D.maximum.toString()} ${j.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${I}${D.minimum.toString()} ${j.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${I.prefix}" \u5F00\u5934`;if(I.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${I.suffix}" \u7ED3\u5C3E`;if(I.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${I.includes}"`;if(I.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${I.pattern}`;return`\u65E0\u6548${g[I.format]??D.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${D.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${B(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${D.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var t5=f(()=>{c()});function _L(){return{localeError:lV()}}var lV=()=>{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 g={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"},U={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${N}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${I}\uFF0C\u4F46\u6536\u5230 ${N}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${F(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${I}${D.maximum.toString()} ${j.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${I}${D.maximum.toString()}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${I}${D.minimum.toString()} ${j.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${I}${D.minimum.toString()}`}case"invalid_format":{let I=D;if(I.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${I.prefix}" \u958B\u982D`;if(I.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${I.suffix}" \u7D50\u5C3E`;if(I.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${I.includes}"`;if(I.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${I.pattern}`;return`\u7121\u6548\u7684 ${g[I.format]??D.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${D.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${D.keys.length>1?"\u5011":""}\uFF1A${B(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var o5=f(()=>{c()});function $L(){return{localeError:tV()}}var tV=()=>{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 g={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"},U={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(D)=>{switch(D.code){case"invalid_type":{let I=U[D.expected]??D.expected,j=M(D.input),N=U[j]??j;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 ${N}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${I}, \xE0m\u1ECD\u0300 a r\xED ${N}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${F(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${B(D.values,"|")}`;case"too_big":{let I=D.inclusive?"<=":"<",j=$(D.origin);if(j)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${j.verb} ${I}${D.maximum} ${j.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${I}${D.maximum}`}case"too_small":{let I=D.inclusive?">=":">",j=$(D.origin);if(j)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${j.verb} ${I}${D.minimum} ${j.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${I}${D.minimum}`}case"invalid_format":{let I=D;if(I.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 "${I.prefix}"`;if(I.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${I.suffix}"`;if(I.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${I.includes}"`;if(I.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${I.pattern}`;return`A\u1E63\xEC\u1E63e: ${g[I.format]??D.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${D.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${B(D.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var p5=f(()=>{c()});var f0={};r$(f0,{zhTW:()=>_L,zhCN:()=>sA,yo:()=>$L,vi:()=>aA,uz:()=>eA,ur:()=>pA,uk:()=>AD,ua:()=>oA,tr:()=>lA,th:()=>iA,ta:()=>mA,sv:()=>dA,sl:()=>nA,ru:()=>cA,ro:()=>hA,pt:()=>yA,ps:()=>uA,pl:()=>xA,ota:()=>wA,no:()=>fA,nl:()=>vA,ms:()=>rA,mk:()=>CA,lt:()=>kA,ko:()=>HA,km:()=>ED,kh:()=>bA,ka:()=>MA,ja:()=>FA,it:()=>VA,is:()=>KA,id:()=>BA,hy:()=>qA,hu:()=>TA,hr:()=>QA,he:()=>YA,frCA:()=>GA,fr:()=>RA,fi:()=>XA,fa:()=>WA,es:()=>SA,eo:()=>zA,en:()=>ND,el:()=>JA,de:()=>LA,da:()=>AA,cs:()=>OA,ca:()=>EA,bg:()=>NA,be:()=>jA,az:()=>IA,ar:()=>UA});var gL=f(()=>{aX();sX();$5();g5();D5();U5();I5();j5();N5();PA();E5();O5();A5();L5();J5();P5();z5();S5();W5();R5();G5();Y5();Q5();T5();q5();B5();ZA();K5();F5();M5();Z5();b5();H5();k5();C5();r5();v5();f5();u5();x5();y5();h5();c5();n5();d5();tA();m5();i5();l5();t5();o5();p5()});class DL{constructor(){this._map=new WeakMap,this._idmap=new Map}add(_,...$){let g=$[0];if(this._map.set(_,g),g&&typeof g==="object"&&"id"in g)this._idmap.set(g.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 g={...this.get($)??{}};delete g.id;let U={...g,...this._map.get(_)};return Object.keys(U).length?U:void 0}return this._map.get(_)}has(_){return this._map.has(_)}}function LD(){return new DL}var e5,tI,oI,w_;var JD=f(()=>{tI=Symbol("ZodOutput"),oI=Symbol("ZodInput");(e5=globalThis).__zod_globalRegistry??(e5.__zod_globalRegistry=LD());w_=globalThis.__zod_globalRegistry});function UL(_,$){return new _({type:"string",...C($)})}function IL(_,$){return new _({type:"string",coerce:!0,...C($)})}function pI(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...C($)})}function PD(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...C($)})}function eI(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...C($)})}function aI(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...C($)})}function sI(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...C($)})}function _1(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...C($)})}function zD(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...C($)})}function $1(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...C($)})}function g1(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...C($)})}function D1(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...C($)})}function U1(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...C($)})}function I1(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...C($)})}function j1(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...C($)})}function N1(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...C($)})}function E1(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...C($)})}function O1(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...C($)})}function jL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...C($)})}function A1(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...C($)})}function L1(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...C($)})}function J1(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...C($)})}function P1(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...C($)})}function z1(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...C($)})}function S1(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...C($)})}function NL(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...C($)})}function EL(_,$){return new _({type:"string",format:"date",check:"string_format",...C($)})}function OL(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...C($)})}function AL(_,$){return new _({type:"string",format:"duration",check:"string_format",...C($)})}function LL(_,$){return new _({type:"number",checks:[],...C($)})}function JL(_,$){return new _({type:"number",coerce:!0,checks:[],...C($)})}function PL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...C($)})}function zL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...C($)})}function SL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...C($)})}function WL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...C($)})}function XL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...C($)})}function RL(_,$){return new _({type:"boolean",...C($)})}function GL(_,$){return new _({type:"boolean",coerce:!0,...C($)})}function YL(_,$){return new _({type:"bigint",...C($)})}function QL(_,$){return new _({type:"bigint",coerce:!0,...C($)})}function TL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...C($)})}function qL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...C($)})}function BL(_,$){return new _({type:"symbol",...C($)})}function KL(_,$){return new _({type:"undefined",...C($)})}function VL(_,$){return new _({type:"null",...C($)})}function FL(_){return new _({type:"any"})}function ML(_){return new _({type:"unknown"})}function ZL(_,$){return new _({type:"never",...C($)})}function bL(_,$){return new _({type:"void",...C($)})}function HL(_,$){return new _({type:"date",...C($)})}function kL(_,$){return new _({type:"date",coerce:!0,...C($)})}function CL(_,$){return new _({type:"nan",...C($)})}function Q$(_,$){return new vI({check:"less_than",...C($),value:_,inclusive:!1})}function g$(_,$){return new vI({check:"less_than",...C($),value:_,inclusive:!0})}function T$(_,$){return new fI({check:"greater_than",...C($),value:_,inclusive:!1})}function h_(_,$){return new fI({check:"greater_than",...C($),value:_,inclusive:!0})}function SD(_){return T$(0,_)}function WD(_){return Q$(0,_)}function XD(_){return g$(0,_)}function RD(_){return h_(0,_)}function U6(_,$){return new F2({check:"multiple_of",...C($),value:_})}function I6(_,$){return new b2({check:"max_size",...C($),maximum:_})}function q$(_,$){return new H2({check:"min_size",...C($),minimum:_})}function k6(_,$){return new k2({check:"size_equals",...C($),size:_})}function C6(_,$){return new C2({check:"max_length",...C($),maximum:_})}function y$(_,$){return new r2({check:"min_length",...C($),minimum:_})}function r6(_,$){return new v2({check:"length_equals",...C($),length:_})}function W4(_,$){return new f2({check:"string_format",format:"regex",...C($),pattern:_})}function X4(_){return new w2({check:"string_format",format:"lowercase",...C(_)})}function R4(_){return new u2({check:"string_format",format:"uppercase",...C(_)})}function G4(_,$){return new x2({check:"string_format",format:"includes",...C($),includes:_})}function Y4(_,$){return new y2({check:"string_format",format:"starts_with",...C($),prefix:_})}function Q4(_,$){return new h2({check:"string_format",format:"ends_with",...C($),suffix:_})}function GD(_,$,g){return new c2({check:"property",property:_,schema:$,...C(g)})}function T4(_,$){return new n2({check:"mime_type",mime:_,...C($)})}function z$(_){return new d2({check:"overwrite",tx:_})}function q4(_){return z$(($)=>$.normalize(_))}function B4(){return z$((_)=>_.trim())}function K4(){return z$((_)=>_.toLowerCase())}function V4(){return z$((_)=>_.toUpperCase())}function F4(){return z$((_)=>yE(_))}function rL(_,$,g){return new _({type:"array",element:$,...C(g)})}function pV(_,$,g){return new _({type:"union",options:$,...C(g)})}function eV(_,$,g){return new _({type:"union",options:$,inclusive:!1,...C(g)})}function aV(_,$,g,U){return new _({type:"union",options:g,discriminator:$,...C(U)})}function sV(_,$,g){return new _({type:"intersection",left:$,right:g})}function _F(_,$,g,U){let D=g instanceof l;return new _({type:"tuple",items:$,rest:D?g:null,...C(D?U:g)})}function $F(_,$,g,U){return new _({type:"record",keyType:$,valueType:g,...C(U)})}function gF(_,$,g,U){return new _({type:"map",keyType:$,valueType:g,...C(U)})}function DF(_,$,g){return new _({type:"set",valueType:$,...C(g)})}function UF(_,$,g){let U=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:U,...C(g)})}function IF(_,$,g){return new _({type:"enum",entries:$,...C(g)})}function jF(_,$,g){return new _({type:"literal",values:Array.isArray($)?$:[$],...C(g)})}function vL(_,$){return new _({type:"file",...C($)})}function NF(_,$){return new _({type:"transform",transform:$})}function EF(_,$){return new _({type:"optional",innerType:$})}function OF(_,$){return new _({type:"nullable",innerType:$})}function AF(_,$,g){return new _({type:"default",innerType:$,get defaultValue(){return typeof g==="function"?g():cE(g)}})}function LF(_,$,g){return new _({type:"nonoptional",innerType:$,...C(g)})}function JF(_,$){return new _({type:"success",innerType:$})}function PF(_,$,g){return new _({type:"catch",innerType:$,catchValue:typeof g==="function"?g:()=>g})}function zF(_,$,g){return new _({type:"pipe",in:$,out:g})}function SF(_,$){return new _({type:"readonly",innerType:$})}function WF(_,$,g){return new _({type:"template_literal",parts:$,...C(g)})}function XF(_,$){return new _({type:"lazy",getter:$})}function RF(_,$){return new _({type:"promise",innerType:$})}function fL(_,$,g){let U=C(g);return U.abort??(U.abort=!0),new _({type:"custom",check:"custom",fn:$,...U})}function wL(_,$,g){return new _({type:"custom",check:"custom",fn:$,...C(g)})}function uL(_,$){let g=a5((U)=>{return U.addIssue=(D)=>{if(typeof D==="string")U.issues.push(F0(D,U.value,g._zod.def));else{let I=D;if(I.fatal)I.continue=!1;I.code??(I.code="custom"),I.input??(I.input=U.value),I.inst??(I.inst=g),I.continue??(I.continue=!g._zod.def.abort),U.issues.push(F0(I))}},_(U.value,U)},$);return g}function a5(_,$){let g=new Y_({check:"custom",...C($)});return g._zod.check=_,g}function xL(_){let $=new Y_({check:"describe"});return $._zod.onattach=[(g)=>{let U=w_.get(g)??{};w_.add(g,{...U,description:_})}],$._zod.check=()=>{},$}function yL(_){let $=new Y_({check:"meta"});return $._zod.onattach=[(g)=>{let U=w_.get(g)??{};w_.add(g,{...U,..._})}],$._zod.check=()=>{},$}function hL(_,$){let g=C($),U=g.truthy??["true","1","yes","on","y","enabled"],D=g.falsy??["false","0","no","off","n","disabled"];if(g.case!=="sensitive")U=U.map((J)=>typeof J==="string"?J.toLowerCase():J),D=D.map((J)=>typeof J==="string"?J.toLowerCase():J);let I=new Set(U),j=new Set(D),N=_.Codec??jD,O=_.Boolean??UD,L=new(_.String??S4)({type:"string",error:g.error}),z=new O({type:"boolean",error:g.error}),W=new N({type:"pipe",in:L,out:z,transform:(J,P)=>{let S=J;if(g.case!=="sensitive")S=S.toLowerCase();if(I.has(S))return!0;else if(j.has(S))return!1;else return P.issues.push({code:"invalid_value",expected:"stringbool",values:[...I,...j],input:P.value,inst:W,continue:!1}),{}},reverseTransform:(J,P)=>{if(J===!0)return U[0]||"true";else return D[0]||"false"},error:g.error});return W}function w0(_,$,g,U={}){let D=C(U),I={...C(U),check:"string_format",type:"string",format:$,fn:typeof g==="function"?g:(N)=>g.test(N),...D};if(g instanceof RegExp)I.pattern=g;return new _(I)}var W1;var s5=f(()=>{wI();JD();DA();c();W1={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function v6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??w_,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 A_(_,$,g={path:[],schemaPath:[]}){var U;let D=_._zod.def,I=$.seen.get(_);if(I){if(I.count++,g.schemaPath.includes(_))I.cycle=g.path;return I.schema}let j={schema:{},count:1,cycle:void 0,path:g.path};$.seen.set(_,j);let N=_._zod.toJSONSchema?.();if(N)j.schema=N;else{let L={...g,schemaPath:[...g.schemaPath,_],path:g.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,j.schema,L);else{let W=j.schema,J=$.processors[D.type];if(!J)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);J(_,$,W,L)}let z=_._zod.parent;if(z){if(!j.ref)j.ref=z;A_(z,$,L),$.seen.get(z).isParent=!0}}let O=$.metadataRegistry.get(_);if(O)Object.assign(j.schema,O);if($.io==="input"&&t_(_))delete j.schema.examples,delete j.schema.default;if($.io==="input"&&"_prefault"in j.schema)(U=j.schema).default??(U.default=j.schema._prefault);return delete j.schema._prefault,$.seen.get(_).schema}function f6(_,$){let g=_.seen.get($);if(!g)throw Error("Unprocessed schema. This is a bug in Zod.");let U=new Map;for(let j of _.seen.entries()){let N=_.metadataRegistry.get(j[0])?.id;if(N){let O=U.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.`);U.set(N,j[0])}}let D=(j)=>{let N=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let z=_.external.registry.get(j[0])?.id,W=_.external.uri??((P)=>P);if(z)return{ref:W(z)};let J=j[1].defId??j[1].schema.id??`schema${_.counter++}`;return j[1].defId=J,{defId:J,ref:`${W("__shared")}#/${N}/${J}`}}if(j[1]===g)return{ref:"#"};let A=`${"#"}/${N}/`,L=j[1].schema.id??`__schema${_.counter++}`;return{defId:L,ref:A+L}},I=(j)=>{if(j[1].schema.$ref)return;let N=j[1],{ref:O,defId:A}=D(j);if(N.def={...N.schema},A)N.defId=A;let L=N.schema;for(let z in L)delete L[z];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("/")}/ -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]){I(j);continue}if(_.external){let A=_.external.registry.get(j[0])?.id;if($!==j[0]&&A){I(j);continue}}if(_.metadataRegistry.get(j[0])?.id){I(j);continue}if(N.cycle){I(j);continue}if(N.count>1){if(_.reused==="ref"){I(j);continue}}}}function w6(_,$){let g=_.seen.get($);if(!g)throw Error("Unprocessed schema. This is a bug in Zod.");let U=(N)=>{let O=_.seen.get(N);if(O.ref===null)return;let A=O.def??O.schema,L={...A},z=O.ref;if(O.ref=null,z){U(z);let J=_.seen.get(z),P=J.schema;if(P.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))A.allOf=A.allOf??[],A.allOf.push(P);else Object.assign(A,P);if(Object.assign(A,L),N._zod.parent===z)for(let X in A){if(X==="$ref"||X==="allOf")continue;if(!(X in L))delete A[X]}if(P.$ref&&J.def)for(let X in A){if(X==="$ref"||X==="allOf")continue;if(X in J.def&&JSON.stringify(A[X])===JSON.stringify(J.def[X]))delete A[X]}}let W=N._zod.parent;if(W&&W!==z){U(W);let J=_.seen.get(W);if(J?.schema.$ref){if(A.$ref=J.schema.$ref,J.def)for(let P in A){if(P==="$ref"||P==="allOf")continue;if(P in J.def&&JSON.stringify(A[P])===JSON.stringify(J.def[P]))delete A[P]}}}_.override({zodSchema:N,jsonSchema:A,path:O.path??[]})};for(let N of[..._.seen.entries()].reverse())U(N[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 N=_.external.registry.get($)?.id;if(!N)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(N)}Object.assign(D,g.def??g.schema);let I=_.metadataRegistry.get($)?.id;if(I!==void 0&&D.id===I)delete D.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")D.$defs=j;else D.definitions=j;try{let N=JSON.parse(JSON.stringify(D));return Object.defineProperty(N,"~standard",{value:{...$["~standard"],jsonSchema:{input:u0($,"input",_.processors),output:u0($,"output",_.processors)}},enumerable:!1,writable:!1}),N}catch(N){throw Error("Error converting schema to JSON.")}}function t_(_,$){let g=$??{seen:new Set};if(g.seen.has(_))return!1;g.seen.add(_);let U=_._zod.def;if(U.type==="transform")return!0;if(U.type==="array")return t_(U.element,g);if(U.type==="set")return t_(U.valueType,g);if(U.type==="lazy")return t_(U.getter(),g);if(U.type==="promise"||U.type==="optional"||U.type==="nonoptional"||U.type==="nullable"||U.type==="readonly"||U.type==="default"||U.type==="prefault")return t_(U.innerType,g);if(U.type==="intersection")return t_(U.left,g)||t_(U.right,g);if(U.type==="record"||U.type==="map")return t_(U.keyType,g)||t_(U.valueType,g);if(U.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return t_(U.in,g)||t_(U.out,g)}if(U.type==="object"){for(let D in U.shape)if(t_(U.shape[D],g))return!0;return!1}if(U.type==="union"){for(let D of U.options)if(t_(D,g))return!0;return!1}if(U.type==="tuple"){for(let D of U.items)if(t_(D,g))return!0;if(U.rest&&t_(U.rest,g))return!0;return!1}return!1}var cL=(_,$={})=>(g)=>{let U=v6({...g,processors:$});return A_(_,U),f6(U,_),w6(U,_)},u0=(_,$,g={})=>(U)=>{let{libraryOptions:D,target:I}=U??{},j=v6({...D??{},target:I,io:$,processors:g});return A_(_,j),f6(j,_),w6(j,_)};var YD=f(()=>{JD()});function QD(_,$){if("_idmap"in _){let U=_,D=v6({...$,processors:X1}),I={};for(let O of U._idmap.entries()){let[A,L]=O;A_(L,D)}let j={},N={registry:U,uri:$?.uri,defs:I};D.external=N;for(let O of U._idmap.entries()){let[A,L]=O;f6(D,L),j[A]=w6(D,L)}if(Object.keys(I).length>0){let O=D.target==="draft-2020-12"?"$defs":"definitions";j.__shared={[O]:I}}return{schemas:j}}let g=v6({...$,processors:X1});return A_(_,g),f6(g,_),w6(g,_)}var RF,nL=(_,$,g,U)=>{let D=g;D.type="string";let{minimum:I,maximum:j,format:N,patterns:O,contentEncoding:A}=_._zod.bag;if(typeof I==="number")D.minLength=I;if(typeof j==="number")D.maxLength=j;if(N){if(D.format=RF[N]??N,D.format==="")delete D.format;if(N==="time")delete D.format}if(A)D.contentEncoding=A;if(O&&O.size>0){let L=[...O];if(L.length===1)D.pattern=L[0].source;else if(L.length>1)D.allOf=[...L.map((z)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:z.source}))]}},dL=(_,$,g,U)=>{let D=g,{minimum:I,maximum:j,format:N,multipleOf:O,exclusiveMaximum:A,exclusiveMinimum:L}=_._zod.bag;if(typeof N==="string"&&N.includes("int"))D.type="integer";else D.type="number";let z=typeof L==="number"&&L>=(I??Number.NEGATIVE_INFINITY),W=typeof A==="number"&&A<=(j??Number.POSITIVE_INFINITY),J=$.target==="draft-04"||$.target==="openapi-3.0";if(z)if(J)D.minimum=L,D.exclusiveMinimum=!0;else D.exclusiveMinimum=L;else if(typeof I==="number")D.minimum=I;if(W)if(J)D.maximum=A,D.exclusiveMaximum=!0;else D.exclusiveMaximum=A;else if(typeof j==="number")D.maximum=j;if(typeof O==="number")D.multipleOf=O},mL=(_,$,g,U)=>{g.type="boolean"},iL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},lL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},tL=(_,$,g,U)=>{if($.target==="openapi-3.0")g.type="string",g.nullable=!0,g.enum=[null];else g.type="null"},oL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},pL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},eL=(_,$,g,U)=>{g.not={}},aL=(_,$,g,U)=>{},sL=(_,$,g,U)=>{},_J=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},$J=(_,$,g,U)=>{let D=_._zod.def,I=og(D.entries);if(I.every((j)=>typeof j==="number"))g.type="number";if(I.every((j)=>typeof j==="string"))g.type="string";g.enum=I},gJ=(_,$,g,U)=>{let D=_._zod.def,I=[];for(let j of D.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 I.push(Number(j));else I.push(j);if(I.length===0);else if(I.length===1){let j=I[0];if(g.type=j===null?"null":typeof j,$.target==="draft-04"||$.target==="openapi-3.0")g.enum=[j];else g.const=j}else{if(I.every((j)=>typeof j==="number"))g.type="number";if(I.every((j)=>typeof j==="string"))g.type="string";if(I.every((j)=>typeof j==="boolean"))g.type="boolean";if(I.every((j)=>j===null))g.type="null";g.enum=I}},DJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},UJ=(_,$,g,U)=>{let D=g,I=_._zod.pattern;if(!I)throw Error("Pattern not found in template literal");D.type="string",D.pattern=I.source},IJ=(_,$,g,U)=>{let D=g,I={type:"string",format:"binary",contentEncoding:"binary"},{minimum:j,maximum:N,mime:O}=_._zod.bag;if(j!==void 0)I.minLength=j;if(N!==void 0)I.maxLength=N;if(O)if(O.length===1)I.contentMediaType=O[0],Object.assign(D,I);else Object.assign(D,I),D.anyOf=O.map((A)=>({contentMediaType:A}));else Object.assign(D,I)},jJ=(_,$,g,U)=>{g.type="boolean"},NJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},EJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},OJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},AJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},LJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},JJ=(_,$,g,U)=>{let D=g,I=_._zod.def,{minimum:j,maximum:N}=_._zod.bag;if(typeof j==="number")D.minItems=j;if(typeof N==="number")D.maxItems=N;D.type="array",D.items=A_(I.element,$,{...U,path:[...U.path,"items"]})},PJ=(_,$,g,U)=>{let D=g,I=_._zod.def;D.type="object",D.properties={};let j=I.shape;for(let A in j)D.properties[A]=A_(j[A],$,{...U,path:[...U.path,"properties",A]});let N=new Set(Object.keys(j)),O=new Set([...N].filter((A)=>{let L=I.shape[A]._zod;if($.io==="input")return L.optin===void 0;else return L.optout===void 0}));if(O.size>0)D.required=Array.from(O);if(I.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!I.catchall){if($.io==="output")D.additionalProperties=!1}else if(I.catchall)D.additionalProperties=A_(I.catchall,$,{...U,path:[...U.path,"additionalProperties"]})},R1=(_,$,g,U)=>{let D=_._zod.def,I=D.inclusive===!1,j=D.options.map((N,O)=>A_(N,$,{...U,path:[...U.path,I?"oneOf":"anyOf",O]}));if(I)g.oneOf=j;else g.anyOf=j},zJ=(_,$,g,U)=>{let D=_._zod.def,I=A_(D.left,$,{...U,path:[...U.path,"allOf",0]}),j=A_(D.right,$,{...U,path:[...U.path,"allOf",1]}),N=(A)=>("allOf"in A)&&Object.keys(A).length===1,O=[...N(I)?I.allOf:[I],...N(j)?j.allOf:[j]];g.allOf=O},SJ=(_,$,g,U)=>{let D=g,I=_._zod.def;D.type="array";let j=$.target==="draft-2020-12"?"prefixItems":"items",N=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",O=I.items.map((W,J)=>A_(W,$,{...U,path:[...U.path,j,J]})),A=I.rest?A_(I.rest,$,{...U,path:[...U.path,N,...$.target==="openapi-3.0"?[I.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=O,A)D.items=A}else if($.target==="openapi-3.0"){if(D.items={anyOf:O},A)D.items.anyOf.push(A);if(D.minItems=O.length,!A)D.maxItems=O.length}else if(D.items=O,A)D.additionalItems=A;let{minimum:L,maximum:z}=_._zod.bag;if(typeof L==="number")D.minItems=L;if(typeof z==="number")D.maxItems=z},WJ=(_,$,g,U)=>{let D=g,I=_._zod.def;D.type="object";let j=I.keyType,O=j._zod.bag?.patterns;if(I.mode==="loose"&&O&&O.size>0){let L=A_(I.valueType,$,{...U,path:[...U.path,"patternProperties","*"]});D.patternProperties={};for(let z of O)D.patternProperties[z.source]=L}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=A_(I.keyType,$,{...U,path:[...U.path,"propertyNames"]});D.additionalProperties=A_(I.valueType,$,{...U,path:[...U.path,"additionalProperties"]})}let A=j._zod.values;if(A){let L=[...A].filter((z)=>typeof z==="string"||typeof z==="number");if(L.length>0)D.required=L}},XJ=(_,$,g,U)=>{let D=_._zod.def,I=A_(D.innerType,$,U),j=$.seen.get(_);if($.target==="openapi-3.0")j.ref=D.innerType,g.nullable=!0;else g.anyOf=[I,{type:"null"}]},RJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType},GJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType,g.default=JSON.parse(JSON.stringify(D.defaultValue))},YJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);if(I.ref=D.innerType,$.io==="input")g._prefault=JSON.parse(JSON.stringify(D.defaultValue))},QJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType;let j;try{j=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}g.default=j},TJ=(_,$,g,U)=>{let D=_._zod.def,I=D.in._zod.traits.has("$ZodTransform"),j=$.io==="input"?I?D.out:D.in:D.out;A_(j,$,U);let N=$.seen.get(_);N.ref=j},qJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType,g.readOnly=!0},BJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType},G1=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType},KJ=(_,$,g,U)=>{let D=_._zod.innerType;A_(D,$,U);let I=$.seen.get(_);I.ref=D},X1;var TD=f(()=>{YD();c();RF={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},X1={string:nL,number:dL,boolean:mL,bigint:iL,symbol:lL,null:tL,undefined:oL,void:pL,never:eL,any:aL,unknown:sL,date:_J,enum:$J,literal:gJ,nan:DJ,template_literal:UJ,file:IJ,success:jJ,custom:NJ,function:EJ,transform:OJ,map:AJ,set:LJ,array:JJ,object:PJ,union:R1,intersection:zJ,tuple:SJ,record:WJ,nullable:XJ,nonoptional:RJ,default:GJ,prefault:YJ,catch:QJ,pipe:TJ,readonly:qJ,promise:BJ,optional:G1,lazy:KJ}});class VJ{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=v6({processors:X1,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return A_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}f6(this.ctx,_);let g=w6(this.ctx,_),{"~standard":U,...D}=g;return D}}var s5=f(()=>{TD();YD()});var _R={};var $R=()=>{};var h$={};r$(h$,{version:()=>m2,util:()=>H,treeifyError:()=>QI,toJSONSchema:()=>QD,toDotPath:()=>KX,safeParseAsync:()=>pE,safeParse:()=>oE,safeEncodeAsync:()=>QK,safeEncode:()=>GK,safeDecodeAsync:()=>TK,safeDecode:()=>YK,registry:()=>LD,regexes:()=>$$,process:()=>A_,prettifyError:()=>TI,parseAsync:()=>BI,parse:()=>qI,meta:()=>yL,locales:()=>f0,isValidJWT:()=>lX,isValidBase64URL:()=>iX,isValidBase64:()=>zO,initializeContext:()=>v6,globalRegistry:()=>w_,globalConfig:()=>A4,formatError:()=>Z0,flattenError:()=>M0,finalize:()=>w6,extractDefs:()=>f6,encodeAsync:()=>XK,encode:()=>SK,describe:()=>xL,decodeAsync:()=>RK,decode:()=>WK,createToJSONSchemaMethod:()=>cL,createStandardJSONSchemaMethod:()=>u0,config:()=>Z_,clone:()=>y_,_xor:()=>pV,_xid:()=>j1,_void:()=>bL,_uuidv7:()=>_1,_uuidv6:()=>sI,_uuidv4:()=>aI,_uuid:()=>eI,_url:()=>zD,_uppercase:()=>R4,_unknown:()=>ML,_union:()=>oV,_undefined:()=>KL,_ulid:()=>I1,_uint64:()=>qL,_uint32:()=>XL,_tuple:()=>sV,_trim:()=>B4,_transform:()=>jF,_toUpperCase:()=>V4,_toLowerCase:()=>K4,_templateLiteral:()=>SF,_symbol:()=>BL,_superRefine:()=>uL,_success:()=>LF,_stringbool:()=>hL,_stringFormat:()=>w0,_string:()=>UL,_startsWith:()=>Y4,_slugify:()=>F4,_size:()=>k6,_set:()=>gF,_safeParseAsync:()=>C0,_safeParse:()=>k0,_safeEncodeAsync:()=>HI,_safeEncode:()=>ZI,_safeDecodeAsync:()=>kI,_safeDecode:()=>bI,_regex:()=>W4,_refine:()=>wL,_record:()=>_F,_readonly:()=>zF,_property:()=>GD,_promise:()=>XF,_positive:()=>SD,_pipe:()=>PF,_parseAsync:()=>H0,_parse:()=>b0,_overwrite:()=>z$,_optional:()=>NF,_number:()=>LL,_nullable:()=>EF,_null:()=>VL,_normalize:()=>q4,_nonpositive:()=>XD,_nonoptional:()=>AF,_nonnegative:()=>RD,_never:()=>ZL,_negative:()=>WD,_nativeEnum:()=>UF,_nanoid:()=>g1,_nan:()=>CL,_multipleOf:()=>U6,_minSize:()=>q$,_minLength:()=>y$,_min:()=>h_,_mime:()=>T4,_maxSize:()=>I6,_maxLength:()=>C6,_max:()=>g$,_map:()=>$F,_mac:()=>jL,_lte:()=>g$,_lt:()=>Q$,_lowercase:()=>X4,_literal:()=>IF,_length:()=>r6,_lazy:()=>WF,_ksuid:()=>N1,_jwt:()=>S1,_isoTime:()=>OL,_isoDuration:()=>AL,_isoDateTime:()=>NL,_isoDate:()=>EL,_ipv6:()=>O1,_ipv4:()=>E1,_intersection:()=>aV,_int64:()=>TL,_int32:()=>WL,_int:()=>PL,_includes:()=>G4,_guid:()=>PD,_gte:()=>h_,_gt:()=>T$,_float64:()=>SL,_float32:()=>zL,_file:()=>vL,_enum:()=>DF,_endsWith:()=>Q4,_encodeAsync:()=>FI,_encode:()=>KI,_emoji:()=>$1,_email:()=>pI,_e164:()=>z1,_discriminatedUnion:()=>eV,_default:()=>OF,_decodeAsync:()=>MI,_decode:()=>VI,_date:()=>HL,_custom:()=>fL,_cuid2:()=>U1,_cuid:()=>D1,_coercedString:()=>IL,_coercedNumber:()=>JL,_coercedDate:()=>kL,_coercedBoolean:()=>GL,_coercedBigint:()=>QL,_cidrv6:()=>L1,_cidrv4:()=>A1,_check:()=>e5,_catch:()=>JF,_boolean:()=>RL,_bigint:()=>YL,_base64url:()=>P1,_base64:()=>J1,_array:()=>rL,_any:()=>FL,TimePrecision:()=>W1,NEVER:()=>XI,JSONSchemaGenerator:()=>VJ,JSONSchema:()=>_R,Doc:()=>uI,$output:()=>tI,$input:()=>oI,$constructor:()=>Y,$brand:()=>RI,$ZodXor:()=>kO,$ZodXID:()=>DO,$ZodVoid:()=>MO,$ZodUnknown:()=>VO,$ZodUnion:()=>ID,$ZodUndefined:()=>qO,$ZodUUID:()=>o2,$ZodURL:()=>e2,$ZodULID:()=>gO,$ZodType:()=>l,$ZodTuple:()=>mI,$ZodTransform:()=>hO,$ZodTemplateLiteral:()=>aO,$ZodSymbol:()=>TO,$ZodSuccess:()=>lO,$ZodStringFormat:()=>R_,$ZodString:()=>S4,$ZodSet:()=>wO,$ZodRegistry:()=>DL,$ZodRecord:()=>vO,$ZodRealError:()=>_$,$ZodReadonly:()=>eO,$ZodPromise:()=>_A,$ZodPreprocess:()=>pO,$ZodPrefault:()=>mO,$ZodPipe:()=>lI,$ZodOptional:()=>iI,$ZodObjectJIT:()=>HO,$ZodObject:()=>pX,$ZodNumberFormat:()=>YO,$ZodNumber:()=>nI,$ZodNullable:()=>nO,$ZodNull:()=>BO,$ZodNonOptional:()=>iO,$ZodNever:()=>FO,$ZodNanoID:()=>s2,$ZodNaN:()=>oO,$ZodMap:()=>fO,$ZodMAC:()=>LO,$ZodLiteral:()=>xO,$ZodLazy:()=>$A,$ZodKSUID:()=>UO,$ZodJWT:()=>RO,$ZodIntersection:()=>rO,$ZodISOTime:()=>NO,$ZodISODuration:()=>EO,$ZodISODateTime:()=>IO,$ZodISODate:()=>jO,$ZodIPv6:()=>AO,$ZodIPv4:()=>OO,$ZodGUID:()=>t2,$ZodFunction:()=>sO,$ZodFile:()=>yO,$ZodExactOptional:()=>cO,$ZodError:()=>_D,$ZodEnum:()=>uO,$ZodEncodeError:()=>L4,$ZodEmoji:()=>a2,$ZodEmail:()=>p2,$ZodE164:()=>XO,$ZodDiscriminatedUnion:()=>CO,$ZodDefault:()=>dO,$ZodDate:()=>ZO,$ZodCustomStringFormat:()=>GO,$ZodCustom:()=>gA,$ZodCodec:()=>jD,$ZodCheckUpperCase:()=>u2,$ZodCheckStringFormat:()=>r0,$ZodCheckStartsWith:()=>y2,$ZodCheckSizeEquals:()=>k2,$ZodCheckRegex:()=>f2,$ZodCheckProperty:()=>c2,$ZodCheckOverwrite:()=>d2,$ZodCheckNumberFormat:()=>M2,$ZodCheckMultipleOf:()=>F2,$ZodCheckMinSize:()=>H2,$ZodCheckMinLength:()=>r2,$ZodCheckMimeType:()=>n2,$ZodCheckMaxSize:()=>b2,$ZodCheckMaxLength:()=>C2,$ZodCheckLowerCase:()=>w2,$ZodCheckLessThan:()=>vI,$ZodCheckLengthEquals:()=>v2,$ZodCheckIncludes:()=>x2,$ZodCheckGreaterThan:()=>fI,$ZodCheckEndsWith:()=>h2,$ZodCheckBigIntFormat:()=>Z2,$ZodCheck:()=>Y_,$ZodCatch:()=>tO,$ZodCUID2:()=>$O,$ZodCUID:()=>_O,$ZodCIDRv6:()=>PO,$ZodCIDRv4:()=>JO,$ZodBoolean:()=>UD,$ZodBigIntFormat:()=>QO,$ZodBigInt:()=>dI,$ZodBase64URL:()=>WO,$ZodBase64:()=>SO,$ZodAsyncError:()=>x$,$ZodArray:()=>bO,$ZodAny:()=>KO});var N$=f(()=>{c();rI();gL();TD();s5();$R();J4();eE();tE();DA();wI();i2();JD();a5();YD()});var Y1={};r$(Y1,{uppercase:()=>R4,trim:()=>B4,toUpperCase:()=>V4,toLowerCase:()=>K4,startsWith:()=>Y4,slugify:()=>F4,size:()=>k6,regex:()=>W4,property:()=>GD,positive:()=>SD,overwrite:()=>z$,normalize:()=>q4,nonpositive:()=>XD,nonnegative:()=>RD,negative:()=>WD,multipleOf:()=>U6,minSize:()=>q$,minLength:()=>y$,mime:()=>T4,maxSize:()=>I6,maxLength:()=>C6,lte:()=>g$,lt:()=>Q$,lowercase:()=>X4,length:()=>r6,includes:()=>G4,gte:()=>h_,gt:()=>T$,endsWith:()=>Q4});var Q1=f(()=>{N$()});var M4={};r$(M4,{time:()=>ZJ,duration:()=>bJ,datetime:()=>FJ,date:()=>MJ,ZodISOTime:()=>KD,ZodISODuration:()=>VD,ZodISODateTime:()=>qD,ZodISODate:()=>BD});function FJ(_){return NL(qD,_)}function MJ(_){return EL(BD,_)}function ZJ(_){return OL(KD,_)}function bJ(_){return AL(VD,_)}var qD,BD,KD,VD;var FD=f(()=>{N$();ZD();qD=Y("ZodISODateTime",(_,$)=>{IO.init(_,$),z_.init(_,$)});BD=Y("ZodISODate",(_,$)=>{jO.init(_,$),z_.init(_,$)});KD=Y("ZodISOTime",(_,$)=>{NO.init(_,$),z_.init(_,$)});VD=Y("ZodISODuration",(_,$)=>{EO.init(_,$),z_.init(_,$)})});var gR=(_,$)=>{_D.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(g)=>Z0(_,g)},flatten:{value:(g)=>M0(_,g)},addIssue:{value:(g)=>{_.issues.push(g),_.message=JSON.stringify(_.issues,K0,2)}},addIssues:{value:(g)=>{_.issues.push(...g),_.message=JSON.stringify(_.issues,K0,2)}},isEmpty:{get(){return _.issues.length===0}}})},DR,o_;var HJ=f(()=>{N$();N$();c();DR=Y("ZodError",gR),o_=Y("ZodError",gR,{Parent:Error})});var T1,q1,B1,K1,V1,F1,M1,Z1,b1,H1,k1,C1;var kJ=f(()=>{N$();HJ();T1=b0(o_),q1=H0(o_),B1=k0(o_),K1=C0(o_),V1=KI(o_),F1=VI(o_),M1=FI(o_),Z1=MI(o_),b1=ZI(o_),H1=bI(o_),k1=HI(o_),C1=kI(o_)});var MD={};r$(MD,{xor:()=>qP,xid:()=>iJ,void:()=>XP,uuidv7:()=>uJ,uuidv6:()=>wJ,uuidv4:()=>fJ,uuid:()=>vJ,url:()=>xJ,unknown:()=>u6,union:()=>aD,undefined:()=>SP,ulid:()=>mJ,uint64:()=>PP,uint32:()=>AP,tuple:()=>e1,transform:()=>_U,templateLiteral:()=>wP,symbol:()=>zP,superRefine:()=>Kj,success:()=>CP,stringbool:()=>mP,stringFormat:()=>DP,string:()=>x0,strictObject:()=>QP,set:()=>MP,refine:()=>Bj,record:()=>a1,readonly:()=>Rj,promise:()=>uP,preprocess:()=>lP,prefault:()=>Aj,pipe:()=>HD,partialRecord:()=>KP,optional:()=>h0,object:()=>YP,number:()=>v1,nullish:()=>kP,nullable:()=>c0,null:()=>y1,nonoptional:()=>Lj,never:()=>eD,nativeEnum:()=>ZP,nanoid:()=>cJ,nan:()=>rP,meta:()=>nP,map:()=>FP,mac:()=>oJ,looseRecord:()=>VP,looseObject:()=>TP,literal:()=>bP,lazy:()=>Qj,ksuid:()=>lJ,keyof:()=>GP,jwt:()=>gP,json:()=>iP,ipv6:()=>pJ,ipv4:()=>tJ,invertCodec:()=>fP,intersection:()=>o1,int64:()=>JP,int32:()=>OP,int:()=>bD,instanceof:()=>dP,httpUrl:()=>yJ,hostname:()=>UP,hex:()=>IP,hash:()=>jP,guid:()=>rJ,function:()=>xP,float64:()=>EP,float32:()=>NP,file:()=>HP,exactOptional:()=>Ij,enum:()=>sD,emoji:()=>hJ,email:()=>CJ,e164:()=>$P,discriminatedUnion:()=>BP,describe:()=>cP,date:()=>RP,custom:()=>hP,cuid2:()=>dJ,cuid:()=>nJ,codec:()=>vP,cidrv6:()=>aJ,cidrv4:()=>eJ,check:()=>yP,catch:()=>zj,boolean:()=>f1,bigint:()=>LP,base64url:()=>_P,base64:()=>sJ,array:()=>m0,any:()=>WP,_function:()=>xP,_default:()=>Ej,_ZodString:()=>CD,ZodXor:()=>i1,ZodXID:()=>yD,ZodVoid:()=>d1,ZodUnknown:()=>c1,ZodUnion:()=>l0,ZodUndefined:()=>u1,ZodUUID:()=>B$,ZodURL:()=>n0,ZodULID:()=>xD,ZodType:()=>o,ZodTuple:()=>p1,ZodTransform:()=>Dj,ZodTemplateLiteral:()=>Gj,ZodSymbol:()=>w1,ZodSuccess:()=>Jj,ZodStringFormat:()=>z_,ZodString:()=>H4,ZodSet:()=>_j,ZodRecord:()=>Z4,ZodReadonly:()=>Xj,ZodPromise:()=>Tj,ZodPreprocess:()=>Wj,ZodPrefault:()=>Oj,ZodPipe:()=>t0,ZodOptional:()=>$U,ZodObject:()=>i0,ZodNumberFormat:()=>x6,ZodNumber:()=>C4,ZodNullable:()=>jj,ZodNull:()=>x1,ZodNonOptional:()=>gU,ZodNever:()=>n1,ZodNanoID:()=>fD,ZodNaN:()=>Sj,ZodMap:()=>s1,ZodMAC:()=>r1,ZodLiteral:()=>$j,ZodLazy:()=>Yj,ZodKSUID:()=>hD,ZodJWT:()=>oD,ZodIntersection:()=>t1,ZodIPv6:()=>nD,ZodIPv4:()=>cD,ZodGUID:()=>y0,ZodFunction:()=>qj,ZodFile:()=>gj,ZodExactOptional:()=>Uj,ZodEnum:()=>b4,ZodEmoji:()=>vD,ZodEmail:()=>rD,ZodE164:()=>tD,ZodDiscriminatedUnion:()=>l1,ZodDefault:()=>Nj,ZodDate:()=>d0,ZodCustomStringFormat:()=>k4,ZodCustom:()=>p0,ZodCodec:()=>o0,ZodCatch:()=>Pj,ZodCUID2:()=>uD,ZodCUID:()=>wD,ZodCIDRv6:()=>mD,ZodCIDRv4:()=>dD,ZodBoolean:()=>r4,ZodBigIntFormat:()=>pD,ZodBigInt:()=>v4,ZodBase64URL:()=>lD,ZodBase64:()=>iD,ZodArray:()=>m1,ZodAny:()=>h1});function kD(_,$,g){let U=Object.getPrototypeOf(_),D=UR.get(U);if(!D)D=new Set,UR.set(U,D);if(D.has($))return;D.add($);for(let I in g){let j=g[I];Object.defineProperty(U,I,{configurable:!0,enumerable:!1,get(){let N=j.bind(this);return Object.defineProperty(this,I,{configurable:!0,writable:!0,enumerable:!0,value:N}),N},set(N){Object.defineProperty(this,I,{configurable:!0,writable:!0,enumerable:!0,value:N})}})}}function x0(_){return UL(H4,_)}function CJ(_){return pI(rD,_)}function rJ(_){return PD(y0,_)}function vJ(_){return eI(B$,_)}function fJ(_){return aI(B$,_)}function wJ(_){return sI(B$,_)}function uJ(_){return _1(B$,_)}function xJ(_){return zD(n0,_)}function yJ(_){return zD(n0,{protocol:$$.httpProtocol,hostname:$$.domain,...H.normalizeParams(_)})}function hJ(_){return $1(vD,_)}function cJ(_){return g1(fD,_)}function nJ(_){return D1(wD,_)}function dJ(_){return U1(uD,_)}function mJ(_){return I1(xD,_)}function iJ(_){return j1(yD,_)}function lJ(_){return N1(hD,_)}function tJ(_){return E1(cD,_)}function oJ(_){return jL(r1,_)}function pJ(_){return O1(nD,_)}function eJ(_){return A1(dD,_)}function aJ(_){return L1(mD,_)}function sJ(_){return J1(iD,_)}function _P(_){return P1(lD,_)}function $P(_){return z1(tD,_)}function gP(_){return S1(oD,_)}function DP(_,$,g={}){return w0(k4,_,$,g)}function UP(_){return w0(k4,"hostname",$$.hostname,_)}function IP(_){return w0(k4,"hex",$$.hex,_)}function jP(_,$){let g=$?.enc??"hex",U=`${_}_${g}`,D=$$[U];if(!D)throw Error(`Unrecognized hash format: ${U}`);return w0(k4,U,D,$)}function v1(_){return LL(C4,_)}function bD(_){return PL(x6,_)}function NP(_){return zL(x6,_)}function EP(_){return SL(x6,_)}function OP(_){return WL(x6,_)}function AP(_){return XL(x6,_)}function f1(_){return RL(r4,_)}function LP(_){return YL(v4,_)}function JP(_){return TL(pD,_)}function PP(_){return qL(pD,_)}function zP(_){return BL(w1,_)}function SP(_){return KL(u1,_)}function y1(_){return VL(x1,_)}function WP(){return FL(h1)}function u6(){return ML(c1)}function eD(_){return ZL(n1,_)}function XP(_){return bL(d1,_)}function RP(_){return HL(d0,_)}function m0(_,$){return rL(m1,_,$)}function GP(_){let $=_._zod.def.shape;return sD(Object.keys($))}function YP(_,$){let g={type:"object",shape:_??{},...H.normalizeParams($)};return new i0(g)}function QP(_,$){return new i0({type:"object",shape:_,catchall:eD(),...H.normalizeParams($)})}function TP(_,$){return new i0({type:"object",shape:_,catchall:u6(),...H.normalizeParams($)})}function aD(_,$){return new l0({type:"union",options:_,...H.normalizeParams($)})}function qP(_,$){return new i1({type:"union",options:_,inclusive:!1,...H.normalizeParams($)})}function BP(_,$,g){return new l1({type:"union",options:$,discriminator:_,...H.normalizeParams(g)})}function o1(_,$){return new t1({type:"intersection",left:_,right:$})}function e1(_,$,g){let U=$ instanceof l,D=U?g:$;return new p1({type:"tuple",items:_,rest:U?$:null,...H.normalizeParams(D)})}function a1(_,$,g){if(!$||!$._zod)return new Z4({type:"record",keyType:x0(),valueType:_,...H.normalizeParams($)});return new Z4({type:"record",keyType:_,valueType:$,...H.normalizeParams(g)})}function KP(_,$,g){let U=y_(_);return U._zod.values=void 0,new Z4({type:"record",keyType:U,valueType:$,...H.normalizeParams(g)})}function VP(_,$,g){return new Z4({type:"record",keyType:_,valueType:$,mode:"loose",...H.normalizeParams(g)})}function FP(_,$,g){return new s1({type:"map",keyType:_,valueType:$,...H.normalizeParams(g)})}function MP(_,$){return new _j({type:"set",valueType:_,...H.normalizeParams($)})}function sD(_,$){let g=Array.isArray(_)?Object.fromEntries(_.map((U)=>[U,U])):_;return new b4({type:"enum",entries:g,...H.normalizeParams($)})}function ZP(_,$){return new b4({type:"enum",entries:_,...H.normalizeParams($)})}function bP(_,$){return new $j({type:"literal",values:Array.isArray(_)?_:[_],...H.normalizeParams($)})}function HP(_){return vL(gj,_)}function _U(_){return new Dj({type:"transform",transform:_})}function h0(_){return new $U({type:"optional",innerType:_})}function Ij(_){return new Uj({type:"optional",innerType:_})}function c0(_){return new jj({type:"nullable",innerType:_})}function kP(_){return h0(c0(_))}function Ej(_,$){return new Nj({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():H.shallowClone($)}})}function Aj(_,$){return new Oj({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():H.shallowClone($)}})}function Lj(_,$){return new gU({type:"nonoptional",innerType:_,...H.normalizeParams($)})}function CP(_){return new Jj({type:"success",innerType:_})}function zj(_,$){return new Pj({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function rP(_){return CL(Sj,_)}function HD(_,$){return new t0({type:"pipe",in:_,out:$})}function vP(_,$,g){return new o0({type:"pipe",in:_,out:$,transform:g.decode,reverseTransform:g.encode})}function fP(_){let $=_._zod.def;return new o0({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function Rj(_){return new Xj({type:"readonly",innerType:_})}function wP(_,$){return new Gj({type:"template_literal",parts:_,...H.normalizeParams($)})}function Qj(_){return new Yj({type:"lazy",getter:_})}function uP(_){return new Tj({type:"promise",innerType:_})}function xP(_){return new qj({type:"function",input:Array.isArray(_?.input)?e1(_?.input):_?.input??m0(u6()),output:_?.output??u6()})}function yP(_){let $=new Y_({check:"custom"});return $._zod.check=_,$}function hP(_,$){return fL(p0,_??(()=>!0),$)}function Bj(_,$={}){return wL(p0,_,$)}function Kj(_,$){return uL(_,$)}function dP(_,$={}){let g=new p0({type:"custom",check:"custom",fn:(U)=>U instanceof _,abort:!0,...H.normalizeParams($)});return g._zod.bag.Class=_,g._zod.check=(U)=>{if(!(U.value instanceof _))U.issues.push({code:"invalid_type",expected:_.name,input:U.value,inst:g,path:[...g._zod.def.path??[]]})},g}function iP(_){let $=Qj(()=>{return aD([x0(_),v1(),f1(),y1(),m0($),a1(x0(),$)])});return $}function lP(_,$){return new Wj({type:"pipe",in:_U(_),out:$})}var UR,o,CD,H4,z_,rD,y0,B$,n0,vD,fD,wD,uD,xD,yD,hD,cD,r1,nD,dD,mD,iD,lD,tD,oD,k4,C4,x6,r4,v4,pD,w1,u1,x1,h1,c1,n1,d1,d0,m1,i0,l0,i1,l1,t1,p1,Z4,s1,_j,b4,$j,gj,Dj,$U,Uj,jj,Nj,Oj,gU,Jj,Pj,Sj,t0,o0,Wj,Xj,Gj,Yj,Tj,qj,p0,cP,nP,mP=(..._)=>hL({Codec:o0,Boolean:r4,String:H4},..._);var ZD=f(()=>{N$();N$();TD();YD();Q1();FD();kJ();UR=new WeakMap;o=Y("ZodType",(_,$)=>{return l.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:u0(_,"input"),output:u0(_,"output")}}),_.toJSONSchema=cL(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(g,U)=>T1(_,g,U,{callee:_.parse}),_.safeParse=(g,U)=>B1(_,g,U),_.parseAsync=async(g,U)=>q1(_,g,U,{callee:_.parseAsync}),_.safeParseAsync=async(g,U)=>K1(_,g,U),_.spa=_.safeParseAsync,_.encode=(g,U)=>V1(_,g,U),_.decode=(g,U)=>F1(_,g,U),_.encodeAsync=async(g,U)=>M1(_,g,U),_.decodeAsync=async(g,U)=>Z1(_,g,U),_.safeEncode=(g,U)=>b1(_,g,U),_.safeDecode=(g,U)=>H1(_,g,U),_.safeEncodeAsync=async(g,U)=>k1(_,g,U),_.safeDecodeAsync=async(g,U)=>C1(_,g,U),kD(_,"ZodType",{check(...g){let U=this.def;return this.clone(H.mergeDefs(U,{checks:[...U.checks??[],...g.map((D)=>typeof D==="function"?{_zod:{check:D,def:{check:"custom"},onattach:[]}}:D)]}),{parent:!0})},with(...g){return this.check(...g)},clone(g,U){return y_(this,g,U)},brand(){return this},register(g,U){return g.add(this,U),this},refine(g,U){return this.check(Bj(g,U))},superRefine(g,U){return this.check(Kj(g,U))},overwrite(g){return this.check(z$(g))},optional(){return h0(this)},exactOptional(){return Ij(this)},nullable(){return c0(this)},nullish(){return h0(c0(this))},nonoptional(g){return Lj(this,g)},array(){return m0(this)},or(g){return aD([this,g])},and(g){return o1(this,g)},transform(g){return HD(this,_U(g))},default(g){return Ej(this,g)},prefault(g){return Aj(this,g)},catch(g){return zj(this,g)},pipe(g){return HD(this,g)},readonly(){return Rj(this)},describe(g){let U=this.clone();return w_.add(U,{description:g}),U},meta(...g){if(g.length===0)return w_.get(this);let U=this.clone();return w_.add(U,g[0]),U},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(g){return g(this)}}),Object.defineProperty(_,"description",{get(){return w_.get(_)?.description},configurable:!0}),_}),CD=Y("_ZodString",(_,$)=>{S4.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>nL(_,U,D,I);let g=_._zod.bag;_.format=g.format??null,_.minLength=g.minimum??null,_.maxLength=g.maximum??null,kD(_,"_ZodString",{regex(...U){return this.check(W4(...U))},includes(...U){return this.check(G4(...U))},startsWith(...U){return this.check(Y4(...U))},endsWith(...U){return this.check(Q4(...U))},min(...U){return this.check(y$(...U))},max(...U){return this.check(C6(...U))},length(...U){return this.check(r6(...U))},nonempty(...U){return this.check(y$(1,...U))},lowercase(U){return this.check(X4(U))},uppercase(U){return this.check(R4(U))},trim(){return this.check(B4())},normalize(...U){return this.check(q4(...U))},toLowerCase(){return this.check(K4())},toUpperCase(){return this.check(V4())},slugify(){return this.check(F4())}})}),H4=Y("ZodString",(_,$)=>{S4.init(_,$),CD.init(_,$),_.email=(g)=>_.check(pI(rD,g)),_.url=(g)=>_.check(zD(n0,g)),_.jwt=(g)=>_.check(S1(oD,g)),_.emoji=(g)=>_.check($1(vD,g)),_.guid=(g)=>_.check(PD(y0,g)),_.uuid=(g)=>_.check(eI(B$,g)),_.uuidv4=(g)=>_.check(aI(B$,g)),_.uuidv6=(g)=>_.check(sI(B$,g)),_.uuidv7=(g)=>_.check(_1(B$,g)),_.nanoid=(g)=>_.check(g1(fD,g)),_.guid=(g)=>_.check(PD(y0,g)),_.cuid=(g)=>_.check(D1(wD,g)),_.cuid2=(g)=>_.check(U1(uD,g)),_.ulid=(g)=>_.check(I1(xD,g)),_.base64=(g)=>_.check(J1(iD,g)),_.base64url=(g)=>_.check(P1(lD,g)),_.xid=(g)=>_.check(j1(yD,g)),_.ksuid=(g)=>_.check(N1(hD,g)),_.ipv4=(g)=>_.check(E1(cD,g)),_.ipv6=(g)=>_.check(O1(nD,g)),_.cidrv4=(g)=>_.check(A1(dD,g)),_.cidrv6=(g)=>_.check(L1(mD,g)),_.e164=(g)=>_.check(z1(tD,g)),_.datetime=(g)=>_.check(FJ(g)),_.date=(g)=>_.check(MJ(g)),_.time=(g)=>_.check(ZJ(g)),_.duration=(g)=>_.check(bJ(g))});z_=Y("ZodStringFormat",(_,$)=>{R_.init(_,$),CD.init(_,$)}),rD=Y("ZodEmail",(_,$)=>{p2.init(_,$),z_.init(_,$)});y0=Y("ZodGUID",(_,$)=>{t2.init(_,$),z_.init(_,$)});B$=Y("ZodUUID",(_,$)=>{o2.init(_,$),z_.init(_,$)});n0=Y("ZodURL",(_,$)=>{e2.init(_,$),z_.init(_,$)});vD=Y("ZodEmoji",(_,$)=>{a2.init(_,$),z_.init(_,$)});fD=Y("ZodNanoID",(_,$)=>{s2.init(_,$),z_.init(_,$)});wD=Y("ZodCUID",(_,$)=>{_O.init(_,$),z_.init(_,$)});uD=Y("ZodCUID2",(_,$)=>{$O.init(_,$),z_.init(_,$)});xD=Y("ZodULID",(_,$)=>{gO.init(_,$),z_.init(_,$)});yD=Y("ZodXID",(_,$)=>{DO.init(_,$),z_.init(_,$)});hD=Y("ZodKSUID",(_,$)=>{UO.init(_,$),z_.init(_,$)});cD=Y("ZodIPv4",(_,$)=>{OO.init(_,$),z_.init(_,$)});r1=Y("ZodMAC",(_,$)=>{LO.init(_,$),z_.init(_,$)});nD=Y("ZodIPv6",(_,$)=>{AO.init(_,$),z_.init(_,$)});dD=Y("ZodCIDRv4",(_,$)=>{JO.init(_,$),z_.init(_,$)});mD=Y("ZodCIDRv6",(_,$)=>{PO.init(_,$),z_.init(_,$)});iD=Y("ZodBase64",(_,$)=>{SO.init(_,$),z_.init(_,$)});lD=Y("ZodBase64URL",(_,$)=>{WO.init(_,$),z_.init(_,$)});tD=Y("ZodE164",(_,$)=>{XO.init(_,$),z_.init(_,$)});oD=Y("ZodJWT",(_,$)=>{RO.init(_,$),z_.init(_,$)});k4=Y("ZodCustomStringFormat",(_,$)=>{GO.init(_,$),z_.init(_,$)});C4=Y("ZodNumber",(_,$)=>{nI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>dL(_,U,D,I),kD(_,"ZodNumber",{gt(U,D){return this.check(T$(U,D))},gte(U,D){return this.check(h_(U,D))},min(U,D){return this.check(h_(U,D))},lt(U,D){return this.check(Q$(U,D))},lte(U,D){return this.check(g$(U,D))},max(U,D){return this.check(g$(U,D))},int(U){return this.check(bD(U))},safe(U){return this.check(bD(U))},positive(U){return this.check(T$(0,U))},nonnegative(U){return this.check(h_(0,U))},negative(U){return this.check(Q$(0,U))},nonpositive(U){return this.check(g$(0,U))},multipleOf(U,D){return this.check(U6(U,D))},step(U,D){return this.check(U6(U,D))},finite(){return this}});let g=_._zod.bag;_.minValue=Math.max(g.minimum??Number.NEGATIVE_INFINITY,g.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,_.maxValue=Math.min(g.maximum??Number.POSITIVE_INFINITY,g.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,_.isInt=(g.format??"").includes("int")||Number.isSafeInteger(g.multipleOf??0.5),_.isFinite=!0,_.format=g.format??null});x6=Y("ZodNumberFormat",(_,$)=>{YO.init(_,$),C4.init(_,$)});r4=Y("ZodBoolean",(_,$)=>{UD.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>mL(_,g,U,D)});v4=Y("ZodBigInt",(_,$)=>{dI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>iL(_,U,D,I),_.gte=(U,D)=>_.check(h_(U,D)),_.min=(U,D)=>_.check(h_(U,D)),_.gt=(U,D)=>_.check(T$(U,D)),_.gte=(U,D)=>_.check(h_(U,D)),_.min=(U,D)=>_.check(h_(U,D)),_.lt=(U,D)=>_.check(Q$(U,D)),_.lte=(U,D)=>_.check(g$(U,D)),_.max=(U,D)=>_.check(g$(U,D)),_.positive=(U)=>_.check(T$(BigInt(0),U)),_.negative=(U)=>_.check(Q$(BigInt(0),U)),_.nonpositive=(U)=>_.check(g$(BigInt(0),U)),_.nonnegative=(U)=>_.check(h_(BigInt(0),U)),_.multipleOf=(U,D)=>_.check(U6(U,D));let g=_._zod.bag;_.minValue=g.minimum??null,_.maxValue=g.maximum??null,_.format=g.format??null});pD=Y("ZodBigIntFormat",(_,$)=>{QO.init(_,$),v4.init(_,$)});w1=Y("ZodSymbol",(_,$)=>{TO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>lL(_,g,U,D)});u1=Y("ZodUndefined",(_,$)=>{qO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>oL(_,g,U,D)});x1=Y("ZodNull",(_,$)=>{BO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>tL(_,g,U,D)});h1=Y("ZodAny",(_,$)=>{KO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>aL(_,g,U,D)});c1=Y("ZodUnknown",(_,$)=>{VO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>sL(_,g,U,D)});n1=Y("ZodNever",(_,$)=>{FO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>eL(_,g,U,D)});d1=Y("ZodVoid",(_,$)=>{MO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>pL(_,g,U,D)});d0=Y("ZodDate",(_,$)=>{ZO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>_J(_,U,D,I),_.min=(U,D)=>_.check(h_(U,D)),_.max=(U,D)=>_.check(g$(U,D));let g=_._zod.bag;_.minDate=g.minimum?new Date(g.minimum):null,_.maxDate=g.maximum?new Date(g.maximum):null});m1=Y("ZodArray",(_,$)=>{bO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>JJ(_,g,U,D),_.element=$.element,kD(_,"ZodArray",{min(g,U){return this.check(y$(g,U))},nonempty(g){return this.check(y$(1,g))},max(g,U){return this.check(C6(g,U))},length(g,U){return this.check(r6(g,U))},unwrap(){return this.element}})});i0=Y("ZodObject",(_,$)=>{HO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>PJ(_,g,U,D),H.defineLazy(_,"shape",()=>{return $.shape}),kD(_,"ZodObject",{keyof(){return sD(Object.keys(this._zod.def.shape))},catchall(g){return this.clone({...this._zod.def,catchall:g})},passthrough(){return this.clone({...this._zod.def,catchall:u6()})},loose(){return this.clone({...this._zod.def,catchall:u6()})},strict(){return this.clone({...this._zod.def,catchall:eD()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(g){return H.extend(this,g)},safeExtend(g){return H.safeExtend(this,g)},merge(g){return H.merge(this,g)},pick(g){return H.pick(this,g)},omit(g){return H.omit(this,g)},partial(...g){return H.partial($U,this,g[0])},required(...g){return H.required(gU,this,g[0])}})});l0=Y("ZodUnion",(_,$)=>{ID.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>R1(_,g,U,D),_.options=$.options});i1=Y("ZodXor",(_,$)=>{l0.init(_,$),kO.init(_,$),_._zod.processJSONSchema=(g,U,D)=>R1(_,g,U,D),_.options=$.options});l1=Y("ZodDiscriminatedUnion",(_,$)=>{l0.init(_,$),CO.init(_,$)});t1=Y("ZodIntersection",(_,$)=>{rO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>zJ(_,g,U,D)});p1=Y("ZodTuple",(_,$)=>{mI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>SJ(_,g,U,D),_.rest=(g)=>_.clone({..._._zod.def,rest:g})});Z4=Y("ZodRecord",(_,$)=>{vO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>WJ(_,g,U,D),_.keyType=$.keyType,_.valueType=$.valueType});s1=Y("ZodMap",(_,$)=>{fO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>AJ(_,g,U,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...g)=>_.check(q$(...g)),_.nonempty=(g)=>_.check(q$(1,g)),_.max=(...g)=>_.check(I6(...g)),_.size=(...g)=>_.check(k6(...g))});_j=Y("ZodSet",(_,$)=>{wO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>LJ(_,g,U,D),_.min=(...g)=>_.check(q$(...g)),_.nonempty=(g)=>_.check(q$(1,g)),_.max=(...g)=>_.check(I6(...g)),_.size=(...g)=>_.check(k6(...g))});b4=Y("ZodEnum",(_,$)=>{uO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>$J(_,U,D,I),_.enum=$.entries,_.options=Object.values($.entries);let g=new Set(Object.keys($.entries));_.extract=(U,D)=>{let I={};for(let j of U)if(g.has(j))I[j]=$.entries[j];else throw Error(`Key ${j} not found in enum`);return new b4({...$,checks:[],...H.normalizeParams(D),entries:I})},_.exclude=(U,D)=>{let I={...$.entries};for(let j of U)if(g.has(j))delete I[j];else throw Error(`Key ${j} not found in enum`);return new b4({...$,checks:[],...H.normalizeParams(D),entries:I})}});$j=Y("ZodLiteral",(_,$)=>{xO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>gJ(_,g,U,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]}})});gj=Y("ZodFile",(_,$)=>{yO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>IJ(_,g,U,D),_.min=(g,U)=>_.check(q$(g,U)),_.max=(g,U)=>_.check(I6(g,U)),_.mime=(g,U)=>_.check(T4(Array.isArray(g)?g:[g],U))});Dj=Y("ZodTransform",(_,$)=>{hO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>OJ(_,g,U,D),_._zod.parse=(g,U)=>{if(U.direction==="backward")throw new L4(_.constructor.name);g.addIssue=(I)=>{if(typeof I==="string")g.issues.push(H.issue(I,g.value,$));else{let j=I;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=g.value),j.inst??(j.inst=_),g.issues.push(H.issue(j))}};let D=$.transform(g.value,g);if(D instanceof Promise)return D.then((I)=>{return g.value=I,g.fallback=!0,g});return g.value=D,g.fallback=!0,g}});$U=Y("ZodOptional",(_,$)=>{iI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>G1(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Uj=Y("ZodExactOptional",(_,$)=>{cO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>G1(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});jj=Y("ZodNullable",(_,$)=>{nO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>XJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Nj=Y("ZodDefault",(_,$)=>{dO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>GJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});Oj=Y("ZodPrefault",(_,$)=>{mO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>YJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});gU=Y("ZodNonOptional",(_,$)=>{iO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>RJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Jj=Y("ZodSuccess",(_,$)=>{lO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>jJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Pj=Y("ZodCatch",(_,$)=>{tO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>QJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});Sj=Y("ZodNaN",(_,$)=>{oO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>DJ(_,g,U,D)});t0=Y("ZodPipe",(_,$)=>{lI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>TJ(_,g,U,D),_.in=$.in,_.out=$.out});o0=Y("ZodCodec",(_,$)=>{t0.init(_,$),jD.init(_,$)});Wj=Y("ZodPreprocess",(_,$)=>{t0.init(_,$),pO.init(_,$)}),Xj=Y("ZodReadonly",(_,$)=>{eO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>qJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Gj=Y("ZodTemplateLiteral",(_,$)=>{aO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>UJ(_,g,U,D)});Yj=Y("ZodLazy",(_,$)=>{$A.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>KJ(_,g,U,D),_.unwrap=()=>_._zod.def.getter()});Tj=Y("ZodPromise",(_,$)=>{_A.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>BJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});qj=Y("ZodFunction",(_,$)=>{sO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>EJ(_,g,U,D)});p0=Y("ZodCustom",(_,$)=>{gA.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>NJ(_,g,U,D)});cP=xL,nP=yL});function jR(_){Z_({customError:_})}function NR(){return Z_().customError}var IR,Vj;var ER=f(()=>{N$();IR={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 TF(_,$){let g=_.$schema;if(g==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(g==="http://json-schema.org/draft-07/schema#")return"draft-7";if(g==="http://json-schema.org/draft-04/schema#")return"draft-4";return $??"draft-2020-12"}function qF(_,$){if(!_.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let g=_.slice(1).split("/").filter(Boolean);if(g.length===0)return $.rootSchema;let U=$.version==="draft-2020-12"?"$defs":"definitions";if(g[0]===U){let D=g[1];if(!D||!$.defs[D])throw Error(`Reference not found: ${_}`);return $.defs[D]}throw Error(`Reference not found: ${_}`)}function OR(_,$){if(_.not!==void 0){if(typeof _.not==="object"&&Object.keys(_.not).length===0)return w.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 w.lazy(()=>{if(!$.refs.has(D))throw Error(`Circular reference not resolved: ${D}`);return $.refs.get(D)});$.processing.add(D);let I=qF(D,$),j=c_(I,$);return $.refs.set(D,j),$.processing.delete(D),j}if(_.enum!==void 0){let D=_.enum;if($.version==="openapi-3.0"&&_.nullable===!0&&D.length===1&&D[0]===null)return w.null();if(D.length===0)return w.never();if(D.length===1)return w.literal(D[0]);if(D.every((j)=>typeof j==="string"))return w.enum(D);let I=D.map((j)=>w.literal(j));if(I.length<2)return I[0];return w.union([I[0],I[1],...I.slice(2)])}if(_.const!==void 0)return w.literal(_.const);let g=_.type;if(Array.isArray(g)){let D=g.map((I)=>{let j={..._,type:I};return OR(j,$)});if(D.length===0)return w.never();if(D.length===1)return D[0];return w.union(D)}if(!g)return w.any();let U;switch(g){case"string":{let D=w.string();if(_.format){let I=_.format;if(I==="email")D=D.check(w.email());else if(I==="uri"||I==="uri-reference")D=D.check(w.url());else if(I==="uuid"||I==="guid")D=D.check(w.uuid());else if(I==="date-time")D=D.check(w.iso.datetime());else if(I==="date")D=D.check(w.iso.date());else if(I==="time")D=D.check(w.iso.time());else if(I==="duration")D=D.check(w.iso.duration());else if(I==="ipv4")D=D.check(w.ipv4());else if(I==="ipv6")D=D.check(w.ipv6());else if(I==="mac")D=D.check(w.mac());else if(I==="cidr")D=D.check(w.cidrv4());else if(I==="cidr-v6")D=D.check(w.cidrv6());else if(I==="base64")D=D.check(w.base64());else if(I==="base64url")D=D.check(w.base64url());else if(I==="e164")D=D.check(w.e164());else if(I==="jwt")D=D.check(w.jwt());else if(I==="emoji")D=D.check(w.emoji());else if(I==="nanoid")D=D.check(w.nanoid());else if(I==="cuid")D=D.check(w.cuid());else if(I==="cuid2")D=D.check(w.cuid2());else if(I==="ulid")D=D.check(w.ulid());else if(I==="xid")D=D.check(w.xid());else if(I==="ksuid")D=D.check(w.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));U=D;break}case"number":case"integer":{let D=g==="integer"?w.number().int():w.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);U=D;break}case"boolean":{U=w.boolean();break}case"null":{U=w.null();break}case"object":{let D={},I=_.properties||{},j=new Set(_.required||[]);for(let[O,A]of Object.entries(I)){let L=c_(A,$);D[O]=j.has(O)?L:L.optional()}if(_.propertyNames){let O=c_(_.propertyNames,$),A=_.additionalProperties&&typeof _.additionalProperties==="object"?c_(_.additionalProperties,$):w.any();if(Object.keys(D).length===0){U=w.record(O,A);break}let L=w.object(D).passthrough(),z=w.looseRecord(O,A);U=w.intersection(L,z);break}if(_.patternProperties){let O=_.patternProperties,A=Object.keys(O),L=[];for(let W of A){let J=c_(O[W],$),P=w.string().regex(new RegExp(W));L.push(w.looseRecord(P,J))}let z=[];if(Object.keys(D).length>0)z.push(w.object(D).passthrough());if(z.push(...L),z.length===0)U=w.object({}).passthrough();else if(z.length===1)U=z[0];else{let W=w.intersection(z[0],z[1]);for(let J=2;Jc_(O,$)),N=I&&typeof I==="object"&&!Array.isArray(I)?c_(I,$):void 0;if(N)U=w.tuple(j).rest(N);else U=w.tuple(j);if(typeof _.minItems==="number")U=U.check(w.minLength(_.minItems));if(typeof _.maxItems==="number")U=U.check(w.maxLength(_.maxItems))}else if(Array.isArray(I)){let j=I.map((O)=>c_(O,$)),N=_.additionalItems&&typeof _.additionalItems==="object"?c_(_.additionalItems,$):void 0;if(N)U=w.tuple(j).rest(N);else U=w.tuple(j);if(typeof _.minItems==="number")U=U.check(w.minLength(_.minItems));if(typeof _.maxItems==="number")U=U.check(w.maxLength(_.maxItems))}else if(I!==void 0){let j=c_(I,$),N=w.array(j);if(typeof _.minItems==="number")N=N.min(_.minItems);if(typeof _.maxItems==="number")N=N.max(_.maxItems);U=N}else U=w.array(w.any());break}default:throw Error(`Unsupported type: ${g}`)}return U}function c_(_,$){if(typeof _==="boolean")return _?w.any():w.never();let g=OR(_,$),U=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let N=_.anyOf.map((A)=>c_(A,$)),O=w.union(N);g=U?w.intersection(g,O):O}if(_.oneOf&&Array.isArray(_.oneOf)){let N=_.oneOf.map((A)=>c_(A,$)),O=w.xor(N);g=U?w.intersection(g,O):O}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)g=U?g:w.any();else{let N=U?g:c_(_.allOf[0],$),O=U?0:1;for(let A=O;A<_.allOf.length;A++)N=w.intersection(N,c_(_.allOf[A],$));g=N}if(_.nullable===!0&&$.version==="openapi-3.0")g=w.nullable(g);if(_.readOnly===!0)g=w.readonly(g);if(_.default!==void 0)g=g.default(_.default);let D={},I=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let N of I)if(N in _)D[N]=_[N];let j=["contentEncoding","contentMediaType","contentSchema"];for(let N of j)if(N in _)D[N]=_[N];for(let N of Object.keys(_))if(!QF.has(N))D[N]=_[N];if(Object.keys(D).length>0)$.registry.add(g,D);if(_.description)g=g.describe(_.description);return g}function tP(_,$){if(typeof _==="boolean")return _?w.any():w.never();let g;try{g=JSON.parse(JSON.stringify(_))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let U=TF(g,$?.defaultTarget),D=g.$defs||g.definitions||{},I={version:U,defs:D,refs:new Map,processing:new Set,rootSchema:g,registry:$?.registry??w_};return c_(g,I)}var w,QF;var AR=f(()=>{JD();Q1();FD();ZD();w={...MD,...Y1,iso:M4},QF=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 Fj={};r$(Fj,{string:()=>BF,number:()=>KF,date:()=>MF,boolean:()=>VF,bigint:()=>FF});function BF(_){return IL(H4,_)}function KF(_){return JL(C4,_)}function VF(_){return GL(r4,_)}function FF(_){return QL(v4,_)}function MF(_){return kL(d0,_)}var LR=f(()=>{N$();ZD()});var Mj={};r$(Mj,{xor:()=>qP,xid:()=>iJ,void:()=>XP,uuidv7:()=>uJ,uuidv6:()=>wJ,uuidv4:()=>fJ,uuid:()=>vJ,util:()=>H,url:()=>xJ,uppercase:()=>R4,unknown:()=>u6,union:()=>aD,undefined:()=>SP,ulid:()=>mJ,uint64:()=>PP,uint32:()=>AP,tuple:()=>e1,trim:()=>B4,treeifyError:()=>QI,transform:()=>_U,toUpperCase:()=>V4,toLowerCase:()=>K4,toJSONSchema:()=>QD,templateLiteral:()=>wP,symbol:()=>zP,superRefine:()=>Kj,success:()=>CP,stringbool:()=>mP,stringFormat:()=>DP,string:()=>x0,strictObject:()=>QP,startsWith:()=>Y4,slugify:()=>F4,size:()=>k6,setErrorMap:()=>jR,set:()=>MP,safeParseAsync:()=>K1,safeParse:()=>B1,safeEncodeAsync:()=>k1,safeEncode:()=>b1,safeDecodeAsync:()=>C1,safeDecode:()=>H1,registry:()=>LD,regexes:()=>$$,regex:()=>W4,refine:()=>Bj,record:()=>a1,readonly:()=>Rj,property:()=>GD,promise:()=>uP,prettifyError:()=>TI,preprocess:()=>lP,prefault:()=>Aj,positive:()=>SD,pipe:()=>HD,partialRecord:()=>KP,parseAsync:()=>q1,parse:()=>T1,overwrite:()=>z$,optional:()=>h0,object:()=>YP,number:()=>v1,nullish:()=>kP,nullable:()=>c0,null:()=>y1,normalize:()=>q4,nonpositive:()=>XD,nonoptional:()=>Lj,nonnegative:()=>RD,never:()=>eD,negative:()=>WD,nativeEnum:()=>ZP,nanoid:()=>cJ,nan:()=>rP,multipleOf:()=>U6,minSize:()=>q$,minLength:()=>y$,mime:()=>T4,meta:()=>nP,maxSize:()=>I6,maxLength:()=>C6,map:()=>FP,mac:()=>oJ,lte:()=>g$,lt:()=>Q$,lowercase:()=>X4,looseRecord:()=>VP,looseObject:()=>TP,locales:()=>f0,literal:()=>bP,length:()=>r6,lazy:()=>Qj,ksuid:()=>lJ,keyof:()=>GP,jwt:()=>gP,json:()=>iP,iso:()=>M4,ipv6:()=>pJ,ipv4:()=>tJ,invertCodec:()=>fP,intersection:()=>o1,int64:()=>JP,int32:()=>OP,int:()=>bD,instanceof:()=>dP,includes:()=>G4,httpUrl:()=>yJ,hostname:()=>UP,hex:()=>IP,hash:()=>jP,guid:()=>rJ,gte:()=>h_,gt:()=>T$,globalRegistry:()=>w_,getErrorMap:()=>NR,function:()=>xP,fromJSONSchema:()=>tP,formatError:()=>Z0,float64:()=>EP,float32:()=>NP,flattenError:()=>M0,file:()=>HP,exactOptional:()=>Ij,enum:()=>sD,endsWith:()=>Q4,encodeAsync:()=>M1,encode:()=>V1,emoji:()=>hJ,email:()=>CJ,e164:()=>$P,discriminatedUnion:()=>BP,describe:()=>cP,decodeAsync:()=>Z1,decode:()=>F1,date:()=>RP,custom:()=>hP,cuid2:()=>dJ,cuid:()=>nJ,core:()=>h$,config:()=>Z_,coerce:()=>Fj,codec:()=>vP,clone:()=>y_,cidrv6:()=>aJ,cidrv4:()=>eJ,check:()=>yP,catch:()=>zj,boolean:()=>f1,bigint:()=>LP,base64url:()=>_P,base64:()=>sJ,array:()=>m0,any:()=>WP,_function:()=>xP,_default:()=>Ej,_ZodString:()=>CD,ZodXor:()=>i1,ZodXID:()=>yD,ZodVoid:()=>d1,ZodUnknown:()=>c1,ZodUnion:()=>l0,ZodUndefined:()=>u1,ZodUUID:()=>B$,ZodURL:()=>n0,ZodULID:()=>xD,ZodType:()=>o,ZodTuple:()=>p1,ZodTransform:()=>Dj,ZodTemplateLiteral:()=>Gj,ZodSymbol:()=>w1,ZodSuccess:()=>Jj,ZodStringFormat:()=>z_,ZodString:()=>H4,ZodSet:()=>_j,ZodRecord:()=>Z4,ZodRealError:()=>o_,ZodReadonly:()=>Xj,ZodPromise:()=>Tj,ZodPreprocess:()=>Wj,ZodPrefault:()=>Oj,ZodPipe:()=>t0,ZodOptional:()=>$U,ZodObject:()=>i0,ZodNumberFormat:()=>x6,ZodNumber:()=>C4,ZodNullable:()=>jj,ZodNull:()=>x1,ZodNonOptional:()=>gU,ZodNever:()=>n1,ZodNanoID:()=>fD,ZodNaN:()=>Sj,ZodMap:()=>s1,ZodMAC:()=>r1,ZodLiteral:()=>$j,ZodLazy:()=>Yj,ZodKSUID:()=>hD,ZodJWT:()=>oD,ZodIssueCode:()=>IR,ZodIntersection:()=>t1,ZodISOTime:()=>KD,ZodISODuration:()=>VD,ZodISODateTime:()=>qD,ZodISODate:()=>BD,ZodIPv6:()=>nD,ZodIPv4:()=>cD,ZodGUID:()=>y0,ZodFunction:()=>qj,ZodFirstPartyTypeKind:()=>Vj,ZodFile:()=>gj,ZodExactOptional:()=>Uj,ZodError:()=>DR,ZodEnum:()=>b4,ZodEmoji:()=>vD,ZodEmail:()=>rD,ZodE164:()=>tD,ZodDiscriminatedUnion:()=>l1,ZodDefault:()=>Nj,ZodDate:()=>d0,ZodCustomStringFormat:()=>k4,ZodCustom:()=>p0,ZodCodec:()=>o0,ZodCatch:()=>Pj,ZodCUID2:()=>uD,ZodCUID:()=>wD,ZodCIDRv6:()=>mD,ZodCIDRv4:()=>dD,ZodBoolean:()=>r4,ZodBigIntFormat:()=>pD,ZodBigInt:()=>v4,ZodBase64URL:()=>lD,ZodBase64:()=>iD,ZodArray:()=>m1,ZodAny:()=>h1,TimePrecision:()=>W1,NEVER:()=>XI,$output:()=>tI,$input:()=>oI,$brand:()=>RI});var oP=f(()=>{N$();N$();PA();N$();TD();AR();gL();FD();FD();LR();ZD();Q1();HJ();kJ();ER();Z_(ND())});var JR={};r$(JR,{z:()=>Mj,xor:()=>qP,xid:()=>iJ,void:()=>XP,uuidv7:()=>uJ,uuidv6:()=>wJ,uuidv4:()=>fJ,uuid:()=>vJ,util:()=>H,url:()=>xJ,uppercase:()=>R4,unknown:()=>u6,union:()=>aD,undefined:()=>SP,ulid:()=>mJ,uint64:()=>PP,uint32:()=>AP,tuple:()=>e1,trim:()=>B4,treeifyError:()=>QI,transform:()=>_U,toUpperCase:()=>V4,toLowerCase:()=>K4,toJSONSchema:()=>QD,templateLiteral:()=>wP,symbol:()=>zP,superRefine:()=>Kj,success:()=>CP,stringbool:()=>mP,stringFormat:()=>DP,string:()=>x0,strictObject:()=>QP,startsWith:()=>Y4,slugify:()=>F4,size:()=>k6,setErrorMap:()=>jR,set:()=>MP,safeParseAsync:()=>K1,safeParse:()=>B1,safeEncodeAsync:()=>k1,safeEncode:()=>b1,safeDecodeAsync:()=>C1,safeDecode:()=>H1,registry:()=>LD,regexes:()=>$$,regex:()=>W4,refine:()=>Bj,record:()=>a1,readonly:()=>Rj,property:()=>GD,promise:()=>uP,prettifyError:()=>TI,preprocess:()=>lP,prefault:()=>Aj,positive:()=>SD,pipe:()=>HD,partialRecord:()=>KP,parseAsync:()=>q1,parse:()=>T1,overwrite:()=>z$,optional:()=>h0,object:()=>YP,number:()=>v1,nullish:()=>kP,nullable:()=>c0,null:()=>y1,normalize:()=>q4,nonpositive:()=>XD,nonoptional:()=>Lj,nonnegative:()=>RD,never:()=>eD,negative:()=>WD,nativeEnum:()=>ZP,nanoid:()=>cJ,nan:()=>rP,multipleOf:()=>U6,minSize:()=>q$,minLength:()=>y$,mime:()=>T4,meta:()=>nP,maxSize:()=>I6,maxLength:()=>C6,map:()=>FP,mac:()=>oJ,lte:()=>g$,lt:()=>Q$,lowercase:()=>X4,looseRecord:()=>VP,looseObject:()=>TP,locales:()=>f0,literal:()=>bP,length:()=>r6,lazy:()=>Qj,ksuid:()=>lJ,keyof:()=>GP,jwt:()=>gP,json:()=>iP,iso:()=>M4,ipv6:()=>pJ,ipv4:()=>tJ,invertCodec:()=>fP,intersection:()=>o1,int64:()=>JP,int32:()=>OP,int:()=>bD,instanceof:()=>dP,includes:()=>G4,httpUrl:()=>yJ,hostname:()=>UP,hex:()=>IP,hash:()=>jP,guid:()=>rJ,gte:()=>h_,gt:()=>T$,globalRegistry:()=>w_,getErrorMap:()=>NR,function:()=>xP,fromJSONSchema:()=>tP,formatError:()=>Z0,float64:()=>EP,float32:()=>NP,flattenError:()=>M0,file:()=>HP,exactOptional:()=>Ij,enum:()=>sD,endsWith:()=>Q4,encodeAsync:()=>M1,encode:()=>V1,emoji:()=>hJ,email:()=>CJ,e164:()=>$P,discriminatedUnion:()=>BP,describe:()=>cP,default:()=>ZF,decodeAsync:()=>Z1,decode:()=>F1,date:()=>RP,custom:()=>hP,cuid2:()=>dJ,cuid:()=>nJ,core:()=>h$,config:()=>Z_,coerce:()=>Fj,codec:()=>vP,clone:()=>y_,cidrv6:()=>aJ,cidrv4:()=>eJ,check:()=>yP,catch:()=>zj,boolean:()=>f1,bigint:()=>LP,base64url:()=>_P,base64:()=>sJ,array:()=>m0,any:()=>WP,_function:()=>xP,_default:()=>Ej,_ZodString:()=>CD,ZodXor:()=>i1,ZodXID:()=>yD,ZodVoid:()=>d1,ZodUnknown:()=>c1,ZodUnion:()=>l0,ZodUndefined:()=>u1,ZodUUID:()=>B$,ZodURL:()=>n0,ZodULID:()=>xD,ZodType:()=>o,ZodTuple:()=>p1,ZodTransform:()=>Dj,ZodTemplateLiteral:()=>Gj,ZodSymbol:()=>w1,ZodSuccess:()=>Jj,ZodStringFormat:()=>z_,ZodString:()=>H4,ZodSet:()=>_j,ZodRecord:()=>Z4,ZodRealError:()=>o_,ZodReadonly:()=>Xj,ZodPromise:()=>Tj,ZodPreprocess:()=>Wj,ZodPrefault:()=>Oj,ZodPipe:()=>t0,ZodOptional:()=>$U,ZodObject:()=>i0,ZodNumberFormat:()=>x6,ZodNumber:()=>C4,ZodNullable:()=>jj,ZodNull:()=>x1,ZodNonOptional:()=>gU,ZodNever:()=>n1,ZodNanoID:()=>fD,ZodNaN:()=>Sj,ZodMap:()=>s1,ZodMAC:()=>r1,ZodLiteral:()=>$j,ZodLazy:()=>Yj,ZodKSUID:()=>hD,ZodJWT:()=>oD,ZodIssueCode:()=>IR,ZodIntersection:()=>t1,ZodISOTime:()=>KD,ZodISODuration:()=>VD,ZodISODateTime:()=>qD,ZodISODate:()=>BD,ZodIPv6:()=>nD,ZodIPv4:()=>cD,ZodGUID:()=>y0,ZodFunction:()=>qj,ZodFirstPartyTypeKind:()=>Vj,ZodFile:()=>gj,ZodExactOptional:()=>Uj,ZodError:()=>DR,ZodEnum:()=>b4,ZodEmoji:()=>vD,ZodEmail:()=>rD,ZodE164:()=>tD,ZodDiscriminatedUnion:()=>l1,ZodDefault:()=>Nj,ZodDate:()=>d0,ZodCustomStringFormat:()=>k4,ZodCustom:()=>p0,ZodCodec:()=>o0,ZodCatch:()=>Pj,ZodCUID2:()=>uD,ZodCUID:()=>wD,ZodCIDRv6:()=>mD,ZodCIDRv4:()=>dD,ZodBoolean:()=>r4,ZodBigIntFormat:()=>pD,ZodBigInt:()=>v4,ZodBase64URL:()=>lD,ZodBase64:()=>iD,ZodArray:()=>m1,ZodAny:()=>h1,TimePrecision:()=>W1,NEVER:()=>XI,$output:()=>tI,$input:()=>oI,$brand:()=>RI});var ZF;var PR=f(()=>{oP();oP();ZF=Mj});var qU=e6((Qr)=>{class o3 extends Error{constructor(_,$,g){super(g);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=_,this.nestedError=void 0}}class _8 extends o3{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Qr.CommanderError=o3;Qr.InvalidArgumentError=_8});var zN=e6((Vr)=>{var{InvalidArgumentError:Br}=qU();class $8{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=($,g)=>{if(!this.argChoices.includes($))throw new Br(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,g);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Kr(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}Vr.Argument=$8;Vr.humanReadableArgName=Kr});var p3=e6((br)=>{var{humanReadableArgName:Zr}=zN();class g8{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((U)=>!U._hidden),g=_._getHelpCommand();if(g&&!g._hidden)$.push(g);if(this.sortSubcommands)$.sort((U,D)=>{return U.name().localeCompare(D.name())});return $}compareOptions(_,$){let g=(U)=>{return U.short?U.short.replace(/^-/,""):U.long.replace(/^--/,"")};return g(_).localeCompare(g($))}visibleOptions(_){let $=_.options.filter((U)=>!U.hidden),g=_._getHelpOption();if(g&&!g.hidden){let U=g.short&&_._findOption(g.short),D=g.long&&_._findOption(g.long);if(!U&&!D)$.push(g);else if(g.long&&!D)$.push(_.createOption(g.long,g.description));else if(g.short&&!U)$.push(_.createOption(g.short,g.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(_){if(!this.showGlobalOptions)return[];let $=[];for(let g=_.parent;g;g=g.parent){let U=g.options.filter((D)=>!D.hidden);$.push(...U)}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((g)=>Zr(g)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(U))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleOptionTerm($.optionTerm(U))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleOptionTerm($.optionTerm(U))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleArgumentTerm($.argumentTerm(U))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let g="";for(let U=_.parent;U;U=U.parent)g=U.name()+" "+g;return g+$+" "+_.usage()}commandDescription(_){return _.description()}subcommandDescription(_){return _.summary()||_.description()}optionDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((g)=>JSON.stringify(g)).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((g)=>JSON.stringify(g)).join(", ")}`);if(_.defaultValue!==void 0)$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`);if($.length>0){let g=`(${$.join(", ")})`;if(_.description)return`${_.description} ${g}`;return g}return _.description}formatHelp(_,$){let g=$.padWidth(_,$),U=$.helpWidth??80;function D(L,z){return $.formatItem(L,g,z,$)}let I=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],j=$.commandDescription(_);if(j.length>0)I=I.concat([$.boxWrap($.styleCommandDescription(j),U),""]);let N=$.visibleArguments(_).map((L)=>{return D($.styleArgumentTerm($.argumentTerm(L)),$.styleArgumentDescription($.argumentDescription(L)))});if(N.length>0)I=I.concat([$.styleTitle("Arguments:"),...N,""]);let O=$.visibleOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(O.length>0)I=I.concat([$.styleTitle("Options:"),...O,""]);if($.showGlobalOptions){let L=$.visibleGlobalOptions(_).map((z)=>{return D($.styleOptionTerm($.optionTerm(z)),$.styleOptionDescription($.optionDescription(z)))});if(L.length>0)I=I.concat([$.styleTitle("Global Options:"),...L,""])}let A=$.visibleCommands(_).map((L)=>{return D($.styleSubcommandTerm($.subcommandTerm(L)),$.styleSubcommandDescription($.subcommandDescription(L)))});if(A.length>0)I=I.concat([$.styleTitle("Commands:"),...A,""]);return I.join(` -`)}displayWidth(_){return D8(_).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(_,$,g,U){let I=" ".repeat(2);if(!g)return I+_;let j=_.padEnd($+_.length-U.displayWidth(_)),N=2,A=(this.helpWidth??80)-$-N-2,L;if(A1){if(_.reused==="ref"){I(j);continue}}}}function w6(_,$){let g=_.seen.get($);if(!g)throw Error("Unprocessed schema. This is a bug in Zod.");let U=(N)=>{let O=_.seen.get(N);if(O.ref===null)return;let A=O.def??O.schema,L={...A},z=O.ref;if(O.ref=null,z){U(z);let J=_.seen.get(z),P=J.schema;if(P.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))A.allOf=A.allOf??[],A.allOf.push(P);else Object.assign(A,P);if(Object.assign(A,L),N._zod.parent===z)for(let X in A){if(X==="$ref"||X==="allOf")continue;if(!(X in L))delete A[X]}if(P.$ref&&J.def)for(let X in A){if(X==="$ref"||X==="allOf")continue;if(X in J.def&&JSON.stringify(A[X])===JSON.stringify(J.def[X]))delete A[X]}}let W=N._zod.parent;if(W&&W!==z){U(W);let J=_.seen.get(W);if(J?.schema.$ref){if(A.$ref=J.schema.$ref,J.def)for(let P in A){if(P==="$ref"||P==="allOf")continue;if(P in J.def&&JSON.stringify(A[P])===JSON.stringify(J.def[P]))delete A[P]}}}_.override({zodSchema:N,jsonSchema:A,path:O.path??[]})};for(let N of[..._.seen.entries()].reverse())U(N[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 N=_.external.registry.get($)?.id;if(!N)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(N)}Object.assign(D,g.def??g.schema);let I=_.metadataRegistry.get($)?.id;if(I!==void 0&&D.id===I)delete D.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")D.$defs=j;else D.definitions=j;try{let N=JSON.parse(JSON.stringify(D));return Object.defineProperty(N,"~standard",{value:{...$["~standard"],jsonSchema:{input:u0($,"input",_.processors),output:u0($,"output",_.processors)}},enumerable:!1,writable:!1}),N}catch(N){throw Error("Error converting schema to JSON.")}}function t_(_,$){let g=$??{seen:new Set};if(g.seen.has(_))return!1;g.seen.add(_);let U=_._zod.def;if(U.type==="transform")return!0;if(U.type==="array")return t_(U.element,g);if(U.type==="set")return t_(U.valueType,g);if(U.type==="lazy")return t_(U.getter(),g);if(U.type==="promise"||U.type==="optional"||U.type==="nonoptional"||U.type==="nullable"||U.type==="readonly"||U.type==="default"||U.type==="prefault")return t_(U.innerType,g);if(U.type==="intersection")return t_(U.left,g)||t_(U.right,g);if(U.type==="record"||U.type==="map")return t_(U.keyType,g)||t_(U.valueType,g);if(U.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return t_(U.in,g)||t_(U.out,g)}if(U.type==="object"){for(let D in U.shape)if(t_(U.shape[D],g))return!0;return!1}if(U.type==="union"){for(let D of U.options)if(t_(D,g))return!0;return!1}if(U.type==="tuple"){for(let D of U.items)if(t_(D,g))return!0;if(U.rest&&t_(U.rest,g))return!0;return!1}return!1}var cL=(_,$={})=>(g)=>{let U=v6({...g,processors:$});return A_(_,U),f6(U,_),w6(U,_)},u0=(_,$,g={})=>(U)=>{let{libraryOptions:D,target:I}=U??{},j=v6({...D??{},target:I,io:$,processors:g});return A_(_,j),f6(j,_),w6(j,_)};var YD=f(()=>{JD()});function QD(_,$){if("_idmap"in _){let U=_,D=v6({...$,processors:X1}),I={};for(let O of U._idmap.entries()){let[A,L]=O;A_(L,D)}let j={},N={registry:U,uri:$?.uri,defs:I};D.external=N;for(let O of U._idmap.entries()){let[A,L]=O;f6(D,L),j[A]=w6(D,L)}if(Object.keys(I).length>0){let O=D.target==="draft-2020-12"?"$defs":"definitions";j.__shared={[O]:I}}return{schemas:j}}let g=v6({...$,processors:X1});return A_(_,g),f6(g,_),w6(g,_)}var GF,nL=(_,$,g,U)=>{let D=g;D.type="string";let{minimum:I,maximum:j,format:N,patterns:O,contentEncoding:A}=_._zod.bag;if(typeof I==="number")D.minLength=I;if(typeof j==="number")D.maxLength=j;if(N){if(D.format=GF[N]??N,D.format==="")delete D.format;if(N==="time")delete D.format}if(A)D.contentEncoding=A;if(O&&O.size>0){let L=[...O];if(L.length===1)D.pattern=L[0].source;else if(L.length>1)D.allOf=[...L.map((z)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:z.source}))]}},dL=(_,$,g,U)=>{let D=g,{minimum:I,maximum:j,format:N,multipleOf:O,exclusiveMaximum:A,exclusiveMinimum:L}=_._zod.bag;if(typeof N==="string"&&N.includes("int"))D.type="integer";else D.type="number";let z=typeof L==="number"&&L>=(I??Number.NEGATIVE_INFINITY),W=typeof A==="number"&&A<=(j??Number.POSITIVE_INFINITY),J=$.target==="draft-04"||$.target==="openapi-3.0";if(z)if(J)D.minimum=L,D.exclusiveMinimum=!0;else D.exclusiveMinimum=L;else if(typeof I==="number")D.minimum=I;if(W)if(J)D.maximum=A,D.exclusiveMaximum=!0;else D.exclusiveMaximum=A;else if(typeof j==="number")D.maximum=j;if(typeof O==="number")D.multipleOf=O},mL=(_,$,g,U)=>{g.type="boolean"},iL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},lL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},tL=(_,$,g,U)=>{if($.target==="openapi-3.0")g.type="string",g.nullable=!0,g.enum=[null];else g.type="null"},oL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},pL=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},eL=(_,$,g,U)=>{g.not={}},aL=(_,$,g,U)=>{},sL=(_,$,g,U)=>{},_J=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},$J=(_,$,g,U)=>{let D=_._zod.def,I=og(D.entries);if(I.every((j)=>typeof j==="number"))g.type="number";if(I.every((j)=>typeof j==="string"))g.type="string";g.enum=I},gJ=(_,$,g,U)=>{let D=_._zod.def,I=[];for(let j of D.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 I.push(Number(j));else I.push(j);if(I.length===0);else if(I.length===1){let j=I[0];if(g.type=j===null?"null":typeof j,$.target==="draft-04"||$.target==="openapi-3.0")g.enum=[j];else g.const=j}else{if(I.every((j)=>typeof j==="number"))g.type="number";if(I.every((j)=>typeof j==="string"))g.type="string";if(I.every((j)=>typeof j==="boolean"))g.type="boolean";if(I.every((j)=>j===null))g.type="null";g.enum=I}},DJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},UJ=(_,$,g,U)=>{let D=g,I=_._zod.pattern;if(!I)throw Error("Pattern not found in template literal");D.type="string",D.pattern=I.source},IJ=(_,$,g,U)=>{let D=g,I={type:"string",format:"binary",contentEncoding:"binary"},{minimum:j,maximum:N,mime:O}=_._zod.bag;if(j!==void 0)I.minLength=j;if(N!==void 0)I.maxLength=N;if(O)if(O.length===1)I.contentMediaType=O[0],Object.assign(D,I);else Object.assign(D,I),D.anyOf=O.map((A)=>({contentMediaType:A}));else Object.assign(D,I)},jJ=(_,$,g,U)=>{g.type="boolean"},NJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},EJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},OJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},AJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},LJ=(_,$,g,U)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},JJ=(_,$,g,U)=>{let D=g,I=_._zod.def,{minimum:j,maximum:N}=_._zod.bag;if(typeof j==="number")D.minItems=j;if(typeof N==="number")D.maxItems=N;D.type="array",D.items=A_(I.element,$,{...U,path:[...U.path,"items"]})},PJ=(_,$,g,U)=>{let D=g,I=_._zod.def;D.type="object",D.properties={};let j=I.shape;for(let A in j)D.properties[A]=A_(j[A],$,{...U,path:[...U.path,"properties",A]});let N=new Set(Object.keys(j)),O=new Set([...N].filter((A)=>{let L=I.shape[A]._zod;if($.io==="input")return L.optin===void 0;else return L.optout===void 0}));if(O.size>0)D.required=Array.from(O);if(I.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!I.catchall){if($.io==="output")D.additionalProperties=!1}else if(I.catchall)D.additionalProperties=A_(I.catchall,$,{...U,path:[...U.path,"additionalProperties"]})},R1=(_,$,g,U)=>{let D=_._zod.def,I=D.inclusive===!1,j=D.options.map((N,O)=>A_(N,$,{...U,path:[...U.path,I?"oneOf":"anyOf",O]}));if(I)g.oneOf=j;else g.anyOf=j},zJ=(_,$,g,U)=>{let D=_._zod.def,I=A_(D.left,$,{...U,path:[...U.path,"allOf",0]}),j=A_(D.right,$,{...U,path:[...U.path,"allOf",1]}),N=(A)=>("allOf"in A)&&Object.keys(A).length===1,O=[...N(I)?I.allOf:[I],...N(j)?j.allOf:[j]];g.allOf=O},SJ=(_,$,g,U)=>{let D=g,I=_._zod.def;D.type="array";let j=$.target==="draft-2020-12"?"prefixItems":"items",N=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",O=I.items.map((W,J)=>A_(W,$,{...U,path:[...U.path,j,J]})),A=I.rest?A_(I.rest,$,{...U,path:[...U.path,N,...$.target==="openapi-3.0"?[I.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=O,A)D.items=A}else if($.target==="openapi-3.0"){if(D.items={anyOf:O},A)D.items.anyOf.push(A);if(D.minItems=O.length,!A)D.maxItems=O.length}else if(D.items=O,A)D.additionalItems=A;let{minimum:L,maximum:z}=_._zod.bag;if(typeof L==="number")D.minItems=L;if(typeof z==="number")D.maxItems=z},WJ=(_,$,g,U)=>{let D=g,I=_._zod.def;D.type="object";let j=I.keyType,O=j._zod.bag?.patterns;if(I.mode==="loose"&&O&&O.size>0){let L=A_(I.valueType,$,{...U,path:[...U.path,"patternProperties","*"]});D.patternProperties={};for(let z of O)D.patternProperties[z.source]=L}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=A_(I.keyType,$,{...U,path:[...U.path,"propertyNames"]});D.additionalProperties=A_(I.valueType,$,{...U,path:[...U.path,"additionalProperties"]})}let A=j._zod.values;if(A){let L=[...A].filter((z)=>typeof z==="string"||typeof z==="number");if(L.length>0)D.required=L}},XJ=(_,$,g,U)=>{let D=_._zod.def,I=A_(D.innerType,$,U),j=$.seen.get(_);if($.target==="openapi-3.0")j.ref=D.innerType,g.nullable=!0;else g.anyOf=[I,{type:"null"}]},RJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType},GJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType,g.default=JSON.parse(JSON.stringify(D.defaultValue))},YJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);if(I.ref=D.innerType,$.io==="input")g._prefault=JSON.parse(JSON.stringify(D.defaultValue))},QJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType;let j;try{j=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}g.default=j},TJ=(_,$,g,U)=>{let D=_._zod.def,I=D.in._zod.traits.has("$ZodTransform"),j=$.io==="input"?I?D.out:D.in:D.out;A_(j,$,U);let N=$.seen.get(_);N.ref=j},qJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType,g.readOnly=!0},BJ=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType},G1=(_,$,g,U)=>{let D=_._zod.def;A_(D.innerType,$,U);let I=$.seen.get(_);I.ref=D.innerType},KJ=(_,$,g,U)=>{let D=_._zod.innerType;A_(D,$,U);let I=$.seen.get(_);I.ref=D},X1;var TD=f(()=>{YD();c();GF={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},X1={string:nL,number:dL,boolean:mL,bigint:iL,symbol:lL,null:tL,undefined:oL,void:pL,never:eL,any:aL,unknown:sL,date:_J,enum:$J,literal:gJ,nan:DJ,template_literal:UJ,file:IJ,success:jJ,custom:NJ,function:EJ,transform:OJ,map:AJ,set:LJ,array:JJ,object:PJ,union:R1,intersection:zJ,tuple:SJ,record:WJ,nullable:XJ,nonoptional:RJ,default:GJ,prefault:YJ,catch:QJ,pipe:TJ,readonly:qJ,promise:BJ,optional:G1,lazy:KJ}});class VJ{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=v6({processors:X1,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return A_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}f6(this.ctx,_);let g=w6(this.ctx,_),{"~standard":U,...D}=g;return D}}var _R=f(()=>{TD();YD()});var $R={};var gR=()=>{};var h$={};r$(h$,{version:()=>m2,util:()=>H,treeifyError:()=>QI,toJSONSchema:()=>QD,toDotPath:()=>VX,safeParseAsync:()=>pE,safeParse:()=>oE,safeEncodeAsync:()=>TK,safeEncode:()=>YK,safeDecodeAsync:()=>qK,safeDecode:()=>QK,registry:()=>LD,regexes:()=>$$,process:()=>A_,prettifyError:()=>TI,parseAsync:()=>BI,parse:()=>qI,meta:()=>yL,locales:()=>f0,isValidJWT:()=>tX,isValidBase64URL:()=>lX,isValidBase64:()=>zO,initializeContext:()=>v6,globalRegistry:()=>w_,globalConfig:()=>A4,formatError:()=>Z0,flattenError:()=>M0,finalize:()=>w6,extractDefs:()=>f6,encodeAsync:()=>RK,encode:()=>WK,describe:()=>xL,decodeAsync:()=>GK,decode:()=>XK,createToJSONSchemaMethod:()=>cL,createStandardJSONSchemaMethod:()=>u0,config:()=>Z_,clone:()=>y_,_xor:()=>eV,_xid:()=>j1,_void:()=>bL,_uuidv7:()=>_1,_uuidv6:()=>sI,_uuidv4:()=>aI,_uuid:()=>eI,_url:()=>zD,_uppercase:()=>R4,_unknown:()=>ML,_union:()=>pV,_undefined:()=>KL,_ulid:()=>I1,_uint64:()=>qL,_uint32:()=>XL,_tuple:()=>_F,_trim:()=>B4,_transform:()=>NF,_toUpperCase:()=>V4,_toLowerCase:()=>K4,_templateLiteral:()=>WF,_symbol:()=>BL,_superRefine:()=>uL,_success:()=>JF,_stringbool:()=>hL,_stringFormat:()=>w0,_string:()=>UL,_startsWith:()=>Y4,_slugify:()=>F4,_size:()=>k6,_set:()=>DF,_safeParseAsync:()=>C0,_safeParse:()=>k0,_safeEncodeAsync:()=>HI,_safeEncode:()=>ZI,_safeDecodeAsync:()=>kI,_safeDecode:()=>bI,_regex:()=>W4,_refine:()=>wL,_record:()=>$F,_readonly:()=>SF,_property:()=>GD,_promise:()=>RF,_positive:()=>SD,_pipe:()=>zF,_parseAsync:()=>H0,_parse:()=>b0,_overwrite:()=>z$,_optional:()=>EF,_number:()=>LL,_nullable:()=>OF,_null:()=>VL,_normalize:()=>q4,_nonpositive:()=>XD,_nonoptional:()=>LF,_nonnegative:()=>RD,_never:()=>ZL,_negative:()=>WD,_nativeEnum:()=>IF,_nanoid:()=>g1,_nan:()=>CL,_multipleOf:()=>U6,_minSize:()=>q$,_minLength:()=>y$,_min:()=>h_,_mime:()=>T4,_maxSize:()=>I6,_maxLength:()=>C6,_max:()=>g$,_map:()=>gF,_mac:()=>jL,_lte:()=>g$,_lt:()=>Q$,_lowercase:()=>X4,_literal:()=>jF,_length:()=>r6,_lazy:()=>XF,_ksuid:()=>N1,_jwt:()=>S1,_isoTime:()=>OL,_isoDuration:()=>AL,_isoDateTime:()=>NL,_isoDate:()=>EL,_ipv6:()=>O1,_ipv4:()=>E1,_intersection:()=>sV,_int64:()=>TL,_int32:()=>WL,_int:()=>PL,_includes:()=>G4,_guid:()=>PD,_gte:()=>h_,_gt:()=>T$,_float64:()=>SL,_float32:()=>zL,_file:()=>vL,_enum:()=>UF,_endsWith:()=>Q4,_encodeAsync:()=>FI,_encode:()=>KI,_emoji:()=>$1,_email:()=>pI,_e164:()=>z1,_discriminatedUnion:()=>aV,_default:()=>AF,_decodeAsync:()=>MI,_decode:()=>VI,_date:()=>HL,_custom:()=>fL,_cuid2:()=>U1,_cuid:()=>D1,_coercedString:()=>IL,_coercedNumber:()=>JL,_coercedDate:()=>kL,_coercedBoolean:()=>GL,_coercedBigint:()=>QL,_cidrv6:()=>L1,_cidrv4:()=>A1,_check:()=>a5,_catch:()=>PF,_boolean:()=>RL,_bigint:()=>YL,_base64url:()=>P1,_base64:()=>J1,_array:()=>rL,_any:()=>FL,TimePrecision:()=>W1,NEVER:()=>XI,JSONSchemaGenerator:()=>VJ,JSONSchema:()=>$R,Doc:()=>uI,$output:()=>tI,$input:()=>oI,$constructor:()=>Y,$brand:()=>RI,$ZodXor:()=>kO,$ZodXID:()=>DO,$ZodVoid:()=>MO,$ZodUnknown:()=>VO,$ZodUnion:()=>ID,$ZodUndefined:()=>qO,$ZodUUID:()=>o2,$ZodURL:()=>e2,$ZodULID:()=>gO,$ZodType:()=>l,$ZodTuple:()=>mI,$ZodTransform:()=>hO,$ZodTemplateLiteral:()=>aO,$ZodSymbol:()=>TO,$ZodSuccess:()=>lO,$ZodStringFormat:()=>R_,$ZodString:()=>S4,$ZodSet:()=>wO,$ZodRegistry:()=>DL,$ZodRecord:()=>vO,$ZodRealError:()=>_$,$ZodReadonly:()=>eO,$ZodPromise:()=>_A,$ZodPreprocess:()=>pO,$ZodPrefault:()=>mO,$ZodPipe:()=>lI,$ZodOptional:()=>iI,$ZodObjectJIT:()=>HO,$ZodObject:()=>eX,$ZodNumberFormat:()=>YO,$ZodNumber:()=>nI,$ZodNullable:()=>nO,$ZodNull:()=>BO,$ZodNonOptional:()=>iO,$ZodNever:()=>FO,$ZodNanoID:()=>s2,$ZodNaN:()=>oO,$ZodMap:()=>fO,$ZodMAC:()=>LO,$ZodLiteral:()=>xO,$ZodLazy:()=>$A,$ZodKSUID:()=>UO,$ZodJWT:()=>RO,$ZodIntersection:()=>rO,$ZodISOTime:()=>NO,$ZodISODuration:()=>EO,$ZodISODateTime:()=>IO,$ZodISODate:()=>jO,$ZodIPv6:()=>AO,$ZodIPv4:()=>OO,$ZodGUID:()=>t2,$ZodFunction:()=>sO,$ZodFile:()=>yO,$ZodExactOptional:()=>cO,$ZodError:()=>_D,$ZodEnum:()=>uO,$ZodEncodeError:()=>L4,$ZodEmoji:()=>a2,$ZodEmail:()=>p2,$ZodE164:()=>XO,$ZodDiscriminatedUnion:()=>CO,$ZodDefault:()=>dO,$ZodDate:()=>ZO,$ZodCustomStringFormat:()=>GO,$ZodCustom:()=>gA,$ZodCodec:()=>jD,$ZodCheckUpperCase:()=>u2,$ZodCheckStringFormat:()=>r0,$ZodCheckStartsWith:()=>y2,$ZodCheckSizeEquals:()=>k2,$ZodCheckRegex:()=>f2,$ZodCheckProperty:()=>c2,$ZodCheckOverwrite:()=>d2,$ZodCheckNumberFormat:()=>M2,$ZodCheckMultipleOf:()=>F2,$ZodCheckMinSize:()=>H2,$ZodCheckMinLength:()=>r2,$ZodCheckMimeType:()=>n2,$ZodCheckMaxSize:()=>b2,$ZodCheckMaxLength:()=>C2,$ZodCheckLowerCase:()=>w2,$ZodCheckLessThan:()=>vI,$ZodCheckLengthEquals:()=>v2,$ZodCheckIncludes:()=>x2,$ZodCheckGreaterThan:()=>fI,$ZodCheckEndsWith:()=>h2,$ZodCheckBigIntFormat:()=>Z2,$ZodCheck:()=>Y_,$ZodCatch:()=>tO,$ZodCUID2:()=>$O,$ZodCUID:()=>_O,$ZodCIDRv6:()=>PO,$ZodCIDRv4:()=>JO,$ZodBoolean:()=>UD,$ZodBigIntFormat:()=>QO,$ZodBigInt:()=>dI,$ZodBase64URL:()=>WO,$ZodBase64:()=>SO,$ZodAsyncError:()=>x$,$ZodArray:()=>bO,$ZodAny:()=>KO});var N$=f(()=>{c();rI();gL();TD();_R();gR();J4();eE();tE();DA();wI();i2();JD();s5();YD()});var Y1={};r$(Y1,{uppercase:()=>R4,trim:()=>B4,toUpperCase:()=>V4,toLowerCase:()=>K4,startsWith:()=>Y4,slugify:()=>F4,size:()=>k6,regex:()=>W4,property:()=>GD,positive:()=>SD,overwrite:()=>z$,normalize:()=>q4,nonpositive:()=>XD,nonnegative:()=>RD,negative:()=>WD,multipleOf:()=>U6,minSize:()=>q$,minLength:()=>y$,mime:()=>T4,maxSize:()=>I6,maxLength:()=>C6,lte:()=>g$,lt:()=>Q$,lowercase:()=>X4,length:()=>r6,includes:()=>G4,gte:()=>h_,gt:()=>T$,endsWith:()=>Q4});var Q1=f(()=>{N$()});var M4={};r$(M4,{time:()=>ZJ,duration:()=>bJ,datetime:()=>FJ,date:()=>MJ,ZodISOTime:()=>KD,ZodISODuration:()=>VD,ZodISODateTime:()=>qD,ZodISODate:()=>BD});function FJ(_){return NL(qD,_)}function MJ(_){return EL(BD,_)}function ZJ(_){return OL(KD,_)}function bJ(_){return AL(VD,_)}var qD,BD,KD,VD;var FD=f(()=>{N$();ZD();qD=Y("ZodISODateTime",(_,$)=>{IO.init(_,$),z_.init(_,$)});BD=Y("ZodISODate",(_,$)=>{jO.init(_,$),z_.init(_,$)});KD=Y("ZodISOTime",(_,$)=>{NO.init(_,$),z_.init(_,$)});VD=Y("ZodISODuration",(_,$)=>{EO.init(_,$),z_.init(_,$)})});var DR=(_,$)=>{_D.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(g)=>Z0(_,g)},flatten:{value:(g)=>M0(_,g)},addIssue:{value:(g)=>{_.issues.push(g),_.message=JSON.stringify(_.issues,K0,2)}},addIssues:{value:(g)=>{_.issues.push(...g),_.message=JSON.stringify(_.issues,K0,2)}},isEmpty:{get(){return _.issues.length===0}}})},UR,o_;var HJ=f(()=>{N$();N$();c();UR=Y("ZodError",DR),o_=Y("ZodError",DR,{Parent:Error})});var T1,q1,B1,K1,V1,F1,M1,Z1,b1,H1,k1,C1;var kJ=f(()=>{N$();HJ();T1=b0(o_),q1=H0(o_),B1=k0(o_),K1=C0(o_),V1=KI(o_),F1=VI(o_),M1=FI(o_),Z1=MI(o_),b1=ZI(o_),H1=bI(o_),k1=HI(o_),C1=kI(o_)});var MD={};r$(MD,{xor:()=>qP,xid:()=>iJ,void:()=>XP,uuidv7:()=>uJ,uuidv6:()=>wJ,uuidv4:()=>fJ,uuid:()=>vJ,url:()=>xJ,unknown:()=>u6,union:()=>aD,undefined:()=>SP,ulid:()=>mJ,uint64:()=>PP,uint32:()=>AP,tuple:()=>e1,transform:()=>_U,templateLiteral:()=>wP,symbol:()=>zP,superRefine:()=>Kj,success:()=>CP,stringbool:()=>mP,stringFormat:()=>DP,string:()=>x0,strictObject:()=>QP,set:()=>MP,refine:()=>Bj,record:()=>a1,readonly:()=>Rj,promise:()=>uP,preprocess:()=>lP,prefault:()=>Aj,pipe:()=>HD,partialRecord:()=>KP,optional:()=>h0,object:()=>YP,number:()=>v1,nullish:()=>kP,nullable:()=>c0,null:()=>y1,nonoptional:()=>Lj,never:()=>eD,nativeEnum:()=>ZP,nanoid:()=>cJ,nan:()=>rP,meta:()=>nP,map:()=>FP,mac:()=>oJ,looseRecord:()=>VP,looseObject:()=>TP,literal:()=>bP,lazy:()=>Qj,ksuid:()=>lJ,keyof:()=>GP,jwt:()=>gP,json:()=>iP,ipv6:()=>pJ,ipv4:()=>tJ,invertCodec:()=>fP,intersection:()=>o1,int64:()=>JP,int32:()=>OP,int:()=>bD,instanceof:()=>dP,httpUrl:()=>yJ,hostname:()=>UP,hex:()=>IP,hash:()=>jP,guid:()=>rJ,function:()=>xP,float64:()=>EP,float32:()=>NP,file:()=>HP,exactOptional:()=>Ij,enum:()=>sD,emoji:()=>hJ,email:()=>CJ,e164:()=>$P,discriminatedUnion:()=>BP,describe:()=>cP,date:()=>RP,custom:()=>hP,cuid2:()=>dJ,cuid:()=>nJ,codec:()=>vP,cidrv6:()=>aJ,cidrv4:()=>eJ,check:()=>yP,catch:()=>zj,boolean:()=>f1,bigint:()=>LP,base64url:()=>_P,base64:()=>sJ,array:()=>m0,any:()=>WP,_function:()=>xP,_default:()=>Ej,_ZodString:()=>CD,ZodXor:()=>i1,ZodXID:()=>yD,ZodVoid:()=>d1,ZodUnknown:()=>c1,ZodUnion:()=>l0,ZodUndefined:()=>u1,ZodUUID:()=>B$,ZodURL:()=>n0,ZodULID:()=>xD,ZodType:()=>o,ZodTuple:()=>p1,ZodTransform:()=>Dj,ZodTemplateLiteral:()=>Gj,ZodSymbol:()=>w1,ZodSuccess:()=>Jj,ZodStringFormat:()=>z_,ZodString:()=>H4,ZodSet:()=>_j,ZodRecord:()=>Z4,ZodReadonly:()=>Xj,ZodPromise:()=>Tj,ZodPreprocess:()=>Wj,ZodPrefault:()=>Oj,ZodPipe:()=>t0,ZodOptional:()=>$U,ZodObject:()=>i0,ZodNumberFormat:()=>x6,ZodNumber:()=>C4,ZodNullable:()=>jj,ZodNull:()=>x1,ZodNonOptional:()=>gU,ZodNever:()=>n1,ZodNanoID:()=>fD,ZodNaN:()=>Sj,ZodMap:()=>s1,ZodMAC:()=>r1,ZodLiteral:()=>$j,ZodLazy:()=>Yj,ZodKSUID:()=>hD,ZodJWT:()=>oD,ZodIntersection:()=>t1,ZodIPv6:()=>nD,ZodIPv4:()=>cD,ZodGUID:()=>y0,ZodFunction:()=>qj,ZodFile:()=>gj,ZodExactOptional:()=>Uj,ZodEnum:()=>b4,ZodEmoji:()=>vD,ZodEmail:()=>rD,ZodE164:()=>tD,ZodDiscriminatedUnion:()=>l1,ZodDefault:()=>Nj,ZodDate:()=>d0,ZodCustomStringFormat:()=>k4,ZodCustom:()=>p0,ZodCodec:()=>o0,ZodCatch:()=>Pj,ZodCUID2:()=>uD,ZodCUID:()=>wD,ZodCIDRv6:()=>mD,ZodCIDRv4:()=>dD,ZodBoolean:()=>r4,ZodBigIntFormat:()=>pD,ZodBigInt:()=>v4,ZodBase64URL:()=>lD,ZodBase64:()=>iD,ZodArray:()=>m1,ZodAny:()=>h1});function kD(_,$,g){let U=Object.getPrototypeOf(_),D=IR.get(U);if(!D)D=new Set,IR.set(U,D);if(D.has($))return;D.add($);for(let I in g){let j=g[I];Object.defineProperty(U,I,{configurable:!0,enumerable:!1,get(){let N=j.bind(this);return Object.defineProperty(this,I,{configurable:!0,writable:!0,enumerable:!0,value:N}),N},set(N){Object.defineProperty(this,I,{configurable:!0,writable:!0,enumerable:!0,value:N})}})}}function x0(_){return UL(H4,_)}function CJ(_){return pI(rD,_)}function rJ(_){return PD(y0,_)}function vJ(_){return eI(B$,_)}function fJ(_){return aI(B$,_)}function wJ(_){return sI(B$,_)}function uJ(_){return _1(B$,_)}function xJ(_){return zD(n0,_)}function yJ(_){return zD(n0,{protocol:$$.httpProtocol,hostname:$$.domain,...H.normalizeParams(_)})}function hJ(_){return $1(vD,_)}function cJ(_){return g1(fD,_)}function nJ(_){return D1(wD,_)}function dJ(_){return U1(uD,_)}function mJ(_){return I1(xD,_)}function iJ(_){return j1(yD,_)}function lJ(_){return N1(hD,_)}function tJ(_){return E1(cD,_)}function oJ(_){return jL(r1,_)}function pJ(_){return O1(nD,_)}function eJ(_){return A1(dD,_)}function aJ(_){return L1(mD,_)}function sJ(_){return J1(iD,_)}function _P(_){return P1(lD,_)}function $P(_){return z1(tD,_)}function gP(_){return S1(oD,_)}function DP(_,$,g={}){return w0(k4,_,$,g)}function UP(_){return w0(k4,"hostname",$$.hostname,_)}function IP(_){return w0(k4,"hex",$$.hex,_)}function jP(_,$){let g=$?.enc??"hex",U=`${_}_${g}`,D=$$[U];if(!D)throw Error(`Unrecognized hash format: ${U}`);return w0(k4,U,D,$)}function v1(_){return LL(C4,_)}function bD(_){return PL(x6,_)}function NP(_){return zL(x6,_)}function EP(_){return SL(x6,_)}function OP(_){return WL(x6,_)}function AP(_){return XL(x6,_)}function f1(_){return RL(r4,_)}function LP(_){return YL(v4,_)}function JP(_){return TL(pD,_)}function PP(_){return qL(pD,_)}function zP(_){return BL(w1,_)}function SP(_){return KL(u1,_)}function y1(_){return VL(x1,_)}function WP(){return FL(h1)}function u6(){return ML(c1)}function eD(_){return ZL(n1,_)}function XP(_){return bL(d1,_)}function RP(_){return HL(d0,_)}function m0(_,$){return rL(m1,_,$)}function GP(_){let $=_._zod.def.shape;return sD(Object.keys($))}function YP(_,$){let g={type:"object",shape:_??{},...H.normalizeParams($)};return new i0(g)}function QP(_,$){return new i0({type:"object",shape:_,catchall:eD(),...H.normalizeParams($)})}function TP(_,$){return new i0({type:"object",shape:_,catchall:u6(),...H.normalizeParams($)})}function aD(_,$){return new l0({type:"union",options:_,...H.normalizeParams($)})}function qP(_,$){return new i1({type:"union",options:_,inclusive:!1,...H.normalizeParams($)})}function BP(_,$,g){return new l1({type:"union",options:$,discriminator:_,...H.normalizeParams(g)})}function o1(_,$){return new t1({type:"intersection",left:_,right:$})}function e1(_,$,g){let U=$ instanceof l,D=U?g:$;return new p1({type:"tuple",items:_,rest:U?$:null,...H.normalizeParams(D)})}function a1(_,$,g){if(!$||!$._zod)return new Z4({type:"record",keyType:x0(),valueType:_,...H.normalizeParams($)});return new Z4({type:"record",keyType:_,valueType:$,...H.normalizeParams(g)})}function KP(_,$,g){let U=y_(_);return U._zod.values=void 0,new Z4({type:"record",keyType:U,valueType:$,...H.normalizeParams(g)})}function VP(_,$,g){return new Z4({type:"record",keyType:_,valueType:$,mode:"loose",...H.normalizeParams(g)})}function FP(_,$,g){return new s1({type:"map",keyType:_,valueType:$,...H.normalizeParams(g)})}function MP(_,$){return new _j({type:"set",valueType:_,...H.normalizeParams($)})}function sD(_,$){let g=Array.isArray(_)?Object.fromEntries(_.map((U)=>[U,U])):_;return new b4({type:"enum",entries:g,...H.normalizeParams($)})}function ZP(_,$){return new b4({type:"enum",entries:_,...H.normalizeParams($)})}function bP(_,$){return new $j({type:"literal",values:Array.isArray(_)?_:[_],...H.normalizeParams($)})}function HP(_){return vL(gj,_)}function _U(_){return new Dj({type:"transform",transform:_})}function h0(_){return new $U({type:"optional",innerType:_})}function Ij(_){return new Uj({type:"optional",innerType:_})}function c0(_){return new jj({type:"nullable",innerType:_})}function kP(_){return h0(c0(_))}function Ej(_,$){return new Nj({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():H.shallowClone($)}})}function Aj(_,$){return new Oj({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():H.shallowClone($)}})}function Lj(_,$){return new gU({type:"nonoptional",innerType:_,...H.normalizeParams($)})}function CP(_){return new Jj({type:"success",innerType:_})}function zj(_,$){return new Pj({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function rP(_){return CL(Sj,_)}function HD(_,$){return new t0({type:"pipe",in:_,out:$})}function vP(_,$,g){return new o0({type:"pipe",in:_,out:$,transform:g.decode,reverseTransform:g.encode})}function fP(_){let $=_._zod.def;return new o0({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function Rj(_){return new Xj({type:"readonly",innerType:_})}function wP(_,$){return new Gj({type:"template_literal",parts:_,...H.normalizeParams($)})}function Qj(_){return new Yj({type:"lazy",getter:_})}function uP(_){return new Tj({type:"promise",innerType:_})}function xP(_){return new qj({type:"function",input:Array.isArray(_?.input)?e1(_?.input):_?.input??m0(u6()),output:_?.output??u6()})}function yP(_){let $=new Y_({check:"custom"});return $._zod.check=_,$}function hP(_,$){return fL(p0,_??(()=>!0),$)}function Bj(_,$={}){return wL(p0,_,$)}function Kj(_,$){return uL(_,$)}function dP(_,$={}){let g=new p0({type:"custom",check:"custom",fn:(U)=>U instanceof _,abort:!0,...H.normalizeParams($)});return g._zod.bag.Class=_,g._zod.check=(U)=>{if(!(U.value instanceof _))U.issues.push({code:"invalid_type",expected:_.name,input:U.value,inst:g,path:[...g._zod.def.path??[]]})},g}function iP(_){let $=Qj(()=>{return aD([x0(_),v1(),f1(),y1(),m0($),a1(x0(),$)])});return $}function lP(_,$){return new Wj({type:"pipe",in:_U(_),out:$})}var IR,o,CD,H4,z_,rD,y0,B$,n0,vD,fD,wD,uD,xD,yD,hD,cD,r1,nD,dD,mD,iD,lD,tD,oD,k4,C4,x6,r4,v4,pD,w1,u1,x1,h1,c1,n1,d1,d0,m1,i0,l0,i1,l1,t1,p1,Z4,s1,_j,b4,$j,gj,Dj,$U,Uj,jj,Nj,Oj,gU,Jj,Pj,Sj,t0,o0,Wj,Xj,Gj,Yj,Tj,qj,p0,cP,nP,mP=(..._)=>hL({Codec:o0,Boolean:r4,String:H4},..._);var ZD=f(()=>{N$();N$();TD();YD();Q1();FD();kJ();IR=new WeakMap;o=Y("ZodType",(_,$)=>{return l.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:u0(_,"input"),output:u0(_,"output")}}),_.toJSONSchema=cL(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(g,U)=>T1(_,g,U,{callee:_.parse}),_.safeParse=(g,U)=>B1(_,g,U),_.parseAsync=async(g,U)=>q1(_,g,U,{callee:_.parseAsync}),_.safeParseAsync=async(g,U)=>K1(_,g,U),_.spa=_.safeParseAsync,_.encode=(g,U)=>V1(_,g,U),_.decode=(g,U)=>F1(_,g,U),_.encodeAsync=async(g,U)=>M1(_,g,U),_.decodeAsync=async(g,U)=>Z1(_,g,U),_.safeEncode=(g,U)=>b1(_,g,U),_.safeDecode=(g,U)=>H1(_,g,U),_.safeEncodeAsync=async(g,U)=>k1(_,g,U),_.safeDecodeAsync=async(g,U)=>C1(_,g,U),kD(_,"ZodType",{check(...g){let U=this.def;return this.clone(H.mergeDefs(U,{checks:[...U.checks??[],...g.map((D)=>typeof D==="function"?{_zod:{check:D,def:{check:"custom"},onattach:[]}}:D)]}),{parent:!0})},with(...g){return this.check(...g)},clone(g,U){return y_(this,g,U)},brand(){return this},register(g,U){return g.add(this,U),this},refine(g,U){return this.check(Bj(g,U))},superRefine(g,U){return this.check(Kj(g,U))},overwrite(g){return this.check(z$(g))},optional(){return h0(this)},exactOptional(){return Ij(this)},nullable(){return c0(this)},nullish(){return h0(c0(this))},nonoptional(g){return Lj(this,g)},array(){return m0(this)},or(g){return aD([this,g])},and(g){return o1(this,g)},transform(g){return HD(this,_U(g))},default(g){return Ej(this,g)},prefault(g){return Aj(this,g)},catch(g){return zj(this,g)},pipe(g){return HD(this,g)},readonly(){return Rj(this)},describe(g){let U=this.clone();return w_.add(U,{description:g}),U},meta(...g){if(g.length===0)return w_.get(this);let U=this.clone();return w_.add(U,g[0]),U},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(g){return g(this)}}),Object.defineProperty(_,"description",{get(){return w_.get(_)?.description},configurable:!0}),_}),CD=Y("_ZodString",(_,$)=>{S4.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>nL(_,U,D,I);let g=_._zod.bag;_.format=g.format??null,_.minLength=g.minimum??null,_.maxLength=g.maximum??null,kD(_,"_ZodString",{regex(...U){return this.check(W4(...U))},includes(...U){return this.check(G4(...U))},startsWith(...U){return this.check(Y4(...U))},endsWith(...U){return this.check(Q4(...U))},min(...U){return this.check(y$(...U))},max(...U){return this.check(C6(...U))},length(...U){return this.check(r6(...U))},nonempty(...U){return this.check(y$(1,...U))},lowercase(U){return this.check(X4(U))},uppercase(U){return this.check(R4(U))},trim(){return this.check(B4())},normalize(...U){return this.check(q4(...U))},toLowerCase(){return this.check(K4())},toUpperCase(){return this.check(V4())},slugify(){return this.check(F4())}})}),H4=Y("ZodString",(_,$)=>{S4.init(_,$),CD.init(_,$),_.email=(g)=>_.check(pI(rD,g)),_.url=(g)=>_.check(zD(n0,g)),_.jwt=(g)=>_.check(S1(oD,g)),_.emoji=(g)=>_.check($1(vD,g)),_.guid=(g)=>_.check(PD(y0,g)),_.uuid=(g)=>_.check(eI(B$,g)),_.uuidv4=(g)=>_.check(aI(B$,g)),_.uuidv6=(g)=>_.check(sI(B$,g)),_.uuidv7=(g)=>_.check(_1(B$,g)),_.nanoid=(g)=>_.check(g1(fD,g)),_.guid=(g)=>_.check(PD(y0,g)),_.cuid=(g)=>_.check(D1(wD,g)),_.cuid2=(g)=>_.check(U1(uD,g)),_.ulid=(g)=>_.check(I1(xD,g)),_.base64=(g)=>_.check(J1(iD,g)),_.base64url=(g)=>_.check(P1(lD,g)),_.xid=(g)=>_.check(j1(yD,g)),_.ksuid=(g)=>_.check(N1(hD,g)),_.ipv4=(g)=>_.check(E1(cD,g)),_.ipv6=(g)=>_.check(O1(nD,g)),_.cidrv4=(g)=>_.check(A1(dD,g)),_.cidrv6=(g)=>_.check(L1(mD,g)),_.e164=(g)=>_.check(z1(tD,g)),_.datetime=(g)=>_.check(FJ(g)),_.date=(g)=>_.check(MJ(g)),_.time=(g)=>_.check(ZJ(g)),_.duration=(g)=>_.check(bJ(g))});z_=Y("ZodStringFormat",(_,$)=>{R_.init(_,$),CD.init(_,$)}),rD=Y("ZodEmail",(_,$)=>{p2.init(_,$),z_.init(_,$)});y0=Y("ZodGUID",(_,$)=>{t2.init(_,$),z_.init(_,$)});B$=Y("ZodUUID",(_,$)=>{o2.init(_,$),z_.init(_,$)});n0=Y("ZodURL",(_,$)=>{e2.init(_,$),z_.init(_,$)});vD=Y("ZodEmoji",(_,$)=>{a2.init(_,$),z_.init(_,$)});fD=Y("ZodNanoID",(_,$)=>{s2.init(_,$),z_.init(_,$)});wD=Y("ZodCUID",(_,$)=>{_O.init(_,$),z_.init(_,$)});uD=Y("ZodCUID2",(_,$)=>{$O.init(_,$),z_.init(_,$)});xD=Y("ZodULID",(_,$)=>{gO.init(_,$),z_.init(_,$)});yD=Y("ZodXID",(_,$)=>{DO.init(_,$),z_.init(_,$)});hD=Y("ZodKSUID",(_,$)=>{UO.init(_,$),z_.init(_,$)});cD=Y("ZodIPv4",(_,$)=>{OO.init(_,$),z_.init(_,$)});r1=Y("ZodMAC",(_,$)=>{LO.init(_,$),z_.init(_,$)});nD=Y("ZodIPv6",(_,$)=>{AO.init(_,$),z_.init(_,$)});dD=Y("ZodCIDRv4",(_,$)=>{JO.init(_,$),z_.init(_,$)});mD=Y("ZodCIDRv6",(_,$)=>{PO.init(_,$),z_.init(_,$)});iD=Y("ZodBase64",(_,$)=>{SO.init(_,$),z_.init(_,$)});lD=Y("ZodBase64URL",(_,$)=>{WO.init(_,$),z_.init(_,$)});tD=Y("ZodE164",(_,$)=>{XO.init(_,$),z_.init(_,$)});oD=Y("ZodJWT",(_,$)=>{RO.init(_,$),z_.init(_,$)});k4=Y("ZodCustomStringFormat",(_,$)=>{GO.init(_,$),z_.init(_,$)});C4=Y("ZodNumber",(_,$)=>{nI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>dL(_,U,D,I),kD(_,"ZodNumber",{gt(U,D){return this.check(T$(U,D))},gte(U,D){return this.check(h_(U,D))},min(U,D){return this.check(h_(U,D))},lt(U,D){return this.check(Q$(U,D))},lte(U,D){return this.check(g$(U,D))},max(U,D){return this.check(g$(U,D))},int(U){return this.check(bD(U))},safe(U){return this.check(bD(U))},positive(U){return this.check(T$(0,U))},nonnegative(U){return this.check(h_(0,U))},negative(U){return this.check(Q$(0,U))},nonpositive(U){return this.check(g$(0,U))},multipleOf(U,D){return this.check(U6(U,D))},step(U,D){return this.check(U6(U,D))},finite(){return this}});let g=_._zod.bag;_.minValue=Math.max(g.minimum??Number.NEGATIVE_INFINITY,g.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,_.maxValue=Math.min(g.maximum??Number.POSITIVE_INFINITY,g.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,_.isInt=(g.format??"").includes("int")||Number.isSafeInteger(g.multipleOf??0.5),_.isFinite=!0,_.format=g.format??null});x6=Y("ZodNumberFormat",(_,$)=>{YO.init(_,$),C4.init(_,$)});r4=Y("ZodBoolean",(_,$)=>{UD.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>mL(_,g,U,D)});v4=Y("ZodBigInt",(_,$)=>{dI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>iL(_,U,D,I),_.gte=(U,D)=>_.check(h_(U,D)),_.min=(U,D)=>_.check(h_(U,D)),_.gt=(U,D)=>_.check(T$(U,D)),_.gte=(U,D)=>_.check(h_(U,D)),_.min=(U,D)=>_.check(h_(U,D)),_.lt=(U,D)=>_.check(Q$(U,D)),_.lte=(U,D)=>_.check(g$(U,D)),_.max=(U,D)=>_.check(g$(U,D)),_.positive=(U)=>_.check(T$(BigInt(0),U)),_.negative=(U)=>_.check(Q$(BigInt(0),U)),_.nonpositive=(U)=>_.check(g$(BigInt(0),U)),_.nonnegative=(U)=>_.check(h_(BigInt(0),U)),_.multipleOf=(U,D)=>_.check(U6(U,D));let g=_._zod.bag;_.minValue=g.minimum??null,_.maxValue=g.maximum??null,_.format=g.format??null});pD=Y("ZodBigIntFormat",(_,$)=>{QO.init(_,$),v4.init(_,$)});w1=Y("ZodSymbol",(_,$)=>{TO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>lL(_,g,U,D)});u1=Y("ZodUndefined",(_,$)=>{qO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>oL(_,g,U,D)});x1=Y("ZodNull",(_,$)=>{BO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>tL(_,g,U,D)});h1=Y("ZodAny",(_,$)=>{KO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>aL(_,g,U,D)});c1=Y("ZodUnknown",(_,$)=>{VO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>sL(_,g,U,D)});n1=Y("ZodNever",(_,$)=>{FO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>eL(_,g,U,D)});d1=Y("ZodVoid",(_,$)=>{MO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>pL(_,g,U,D)});d0=Y("ZodDate",(_,$)=>{ZO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>_J(_,U,D,I),_.min=(U,D)=>_.check(h_(U,D)),_.max=(U,D)=>_.check(g$(U,D));let g=_._zod.bag;_.minDate=g.minimum?new Date(g.minimum):null,_.maxDate=g.maximum?new Date(g.maximum):null});m1=Y("ZodArray",(_,$)=>{bO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>JJ(_,g,U,D),_.element=$.element,kD(_,"ZodArray",{min(g,U){return this.check(y$(g,U))},nonempty(g){return this.check(y$(1,g))},max(g,U){return this.check(C6(g,U))},length(g,U){return this.check(r6(g,U))},unwrap(){return this.element}})});i0=Y("ZodObject",(_,$)=>{HO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>PJ(_,g,U,D),H.defineLazy(_,"shape",()=>{return $.shape}),kD(_,"ZodObject",{keyof(){return sD(Object.keys(this._zod.def.shape))},catchall(g){return this.clone({...this._zod.def,catchall:g})},passthrough(){return this.clone({...this._zod.def,catchall:u6()})},loose(){return this.clone({...this._zod.def,catchall:u6()})},strict(){return this.clone({...this._zod.def,catchall:eD()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(g){return H.extend(this,g)},safeExtend(g){return H.safeExtend(this,g)},merge(g){return H.merge(this,g)},pick(g){return H.pick(this,g)},omit(g){return H.omit(this,g)},partial(...g){return H.partial($U,this,g[0])},required(...g){return H.required(gU,this,g[0])}})});l0=Y("ZodUnion",(_,$)=>{ID.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>R1(_,g,U,D),_.options=$.options});i1=Y("ZodXor",(_,$)=>{l0.init(_,$),kO.init(_,$),_._zod.processJSONSchema=(g,U,D)=>R1(_,g,U,D),_.options=$.options});l1=Y("ZodDiscriminatedUnion",(_,$)=>{l0.init(_,$),CO.init(_,$)});t1=Y("ZodIntersection",(_,$)=>{rO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>zJ(_,g,U,D)});p1=Y("ZodTuple",(_,$)=>{mI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>SJ(_,g,U,D),_.rest=(g)=>_.clone({..._._zod.def,rest:g})});Z4=Y("ZodRecord",(_,$)=>{vO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>WJ(_,g,U,D),_.keyType=$.keyType,_.valueType=$.valueType});s1=Y("ZodMap",(_,$)=>{fO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>AJ(_,g,U,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...g)=>_.check(q$(...g)),_.nonempty=(g)=>_.check(q$(1,g)),_.max=(...g)=>_.check(I6(...g)),_.size=(...g)=>_.check(k6(...g))});_j=Y("ZodSet",(_,$)=>{wO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>LJ(_,g,U,D),_.min=(...g)=>_.check(q$(...g)),_.nonempty=(g)=>_.check(q$(1,g)),_.max=(...g)=>_.check(I6(...g)),_.size=(...g)=>_.check(k6(...g))});b4=Y("ZodEnum",(_,$)=>{uO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(U,D,I)=>$J(_,U,D,I),_.enum=$.entries,_.options=Object.values($.entries);let g=new Set(Object.keys($.entries));_.extract=(U,D)=>{let I={};for(let j of U)if(g.has(j))I[j]=$.entries[j];else throw Error(`Key ${j} not found in enum`);return new b4({...$,checks:[],...H.normalizeParams(D),entries:I})},_.exclude=(U,D)=>{let I={...$.entries};for(let j of U)if(g.has(j))delete I[j];else throw Error(`Key ${j} not found in enum`);return new b4({...$,checks:[],...H.normalizeParams(D),entries:I})}});$j=Y("ZodLiteral",(_,$)=>{xO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>gJ(_,g,U,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]}})});gj=Y("ZodFile",(_,$)=>{yO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>IJ(_,g,U,D),_.min=(g,U)=>_.check(q$(g,U)),_.max=(g,U)=>_.check(I6(g,U)),_.mime=(g,U)=>_.check(T4(Array.isArray(g)?g:[g],U))});Dj=Y("ZodTransform",(_,$)=>{hO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>OJ(_,g,U,D),_._zod.parse=(g,U)=>{if(U.direction==="backward")throw new L4(_.constructor.name);g.addIssue=(I)=>{if(typeof I==="string")g.issues.push(H.issue(I,g.value,$));else{let j=I;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=g.value),j.inst??(j.inst=_),g.issues.push(H.issue(j))}};let D=$.transform(g.value,g);if(D instanceof Promise)return D.then((I)=>{return g.value=I,g.fallback=!0,g});return g.value=D,g.fallback=!0,g}});$U=Y("ZodOptional",(_,$)=>{iI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>G1(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Uj=Y("ZodExactOptional",(_,$)=>{cO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>G1(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});jj=Y("ZodNullable",(_,$)=>{nO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>XJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Nj=Y("ZodDefault",(_,$)=>{dO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>GJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});Oj=Y("ZodPrefault",(_,$)=>{mO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>YJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});gU=Y("ZodNonOptional",(_,$)=>{iO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>RJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Jj=Y("ZodSuccess",(_,$)=>{lO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>jJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Pj=Y("ZodCatch",(_,$)=>{tO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>QJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});Sj=Y("ZodNaN",(_,$)=>{oO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>DJ(_,g,U,D)});t0=Y("ZodPipe",(_,$)=>{lI.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>TJ(_,g,U,D),_.in=$.in,_.out=$.out});o0=Y("ZodCodec",(_,$)=>{t0.init(_,$),jD.init(_,$)});Wj=Y("ZodPreprocess",(_,$)=>{t0.init(_,$),pO.init(_,$)}),Xj=Y("ZodReadonly",(_,$)=>{eO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>qJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});Gj=Y("ZodTemplateLiteral",(_,$)=>{aO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>UJ(_,g,U,D)});Yj=Y("ZodLazy",(_,$)=>{$A.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>KJ(_,g,U,D),_.unwrap=()=>_._zod.def.getter()});Tj=Y("ZodPromise",(_,$)=>{_A.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>BJ(_,g,U,D),_.unwrap=()=>_._zod.def.innerType});qj=Y("ZodFunction",(_,$)=>{sO.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>EJ(_,g,U,D)});p0=Y("ZodCustom",(_,$)=>{gA.init(_,$),o.init(_,$),_._zod.processJSONSchema=(g,U,D)=>NJ(_,g,U,D)});cP=xL,nP=yL});function NR(_){Z_({customError:_})}function ER(){return Z_().customError}var jR,Vj;var OR=f(()=>{N$();jR={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 qF(_,$){let g=_.$schema;if(g==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(g==="http://json-schema.org/draft-07/schema#")return"draft-7";if(g==="http://json-schema.org/draft-04/schema#")return"draft-4";return $??"draft-2020-12"}function BF(_,$){if(!_.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let g=_.slice(1).split("/").filter(Boolean);if(g.length===0)return $.rootSchema;let U=$.version==="draft-2020-12"?"$defs":"definitions";if(g[0]===U){let D=g[1];if(!D||!$.defs[D])throw Error(`Reference not found: ${_}`);return $.defs[D]}throw Error(`Reference not found: ${_}`)}function AR(_,$){if(_.not!==void 0){if(typeof _.not==="object"&&Object.keys(_.not).length===0)return w.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 w.lazy(()=>{if(!$.refs.has(D))throw Error(`Circular reference not resolved: ${D}`);return $.refs.get(D)});$.processing.add(D);let I=BF(D,$),j=c_(I,$);return $.refs.set(D,j),$.processing.delete(D),j}if(_.enum!==void 0){let D=_.enum;if($.version==="openapi-3.0"&&_.nullable===!0&&D.length===1&&D[0]===null)return w.null();if(D.length===0)return w.never();if(D.length===1)return w.literal(D[0]);if(D.every((j)=>typeof j==="string"))return w.enum(D);let I=D.map((j)=>w.literal(j));if(I.length<2)return I[0];return w.union([I[0],I[1],...I.slice(2)])}if(_.const!==void 0)return w.literal(_.const);let g=_.type;if(Array.isArray(g)){let D=g.map((I)=>{let j={..._,type:I};return AR(j,$)});if(D.length===0)return w.never();if(D.length===1)return D[0];return w.union(D)}if(!g)return w.any();let U;switch(g){case"string":{let D=w.string();if(_.format){let I=_.format;if(I==="email")D=D.check(w.email());else if(I==="uri"||I==="uri-reference")D=D.check(w.url());else if(I==="uuid"||I==="guid")D=D.check(w.uuid());else if(I==="date-time")D=D.check(w.iso.datetime());else if(I==="date")D=D.check(w.iso.date());else if(I==="time")D=D.check(w.iso.time());else if(I==="duration")D=D.check(w.iso.duration());else if(I==="ipv4")D=D.check(w.ipv4());else if(I==="ipv6")D=D.check(w.ipv6());else if(I==="mac")D=D.check(w.mac());else if(I==="cidr")D=D.check(w.cidrv4());else if(I==="cidr-v6")D=D.check(w.cidrv6());else if(I==="base64")D=D.check(w.base64());else if(I==="base64url")D=D.check(w.base64url());else if(I==="e164")D=D.check(w.e164());else if(I==="jwt")D=D.check(w.jwt());else if(I==="emoji")D=D.check(w.emoji());else if(I==="nanoid")D=D.check(w.nanoid());else if(I==="cuid")D=D.check(w.cuid());else if(I==="cuid2")D=D.check(w.cuid2());else if(I==="ulid")D=D.check(w.ulid());else if(I==="xid")D=D.check(w.xid());else if(I==="ksuid")D=D.check(w.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));U=D;break}case"number":case"integer":{let D=g==="integer"?w.number().int():w.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);U=D;break}case"boolean":{U=w.boolean();break}case"null":{U=w.null();break}case"object":{let D={},I=_.properties||{},j=new Set(_.required||[]);for(let[O,A]of Object.entries(I)){let L=c_(A,$);D[O]=j.has(O)?L:L.optional()}if(_.propertyNames){let O=c_(_.propertyNames,$),A=_.additionalProperties&&typeof _.additionalProperties==="object"?c_(_.additionalProperties,$):w.any();if(Object.keys(D).length===0){U=w.record(O,A);break}let L=w.object(D).passthrough(),z=w.looseRecord(O,A);U=w.intersection(L,z);break}if(_.patternProperties){let O=_.patternProperties,A=Object.keys(O),L=[];for(let W of A){let J=c_(O[W],$),P=w.string().regex(new RegExp(W));L.push(w.looseRecord(P,J))}let z=[];if(Object.keys(D).length>0)z.push(w.object(D).passthrough());if(z.push(...L),z.length===0)U=w.object({}).passthrough();else if(z.length===1)U=z[0];else{let W=w.intersection(z[0],z[1]);for(let J=2;Jc_(O,$)),N=I&&typeof I==="object"&&!Array.isArray(I)?c_(I,$):void 0;if(N)U=w.tuple(j).rest(N);else U=w.tuple(j);if(typeof _.minItems==="number")U=U.check(w.minLength(_.minItems));if(typeof _.maxItems==="number")U=U.check(w.maxLength(_.maxItems))}else if(Array.isArray(I)){let j=I.map((O)=>c_(O,$)),N=_.additionalItems&&typeof _.additionalItems==="object"?c_(_.additionalItems,$):void 0;if(N)U=w.tuple(j).rest(N);else U=w.tuple(j);if(typeof _.minItems==="number")U=U.check(w.minLength(_.minItems));if(typeof _.maxItems==="number")U=U.check(w.maxLength(_.maxItems))}else if(I!==void 0){let j=c_(I,$),N=w.array(j);if(typeof _.minItems==="number")N=N.min(_.minItems);if(typeof _.maxItems==="number")N=N.max(_.maxItems);U=N}else U=w.array(w.any());break}default:throw Error(`Unsupported type: ${g}`)}return U}function c_(_,$){if(typeof _==="boolean")return _?w.any():w.never();let g=AR(_,$),U=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let N=_.anyOf.map((A)=>c_(A,$)),O=w.union(N);g=U?w.intersection(g,O):O}if(_.oneOf&&Array.isArray(_.oneOf)){let N=_.oneOf.map((A)=>c_(A,$)),O=w.xor(N);g=U?w.intersection(g,O):O}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)g=U?g:w.any();else{let N=U?g:c_(_.allOf[0],$),O=U?0:1;for(let A=O;A<_.allOf.length;A++)N=w.intersection(N,c_(_.allOf[A],$));g=N}if(_.nullable===!0&&$.version==="openapi-3.0")g=w.nullable(g);if(_.readOnly===!0)g=w.readonly(g);if(_.default!==void 0)g=g.default(_.default);let D={},I=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let N of I)if(N in _)D[N]=_[N];let j=["contentEncoding","contentMediaType","contentSchema"];for(let N of j)if(N in _)D[N]=_[N];for(let N of Object.keys(_))if(!TF.has(N))D[N]=_[N];if(Object.keys(D).length>0)$.registry.add(g,D);if(_.description)g=g.describe(_.description);return g}function tP(_,$){if(typeof _==="boolean")return _?w.any():w.never();let g;try{g=JSON.parse(JSON.stringify(_))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let U=qF(g,$?.defaultTarget),D=g.$defs||g.definitions||{},I={version:U,defs:D,refs:new Map,processing:new Set,rootSchema:g,registry:$?.registry??w_};return c_(g,I)}var w,TF;var LR=f(()=>{JD();Q1();FD();ZD();w={...MD,...Y1,iso:M4},TF=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 Fj={};r$(Fj,{string:()=>KF,number:()=>VF,date:()=>ZF,boolean:()=>FF,bigint:()=>MF});function KF(_){return IL(H4,_)}function VF(_){return JL(C4,_)}function FF(_){return GL(r4,_)}function MF(_){return QL(v4,_)}function ZF(_){return kL(d0,_)}var JR=f(()=>{N$();ZD()});var Mj={};r$(Mj,{xor:()=>qP,xid:()=>iJ,void:()=>XP,uuidv7:()=>uJ,uuidv6:()=>wJ,uuidv4:()=>fJ,uuid:()=>vJ,util:()=>H,url:()=>xJ,uppercase:()=>R4,unknown:()=>u6,union:()=>aD,undefined:()=>SP,ulid:()=>mJ,uint64:()=>PP,uint32:()=>AP,tuple:()=>e1,trim:()=>B4,treeifyError:()=>QI,transform:()=>_U,toUpperCase:()=>V4,toLowerCase:()=>K4,toJSONSchema:()=>QD,templateLiteral:()=>wP,symbol:()=>zP,superRefine:()=>Kj,success:()=>CP,stringbool:()=>mP,stringFormat:()=>DP,string:()=>x0,strictObject:()=>QP,startsWith:()=>Y4,slugify:()=>F4,size:()=>k6,setErrorMap:()=>NR,set:()=>MP,safeParseAsync:()=>K1,safeParse:()=>B1,safeEncodeAsync:()=>k1,safeEncode:()=>b1,safeDecodeAsync:()=>C1,safeDecode:()=>H1,registry:()=>LD,regexes:()=>$$,regex:()=>W4,refine:()=>Bj,record:()=>a1,readonly:()=>Rj,property:()=>GD,promise:()=>uP,prettifyError:()=>TI,preprocess:()=>lP,prefault:()=>Aj,positive:()=>SD,pipe:()=>HD,partialRecord:()=>KP,parseAsync:()=>q1,parse:()=>T1,overwrite:()=>z$,optional:()=>h0,object:()=>YP,number:()=>v1,nullish:()=>kP,nullable:()=>c0,null:()=>y1,normalize:()=>q4,nonpositive:()=>XD,nonoptional:()=>Lj,nonnegative:()=>RD,never:()=>eD,negative:()=>WD,nativeEnum:()=>ZP,nanoid:()=>cJ,nan:()=>rP,multipleOf:()=>U6,minSize:()=>q$,minLength:()=>y$,mime:()=>T4,meta:()=>nP,maxSize:()=>I6,maxLength:()=>C6,map:()=>FP,mac:()=>oJ,lte:()=>g$,lt:()=>Q$,lowercase:()=>X4,looseRecord:()=>VP,looseObject:()=>TP,locales:()=>f0,literal:()=>bP,length:()=>r6,lazy:()=>Qj,ksuid:()=>lJ,keyof:()=>GP,jwt:()=>gP,json:()=>iP,iso:()=>M4,ipv6:()=>pJ,ipv4:()=>tJ,invertCodec:()=>fP,intersection:()=>o1,int64:()=>JP,int32:()=>OP,int:()=>bD,instanceof:()=>dP,includes:()=>G4,httpUrl:()=>yJ,hostname:()=>UP,hex:()=>IP,hash:()=>jP,guid:()=>rJ,gte:()=>h_,gt:()=>T$,globalRegistry:()=>w_,getErrorMap:()=>ER,function:()=>xP,fromJSONSchema:()=>tP,formatError:()=>Z0,float64:()=>EP,float32:()=>NP,flattenError:()=>M0,file:()=>HP,exactOptional:()=>Ij,enum:()=>sD,endsWith:()=>Q4,encodeAsync:()=>M1,encode:()=>V1,emoji:()=>hJ,email:()=>CJ,e164:()=>$P,discriminatedUnion:()=>BP,describe:()=>cP,decodeAsync:()=>Z1,decode:()=>F1,date:()=>RP,custom:()=>hP,cuid2:()=>dJ,cuid:()=>nJ,core:()=>h$,config:()=>Z_,coerce:()=>Fj,codec:()=>vP,clone:()=>y_,cidrv6:()=>aJ,cidrv4:()=>eJ,check:()=>yP,catch:()=>zj,boolean:()=>f1,bigint:()=>LP,base64url:()=>_P,base64:()=>sJ,array:()=>m0,any:()=>WP,_function:()=>xP,_default:()=>Ej,_ZodString:()=>CD,ZodXor:()=>i1,ZodXID:()=>yD,ZodVoid:()=>d1,ZodUnknown:()=>c1,ZodUnion:()=>l0,ZodUndefined:()=>u1,ZodUUID:()=>B$,ZodURL:()=>n0,ZodULID:()=>xD,ZodType:()=>o,ZodTuple:()=>p1,ZodTransform:()=>Dj,ZodTemplateLiteral:()=>Gj,ZodSymbol:()=>w1,ZodSuccess:()=>Jj,ZodStringFormat:()=>z_,ZodString:()=>H4,ZodSet:()=>_j,ZodRecord:()=>Z4,ZodRealError:()=>o_,ZodReadonly:()=>Xj,ZodPromise:()=>Tj,ZodPreprocess:()=>Wj,ZodPrefault:()=>Oj,ZodPipe:()=>t0,ZodOptional:()=>$U,ZodObject:()=>i0,ZodNumberFormat:()=>x6,ZodNumber:()=>C4,ZodNullable:()=>jj,ZodNull:()=>x1,ZodNonOptional:()=>gU,ZodNever:()=>n1,ZodNanoID:()=>fD,ZodNaN:()=>Sj,ZodMap:()=>s1,ZodMAC:()=>r1,ZodLiteral:()=>$j,ZodLazy:()=>Yj,ZodKSUID:()=>hD,ZodJWT:()=>oD,ZodIssueCode:()=>jR,ZodIntersection:()=>t1,ZodISOTime:()=>KD,ZodISODuration:()=>VD,ZodISODateTime:()=>qD,ZodISODate:()=>BD,ZodIPv6:()=>nD,ZodIPv4:()=>cD,ZodGUID:()=>y0,ZodFunction:()=>qj,ZodFirstPartyTypeKind:()=>Vj,ZodFile:()=>gj,ZodExactOptional:()=>Uj,ZodError:()=>UR,ZodEnum:()=>b4,ZodEmoji:()=>vD,ZodEmail:()=>rD,ZodE164:()=>tD,ZodDiscriminatedUnion:()=>l1,ZodDefault:()=>Nj,ZodDate:()=>d0,ZodCustomStringFormat:()=>k4,ZodCustom:()=>p0,ZodCodec:()=>o0,ZodCatch:()=>Pj,ZodCUID2:()=>uD,ZodCUID:()=>wD,ZodCIDRv6:()=>mD,ZodCIDRv4:()=>dD,ZodBoolean:()=>r4,ZodBigIntFormat:()=>pD,ZodBigInt:()=>v4,ZodBase64URL:()=>lD,ZodBase64:()=>iD,ZodArray:()=>m1,ZodAny:()=>h1,TimePrecision:()=>W1,NEVER:()=>XI,$output:()=>tI,$input:()=>oI,$brand:()=>RI});var oP=f(()=>{N$();N$();PA();N$();TD();LR();gL();FD();FD();JR();ZD();Q1();HJ();kJ();OR();Z_(ND())});var PR={};r$(PR,{z:()=>Mj,xor:()=>qP,xid:()=>iJ,void:()=>XP,uuidv7:()=>uJ,uuidv6:()=>wJ,uuidv4:()=>fJ,uuid:()=>vJ,util:()=>H,url:()=>xJ,uppercase:()=>R4,unknown:()=>u6,union:()=>aD,undefined:()=>SP,ulid:()=>mJ,uint64:()=>PP,uint32:()=>AP,tuple:()=>e1,trim:()=>B4,treeifyError:()=>QI,transform:()=>_U,toUpperCase:()=>V4,toLowerCase:()=>K4,toJSONSchema:()=>QD,templateLiteral:()=>wP,symbol:()=>zP,superRefine:()=>Kj,success:()=>CP,stringbool:()=>mP,stringFormat:()=>DP,string:()=>x0,strictObject:()=>QP,startsWith:()=>Y4,slugify:()=>F4,size:()=>k6,setErrorMap:()=>NR,set:()=>MP,safeParseAsync:()=>K1,safeParse:()=>B1,safeEncodeAsync:()=>k1,safeEncode:()=>b1,safeDecodeAsync:()=>C1,safeDecode:()=>H1,registry:()=>LD,regexes:()=>$$,regex:()=>W4,refine:()=>Bj,record:()=>a1,readonly:()=>Rj,property:()=>GD,promise:()=>uP,prettifyError:()=>TI,preprocess:()=>lP,prefault:()=>Aj,positive:()=>SD,pipe:()=>HD,partialRecord:()=>KP,parseAsync:()=>q1,parse:()=>T1,overwrite:()=>z$,optional:()=>h0,object:()=>YP,number:()=>v1,nullish:()=>kP,nullable:()=>c0,null:()=>y1,normalize:()=>q4,nonpositive:()=>XD,nonoptional:()=>Lj,nonnegative:()=>RD,never:()=>eD,negative:()=>WD,nativeEnum:()=>ZP,nanoid:()=>cJ,nan:()=>rP,multipleOf:()=>U6,minSize:()=>q$,minLength:()=>y$,mime:()=>T4,meta:()=>nP,maxSize:()=>I6,maxLength:()=>C6,map:()=>FP,mac:()=>oJ,lte:()=>g$,lt:()=>Q$,lowercase:()=>X4,looseRecord:()=>VP,looseObject:()=>TP,locales:()=>f0,literal:()=>bP,length:()=>r6,lazy:()=>Qj,ksuid:()=>lJ,keyof:()=>GP,jwt:()=>gP,json:()=>iP,iso:()=>M4,ipv6:()=>pJ,ipv4:()=>tJ,invertCodec:()=>fP,intersection:()=>o1,int64:()=>JP,int32:()=>OP,int:()=>bD,instanceof:()=>dP,includes:()=>G4,httpUrl:()=>yJ,hostname:()=>UP,hex:()=>IP,hash:()=>jP,guid:()=>rJ,gte:()=>h_,gt:()=>T$,globalRegistry:()=>w_,getErrorMap:()=>ER,function:()=>xP,fromJSONSchema:()=>tP,formatError:()=>Z0,float64:()=>EP,float32:()=>NP,flattenError:()=>M0,file:()=>HP,exactOptional:()=>Ij,enum:()=>sD,endsWith:()=>Q4,encodeAsync:()=>M1,encode:()=>V1,emoji:()=>hJ,email:()=>CJ,e164:()=>$P,discriminatedUnion:()=>BP,describe:()=>cP,default:()=>bF,decodeAsync:()=>Z1,decode:()=>F1,date:()=>RP,custom:()=>hP,cuid2:()=>dJ,cuid:()=>nJ,core:()=>h$,config:()=>Z_,coerce:()=>Fj,codec:()=>vP,clone:()=>y_,cidrv6:()=>aJ,cidrv4:()=>eJ,check:()=>yP,catch:()=>zj,boolean:()=>f1,bigint:()=>LP,base64url:()=>_P,base64:()=>sJ,array:()=>m0,any:()=>WP,_function:()=>xP,_default:()=>Ej,_ZodString:()=>CD,ZodXor:()=>i1,ZodXID:()=>yD,ZodVoid:()=>d1,ZodUnknown:()=>c1,ZodUnion:()=>l0,ZodUndefined:()=>u1,ZodUUID:()=>B$,ZodURL:()=>n0,ZodULID:()=>xD,ZodType:()=>o,ZodTuple:()=>p1,ZodTransform:()=>Dj,ZodTemplateLiteral:()=>Gj,ZodSymbol:()=>w1,ZodSuccess:()=>Jj,ZodStringFormat:()=>z_,ZodString:()=>H4,ZodSet:()=>_j,ZodRecord:()=>Z4,ZodRealError:()=>o_,ZodReadonly:()=>Xj,ZodPromise:()=>Tj,ZodPreprocess:()=>Wj,ZodPrefault:()=>Oj,ZodPipe:()=>t0,ZodOptional:()=>$U,ZodObject:()=>i0,ZodNumberFormat:()=>x6,ZodNumber:()=>C4,ZodNullable:()=>jj,ZodNull:()=>x1,ZodNonOptional:()=>gU,ZodNever:()=>n1,ZodNanoID:()=>fD,ZodNaN:()=>Sj,ZodMap:()=>s1,ZodMAC:()=>r1,ZodLiteral:()=>$j,ZodLazy:()=>Yj,ZodKSUID:()=>hD,ZodJWT:()=>oD,ZodIssueCode:()=>jR,ZodIntersection:()=>t1,ZodISOTime:()=>KD,ZodISODuration:()=>VD,ZodISODateTime:()=>qD,ZodISODate:()=>BD,ZodIPv6:()=>nD,ZodIPv4:()=>cD,ZodGUID:()=>y0,ZodFunction:()=>qj,ZodFirstPartyTypeKind:()=>Vj,ZodFile:()=>gj,ZodExactOptional:()=>Uj,ZodError:()=>UR,ZodEnum:()=>b4,ZodEmoji:()=>vD,ZodEmail:()=>rD,ZodE164:()=>tD,ZodDiscriminatedUnion:()=>l1,ZodDefault:()=>Nj,ZodDate:()=>d0,ZodCustomStringFormat:()=>k4,ZodCustom:()=>p0,ZodCodec:()=>o0,ZodCatch:()=>Pj,ZodCUID2:()=>uD,ZodCUID:()=>wD,ZodCIDRv6:()=>mD,ZodCIDRv4:()=>dD,ZodBoolean:()=>r4,ZodBigIntFormat:()=>pD,ZodBigInt:()=>v4,ZodBase64URL:()=>lD,ZodBase64:()=>iD,ZodArray:()=>m1,ZodAny:()=>h1,TimePrecision:()=>W1,NEVER:()=>XI,$output:()=>tI,$input:()=>oI,$brand:()=>RI});var bF;var zR=f(()=>{oP();oP();bF=Mj});var qU=e6((Tr)=>{class o3 extends Error{constructor(_,$,g){super(g);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=_,this.nestedError=void 0}}class $8 extends o3{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Tr.CommanderError=o3;Tr.InvalidArgumentError=$8});var zN=e6((Fr)=>{var{InvalidArgumentError:Kr}=qU();class g8{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=($,g)=>{if(!this.argChoices.includes($))throw new Kr(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,g);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Vr(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}Fr.Argument=g8;Fr.humanReadableArgName=Vr});var p3=e6((Hr)=>{var{humanReadableArgName:br}=zN();class D8{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((U)=>!U._hidden),g=_._getHelpCommand();if(g&&!g._hidden)$.push(g);if(this.sortSubcommands)$.sort((U,D)=>{return U.name().localeCompare(D.name())});return $}compareOptions(_,$){let g=(U)=>{return U.short?U.short.replace(/^-/,""):U.long.replace(/^--/,"")};return g(_).localeCompare(g($))}visibleOptions(_){let $=_.options.filter((U)=>!U.hidden),g=_._getHelpOption();if(g&&!g.hidden){let U=g.short&&_._findOption(g.short),D=g.long&&_._findOption(g.long);if(!U&&!D)$.push(g);else if(g.long&&!D)$.push(_.createOption(g.long,g.description));else if(g.short&&!U)$.push(_.createOption(g.short,g.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(_){if(!this.showGlobalOptions)return[];let $=[];for(let g=_.parent;g;g=g.parent){let U=g.options.filter((D)=>!D.hidden);$.push(...U)}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((g)=>br(g)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(U))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleOptionTerm($.optionTerm(U))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleOptionTerm($.optionTerm(U))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((g,U)=>{return Math.max(g,this.displayWidth($.styleArgumentTerm($.argumentTerm(U))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let g="";for(let U=_.parent;U;U=U.parent)g=U.name()+" "+g;return g+$+" "+_.usage()}commandDescription(_){return _.description()}subcommandDescription(_){return _.summary()||_.description()}optionDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((g)=>JSON.stringify(g)).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((g)=>JSON.stringify(g)).join(", ")}`);if(_.defaultValue!==void 0)$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`);if($.length>0){let g=`(${$.join(", ")})`;if(_.description)return`${_.description} ${g}`;return g}return _.description}formatHelp(_,$){let g=$.padWidth(_,$),U=$.helpWidth??80;function D(L,z){return $.formatItem(L,g,z,$)}let I=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],j=$.commandDescription(_);if(j.length>0)I=I.concat([$.boxWrap($.styleCommandDescription(j),U),""]);let N=$.visibleArguments(_).map((L)=>{return D($.styleArgumentTerm($.argumentTerm(L)),$.styleArgumentDescription($.argumentDescription(L)))});if(N.length>0)I=I.concat([$.styleTitle("Arguments:"),...N,""]);let O=$.visibleOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(O.length>0)I=I.concat([$.styleTitle("Options:"),...O,""]);if($.showGlobalOptions){let L=$.visibleGlobalOptions(_).map((z)=>{return D($.styleOptionTerm($.optionTerm(z)),$.styleOptionDescription($.optionDescription(z)))});if(L.length>0)I=I.concat([$.styleTitle("Global Options:"),...L,""])}let A=$.visibleCommands(_).map((L)=>{return D($.styleSubcommandTerm($.subcommandTerm(L)),$.styleSubcommandDescription($.subcommandDescription(L)))});if(A.length>0)I=I.concat([$.styleTitle("Commands:"),...A,""]);return I.join(` +`)}displayWidth(_){return U8(_).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(_,$,g,U){let I=" ".repeat(2);if(!g)return I+_;let j=_.padEnd($+_.length-U.displayWidth(_)),N=2,A=(this.helpWidth??80)-$-N-2,L;if(A{let j=I.match(U);if(j===null){D.push("");return}let N=[j.shift()],O=this.displayWidth(N[0]);j.forEach((A)=>{let L=this.displayWidth(A);if(O+L<=$){N.push(A),O+=L;return}D.push(N.join(""));let z=A.trimStart();N=[z],O=this.displayWidth(z)}),D.push(N.join(""))}),D.join(` -`)}}function D8(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}br.Help=g8;br.stripColor=D8});var e3=e6((vr)=>{var{InvalidArgumentError:Cr}=qU();class I8{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let g=rr(_);if(this.short=g.shortFlag,this.long=g.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=($,g)=>{if(!this.argChoices.includes($))throw new Cr(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,g);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return U8(this.name().replace(/^no-/,""));return U8(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class j8{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(($,g)=>{if(this.positiveOptions.has(g))this.dualOptions.add(g)})}valueFromOption(_,$){let g=$.attributeName();if(!this.dualOptions.has(g))return!0;let U=this.negativeOptions.get(g).presetArg,D=U!==void 0?U:!1;return $.negate===(D===_)}}function U8(_){return _.split("-").reduce(($,g)=>{return $+g[0].toUpperCase()+g.slice(1)})}function rr(_){let $,g,U=/^-[^-]$/,D=/^--[^-]/,I=_.split(/[ |,]+/).concat("guard");if(U.test(I[0]))$=I.shift();if(D.test(I[0]))g=I.shift();if(!$&&U.test(I[0]))$=I.shift();if(!$&&D.test(I[0]))$=g,g=I.shift();if(I[0].startsWith("-")){let j=I[0],N=`option creation failed due to '${j}' in option flags '${_}'`;if(/^-[^-][^-]/.test(j))throw Error(`${N} +`)}}function U8(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}Hr.Help=D8;Hr.stripColor=U8});var e3=e6((fr)=>{var{InvalidArgumentError:rr}=qU();class j8{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let g=vr(_);if(this.short=g.shortFlag,this.long=g.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=($,g)=>{if(!this.argChoices.includes($))throw new rr(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,g);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return I8(this.name().replace(/^no-/,""));return I8(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class N8{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(($,g)=>{if(this.positiveOptions.has(g))this.dualOptions.add(g)})}valueFromOption(_,$){let g=$.attributeName();if(!this.dualOptions.has(g))return!0;let U=this.negativeOptions.get(g).presetArg,D=U!==void 0?U:!1;return $.negate===(D===_)}}function I8(_){return _.split("-").reduce(($,g)=>{return $+g[0].toUpperCase()+g.slice(1)})}function vr(_){let $,g,U=/^-[^-]$/,D=/^--[^-]/,I=_.split(/[ |,]+/).concat("guard");if(U.test(I[0]))$=I.shift();if(D.test(I[0]))g=I.shift();if(!$&&U.test(I[0]))$=I.shift();if(!$&&D.test(I[0]))$=g,g=I.shift();if(I[0].startsWith("-")){let j=I[0],N=`option creation failed due to '${j}' in option flags '${_}'`;if(/^-[^-][^-]/.test(j))throw Error(`${N} - 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(U.test(j))throw Error(`${N} - too many short flags`);if(D.test(j))throw Error(`${N} - too many long flags`);throw Error(`${N} -- unrecognised flag format`)}if($===void 0&&g===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:g}}vr.Option=I8;vr.DualOptions=j8});var N8=e6((yr)=>{function ur(_,$){if(Math.abs(_.length-$.length)>3)return Math.max(_.length,$.length);let g=[];for(let U=0;U<=_.length;U++)g[U]=[U];for(let U=0;U<=$.length;U++)g[0][U]=U;for(let U=1;U<=$.length;U++)for(let D=1;D<=_.length;D++){let I=1;if(_[D-1]===$[U-1])I=0;else I=1;if(g[D][U]=Math.min(g[D-1][U]+1,g[D][U-1]+1,g[D-1][U-1]+I),D>1&&U>1&&_[D-1]===$[U-2]&&_[D-2]===$[U-1])g[D][U]=Math.min(g[D][U],g[D-2][U-2]+1)}return g[_.length][$.length]}function xr(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let g=_.startsWith("--");if(g)_=_.slice(2),$=$.map((j)=>j.slice(2));let U=[],D=3,I=0.4;if($.forEach((j)=>{if(j.length<=1)return;let N=ur(_,j),O=Math.max(_.length,j.length);if((O-N)/O>I){if(Nj.localeCompare(N)),g)U=U.map((j)=>`--${j}`);if(U.length>1)return` +- unrecognised flag format`)}if($===void 0&&g===void 0)throw Error(`option creation failed due to no flags found in '${_}'.`);return{shortFlag:$,longFlag:g}}fr.Option=j8;fr.DualOptions=N8});var E8=e6((hr)=>{function xr(_,$){if(Math.abs(_.length-$.length)>3)return Math.max(_.length,$.length);let g=[];for(let U=0;U<=_.length;U++)g[U]=[U];for(let U=0;U<=$.length;U++)g[0][U]=U;for(let U=1;U<=$.length;U++)for(let D=1;D<=_.length;D++){let I=1;if(_[D-1]===$[U-1])I=0;else I=1;if(g[D][U]=Math.min(g[D-1][U]+1,g[D][U-1]+1,g[D-1][U-1]+I),D>1&&U>1&&_[D-1]===$[U-2]&&_[D-2]===$[U-1])g[D][U]=Math.min(g[D][U],g[D-2][U-2]+1)}return g[_.length][$.length]}function yr(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let g=_.startsWith("--");if(g)_=_.slice(2),$=$.map((j)=>j.slice(2));let U=[],D=3,I=0.4;if($.forEach((j)=>{if(j.length<=1)return;let N=xr(_,j),O=Math.max(_.length,j.length);if((O-N)/O>I){if(Nj.localeCompare(N)),g)U=U.map((j)=>`--${j}`);if(U.length>1)return` (Did you mean one of ${U.join(", ")}?)`;if(U.length===1)return` -(Did you mean ${U[0]}?)`;return""}yr.suggestSimilar=xr});var L8=e6((tr)=>{var cr=O_("events").EventEmitter,a3=O_("child_process"),S6=O_("path"),SN=O_("fs"),E_=O_("process"),{Argument:nr,humanReadableArgName:dr}=zN(),{CommanderError:s3}=qU(),{Help:mr,stripColor:ir}=p3(),{Option:E8,DualOptions:lr}=e3(),{suggestSimilar:O8}=N8();class $z extends cr{constructor(_){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=_||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:($)=>E_.stdout.write($),writeErr:($)=>E_.stderr.write($),outputError:($,g)=>g($),getOutHelpWidth:()=>E_.stdout.isTTY?E_.stdout.columns:void 0,getErrHelpWidth:()=>E_.stderr.isTTY?E_.stderr.columns:void 0,getOutHasColors:()=>_z()??(E_.stdout.isTTY&&E_.stdout.hasColors?.()),getErrHasColors:()=>_z()??(E_.stderr.isTTY&&E_.stderr.hasColors?.()),stripColor:($)=>ir($)},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(_,$,g){let U=$,D=g;if(typeof U==="object"&&U!==null)D=U,U=null;D=D||{};let[,I,j]=_.match(/([^ ]+) *(.*)/),N=this.createCommand(I);if(U)N.description(U),N._executableHandler=!0;if(D.isDefault)this._defaultCommandName=N._name;if(N._hidden=!!(D.noHelp||D.hidden),N._executableFile=D.executableFile||null,j)N.arguments(j);if(this._registerCommand(N),N.parent=this,N.copyInheritedSettings(this),U)return this;return N}createCommand(_){return new $z(_)}createHelp(){return Object.assign(new mr,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 nr(_,$)}argument(_,$,g,U){let D=this.createArgument(_,$);if(typeof g==="function")D.default(U).argParser(g);else D.default(g);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[,g,U]=_.match(/([^ ]+) *(.*)/),D=$??"display help for command",I=this.createCommand(g);if(I.helpOption(!1),U)I.arguments(U);if(D)I.description(D);return this._addImplicitHelpCommand=!0,this._helpCommand=I,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 g=["preSubcommand","preAction","postAction"];if(!g.includes(_))throw Error(`Unexpected value for event passed to hook : '${_}'. -Expecting one of '${g.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(_,$,g){if(this._exitCallback)this._exitCallback(new s3(_,$,g));E_.exit(_)}action(_){let $=(g)=>{let U=this.registeredArguments.length,D=g.slice(0,U);if(this._storeOptionsAsProperties)D[U]=this;else D[U]=this.opts();return D.push(this),_.apply(this,D)};return this._actionHandler=$,this}createOption(_,$){return new E8(_,$)}_callParseArg(_,$,g,U){try{return _.parseArg($,g)}catch(D){if(D.code==="commander.invalidArgument"){let I=`${U} ${D.message}`;this.error(I,{exitCode:D.exitCode,code:D.code})}throw D}}_registerOption(_){let $=_.short&&this._findOption(_.short)||_.long&&this._findOption(_.long);if($){let g=_.long&&this._findOption(_.long)?_.long:_.short;throw Error(`Cannot add option '${_.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${g}' -- already used by option '${$.flags}'`)}this.options.push(_)}_registerCommand(_){let $=(U)=>{return[U.name()].concat(U.aliases())},g=$(_).find((U)=>this._findCommand(U));if(g){let U=$(this._findCommand(g)).join("|"),D=$(_).join("|");throw Error(`cannot add command '${D}' as already have command '${U}'`)}this.commands.push(_)}addOption(_){this._registerOption(_);let $=_.name(),g=_.attributeName();if(_.negate){let D=_.long.replace(/^--no-/,"--");if(!this._findOption(D))this.setOptionValueWithSource(g,_.defaultValue===void 0?!0:_.defaultValue,"default")}else if(_.defaultValue!==void 0)this.setOptionValueWithSource(g,_.defaultValue,"default");let U=(D,I,j)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let N=this.getOptionValue(g);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,N,I);else if(D!==null&&_.variadic)D=_._concatValue(D,N);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(g,D,j)};if(this.on("option:"+$,(D)=>{let I=`error: option '${_.flags}' argument '${D}' is invalid.`;U(D,I,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let I=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;U(D,I,"env")});return this}_optionEx(_,$,g,U,D){if(typeof $==="object"&&$ instanceof E8)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let I=this.createOption($,g);if(I.makeOptionMandatory(!!_.mandatory),typeof U==="function")I.default(D).argParser(U);else if(U instanceof RegExp){let j=U;U=(N,O)=>{let A=j.exec(N);return A?A[0]:O},I.default(D).argParser(U)}else I.default(U);return this.addOption(I)}option(_,$,g,U){return this._optionEx({},_,$,g,U)}requiredOption(_,$,g,U){return this._optionEx({mandatory:!0},_,$,g,U)}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(_,$,g){if(this._storeOptionsAsProperties)this[_]=$;else this._optionValues[_]=$;return this._optionValueSources[_]=g,this}getOptionValueSource(_){return this._optionValueSources[_]}getOptionValueSourceWithGlobals(_){let $;return this._getCommandAndAncestors().forEach((g)=>{if(g.getOptionValueSource(_)!==void 0)$=g.getOptionValueSource(_)}),$}_prepareUserArgs(_,$){if(_!==void 0&&!Array.isArray(_))throw Error("first parameter to parse must be array or undefined");if($=$||{},_===void 0&&$.from===void 0){if(E_.versions?.electron)$.from="electron";let U=E_.execArgv??[];if(U.includes("-e")||U.includes("--eval")||U.includes("-p")||U.includes("--print"))$.from="eval"}if(_===void 0)_=E_.argv;this.rawArgs=_.slice();let g;switch($.from){case void 0:case"node":this._scriptPath=_[1],g=_.slice(2);break;case"electron":if(E_.defaultApp)this._scriptPath=_[1],g=_.slice(2);else g=_.slice(1);break;case"user":g=_.slice(0);break;case"eval":g=_.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",g}parse(_,$){this._prepareForParse();let g=this._prepareUserArgs(_,$);return this._parseCommand([],g),this}async parseAsync(_,$){this._prepareForParse();let g=this._prepareUserArgs(_,$);return await this._parseCommand([],g),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. +(Did you mean ${U[0]}?)`;return""}hr.suggestSimilar=yr});var J8=e6((or)=>{var nr=O_("events").EventEmitter,a3=O_("child_process"),S6=O_("path"),SN=O_("fs"),E_=O_("process"),{Argument:dr,humanReadableArgName:mr}=zN(),{CommanderError:s3}=qU(),{Help:ir,stripColor:lr}=p3(),{Option:O8,DualOptions:tr}=e3(),{suggestSimilar:A8}=E8();class $z extends nr{constructor(_){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=_||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:($)=>E_.stdout.write($),writeErr:($)=>E_.stderr.write($),outputError:($,g)=>g($),getOutHelpWidth:()=>E_.stdout.isTTY?E_.stdout.columns:void 0,getErrHelpWidth:()=>E_.stderr.isTTY?E_.stderr.columns:void 0,getOutHasColors:()=>_z()??(E_.stdout.isTTY&&E_.stdout.hasColors?.()),getErrHasColors:()=>_z()??(E_.stderr.isTTY&&E_.stderr.hasColors?.()),stripColor:($)=>lr($)},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(_,$,g){let U=$,D=g;if(typeof U==="object"&&U!==null)D=U,U=null;D=D||{};let[,I,j]=_.match(/([^ ]+) *(.*)/),N=this.createCommand(I);if(U)N.description(U),N._executableHandler=!0;if(D.isDefault)this._defaultCommandName=N._name;if(N._hidden=!!(D.noHelp||D.hidden),N._executableFile=D.executableFile||null,j)N.arguments(j);if(this._registerCommand(N),N.parent=this,N.copyInheritedSettings(this),U)return this;return N}createCommand(_){return new $z(_)}createHelp(){return Object.assign(new ir,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 dr(_,$)}argument(_,$,g,U){let D=this.createArgument(_,$);if(typeof g==="function")D.default(U).argParser(g);else D.default(g);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[,g,U]=_.match(/([^ ]+) *(.*)/),D=$??"display help for command",I=this.createCommand(g);if(I.helpOption(!1),U)I.arguments(U);if(D)I.description(D);return this._addImplicitHelpCommand=!0,this._helpCommand=I,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 g=["preSubcommand","preAction","postAction"];if(!g.includes(_))throw Error(`Unexpected value for event passed to hook : '${_}'. +Expecting one of '${g.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(_,$,g){if(this._exitCallback)this._exitCallback(new s3(_,$,g));E_.exit(_)}action(_){let $=(g)=>{let U=this.registeredArguments.length,D=g.slice(0,U);if(this._storeOptionsAsProperties)D[U]=this;else D[U]=this.opts();return D.push(this),_.apply(this,D)};return this._actionHandler=$,this}createOption(_,$){return new O8(_,$)}_callParseArg(_,$,g,U){try{return _.parseArg($,g)}catch(D){if(D.code==="commander.invalidArgument"){let I=`${U} ${D.message}`;this.error(I,{exitCode:D.exitCode,code:D.code})}throw D}}_registerOption(_){let $=_.short&&this._findOption(_.short)||_.long&&this._findOption(_.long);if($){let g=_.long&&this._findOption(_.long)?_.long:_.short;throw Error(`Cannot add option '${_.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${g}' +- already used by option '${$.flags}'`)}this.options.push(_)}_registerCommand(_){let $=(U)=>{return[U.name()].concat(U.aliases())},g=$(_).find((U)=>this._findCommand(U));if(g){let U=$(this._findCommand(g)).join("|"),D=$(_).join("|");throw Error(`cannot add command '${D}' as already have command '${U}'`)}this.commands.push(_)}addOption(_){this._registerOption(_);let $=_.name(),g=_.attributeName();if(_.negate){let D=_.long.replace(/^--no-/,"--");if(!this._findOption(D))this.setOptionValueWithSource(g,_.defaultValue===void 0?!0:_.defaultValue,"default")}else if(_.defaultValue!==void 0)this.setOptionValueWithSource(g,_.defaultValue,"default");let U=(D,I,j)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let N=this.getOptionValue(g);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,N,I);else if(D!==null&&_.variadic)D=_._concatValue(D,N);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(g,D,j)};if(this.on("option:"+$,(D)=>{let I=`error: option '${_.flags}' argument '${D}' is invalid.`;U(D,I,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let I=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;U(D,I,"env")});return this}_optionEx(_,$,g,U,D){if(typeof $==="object"&&$ instanceof O8)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let I=this.createOption($,g);if(I.makeOptionMandatory(!!_.mandatory),typeof U==="function")I.default(D).argParser(U);else if(U instanceof RegExp){let j=U;U=(N,O)=>{let A=j.exec(N);return A?A[0]:O},I.default(D).argParser(U)}else I.default(U);return this.addOption(I)}option(_,$,g,U){return this._optionEx({},_,$,g,U)}requiredOption(_,$,g,U){return this._optionEx({mandatory:!0},_,$,g,U)}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(_,$,g){if(this._storeOptionsAsProperties)this[_]=$;else this._optionValues[_]=$;return this._optionValueSources[_]=g,this}getOptionValueSource(_){return this._optionValueSources[_]}getOptionValueSourceWithGlobals(_){let $;return this._getCommandAndAncestors().forEach((g)=>{if(g.getOptionValueSource(_)!==void 0)$=g.getOptionValueSource(_)}),$}_prepareUserArgs(_,$){if(_!==void 0&&!Array.isArray(_))throw Error("first parameter to parse must be array or undefined");if($=$||{},_===void 0&&$.from===void 0){if(E_.versions?.electron)$.from="electron";let U=E_.execArgv??[];if(U.includes("-e")||U.includes("--eval")||U.includes("-p")||U.includes("--print"))$.from="eval"}if(_===void 0)_=E_.argv;this.rawArgs=_.slice();let g;switch($.from){case void 0:case"node":this._scriptPath=_[1],g=_.slice(2);break;case"electron":if(E_.defaultApp)this._scriptPath=_[1],g=_.slice(2);else g=_.slice(1);break;case"user":g=_.slice(0);break;case"eval":g=_.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",g}parse(_,$){this._prepareForParse();let g=this._prepareUserArgs(_,$);return this._parseCommand([],g),this}async parseAsync(_,$){this._prepareForParse();let g=this._prepareUserArgs(_,$);return await this._parseCommand([],g),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(_,$,g){if(SN.existsSync(_))return;let U=$?`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 '${g}' 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 - - ${U}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let g=!1,U=[".js",".ts",".tsx",".mjs",".cjs"];function D(A,L){let z=S6.resolve(A,L);if(SN.existsSync(z))return z;if(U.includes(S6.extname(L)))return;let W=U.find((J)=>SN.existsSync(`${z}${J}`));if(W)return`${z}${W}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let I=_._executableFile||`${this._name}-${_._name}`,j=this._executableDir||"";if(this._scriptPath){let A;try{A=SN.realpathSync(this._scriptPath)}catch{A=this._scriptPath}j=S6.resolve(S6.dirname(A),j)}if(j){let A=D(j,I);if(!A&&!_._executableFile&&this._scriptPath){let L=S6.basename(this._scriptPath,S6.extname(this._scriptPath));if(L!==this._name)A=D(j,`${L}-${_._name}`)}I=A||I}g=U.includes(S6.extname(I));let N;if(E_.platform!=="win32")if(g)$.unshift(I),$=A8(E_.execArgv).concat($),N=a3.spawn(E_.argv[0],$,{stdio:"inherit"});else N=a3.spawn(I,$,{stdio:"inherit"});else this._checkForMissingExecutable(I,j,_._name),$.unshift(I),$=A8(E_.execArgv).concat($),N=a3.spawn(E_.execPath,$,{stdio:"inherit"});if(!N.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((L)=>{E_.on(L,()=>{if(N.killed===!1&&N.exitCode===null)N.kill(L)})});let O=this._exitCallback;N.on("close",(A)=>{if(A=A??1,!O)E_.exit(A);else O(new s3(A,"commander.executeSubCommandAsync","(close)"))}),N.on("error",(A)=>{if(A.code==="ENOENT")this._checkForMissingExecutable(I,j,_._name);else if(A.code==="EACCES")throw Error(`'${I}' not executable`);if(!O)E_.exit(1);else{let L=new s3(1,"commander.executeSubCommandAsync","(error)");L.nestedError=A,O(L)}}),this.runningCommand=N}_dispatchSubcommand(_,$,g){let U=this._findCommand(_);if(!U)this.help({error:!0});U._prepareForParse();let D;return D=this._chainOrCallSubCommandHook(D,U,"preSubcommand"),D=this._chainOrCall(D,()=>{if(U._executableHandler)this._executeSubCommand(U,$.concat(g));else return U._parseCommand($,g)}),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 _=(g,U,D)=>{let I=U;if(U!==null&&g.parseArg){let j=`error: command-argument value '${U}' is invalid for argument '${g.name()}'.`;I=this._callParseArg(g,U,D,j)}return I};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((g,U)=>{let D=g.defaultValue;if(g.variadic){if(U{return _(g,j,I)},g.defaultValue)}else if(D===void 0)D=[]}else if(U$());return $()}_chainOrCallHooks(_,$){let g=_,U=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((I)=>{U.push({hookedCommand:D,callback:I})})}),$==="postAction")U.reverse();return U.forEach((D)=>{g=this._chainOrCall(g,()=>{return D.callback(D.hookedCommand,this)})}),g}_chainOrCallSubCommandHook(_,$,g){let U=_;if(this._lifeCycleHooks[g]!==void 0)this._lifeCycleHooks[g].forEach((D)=>{U=this._chainOrCall(U,()=>{return D(this,$)})});return U}_parseCommand(_,$){let g=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),_=_.concat(g.operands),$=g.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(g.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let U=()=>{if(g.unknown.length>0)this.unknownOption(g.unknown[0])},D=`command:${this.name()}`;if(this._actionHandler){U(),this._processArguments();let I;if(I=this._chainOrCallHooks(I,"preAction"),I=this._chainOrCall(I,()=>this._actionHandler(this.processedArgs)),this.parent)I=this._chainOrCall(I,()=>{this.parent.emit(D,_,$)});return I=this._chainOrCallHooks(I,"postAction"),I}if(this.parent&&this.parent.listenerCount(D))U(),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 U(),this._processArguments()}else if(this.commands.length)U(),this.help({error:!0});else U(),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((g)=>{let U=g.attributeName();if(this.getOptionValue(U)===void 0)return!1;return this.getOptionValueSource(U)!=="default"});_.filter((g)=>g.conflictsWith.length>0).forEach((g)=>{let U=_.find((D)=>g.conflictsWith.includes(D.attributeName()));if(U)this._conflictingOption(g,U)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],g=[],U=$,D=_.slice();function I(N){return N.length>1&&N[0]==="-"}let j=null;while(D.length){let N=D.shift();if(N==="--"){if(U===g)U.push(N);U.push(...D);break}if(j&&!I(N)){this.emit(`option:${j.name()}`,N);continue}if(j=null,I(N)){let O=this._findOption(N);if(O){if(O.required){let A=D.shift();if(A===void 0)this.optionMissingArgument(O);this.emit(`option:${O.name()}`,A)}else if(O.optional){let A=null;if(D.length>0&&!I(D[0]))A=D.shift();this.emit(`option:${O.name()}`,A)}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()}`),D.unshift(`-${N.slice(2)}`);continue}}if(/^--[^=]+=/.test(N)){let O=N.indexOf("="),A=this._findOption(N.slice(0,O));if(A&&(A.required||A.optional)){this.emit(`option:${A.name()}`,N.slice(O+1));continue}}if(I(N))U=g;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&g.length===0){if(this._findCommand(N)){if($.push(N),D.length>0)g.push(...D);break}else if(this._getHelpCommand()&&N===this._getHelpCommand().name()){if($.push(N),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(g.push(N),D.length>0)g.push(...D);break}}if(this._passThroughOptions){if(U.push(N),D.length>0)U.push(...D);break}U.push(N)}return{operands:$,unknown:g}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let g=0;g<$;g++){let U=this.options[g].attributeName();_[U]=U===this._versionOptionName?this._version:this[U]}return _}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((_,$)=>Object.assign(_,$.opts()),{})}error(_,$){if(this._outputConfiguration.outputError(`${_} + - ${U}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let g=!1,U=[".js",".ts",".tsx",".mjs",".cjs"];function D(A,L){let z=S6.resolve(A,L);if(SN.existsSync(z))return z;if(U.includes(S6.extname(L)))return;let W=U.find((J)=>SN.existsSync(`${z}${J}`));if(W)return`${z}${W}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let I=_._executableFile||`${this._name}-${_._name}`,j=this._executableDir||"";if(this._scriptPath){let A;try{A=SN.realpathSync(this._scriptPath)}catch{A=this._scriptPath}j=S6.resolve(S6.dirname(A),j)}if(j){let A=D(j,I);if(!A&&!_._executableFile&&this._scriptPath){let L=S6.basename(this._scriptPath,S6.extname(this._scriptPath));if(L!==this._name)A=D(j,`${L}-${_._name}`)}I=A||I}g=U.includes(S6.extname(I));let N;if(E_.platform!=="win32")if(g)$.unshift(I),$=L8(E_.execArgv).concat($),N=a3.spawn(E_.argv[0],$,{stdio:"inherit"});else N=a3.spawn(I,$,{stdio:"inherit"});else this._checkForMissingExecutable(I,j,_._name),$.unshift(I),$=L8(E_.execArgv).concat($),N=a3.spawn(E_.execPath,$,{stdio:"inherit"});if(!N.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((L)=>{E_.on(L,()=>{if(N.killed===!1&&N.exitCode===null)N.kill(L)})});let O=this._exitCallback;N.on("close",(A)=>{if(A=A??1,!O)E_.exit(A);else O(new s3(A,"commander.executeSubCommandAsync","(close)"))}),N.on("error",(A)=>{if(A.code==="ENOENT")this._checkForMissingExecutable(I,j,_._name);else if(A.code==="EACCES")throw Error(`'${I}' not executable`);if(!O)E_.exit(1);else{let L=new s3(1,"commander.executeSubCommandAsync","(error)");L.nestedError=A,O(L)}}),this.runningCommand=N}_dispatchSubcommand(_,$,g){let U=this._findCommand(_);if(!U)this.help({error:!0});U._prepareForParse();let D;return D=this._chainOrCallSubCommandHook(D,U,"preSubcommand"),D=this._chainOrCall(D,()=>{if(U._executableHandler)this._executeSubCommand(U,$.concat(g));else return U._parseCommand($,g)}),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 _=(g,U,D)=>{let I=U;if(U!==null&&g.parseArg){let j=`error: command-argument value '${U}' is invalid for argument '${g.name()}'.`;I=this._callParseArg(g,U,D,j)}return I};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((g,U)=>{let D=g.defaultValue;if(g.variadic){if(U{return _(g,j,I)},g.defaultValue)}else if(D===void 0)D=[]}else if(U$());return $()}_chainOrCallHooks(_,$){let g=_,U=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((I)=>{U.push({hookedCommand:D,callback:I})})}),$==="postAction")U.reverse();return U.forEach((D)=>{g=this._chainOrCall(g,()=>{return D.callback(D.hookedCommand,this)})}),g}_chainOrCallSubCommandHook(_,$,g){let U=_;if(this._lifeCycleHooks[g]!==void 0)this._lifeCycleHooks[g].forEach((D)=>{U=this._chainOrCall(U,()=>{return D(this,$)})});return U}_parseCommand(_,$){let g=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),_=_.concat(g.operands),$=g.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(g.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let U=()=>{if(g.unknown.length>0)this.unknownOption(g.unknown[0])},D=`command:${this.name()}`;if(this._actionHandler){U(),this._processArguments();let I;if(I=this._chainOrCallHooks(I,"preAction"),I=this._chainOrCall(I,()=>this._actionHandler(this.processedArgs)),this.parent)I=this._chainOrCall(I,()=>{this.parent.emit(D,_,$)});return I=this._chainOrCallHooks(I,"postAction"),I}if(this.parent&&this.parent.listenerCount(D))U(),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 U(),this._processArguments()}else if(this.commands.length)U(),this.help({error:!0});else U(),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((g)=>{let U=g.attributeName();if(this.getOptionValue(U)===void 0)return!1;return this.getOptionValueSource(U)!=="default"});_.filter((g)=>g.conflictsWith.length>0).forEach((g)=>{let U=_.find((D)=>g.conflictsWith.includes(D.attributeName()));if(U)this._conflictingOption(g,U)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],g=[],U=$,D=_.slice();function I(N){return N.length>1&&N[0]==="-"}let j=null;while(D.length){let N=D.shift();if(N==="--"){if(U===g)U.push(N);U.push(...D);break}if(j&&!I(N)){this.emit(`option:${j.name()}`,N);continue}if(j=null,I(N)){let O=this._findOption(N);if(O){if(O.required){let A=D.shift();if(A===void 0)this.optionMissingArgument(O);this.emit(`option:${O.name()}`,A)}else if(O.optional){let A=null;if(D.length>0&&!I(D[0]))A=D.shift();this.emit(`option:${O.name()}`,A)}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()}`),D.unshift(`-${N.slice(2)}`);continue}}if(/^--[^=]+=/.test(N)){let O=N.indexOf("="),A=this._findOption(N.slice(0,O));if(A&&(A.required||A.optional)){this.emit(`option:${A.name()}`,N.slice(O+1));continue}}if(I(N))U=g;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&g.length===0){if(this._findCommand(N)){if($.push(N),D.length>0)g.push(...D);break}else if(this._getHelpCommand()&&N===this._getHelpCommand().name()){if($.push(N),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(g.push(N),D.length>0)g.push(...D);break}}if(this._passThroughOptions){if(U.push(N),D.length>0)U.push(...D);break}U.push(N)}return{operands:$,unknown:g}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let g=0;g<$;g++){let U=this.options[g].attributeName();_[U]=U===this._versionOptionName?this._version:this[U]}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 g=$||{},U=g.exitCode||1,D=g.code||"commander.error";this._exit(U,D,_)}_parseOptionsEnv(){this.options.forEach((_)=>{if(_.envVar&&_.envVar in E_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,E_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new lr(this.options),$=(g)=>{return this.getOptionValue(g)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(g))};this.options.filter((g)=>g.implied!==void 0&&$(g.attributeName())&&_.valueFromOption(this.getOptionValue(g.attributeName()),g)).forEach((g)=>{Object.keys(g.implied).filter((U)=>!$(U)).forEach((U)=>{this.setOptionValueWithSource(U,g.implied[U],"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 g=(I)=>{let j=I.attributeName(),N=this.getOptionValue(j),O=this.options.find((L)=>L.negate&&j===L.attributeName()),A=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 A||I},U=(I)=>{let j=g(I),N=j.attributeName();if(this.getOptionValueSource(N)==="env")return`environment variable '${j.envVar}'`;return`option '${j.flags}'`},D=`error: ${U(_)} cannot be used with ${U($)}`;this.error(D,{code:"commander.conflictingOption"})}unknownOption(_){if(this._allowUnknownOption)return;let $="";if(_.startsWith("--")&&this._showSuggestionAfterError){let U=[],D=this;do{let I=D.createHelp().visibleOptions(D).filter((j)=>j.long).map((j)=>j.long);U=U.concat(I),D=D.parent}while(D&&!D._enablePositionalOptions);$=O8(_,U)}let g=`error: unknown option '${_}'${$}`;this.error(g,{code:"commander.unknownOption"})}_excessArguments(_){if(this._allowExcessArguments)return;let $=this.registeredArguments.length,g=$===1?"":"s",D=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${$} argument${g} but got ${_.length}.`;this.error(D,{code:"commander.excessArguments"})}unknownCommand(){let _=this.args[0],$="";if(this._showSuggestionAfterError){let U=[];this.createHelp().visibleCommands(this).forEach((D)=>{if(U.push(D.name()),D.alias())U.push(D.alias())}),$=O8(_,U)}let g=`error: unknown command '${_}'${$}`;this.error(g,{code:"commander.unknownCommand"})}version(_,$,g){if(_===void 0)return this._version;this._version=_,$=$||"-V, --version",g=g||"output the version number";let U=this.createOption($,g);return this._versionOptionName=U.attributeName(),this._registerOption(U),this.on("option:"+U.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 g=this.parent?._findCommand(_);if(g){let U=[g.name()].concat(g.aliases()).join("|");throw Error(`cannot add alias '${_}' to command '${this.name()}' as already have command '${U}'`)}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((g)=>{return dr(g)});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=S6.basename(_,S6.extname(_)),this}executableDir(_){if(_===void 0)return this._executableDir;return this._executableDir=_,this}helpInformation(_){let $=this.createHelp(),g=this._getOutputContext(_);$.prepareContext({error:g.error,helpWidth:g.helpWidth,outputHasColors:g.hasColors});let U=$.formatHelp(this,$);if(g.hasColors)return U;return this._outputConfiguration.stripColor(U)}_getOutputContext(_){_=_||{};let $=!!_.error,g,U,D;if($)g=(j)=>this._outputConfiguration.writeErr(j),U=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else g=(j)=>this._outputConfiguration.writeOut(j),U=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(j)=>{if(!U)j=this._outputConfiguration.stripColor(j);return g(j)},hasColors:U,helpWidth:D}}outputHelp(_){let $;if(typeof _==="function")$=_,_=void 0;let g=this._getOutputContext(_),U={error:g.error,write:g.write,command:this};this._getCommandAndAncestors().reverse().forEach((I)=>I.emit("beforeAllHelp",U)),this.emit("beforeHelp",U);let D=this.helpInformation({error:g.error});if($){if(D=$(D),typeof D!=="string"&&!Buffer.isBuffer(D))throw Error("outputHelp callback must return a string or a Buffer")}if(g.write(D),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",U),this._getCommandAndAncestors().forEach((I)=>I.emit("afterAllHelp",U))}helpOption(_,$){if(typeof _==="boolean"){if(_)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return _=_??"-h, --help",$=$??"display help for command",this._helpOption=this.createOption(_,$),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(_){return this._helpOption=_,this}help(_){this.outputHelp(_);let $=Number(E_.exitCode??0);if($===0&&_&&typeof _!=="function"&&_.error)$=1;this._exit($,"commander.help","(outputHelp)")}addHelpText(_,$){let g=["beforeAll","before","after","afterAll"];if(!g.includes(_))throw Error(`Unexpected value for position to addHelpText. +`),this.outputHelp({error:!0});let g=$||{},U=g.exitCode||1,D=g.code||"commander.error";this._exit(U,D,_)}_parseOptionsEnv(){this.options.forEach((_)=>{if(_.envVar&&_.envVar in E_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,E_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new tr(this.options),$=(g)=>{return this.getOptionValue(g)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(g))};this.options.filter((g)=>g.implied!==void 0&&$(g.attributeName())&&_.valueFromOption(this.getOptionValue(g.attributeName()),g)).forEach((g)=>{Object.keys(g.implied).filter((U)=>!$(U)).forEach((U)=>{this.setOptionValueWithSource(U,g.implied[U],"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 g=(I)=>{let j=I.attributeName(),N=this.getOptionValue(j),O=this.options.find((L)=>L.negate&&j===L.attributeName()),A=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 A||I},U=(I)=>{let j=g(I),N=j.attributeName();if(this.getOptionValueSource(N)==="env")return`environment variable '${j.envVar}'`;return`option '${j.flags}'`},D=`error: ${U(_)} cannot be used with ${U($)}`;this.error(D,{code:"commander.conflictingOption"})}unknownOption(_){if(this._allowUnknownOption)return;let $="";if(_.startsWith("--")&&this._showSuggestionAfterError){let U=[],D=this;do{let I=D.createHelp().visibleOptions(D).filter((j)=>j.long).map((j)=>j.long);U=U.concat(I),D=D.parent}while(D&&!D._enablePositionalOptions);$=A8(_,U)}let g=`error: unknown option '${_}'${$}`;this.error(g,{code:"commander.unknownOption"})}_excessArguments(_){if(this._allowExcessArguments)return;let $=this.registeredArguments.length,g=$===1?"":"s",D=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${$} argument${g} but got ${_.length}.`;this.error(D,{code:"commander.excessArguments"})}unknownCommand(){let _=this.args[0],$="";if(this._showSuggestionAfterError){let U=[];this.createHelp().visibleCommands(this).forEach((D)=>{if(U.push(D.name()),D.alias())U.push(D.alias())}),$=A8(_,U)}let g=`error: unknown command '${_}'${$}`;this.error(g,{code:"commander.unknownCommand"})}version(_,$,g){if(_===void 0)return this._version;this._version=_,$=$||"-V, --version",g=g||"output the version number";let U=this.createOption($,g);return this._versionOptionName=U.attributeName(),this._registerOption(U),this.on("option:"+U.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 g=this.parent?._findCommand(_);if(g){let U=[g.name()].concat(g.aliases()).join("|");throw Error(`cannot add alias '${_}' to command '${this.name()}' as already have command '${U}'`)}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((g)=>{return mr(g)});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=S6.basename(_,S6.extname(_)),this}executableDir(_){if(_===void 0)return this._executableDir;return this._executableDir=_,this}helpInformation(_){let $=this.createHelp(),g=this._getOutputContext(_);$.prepareContext({error:g.error,helpWidth:g.helpWidth,outputHasColors:g.hasColors});let U=$.formatHelp(this,$);if(g.hasColors)return U;return this._outputConfiguration.stripColor(U)}_getOutputContext(_){_=_||{};let $=!!_.error,g,U,D;if($)g=(j)=>this._outputConfiguration.writeErr(j),U=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else g=(j)=>this._outputConfiguration.writeOut(j),U=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(j)=>{if(!U)j=this._outputConfiguration.stripColor(j);return g(j)},hasColors:U,helpWidth:D}}outputHelp(_){let $;if(typeof _==="function")$=_,_=void 0;let g=this._getOutputContext(_),U={error:g.error,write:g.write,command:this};this._getCommandAndAncestors().reverse().forEach((I)=>I.emit("beforeAllHelp",U)),this.emit("beforeHelp",U);let D=this.helpInformation({error:g.error});if($){if(D=$(D),typeof D!=="string"&&!Buffer.isBuffer(D))throw Error("outputHelp callback must return a string or a Buffer")}if(g.write(D),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",U),this._getCommandAndAncestors().forEach((I)=>I.emit("afterAllHelp",U))}helpOption(_,$){if(typeof _==="boolean"){if(_)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return _=_??"-h, --help",$=$??"display help for command",this._helpOption=this.createOption(_,$),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(_){return this._helpOption=_,this}help(_){this.outputHelp(_);let $=Number(E_.exitCode??0);if($===0&&_&&typeof _!=="function"&&_.error)$=1;this._exit($,"commander.help","(outputHelp)")}addHelpText(_,$){let g=["beforeAll","before","after","afterAll"];if(!g.includes(_))throw Error(`Unexpected value for position to addHelpText. Expecting one of '${g.join("', '")}'`);let U=`${_}Help`;return this.on(U,(D)=>{let I;if(typeof $==="function")I=$({error:D.error,command:D.command});else I=$;if(I)D.write(`${I} -`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((U)=>$.is(U)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function A8(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let g,U="127.0.0.1",D="9229",I;if((I=$.match(/^(--inspect(-brk)?)$/))!==null)g=I[1];else if((I=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(g=I[1],/^\d+$/.test(I[3]))D=I[3];else U=I[3];else if((I=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)g=I[1],U=I[3],D=I[4];if(g&&D!=="0")return`${g}=${U}:${parseInt(D)+1}`;return $})}function _z(){if(E_.env.NO_COLOR||E_.env.FORCE_COLOR==="0"||E_.env.FORCE_COLOR==="false")return!1;if(E_.env.FORCE_COLOR||E_.env.CLICOLOR_FORCE!==void 0)return!0;return}tr.Command=$z;tr.useColor=_z});var S8=e6((sr)=>{var{Argument:J8}=zN(),{Command:gz}=L8(),{CommanderError:er,InvalidArgumentError:P8}=qU(),{Help:ar}=p3(),{Option:z8}=e3();sr.program=new gz;sr.createCommand=(_)=>new gz(_);sr.createOption=(_,$)=>new z8(_,$);sr.createArgument=(_,$)=>new J8(_,$);sr.Command=gz;sr.Option=z8;sr.Argument=J8;sr.Help=ar;sr.CommanderError=er;sr.InvalidArgumentError=P8;sr.InvalidOptionArgumentError=P8});import{chmodSync as Qz,closeSync as Mg,existsSync as U0,fsyncSync as kN,lstatSync as EY,openSync as CN,readFileSync as Zg,renameSync as Tz,unlinkSync as rN,writeFileSync as vN}from"fs";import{randomUUID as bg}from"crypto";import{basename as OY,dirname as qz,join as HN}from"path";import{chmodSync as Jz,existsSync as DY,mkdirSync as BN,readFileSync as UY,writeFileSync as Pz}from"fs";import{homedir as KN}from"os";import{dirname as IY,join as x_,resolve as zz}from"path";var l$=x_(".hasna","knowledge"),Sz=x_(".hasna","apps","knowledge"),P_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:l$,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 Wz(){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 Vg(){return x_(KN(),".open-knowledge","db.json")}function MU(){return x_(KN(),".hasna","knowledge")}function VN(_=process.cwd()){return zz(_,l$)}function jY(){return x_(KN(),Sz)}function NY(_=process.cwd()){return zz(_,Sz)}function FN(_,$=process.cwd()){if(_==="project"||_==="local")return D$(NY($));return D$(jY())}function D$(_){return{home:_,configPath:x_(_,"config.json"),jsonStorePath:x_(_,"db.json"),knowledgeDbPath:x_(_,"knowledge.db"),artifactsDir:x_(_,"artifacts"),cacheDir:x_(_,"cache"),exportsDir:x_(_,"exports"),indexesDir:x_(_,"indexes"),logsDir:x_(_,"logs"),runsDir:x_(_,"runs"),schemasDir:x_(_,"schemas"),wikiDir:x_(_,"wiki")}}function Fg(){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 D0(_){let $=D$(_);BN($.home,{recursive:!0,mode:448});for(let g of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])BN(g,{recursive:!0,mode:448});if(!DY($.configPath))Pz($.configPath,`${JSON.stringify(Fg(),null,2)} -`,{mode:384}),Jz($.configPath,384);return $}function ZU(_,$=process.cwd()){if(_==="project"||_==="local")return D$(VN($));return D$(MU())}function X6(_){BN(IY(_),{recursive:!0})}function MN(_){let $=UY(_,"utf8");return JSON.parse($)}function Xz(_,$){X6(_),Pz(_,`${JSON.stringify($,null,2)} -`,{mode:384}),Jz(_,384)}function HU(){return D$(MU()).jsonStorePath}function Hg(_){if(_===HU()&&U0(Vg()))wN();if(!U0(_))X6(_),Vz(_,`${JSON.stringify({items:[]},null,2)} -`)}function AY(_){return _.toISOString().replace(/[:.]/g,"-")}function fN(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function LY(_){let $=new Set;for(let g of _)for(let U of fN(g))$.add(U);return $}function JY(_,$){return fN($).some((g)=>_.has(g))}function ZN(_,$){X6(_),vN(_,`${JSON.stringify($,null,2)} -`,{mode:384}),Qz(_,384)}function Rz(_){let $=JSON.parse(Zg(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let g={items:[]},U=0;for(let D of $.items)if(D&&typeof D==="object"&&typeof D.id==="string"&&D.id.length>0)g.items.push(D);else U+=1;return{store:g,skippedInvalid:U}}function wN(_={}){if(_.dryRun===!0)return Gz(_);return v$(HU(),()=>Gz(_),{createParent:!0})}function Gz(_={}){let $=_.dryRun===!0,g=_.now??new Date,U=D$(MU()),D=Vg(),I=U.jsonStorePath,j=U0(D),N=U0(I),O={ok:!0,dry_run:$,legacy_path:D,canonical_path:I,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 A;try{let P=Rz(D);A=P.store,O.skipped_invalid=P.skippedInvalid}catch(P){return O.ok=!1,O.errors.push(`Could not read legacy store: ${P instanceof Error?P.message:String(P)}`),O.message="Legacy global store import failed",O}let L={items:[]};if(N)try{L=Rz(I).store}catch(P){return O.ok=!1,O.errors.push(`Could not read canonical store: ${P instanceof Error?P.message:String(P)}`),O.message="Legacy global store import failed",O}let z=LY(L.items),W={items:[...L.items]};for(let P of A.items){if(!P?.id){O.skipped_invalid+=1;continue}if(JY(z,P)){O.skipped_existing+=1;continue}W.items.push(P);for(let S of fN(P))z.add(S);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 J=`${AY(g)}-${bg().slice(0,8)}`;if(N)O.backup_path=HN(U.exportsDir,`legacy-open-knowledge-db-before-import-${J}.json`),ZN(O.backup_path,L);return ZN(I,W),O.report_path=HN(U.runsDir,`legacy-open-knowledge-import-${J}.json`),ZN(O.report_path,O),O}function I0(_){if(!U0(_))return{exists:!1,items:[]};let $=Zg(_,"utf8"),g=JSON.parse($);if(!g||!Array.isArray(g.items))return{exists:!0,items:[]};return{exists:!0,items:g.items}}function PY(_){return`${_}.lock`}var bU=1e4,Bz=25,Yz=120000,zY=new Int32Array(new SharedArrayBuffer(4));function uN(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function Kz(_){let $=null;try{$=CN(qz(_),"r"),kN($)}catch{}finally{if($!==null)try{Mg($)}catch{}}}var bN=new Set;function Vz(_,$){X6(_);let g=HN(qz(_),`.${OY(_)}.tmp.${bg()}`),U=null;try{U=CN(g,"wx",384),vN(U,$),kN(U),Mg(U),U=null,Tz(g,_);try{Qz(_,384)}catch{}Kz(_)}catch(D){if(U!==null)try{Mg(U)}catch{}try{rN(g)}catch{}throw D}}function Fz(_){Atomics.wait(zY,0,0,_)}function SY(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return uN($)!=="ESRCH"}}function Mz(_,$){try{let g=Zg(_,"utf8"),U=JSON.parse(g);if(typeof U.ts==="number")return $-U.ts>Yz&&!SY(U.pid)}catch{}try{return $-EY(_).mtimeMs>Yz}catch{return!1}}function WY(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),g=`${_}.stale.${$}.${bg()}`;try{Tz(_,g)}catch(U){if(uN(U)!=="ENOENT")throw U;return}}function XY(_){let $=bg(),g=`${_}.breaker`,U=Date.now();while(Date.now()-UFY)return null;g=QY(_,"utf8")}catch{return null}let U=kY(g);for(let D of $){let I=U.get(D)?.trim();if(I)return I}return null}function j0(_,$,g){if(!bY.test(g))return;throw new Cg(_,`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 CY=Symbol.for("nodejs.util.inspect.custom");function N0(_){let{apiKey:$,...g}=_,U={...g};return Object.defineProperty(U,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(U,CY,{value:()=>({...g,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),U}function rY(_,$){return j0(_,"explicit apiKey option",$),N0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function fz(_,$){for(let g of $){let U=_[g]?.trim();if(U)return{key:g,value:U}}return null}var wz=Symbol.for("hasna:contracts:credentialDeprecationNotices");function vY(){let _=globalThis,$=_[wz];if($ instanceof Set)return $;let g=new Set;return _[wz]=g,g}function fY(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} -`)}function cN(_,$,g={}){let{apiKeyKeys:U}=hz(_),D=cz(_,$),I=g.apiKey?.trim();if(I)return j0(_,"the explicit apiKey argument",I),N0({apiKey:I,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let j=YY(_),N=$[j];if(N!==void 0){let z=N.trim();if(!z)throw new Cg(_,`${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 j0(_,j,z),N0({apiKey:z,tier:"override",source:j,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let O=g.profile?.trim()||$[xN]?.trim();if(O){let z=g.profile?.trim()?"explicit profile argument":xN;if(!ZY.test(O))throw new Cg(_,`Profile name from ${z} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[z]);let W=nz(_,$,O);for(let J of W){let P=vz(J,U);if(P)return j0(_,J,P),N0({apiKey:P,tier:"profile",source:J,deliberate:!0,deprecated:!1,diskCandidates:W,warning:null})}throw new Cg(_,`Profile '${O}' (from ${z}) has no ${U[0]} for '${_}'. Looked in: ${W.join(", ")||""}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${xN}.`,W)}let A=D.map((z)=>({path:z,value:vz(z,U)})).filter((z)=>z.value!==null);if(A.length>0){let z=A[0];j0(_,z.path,z.value);let W=[...A.slice(1).filter((P)=>P.value!==z.value).map((P)=>P.path),...(()=>{let P=fz($,U);return P&&P.value!==z.value?[P.key]:[]})()],J=W.length>0?`Credential sources disagree for '${_}': ${z.path} and ${W.join(", ")} hold different keys. ${z.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 N0({apiKey:z.value,tier:"disk",source:z.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:J})}let L=fz($,U);if(L){j0(_,L.key,L.value);let z=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.",W=`[${_}] 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. ${z}`,J=g.onDeprecation??fY,P=vY();if(!P.has(_))P.add(_),J(W);return N0({apiKey:L.value,tier:"legacy-env",source:L.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:W})}return null}var R6="HASNA_FLEET_API_DOMAIN",E0="your-deployment.example",dN=/[\u0000-\u001f\u007f]/,dz=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function kU(_){if(_.length===0||_.length>253||dN.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&dz.test($))}function wY(_){let $=_[R6];if($===void 0)return{domain:E0,source:"default",misconfigured:!0,warning:`${R6} is not set; using the non-resolving ${E0} fallback.`};let g=$.trim().toLowerCase();if(dN.test($)||!kU(g))return{domain:E0,source:R6,misconfigured:!0,warning:`${R6} is blank or invalid; using the non-resolving ${E0} fallback.`};return{domain:g,source:R6,misconfigured:!1,warning:null}}function mz(_){if(_.length>63||!dz.test(_))throw Error("App name must be one lowercase DNS label.");return _}function uY(_,$){let g=`${mz(_)}.${$}`;if(!kU(g))throw Error("Composed cloud hostname must be a valid DNS domain");return g}function xY(_,$){let g=mz(_),U=wY($),D=`${g}.${U.domain}`;if(kU(D))return{baseUrl:`https://${D}`,source:U.source,misconfigured:U.misconfigured,warning:U.warning};return{baseUrl:`https://${uY(g,E0)}`,source:U.source,misconfigured:!0,warning:`${R6} cannot form a valid composed cloud hostname for app '${g}'; using the non-resolving ${E0} fallback.`}}function yN(_,$,g={}){for(let U of $){let D=_[U],I=D?.trim();if(I)return{key:U,value:g.preserveRaw?D:I}}return null}function yY(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let g=_.slice($[0].length),U=g.search(/[/?#]/),D=U===-1?g:g.slice(0,U);if(!D)throw Error("API URL must include a hostname.");return D}function uz(_){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 hY(_){let $;if(_.startsWith("[")){let g=_.indexOf("]");if(g===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,g+1);let U=_.slice(g+1);if(U){if(!U.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");uz(U.slice(1))}if(Cz($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let g=_.indexOf(":"),U=_.lastIndexOf(":");if(g!==U)throw Error("IPv6 API URL authorities must use brackets.");if(U!==-1){let N=_.slice(U+1);uz(N),$=_.slice(0,U)}else $=_;let D=Cz($),j=$.split(".").every((N)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(N));if(D!==4&&j||D!==4&&!kU($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function cY(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function iz(_){if(dN.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),g=yY($);if(g.includes("@")||g.includes("\\")||g.includes("%")||/[^\x00-\x7f]/.test(g))throw Error("API URL authority must be canonical ASCII without credentials.");let U=hY(g),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()!==U)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((j)=>j.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!cY(g))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 I=D.pathname.replace(/\/+$/,"");if(I.endsWith("/v1"))I=I.slice(0,-3);return D.pathname=`${I}/v1`,D.toString().replace(/\/+$/,"")}function nY(_,$=process.env,g={}){let U=hz(_),D=yN($,U.modeKeys),I=yN($,U.apiUrlKeys,{preserveRaw:!0}),j=yN($,U.apiKeyKeys),N="sqlite",O="default",A=[],L;if(D)N=GY(D.value).mode,O=D.key;else if(I){if(L=cN(_,$,g.credentials),L)N="postgres",O=`${I.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:A.length>0?A.join(" "):null};if(L===void 0)L=cN(_,$,g.credentials);if(!L){let P=lz(_,$);return A.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 ${P}, then for ${U.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:A.join(" ")}}if(L.warning)A.push(L.warning);let z=null,W=I?.key??($[R6]===void 0?"default":R6),J;try{if(!I)z=xY(_,$),W=z.source;let P=I?.value??z.baseUrl;J=iz(P)}catch(P){let S=P instanceof Error?P.message:String(P);return A.push(`Invalid API URL from ${W}: ${S}. Using local store.`),{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:!0,warning:A.join(" ")}}if(z?.warning)A.push(z.warning);return{transport:"http",mode:N,modeSource:O,baseUrl:J,apiUrlSource:W,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:z?.misconfigured??!1,warning:A.length>0?A.join(" "):null}}function lz(_,$){let g=cz(_,$);return g.length>0?g.join(" or "):""}class O0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,g,U,D){let I=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${g}${I}`);this.name="HasnaHttpError",this.status=g,this.method=_,this.path=$,this.body=U,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function dY(_,$){if(typeof $==="function")return $();return rY(_,$)}function mY(_){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 g=_.diskCandidates[0],U=g?`Write the CURRENT key to ${g} \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. ${U}`}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 iY=[408,425,429,500,502,503,504],lY=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),tY=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function xz(_,$){if(!_)return;let g=Object.keys(_).find((U)=>tY.has(U.trim().toLowerCase()));if(g)throw Error(`Authenticated ${$} headers must not set authority header '${g}'.`)}function oY(_,$){if(!$)return _;let g=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,I]of Object.entries($)){if(I===null||I===void 0)continue;if(Array.isArray(I))for(let j of I)g.append(D,String(j));else g.append(D,String(I))}let U=g.toString();if(!U)return _;return`${_}${_.includes("?")?"&":"?"}${U}`}var pY=(_)=>new Promise(($)=>setTimeout($,_));function eY(_){let $=_.fetchImpl??((A,L)=>fetch(A,L)),g=iz(_.baseUrl),U=_.timeoutMs??30000,D=_.sleepImpl??pY,I=_.retry;function j(A){let L=A!==void 0?A:I;if(L===!1)return null;let z=L??{};return{retries:z.retries??2,baseDelayMs:z.baseDelayMs??200,maxDelayMs:z.maxDelayMs??2000,retryStatuses:z.retryStatuses??[...iY]}}async function N(A,L,z,W,J,P){xz(_.headers,"transport"),xz(J.headers,"request");let S={"x-api-key":P.apiKey,Authorization:`Bearer ${P.apiKey}`,Accept:"application/json",..._.headers??{},...J.headers??{}};if(J.idempotencyKey)S["Idempotency-Key"]=J.idempotencyKey;let X={method:A,headers:S,redirect:"manual"};if(W!==void 0)S["Content-Type"]="application/json",X.body=JSON.stringify(W);let G=new AbortController,R=()=>G.abort();if(J.signal)if(J.signal.aborted)G.abort();else J.signal.addEventListener("abort",R,{once:!0});let K=setTimeout(()=>G.abort(),J.timeoutMs??U);X.signal=G.signal;let Q;try{Q=await $(z,X)}catch(V){let Z=V instanceof Error?V:Error(String(V));if(J.signal?.aborted)return{ok:!1,retryable:!1,error:Z};return{ok:!1,retryable:!0,error:Z}}finally{if(clearTimeout(K),J.signal)J.signal.removeEventListener("abort",R)}let T=await Q.text(),q=void 0;if(T.length>0)try{q=JSON.parse(T)}catch{q=T}if(!Q.ok){if(Q.status>=300&&Q.status<400)return{ok:!1,retryable:!1,error:new O0(A,L,Q.status,q)};if(Q.status===401||Q.status===403)return{ok:!1,retryable:!1,error:new O0(A,L,Q.status,q,{source:P.source,tier:P.tier,guidance:mY(P)})};let V=j(J.retry);return{ok:!1,retryable:V?V.retryStatuses.includes(Q.status):!1,error:new O0(A,L,Q.status,q)}}return{ok:!0,value:q}}async function O(A,L,z,W={}){let J=A.toUpperCase(),P=oY(L.startsWith("/")?L:`/${L}`,W.query),S=`${g}${P}`,X=j(W.retry),G=lY.has(J)||Boolean(W.idempotencyKey),R=X&&G?X.retries+1:1,K=dY(_.name,_.apiKey),Q=null;for(let T=1;T<=R;T++){let q=await N(J,P,S,z,W,K);if(q.ok)return q.value;if(Q=q,!(X!==null&&G&&q.retryable&&TO("GET",A,void 0,L),post:(A,L,z)=>O("POST",A,L,z),put:(A,L,z)=>O("PUT",A,L,z),patch:(A,L,z)=>O("PATCH",A,L,z),del:(A,L,z)=>O("DELETE",A,L,z)}}function aY(_,$=process.env,g){let U=g?.credentials,D=nY(_,$,{...U?{credentials:U}:{}});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 I=()=>{let j=cN(_,$,U);if(!j)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${lz(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return j};return{transport:"http",client:eY({name:_,baseUrl:D.baseUrl,apiKey:I,...g?.fetchImpl?{fetchImpl:g.fetchImpl}:{},...g?.headers?{headers:g.headers}:{},...g?.timeoutMs?{timeoutMs:g.timeoutMs}:{},...g?.retry!==void 0?{retry:g.retry}:{},...g?.sleepImpl?{sleepImpl:g.sleepImpl}:{}}),resolution:D}}function nN(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function hN(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${nN(_)}/${encodeURIComponent(String($))}`}function sY(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function _Q(_){if(Array.isArray(_))return _;if(_&&typeof _==="object"){let $=_;for(let g of["items","data","results","rows","records"])if(Array.isArray($[g]))return $[g]}return[]}function $Q(_){if(_&&typeof _==="object"){let $=_;for(let g of["total","count","totalCount","total_count"])if(typeof $[g]==="number")return $[g]}return null}function gQ(_){if(_&&typeof _==="object"){let $=_;for(let g of["cursor","nextCursor","next_cursor","next"])if(typeof $[g]==="string")return $[g]}return null}function DQ(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(g,U={}){let D=await $.get(nN(g),U);return{items:_Q(D),total:$Q(D),cursor:gQ(D),raw:D}},async get(g,U,D={}){try{return await $.get(hN(g,U),D)}catch(I){if(I instanceof O0&&I.status===404)return null;throw I}},async create(g,U,D={}){let{idempotencyKey:I,...j}=D;return $.post(nN(g),U,{...j,idempotencyKey:I??sY()})},async update(g,U,D,I={}){let{method:j="PATCH",idempotencyKey:N,...O}=I;return(j==="PUT"?$.put:$.patch)(hN(g,U),D,{...O,...N?{idempotencyKey:N}:{}})},async delete(g,U,D={}){try{await $.del(hN(g,U),void 0,D)}catch(I){if(I instanceof O0&&I.status===404)return;throw I}}}}function mN(_,$=process.env,g){let U=aY(_,$,g);if(U.transport==="http")return{transport:"http",client:DQ(_,U.client)};return{transport:"sqlite",client:null}}function UQ(_){return _.toUpperCase().replace(/-/g,"_")}function tz(_){let $=UQ(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function rg(_){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 CU(_){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 $w from"pg";class rU extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function A0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function oz(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((g)=>/^\d{1,3}$/.test(g)&&Number(g)<=255))return!1;return $[0]==="127"}function OQ(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(oz($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let g=$.slice(1,-1);if(g==="::1"||/^(0:){7}1$/.test(g))return!0;let U=g.split(":").pop()??"";if(/^(::ffff:|::)/.test(g)&&oz(U))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(g)}function az(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function pz(_,$=process.env){if(!A0($))return;let g=az(_),U;try{U=new URL(g)}catch{throw new rU("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(OQ(U.hostname))return;throw new rU(`knowledge: refused a non-loopback ${U.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:U.protocol.replace(":",""),port:U.port})}var AQ=new Set([301,302,303,307,308]),ez=5;function LQ(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function vU(_,$){if(pz(_),!A0()||$?.redirect!==void 0)return fetch(_,$);let g=az(_),U=LQ(_,$),D=$?.body,I=await fetch(_,{...$??{},redirect:"manual"});for(let j=0;AQ.has(I.status);j++){let N=I.headers.get("location");if(!N)return I;let O=new URL(N,g).href;if(pz(O),j>=ez){let L=new URL(O);throw new rU(`knowledge: refused to follow more than ${ez} 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(I.status===303||(I.status===301||I.status===302)&&U!=="GET"&&U!=="HEAD")U="GET",D=void 0;let A={...$??{},method:U,redirect:"manual"};if(D===void 0)delete A.body;else A.body=D;I=await fetch(O,A),g=O}return I}var wU="knowledge",iN=tz(wU),o$=iN.modeKeys,uU=iN.apiUrlKeys,xU=iN.apiKeyKeys;function fU(_,$){return $.filter((g)=>(_[g]??"").trim().length>0)}function vg(_=process.env){let $=[...fU(_,uU),...fU(_,xU)],g=o$[0];for(let U of o$){let D=_[U]?.trim();if(!D)continue;let I;try{I=CU(D)}catch(N){let O=N instanceof Error?N.message:String(N);throw Error(`knowledge: ${U}=${D} is not a valid mode. ${O}`)}let j=[];if(U!==g)j.push(`Using alias env ${U}; the canonical key is ${g}.`);if(I.mode==="sqlite"&&$.length>0)j.push(`${U}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:I.mode,source:{kind:"env",name:U,value:D},pointer_env_present:$,pointer_ignored:I.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 ${g}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var JQ=["postgres"],PQ=["sqlite"],sz=new Map;function _S(_,$,g){let U=$===rg;if(U){let D=sz.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),U)sz.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 ${g} in src/knowledge-mode.ts.`)}function zQ(_=rg){return _S(JQ,_,"SERVER_MODE_CANDIDATES")}function SQ(_=rg){return _S(PQ,_,"LOCAL_MODE_CANDIDATES")}function WQ(_,$=rg){return _==="postgres"?zQ($):SQ($)}function lN(_,$){return{..._,[o$[0]]:WQ($)}}class $S extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=o$[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 gS(_=process.env,$={}){let g=vg(_);if($.storePathOverridden)return g;if(g.source.kind!=="default")return g;let U=fU(_,uU);if(U.length===0)return g;throw new $S(U)}function DS(_=process.env){let $=vg(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:fU(_,xU).length>0,network_guard_active:A0(_)}}function US(_){return{fetchImpl:vU,...A0(_)?{retry:!1}:{}}}var G6="notes";class IS 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"}}function XQ(_){let $={};if(_.search)$.search=_.search;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;if(_.includeArchived||_.archivedOnly)$.includeArchived=!0;return $}function RQ(_){return{baseUrl:_.baseUrl,async list($={}){let g=$.limit??200,U=XQ({...$,limit:Math.min(Math.max(g,1),200)}),D=await _.list(G6,{query:U}),I=D.items;if($.archivedOnly)I=I.filter((j)=>j.archived===!0);if($.tag){let j=$.tag.toLowerCase();I=I.filter((N)=>(N.tags??[]).some((O)=>O.toLowerCase()===j))}return{items:I,total:D.total}},async get($){return _.get(G6,$)},async create($){return _.create(G6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,g,U={}){try{return await _.update(G6,$,g,{...U.expectedVersion!==void 0?{headers:{"if-match":String(U.expectedVersion)}}:{}})}catch(D){if(tN(D))return null;let I=GQ(D);if(I)throw I;throw D}},async delete($){let g=await _.get(G6,$);if(!g)return!1;return await _.delete(G6,g.id),!0},async listVersions($,g={}){try{return await _.transport.get(`/${G6}/${encodeURIComponent($)}/versions`,{query:{limit:g.limit,offset:g.offset}})}catch(U){if(tN(U))return null;throw U}},async getVersion($,g){try{return await _.transport.get(`/${G6}/${encodeURIComponent($)}/versions/${g}`)}catch(U){if(tN(U))return null;throw U}}}}function GQ(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,U=(typeof $==="string"?YQ($):$)??{};if(U.error!=="version_conflict")return null;return new IS(Number(U.expected??0),Number(U.current??0))}function YQ(_){try{return JSON.parse(_)}catch{return null}}function tN(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function fg(_=process.env){if(vg(_).mode!=="postgres")return null;let $=mN(wU,lN(_,"postgres"),US(_));if($.transport!=="http")return null;return RQ($.client)}function Y6(_=process.env){if(vg(_).mode!=="postgres")return!1;return mN(wU,lN(_,"postgres"),US(_)).transport==="http"}async function yU(_){let g=[];for(let U=0;;U+=200){let{items:D}=await _.list({includeArchived:!0,limit:200,offset:U});if(g.push(...D),D.length<200)break;if(U>1e5)break}return g}class pN 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 oN(_,$){return _.id===$||_.short_id===$}class jS{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new pN(this.storePath)}async getVersion(){throw new pN(this.storePath)}get location(){return this.storePath}get exists(){return QQ(this.storePath)}async listAll(){let _=I0(this.storePath);return{items:_.items,exists:_.exists}}async get(_){return I0(this.storePath).items.find((g)=>oN(g,_))??null}async create(_){return v$(this.storePath,()=>{let $=kg(this.storePath),g=new Date().toISOString(),U=_.id??Hz(),D={id:U,short_id:kz(U),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:g,updated_at:g};return $.items.push(D),t$(this.storePath,$),D},{createParent:!0})}async update(_,$){return v$(this.storePath,()=>{let g=kg(this.storePath),U=g.items.findIndex((I)=>oN(I,_));if(U===-1)return null;let D=g.items[U];if($.title!==void 0)D.title=$.title;if($.content!==void 0)D.content=$.content;if($.url!==void 0)D.url=$.url;if($.tags!==void 0)D.tags=$.tags;if($.metadata!==void 0)D.metadata=$.metadata;if($.archived!==void 0)D.archived=$.archived;return D.updated_at=new Date().toISOString(),g.items[U]=D,t$(this.storePath,g),D},{createParent:!0})}async delete(_){return v$(this.storePath,()=>{let $=kg(this.storePath),g=$.items.length;$.items=$.items.filter((D)=>!oN(D,_));let U=g!==$.items.length;if(U)t$(this.storePath,$);return U},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return v$(this.storePath,()=>{let g=kg(this.storePath),U=g.items.length;g.items=g.items.filter((I)=>!$.has(I.id)&&!(I.short_id!=null&&$.has(I.short_id)));let D=U-g.items.length;if(D>0)t$(this.storePath,g);return D},{createParent:!0})}}class NS{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 listAll(){return{items:await yU(this.cloud),exists:!0}}async get(_){return this.cloud.get(_)}async create(_){return this.cloud.create({..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})}async update(_,$,g={}){return this.cloud.update(_,$,{expectedVersion:g.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let g of _)if(await this.cloud.delete(g))$+=1;return $}}function hU(_){let $=_.storePathOverridden?null:fg(_.env??process.env);if($)return new NS($);return new jS(_.storePath)}function ES(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` -`)}var eN=5000;function TQ(_,$){let g=ES(_),U=ES($);if(g.length>eN||U.length>eN)throw Error(`Refusing to line-diff ${Math.max(g.length,U.length)} lines (limit ${eN}). Fetch the two versions and diff them with a dedicated tool.`);let D=Array.from({length:g.length+1},()=>Array(U.length+1).fill(0));for(let O=g.length-1;O>=0;O-=1)for(let A=U.length-1;A>=0;A-=1)D[O][A]=g[O]===U[A]?D[O+1][A+1]+1:Math.max(D[O+1][A],D[O][A+1]);let I=[],j=0,N=0;while(j=D[j][N+1])I.push({op:"remove",from_line:j+1,to_line:null,text:g[j]}),j+=1;else I.push({op:"add",from_line:null,to_line:N+1,text:U[N]}),N+=1;while(j{if(!qQ(_[N],$[N]))g.push({field:N,from:_[N]??null,to:$[N]??null})};U("title"),U("url"),U("tags"),U("metadata"),U("archived");let D=TQ(_.content,$.content),I=D.filter((N)=>N.op==="add").length,j=D.filter((N)=>N.op==="remove").length;return{identical:g.length===0&&I===0&&j===0,fields:g,content:D,added:I,removed:j}}function AS(_,$,g){let U=[`--- ${$}`,`+++ ${g}`];if(_.identical)return U.push("(no changes)"),U.join(` +`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((U)=>$.is(U)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function L8(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let g,U="127.0.0.1",D="9229",I;if((I=$.match(/^(--inspect(-brk)?)$/))!==null)g=I[1];else if((I=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(g=I[1],/^\d+$/.test(I[3]))D=I[3];else U=I[3];else if((I=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)g=I[1],U=I[3],D=I[4];if(g&&D!=="0")return`${g}=${U}:${parseInt(D)+1}`;return $})}function _z(){if(E_.env.NO_COLOR||E_.env.FORCE_COLOR==="0"||E_.env.FORCE_COLOR==="false")return!1;if(E_.env.FORCE_COLOR||E_.env.CLICOLOR_FORCE!==void 0)return!0;return}or.Command=$z;or.useColor=_z});var W8=e6((_v)=>{var{Argument:P8}=zN(),{Command:gz}=J8(),{CommanderError:ar,InvalidArgumentError:z8}=qU(),{Help:sr}=p3(),{Option:S8}=e3();_v.program=new gz;_v.createCommand=(_)=>new gz(_);_v.createOption=(_,$)=>new S8(_,$);_v.createArgument=(_,$)=>new P8(_,$);_v.Command=gz;_v.Option=S8;_v.Argument=P8;_v.Help=sr;_v.CommanderError=ar;_v.InvalidArgumentError=z8;_v.InvalidOptionArgumentError=z8});import{chmodSync as Qz,closeSync as Mg,existsSync as U0,fsyncSync as kN,lstatSync as OY,openSync as CN,readFileSync as Zg,renameSync as Tz,unlinkSync as rN,writeFileSync as vN}from"fs";import{randomUUID as bg}from"crypto";import{basename as AY,dirname as qz,join as HN}from"path";import{chmodSync as Jz,existsSync as UY,mkdirSync as BN,readFileSync as IY,writeFileSync as Pz}from"fs";import{homedir as KN}from"os";import{dirname as jY,join as x_,resolve as zz}from"path";var l$=x_(".hasna","knowledge"),Sz=x_(".hasna","apps","knowledge"),P_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:l$,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 Wz(){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 Vg(){return x_(KN(),".open-knowledge","db.json")}function MU(){return x_(KN(),".hasna","knowledge")}function VN(_=process.cwd()){return zz(_,l$)}function NY(){return x_(KN(),Sz)}function EY(_=process.cwd()){return zz(_,Sz)}function FN(_,$=process.cwd()){if(_==="project"||_==="local")return D$(EY($));return D$(NY())}function D$(_){return{home:_,configPath:x_(_,"config.json"),jsonStorePath:x_(_,"db.json"),knowledgeDbPath:x_(_,"knowledge.db"),artifactsDir:x_(_,"artifacts"),cacheDir:x_(_,"cache"),exportsDir:x_(_,"exports"),indexesDir:x_(_,"indexes"),logsDir:x_(_,"logs"),runsDir:x_(_,"runs"),schemasDir:x_(_,"schemas"),wikiDir:x_(_,"wiki")}}function Fg(){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 D0(_){let $=D$(_);BN($.home,{recursive:!0,mode:448});for(let g of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])BN(g,{recursive:!0,mode:448});if(!UY($.configPath))Pz($.configPath,`${JSON.stringify(Fg(),null,2)} +`,{mode:384}),Jz($.configPath,384);return $}function ZU(_,$=process.cwd()){if(_==="project"||_==="local")return D$(VN($));return D$(MU())}function X6(_){BN(jY(_),{recursive:!0})}function MN(_){let $=IY(_,"utf8");return JSON.parse($)}function Xz(_,$){X6(_),Pz(_,`${JSON.stringify($,null,2)} +`,{mode:384}),Jz(_,384)}function Bz(_,$){if(!$)return!0;let g=$.toLowerCase();return _.id.toLowerCase().includes(g)||_.title.toLowerCase().includes(g)||_.content.toLowerCase().includes(g)}function HU(){return D$(MU()).jsonStorePath}function Hg(_){if(_===HU()&&U0(Vg()))wN();if(!U0(_))X6(_),Fz(_,`${JSON.stringify({items:[]},null,2)} +`)}function LY(_){return _.toISOString().replace(/[:.]/g,"-")}function fN(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function JY(_){let $=new Set;for(let g of _)for(let U of fN(g))$.add(U);return $}function PY(_,$){return fN($).some((g)=>_.has(g))}function ZN(_,$){X6(_),vN(_,`${JSON.stringify($,null,2)} +`,{mode:384}),Qz(_,384)}function Rz(_){let $=JSON.parse(Zg(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let g={items:[]},U=0;for(let D of $.items)if(D&&typeof D==="object"&&typeof D.id==="string"&&D.id.length>0)g.items.push(D);else U+=1;return{store:g,skippedInvalid:U}}function wN(_={}){if(_.dryRun===!0)return Gz(_);return v$(HU(),()=>Gz(_),{createParent:!0})}function Gz(_={}){let $=_.dryRun===!0,g=_.now??new Date,U=D$(MU()),D=Vg(),I=U.jsonStorePath,j=U0(D),N=U0(I),O={ok:!0,dry_run:$,legacy_path:D,canonical_path:I,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 A;try{let P=Rz(D);A=P.store,O.skipped_invalid=P.skippedInvalid}catch(P){return O.ok=!1,O.errors.push(`Could not read legacy store: ${P instanceof Error?P.message:String(P)}`),O.message="Legacy global store import failed",O}let L={items:[]};if(N)try{L=Rz(I).store}catch(P){return O.ok=!1,O.errors.push(`Could not read canonical store: ${P instanceof Error?P.message:String(P)}`),O.message="Legacy global store import failed",O}let z=JY(L.items),W={items:[...L.items]};for(let P of A.items){if(!P?.id){O.skipped_invalid+=1;continue}if(PY(z,P)){O.skipped_existing+=1;continue}W.items.push(P);for(let S of fN(P))z.add(S);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 J=`${LY(g)}-${bg().slice(0,8)}`;if(N)O.backup_path=HN(U.exportsDir,`legacy-open-knowledge-db-before-import-${J}.json`),ZN(O.backup_path,L);return ZN(I,W),O.report_path=HN(U.runsDir,`legacy-open-knowledge-import-${J}.json`),ZN(O.report_path,O),O}function I0(_){if(!U0(_))return{exists:!1,items:[]};let $=Zg(_,"utf8"),g=JSON.parse($);if(!g||!Array.isArray(g.items))return{exists:!0,items:[]};return{exists:!0,items:g.items}}function zY(_){return`${_}.lock`}var bU=1e4,Kz=25,Yz=120000,SY=new Int32Array(new SharedArrayBuffer(4));function uN(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function Vz(_){let $=null;try{$=CN(qz(_),"r"),kN($)}catch{}finally{if($!==null)try{Mg($)}catch{}}}var bN=new Set;function Fz(_,$){X6(_);let g=HN(qz(_),`.${AY(_)}.tmp.${bg()}`),U=null;try{U=CN(g,"wx",384),vN(U,$),kN(U),Mg(U),U=null,Tz(g,_);try{Qz(_,384)}catch{}Vz(_)}catch(D){if(U!==null)try{Mg(U)}catch{}try{rN(g)}catch{}throw D}}function Mz(_){Atomics.wait(SY,0,0,_)}function WY(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return uN($)!=="ESRCH"}}function Zz(_,$){try{let g=Zg(_,"utf8"),U=JSON.parse(g);if(typeof U.ts==="number")return $-U.ts>Yz&&!WY(U.pid)}catch{}try{return $-OY(_).mtimeMs>Yz}catch{return!1}}function XY(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),g=`${_}.stale.${$}.${bg()}`;try{Tz(_,g)}catch(U){if(uN(U)!=="ENOENT")throw U;return}}function RY(_){let $=bg(),g=`${_}.breaker`,U=Date.now();while(Date.now()-UMY)return null;g=TY(_,"utf8")}catch{return null}let U=CY(g);for(let D of $){let I=U.get(D)?.trim();if(I)return I}return null}function j0(_,$,g){if(!HY.test(g))return;throw new Cg(_,`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 rY=Symbol.for("nodejs.util.inspect.custom");function N0(_){let{apiKey:$,...g}=_,U={...g};return Object.defineProperty(U,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(U,rY,{value:()=>({...g,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),U}function vY(_,$){return j0(_,"explicit apiKey option",$),N0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function wz(_,$){for(let g of $){let U=_[g]?.trim();if(U)return{key:g,value:U}}return null}var uz=Symbol.for("hasna:contracts:credentialDeprecationNotices");function fY(){let _=globalThis,$=_[uz];if($ instanceof Set)return $;let g=new Set;return _[uz]=g,g}function wY(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} +`)}function cN(_,$,g={}){let{apiKeyKeys:U}=cz(_),D=nz(_,$),I=g.apiKey?.trim();if(I)return j0(_,"the explicit apiKey argument",I),N0({apiKey:I,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let j=QY(_),N=$[j];if(N!==void 0){let z=N.trim();if(!z)throw new Cg(_,`${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 j0(_,j,z),N0({apiKey:z,tier:"override",source:j,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let O=g.profile?.trim()||$[xN]?.trim();if(O){let z=g.profile?.trim()?"explicit profile argument":xN;if(!bY.test(O))throw new Cg(_,`Profile name from ${z} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[z]);let W=dz(_,$,O);for(let J of W){let P=fz(J,U);if(P)return j0(_,J,P),N0({apiKey:P,tier:"profile",source:J,deliberate:!0,deprecated:!1,diskCandidates:W,warning:null})}throw new Cg(_,`Profile '${O}' (from ${z}) has no ${U[0]} for '${_}'. Looked in: ${W.join(", ")||""}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${xN}.`,W)}let A=D.map((z)=>({path:z,value:fz(z,U)})).filter((z)=>z.value!==null);if(A.length>0){let z=A[0];j0(_,z.path,z.value);let W=[...A.slice(1).filter((P)=>P.value!==z.value).map((P)=>P.path),...(()=>{let P=wz($,U);return P&&P.value!==z.value?[P.key]:[]})()],J=W.length>0?`Credential sources disagree for '${_}': ${z.path} and ${W.join(", ")} hold different keys. ${z.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 N0({apiKey:z.value,tier:"disk",source:z.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:J})}let L=wz($,U);if(L){j0(_,L.key,L.value);let z=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.",W=`[${_}] 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. ${z}`,J=g.onDeprecation??wY,P=fY();if(!P.has(_))P.add(_),J(W);return N0({apiKey:L.value,tier:"legacy-env",source:L.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:W})}return null}var R6="HASNA_FLEET_API_DOMAIN",E0="your-deployment.example",dN=/[\u0000-\u001f\u007f]/,mz=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function kU(_){if(_.length===0||_.length>253||dN.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&mz.test($))}function uY(_){let $=_[R6];if($===void 0)return{domain:E0,source:"default",misconfigured:!0,warning:`${R6} is not set; using the non-resolving ${E0} fallback.`};let g=$.trim().toLowerCase();if(dN.test($)||!kU(g))return{domain:E0,source:R6,misconfigured:!0,warning:`${R6} is blank or invalid; using the non-resolving ${E0} fallback.`};return{domain:g,source:R6,misconfigured:!1,warning:null}}function iz(_){if(_.length>63||!mz.test(_))throw Error("App name must be one lowercase DNS label.");return _}function xY(_,$){let g=`${iz(_)}.${$}`;if(!kU(g))throw Error("Composed cloud hostname must be a valid DNS domain");return g}function yY(_,$){let g=iz(_),U=uY($),D=`${g}.${U.domain}`;if(kU(D))return{baseUrl:`https://${D}`,source:U.source,misconfigured:U.misconfigured,warning:U.warning};return{baseUrl:`https://${xY(g,E0)}`,source:U.source,misconfigured:!0,warning:`${R6} cannot form a valid composed cloud hostname for app '${g}'; using the non-resolving ${E0} fallback.`}}function yN(_,$,g={}){for(let U of $){let D=_[U],I=D?.trim();if(I)return{key:U,value:g.preserveRaw?D:I}}return null}function hY(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let g=_.slice($[0].length),U=g.search(/[/?#]/),D=U===-1?g:g.slice(0,U);if(!D)throw Error("API URL must include a hostname.");return D}function xz(_){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 cY(_){let $;if(_.startsWith("[")){let g=_.indexOf("]");if(g===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,g+1);let U=_.slice(g+1);if(U){if(!U.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");xz(U.slice(1))}if(rz($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let g=_.indexOf(":"),U=_.lastIndexOf(":");if(g!==U)throw Error("IPv6 API URL authorities must use brackets.");if(U!==-1){let N=_.slice(U+1);xz(N),$=_.slice(0,U)}else $=_;let D=rz($),j=$.split(".").every((N)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(N));if(D!==4&&j||D!==4&&!kU($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function nY(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function lz(_){if(dN.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),g=hY($);if(g.includes("@")||g.includes("\\")||g.includes("%")||/[^\x00-\x7f]/.test(g))throw Error("API URL authority must be canonical ASCII without credentials.");let U=cY(g),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()!==U)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((j)=>j.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!nY(g))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 I=D.pathname.replace(/\/+$/,"");if(I.endsWith("/v1"))I=I.slice(0,-3);return D.pathname=`${I}/v1`,D.toString().replace(/\/+$/,"")}function dY(_,$=process.env,g={}){let U=cz(_),D=yN($,U.modeKeys),I=yN($,U.apiUrlKeys,{preserveRaw:!0}),j=yN($,U.apiKeyKeys),N="sqlite",O="default",A=[],L;if(D)N=YY(D.value).mode,O=D.key;else if(I){if(L=cN(_,$,g.credentials),L)N="postgres",O=`${I.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:A.length>0?A.join(" "):null};if(L===void 0)L=cN(_,$,g.credentials);if(!L){let P=tz(_,$);return A.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 ${P}, then for ${U.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:A.join(" ")}}if(L.warning)A.push(L.warning);let z=null,W=I?.key??($[R6]===void 0?"default":R6),J;try{if(!I)z=yY(_,$),W=z.source;let P=I?.value??z.baseUrl;J=lz(P)}catch(P){let S=P instanceof Error?P.message:String(P);return A.push(`Invalid API URL from ${W}: ${S}. Using local store.`),{transport:"sqlite",mode:N,modeSource:O,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:!0,warning:A.join(" ")}}if(z?.warning)A.push(z.warning);return{transport:"http",mode:N,modeSource:O,baseUrl:J,apiUrlSource:W,apiKeyPresent:!0,apiKeySource:L.source,apiKeyTier:L.tier,misconfigured:z?.misconfigured??!1,warning:A.length>0?A.join(" "):null}}function tz(_,$){let g=nz(_,$);return g.length>0?g.join(" or "):""}class O0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,g,U,D){let I=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${g}${I}`);this.name="HasnaHttpError",this.status=g,this.method=_,this.path=$,this.body=U,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function mY(_,$){if(typeof $==="function")return $();return vY(_,$)}function iY(_){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 g=_.diskCandidates[0],U=g?`Write the CURRENT key to ${g} \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. ${U}`}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 lY=[408,425,429,500,502,503,504],tY=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),oY=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function yz(_,$){if(!_)return;let g=Object.keys(_).find((U)=>oY.has(U.trim().toLowerCase()));if(g)throw Error(`Authenticated ${$} headers must not set authority header '${g}'.`)}function pY(_,$){if(!$)return _;let g=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,I]of Object.entries($)){if(I===null||I===void 0)continue;if(Array.isArray(I))for(let j of I)g.append(D,String(j));else g.append(D,String(I))}let U=g.toString();if(!U)return _;return`${_}${_.includes("?")?"&":"?"}${U}`}var eY=(_)=>new Promise(($)=>setTimeout($,_));function aY(_){let $=_.fetchImpl??((A,L)=>fetch(A,L)),g=lz(_.baseUrl),U=_.timeoutMs??30000,D=_.sleepImpl??eY,I=_.retry;function j(A){let L=A!==void 0?A:I;if(L===!1)return null;let z=L??{};return{retries:z.retries??2,baseDelayMs:z.baseDelayMs??200,maxDelayMs:z.maxDelayMs??2000,retryStatuses:z.retryStatuses??[...lY]}}async function N(A,L,z,W,J,P){yz(_.headers,"transport"),yz(J.headers,"request");let S={"x-api-key":P.apiKey,Authorization:`Bearer ${P.apiKey}`,Accept:"application/json",..._.headers??{},...J.headers??{}};if(J.idempotencyKey)S["Idempotency-Key"]=J.idempotencyKey;let X={method:A,headers:S,redirect:"manual"};if(W!==void 0)S["Content-Type"]="application/json",X.body=JSON.stringify(W);let G=new AbortController,R=()=>G.abort();if(J.signal)if(J.signal.aborted)G.abort();else J.signal.addEventListener("abort",R,{once:!0});let K=setTimeout(()=>G.abort(),J.timeoutMs??U);X.signal=G.signal;let Q;try{Q=await $(z,X)}catch(V){let Z=V instanceof Error?V:Error(String(V));if(J.signal?.aborted)return{ok:!1,retryable:!1,error:Z};return{ok:!1,retryable:!0,error:Z}}finally{if(clearTimeout(K),J.signal)J.signal.removeEventListener("abort",R)}let T=await Q.text(),q=void 0;if(T.length>0)try{q=JSON.parse(T)}catch{q=T}if(!Q.ok){if(Q.status>=300&&Q.status<400)return{ok:!1,retryable:!1,error:new O0(A,L,Q.status,q)};if(Q.status===401||Q.status===403)return{ok:!1,retryable:!1,error:new O0(A,L,Q.status,q,{source:P.source,tier:P.tier,guidance:iY(P)})};let V=j(J.retry);return{ok:!1,retryable:V?V.retryStatuses.includes(Q.status):!1,error:new O0(A,L,Q.status,q)}}return{ok:!0,value:q}}async function O(A,L,z,W={}){let J=A.toUpperCase(),P=pY(L.startsWith("/")?L:`/${L}`,W.query),S=`${g}${P}`,X=j(W.retry),G=tY.has(J)||Boolean(W.idempotencyKey),R=X&&G?X.retries+1:1,K=mY(_.name,_.apiKey),Q=null;for(let T=1;T<=R;T++){let q=await N(J,P,S,z,W,K);if(q.ok)return q.value;if(Q=q,!(X!==null&&G&&q.retryable&&TO("GET",A,void 0,L),post:(A,L,z)=>O("POST",A,L,z),put:(A,L,z)=>O("PUT",A,L,z),patch:(A,L,z)=>O("PATCH",A,L,z),del:(A,L,z)=>O("DELETE",A,L,z)}}function sY(_,$=process.env,g){let U=g?.credentials,D=dY(_,$,{...U?{credentials:U}:{}});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 I=()=>{let j=cN(_,$,U);if(!j)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${tz(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return j};return{transport:"http",client:aY({name:_,baseUrl:D.baseUrl,apiKey:I,...g?.fetchImpl?{fetchImpl:g.fetchImpl}:{},...g?.headers?{headers:g.headers}:{},...g?.timeoutMs?{timeoutMs:g.timeoutMs}:{},...g?.retry!==void 0?{retry:g.retry}:{},...g?.sleepImpl?{sleepImpl:g.sleepImpl}:{}}),resolution:D}}function nN(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function hN(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${nN(_)}/${encodeURIComponent(String($))}`}function _Q(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function $Q(_){if(Array.isArray(_))return _;if(_&&typeof _==="object"){let $=_;for(let g of["items","data","results","rows","records"])if(Array.isArray($[g]))return $[g]}return[]}function gQ(_){if(_&&typeof _==="object"){let $=_;for(let g of["total","count","totalCount","total_count"])if(typeof $[g]==="number")return $[g]}return null}function DQ(_){if(_&&typeof _==="object"){let $=_;for(let g of["cursor","nextCursor","next_cursor","next"])if(typeof $[g]==="string")return $[g]}return null}function UQ(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(g,U={}){let D=await $.get(nN(g),U);return{items:$Q(D),total:gQ(D),cursor:DQ(D),raw:D}},async get(g,U,D={}){try{return await $.get(hN(g,U),D)}catch(I){if(I instanceof O0&&I.status===404)return null;throw I}},async create(g,U,D={}){let{idempotencyKey:I,...j}=D;return $.post(nN(g),U,{...j,idempotencyKey:I??_Q()})},async update(g,U,D,I={}){let{method:j="PATCH",idempotencyKey:N,...O}=I;return(j==="PUT"?$.put:$.patch)(hN(g,U),D,{...O,...N?{idempotencyKey:N}:{}})},async delete(g,U,D={}){try{await $.del(hN(g,U),void 0,D)}catch(I){if(I instanceof O0&&I.status===404)return;throw I}}}}function mN(_,$=process.env,g){let U=sY(_,$,g);if(U.transport==="http")return{transport:"http",client:UQ(_,U.client)};return{transport:"sqlite",client:null}}function IQ(_){return _.toUpperCase().replace(/-/g,"_")}function oz(_){let $=IQ(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function rg(_){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 CU(_){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 gw from"pg";class rU extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function A0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function pz(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((g)=>/^\d{1,3}$/.test(g)&&Number(g)<=255))return!1;return $[0]==="127"}function AQ(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(pz($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let g=$.slice(1,-1);if(g==="::1"||/^(0:){7}1$/.test(g))return!0;let U=g.split(":").pop()??"";if(/^(::ffff:|::)/.test(g)&&pz(U))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(g)}function sz(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function ez(_,$=process.env){if(!A0($))return;let g=sz(_),U;try{U=new URL(g)}catch{throw new rU("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(AQ(U.hostname))return;throw new rU(`knowledge: refused a non-loopback ${U.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:U.protocol.replace(":",""),port:U.port})}var LQ=new Set([301,302,303,307,308]),az=5;function JQ(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function vU(_,$){if(ez(_),!A0()||$?.redirect!==void 0)return fetch(_,$);let g=sz(_),U=JQ(_,$),D=$?.body,I=await fetch(_,{...$??{},redirect:"manual"});for(let j=0;LQ.has(I.status);j++){let N=I.headers.get("location");if(!N)return I;let O=new URL(N,g).href;if(ez(O),j>=az){let L=new URL(O);throw new rU(`knowledge: refused to follow more than ${az} 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(I.status===303||(I.status===301||I.status===302)&&U!=="GET"&&U!=="HEAD")U="GET",D=void 0;let A={...$??{},method:U,redirect:"manual"};if(D===void 0)delete A.body;else A.body=D;I=await fetch(O,A),g=O}return I}var wU="knowledge",iN=oz(wU),o$=iN.modeKeys,uU=iN.apiUrlKeys,xU=iN.apiKeyKeys;function fU(_,$){return $.filter((g)=>(_[g]??"").trim().length>0)}function vg(_=process.env){let $=[...fU(_,uU),...fU(_,xU)],g=o$[0];for(let U of o$){let D=_[U]?.trim();if(!D)continue;let I;try{I=CU(D)}catch(N){let O=N instanceof Error?N.message:String(N);throw Error(`knowledge: ${U}=${D} is not a valid mode. ${O}`)}let j=[];if(U!==g)j.push(`Using alias env ${U}; the canonical key is ${g}.`);if(I.mode==="sqlite"&&$.length>0)j.push(`${U}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:I.mode,source:{kind:"env",name:U,value:D},pointer_env_present:$,pointer_ignored:I.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 ${g}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var PQ=["postgres"],zQ=["sqlite"],_S=new Map;function $S(_,$,g){let U=$===rg;if(U){let D=_S.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),U)_S.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 ${g} in src/knowledge-mode.ts.`)}function SQ(_=rg){return $S(PQ,_,"SERVER_MODE_CANDIDATES")}function WQ(_=rg){return $S(zQ,_,"LOCAL_MODE_CANDIDATES")}function XQ(_,$=rg){return _==="postgres"?SQ($):WQ($)}function lN(_,$){return{..._,[o$[0]]:XQ($)}}class gS extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=o$[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 DS(_=process.env,$={}){let g=vg(_);if($.storePathOverridden)return g;if(g.source.kind!=="default")return g;let U=fU(_,uU);if(U.length===0)return g;throw new gS(U)}function US(_=process.env){let $=vg(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:fU(_,xU).length>0,network_guard_active:A0(_)}}function IS(_){return{fetchImpl:vU,...A0(_)?{retry:!1}:{}}}var G6="notes";class jS 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"}}function RQ(_){let $={};if(_.search)$.search=_.search;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;if(_.includeArchived||_.archivedOnly)$.includeArchived=!0;return $}function GQ(_){return{baseUrl:_.baseUrl,async list($={}){let g=$.limit??200,U=RQ({...$,limit:Math.min(Math.max(g,1),200)}),D=await _.list(G6,{query:U}),I=D.items;if($.archivedOnly)I=I.filter((j)=>j.archived===!0);if($.tag){let j=$.tag.toLowerCase();I=I.filter((N)=>(N.tags??[]).some((O)=>O.toLowerCase()===j))}return{items:I,total:D.total}},async get($){return _.get(G6,$)},async create($){return _.create(G6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,g,U={}){try{return await _.update(G6,$,g,{...U.expectedVersion!==void 0?{headers:{"if-match":String(U.expectedVersion)}}:{}})}catch(D){if(tN(D))return null;let I=YQ(D);if(I)throw I;throw D}},async delete($){let g=await _.get(G6,$);if(!g)return!1;return await _.delete(G6,g.id),!0},async listVersions($,g={}){try{return await _.transport.get(`/${G6}/${encodeURIComponent($)}/versions`,{query:{limit:g.limit,offset:g.offset}})}catch(U){if(tN(U))return null;throw U}},async getVersion($,g){try{return await _.transport.get(`/${G6}/${encodeURIComponent($)}/versions/${g}`)}catch(U){if(tN(U))return null;throw U}}}}function YQ(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,U=(typeof $==="string"?QQ($):$)??{};if(U.error!=="version_conflict")return null;return new jS(Number(U.expected??0),Number(U.current??0))}function QQ(_){try{return JSON.parse(_)}catch{return null}}function tN(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function fg(_=process.env){if(vg(_).mode!=="postgres")return null;let $=mN(wU,lN(_,"postgres"),IS(_));if($.transport!=="http")return null;return GQ($.client)}function Y6(_=process.env){if(vg(_).mode!=="postgres")return!1;return mN(wU,lN(_,"postgres"),IS(_)).transport==="http"}async function yU(_){let g=[];for(let U=0;;U+=200){let{items:D}=await _.list({includeArchived:!0,limit:200,offset:U});if(g.push(...D),D.length<200)break;if(U>1e5)break}return g}class pN 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 oN(_,$){return _.id===$||_.short_id===$}class NS{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new pN(this.storePath)}async getVersion(){throw new pN(this.storePath)}get location(){return this.storePath}get exists(){return TQ(this.storePath)}async listAll(){let _=I0(this.storePath);return{items:_.items,exists:_.exists}}async get(_){return I0(this.storePath).items.find((g)=>oN(g,_))??null}async create(_){return v$(this.storePath,()=>{let $=kg(this.storePath),g=new Date().toISOString(),U=_.id??kz(),D={id:U,short_id:Cz(U),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:g,updated_at:g};return $.items.push(D),t$(this.storePath,$),D},{createParent:!0})}async update(_,$){return v$(this.storePath,()=>{let g=kg(this.storePath),U=g.items.findIndex((I)=>oN(I,_));if(U===-1)return null;let D=g.items[U];if($.title!==void 0)D.title=$.title;if($.content!==void 0)D.content=$.content;if($.url!==void 0)D.url=$.url;if($.tags!==void 0)D.tags=$.tags;if($.metadata!==void 0)D.metadata=$.metadata;if($.archived!==void 0)D.archived=$.archived;return D.updated_at=new Date().toISOString(),g.items[U]=D,t$(this.storePath,g),D},{createParent:!0})}async delete(_){return v$(this.storePath,()=>{let $=kg(this.storePath),g=$.items.length;$.items=$.items.filter((D)=>!oN(D,_));let U=g!==$.items.length;if(U)t$(this.storePath,$);return U},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return v$(this.storePath,()=>{let g=kg(this.storePath),U=g.items.length;g.items=g.items.filter((I)=>!$.has(I.id)&&!(I.short_id!=null&&$.has(I.short_id)));let D=U-g.items.length;if(D>0)t$(this.storePath,g);return D},{createParent:!0})}}class ES{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 listAll(){return{items:await yU(this.cloud),exists:!0}}async get(_){return this.cloud.get(_)}async create(_){return this.cloud.create({..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})}async update(_,$,g={}){return this.cloud.update(_,$,{expectedVersion:g.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let g of _)if(await this.cloud.delete(g))$+=1;return $}}function hU(_){let $=_.storePathOverridden?null:fg(_.env??process.env);if($)return new ES($);return new NS(_.storePath)}function OS(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` +`)}var eN=5000;function qQ(_,$){let g=OS(_),U=OS($);if(g.length>eN||U.length>eN)throw Error(`Refusing to line-diff ${Math.max(g.length,U.length)} lines (limit ${eN}). Fetch the two versions and diff them with a dedicated tool.`);let D=Array.from({length:g.length+1},()=>Array(U.length+1).fill(0));for(let O=g.length-1;O>=0;O-=1)for(let A=U.length-1;A>=0;A-=1)D[O][A]=g[O]===U[A]?D[O+1][A+1]+1:Math.max(D[O+1][A],D[O][A+1]);let I=[],j=0,N=0;while(j=D[j][N+1])I.push({op:"remove",from_line:j+1,to_line:null,text:g[j]}),j+=1;else I.push({op:"add",from_line:null,to_line:N+1,text:U[N]}),N+=1;while(j{if(!BQ(_[N],$[N]))g.push({field:N,from:_[N]??null,to:$[N]??null})};U("title"),U("url"),U("tags"),U("metadata"),U("archived");let D=qQ(_.content,$.content),I=D.filter((N)=>N.op==="add").length,j=D.filter((N)=>N.op==="remove").length;return{identical:g.length===0&&I===0&&j===0,fields:g,content:D,added:I,removed:j}}function LS(_,$,g){let U=[`--- ${$}`,`+++ ${g}`];if(_.identical)return U.push("(no changes)"),U.join(` `);for(let D of _.fields)U.push(`~ ${D.field}: ${JSON.stringify(D.from)} -> ${JSON.stringify(D.to)}`);if(_.added===0&&_.removed===0){if(_.fields.length>0)U.push("(content unchanged)")}else{U.push(`@@ content +${_.added} -${_.removed} @@`);for(let D of _.content){let I=D.op==="add"?"+":D.op==="remove"?"-":" ";U.push(`${I}${D.text}`)}}return U.join(` -`)}import{Database as LS}from"bun:sqlite";function cU(_="catalog"){if(Y6()){let $=o$[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 BQ="porter unicode61 remove_diacritics 2",JS=` +`)}import{Database as JS}from"bun:sqlite";function cU(_="catalog"){if(Y6()){let $=o$[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 KQ="porter unicode61 remove_diacritics 2",PS=` 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')); -`,KQ=` +`,VQ=` 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')); -`,VQ=` +`,FQ=` 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')); -`,FQ=` +`,MQ=` 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')); -`,MQ=` +`,ZQ=` 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')); -`,PS=` +`,zS=` 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')); -`,ZQ=` +`,bQ=` 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')); -`,bQ=` +`,HQ=` 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')); -`,HQ=` +`,kQ=` BEGIN; CREATE TEMP TABLE _chunks_fts_backup AS @@ -498,7 +498,7 @@ CREATE VIRTUAL TABLE chunks_fts USING fts5( text, title, source_uri, - tokenize='${BQ}' + tokenize='${KQ}' ); 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; -`,kQ=` +`,CQ=` 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(_){cU("opening the local knowledge.db catalog"),X6(_);let $=new LS(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function zS(_){return cU("reading the local knowledge.db catalog"),new LS(_,{readonly:!0})}function h(_){let $=v(_);try{if($.exec(JS),v_($)<2)$.exec(KQ);if(v_($)<3)$.exec(VQ);if(v_($)<4)$.exec(FQ);if(v_($)<5)$.exec(MQ);if(v_($)<6)$.exec(PS);if(CQ($))rQ($);if(vQ($))fQ($);if(wQ($))uQ($);if(xQ($))yQ($);return{path:_,schema_version:v_($)}}finally{$.close()}}function v_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function F_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function aN(_){return`"${_.replaceAll('"','""')}"`}function e$(_,$){let g=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(g)}function p$(_,$,g){if(!e$(_,$))return!1;return _.query(`PRAGMA table_info(${aN($)})`).all().some((D)=>D.name===g)}function Q6(_,$,g,U){if(!p$(_,$,g))_.exec(`ALTER TABLE ${aN($)} ADD COLUMN ${aN(g)} ${U};`)}function CQ(_){return v_(_)<7||!p$(_,"knowledge_sync_changes","logical_clock")||!p$(_,"knowledge_sync_changes","bundle_id")||!e$(_,"knowledge_sync_table_clocks")||!e$(_,"knowledge_sync_imports")}function rQ(_){if(!e$(_,"knowledge_sync_changes"))_.exec(PS);Q6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),Q6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(ZQ)}function vQ(_){return v_(_)<8||!p$(_,"wiki_pages","valid_from")||!p$(_,"wiki_pages","valid_to")||!p$(_,"wiki_pages","supersedes")||!p$(_,"wiki_pages","superseded_by")||!p$(_,"wiki_pages","confidence")||!p$(_,"wiki_pages","last_verified_at")}function fQ(_){if(!e$(_,"wiki_pages"))_.exec(JS);Q6(_,"wiki_pages","valid_from","TEXT"),Q6(_,"wiki_pages","valid_to","TEXT"),Q6(_,"wiki_pages","supersedes","TEXT"),Q6(_,"wiki_pages","superseded_by","TEXT"),Q6(_,"wiki_pages","confidence","REAL"),Q6(_,"wiki_pages","last_verified_at","TEXT"),_.exec(` +`;function v(_){cU("opening the local knowledge.db catalog"),X6(_);let $=new JS(_);return $.exec("PRAGMA foreign_keys = ON;"),$.exec("PRAGMA busy_timeout = 5000;"),$}function SS(_){return cU("reading the local knowledge.db catalog"),new JS(_,{readonly:!0})}function h(_){let $=v(_);try{if($.exec(PS),v_($)<2)$.exec(VQ);if(v_($)<3)$.exec(FQ);if(v_($)<4)$.exec(MQ);if(v_($)<5)$.exec(ZQ);if(v_($)<6)$.exec(zS);if(rQ($))vQ($);if(fQ($))wQ($);if(uQ($))xQ($);if(yQ($))hQ($);return{path:_,schema_version:v_($)}}finally{$.close()}}function v_(_){return _.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0}function F_(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function aN(_){return`"${_.replaceAll('"','""')}"`}function e$(_,$){let g=_.query("SELECT name FROM sqlite_master WHERE type IN ('table', 'virtual') AND name = ?").get($);return Boolean(g)}function p$(_,$,g){if(!e$(_,$))return!1;return _.query(`PRAGMA table_info(${aN($)})`).all().some((D)=>D.name===g)}function Q6(_,$,g,U){if(!p$(_,$,g))_.exec(`ALTER TABLE ${aN($)} ADD COLUMN ${aN(g)} ${U};`)}function rQ(_){return v_(_)<7||!p$(_,"knowledge_sync_changes","logical_clock")||!p$(_,"knowledge_sync_changes","bundle_id")||!e$(_,"knowledge_sync_table_clocks")||!e$(_,"knowledge_sync_imports")}function vQ(_){if(!e$(_,"knowledge_sync_changes"))_.exec(zS);Q6(_,"knowledge_sync_changes","logical_clock","INTEGER NOT NULL DEFAULT 0"),Q6(_,"knowledge_sync_changes","bundle_id","TEXT"),_.exec(bQ)}function fQ(_){return v_(_)<8||!p$(_,"wiki_pages","valid_from")||!p$(_,"wiki_pages","valid_to")||!p$(_,"wiki_pages","supersedes")||!p$(_,"wiki_pages","superseded_by")||!p$(_,"wiki_pages","confidence")||!p$(_,"wiki_pages","last_verified_at")}function wQ(_){if(!e$(_,"wiki_pages"))_.exec(PS);Q6(_,"wiki_pages","valid_from","TEXT"),Q6(_,"wiki_pages","valid_to","TEXT"),Q6(_,"wiki_pages","supersedes","TEXT"),Q6(_,"wiki_pages","superseded_by","TEXT"),Q6(_,"wiki_pages","confidence","REAL"),Q6(_,"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(bQ)}function SS(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function wQ(_){if(!e$(_,"chunks_fts"))return!1;return v_(_)<9||!SS(_)}function uQ(_){if(!e$(_,"chunks_fts"))return;if(SS(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(HQ)}function xQ(_){return v_(_)<10||!e$(_,"knowledge_promotion_candidates")||!e$(_,"durable_knowledge_records")}function yQ(_){_.exec(kQ)}function sN(_){let $=v(_);try{return{schema_version:v_($),sources:F_($,"sources"),source_revisions:F_($,"source_revisions"),chunks:F_($,"chunks"),wiki_pages:F_($,"wiki_pages"),citations:F_($,"citations"),indexes:F_($,"knowledge_indexes"),runs:F_($,"runs"),run_events:F_($,"run_events"),redaction_findings:F_($,"redaction_findings"),audit_events:F_($,"audit_events"),approval_gates:F_($,"approval_gates"),storage_objects:F_($,"storage_objects"),embeddings:F_($,"chunk_embeddings"),vector_entries:F_($,"vector_index_entries"),reindex_queue:F_($,"reindex_queue"),knowledge_machines:F_($,"knowledge_machines"),sync_snapshots:F_($,"knowledge_sync_snapshots"),sync_changes:F_($,"knowledge_sync_changes"),sync_conflicts:F_($,"knowledge_sync_conflicts"),sync_table_clocks:F_($,"knowledge_sync_table_clocks"),sync_imports:F_($,"knowledge_sync_imports"),promotion_candidates:F_($,"knowledge_promotion_candidates"),durable_records:F_($,"durable_knowledge_records")}}finally{$.close()}}import{chmodSync as hQ,existsSync as cQ,mkdirSync as WS,readFileSync as nQ,statSync as dQ,writeFileSync as mQ}from"fs";import{dirname as iQ,join as _E,relative as lQ,sep as tQ}from"path";import{pathToFileURL as oQ}from"url";function f$(_){let $=_.replace(/\\/g,"/").trim();if(!$||$.startsWith("/"))throw Error(`Invalid artifact key: ${_}`);let g=$.split("/").filter(Boolean);if(g.length===0||g.some((U)=>U==="."||U===".."))throw Error(`Invalid artifact key: ${_}`);return g.join("/")}function $E(_,$){let g=lQ(_,$);if(g.startsWith("..")||g===".."||g.startsWith(`..${tQ}`))throw Error(`Artifact path escapes root: ${$}`)}function pQ(_){if(!_)return;let $={};for(let[g,U]of Object.entries(_))if(typeof U==="string")$[g]=U;else if(typeof U==="number"||typeof U==="boolean")$[g]=String(U);return Object.keys($).length>0?$:void 0}class XS{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;WS(_,{recursive:!0,mode:448})}async put(_){let $=f$(_.key),g=_E(this.root,$);return $E(this.root,g),WS(iQ(g),{recursive:!0,mode:448}),mQ(g,_.body,{mode:384}),hQ(g,384),{key:$,uri:oQ(g).href,modified_at:dQ(g).mtime.toISOString()}}async getText(_){let $=f$(_),g=_E(this.root,$);return $E(this.root,g),nQ(g,"utf8")}async exists(_){let $=f$(_),g=_E(this.root,$);return $E(this.root,g),cQ(g)}}class RS{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 $=f$(_),g=this.options.prefix?f$(this.options.prefix):"";return g?`${g}/${$}`:$}async put(_){let[{PutObjectCommand:$},g]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),U=f$(_.key),D=this.objectKey(U);return await g.send(new $({Bucket:this.options.bucket,Key:D,Body:_.body,ContentType:_.content_type,Metadata:pQ(_.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:U,uri:`s3://${this.options.bucket}/${D}`,modified_at:new Date().toISOString()}}async getText(_){let[{GetObjectCommand:$},g]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),U=this.objectKey(_),D=await g.send(new $({Bucket:this.options.bucket,Key:U}));if(!D.Body)return"";return await D.Body.transformToString()}async exists(_){let[{HeadObjectCommand:$},g]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),U=this.objectKey(_);try{return await g.send(new $({Bucket:this.options.bucket,Key:U})),!0}catch(D){let I=D instanceof Error?D.name:"";if(I==="NotFound"||I==="NoSuchKey"||I==="NotFoundError")return!1;throw D}}}function gE(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new RS({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 XS($.artifactsDir)}import{createHash as AU}from"crypto";import{spawnSync as nZ}from"child_process";import{existsSync as W_,readFileSync as dZ}from"fs";import{hostname as mZ}from"os";import{join as kG,resolve as iG}from"path";import{createHash as T7,randomUUID as q7}from"crypto";import{createHash as IT,randomUUID as jT}from"crypto";import{existsSync as UE,readdirSync as NT}from"fs";import{join as VS}from"path";import{pathToFileURL as ET}from"url";import{existsSync as eQ,mkdirSync as aQ,readFileSync as sQ,unlinkSync as _T,writeFileSync as $T}from"fs";import{homedir as gT}from"os";import{dirname as DT,join as GS}from"path";var DE="https://knowledge.md";function a$(_){let $=new URL(_);if($.protocol!=="http:"&&$.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let g=$.pathname.replace(/\/+$/,"");if(g==="/api"||g==="/api/v1")$.pathname="/";else if(g.endsWith("/api/v1"))$.pathname=g.slice(0,-7)||"/";else if(g.endsWith("/api"))$.pathname=g.slice(0,-4)||"/";return $.toString().replace(/\/+$/,"")}function nU(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??GS(gT(),".hasna","knowledge");return GS($,"auth.json")}function YS(_,$=process.env){return a$($.KNOWLEDGE_API_URL??_?.hosted?.api_url??DE)}function QS(_=process.env){try{let $=nU(_);if(!eQ($))return null;let g=JSON.parse(sQ($,"utf8"));return typeof g.api_key==="string"&&g.api_key.length>0?g:null}catch{return null}}function TS(_,$=process.env){let g=nU($),U={..._,api_url:_.api_url?a$(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return aQ(DT(g),{recursive:!0,mode:448}),$T(g,`${JSON.stringify(U,null,2)} -`,{mode:384}),U}function qS(_=process.env){try{return _T(nU(_)),!0}catch{return!1}}function UT(_=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 $=QS(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function BS(_,$=process.env){let g=QS($),U=UT($),D=$.KNOWLEDGE_API_URL?YS(_,$):g?.api_url?a$(g.api_url):YS(_,$);return{authenticated:Boolean(U.apiKey),source:U.source,api_url:D,auth_path:nU($),email:U.source==="file"?g?.email??null:null,org_id:U.source==="file"?g?.org_id??null:null,org_slug:U.source==="file"?g?.org_slug??null:null,user_id:U.source==="file"?g?.user_id??null:null,api_key_present:Boolean(U.apiKey)}}var KS=2;var FS=[{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."}],OT=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function MS(_){let $=[];if(UE(VS(_.home,"cloud.env")))$.push("cloud.env");if(UE(VS(_.home,"migration-exports")))$.push("migration-exports");if(UE(_.home)){for(let g of NT(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(g))$.push(g)}return $}function L0(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${IT("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function ZS(_){return FS.find((g)=>_.startsWith(g.prefix))?.kind??"artifact"}function dU(_,$,g="global"){let U=IE(_,$),D=_.storage.s3??null,I=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",j=D?`s3://${D.bucket}/${I?`${I}/`:""}`:"",N=P_.s3.prefix.replace(/^\/+|\/+$/g,""),O=`s3://${P_.s3.bucket}/${N}/`,A=_.storage.type==="s3"&&D?.bucket===P_.s3.bucket&&(D.region??null)===P_.s3.region;return{scope:g,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:l$,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:ET(`${$.artifactsDir}/`).href,s3:D?{bucket:D.bucket,prefix:I,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:P_.division,app_type:P_.app_type,app:P_.app,env:P_.env,active:A,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:a$(_.hosted?.api_url??DE),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:KS,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:OT,forbidden_workspace_files_present:MS($),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:FS,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:U.warnings}}function IE(_,$){let g=[],U=[],D=MS($);for(let I of D)g.push(`Forbidden Knowledge workspace file present: ${I}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!$.home.endsWith(l$))U.push(`Workspace home does not end with ${l$}: ${$.home}`);if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)g.push("storage.s3.bucket is required when storage.type is s3.");if(!_.storage.s3?.prefix)U.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if(_.mode==="local")U.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)U.push("storage.s3 is configured but ignored while storage.type is local.");if(_.sources.preferred_ref!=="open-files")U.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!_.sources.allowed_schemes.includes("open-files"))g.push("sources.allowed_schemes must include open-files.");if(_.mode==="hosted"&&_.hosted?.api_url)try{a$(_.hosted.api_url)}catch{g.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:g.length===0,errors:g,warnings:U}}function s$(_,$,g=new Date){let U=g.toISOString(),D=_.prepare(` + `),_.exec(HQ)}function WS(_){let $=_.query("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = ?").get("chunks_fts");return Boolean($?.sql&&$.sql.includes("remove_diacritics"))}function uQ(_){if(!e$(_,"chunks_fts"))return!1;return v_(_)<9||!WS(_)}function xQ(_){if(!e$(_,"chunks_fts"))return;if(WS(_)){_.exec("INSERT OR IGNORE INTO schema_versions(version, applied_at) VALUES (9, datetime('now'));");return}_.exec(kQ)}function yQ(_){return v_(_)<10||!e$(_,"knowledge_promotion_candidates")||!e$(_,"durable_knowledge_records")}function hQ(_){_.exec(CQ)}function sN(_){let $=v(_);try{return{schema_version:v_($),sources:F_($,"sources"),source_revisions:F_($,"source_revisions"),chunks:F_($,"chunks"),wiki_pages:F_($,"wiki_pages"),citations:F_($,"citations"),indexes:F_($,"knowledge_indexes"),runs:F_($,"runs"),run_events:F_($,"run_events"),redaction_findings:F_($,"redaction_findings"),audit_events:F_($,"audit_events"),approval_gates:F_($,"approval_gates"),storage_objects:F_($,"storage_objects"),embeddings:F_($,"chunk_embeddings"),vector_entries:F_($,"vector_index_entries"),reindex_queue:F_($,"reindex_queue"),knowledge_machines:F_($,"knowledge_machines"),sync_snapshots:F_($,"knowledge_sync_snapshots"),sync_changes:F_($,"knowledge_sync_changes"),sync_conflicts:F_($,"knowledge_sync_conflicts"),sync_table_clocks:F_($,"knowledge_sync_table_clocks"),sync_imports:F_($,"knowledge_sync_imports"),promotion_candidates:F_($,"knowledge_promotion_candidates"),durable_records:F_($,"durable_knowledge_records")}}finally{$.close()}}import{chmodSync as cQ,existsSync as nQ,mkdirSync as XS,readFileSync as dQ,statSync as mQ,writeFileSync as iQ}from"fs";import{dirname as lQ,join as _E,relative as tQ,sep as oQ}from"path";import{pathToFileURL as pQ}from"url";function f$(_){let $=_.replace(/\\/g,"/").trim();if(!$||$.startsWith("/"))throw Error(`Invalid artifact key: ${_}`);let g=$.split("/").filter(Boolean);if(g.length===0||g.some((U)=>U==="."||U===".."))throw Error(`Invalid artifact key: ${_}`);return g.join("/")}function $E(_,$){let g=tQ(_,$);if(g.startsWith("..")||g===".."||g.startsWith(`..${oQ}`))throw Error(`Artifact path escapes root: ${$}`)}function eQ(_){if(!_)return;let $={};for(let[g,U]of Object.entries(_))if(typeof U==="string")$[g]=U;else if(typeof U==="number"||typeof U==="boolean")$[g]=String(U);return Object.keys($).length>0?$:void 0}class RS{root;type="local";canRead=!0;canWrite=!0;constructor(_){this.root=_;XS(_,{recursive:!0,mode:448})}async put(_){let $=f$(_.key),g=_E(this.root,$);return $E(this.root,g),XS(lQ(g),{recursive:!0,mode:448}),iQ(g,_.body,{mode:384}),cQ(g,384),{key:$,uri:pQ(g).href,modified_at:mQ(g).mtime.toISOString()}}async getText(_){let $=f$(_),g=_E(this.root,$);return $E(this.root,g),dQ(g,"utf8")}async exists(_){let $=f$(_),g=_E(this.root,$);return $E(this.root,g),nQ(g)}}class GS{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 $=f$(_),g=this.options.prefix?f$(this.options.prefix):"";return g?`${g}/${$}`:$}async put(_){let[{PutObjectCommand:$},g]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),U=f$(_.key),D=this.objectKey(U);return await g.send(new $({Bucket:this.options.bucket,Key:D,Body:_.body,ContentType:_.content_type,Metadata:eQ(_.metadata),ServerSideEncryption:this.options.server_side_encryption,SSEKMSKeyId:this.options.kms_key_id})),{key:U,uri:`s3://${this.options.bucket}/${D}`,modified_at:new Date().toISOString()}}async getText(_){let[{GetObjectCommand:$},g]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),U=this.objectKey(_),D=await g.send(new $({Bucket:this.options.bucket,Key:U}));if(!D.Body)return"";return await D.Body.transformToString()}async exists(_){let[{HeadObjectCommand:$},g]=await Promise.all([import("@aws-sdk/client-s3"),this.getClient()]),U=this.objectKey(_);try{return await g.send(new $({Bucket:this.options.bucket,Key:U})),!0}catch(D){let I=D instanceof Error?D.name:"";if(I==="NotFound"||I==="NoSuchKey"||I==="NotFoundError")return!1;throw D}}}function gE(_,$){if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)throw Error("S3 artifact storage requires storage.s3.bucket");return new GS({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 RS($.artifactsDir)}import{createHash as AU}from"crypto";import{spawnSync as dZ}from"child_process";import{existsSync as W_,readFileSync as mZ}from"fs";import{hostname as iZ}from"os";import{join as CG,resolve as lG}from"path";import{createHash as q7,randomUUID as B7}from"crypto";import{createHash as jT,randomUUID as NT}from"crypto";import{existsSync as UE,readdirSync as ET}from"fs";import{join as FS}from"path";import{pathToFileURL as OT}from"url";import{existsSync as aQ,mkdirSync as sQ,readFileSync as _T,unlinkSync as $T,writeFileSync as gT}from"fs";import{homedir as DT}from"os";import{dirname as UT,join as YS}from"path";var DE="https://knowledge.md";function a$(_){let $=new URL(_);if($.protocol!=="http:"&&$.protocol!=="https:")throw Error("Knowledge API URL must use http or https.");let g=$.pathname.replace(/\/+$/,"");if(g==="/api"||g==="/api/v1")$.pathname="/";else if(g.endsWith("/api/v1"))$.pathname=g.slice(0,-7)||"/";else if(g.endsWith("/api"))$.pathname=g.slice(0,-4)||"/";return $.toString().replace(/\/+$/,"")}function nU(_=process.env){if(_.HASNA_KNOWLEDGE_AUTH_PATH)return _.HASNA_KNOWLEDGE_AUTH_PATH;let $=_.HASNA_KNOWLEDGE_AUTH_DIR??YS(DT(),".hasna","knowledge");return YS($,"auth.json")}function QS(_,$=process.env){return a$($.KNOWLEDGE_API_URL??_?.hosted?.api_url??DE)}function TS(_=process.env){try{let $=nU(_);if(!aQ($))return null;let g=JSON.parse(_T($,"utf8"));return typeof g.api_key==="string"&&g.api_key.length>0?g:null}catch{return null}}function qS(_,$=process.env){let g=nU($),U={..._,api_url:_.api_url?a$(_.api_url):void 0,created_at:_.created_at??new Date().toISOString()};return sQ(UT(g),{recursive:!0,mode:448}),gT(g,`${JSON.stringify(U,null,2)} +`,{mode:384}),U}function BS(_=process.env){try{return $T(nU(_)),!0}catch{return!1}}function IT(_=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 $=TS(_);return $?.api_key?{apiKey:$.api_key,source:"file"}:{apiKey:null,source:"none"}}function KS(_,$=process.env){let g=TS($),U=IT($),D=$.KNOWLEDGE_API_URL?QS(_,$):g?.api_url?a$(g.api_url):QS(_,$);return{authenticated:Boolean(U.apiKey),source:U.source,api_url:D,auth_path:nU($),email:U.source==="file"?g?.email??null:null,org_id:U.source==="file"?g?.org_id??null:null,org_slug:U.source==="file"?g?.org_slug??null:null,user_id:U.source==="file"?g?.user_id??null:null,api_key_present:Boolean(U.apiKey)}}var VS=2;var MS=[{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."}],AT=["cloud.env","knowledge.db.pre-cloud-*.bak","db.json.pre-cloud-*.bak","migration-exports"];function ZS(_){let $=[];if(UE(FS(_.home,"cloud.env")))$.push("cloud.env");if(UE(FS(_.home,"migration-exports")))$.push("migration-exports");if(UE(_.home)){for(let g of ET(_.home))if(/^(?:knowledge\.db|db\.json)\.pre-cloud-.+\.bak$/i.test(g))$.push(g)}return $}function L0(_){let $=typeof _==="string"?Buffer.from(_):Buffer.from(_);return{hash:`sha256:${jT("sha256").update($).digest("hex")}`,size_bytes:$.byteLength}}function bS(_){return MS.find((g)=>_.startsWith(g.prefix))?.kind??"artifact"}function dU(_,$,g="global"){let U=IE(_,$),D=_.storage.s3??null,I=D?.prefix?.replace(/^\/+|\/+$/g,"")??"",j=D?`s3://${D.bucket}/${I?`${I}/`:""}`:"",N=P_.s3.prefix.replace(/^\/+|\/+$/g,""),O=`s3://${P_.s3.bucket}/${N}/`,A=_.storage.type==="s3"&&D?.bucket===P_.s3.bucket&&(D.region??null)===P_.s3.region;return{scope:g,mode:_.mode,storage_type:_.storage.type,workspace_home:$.home,local_layout:{app_path:l$,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:OT(`${$.artifactsDir}/`).href,s3:D?{bucket:D.bucket,prefix:I,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:P_.division,app_type:P_.app_type,app:P_.app,env:P_.env,active:A,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:a$(_.hosted?.api_url??DE),api_url_env:"KNOWLEDGE_API_URL",api_key_env:"KNOWLEDGE_API_KEY",auth_storage:"~/.hasna/knowledge/auth.json",registry_contract_version:VS,requires_hosted_account_for_local_use:!1},secret_handling:{workspace_env_files_supported:!1,forbidden_workspace_files:AT,forbidden_workspace_files_present:ZS($),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:MS,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:U.warnings}}function IE(_,$){let g=[],U=[],D=ZS($);for(let I of D)g.push(`Forbidden Knowledge workspace file present: ${I}. Move secrets to open-secrets/runtime env and remove or replace legacy backups/exports with redacted owner-only artifacts.`);if(!$.home.endsWith(l$))U.push(`Workspace home does not end with ${l$}: ${$.home}`);if(_.storage.type==="s3"){if(!_.storage.s3?.bucket)g.push("storage.s3.bucket is required when storage.type is s3.");if(!_.storage.s3?.prefix)U.push("storage.s3.prefix is empty; generated knowledge artifacts will be written at the bucket root.");if(_.mode==="local")U.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)U.push("storage.s3 is configured but ignored while storage.type is local.");if(_.sources.preferred_ref!=="open-files")U.push("sources.preferred_ref should stay open-files for durable company knowledge.");if(!_.sources.allowed_schemes.includes("open-files"))g.push("sources.allowed_schemes must include open-files.");if(_.mode==="hosted"&&_.hosted?.api_url)try{a$(_.hosted.api_url)}catch{g.push("hosted.api_url must be an http(s) URL when mode is hosted.")}return{ok:g.length===0,errors:g,warnings:U}}function s$(_,$,g=new Date){let U=g.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??{}};D.run(jT(),N.uri,N.kind,N.content_type??null,N.hash??null,N.size_bytes??null,JSON.stringify(O),U,U)}})($)}function jE(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function T6(_){let $=_.status??null;return{source_owner:"open-files",source_ref:_.source_ref??null,source_uri:_.source_uri??null,source_kind:_.source_kind??null,source_revision_id:_.source_revision_id??null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,start_offset:_.start_offset??null,end_offset:_.end_offset??null,status:$,read_only:!0,citation_required:!0,resolver:_.resolver??null,stale:jE($)}}function U$(_){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 bS(_,$){return{..._,provenance:$}}import{createHash as P7}from"crypto";import{existsSync as z7,readFileSync as S7}from"fs";import{basename as tU}from"path";import{createHash as fT}from"crypto";import{existsSync as wT,readFileSync as uT}from"fs";import{basename as xT}from"path";import{fileURLToPath as AT}from"url";function HS(_,$){if(!_)throw Error($);return _}function LT(_){let g=_.slice(13).split("/").filter(Boolean),U=g[0];if(U!=="file"&&U!=="source")throw Error("Invalid open-files ref. Expected open-files://file/, open-files://file//revision/, or open-files://source//path/.");let D=HS(g[1],"Invalid open-files ref. Missing id.");if(U==="file"){if(g.length===2)return{kind:"open-files",uri:_,entity:U,id:D};if(g[2]==="revision"&&g[3]&&g.length===4)return{kind:"open-files",uri:_,entity:U,id:D,revision_id:decodeURIComponent(g[3])};throw Error("Invalid open-files file ref. Expected open-files://file//revision/.")}let I=g.indexOf("path"),j=I>=0?decodeURIComponent(g.slice(I+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:U,id:D,path:j}}function JT(_){let $=new URL(_),g=HS($.hostname,"Invalid s3 ref. Missing bucket."),U=decodeURIComponent($.pathname.replace(/^\/+/,""));if(!U)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:_,bucket:g,key:U}}function PT(_){return{kind:"file",uri:_,path:AT(_)}}function zT(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function A$(_){if(_.startsWith("open-files://"))return LT(_);if(_.startsWith("s3://"))return JT(_);if(_.startsWith("file://"))return PT(_);if(_.startsWith("https://")||_.startsWith("http://"))return zT(_);throw Error(`Unsupported source ref scheme: ${_}`)}function kS(_,$=A$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function CS(_){let $=A$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as ST,randomUUID as EE}from"crypto";import{relative as WT,resolve as vS,sep as XT}from"path";function rS(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function fS(_,$){let g=_,U=new Set(g.safety?.network?.allowed_s3_buckets??[]);if(_.storage.type==="s3"&&_.storage.s3?.bucket)U.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((I)=>I.trim()).filter(Boolean))U.add(D);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((D)=>vS(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:g.safety?.network?.web_search_enabled??rS("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:g.safety?.network?.s3_reads_enabled??rS("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...U].sort()},redaction:{enabled:g.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:g.safety?.approvals?.generated_writes_require_approval??!0}}}function RT(_,$){let g=WT(_,$);return g===""||!g.startsWith("..")&&g!==".."&&!g.startsWith(`..${XT}`)}function _6(_,$){let g=vS(_);if(!$.allowWriteRoots.some((U)=>RT(U,g)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function q6(_,$){let U=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(U))throw Error(`Safety policy denied S3 bucket "${U}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function J0(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var wS=[{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 g=_,U=[];for(let D of wS)g=g.replace(D.regex,(I,...j)=>{let N=typeof j.at(-2)==="number"?j.at(-2):g.indexOf(I);return U.push({type:D.type,severity:D.severity,start:Math.max(0,N),end:Math.max(0,N+I.length)}),D.replacement});return{text:g,findings:U}}function GT(_){return`audit_${ST("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${EE()}`).digest("hex").slice(0,24)}`}function NE(_,$=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 g=_.slice(0,25).map((U)=>NE(U,$+1));if(_.length>25)g.push(`[Truncated:${_.length-25} items]`);return g}if(typeof _==="object"){let g={},U=Object.entries(_).slice(0,50);for(let[I,j]of U)g[I]=NE(j,$+1);let D=Object.keys(_).length;if(D>U.length)g.__truncated_keys=D-U.length;return g}return String(_)}function X_(_,$){let g=$.created_at??new Date().toISOString(),U=NE($.metadata??{}),D=GT({...$,metadata:U,created_at:g});return _.run(`INSERT INTO audit_events (id, event_type, action, target_uri, decision, metadata_json, created_at) + `);_.transaction((j)=>{for(let N of j){let O={key:N.key,...N.modified_at?{artifact_modified_at:N.modified_at}:{},...N.metadata??{}};D.run(NT(),N.uri,N.kind,N.content_type??null,N.hash??null,N.size_bytes??null,JSON.stringify(O),U,U)}})($)}function jE(_){return["deleted","stale","invalidated","reindex_required"].includes((_??"").toLowerCase())}function T6(_){let $=_.status??null;return{source_owner:"open-files",source_ref:_.source_ref??null,source_uri:_.source_uri??null,source_kind:_.source_kind??null,source_revision_id:_.source_revision_id??null,revision:_.revision??null,hash:_.hash??null,chunk_id:_.chunk_id??null,start_offset:_.start_offset??null,end_offset:_.end_offset??null,status:$,read_only:!0,citation_required:!0,resolver:_.resolver??null,stale:jE($)}}function U$(_){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 HS(_,$){return{..._,provenance:$}}import{createHash as z7}from"crypto";import{existsSync as S7,readFileSync as W7}from"fs";import{basename as tU}from"path";import{createHash as wT}from"crypto";import{existsSync as uT,readFileSync as xT}from"fs";import{basename as yT}from"path";import{fileURLToPath as LT}from"url";function kS(_,$){if(!_)throw Error($);return _}function JT(_){let g=_.slice(13).split("/").filter(Boolean),U=g[0];if(U!=="file"&&U!=="source")throw Error("Invalid open-files ref. Expected open-files://file/, open-files://file//revision/, or open-files://source//path/.");let D=kS(g[1],"Invalid open-files ref. Missing id.");if(U==="file"){if(g.length===2)return{kind:"open-files",uri:_,entity:U,id:D};if(g[2]==="revision"&&g[3]&&g.length===4)return{kind:"open-files",uri:_,entity:U,id:D,revision_id:decodeURIComponent(g[3])};throw Error("Invalid open-files file ref. Expected open-files://file//revision/.")}let I=g.indexOf("path"),j=I>=0?decodeURIComponent(g.slice(I+1).join("/")):void 0;return{kind:"open-files",uri:_,entity:U,id:D,path:j}}function PT(_){let $=new URL(_),g=kS($.hostname,"Invalid s3 ref. Missing bucket."),U=decodeURIComponent($.pathname.replace(/^\/+/,""));if(!U)throw Error("Invalid s3 ref. Missing object key.");return{kind:"s3",uri:_,bucket:g,key:U}}function zT(_){return{kind:"file",uri:_,path:LT(_)}}function ST(_){let $=new URL(_);return{kind:"web",uri:_,url:$.toString()}}function A$(_){if(_.startsWith("open-files://"))return JT(_);if(_.startsWith("s3://"))return PT(_);if(_.startsWith("file://"))return zT(_);if(_.startsWith("https://")||_.startsWith("http://"))return ST(_);throw Error(`Unsupported source ref scheme: ${_}`)}function CS(_,$=A$(_)){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function rS(_){let $=A$(_);return $.kind==="open-files"&&$.entity==="file"?$.revision_id??null:null}import{createHash as WT,randomUUID as EE}from"crypto";import{relative as XT,resolve as fS,sep as RT}from"path";function vS(_){let $=process.env[_];return $==="1"||$==="true"||$==="yes"}function wS(_,$){let g=_,U=new Set(g.safety?.network?.allowed_s3_buckets??[]);if(_.storage.type==="s3"&&_.storage.s3?.bucket)U.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((I)=>I.trim()).filter(Boolean))U.add(D);return{mode:_.mode,allowWriteRoots:[$.home,$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir].map((D)=>fS(D)),readOnlySourceAccess:!0,network:{webSearchEnabled:g.safety?.network?.web_search_enabled??vS("HASNA_KNOWLEDGE_WEB_SEARCH"),s3ReadsEnabled:g.safety?.network?.s3_reads_enabled??vS("HASNA_KNOWLEDGE_ALLOW_S3_READS"),allowedS3Buckets:[...U].sort()},redaction:{enabled:g.safety?.redaction?.enabled??!0},approvals:{generatedWritesRequireApproval:g.safety?.approvals?.generated_writes_require_approval??!0}}}function GT(_,$){let g=XT(_,$);return g===""||!g.startsWith("..")&&g!==".."&&!g.startsWith(`..${RT}`)}function _6(_,$){let g=fS(_);if(!$.allowWriteRoots.some((U)=>GT(U,g)))throw Error(`Safety policy denied write outside .hasna/knowledge: ${_}`)}function q6(_,$){let U=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(U))throw Error(`Safety policy denied S3 bucket "${U}". Add it to safety.network.allowed_s3_buckets or HASNA_KNOWLEDGE_ALLOWED_S3_BUCKETS.`)}function J0(_){if(!_.network.webSearchEnabled)throw Error("Safety policy denied web search. Set safety.network.web_search_enabled=true or HASNA_KNOWLEDGE_WEB_SEARCH=1.")}var uS=[{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 g=_,U=[];for(let D of uS)g=g.replace(D.regex,(I,...j)=>{let N=typeof j.at(-2)==="number"?j.at(-2):g.indexOf(I);return U.push({type:D.type,severity:D.severity,start:Math.max(0,N),end:Math.max(0,N+I.length)}),D.replacement});return{text:g,findings:U}}function YT(_){return`audit_${WT("sha256").update(`${_.event_type}\x00${_.action}\x00${_.target_uri??""}\x00${_.created_at??""}\x00${JSON.stringify(_.metadata??{})}\x00${EE()}`).digest("hex").slice(0,24)}`}function NE(_,$=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 g=_.slice(0,25).map((U)=>NE(U,$+1));if(_.length>25)g.push(`[Truncated:${_.length-25} items]`);return g}if(typeof _==="object"){let g={},U=Object.entries(_).slice(0,50);for(let[I,j]of U)g[I]=NE(j,$+1);let D=Object.keys(_).length;if(D>U.length)g.__truncated_keys=D-U.length;return g}return String(_)}function X_(_,$){let g=$.created_at??new Date().toISOString(),U=NE($.metadata??{}),D=YT({...$,metadata:U,created_at:g});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(U),g]),D}function P0(_,$){let g=$.created_at??new Date().toISOString();for(let U of $.findings)_.run(`INSERT INTO redaction_findings (id, source_uri, run_id, severity, finding_type, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)`,[`redact_${EE()}`,$.source_uri??null,$.run_id??null,U.severity,U.type,JSON.stringify({...$.metadata??{},start:U.start,end:U.end}),g]);return $.findings.length}function mU(_,$){let g=$.created_at??new Date().toISOString(),U=`approval_${EE()}`;return _.run(`INSERT INTO approval_gates (id, action, target_uri, status, reason, approved_by, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.action,$.target_uri??null,"approved",$.reason??null,$.approved_by??"local-cli",JSON.stringify($.metadata??{}),g,g]),{id:U,status:"approved"}}var YT=[{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]"}];wS.push(...YT);function QT(_,$,g){let U=_.query(`SELECT id FROM approval_gates + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.action,$.target_uri??null,"approved",$.reason??null,$.approved_by??"local-cli",JSON.stringify($.metadata??{}),g,g]),{id:U,status:"approved"}}var QT=[{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]"}];uS.push(...QT);function TT(_,$,g){let U=_.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($,g??null,g??null);return Boolean(U)}function uS(_,$,g,U){let D=g==="generated_write"&&$.approvals.generatedWritesRequireApproval,I=!D||QT(_,g,U);return{action:g,target_uri:U??null,approval_required:D,approved:I,decision:I?"allow":"requires_approval"}}import{createHash as TT}from"crypto";import{realpathSync as qT}from"fs";import{homedir as BT,tmpdir as KT}from"os";var a6=String.raw`[^\s"'<>),\]}]`,AE=String.raw`[^/\\\s"'<>]+`,hS=/file:\/\/[^\s"'<>),\]}]+/gi,VT=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,cS=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,nS=new RegExp(String.raw`/(?:home|Users)/${AE}/(?:workspace|Workspace)/${a6}*`,"g"),FT=[new RegExp(String.raw`/(?:home|Users)/${AE}(?:/${a6}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${a6}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${a6}+`,"g"),new RegExp(String.raw`(?),\]}]+)\b/gi,mS=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,MT=new Set(["content_base64"]);function ZT(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function bT(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var xS=null,OE=[];function HT(){let _=new Set;for(let g of[BT(),KT()]){if(!g)continue;_.add(g);try{_.add(qT(g))}catch{}}let $=[..._].sort().join("\x00");if($===xS)return OE;return xS=$,OE=[..._].filter(bT).sort((g,U)=>U.length-g.length).map((g)=>new RegExp(`${ZT(g)}(?:[/\\\\]${a6}*)?`,"g")),OE}function L$(_){return TT("sha256").update(_).digest("hex").slice(0,12)}function kT(_){return _.length<=80?_:`${_.slice(0,77)}...`}function yS(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function CT(_,$,g,U){for(let D of _.matchAll(hS)){let I=D[0];if(!g.allowFileSourceRefs||yS(I))U.push({type:yS(I)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:kT(I.replace(/^file:\/\/.*/,`[redacted:file-uri:${L$(I)}]`))})}for(let D of _.matchAll(cS))U.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${L$(D[0])}]`});for(let D of _.matchAll(dS))U.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${L$(D[0])}]`});for(let D of _.matchAll(mS))U.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${L$(D[0])}]`});if(!g.allowPrivateWorkspaceRefs)for(let D of _.matchAll(nS))U.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${L$(D[0])}]`})}function rT(_,$={},g="$"){let U=[],D=(I,j)=>{if(typeof I==="string"){CT(I,j,$,U);return}if(!I||typeof I!=="object")return;if(Array.isArray(I)){I.forEach((N,O)=>D(N,`${j}[${O}]`));return}for(let[N,O]of Object.entries(I))D(O,`${j}.${N}`)};return D(_,g),U}function s6(_,$={}){let g=rT(_,$);if(g.length===0)return;let U=new Map;for(let I of g)U.set(I.type,(U.get(I.type)??0)+1);let D=[...U.entries()].map(([I,j])=>`${I}:${j}`).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 vT(_){let $=u_(_).text.replace(mS,(g)=>`[REDACTED:database-url:${L$(g)}]`).replace(hS,(g)=>`[REDACTED:local-file-uri:${L$(g)}]`).replace(VT,(g)=>`[REDACTED:local-hasna-path:${L$(g)}]`).replace(nS,(g)=>`[REDACTED:private-workspace:${L$(g)}]`);for(let g of[...HT(),...FT])$=$.replace(g,(U)=>`[REDACTED:local-path:${L$(U)}]`);return $.replace(cS,(g)=>`[REDACTED:hasna-path:${L$(g)}]`).replace(dS,(g)=>`[REDACTED:private-artifact:${L$(g)}]`)}function q_(_){if(typeof _==="string")return vT(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((g)=>q_(g));let $={};for(let[g,U]of Object.entries(_))$[g]=MT.has(g)?U:q_(U);return $}var yT=20971520,iS=1e4,hT=10;function JE(_,$){return`${_}_${fT("sha256").update($).digest("hex").slice(0,20)}`}function _4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function N_(_){return typeof _==="string"&&_.length>0?_:void 0}function cT(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function nT(_){let $=N_(_.source_ref)??N_(_.source_uri)??N_(_.uri);if($)return $;let g=N_(_.file_id);if(g){let I=N_(_.revision_id)??N_(_.revision),j=`open-files://file/${encodeURIComponent(g)}`;return I?`${j}/revision/${encodeURIComponent(I)}`:j}let U=N_(_.source_id),D=N_(_.path);if(U&&D)return`open-files://source/${encodeURIComponent(U)}/path/${encodeURIComponent(D)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function dT(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function mT(_){let $=N_(_.extracted_text)??N_(_.text)??N_(_.content_text)??N_(_.markdown);if($!==void 0)return $;let g=_.content;return typeof g==="string"?g:null}function iT(_){let $=N_(_.extracted_text_ref)??N_(_.extracted_text_uri)??N_(_.text_ref);if($)return $;let g=_4(_.content);return N_(g?.extracted_text_ref)??N_(g?.extracted_text_uri)??null}function lT(_){let $=N_(_.path);return N_(_.title)??N_(_.name)??($?xT($):null)}function tT(_){return N_(_.hash)??N_(_.checksum)??N_(_.sha256)??null}var lS=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 tS(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function LE(_){if(Array.isArray(_))return _.map((U)=>LE(U));let $=_4(_);if(!$)return _;let g={};for(let[U,D]of Object.entries($)){if(lS.has(tS(U)))continue;g[U]=LE(D)}return g}function oT(_,$,g){return N_(_.revision_id)??N_(_.revision)??N_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??g??N_(_.updated_at)??"current"}function pT(_,$){let g={};for(let[U,D]of Object.entries(_)){if(lS.has(tS(U)))continue;g[U]=q_(LE(D))}return g.source_ref=$.sourceRef,g.source_uri=$.sourceUri,g.status=$.status,g}function eT(_,$,g={}){let U=nT(_);s6(U,{allowFileSourceRefs:g.allowFileSourceRefs===!0});let D=A$(U),I=dT(U,D),j=tT(_),N=N_(_.status)??"active";return{raw:_,sourceRef:U,sourceUri:I,kind:D.kind,title:lT(_),revision:oT(_,D,j),hash:j,extractedTextUri:iT(_),text:mT(_),metadata:pT(_,{sourceRef:U,sourceUri:I,status:N}),acl:_.permissions??_.acl??{},status:N,updatedAt:N_(_.updated_at)??$}}function aT(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let g=JSON.parse($);if(!Array.isArray(g))throw Error("Manifest array parse failed.");return g.map((U)=>{let D=_4(U);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let g=JSON.parse($),U=_4(g);if(!U)throw Error("Manifest object parse failed.");if(Array.isArray(U.items))return U.items.map((D)=>{let I=_4(D);if(!I)throw Error("Manifest items entries must be objects.");return I});if("source_ref"in U||"source_uri"in U||"file_id"in U)return[U]}catch(g){let U=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(U.length<=1)throw g;return U.map((D)=>{let I=_4(JSON.parse(D));if(!I)throw Error("Manifest JSONL entries must be objects.");return I})}return $.split(/\r?\n/).filter((g)=>g.trim().length>0).map((g)=>{let U=_4(JSON.parse(g));if(!U)throw Error("Manifest JSONL entries must be objects.");return U})}async function sT(_,$,g){let U=new URL(_),D=U.hostname,I=decodeURIComponent(U.pathname.replace(/^\/+/,""));if(!D||!I)throw Error(`Invalid S3 manifest URI: ${_}`);if(g)q6(_,g);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),A=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,z=await new j({region:A?.region,credentials:A?.profile?O({profile:A.profile}):void 0,maxAttempts:A?.max_attempts}).send(new N({Bucket:D,Key:I}));if(!z.Body)return"";return await z.Body.transformToString()}async function _7(_,$,g,U=yT){let D=_.startsWith("s3://")?await sT(_,$,g):(()=>{if(!wT(_))throw Error(`Manifest not found: ${_}`);return uT(_,"utf8")})(),I=Buffer.byteLength(D);if(I>U)throw Error(`Manifest input is too large: ${I} bytes exceeds ${U} byte limit.`);return D}function $7(_,$,g){let U=_.replace(/\r\n/g,` + ORDER BY updated_at DESC LIMIT 1`).get($,g??null,g??null);return Boolean(U)}function xS(_,$,g,U){let D=g==="generated_write"&&$.approvals.generatedWritesRequireApproval,I=!D||TT(_,g,U);return{action:g,target_uri:U??null,approval_required:D,approved:I,decision:I?"allow":"requires_approval"}}import{createHash as qT}from"crypto";import{realpathSync as BT}from"fs";import{homedir as KT,tmpdir as VT}from"os";var a6=String.raw`[^\s"'<>),\]}]`,AE=String.raw`[^/\\\s"'<>]+`,cS=/file:\/\/[^\s"'<>),\]}]+/gi,FT=/\/[^\s"'<>),\]}]*\.hasna\/[^\s"'<>),\]}]*/g,nS=/(?:~|\/(?:home|Users)\/[^/\s"'<>]+)?\/?\.hasna(?:\/[^\s"'<>),\]}]*)?/gi,dS=new RegExp(String.raw`/(?:home|Users)/${AE}/(?:workspace|Workspace)/${a6}*`,"g"),MT=[new RegExp(String.raw`/(?:home|Users)/${AE}(?:/${a6}*)?`,"g"),new RegExp(String.raw`(?:/private)?/var/(?:folders|tmp)/${a6}+`,"g"),new RegExp(String.raw`(?:/private)?/tmp/${a6}+`,"g"),new RegExp(String.raw`(?),\]}]+)\b/gi,iS=/\b(?:postgres(?:ql)?|mysql|mariadb):\/\/[^\s"'<>),\]}]+/gi,ZT=new Set(["content_base64"]);function bT(_){return _.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function HT(_){return _.length>=4&&_!=="/"&&!/^[A-Za-z]:[\\/]?$/.test(_)}var yS=null,OE=[];function kT(){let _=new Set;for(let g of[KT(),VT()]){if(!g)continue;_.add(g);try{_.add(BT(g))}catch{}}let $=[..._].sort().join("\x00");if($===yS)return OE;return yS=$,OE=[..._].filter(HT).sort((g,U)=>U.length-g.length).map((g)=>new RegExp(`${bT(g)}(?:[/\\\\]${a6}*)?`,"g")),OE}function L$(_){return qT("sha256").update(_).digest("hex").slice(0,12)}function CT(_){return _.length<=80?_:`${_.slice(0,77)}...`}function hS(_){return/(?:^|\/)\.hasna(?:\/|$)/i.test(_)||/\b(?:knowledge\.db|db\.json|cloud\.env)\b/i.test(_)||/\bmigration-exports\//i.test(_)}function rT(_,$,g,U){for(let D of _.matchAll(cS)){let I=D[0];if(!g.allowFileSourceRefs||hS(I))U.push({type:hS(I)?"private_file_uri":"local_file_uri",severity:"high",path:$,preview:CT(I.replace(/^file:\/\/.*/,`[redacted:file-uri:${L$(I)}]`))})}for(let D of _.matchAll(nS))U.push({type:"private_hasna_path",severity:"high",path:$,preview:`[redacted:.hasna:${L$(D[0])}]`});for(let D of _.matchAll(mS))U.push({type:D[0].toLowerCase()==="cloud.env"?"workspace_env_file":"raw_database_or_export_ref",severity:"high",path:$,preview:`[redacted:${L$(D[0])}]`});for(let D of _.matchAll(iS))U.push({type:"database_url",severity:"high",path:$,preview:`[redacted:database-url:${L$(D[0])}]`});if(!g.allowPrivateWorkspaceRefs)for(let D of _.matchAll(dS))U.push({type:"private_workspace_path",severity:"medium",path:$,preview:`[redacted:workspace:${L$(D[0])}]`})}function vT(_,$={},g="$"){let U=[],D=(I,j)=>{if(typeof I==="string"){rT(I,j,$,U);return}if(!I||typeof I!=="object")return;if(Array.isArray(I)){I.forEach((N,O)=>D(N,`${j}[${O}]`));return}for(let[N,O]of Object.entries(I))D(O,`${j}.${N}`)};return D(_,g),U}function s6(_,$={}){let g=vT(_,$);if(g.length===0)return;let U=new Map;for(let I of g)U.set(I.type,(U.get(I.type)??0)+1);let D=[...U.entries()].map(([I,j])=>`${I}:${j}`).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 fT(_){let $=u_(_).text.replace(iS,(g)=>`[REDACTED:database-url:${L$(g)}]`).replace(cS,(g)=>`[REDACTED:local-file-uri:${L$(g)}]`).replace(FT,(g)=>`[REDACTED:local-hasna-path:${L$(g)}]`).replace(dS,(g)=>`[REDACTED:private-workspace:${L$(g)}]`);for(let g of[...kT(),...MT])$=$.replace(g,(U)=>`[REDACTED:local-path:${L$(U)}]`);return $.replace(nS,(g)=>`[REDACTED:hasna-path:${L$(g)}]`).replace(mS,(g)=>`[REDACTED:private-artifact:${L$(g)}]`)}function q_(_){if(typeof _==="string")return fT(_);if(!_||typeof _!=="object")return _;if(Array.isArray(_))return _.map((g)=>q_(g));let $={};for(let[g,U]of Object.entries(_))$[g]=ZT.has(g)?U:q_(U);return $}var hT=20971520,lS=1e4,cT=10;function JE(_,$){return`${_}_${wT("sha256").update($).digest("hex").slice(0,20)}`}function _4(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function N_(_){return typeof _==="string"&&_.length>0?_:void 0}function nT(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function dT(_){let $=N_(_.source_ref)??N_(_.source_uri)??N_(_.uri);if($)return $;let g=N_(_.file_id);if(g){let I=N_(_.revision_id)??N_(_.revision),j=`open-files://file/${encodeURIComponent(g)}`;return I?`${j}/revision/${encodeURIComponent(I)}`:j}let U=N_(_.source_id),D=N_(_.path);if(U&&D)return`open-files://source/${encodeURIComponent(U)}/path/${encodeURIComponent(D)}`;throw Error("Manifest item is missing source_ref, file_id, or source_id/path.")}function mT(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function iT(_){let $=N_(_.extracted_text)??N_(_.text)??N_(_.content_text)??N_(_.markdown);if($!==void 0)return $;let g=_.content;return typeof g==="string"?g:null}function lT(_){let $=N_(_.extracted_text_ref)??N_(_.extracted_text_uri)??N_(_.text_ref);if($)return $;let g=_4(_.content);return N_(g?.extracted_text_ref)??N_(g?.extracted_text_uri)??null}function tT(_){let $=N_(_.path);return N_(_.title)??N_(_.name)??($?yT($):null)}function oT(_){return N_(_.hash)??N_(_.checksum)??N_(_.sha256)??null}var tS=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 oS(_){return _.toLowerCase().replace(/[\s-]+/g,"_")}function LE(_){if(Array.isArray(_))return _.map((U)=>LE(U));let $=_4(_);if(!$)return _;let g={};for(let[U,D]of Object.entries($)){if(tS.has(oS(U)))continue;g[U]=LE(D)}return g}function pT(_,$,g){return N_(_.revision_id)??N_(_.revision)??N_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??g??N_(_.updated_at)??"current"}function eT(_,$){let g={};for(let[U,D]of Object.entries(_)){if(tS.has(oS(U)))continue;g[U]=q_(LE(D))}return g.source_ref=$.sourceRef,g.source_uri=$.sourceUri,g.status=$.status,g}function aT(_,$,g={}){let U=dT(_);s6(U,{allowFileSourceRefs:g.allowFileSourceRefs===!0});let D=A$(U),I=mT(U,D),j=oT(_),N=N_(_.status)??"active";return{raw:_,sourceRef:U,sourceUri:I,kind:D.kind,title:tT(_),revision:pT(_,D,j),hash:j,extractedTextUri:lT(_),text:iT(_),metadata:eT(_,{sourceRef:U,sourceUri:I,status:N}),acl:_.permissions??_.acl??{},status:N,updatedAt:N_(_.updated_at)??$}}function sT(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let g=JSON.parse($);if(!Array.isArray(g))throw Error("Manifest array parse failed.");return g.map((U)=>{let D=_4(U);if(!D)throw Error("Manifest array entries must be objects.");return D})}if($.startsWith("{"))try{let g=JSON.parse($),U=_4(g);if(!U)throw Error("Manifest object parse failed.");if(Array.isArray(U.items))return U.items.map((D)=>{let I=_4(D);if(!I)throw Error("Manifest items entries must be objects.");return I});if("source_ref"in U||"source_uri"in U||"file_id"in U)return[U]}catch(g){let U=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(U.length<=1)throw g;return U.map((D)=>{let I=_4(JSON.parse(D));if(!I)throw Error("Manifest JSONL entries must be objects.");return I})}return $.split(/\r?\n/).filter((g)=>g.trim().length>0).map((g)=>{let U=_4(JSON.parse(g));if(!U)throw Error("Manifest JSONL entries must be objects.");return U})}async function _7(_,$,g){let U=new URL(_),D=U.hostname,I=decodeURIComponent(U.pathname.replace(/^\/+/,""));if(!D||!I)throw Error(`Invalid S3 manifest URI: ${_}`);if(g)q6(_,g);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),A=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,z=await new j({region:A?.region,credentials:A?.profile?O({profile:A.profile}):void 0,maxAttempts:A?.max_attempts}).send(new N({Bucket:D,Key:I}));if(!z.Body)return"";return await z.Body.transformToString()}async function $7(_,$,g,U=hT){let D=_.startsWith("s3://")?await _7(_,$,g):(()=>{if(!uT(_))throw Error(`Manifest not found: ${_}`);return xT(_,"utf8")})(),I=Buffer.byteLength(D);if(I>U)throw Error(`Manifest input is too large: ${I} bytes exceeds ${U} byte limit.`);return D}function g7(_,$,g){let U=_.replace(/\r\n/g,` `);if(!U.trim())return[];let D=[],I=0;while(II+Math.floor($*0.5))N=z+(z===A?2:1)}let O=U.slice(I,N).trim();if(O)D.push({ordinal:D.length,text:O,startOffset:I,endOffset:N});if(N>=U.length)break;I=Math.max(0,N-g)}return D}function g7(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function D7(_,$){let g=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($);for(let U of g)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[U.id]);return _.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]),g.length}function U7(_,$,g){let U=JE("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`,j),L=U.lastIndexOf(". ",j),z=Math.max(A,L);if(z>I+Math.floor($*0.5))N=z+(z===A?2:1)}let O=U.slice(I,N).trim();if(O)D.push({ordinal:D.length,text:O,startOffset:I,endOffset:N});if(N>=U.length)break;I=Math.max(0,N-g)}return D}function D7(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function U7(_,$){let g=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($);for(let U of g)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[U.id]);return _.run("DELETE FROM chunks WHERE source_revision_id = ?",[$]),g.length}function I7(_,$,g){let U=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 = excluded.title, metadata_json = excluded.metadata_json, acl_json = excluded.acl_json, - updated_at = excluded.updated_at`,[U,$.sourceUri,$.kind,$.title,JSON.stringify($.metadata),JSON.stringify($.acl??{}),g,$.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 I7(_,$,g,U){let D=JE("rev",`${$}\x00${g.revision}`);_.run(`INSERT INTO source_revisions (id, source_id, revision, hash, extracted_text_uri, metadata_json, created_at) + updated_at = excluded.updated_at`,[U,$.sourceUri,$.kind,$.title,JSON.stringify($.metadata),JSON.stringify($.acl??{}),g,$.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 j7(_,$,g,U){let D=JE("rev",`${$}\x00${g.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,$,g.revision,g.hash,g.extractedTextUri,JSON.stringify(g.metadata),U]);let I=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,g.revision);if(!I)throw Error(`Failed to upsert source revision: ${g.sourceRef}`);return I.id}function j7(_,$,g,U,D,I,j){if(!g.text||g.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let N=u_(g.text,j);if(N.findings.length>0)P0(_,{source_uri:g.sourceUri,findings:N.findings,metadata:{source_ref:g.sourceRef,revision:g.revision},created_at:U}),X_(_,{event_type:"redaction",action:"source_text_redact",target_uri:g.sourceUri,decision:"redacted",metadata:{findings:N.findings.length,source_ref:g.sourceRef,revision:g.revision},created_at:U});let O=$7(N.text,D,I);for(let A of O){let L=JE("chk",`${$}\x00${A.ordinal}\x00${A.text}`),z=T6({source_ref:g.sourceRef,source_uri:g.sourceUri,source_kind:g.kind,source_revision_id:$,revision:g.revision,hash:g.hash,chunk_id:L,start_offset:A.startOffset,end_offset:A.endOffset,status:g.status,resolver:"open-files-read-only"}),W=bS({source_ref:g.sourceRef,source_uri:g.sourceUri,source_kind:g.kind,source_revision_id:$,revision:g.revision,hash:g.hash,status:g.status,path:N_(g.raw.path)??null,mime:N_(g.raw.mime)??N_(g.raw.content_type)??null,size:cT(g.raw.size)??null},z);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,$,"source",A.ordinal,A.text,g7(A.text),A.startOffset,A.endOffset,JSON.stringify(W),U]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[L,A.text,g.title??"",g.sourceUri])}return{chunksInserted:O.length,redactions:N.findings.length}}async function oS(_){let $=_.now??new Date;if(_.safetyPolicy)_6(_.dbPath,_.safetyPolicy);h(_.dbPath);let g=await _7(_.input,_.config,_.safetyPolicy,_.maxInputBytes),U=aT(g),D=_.maxItems??iS;if(U.length>D)throw Error(`Manifest contains too many items: ${U.length} exceeds ${D} item limit.`);return $4({dbPath:_.dbPath,items:U,sourceLabel:_.input,allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:_.safetyPolicy,now:$,maxChunkChars:_.maxChunkChars,chunkOverlapChars:_.chunkOverlapChars,maxItems:_.maxItems})}async function $4(_){let $=(_.now??new Date).toISOString(),g=_.maxChunkChars??4000,U=_.chunkOverlapChars??200,D=_.maxItems??iS;if(g<500)throw Error("maxChunkChars must be at least 500.");if(U<0||U>=g)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)_6(_.dbPath,_.safetyPolicy);h(_.dbPath);let I=v(_.dbPath);try{return I.transaction(()=>{let N=new Set,O=new Set,A=0,L=0,z=0,W=0,J=[];X_(I,{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 P of _.items){let S=eT(P,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(J.length0)return U}return null}function pS(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return null}function N7(_,$){let g=_.mode;if(typeof g==="string"&&g!=="read_only")throw Error(`Source resolver denied ${$}. Permission mode is ${g}, expected read_only.`);let U=_.denied_purposes;if(Array.isArray(U)&&U.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 E7(_,$,g){if(!$)return g;try{let U=A$(_);if(U.kind==="open-files"&&U.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return g}return g}function O7(_,$,g){return _.query(`SELECT id, uri, kind, title, metadata_json, acl_json, updated_at + metadata_json = excluded.metadata_json`,[D,$,g.revision,g.hash,g.extractedTextUri,JSON.stringify(g.metadata),U]);let I=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,g.revision);if(!I)throw Error(`Failed to upsert source revision: ${g.sourceRef}`);return I.id}function N7(_,$,g,U,D,I,j){if(!g.text||g.status.toLowerCase()==="deleted")return{chunksInserted:0,redactions:0};let N=u_(g.text,j);if(N.findings.length>0)P0(_,{source_uri:g.sourceUri,findings:N.findings,metadata:{source_ref:g.sourceRef,revision:g.revision},created_at:U}),X_(_,{event_type:"redaction",action:"source_text_redact",target_uri:g.sourceUri,decision:"redacted",metadata:{findings:N.findings.length,source_ref:g.sourceRef,revision:g.revision},created_at:U});let O=g7(N.text,D,I);for(let A of O){let L=JE("chk",`${$}\x00${A.ordinal}\x00${A.text}`),z=T6({source_ref:g.sourceRef,source_uri:g.sourceUri,source_kind:g.kind,source_revision_id:$,revision:g.revision,hash:g.hash,chunk_id:L,start_offset:A.startOffset,end_offset:A.endOffset,status:g.status,resolver:"open-files-read-only"}),W=HS({source_ref:g.sourceRef,source_uri:g.sourceUri,source_kind:g.kind,source_revision_id:$,revision:g.revision,hash:g.hash,status:g.status,path:N_(g.raw.path)??null,mime:N_(g.raw.mime)??N_(g.raw.content_type)??null,size:nT(g.raw.size)??null},z);_.run(`INSERT INTO chunks (id, source_revision_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,$,"source",A.ordinal,A.text,D7(A.text),A.startOffset,A.endOffset,JSON.stringify(W),U]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[L,A.text,g.title??"",g.sourceUri])}return{chunksInserted:O.length,redactions:N.findings.length}}async function pS(_){let $=_.now??new Date;if(_.safetyPolicy)_6(_.dbPath,_.safetyPolicy);h(_.dbPath);let g=await $7(_.input,_.config,_.safetyPolicy,_.maxInputBytes),U=sT(g),D=_.maxItems??lS;if(U.length>D)throw Error(`Manifest contains too many items: ${U.length} exceeds ${D} item limit.`);return $4({dbPath:_.dbPath,items:U,sourceLabel:_.input,allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")===!0,safetyPolicy:_.safetyPolicy,now:$,maxChunkChars:_.maxChunkChars,chunkOverlapChars:_.chunkOverlapChars,maxItems:_.maxItems})}async function $4(_){let $=(_.now??new Date).toISOString(),g=_.maxChunkChars??4000,U=_.chunkOverlapChars??200,D=_.maxItems??lS;if(g<500)throw Error("maxChunkChars must be at least 500.");if(U<0||U>=g)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)_6(_.dbPath,_.safetyPolicy);h(_.dbPath);let I=v(_.dbPath);try{return I.transaction(()=>{let N=new Set,O=new Set,A=0,L=0,z=0,W=0,J=[];X_(I,{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 P of _.items){let S=aT(P,$,{allowFileSourceRefs:_.allowFileSourceRefs});if(J.length0)return U}return null}function eS(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return null}function E7(_,$){let g=_.mode;if(typeof g==="string"&&g!=="read_only")throw Error(`Source resolver denied ${$}. Permission mode is ${g}, expected read_only.`);let U=_.denied_purposes;if(Array.isArray(U)&&U.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 O7(_,$,g){if(!$)return g;try{let U=A$(_);if(U.kind==="open-files"&&U.entity==="file")return`${_}/revision/${encodeURIComponent($.revision)}`}catch{return g}return g}function A7(_,$,g){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($,g,$)??null}function A7(_,$,g){if(g)return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at + LIMIT 1`).get($,g,$)??null}function L7(_,$,g){if(g)return _.query(`SELECT id, revision, hash, extracted_text_uri, metadata_json, created_at FROM source_revisions WHERE source_id = ? AND revision = ? LIMIT 1`).get($,g)??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 L7(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function J7(_,$,g){if(!$||g<=0)return[];return _.query(`SELECT id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json + LIMIT 1`).get($)??null}function J7(_,$){if(!$)return 0;return _.query("SELECT COUNT(*) AS n FROM chunks WHERE source_revision_id = ?").get($)?.n??0}function P7(_,$,g){if(!$||g<=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($,g)}async function lU(_){let $=_.purpose??"knowledge_answer",g=Math.max(0,Math.min(_.limit??10,100)),U=(_.now??new Date).toISOString(),D=A$(_.sourceRef),I=kS(_.sourceRef,D),j=CS(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");_6(_.dbPath,_.safetyPolicy)}h(_.dbPath);let N=v(_.dbPath);try{return N.transaction(()=>{let O=O7(N,I,_.sourceRef);if(!O)return X_(N,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:I},created_at:U}),{source_ref:_.sourceRef,source_uri:I,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 A=iU(O.metadata_json),L=iU(O.acl_json);try{N7(L,$)}catch(Q){throw X_(N,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:O.uri,error:Q instanceof Error?Q.message:String(Q)},created_at:U}),Q}let z=A7(N,O.id,j),W=iU(z?.metadata_json),J=L7(N,z?.id??null),P=J7(N,z?.id??null,g),S=E7(O.uri,z,_.sourceRef),X=P.map((Q)=>{let T=iU(Q.metadata_json),q={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:g4(T,["source_ref"])??S,source_uri:O.uri,source_revision_id:z?.id??null,revision:z?.revision??null,hash:z?.hash??g4(T,["hash"]),chunk_id:Q.id,start_offset:Q.start_offset,end_offset:Q.end_offset,resolved_at:U},V=T6({source_ref:q.source_ref,source_uri:q.source_uri,source_kind:O.kind,source_revision_id:q.source_revision_id,revision:q.revision,hash:q.hash,chunk_id:Q.id,start_offset:Q.start_offset,end_offset:Q.end_offset,status:g4(T,["status"]),resolver:q.resolver});return{id:Q.id,kind:Q.kind,ordinal:Q.ordinal,text:Q.text,token_count:Q.token_count,start_offset:Q.start_offset,end_offset:Q.end_offset,metadata:T,evidence:q,provenance:V}}),G=X.map((Q)=>({source_ref:Q.evidence.source_ref,source_uri:O.uri,chunk_id:Q.id,quote:Q.text.slice(0,500),start_offset:Q.start_offset,end_offset:Q.end_offset,evidence:Q.evidence,provenance:Q.provenance}));X_(N,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:O.uri,revision:z?.revision??null,chunks_returned:X.length,chunks_total:J},created_at:U});let R=g4(A,["mime","content_type"])??g4(W,["mime","content_type"]),K=pS(A,["size","size_bytes"])??pS(W,["size","size_bytes"]);return{source_ref:S,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:A,permissions:L,updated_at:O.updated_at},revision:z?{id:z.id,revision:z.revision,hash:z.hash,extracted_text_uri:z.extracted_text_uri,metadata:W,created_at:z.created_at,reindex_required:W.reindex_required===!0}:null,content:{mime:R,size:K,hash:z?.hash??g4(A,["hash","checksum","sha256"]),text_available:J>0,chunks_total:J,chunks_returned:X.length,char_count_returned:X.reduce((Q,T)=>Q+T.text.length,0),extracted_text_ref:z?.extracted_text_uri??g4(W,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:X,citations:G}})()}finally{N.close()}}function z0(_){return`sha256:${P7("sha256").update(_).digest("hex")}`}function W7(_){return _.replace(//gi," ").replace(//gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/\s+\n/g,` + LIMIT ?`).all($,g)}async function lU(_){let $=_.purpose??"knowledge_answer",g=Math.max(0,Math.min(_.limit??10,100)),U=(_.now??new Date).toISOString(),D=A$(_.sourceRef),I=CS(_.sourceRef,D),j=rS(_.sourceRef);if(_.safetyPolicy){if(!_.safetyPolicy.readOnlySourceAccess)throw Error("Safety policy denied source resolution.");_6(_.dbPath,_.safetyPolicy)}h(_.dbPath);let N=v(_.dbPath);try{return N.transaction(()=>{let O=A7(N,I,_.sourceRef);if(!O)return X_(N,{event_type:"source_read",action:"open_files_resolve_missing",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:I},created_at:U}),{source_ref:_.sourceRef,source_uri:I,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 A=iU(O.metadata_json),L=iU(O.acl_json);try{E7(L,$)}catch(Q){throw X_(N,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"deny",metadata:{purpose:$,read_only:!0,source_uri:O.uri,error:Q instanceof Error?Q.message:String(Q)},created_at:U}),Q}let z=L7(N,O.id,j),W=iU(z?.metadata_json),J=J7(N,z?.id??null),P=P7(N,z?.id??null,g),S=O7(O.uri,z,_.sourceRef),X=P.map((Q)=>{let T=iU(Q.metadata_json),q={resolver:"open-files-read-only",mode:"local_catalog",purpose:$,read_only:!0,source_ref:g4(T,["source_ref"])??S,source_uri:O.uri,source_revision_id:z?.id??null,revision:z?.revision??null,hash:z?.hash??g4(T,["hash"]),chunk_id:Q.id,start_offset:Q.start_offset,end_offset:Q.end_offset,resolved_at:U},V=T6({source_ref:q.source_ref,source_uri:q.source_uri,source_kind:O.kind,source_revision_id:q.source_revision_id,revision:q.revision,hash:q.hash,chunk_id:Q.id,start_offset:Q.start_offset,end_offset:Q.end_offset,status:g4(T,["status"]),resolver:q.resolver});return{id:Q.id,kind:Q.kind,ordinal:Q.ordinal,text:Q.text,token_count:Q.token_count,start_offset:Q.start_offset,end_offset:Q.end_offset,metadata:T,evidence:q,provenance:V}}),G=X.map((Q)=>({source_ref:Q.evidence.source_ref,source_uri:O.uri,chunk_id:Q.id,quote:Q.text.slice(0,500),start_offset:Q.start_offset,end_offset:Q.end_offset,evidence:Q.evidence,provenance:Q.provenance}));X_(N,{event_type:"source_read",action:"open_files_resolve",target_uri:_.sourceRef,decision:"allow",metadata:{purpose:$,read_only:!0,source_uri:O.uri,revision:z?.revision??null,chunks_returned:X.length,chunks_total:J},created_at:U});let R=g4(A,["mime","content_type"])??g4(W,["mime","content_type"]),K=eS(A,["size","size_bytes"])??eS(W,["size","size_bytes"]);return{source_ref:S,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:A,permissions:L,updated_at:O.updated_at},revision:z?{id:z.id,revision:z.revision,hash:z.hash,extracted_text_uri:z.extracted_text_uri,metadata:W,created_at:z.created_at,reindex_required:W.reindex_required===!0}:null,content:{mime:R,size:K,hash:z?.hash??g4(A,["hash","checksum","sha256"]),text_available:J>0,chunks_total:J,chunks_returned:X.length,char_count_returned:X.reduce((Q,T)=>Q+T.text.length,0),extracted_text_ref:z?.extracted_text_uri??g4(W,["extracted_text_ref","extracted_text_uri"]),bytes_available:!1,bytes_exposed:!1},chunks:X,citations:G}})()}finally{N.close()}}function z0(_){return`sha256:${z7("sha256").update(_).digest("hex")}`}function X7(_){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 X7(_,$,g){let U=new URL(_),D=U.hostname,I=decodeURIComponent(U.pathname.replace(/^\/+/,""));if(!D||!I)throw Error(`Invalid S3 source URI: ${_}`);if(g)q6(_,g);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),A=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,z=await new j({region:A?.region,credentials:A?.profile?O({profile:A.profile}):void 0,maxAttempts:A?.max_attempts}).send(new N({Bucket:D,Key:I}));if(!z.Body)return"";return await z.Body.transformToString()}async function R7(_,$){if($)J0($);let g=await vU(_,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!g.ok)throw Error(`Web source read failed ${g.status}: ${_}`);let U=g.headers.get("content-type"),D=await g.text();return{text:U?.includes("html")?W7(D):D,mime:U}}function oU(_){if(_.kind==="file")return tU(_.path);if(_.kind==="s3")return tU(_.key);if(_.kind==="web")return tU(new URL(_.url).pathname)||_.url;return _.path?tU(_.path):_.id}async function eS(_,$,g){if(_.kind==="file"){if(!z7(_.path))throw Error(`Source file not found: ${_.path}`);let U=S7(_.path,"utf8");return{text:U,contentSource:"file",title:oU(_),mime:"text/plain",size:U.length,hash:z0(U),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let U=await X7(_.uri,$,g);return{text:U,contentSource:"s3",title:oU(_),mime:"text/plain",size:U.length,hash:z0(U),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let U=await R7(_.url,g);return{text:U.text,contentSource:"web",title:oU(_),mime:U.mime,size:U.text.length,hash:z0(U.text),revision:null,extractedTextRef:null,metadata:{url:_.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${_.uri}`)}async function G7(_,$,g){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 U=A$(_);return{text:(await eS(U,$,g)).text,contentSource:"extracted_text_ref"}}async function Y7(_){let $=await lU({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 U=await G7($.revision.extracted_text_uri,_.config,_.safetyPolicy);return{text:U.text,contentSource:U.contentSource,title:$.source?.title??null,mime:$.content.mime,size:U.text.length,hash:$.revision.hash??z0(U.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 g=$.chunks.map((U)=>U.text).join(` +`).replace(/[ \t]{2,}/g," ").trim()}async function R7(_,$,g){let U=new URL(_),D=U.hostname,I=decodeURIComponent(U.pathname.replace(/^\/+/,""));if(!D||!I)throw Error(`Invalid S3 source URI: ${_}`);if(g)q6(_,g);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),A=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,z=await new j({region:A?.region,credentials:A?.profile?O({profile:A.profile}):void 0,maxAttempts:A?.max_attempts}).send(new N({Bucket:D,Key:I}));if(!z.Body)return"";return await z.Body.transformToString()}async function G7(_,$){if($)J0($);let g=await vU(_,{headers:{accept:"text/markdown,text/plain,text/html,application/json;q=0.8,*/*;q=0.5","user-agent":"@hasna/knowledge source-ingest"}});if(!g.ok)throw Error(`Web source read failed ${g.status}: ${_}`);let U=g.headers.get("content-type"),D=await g.text();return{text:U?.includes("html")?X7(D):D,mime:U}}function oU(_){if(_.kind==="file")return tU(_.path);if(_.kind==="s3")return tU(_.key);if(_.kind==="web")return tU(new URL(_.url).pathname)||_.url;return _.path?tU(_.path):_.id}async function aS(_,$,g){if(_.kind==="file"){if(!S7(_.path))throw Error(`Source file not found: ${_.path}`);let U=W7(_.path,"utf8");return{text:U,contentSource:"file",title:oU(_),mime:"text/plain",size:U.length,hash:z0(U),revision:null,extractedTextRef:null,metadata:{path:_.path},permissions:{mode:"read_only"}}}if(_.kind==="s3"){let U=await R7(_.uri,$,g);return{text:U,contentSource:"s3",title:oU(_),mime:"text/plain",size:U.length,hash:z0(U),revision:null,extractedTextRef:null,metadata:{bucket:_.bucket,key:_.key},permissions:{mode:"read_only"}}}if(_.kind==="web"){let U=await G7(_.url,g);return{text:U.text,contentSource:"web",title:oU(_),mime:U.mime,size:U.text.length,hash:z0(U.text),revision:null,extractedTextRef:null,metadata:{url:_.url},permissions:{mode:"read_only"}}}throw Error(`Direct source reading is not available for ${_.uri}`)}async function Y7(_,$,g){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 U=A$(_);return{text:(await aS(U,$,g)).text,contentSource:"extracted_text_ref"}}async function Q7(_){let $=await lU({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 U=await Y7($.revision.extracted_text_uri,_.config,_.safetyPolicy);return{text:U.text,contentSource:U.contentSource,title:$.source?.title??null,mime:$.content.mime,size:U.text.length,hash:$.revision.hash??z0(U.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 g=$.chunks.map((U)=>U.text).join(` -`);return{text:g,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:g.length,hash:$.revision?.hash??z0(g),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function Q7(_,$,g,U){let D=g.hash??z0(g.text),I={...q_(g.metadata),source_ref:_,content_source:g.contentSource,read_only:!0},j={source_ref:_,name:g.title??oU($),mime:g.mime??"text/plain",size:g.size??g.text.length,hash:D,revision:g.revision??D,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[U],...g.permissions},metadata:I,extracted_text_ref:g.extractedTextRef,extracted_text:g.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 pU(_){let $=_.purpose??"knowledge_index";s6(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let g=A$(_.sourceRef),U=g.kind==="open-files"?await Y7(_):await eS(g,_.config,_.safetyPolicy),D=Q7(_.sourceRef,g,U,$);return{...await $4({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:U.contentSource,read_only:!0,hash:String(D.hash)}}function eU(_,$){return`${_}_${T7("sha256").update($).digest("hex").slice(0,20)}`}function B7(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function PE(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function K7(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function aS(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function V7(_){let $=_.path?.trim()||`wiki/notes/${B7(_.title)}.md`,g=$.replace(/\\/g,"/");if(!g.startsWith("wiki/notes/")||!g.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(g.startsWith("/")||g.split("/").some((U)=>U===".."||U==="."))throw Error(`Invalid app wiki note path: ${$}`);return g}function F7(_){let $=[`# ${_.title}`,"",_.content.trim(),"",`Updated: ${_.now}`];if(_.tags.length>0)$.push("","Tags:",..._.tags.map((g)=>`- ${g}`));if(_.sourceRefs.length>0)$.push("","Source refs:",..._.sourceRefs.map((g)=>`- ${g}`));return $.push(""),$.join(` -`)}async function sS(_,$){let g=await _.put($);return{key:g.key,uri:g.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:g.modified_at,...L0($.body),metadata:{...$.metadata??{}}}}async function M7(_,$,g){let U=String(g.getUTCFullYear()),D=String(g.getUTCMonth()+1).padStart(2,"0"),I=String(g.getUTCDate()).padStart(2,"0"),j=`logs/${U}/${D}/${I}.jsonl`,N="";try{N=await _.getText(j)}catch{N=""}return sS(_,{key:j,body:`${N}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:U$({generated_from:String($.event??"app_wiki_log"),artifact_key:j})}})}function Z7(_){return{...q_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function zE(_){let $=PE(_.metadata_json);return{id:_.id,path:_.path,title:_.title,artifact_uri:_.artifact_uri,content_hash:_.content_hash,tags:Array.isArray($.tags)?$.tags.filter((g)=>typeof g==="string"):[],source_refs:Array.isArray($.source_refs)?$.source_refs.filter((g)=>typeof g==="string"):[],created_at:_.created_at,updated_at:_.updated_at}}function b7(_,$){return $.map((g)=>{let U=_.query(`SELECT +`);return{text:g,contentSource:"catalog_chunks",title:$.source?.title??null,mime:$.content.mime,size:g.length,hash:$.revision?.hash??z0(g),revision:$.revision?.revision??null,extractedTextRef:$.revision?.extracted_text_uri??null,metadata:$.source?.metadata??{},permissions:$.source?.permissions??{mode:"read_only"}}}function T7(_,$,g,U){let D=g.hash??z0(g.text),I={...q_(g.metadata),source_ref:_,content_source:g.contentSource,read_only:!0},j={source_ref:_,name:g.title??oU($),mime:g.mime??"text/plain",size:g.size??g.text.length,hash:D,revision:g.revision??D,status:"active",updated_at:new Date().toISOString(),permissions:{mode:"read_only",allowed_purposes:[U],...g.permissions},metadata:I,extracted_text_ref:g.extractedTextRef,extracted_text:g.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 pU(_){let $=_.purpose??"knowledge_index";s6(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1});let g=A$(_.sourceRef),U=g.kind==="open-files"?await Q7(_):await aS(g,_.config,_.safetyPolicy),D=T7(_.sourceRef,g,U,$);return{...await $4({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:U.contentSource,read_only:!0,hash:String(D.hash)}}function eU(_,$){return`${_}_${q7("sha256").update($).digest("hex").slice(0,20)}`}function K7(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"note"}function PE(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function V7(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function sS(_){return Array.from(new Set((_??[]).map(($)=>$.trim()).filter(Boolean)))}function F7(_){let $=_.path?.trim()||`wiki/notes/${K7(_.title)}.md`,g=$.replace(/\\/g,"/");if(!g.startsWith("wiki/notes/")||!g.endsWith(".md"))throw Error("App wiki note paths must be relative wiki/notes/*.md artifact keys.");if(g.startsWith("/")||g.split("/").some((U)=>U===".."||U==="."))throw Error(`Invalid app wiki note path: ${$}`);return g}function M7(_){let $=[`# ${_.title}`,"",_.content.trim(),"",`Updated: ${_.now}`];if(_.tags.length>0)$.push("","Tags:",..._.tags.map((g)=>`- ${g}`));if(_.sourceRefs.length>0)$.push("","Source refs:",..._.sourceRefs.map((g)=>`- ${g}`));return $.push(""),$.join(` +`)}async function _W(_,$){let g=await _.put($);return{key:g.key,uri:g.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:g.modified_at,...L0($.body),metadata:{...$.metadata??{}}}}async function Z7(_,$,g){let U=String(g.getUTCFullYear()),D=String(g.getUTCMonth()+1).padStart(2,"0"),I=String(g.getUTCDate()).padStart(2,"0"),j=`logs/${U}/${D}/${I}.jsonl`,N="";try{N=await _.getText(j)}catch{N=""}return _W(_,{key:j,body:`${N}${JSON.stringify($)} +`,content_type:"application/x-ndjson",metadata:{provenance:U$({generated_from:String($.event??"app_wiki_log"),artifact_key:j})}})}function b7(_){return{...q_(_.metadata??{}),app_wiki:!0,note:!0,artifact_key:_.path,tags:_.tags,source_refs:_.sourceRefs,provenance:_.provenance}}function zE(_){let $=PE(_.metadata_json);return{id:_.id,path:_.path,title:_.title,artifact_uri:_.artifact_uri,content_hash:_.content_hash,tags:Array.isArray($.tags)?$.tags.filter((g)=>typeof g==="string"):[],source_refs:Array.isArray($.source_refs)?$.source_refs.filter((g)=>typeof g==="string"):[],created_at:_.created_at,updated_at:_.updated_at}}function H7(_,$){return $.map((g)=>{let U=_.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(g,`%${g}%`),D=PE(U?.metadata_json);return{source_ref:g,source_uri:U?.source_uri??g,chunk_id:U?.chunk_id??null,quote:U?.text?U.text.replace(/\s+/g," ").slice(0,240):null,start_offset:U?.start_offset??null,end_offset:U?.end_offset??null,metadata:{source_ref:g,revision:U?.revision??D.revision,hash:U?.hash??D.hash}}})}function H7(_,$,g,U){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=b7(_,g);for(let I of D)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[eU("cit",`${$}\x00${I.source_uri}\x00${I.chunk_id??q7()}`),$,I.chunk_id,I.source_uri,I.quote,I.start_offset,I.end_offset,JSON.stringify(I.metadata),U]);return D.length}function k7(_,$){_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + LIMIT 1`).get(g,`%${g}%`),D=PE(U?.metadata_json);return{source_ref:g,source_uri:U?.source_uri??g,chunk_id:U?.chunk_id??null,quote:U?.text?U.text.replace(/\s+/g," ").slice(0,240):null,start_offset:U?.start_offset??null,end_offset:U?.end_offset??null,metadata:{source_ref:g,revision:U?.revision??D.revision,hash:U?.hash??D.hash}}})}function k7(_,$,g,U){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);let D=H7(_,g);for(let I of D)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[eU("cit",`${$}\x00${I.source_uri}\x00${I.chunk_id??B7()}`),$,I.chunk_id,I.source_uri,I.quote,I.start_offset,I.end_offset,JSON.stringify(I.metadata),U]);return D.length}function C7(_,$){_.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`,[eU("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 C7(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[eU("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 r7(_,$){_.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, @@ -661,21 +661,21 @@ VALUES (10, datetime('now')); 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 g=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of g)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let U=eU("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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.pageId,"wiki",0,$.body,K7($.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 (?, ?, ?, ?)",[U,$.body,$.title,$.artifactUri])}function wg(_){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)_6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function _W(_){wg(_);let $=h(_.workspace.knowledgeDbPath),g=v(_.workspace.knowledgeDbPath);try{X_(g,{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{g.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 $W(_){wg(_);let $=_.now??new Date,g=$.toISOString(),U=aS(_.tags),D=aS(_.sourceRefs);for(let z of D)s6(z,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let I=V7(_),j=F7({title:_.title,content:_.content,tags:U,sourceRefs:D,now:g}),N=U$({generated_from:"app_wiki_note",artifact_key:I,source_refs:D}),O=await sS(_.store,{key:I,body:j,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:N,scope:_.scope,tags:U.join(","),source_refs:D.join(",")}}),A=await M7(_.store,{ts:g,event:"app_wiki_note_written",page_key:I,source_refs:D,tags:U},$);h(_.workspace.knowledgeDbPath);let L=v(_.workspace.knowledgeDbPath);try{let z=eU("wiki",I),W=Z7({path:I,tags:U,sourceRefs:D,provenance:N,metadata:_.metadata});s$(L,[O,A],$),C7(L,{pageId:z,path:I,title:_.title,artifactUri:O.uri,contentHash:O.hash??"",body:j,metadata:W,now:g});let J=H7(L,z,D,g);k7(L,{title:_.title,path:I,artifactUri:O.uri,contentHash:O.hash??"",tags:U,sourceRefs:D,now:g}),X_(L,{event_type:"write",action:"app_wiki_note_write",target_uri:O.uri,decision:"allow",metadata:{scope:_.scope,path:I,source_refs:D,tags:U},created_at:g});let P=L.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(z);if(!P)throw Error(`Failed to write app wiki note: ${I}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:zE(P),artifact_uri:O.uri,content_hash:O.hash??"",citations_written:J,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${I}`}}finally{L.close()}}function gW(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];h(_.dbPath);let g=v(_.dbPath);try{return g.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.pageId,"wiki",0,$.body,V7($.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 (?, ?, ?, ?)",[U,$.body,$.title,$.artifactUri])}function wg(_){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)_6(_.workspace.knowledgeDbPath,_.safetyPolicy)}async function $W(_){wg(_);let $=h(_.workspace.knowledgeDbPath),g=v(_.workspace.knowledgeDbPath);try{X_(g,{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{g.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 gW(_){wg(_);let $=_.now??new Date,g=$.toISOString(),U=sS(_.tags),D=sS(_.sourceRefs);for(let z of D)s6(z,{allowFileSourceRefs:_.safetyPolicy?.readOnlySourceAccess===!0});let I=F7(_),j=M7({title:_.title,content:_.content,tags:U,sourceRefs:D,now:g}),N=U$({generated_from:"app_wiki_note",artifact_key:I,source_refs:D}),O=await _W(_.store,{key:I,body:j,content_type:"text/markdown",metadata:{generated_from:"app_wiki_note",provenance:N,scope:_.scope,tags:U.join(","),source_refs:D.join(",")}}),A=await Z7(_.store,{ts:g,event:"app_wiki_note_written",page_key:I,source_refs:D,tags:U},$);h(_.workspace.knowledgeDbPath);let L=v(_.workspace.knowledgeDbPath);try{let z=eU("wiki",I),W=b7({path:I,tags:U,sourceRefs:D,provenance:N,metadata:_.metadata});s$(L,[O,A],$),r7(L,{pageId:z,path:I,title:_.title,artifactUri:O.uri,contentHash:O.hash??"",body:j,metadata:W,now:g});let J=k7(L,z,D,g);C7(L,{title:_.title,path:I,artifactUri:O.uri,contentHash:O.hash??"",tags:U,sourceRefs:D,now:g}),X_(L,{event_type:"write",action:"app_wiki_note_write",target_uri:O.uri,decision:"allow",metadata:{scope:_.scope,path:I,source_refs:D,tags:U},created_at:g});let P=L.query("SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at FROM wiki_pages WHERE id = ?").get(z);if(!P)throw Error(`Failed to write app wiki note: ${I}`);return{ok:!0,scope:_.scope,workspace_home:_.workspace.home,note:zE(P),artifact_uri:O.uri,content_hash:O.hash??"",citations_written:J,chunks_written:1,storage_objects_written:2,message:`Wrote app wiki note ${I}`}}finally{L.close()}}function DW(_){let $=Math.max(1,Math.min(_.limit??50,200));if(!_.dbPath)return[];h(_.dbPath);let g=v(_.dbPath);try{return g.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(zE)}finally{g.close()}}async function DW(_){h(_.dbPath);let $=v(_.dbPath);try{let g=$.query(`SELECT id, path, title, artifact_uri, content_hash, metadata_json, created_at, updated_at + LIMIT ?`).all($).map(zE)}finally{g.close()}}async function UW(_){h(_.dbPath);let $=v(_.dbPath);try{let g=$.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(!g)return null;let U=$.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(g.id).map((I)=>({...I,metadata:PE(I.metadata_json),metadata_json:void 0})),D=null;if(_.includeContent!==!1)try{D=await _.store.getText(g.path)}catch{D=null}return{ok:!0,note:zE(g),citations:U,content:D}}finally{$.close()}}async function UW(_){return wg(_),s6(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),pU({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as qE}from"crypto";import{randomUUID as r7}from"crypto";var SE={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"}},v7={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}},f7={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 jW(_){return _?.providers??{}}function $6(_,$){let g=jW(_)[$]??{};return{...SE[$],...g}}function NW(_){let $=jW(_);return{...f7,...$.default_model?{default:$.default_model}:{},...$.aliases??{}}}function f_(_){let[$,...g]=_.split(":"),U=g.join(":");if($!=="openai"&&$!=="anthropic"&&$!=="deepseek")throw Error(`Unsupported AI provider: ${$}`);if(!U)throw Error(`Invalid model ref: ${_}. Expected provider:model.`);return{provider:$,model:U}}function G$(_,$){return NW($)[_]??_}function WE(_){let $=NW(_);return Object.entries($).map(([g,U])=>{let D=f_(U);return{alias:g,model_ref:U,provider:D.provider,model:D.model,default:g==="default",capabilities:v7[D.provider]}})}function EW(_,$=process.env){return Object.keys(SE).map((g)=>{let U=$6(_,g),D=Boolean($[U.api_key_env]);return{provider:g,api_key_env:U.api_key_env,configured:D,source:D?"env":"missing",base_url:U.base_url??null,default_model:U.default_model}})}function OW(_,$=process.env){return{default_model:G$("default",_),providers:EW(_,$),models:WE(_)}}function D4(_,$,g=process.env){let U=EW($,g).find((D)=>D.provider===_);if(!U)throw Error(`Unsupported AI provider: ${_}`);if(!U.configured)throw Error(`Missing ${U.api_key_env} for ${_}. Set the env var to use this provider.`);return U}async function w7(_){if(_==="openai"){let{createOpenAI:g}=await import("@ai-sdk/openai");return g}if(_==="anthropic"){let{createAnthropic:g}=await import("@ai-sdk/anthropic");return g}let{createDeepSeek:$}=await import("@ai-sdk/deepseek");return $}async function u7(_={}){let{createProviderRegistry:$}=await import("ai"),g=_.env??process.env,U={};for(let D of Object.keys(SE)){let I=$6(_.config,D),j=g[I.api_key_env];if(!j)continue;let N=_.factories?.[D]??await w7(D);U[D]=N({apiKey:j,baseURL:I.base_url})}return $(U)}async function ug(_,$={}){let g=G$(_,$.config),U=f_(g);return D4(U.provider,$.config,$.env),(await u7($)).languageModel(g)}function IW(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return 0}function U4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:IW($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:IW($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function S0(_,$){let g=`usage_${r7()}`;return _.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[g,$.run_id??null,$.provider,$.model,$.input_tokens,$.output_tokens,$.cost_usd,JSON.stringify($.metadata),$.created_at??new Date().toISOString()]),g}import{createHash as Oq}from"crypto";import{existsSync as i7,readFileSync as l7}from"fs";import{createHash as JW}from"crypto";var x7="openai:text-embedding-3-small",PW=1536;function aU(_){return _?.embeddings??{}}function AW(_,$){return`${_}_${JW("sha256").update($).digest("hex").slice(0,20)}`}function RE(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Y$(_,$){for(let g of $){let U=_[g];if(typeof U==="string"&&U.length>0)return U}return null}function LW(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return null}function XE(_){return Math.sqrt(_.reduce(($,g)=>$+g*g,0))}function y7(_,$,g=XE($)){let U=XE(_);if(U===0||g===0)return 0;let D=Math.min(_.length,$.length),I=0;for(let j=0;j{let I=g[D%g.length]/255;return Number((I*2-1).toFixed(6))})}async function c7(_,$,g=process.env){D4("openai",$,g);let U=$6($,"openai"),{createOpenAI:D}=await import("@ai-sdk/openai"),I=D({apiKey:g[U.api_key_env],baseURL:U.base_url});if(I.embeddingModel)return I.embeddingModel(_);if(I.textEmbedding)return I.textEmbedding(_);if(I.textEmbeddingModel)return I.textEmbeddingModel(_);throw Error("OpenAI provider does not expose an embedding model factory.")}function I4(_,$){if(!_||_==="default"||_==="embedding")return aU($).default_model??x7;return _}async function zW(_,$={}){let g=I4($.modelRef,$.config),U=f_(g);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet. Use openai:text-embedding-3-small.`);let D=$.dimensions??aU($.config).dimensions??PW;if($.fake)return{provider:U.provider,model:U.model,dimensions:D,vectors:_.map((A)=>h7(A,D)),usage:{input_tokens:_.reduce((A,L)=>A+Math.max(1,Math.ceil(L.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:I}=await import("ai"),j=await c7(U.model,$.config,$.env),N=await I({model:j,values:_,maxParallelCalls:$.maxParallelCalls??aU($.config).max_parallel_calls,providerOptions:{openai:{dimensions:D}}}),O=N.embeddings;return{provider:U.provider,model:U.model,dimensions:O[0]?.length??D,vectors:O,usage:{input_tokens:N.usage?.tokens??0}}}function n7(_,$){if($.sourceRevisionId)return _.query(`SELECT + ORDER BY created_at ASC`).all(g.id).map((I)=>({...I,metadata:PE(I.metadata_json),metadata_json:void 0})),D=null;if(_.includeContent!==!1)try{D=await _.store.getText(g.path)}catch{D=null}return{ok:!0,note:zE(g),citations:U,content:D}}finally{$.close()}}async function IW(_){return wg(_),s6(_.sourceRef,{allowFileSourceRefs:_.config?.sources.allowed_schemes.includes("file")!==!1}),pU({dbPath:_.workspace.knowledgeDbPath,sourceRef:_.sourceRef,purpose:_.purpose??"knowledge_index",config:_.config,safetyPolicy:_.safetyPolicy})}import{randomUUID as qE}from"crypto";import{randomUUID as v7}from"crypto";var SE={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"}},f7={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}},w7={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 NW(_){return _?.providers??{}}function $6(_,$){let g=NW(_)[$]??{};return{...SE[$],...g}}function EW(_){let $=NW(_);return{...w7,...$.default_model?{default:$.default_model}:{},...$.aliases??{}}}function f_(_){let[$,...g]=_.split(":"),U=g.join(":");if($!=="openai"&&$!=="anthropic"&&$!=="deepseek")throw Error(`Unsupported AI provider: ${$}`);if(!U)throw Error(`Invalid model ref: ${_}. Expected provider:model.`);return{provider:$,model:U}}function G$(_,$){return EW($)[_]??_}function WE(_){let $=EW(_);return Object.entries($).map(([g,U])=>{let D=f_(U);return{alias:g,model_ref:U,provider:D.provider,model:D.model,default:g==="default",capabilities:f7[D.provider]}})}function OW(_,$=process.env){return Object.keys(SE).map((g)=>{let U=$6(_,g),D=Boolean($[U.api_key_env]);return{provider:g,api_key_env:U.api_key_env,configured:D,source:D?"env":"missing",base_url:U.base_url??null,default_model:U.default_model}})}function AW(_,$=process.env){return{default_model:G$("default",_),providers:OW(_,$),models:WE(_)}}function D4(_,$,g=process.env){let U=OW($,g).find((D)=>D.provider===_);if(!U)throw Error(`Unsupported AI provider: ${_}`);if(!U.configured)throw Error(`Missing ${U.api_key_env} for ${_}. Set the env var to use this provider.`);return U}async function u7(_){if(_==="openai"){let{createOpenAI:g}=await import("@ai-sdk/openai");return g}if(_==="anthropic"){let{createAnthropic:g}=await import("@ai-sdk/anthropic");return g}let{createDeepSeek:$}=await import("@ai-sdk/deepseek");return $}async function x7(_={}){let{createProviderRegistry:$}=await import("ai"),g=_.env??process.env,U={};for(let D of Object.keys(SE)){let I=$6(_.config,D),j=g[I.api_key_env];if(!j)continue;let N=_.factories?.[D]??await u7(D);U[D]=N({apiKey:j,baseURL:I.base_url})}return $(U)}async function ug(_,$={}){let g=G$(_,$.config),U=f_(g);return D4(U.provider,$.config,$.env),(await x7($)).languageModel(g)}function jW(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return 0}function U4(_){let $=_.usage??{};return{provider:_.provider,model:_.model,input_tokens:jW($,["inputTokens","promptTokens","input_tokens","prompt_tokens"]),output_tokens:jW($,["outputTokens","completionTokens","output_tokens","completion_tokens"]),cost_usd:_.costUsd??0,metadata:{usage:$,provider_metadata:_.providerMetadata??{}}}}function S0(_,$){let g=`usage_${v7()}`;return _.run(`INSERT INTO provider_usage (id, run_id, provider, model, input_tokens, output_tokens, cost_usd, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[g,$.run_id??null,$.provider,$.model,$.input_tokens,$.output_tokens,$.cost_usd,JSON.stringify($.metadata),$.created_at??new Date().toISOString()]),g}import{createHash as Aq}from"crypto";import{existsSync as l7,readFileSync as t7}from"fs";import{createHash as PW}from"crypto";var y7="openai:text-embedding-3-small",zW=1536;function aU(_){return _?.embeddings??{}}function LW(_,$){return`${_}_${PW("sha256").update($).digest("hex").slice(0,20)}`}function RE(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Y$(_,$){for(let g of $){let U=_[g];if(typeof U==="string"&&U.length>0)return U}return null}function JW(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return null}function XE(_){return Math.sqrt(_.reduce(($,g)=>$+g*g,0))}function h7(_,$,g=XE($)){let U=XE(_);if(U===0||g===0)return 0;let D=Math.min(_.length,$.length),I=0;for(let j=0;j{let I=g[D%g.length]/255;return Number((I*2-1).toFixed(6))})}async function n7(_,$,g=process.env){D4("openai",$,g);let U=$6($,"openai"),{createOpenAI:D}=await import("@ai-sdk/openai"),I=D({apiKey:g[U.api_key_env],baseURL:U.base_url});if(I.embeddingModel)return I.embeddingModel(_);if(I.textEmbedding)return I.textEmbedding(_);if(I.textEmbeddingModel)return I.textEmbeddingModel(_);throw Error("OpenAI provider does not expose an embedding model factory.")}function I4(_,$){if(!_||_==="default"||_==="embedding")return aU($).default_model??y7;return _}async function SW(_,$={}){let g=I4($.modelRef,$.config),U=f_(g);if(U.provider!=="openai")throw Error(`Embedding provider ${U.provider} is not supported yet. Use openai:text-embedding-3-small.`);let D=$.dimensions??aU($.config).dimensions??zW;if($.fake)return{provider:U.provider,model:U.model,dimensions:D,vectors:_.map((A)=>c7(A,D)),usage:{input_tokens:_.reduce((A,L)=>A+Math.max(1,Math.ceil(L.split(/\s+/).filter(Boolean).length*1.25)),0)}};let{embedMany:I}=await import("ai"),j=await n7(U.model,$.config,$.env),N=await I({model:j,values:_,maxParallelCalls:$.maxParallelCalls??aU($.config).max_parallel_calls,providerOptions:{openai:{dimensions:D}}}),O=N.embeddings;return{provider:U.provider,model:U.model,dimensions:O[0]?.length??D,vectors:O,usage:{input_tokens:N.usage?.tokens??0}}}function d7(_,$){if($.sourceRevisionId)return _.query(`SELECT c.id, c.text, c.token_count, @@ -713,7 +713,7 @@ 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 d7(_){let $=RE(_.metadata_json),g=$.provenance;if(g&&typeof g==="object"&&!Array.isArray(g))return g;return T6({source_ref:Y$($,["source_ref"]),source_uri:_.source_uri??Y$($,["source_uri"]),source_kind:_.source_kind??Y$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??Y$($,["revision"]),hash:_.hash??Y$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??LW($,["start_offset"]),end_offset:_.end_offset??LW($,["end_offset"]),status:Y$($,["status"]),resolver:"open-files-read-only"})}function m7(_,$,g,U){let D=_.prepare(` + LIMIT ?`).all($.provider,$.model,$.limit)}function m7(_){let $=RE(_.metadata_json),g=$.provenance;if(g&&typeof g==="object"&&!Array.isArray(g))return g;return T6({source_ref:Y$($,["source_ref"]),source_uri:_.source_uri??Y$($,["source_uri"]),source_kind:_.source_kind??Y$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??Y$($,["revision"]),hash:_.hash??Y$($,["hash"]),chunk_id:_.id,start_offset:_.start_offset??JW($,["start_offset"]),end_offset:_.end_offset??JW($,["end_offset"]),status:Y$($,["status"]),resolver:"open-files-read-only"})}function i7(_,$,g,U){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 @@ -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],A=g.vectors[N];if(!A)continue;let L=RE(O.metadata_json),z=d7(O),W=z.source_ref??Y$(L,["source_ref"]),J=z.source_uri??O.source_uri??Y$(L,["source_uri"]),P=z.revision??O.revision??Y$(L,["revision"]),S=z.hash??O.hash??Y$(L,["hash"]),X=z.status??Y$(L,["status"])??"active",G=JSON.stringify(A);D.run(AW("emb",`${O.id}\x00${g.provider}\x00${g.model}`),O.id,g.provider,g.model,g.dimensions,G,U),I.run(AW("vec",`${O.id}\x00${g.provider}\x00${g.model}`),O.id,O.source_revision_id,g.provider,g.model,g.dimensions,G,XE(A),J,W,P,S,z.start_offset,z.end_offset,O.token_count,X,JSON.stringify({...L,provenance:z,embedded_at:U}),U,U)}})(),$.length}async function sU(_){let $=I4(_.modelRef,_.config),g=f_($);if(g.provider!=="openai")throw Error(`Embedding provider ${g.provider} is not supported yet.`);let U=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??100,1000));h(_.dbPath);let I=v(_.dbPath),j;try{j=n7(I,{provider:g.provider,model:g.model,limit:D,sourceRevisionId:_.sourceRevisionId})}finally{I.close()}if(j.length===0)return{provider:g.provider,model:g.model,dimensions:_.dimensions??aU(_.config).dimensions??PW,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let N=await zW(j.map((A)=>A.text),_),O=v(_.dbPath);try{let A=m7(O,j,N,U);return{provider:N.provider,model:N.model,dimensions:N.dimensions,chunks_seen:j.length,chunks_embedded:j.length,embeddings_upserted:A,vector_entries_upserted:A,usage:N.usage}}finally{O.close()}}function SW(_){h(_);let $=v(_);try{let g=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,U=$.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 N=0;N<$.length;N+=1){let O=$[N],A=g.vectors[N];if(!A)continue;let L=RE(O.metadata_json),z=m7(O),W=z.source_ref??Y$(L,["source_ref"]),J=z.source_uri??O.source_uri??Y$(L,["source_uri"]),P=z.revision??O.revision??Y$(L,["revision"]),S=z.hash??O.hash??Y$(L,["hash"]),X=z.status??Y$(L,["status"])??"active",G=JSON.stringify(A);D.run(LW("emb",`${O.id}\x00${g.provider}\x00${g.model}`),O.id,g.provider,g.model,g.dimensions,G,U),I.run(LW("vec",`${O.id}\x00${g.provider}\x00${g.model}`),O.id,O.source_revision_id,g.provider,g.model,g.dimensions,G,XE(A),J,W,P,S,z.start_offset,z.end_offset,O.token_count,X,JSON.stringify({...L,provenance:z,embedded_at:U}),U,U)}})(),$.length}async function sU(_){let $=I4(_.modelRef,_.config),g=f_($);if(g.provider!=="openai")throw Error(`Embedding provider ${g.provider} is not supported yet.`);let U=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??100,1000));h(_.dbPath);let I=v(_.dbPath),j;try{j=d7(I,{provider:g.provider,model:g.model,limit:D,sourceRevisionId:_.sourceRevisionId})}finally{I.close()}if(j.length===0)return{provider:g.provider,model:g.model,dimensions:_.dimensions??aU(_.config).dimensions??zW,chunks_seen:0,chunks_embedded:0,embeddings_upserted:0,vector_entries_upserted:0,usage:{input_tokens:0}};let N=await SW(j.map((A)=>A.text),_),O=v(_.dbPath);try{let A=i7(O,j,N,U);return{provider:N.provider,model:N.model,dimensions:N.dimensions,chunks_seen:j.length,chunks_embedded:j.length,embeddings_upserted:A,vector_entries_upserted:A,usage:N.usage}}finally{O.close()}}function WW(_){h(_);let $=v(_);try{let g=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,U=$.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:g,total_vector_entries:U,indexes:D}}finally{$.close()}}async function _I(_){let $=I4(_.modelRef,_.config),g=f_($),U=Math.max(1,Math.min(_.limit??10,100)),D=await zW([_.query],_),I=D.vectors[0]??[];h(_.dbPath);let j=v(_.dbPath);try{let O=j.query(`SELECT + ORDER BY provider, model`).all();return{total_embeddings:g,total_vector_entries:U,indexes:D}}finally{$.close()}}async function _I(_){let $=I4(_.modelRef,_.config),g=f_($),U=Math.max(1,Math.min(_.limit??10,100)),D=await SW([_.query],_),I=D.vectors[0]??[];h(_.dbPath);let j=v(_.dbPath);try{let O=j.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(g.provider,g.model).map((A)=>{let L=JSON.parse(A.vector_json),z=RE(A.metadata_json),W=z.provenance&&typeof z.provenance==="object"&&!Array.isArray(z.provenance)?z.provenance:null;return{chunk_id:A.chunk_id,score:y7(I,L,A.vector_norm),text:A.text,source_uri:A.source_uri,source_ref:A.source_ref,revision:A.revision,hash:A.hash,provenance:W}}).sort((A,L)=>L.score-A.score).slice(0,U);return{provider:g.provider,model:g.model,dimensions:D.dimensions,query:_.query,results:O}}finally{j.close()}}function $I(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function I$(_,$){for(let g of $){let U=_[g];if(typeof U==="string"&&U.length>0)return U}return null}function WW(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return null}function GW(_){return Array.from(new Set(_))}function YW(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return GW($.filter((g)=>g.length>0)).slice(0,16)}function XW(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function t7(_){let $=[],g=/"([^"]*)"|(\S+)/g,U,D=!1;while((U=g.exec(_))!==null){if(U[1]!==void 0){let A=XW(U[1]);if(A.length>0)$.push({type:"phrase",value:A.join(" "),negate:D,prefix:!1});D=!1;continue}let I=U[2]??"";if(I==="OR"||I==="||"||I==="|"){$.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(I==="AND"||I==="&&")continue;if(I==="NOT"){D=!0;continue}let j=D;if(D=!1,I.startsWith("-")&&I.length>1)j=!0,I=I.slice(1);let N=!1;if(I.endsWith("*"))N=!0,I=I.slice(0,-1);let O=XW(I);if(O.length===0)continue;$.push({type:O.length>1?"phrase":"term",value:O.join(" "),negate:j,prefix:N})}return $.slice(0,24)}function o7(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function p7(_){let $=t7(_);if($.filter((j)=>j.type!=="or"&&!j.negate).length===0)return{and:null,or:null};let U=(j)=>{let N="",O=!1,A=[];for(let L of $){if(L.type==="or"){O=!0;continue}let z=o7(L);if(L.negate){A.push(z);continue}if(N.length===0)N=z;else N=O?`${N} OR ${z}`:`${N} ${j} ${z}`;O=!1}for(let L of A)N=`(${N}) NOT ${L}`;return N.length>0?N:null},D=U("AND"),I=U("OR");return{and:D,or:I!==D?I:null}}function e7(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function QW(_,$){return _.flatMap((g)=>Array.from({length:$},()=>`%${e7(g)}%`))}function a7(_,$){let g=Number.isFinite(_)?1/(1+Math.abs(_)):0,U=1/(1+$);return gI(Math.max(g,U))}function GE(_,$){if($.length===0)return 0;let g=$.filter((U)=>_.includes(U)).length;if(g===0)return 0;return gI(Math.min(0.85,0.35+g/$.length*0.5))}function s7(_){return gI(Math.max(0,Math.min(1,(_+1)/2)))}function gI(_){return Number(_.toFixed(6))}function X0(_,$){let g=_.keyword??0,U=_.semantic??0,D=_.catalog??0,I=$?.chunk_id?0.05:0;return gI(Math.min(1,g*0.55+U*0.4+D*0.35+I))}function YE(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function _q(_){let $=$I(_.chunk_metadata_json),g=YE($);if(g)return g;if(!_.source_revision_id&&!_.source_uri)return null;return T6({source_ref:I$($,["source_ref"]),source_uri:_.source_uri??I$($,["source_uri"]),source_kind:_.source_kind??I$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??I$($,["revision"]),hash:_.hash??I$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??WW($,["start_offset"]),end_offset:_.end_offset??WW($,["end_offset"]),status:I$($,["status"]),resolver:"open-files-read-only"})}function RW(_,$,g){if(!$)return[];try{return $q(_,$,g)}catch{return[]}}function $q(_,$,g){return _.query(`SELECT + WHERE v.provider = ? AND v.model = ? AND v.status = 'active'`).all(g.provider,g.model).map((A)=>{let L=JSON.parse(A.vector_json),z=RE(A.metadata_json),W=z.provenance&&typeof z.provenance==="object"&&!Array.isArray(z.provenance)?z.provenance:null;return{chunk_id:A.chunk_id,score:h7(I,L,A.vector_norm),text:A.text,source_uri:A.source_uri,source_ref:A.source_ref,revision:A.revision,hash:A.hash,provenance:W}}).sort((A,L)=>L.score-A.score).slice(0,U);return{provider:g.provider,model:g.model,dimensions:D.dimensions,query:_.query,results:O}}finally{j.close()}}function $I(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function I$(_,$){for(let g of $){let U=_[g];if(typeof U==="string"&&U.length>0)return U}return null}function XW(_,$){for(let g of $){let U=_[g];if(typeof U==="number"&&Number.isFinite(U))return U}return null}function YW(_){return Array.from(new Set(_))}function QW(_){let $=_.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[];return YW($.filter((g)=>g.length>0)).slice(0,16)}function RW(_){return _.normalize("NFKC").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[]}function o7(_){let $=[],g=/"([^"]*)"|(\S+)/g,U,D=!1;while((U=g.exec(_))!==null){if(U[1]!==void 0){let A=RW(U[1]);if(A.length>0)$.push({type:"phrase",value:A.join(" "),negate:D,prefix:!1});D=!1;continue}let I=U[2]??"";if(I==="OR"||I==="||"||I==="|"){$.push({type:"or",value:"",negate:!1,prefix:!1});continue}if(I==="AND"||I==="&&")continue;if(I==="NOT"){D=!0;continue}let j=D;if(D=!1,I.startsWith("-")&&I.length>1)j=!0,I=I.slice(1);let N=!1;if(I.endsWith("*"))N=!0,I=I.slice(0,-1);let O=RW(I);if(O.length===0)continue;$.push({type:O.length>1?"phrase":"term",value:O.join(" "),negate:j,prefix:N})}return $.slice(0,24)}function p7(_){if(_.type==="phrase")return`"${_.value}"`;return`"${_.value}"*`}function e7(_){let $=o7(_);if($.filter((j)=>j.type!=="or"&&!j.negate).length===0)return{and:null,or:null};let U=(j)=>{let N="",O=!1,A=[];for(let L of $){if(L.type==="or"){O=!0;continue}let z=p7(L);if(L.negate){A.push(z);continue}if(N.length===0)N=z;else N=O?`${N} OR ${z}`:`${N} ${j} ${z}`;O=!1}for(let L of A)N=`(${N}) NOT ${L}`;return N.length>0?N:null},D=U("AND"),I=U("OR");return{and:D,or:I!==D?I:null}}function a7(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function TW(_,$){return _.flatMap((g)=>Array.from({length:$},()=>`%${a7(g)}%`))}function s7(_,$){let g=Number.isFinite(_)?1/(1+Math.abs(_)):0,U=1/(1+$);return gI(Math.max(g,U))}function GE(_,$){if($.length===0)return 0;let g=$.filter((U)=>_.includes(U)).length;if(g===0)return 0;return gI(Math.min(0.85,0.35+g/$.length*0.5))}function _q(_){return gI(Math.max(0,Math.min(1,(_+1)/2)))}function gI(_){return Number(_.toFixed(6))}function X0(_,$){let g=_.keyword??0,U=_.semantic??0,D=_.catalog??0,I=$?.chunk_id?0.05:0;return gI(Math.min(1,g*0.55+U*0.4+D*0.35+I))}function YE(_){let $=_.provenance;return $&&typeof $==="object"&&!Array.isArray($)?$:null}function $q(_){let $=$I(_.chunk_metadata_json),g=YE($);if(g)return g;if(!_.source_revision_id&&!_.source_uri)return null;return T6({source_ref:I$($,["source_ref"]),source_uri:_.source_uri??I$($,["source_uri"]),source_kind:_.source_kind??I$($,["source_kind"]),source_revision_id:_.source_revision_id,revision:_.revision??I$($,["revision"]),hash:_.hash??I$($,["hash"]),chunk_id:_.chunk_id,start_offset:_.start_offset??XW($,["start_offset"]),end_offset:_.end_offset??XW($,["end_offset"]),status:I$($,["status"]),resolver:"open-files-read-only"})}function GW(_,$,g){if(!$)return[];try{return gq(_,$,g)}catch{return[]}}function gq(_,$,g){return _.query(`SELECT chunks_fts.chunk_id, c.kind AS chunk_kind, c.wiki_page_id, @@ -786,15 +786,15 @@ 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($,g)}function TW(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((U)=>`lower(COALESCE(${U}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function gq(_,$,g){let U=["path","title","artifact_uri","metadata_json"];return _.query(`SELECT id, path, title, artifact_uri, content_hash, status, metadata_json + LIMIT ?`).all($,g)}function qW(_,$){if($.length===0)return"1 = 0";return $.map(()=>`(${_.map((U)=>`lower(COALESCE(${U}, '')) LIKE ? ESCAPE '\\'`).join(" OR ")})`).join(" OR ")}function Dq(_,$,g){let U=["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 (${TW(U,$)}) + WHERE status = 'active' AND (${qW(U,$)}) ORDER BY updated_at DESC - LIMIT ?`).all(...QW($,U.length),g)}function Dq(_,$,g){let U=["kind","name","shard_key","artifact_uri","metadata_json"];return _.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json + LIMIT ?`).all(...TW($,U.length),g)}function Uq(_,$,g){let U=["kind","name","shard_key","artifact_uri","metadata_json"];return _.query(`SELECT id, kind, name, artifact_uri, shard_key, metadata_json FROM knowledge_indexes - WHERE ${TW(U,$)} + WHERE ${qW(U,$)} ORDER BY updated_at DESC - LIMIT ?`).all(...QW($,U.length),g)}function qW(_){if(!_||!i7(_))return[];try{let $=JSON.parse(l7(_,"utf8"));if(!$||!Array.isArray($.items))return[];return $.items.filter((g)=>{return Boolean(g&&typeof g==="object"&&typeof g.id==="string"&&typeof g.title==="string"&&typeof g.content==="string")})}catch{return[]}}function Uq(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function BW(_,$,g){if($.length===0)return[];return _.filter((U)=>U.archived!==!0).map((U)=>({item:U,haystack:Uq(U)})).filter(({haystack:U})=>$.some((D)=>U.includes(D))).map(({item:U,haystack:D})=>({item:U,score:GE(D,$)})).sort((U,D)=>D.score-U.score||U.item.id.localeCompare(D.item.id)).slice(0,g)}function Iq(_,$,g){return BW(qW(_),$,g)}function jq(_,$){let g=$I(_.chunk_metadata_json),U=_q(_),D=I$(g,["source_ref"]),I=_.source_uri??I$(g,["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:I||D?{uri:I,ref:D,kind:_.source_kind??I$(g,["source_kind"]),revision:_.revision??I$(g,["revision"]),hash:_.hash??I$(g,["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:U,reasons:["keyword_match"]};return N.score=X0(N.scores,N.citation),N}function KW(_,$){let g=`knowledge://item/${encodeURIComponent(_.id)}`,U={kind:"legacy_item",id:_.id,title:_.title,text:_.content,score:0,scores:{keyword:$},source:{uri:g,ref:g,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return U.score=X0(U.scores,U.citation),U}function Nq(_,$){let g=$I(_.metadata_json),U=GE(`${_.path} ${_.title} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"wiki_page",id:_.id,title:_.title,text:null,score:0,scores:{catalog:U},source:null,citation:null,artifact:{uri:_.artifact_uri,path:_.path,hash:_.content_hash,shard_key:_.path},provenance:YE(g),reasons:["wiki_catalog_match"]};return D.score=X0(D.scores,D.citation),D}function Eq(_,$){let g=$I(_.metadata_json),U=GE(`${_.kind} ${_.name} ${_.shard_key??""} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"knowledge_index",id:_.id,title:_.name,text:null,score:0,scores:{catalog:U},source:null,citation:null,artifact:{uri:_.artifact_uri,path:I$(g,["artifact_key"]),hash:I$(g,["content_hash"]),shard_key:_.shard_key},provenance:YE(g),reasons:["index_catalog_match"]};return D.score=X0(D.scores,D.citation),D}function W0(_,$){let g=`${$.kind}:${$.id}`,U=_.get(g);if(!U){_.set(g,$);return}U.scores={keyword:Math.max(U.scores.keyword??0,$.scores.keyword??0)||void 0,semantic:Math.max(U.scores.semantic??0,$.scores.semantic??0)||void 0,catalog:Math.max(U.scores.catalog??0,$.scores.catalog??0)||void 0},U.reasons=GW([...U.reasons,...$.reasons]),U.text=U.text??$.text,U.title=U.title??$.title,U.source=U.source??$.source,U.citation=U.citation??$.citation,U.artifact=U.artifact??$.artifact,U.provenance=U.provenance??$.provenance,U.score=X0(U.scores,U.citation)}function VW(_){let $={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return _.sort((g,U)=>{if(U.score!==g.score)return U.score-g.score;return $[g.kind]-$[U.kind]||g.id.localeCompare(U.id)})}async function DI(_){let $=_.query.trim();if(!$)throw Error("Search query is required.");let g=Math.max(1,Math.min(_.limit??10,100)),U=Math.max(0,Math.floor(_.offset??0)),D=U+g,I=YW($),j=p7($),N=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),O=[],A=null,L=null,z=null,W=0,J=0,P=0,S=new Map;h(_.dbPath);let X=v(_.dbPath);try{let K=Math.max(D*3,20),Q=RW(X,j.and,K);if(Q.length===0&&j.or)Q=RW(X,j.or,K);W=Q.length,Q.forEach((Z,a)=>W0(S,jq(Z,a7(Z.rank,a))));let T=gq(X,I,Math.max(D,10)),q=Dq(X,I,Math.max(D,10)),V=Iq(_.legacyStorePath,I,Math.max(D,10));J=T.length+q.length,W+=V.length,V.forEach(({item:Z,score:a})=>W0(S,KW(Z,a))),T.forEach((Z)=>W0(S,Nq(Z,I))),q.forEach((Z)=>W0(S,Eq(Z,I)))}finally{X.close()}if(N)try{let K=await _I({dbPath:_.dbPath,query:$,limit:Math.max(D*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});A=K.provider,L=K.model,z=K.dimensions,P=K.results.length;for(let Q of K.results){let T={kind:"source_chunk",id:Q.chunk_id,title:null,text:Q.text,score:0,scores:{semantic:s7(Q.score)},source:{uri:Q.source_uri,ref:Q.source_ref,kind:Q.provenance?.source_kind??null,revision:Q.revision,hash:Q.hash},citation:{chunk_id:Q.chunk_id,start_offset:Q.provenance?.start_offset??null,end_offset:Q.provenance?.end_offset??null},artifact:null,provenance:Q.provenance,reasons:["semantic_match"]};T.score=X0(T.scores,T.citation),W0(S,T)}}catch(K){O.push(`semantic_search_failed: ${K instanceof Error?K.message:String(K)}`)}let R=VW(Array.from(S.values())).slice(U,U+g);return{query:$,limit:g,offset:U,mode:{keyword:!0,catalog:!0,semantic:N},semantic_provider:A,semantic_model:L,semantic_dimensions:z,counts:{keyword_results:W,catalog_results:J,semantic_results:P,merged_results:R.length},warnings:O,results:R}}async function UI(_){return j4(qW(_.legacyStorePath),_,["knowledge_db_missing"])}async function j4(_,$,g=[]){let U=$.query.trim();if(!U)throw Error("Search query is required.");let D=Math.max(1,Math.min($.limit??10,100)),I=Math.max(0,Math.floor($.offset??0)),j=YW(U),N=$.semantic===!0||$.fake===!0||Boolean($.modelRef),O=new Map,A=BW(_,j,Math.max(I+D,10));A.forEach(({item:W,score:J})=>W0(O,KW(W,J)));let L=[...g];if(N)L.push("semantic_search_requires_local_catalog");let z=VW(Array.from(O.values())).slice(I,I+D);return{query:U,limit:D,offset:I,mode:{keyword:!0,catalog:!0,semantic:N},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:A.length,catalog_results:0,semantic_results:0,merged_results:z.length},warnings:L,results:z}}function FW(_,$){return`${_}_${Oq("sha256").update($).digest("hex").slice(0,20)}`}function MW(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Aq(_){return Array.from(new Set(MW(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function Lq(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function Jq(_,$){if($.length===0)return 0;let g=Lq(_),U=$.filter((D)=>g.includes(D)).length;return Number((U/$.length).toFixed(6))}function Pq(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function ZW(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return jE(_.status);return!1}function zq(_){if(ZW(_.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 Sq(_){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 Wq(_){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 Xq(_,$){let g={base_score:_.score,exact_score:Jq(_,$),citation_score:Sq(_),freshness_score:zq(_),authority_score:Wq(_)},U=Math.min(1,g.base_score*0.65+g.exact_score*0.1+g.citation_score*0.1+g.freshness_score*0.1+g.authority_score*0.05),D=new Set(_.reasons);if(g.exact_score>0.5)D.add("exact_term");if(g.citation_score>=0.75)D.add("cited_source");if(g.freshness_score>=0.85)D.add("fresh_source");return{..._,score:Number(U.toFixed(6)),reasons:Array.from(D),rerank:{...g,final_score:Number(U.toFixed(6))}}}function bW(_,$){let g=_.text??_.title;if(!g)return null;let U=g.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,Math.max(0,$-1)).trim()}...`}function Rq(_){return{id:FW("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:bW(_,500),provenance:_.provenance}}function Gq(_,$,g){let U=bW(_,g);if(!U)return null;return{id:FW("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:U,score:_.score}}function II(_){return _.map(()=>"?").join(", ")}function Yq(_,$){let g=$.map((N)=>N.citation?.chunk_id).filter((N)=>Boolean(N)),U=$.filter((N)=>N.kind==="wiki_page").map((N)=>N.id),D=[],I=[];if(g.length===0&&U.length===0)return{citations:D,backlinks:I};let j=v(_);try{if(g.length>0)D.push(...j.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset + LIMIT ?`).all(...TW($,U.length),g)}function BW(_){if(!_||!l7(_))return[];try{let $=JSON.parse(t7(_,"utf8"));if(!$||!Array.isArray($.items))return[];return $.items.filter((g)=>{return Boolean(g&&typeof g==="object"&&typeof g.id==="string"&&typeof g.title==="string"&&typeof g.content==="string")})}catch{return[]}}function Iq(_){return[_.id,_.short_id,_.title,_.content,_.url,..._.tags??[]].filter(($)=>typeof $==="string"&&$.length>0).join(" ").toLowerCase()}function KW(_,$,g){if($.length===0)return[];return _.filter((U)=>U.archived!==!0).map((U)=>({item:U,haystack:Iq(U)})).filter(({haystack:U})=>$.some((D)=>U.includes(D))).map(({item:U,haystack:D})=>({item:U,score:GE(D,$)})).sort((U,D)=>D.score-U.score||U.item.id.localeCompare(D.item.id)).slice(0,g)}function jq(_,$,g){return KW(BW(_),$,g)}function Nq(_,$){let g=$I(_.chunk_metadata_json),U=$q(_),D=I$(g,["source_ref"]),I=_.source_uri??I$(g,["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:I||D?{uri:I,ref:D,kind:_.source_kind??I$(g,["source_kind"]),revision:_.revision??I$(g,["revision"]),hash:_.hash??I$(g,["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:U,reasons:["keyword_match"]};return N.score=X0(N.scores,N.citation),N}function VW(_,$){let g=`knowledge://item/${encodeURIComponent(_.id)}`,U={kind:"legacy_item",id:_.id,title:_.title,text:_.content,score:0,scores:{keyword:$},source:{uri:g,ref:g,kind:"legacy_item",revision:null,hash:null},citation:null,artifact:null,provenance:null,reasons:["legacy_note_match","keyword_match"]};return U.score=X0(U.scores,U.citation),U}function Eq(_,$){let g=$I(_.metadata_json),U=GE(`${_.path} ${_.title} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"wiki_page",id:_.id,title:_.title,text:null,score:0,scores:{catalog:U},source:null,citation:null,artifact:{uri:_.artifact_uri,path:_.path,hash:_.content_hash,shard_key:_.path},provenance:YE(g),reasons:["wiki_catalog_match"]};return D.score=X0(D.scores,D.citation),D}function Oq(_,$){let g=$I(_.metadata_json),U=GE(`${_.kind} ${_.name} ${_.shard_key??""} ${_.artifact_uri??""} ${_.metadata_json}`.toLowerCase(),$),D={kind:"knowledge_index",id:_.id,title:_.name,text:null,score:0,scores:{catalog:U},source:null,citation:null,artifact:{uri:_.artifact_uri,path:I$(g,["artifact_key"]),hash:I$(g,["content_hash"]),shard_key:_.shard_key},provenance:YE(g),reasons:["index_catalog_match"]};return D.score=X0(D.scores,D.citation),D}function W0(_,$){let g=`${$.kind}:${$.id}`,U=_.get(g);if(!U){_.set(g,$);return}U.scores={keyword:Math.max(U.scores.keyword??0,$.scores.keyword??0)||void 0,semantic:Math.max(U.scores.semantic??0,$.scores.semantic??0)||void 0,catalog:Math.max(U.scores.catalog??0,$.scores.catalog??0)||void 0},U.reasons=YW([...U.reasons,...$.reasons]),U.text=U.text??$.text,U.title=U.title??$.title,U.source=U.source??$.source,U.citation=U.citation??$.citation,U.artifact=U.artifact??$.artifact,U.provenance=U.provenance??$.provenance,U.score=X0(U.scores,U.citation)}function FW(_){let $={source_chunk:0,wiki_chunk:1,legacy_item:2,wiki_page:3,knowledge_index:4};return _.sort((g,U)=>{if(U.score!==g.score)return U.score-g.score;return $[g.kind]-$[U.kind]||g.id.localeCompare(U.id)})}async function DI(_){let $=_.query.trim();if(!$)throw Error("Search query is required.");let g=Math.max(1,Math.min(_.limit??10,100)),U=Math.max(0,Math.floor(_.offset??0)),D=U+g,I=QW($),j=e7($),N=_.semantic===!0||_.fake===!0||Boolean(_.modelRef),O=[],A=null,L=null,z=null,W=0,J=0,P=0,S=new Map;h(_.dbPath);let X=v(_.dbPath);try{let K=Math.max(D*3,20),Q=GW(X,j.and,K);if(Q.length===0&&j.or)Q=GW(X,j.or,K);W=Q.length,Q.forEach((Z,e)=>W0(S,Nq(Z,s7(Z.rank,e))));let T=Dq(X,I,Math.max(D,10)),q=Uq(X,I,Math.max(D,10)),V=jq(_.legacyStorePath,I,Math.max(D,10));J=T.length+q.length,W+=V.length,V.forEach(({item:Z,score:e})=>W0(S,VW(Z,e))),T.forEach((Z)=>W0(S,Eq(Z,I))),q.forEach((Z)=>W0(S,Oq(Z,I)))}finally{X.close()}if(N)try{let K=await _I({dbPath:_.dbPath,query:$,limit:Math.max(D*3,20),config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,batchSize:_.batchSize,maxParallelCalls:_.maxParallelCalls});A=K.provider,L=K.model,z=K.dimensions,P=K.results.length;for(let Q of K.results){let T={kind:"source_chunk",id:Q.chunk_id,title:null,text:Q.text,score:0,scores:{semantic:_q(Q.score)},source:{uri:Q.source_uri,ref:Q.source_ref,kind:Q.provenance?.source_kind??null,revision:Q.revision,hash:Q.hash},citation:{chunk_id:Q.chunk_id,start_offset:Q.provenance?.start_offset??null,end_offset:Q.provenance?.end_offset??null},artifact:null,provenance:Q.provenance,reasons:["semantic_match"]};T.score=X0(T.scores,T.citation),W0(S,T)}}catch(K){O.push(`semantic_search_failed: ${K instanceof Error?K.message:String(K)}`)}let R=FW(Array.from(S.values())).slice(U,U+g);return{query:$,limit:g,offset:U,mode:{keyword:!0,catalog:!0,semantic:N},semantic_provider:A,semantic_model:L,semantic_dimensions:z,counts:{keyword_results:W,catalog_results:J,semantic_results:P,merged_results:R.length},warnings:O,results:R}}async function UI(_){return j4(BW(_.legacyStorePath),_,["knowledge_db_missing"])}async function j4(_,$,g=[]){let U=$.query.trim();if(!U)throw Error("Search query is required.");let D=Math.max(1,Math.min($.limit??10,100)),I=Math.max(0,Math.floor($.offset??0)),j=QW(U),N=$.semantic===!0||$.fake===!0||Boolean($.modelRef),O=new Map,A=KW(_,j,Math.max(I+D,10));A.forEach(({item:W,score:J})=>W0(O,VW(W,J)));let L=[...g];if(N)L.push("semantic_search_requires_local_catalog");let z=FW(Array.from(O.values())).slice(I,I+D);return{query:U,limit:D,offset:I,mode:{keyword:!0,catalog:!0,semantic:N},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:A.length,catalog_results:0,semantic_results:0,merged_results:z.length},warnings:L,results:z}}function MW(_,$){return`${_}_${Aq("sha256").update($).digest("hex").slice(0,20)}`}function ZW(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Lq(_){return Array.from(new Set(ZW(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,16)}function Jq(_){return[_.title,_.text].filter(Boolean).join(" ").toLowerCase()}function Pq(_,$){if($.length===0)return 0;let g=Jq(_),U=$.filter((D)=>g.includes(D)).length;return Number((U/$.length).toFixed(6))}function zq(_){if(!_)return!0;if("read_only"in _)return _.read_only===!0;if("read_only_sources"in _)return _.read_only_sources===!0;return!0}function bW(_){if(!_)return!1;if("stale"in _&&_.stale)return!0;if("status"in _)return jE(_.status);return!1}function Sq(_){if(bW(_.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 Wq(_){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 Xq(_){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 Rq(_,$){let g={base_score:_.score,exact_score:Pq(_,$),citation_score:Wq(_),freshness_score:Sq(_),authority_score:Xq(_)},U=Math.min(1,g.base_score*0.65+g.exact_score*0.1+g.citation_score*0.1+g.freshness_score*0.1+g.authority_score*0.05),D=new Set(_.reasons);if(g.exact_score>0.5)D.add("exact_term");if(g.citation_score>=0.75)D.add("cited_source");if(g.freshness_score>=0.85)D.add("fresh_source");return{..._,score:Number(U.toFixed(6)),reasons:Array.from(D),rerank:{...g,final_score:Number(U.toFixed(6))}}}function HW(_,$){let g=_.text??_.title;if(!g)return null;let U=g.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,Math.max(0,$-1)).trim()}...`}function Gq(_){return{id:MW("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:HW(_,500),provenance:_.provenance}}function Yq(_,$,g){let U=HW(_,g);if(!U)return null;return{id:MW("excerpt",`${_.kind}\x00${_.id}`),result_id:_.id,citation_id:$.id,kind:_.kind,text:U,score:_.score}}function II(_){return _.map(()=>"?").join(", ")}function Qq(_,$){let g=$.map((N)=>N.citation?.chunk_id).filter((N)=>Boolean(N)),U=$.filter((N)=>N.kind==="wiki_page").map((N)=>N.id),D=[],I=[];if(g.length===0&&U.length===0)return{citations:D,backlinks:I};let j=v(_);try{if(g.length>0)D.push(...j.query(`SELECT id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset FROM citations WHERE chunk_id IN (${II(g)}) ORDER BY created_at DESC @@ -805,30 +805,30 @@ VALUES (10, datetime('now')); LIMIT 50`).all(...U)),I.push(...j.query(`SELECT from_page_id, to_page_id, label FROM wiki_backlinks WHERE from_page_id IN (${II(U)}) OR to_page_id IN (${II(U)}) - LIMIT 50`).all(...U,...U))}finally{j.close()}return{citations:D,backlinks:I}}function R0(_,$={}){let g=Math.max(200,Math.min($.contextChars??1200,4000)),U=Aq(_.query),D=[..._.warnings],I=new Set,j=new Set,O=_.results.filter((z)=>{if(!Pq(z.provenance))return D.push(`permission_filtered: ${z.kind}:${z.id}`),I.add("Dropped a result because provenance was not read-only."),!1;if(ZW(z.provenance))return D.push(`stale_filtered: ${z.kind}:${z.id}`),j.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((z)=>Xq(z,U)).sort((z,W)=>W.score-z.score||z.id.localeCompare(W.id)).slice(0,_.limit),A=O.map(Rq),L=O.map((z,W)=>Gq(z,A[W],g)).filter((z)=>Boolean(z));for(let z of O){if(z.provenance&&"read_only"in z.provenance&&z.provenance.read_only)I.add("All source-backed excerpts are read-only and citation-required.");if(z.rerank.freshness_score>=0.85)j.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:MW(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:O,citations:A,excerpts:L,graph:$.dbPath?Yq($.dbPath,O):{citations:[],backlinks:[]},notes:{permissions:Array.from(I),freshness:Array.from(j)}}}async function G0(_){let $=await DI(_);return R0($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function jI(_,$){let g=await j4(_,$);return R0(g,{contextChars:$.contextChars})}function Y0(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function TE(_){return`C${_+1}`}function kW(_,$){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((U,D)=>{let I=$.citations.find((N)=>N.id===U.citation_id),j=I?.source_ref??I?.source_uri??I?.artifact_path??I?.artifact_uri??"unknown source";return`[${TE(D)}] ${U.text} (${j})`})].join(` -`)}function CW(_,$){let g=$.citations.map((D,I)=>({id:TE(I),source_ref:D.source_ref,source_uri:D.source_uri,artifact_path:D.artifact_path,revision:D.revision,hash:D.hash,quote:D.quote})),U=$.excerpts.map((D,I)=>({id:TE(I),kind:D.kind,text:D.text,score:D.score}));return[`Prompt: ${_}`,"","Use only the provided context. Cite claims with citation ids like [C1]. If context is insufficient, say what is missing.","",`Context excerpts: + LIMIT 50`).all(...U,...U))}finally{j.close()}return{citations:D,backlinks:I}}function R0(_,$={}){let g=Math.max(200,Math.min($.contextChars??1200,4000)),U=Lq(_.query),D=[..._.warnings],I=new Set,j=new Set,O=_.results.filter((z)=>{if(!zq(z.provenance))return D.push(`permission_filtered: ${z.kind}:${z.id}`),I.add("Dropped a result because provenance was not read-only."),!1;if(bW(z.provenance))return D.push(`stale_filtered: ${z.kind}:${z.id}`),j.add("Dropped a stale result whose source status requires reindexing."),!1;return!0}).map((z)=>Rq(z,U)).sort((z,W)=>W.score-z.score||z.id.localeCompare(W.id)).slice(0,_.limit),A=O.map(Gq),L=O.map((z,W)=>Yq(z,A[W],g)).filter((z)=>Boolean(z));for(let z of O){if(z.provenance&&"read_only"in z.provenance&&z.provenance.read_only)I.add("All source-backed excerpts are read-only and citation-required.");if(z.rerank.freshness_score>=0.85)j.add("Fresh source revision/hash or artifact hash is present for top context.")}return{query:_.query,normalized_query:ZW(_.query),created_at:new Date().toISOString(),mode:_.mode,warnings:D,search_counts:_.counts,results:O,citations:A,excerpts:L,graph:$.dbPath?Qq($.dbPath,O):{citations:[],backlinks:[]},notes:{permissions:Array.from(I),freshness:Array.from(j)}}}async function G0(_){let $=await DI(_);return R0($,{dbPath:_.dbPath,contextChars:_.contextChars})}async function jI(_,$){let g=await j4(_,$);return R0(g,{contextChars:$.contextChars})}function Y0(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function TE(_){return`C${_+1}`}function CW(_,$){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((U,D)=>{let I=$.citations.find((N)=>N.id===U.citation_id),j=I?.source_ref??I?.source_uri??I?.artifact_path??I?.artifact_uri??"unknown source";return`[${TE(D)}] ${U.text} (${j})`})].join(` +`)}function rW(_,$){let g=$.citations.map((D,I)=>({id:TE(I),source_ref:D.source_ref,source_uri:D.source_uri,artifact_path:D.artifact_path,revision:D.revision,hash:D.hash,quote:D.quote})),U=$.excerpts.map((D,I)=>({id:TE(I),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(U,null,2)}`,"",`Citations: ${JSON.stringify(g,null,2)}`].join(` -`)}function rW(_,$){if($.citations.length===0)return[];return[{kind:"answer_note",title:_.length>80?`${_.slice(0,77)}...`:_,citations:$.citations.map((g)=>g.id),requires_approval:!0}]}function Qq(_,$){let g=v(_);try{g.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) +`)}function vW(_,$){if($.citations.length===0)return[];return[{kind:"answer_note",title:_.length>80?`${_.slice(0,77)}...`:_,citations:$.citations.map((g)=>g.id),requires_approval:!0}]}function Tq(_,$){let g=v(_);try{g.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{g.close()}}function QE(_,$){let g=v(_);try{g.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${qE()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{g.close()}}function HW(_,$){let g=v(_);try{g.run(`UPDATE runs + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${qE()}`,$.runId,$.level,$.event,JSON.stringify($.metadata),$.now])}finally{g.close()}}function kW(_,$){let g=v(_);try{g.run(`UPDATE runs SET status = ?, provider = ?, model = ?, metadata_json = ?, updated_at = ? - WHERE id = ?`,[$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.runId])}finally{g.close()}}function Tq(_,$,g,U,D,I,j={}){let N=v(_);try{S0(N,{run_id:$,provider:U,model:D,input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd,metadata:j,created_at:I})}finally{N.close()}}async function vW(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let g=(_.now??new Date).toISOString(),U=`run_${qE()}`,D=G$(_.modelRef??"default",_.config),I=f_(D);h(_.dbPath),Qq(_.dbPath,{runId:U,prompt:$,status:_.generate?"running":"dry_run",provider:_.generate?I.provider:"local",model:_.generate?I.model:"context-draft",metadata:{semantic:_.semantic===!0||_.fake===!0||Boolean(_.modelRef),approve_write:_.approveWrite===!0,generated:_.generate===!0},now:g});let{prompt:j,generate:N,approveWrite:O,now:A,...L}=_,z=await G0({...L,query:$});QE(_.dbPath,{runId:U,level:"info",event:"context_retrieved",metadata:{results:z.results.length,citations:z.citations.length,warnings:z.warnings},now:g});let W=kW($,z),J=!1,P="local",S="context-draft",X={input_tokens:Y0($)+z.excerpts.reduce((Q,T)=>Q+Y0(T.text),0),output_tokens:Y0(W),cost_usd:0},G=[...z.warnings];if(_.generate)try{if(_.fake)J=!0,P=I.provider,S=I.model,W=`Fake generated answer for: ${$} + WHERE id = ?`,[$.status,$.provider,$.model,JSON.stringify($.metadata),$.now,$.runId])}finally{g.close()}}function qq(_,$,g,U,D,I,j={}){let N=v(_);try{S0(N,{run_id:$,provider:U,model:D,input_tokens:g.input_tokens,output_tokens:g.output_tokens,cost_usd:g.cost_usd,metadata:j,created_at:I})}finally{N.close()}}async function fW(_){let $=_.prompt.trim();if(!$)throw Error("Knowledge prompt is required.");let g=(_.now??new Date).toISOString(),U=`run_${qE()}`,D=G$(_.modelRef??"default",_.config),I=f_(D);h(_.dbPath),Tq(_.dbPath,{runId:U,prompt:$,status:_.generate?"running":"dry_run",provider:_.generate?I.provider:"local",model:_.generate?I.model:"context-draft",metadata:{semantic:_.semantic===!0||_.fake===!0||Boolean(_.modelRef),approve_write:_.approveWrite===!0,generated:_.generate===!0},now:g});let{prompt:j,generate:N,approveWrite:O,now:A,...L}=_,z=await G0({...L,query:$});QE(_.dbPath,{runId:U,level:"info",event:"context_retrieved",metadata:{results:z.results.length,citations:z.citations.length,warnings:z.warnings},now:g});let W=CW($,z),J=!1,P="local",S="context-draft",X={input_tokens:Y0($)+z.excerpts.reduce((Q,T)=>Q+Y0(T.text),0),output_tokens:Y0(W),cost_usd:0},G=[...z.warnings];if(_.generate)try{if(_.fake)J=!0,P=I.provider,S=I.model,W=`Fake generated answer for: ${$} -${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:_.config,env:_.env}),q=await Q({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:CW($,z)});J=!0,P=I.provider,S=I.model,W=q.text;let V=U4({provider:P,model:S,usage:q.usage,providerMetadata:q.providerMetadata});X={input_tokens:V.input_tokens,output_tokens:V.output_tokens,cost_usd:V.cost_usd}}}catch(Q){throw QE(_.dbPath,{runId:U,level:"error",event:"answer_generation_failed",metadata:{message:Q instanceof Error?Q.message:String(Q)},now:g}),HW(_.dbPath,{runId:U,status:"failed",provider:I.provider,model:I.model,metadata:{generated:!1,error:Q instanceof Error?Q.message:String(Q)},now:g}),Q}let R=rW($,z),K={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return QE(_.dbPath,{runId:U,level:"info",event:J?"answer_generated":"answer_drafted",metadata:{provider:P,model:S,proposed_updates:R.length,durable_writes_performed:!1},now:g}),Tq(_.dbPath,U,X,P,S,g,{generated:J,citations:z.citations.length}),HW(_.dbPath,{runId:U,status:J?"completed":"dry_run",provider:P,model:S,metadata:{generated:J,citations:z.citations.length,proposed_updates:R.length,approve_write:_.approveWrite===!0},now:g}),{run_id:U,prompt:$,generated:J,provider:P,model:S,answer:W,context:z,citations:z.citations,proposed_wiki_updates:R,write_policy:K,usage:X,warnings:G}}async function fW(_,$){let g=$.prompt.trim();if(!g)throw Error("Knowledge prompt is required.");let U=`run_${qE()}`,D=G$($.modelRef??"default",$.config),I=f_(D),{prompt:j,generate:N,approveWrite:O,now:A,...L}=$,z=await jI(_,{...L,query:g}),W=kW(g,z),J=!1,P="local",S="context-draft",X={input_tokens:Y0(g)+z.excerpts.reduce((Q,T)=>Q+Y0(T.text),0),output_tokens:Y0(W),cost_usd:0},G=[...z.warnings];if($.generate)if($.fake)J=!0,P=I.provider,S=I.model,W=`Fake generated answer for: ${g} +${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:_.config,env:_.env}),q=await Q({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:rW($,z)});J=!0,P=I.provider,S=I.model,W=q.text;let V=U4({provider:P,model:S,usage:q.usage,providerMetadata:q.providerMetadata});X={input_tokens:V.input_tokens,output_tokens:V.output_tokens,cost_usd:V.cost_usd}}}catch(Q){throw QE(_.dbPath,{runId:U,level:"error",event:"answer_generation_failed",metadata:{message:Q instanceof Error?Q.message:String(Q)},now:g}),kW(_.dbPath,{runId:U,status:"failed",provider:I.provider,model:I.model,metadata:{generated:!1,error:Q instanceof Error?Q.message:String(Q)},now:g}),Q}let R=vW($,z),K={approved:_.approveWrite===!0,durable_writes_performed:!1,reason:_.approveWrite?"Approval flag recorded; durable wiki writing is deferred to the wiki compile task.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return QE(_.dbPath,{runId:U,level:"info",event:J?"answer_generated":"answer_drafted",metadata:{provider:P,model:S,proposed_updates:R.length,durable_writes_performed:!1},now:g}),qq(_.dbPath,U,X,P,S,g,{generated:J,citations:z.citations.length}),kW(_.dbPath,{runId:U,status:J?"completed":"dry_run",provider:P,model:S,metadata:{generated:J,citations:z.citations.length,proposed_updates:R.length,approve_write:_.approveWrite===!0},now:g}),{run_id:U,prompt:$,generated:J,provider:P,model:S,answer:W,context:z,citations:z.citations,proposed_wiki_updates:R,write_policy:K,usage:X,warnings:G}}async function wW(_,$){let g=$.prompt.trim();if(!g)throw Error("Knowledge prompt is required.");let U=`run_${qE()}`,D=G$($.modelRef??"default",$.config),I=f_(D),{prompt:j,generate:N,approveWrite:O,now:A,...L}=$,z=await jI(_,{...L,query:g}),W=CW(g,z),J=!1,P="local",S="context-draft",X={input_tokens:Y0(g)+z.excerpts.reduce((Q,T)=>Q+Y0(T.text),0),output_tokens:Y0(W),cost_usd:0},G=[...z.warnings];if($.generate)if($.fake)J=!0,P=I.provider,S=I.model,W=`Fake generated answer for: ${g} -${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config,env:$.env}),q=await Q({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:CW(g,z)});J=!0,P=I.provider,S=I.model,W=q.text;let V=U4({provider:P,model:S,usage:q.usage,providerMetadata:q.providerMetadata});X={input_tokens:V.input_tokens,output_tokens:V.output_tokens,cost_usd:V.cost_usd}}let R=rW(g,z),K={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:U,prompt:g,generated:J,provider:P,model:S,answer:W,context:z,citations:z.citations,proposed_wiki_updates:R,write_policy:K,usage:X,warnings:G}}import{createHash as qq}from"crypto";var Bq=1200,Kq=6,Vq=12000,Fq=50,wW=800;function T0(_,$,g=16){return`${_}_${qq("sha256").update($).digest("hex").slice(0,g)}`}function KE(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function VE(_){return KE(_).toLowerCase()}function Mq(_){return Array.from(new Set(VE(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function g6(_,$){let g=KE(_);if(g.length<=$)return g;let U="...";if($<=U.length)return g.slice(0,Math.max(0,$));return`${g.slice(0,$-U.length).trim()}${U}`}function uW(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function FE(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function BE(_){return Object.keys(_).filter(($)=>!FE($)).sort().slice(0,12)}function Zq(_,$){for(let g of $){if(FE(g))continue;let U=_[g];if(typeof U==="string"&&U.trim())return U.trim()}return null}function xg(_,$){if(!_)return null;let g=u_(_,$).text;try{let U=new URL(g),D=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let I of D)U.searchParams.delete(I);for(let[I]of U.searchParams)if(FE(I))U.searchParams.delete(I);return U.toString()}catch{return g}}function w$(_,$,g){return xg(Zq(_,$),g)}function NI(_){let $=[];for(let g of BE(_).slice(0,6)){let U=_[g];if(typeof U==="string"&&U.trim())$.push(`${g}=${g6(U,80)}`);else if(typeof U==="number"||typeof U==="boolean")$.push(`${g}=${String(U)}`);else if(U&&typeof U==="object")$.push(`${g}={...}`)}return $.join("; ")}function bq(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function xW(_){return bq(JSON.stringify(_))}function Hq(_){if(!Number.isFinite(_??NaN))return Bq;let $=Math.floor(_);if($g.includes(D)).length;return Number((U/$.length).toFixed(6))}function Cq(_){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 rq(_,$,g){let U=xg($.source_ref,g),D=xg($.source_uri,g),I=xg($.artifact_uri,g),j=xg($.artifact_path,g),N=U??D??j??I??$.id,O=$.quote?Q0($.quote,g,_<3?220:140):null;return{citation:{id:T0("cite",`${$.id}\x00${N}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:N,source_ref:U,source_uri:D,artifact_uri:I,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 vq(_,$){let g=(_.query??_.topic??"").trim();if(!g)throw Error("Context pack query is required for search source.");let{config:U,dbPath:D,limit:I,semantic:j,modelRef:N,dimensions:O,fake:A,env:L,batchSize:z,maxParallelCalls:W,legacyStorePath:J}=_,P=await G0({dbPath:D,config:U,legacyStorePath:J,query:g,limit:Math.max($,I??$),semantic:j,modelRef:N,dimensions:O,fake:A,env:L,batchSize:z,maxParallelCalls:W,contextChars:Math.min(_.contextChars??700,1200)}),S=new Map,X=0;P.citations.forEach((Q,T)=>{let q=rq(T,Q,_.safetyPolicy);X+=q.redactions,S.set(Q.id,q.citation)});let G=P.excerpts.slice(0,Math.max($*2,$)).map((Q)=>{let T=P.results.find((a)=>a.id===Q.result_id),q=Q.citation_id?S.get(Q.citation_id):null,V=Q0(Q.text,_.safetyPolicy,520);X+=V.redactions;let Z=T?.title??q?.ref??Q.kind;return{id:T0("ev",`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`,14),kind:Q.kind,title:g6(Z,100),text_preview:V.text,score:Number(Q.score.toFixed(6)),citation_ids:q?[q.id]:[],provenance:{source:"search",record_ref:`${Q.kind}:${Q.result_id}`,created_at:P.created_at,updated_at:null,metadata_keys:[]}}}),R=new Set(G.flatMap((Q)=>Q.citation_ids));return{citations:Array.from(S.values()).filter((Q)=>R.has(Q.id)),evidence:G,duplicateCandidates:[],redactions:X,warnings:P.warnings,available:P.excerpts.length}}function fq(_,$,g){if($)return _.query(`SELECT id, type, prompt, status, provider, model, cost_tokens, cost_usd, metadata_json, created_at, updated_at +${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config,env:$.env}),q=await Q({model:T,system:"You answer company knowledge-base prompts using only provided context and citation ids.",prompt:rW(g,z)});J=!0,P=I.provider,S=I.model,W=q.text;let V=U4({provider:P,model:S,usage:q.usage,providerMetadata:q.providerMetadata});X={input_tokens:V.input_tokens,output_tokens:V.output_tokens,cost_usd:V.cost_usd}}let R=vW(g,z),K={approved:$.approveWrite===!0,durable_writes_performed:!1,reason:$.approveWrite?"Approval flag recorded; durable wiki writes require the local catalog (wiki compile) and are not available in cloud mode.":"Dry-run mode: proposed wiki updates require approval before durable writes."};return{run_id:U,prompt:g,generated:J,provider:P,model:S,answer:W,context:z,citations:z.citations,proposed_wiki_updates:R,write_policy:K,usage:X,warnings:G}}import{createHash as Bq}from"crypto";var Kq=1200,Vq=6,Fq=12000,Mq=50,uW=800;function T0(_,$,g=16){return`${_}_${Bq("sha256").update($).digest("hex").slice(0,g)}`}function KE(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function VE(_){return KE(_).toLowerCase()}function Zq(_){return Array.from(new Set(VE(_).match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,24)}function g6(_,$){let g=KE(_);if(g.length<=$)return g;let U="...";if($<=U.length)return g.slice(0,Math.max(0,$));return`${g.slice(0,$-U.length).trim()}${U}`}function xW(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function FE(_){return/(?:api[_-]?key|secret|token|password|private[_-]?key|credential)/i.test(_)}function BE(_){return Object.keys(_).filter(($)=>!FE($)).sort().slice(0,12)}function bq(_,$){for(let g of $){if(FE(g))continue;let U=_[g];if(typeof U==="string"&&U.trim())return U.trim()}return null}function xg(_,$){if(!_)return null;let g=u_(_,$).text;try{let U=new URL(g),D=["token","access_token","api_key","apikey","key","secret","password","signature","sig"];for(let I of D)U.searchParams.delete(I);for(let[I]of U.searchParams)if(FE(I))U.searchParams.delete(I);return U.toString()}catch{return g}}function w$(_,$,g){return xg(bq(_,$),g)}function NI(_){let $=[];for(let g of BE(_).slice(0,6)){let U=_[g];if(typeof U==="string"&&U.trim())$.push(`${g}=${g6(U,80)}`);else if(typeof U==="number"||typeof U==="boolean")$.push(`${g}=${String(U)}`);else if(U&&typeof U==="object")$.push(`${g}={...}`)}return $.join("; ")}function Hq(_){if(!_.trim())return 0;return Math.max(1,Math.ceil(_.length/4))}function yW(_){return Hq(JSON.stringify(_))}function kq(_){if(!Number.isFinite(_??NaN))return Kq;let $=Math.floor(_);if($g.includes(D)).length;return Number((U/$.length).toFixed(6))}function rq(_){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 vq(_,$,g){let U=xg($.source_ref,g),D=xg($.source_uri,g),I=xg($.artifact_uri,g),j=xg($.artifact_path,g),N=U??D??j??I??$.id,O=$.quote?Q0($.quote,g,_<3?220:140):null;return{citation:{id:T0("cite",`${$.id}\x00${N}`,12),kind:$.artifact_uri||$.artifact_path?"artifact":"source",ref:N,source_ref:U,source_uri:D,artifact_uri:I,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 fq(_,$){let g=(_.query??_.topic??"").trim();if(!g)throw Error("Context pack query is required for search source.");let{config:U,dbPath:D,limit:I,semantic:j,modelRef:N,dimensions:O,fake:A,env:L,batchSize:z,maxParallelCalls:W,legacyStorePath:J}=_,P=await G0({dbPath:D,config:U,legacyStorePath:J,query:g,limit:Math.max($,I??$),semantic:j,modelRef:N,dimensions:O,fake:A,env:L,batchSize:z,maxParallelCalls:W,contextChars:Math.min(_.contextChars??700,1200)}),S=new Map,X=0;P.citations.forEach((Q,T)=>{let q=vq(T,Q,_.safetyPolicy);X+=q.redactions,S.set(Q.id,q.citation)});let G=P.excerpts.slice(0,Math.max($*2,$)).map((Q)=>{let T=P.results.find((e)=>e.id===Q.result_id),q=Q.citation_id?S.get(Q.citation_id):null,V=Q0(Q.text,_.safetyPolicy,520);X+=V.redactions;let Z=T?.title??q?.ref??Q.kind;return{id:T0("ev",`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`,14),kind:Q.kind,title:g6(Z,100),text_preview:V.text,score:Number(Q.score.toFixed(6)),citation_ids:q?[q.id]:[],provenance:{source:"search",record_ref:`${Q.kind}:${Q.result_id}`,created_at:P.created_at,updated_at:null,metadata_keys:[]}}}),R=new Set(G.flatMap((Q)=>Q.citation_ids));return{citations:Array.from(S.values()).filter((Q)=>R.has(Q.id)),evidence:G,duplicateCandidates:[],redactions:X,warnings:P.warnings,available:P.excerpts.length}}function wq(_,$,g){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($,$,g);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(g)}function wq(_,$,g){if($.length===0)return[];let U=$.map(()=>"?").join(", ");return _.query(`SELECT id, run_id, level, event, metadata_json, created_at + LIMIT ?`).all(g)}function uq(_,$,g){if($.length===0)return[];let U=$.map(()=>"?").join(", ");return _.query(`SELECT id, run_id, level, event, metadata_json, created_at FROM run_events WHERE run_id IN (${U}) ORDER BY created_at DESC - LIMIT ?`).all(...$,g)}function uq(_,$){return`${_.type} ${_.metadata_json} ${$.map((U)=>`${U.event} ${U.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function xq(_,$,g){let U=w$($,["source_ref","source_uri","evidence_uri","receipt_uri"],g),D=w$($,["artifact_uri"],g),I=w$($,["artifact_path","artifact_key"],g),j=U??D??I??`knowledge://project/runs/${_.id}`,N=_.prompt?Q0(_.prompt,g,180).text:null;return{id:T0("cite",`run\x00${_.id}\x00${j}`,12),kind:D||I?"artifact":"run",ref:j,source_ref:U?.startsWith("open-files://")?U:null,source_uri:U&&!U.startsWith("open-files://")?U:null,artifact_uri:D,artifact_path:I,run_id:_.id,run_event_id:null,revision:w$($,["revision"],g),hash:w$($,["hash","content_hash"],g),chunk_id:null,offsets:{start:null,end:null},quote_preview:N}}function yq(_,$,g){let U=w$($,["source_ref","source_uri","evidence_uri","receipt_uri"],g),D=w$($,["artifact_uri"],g),I=w$($,["artifact_path","artifact_key"],g),j=U??D??I??`knowledge://project/runs/${_.run_id}`,N=Q0(_.event,g,160).text;return{id:T0("cite",`event\x00${_.id}\x00${j}`,12),kind:D||I?"artifact":"run_event",ref:j,source_ref:U?.startsWith("open-files://")?U:null,source_uri:U&&!U.startsWith("open-files://")?U:null,artifact_uri:D,artifact_path:I,run_id:_.run_id,run_event_id:_.id,revision:w$($,["revision"],g),hash:w$($,["hash","content_hash"],g),chunk_id:null,offsets:{start:null,end:null},quote_preview:N}}function nW(_){let $=new Map;for(let g of _){let U=VE(`${g.title} ${g.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(!U)continue;$.set(U,[...$.get(U)??[],g.id])}return Array.from($.entries()).filter(([,g])=>g.length>1).map(([g,U])=>({id:T0("dup",g,12),reason:"normalized_text_match",evidence_ids:U,confidence:U.length>2?"high":"medium"}))}async function hq(_,$,g){let U=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),I=Mq(D),j=cW(_.since,g),N=j.warning?[j.warning]:[];h(_.dbPath);let O=v(_.dbPath);try{let A=fq(O,j.cutoff,Math.max($*8,40)),L=wq(O,A.map((G)=>G.id),Math.max($*12,80)),z=new Map;for(let G of L)z.set(G.run_id,[...z.get(G.run_id)??[],G]);let J=(U==="loops"?A.filter((G)=>uq(G,z.get(G.id)??[])):A).map((G)=>{let R=uW(G.metadata_json),K=`${G.type} ${G.status} ${G.prompt??""} ${NI(R)} ${(z.get(G.id)??[]).map((Q)=>`${Q.event} ${Q.metadata_json}`).join(" ")}`;return{row:G,metadata:R,score:yW(K,I),text:K}}).filter((G)=>I.length===0||G.score>0).sort((G,R)=>R.score-G.score||R.row.updated_at.localeCompare(G.row.updated_at)||G.row.id.localeCompare(R.row.id)),P=[],S=[],X=0;for(let G of J.slice(0,Math.max($*2,$))){let R=xq(G.row,G.metadata,_.safetyPolicy);P.push(R);let K=NI(G.metadata),Q=[G.row.prompt,K].filter(Boolean).join(" | ")||`${G.row.type} ${G.row.status}`,T=Q0(Q,_.safetyPolicy,420);X+=T.redactions,S.push({id:`run:${G.row.id}`,kind:G.row.type,title:g6(`${G.row.type}: ${G.row.status}`,100),text_preview:T.text,score:G.score,citation_ids:[R.id],provenance:{source:U,record_ref:`knowledge://project/runs/${G.row.id}`,created_at:G.row.created_at,updated_at:G.row.updated_at,metadata_keys:BE(G.metadata)}});let q=(z.get(G.row.id)??[]).map((V)=>{let Z=uW(V.metadata_json),a=`${V.event} ${NI(Z)} ${V.metadata_json}`;return{event:V,metadata:Z,score:yW(a,I),text:a}}).filter((V)=>I.length===0||V.score>0).sort((V,Z)=>Z.score-V.score||Z.event.created_at.localeCompare(V.event.created_at)||V.event.id.localeCompare(Z.event.id)).slice(0,2);for(let V of q){let Z=yq(V.event,V.metadata,_.safetyPolicy);P.push(Z);let a=Q0(`${V.event}: ${NI(V.metadata)}`,_.safetyPolicy,320);X+=a.redactions,S.push({id:`event:${V.event.id}`,kind:`run_event:${V.event.level}`,title:g6(V.event.event,100),text_preview:a.text,score:V.score,citation_ids:[Z.id],provenance:{source:U,record_ref:`knowledge://project/runs/${V.event.run_id}`,created_at:V.event.created_at,updated_at:null,metadata_keys:BE(V.metadata)}})}}return{citations:P,evidence:S,duplicateCandidates:_.dedupe?nW(S):[],redactions:X,warnings:N,available:J.length}}finally{O.close()}}function cq(_){let $=_.purpose==="proposal"?`Proposal context: ${g6(_.query||"loop evidence",80)}`:`Knowledge context: ${g6(_.query,80)}`,g=_.evidence.slice(0,8).map((I)=>I.id),U=_.duplicates.slice(0,5).map((I)=>I.id),D=_.evidence.slice(0,5).map((I)=>`${I.id}: ${I.title}`);if(_.evidence.length===0)D.push("No matching bounded evidence was found.");return{title:$,bullets:D,evidence_ids:g,duplicate_candidate_ids:U,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 dW(_){let $=new Set(_.evidence.flatMap((g)=>g.citation_ids));_.citations=_.citations.filter((g)=>$.has(g.id))}function hW(_){_.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 nq(_){let $=_.budgets.max_tokens,g=new Set(_.warnings);while(xW(_)>$){let U=_.evidence.map((I,j)=>({entry:I,index:j})).filter(({entry:I})=>I.text_preview.length>180).sort((I,j)=>j.entry.text_preview.length-I.entry.text_preview.length)[0];if(U){U.entry.text_preview=g6(U.entry.text_preview,180),g.add("text_preview_truncated_for_token_budget");continue}let D=_.citations.filter((I)=>(I.quote_preview?.length??0)>120).sort((I,j)=>(j.quote_preview?.length??0)-(I.quote_preview?.length??0))[0];if(D?.quote_preview){D.quote_preview=g6(D.quote_preview,120),g.add("citation_quote_truncated_for_token_budget");continue}if(_.evidence.length>0){_.evidence.pop(),_.budgets.items_truncated+=1,_.duplicate_candidates=_.duplicate_candidates.map((I)=>({...I,evidence_ids:I.evidence_ids.filter((j)=>_.evidence.some((N)=>N.id===j))})).filter((I)=>I.evidence_ids.length>1),hW(_),g.add("evidence_truncated_for_token_budget"),dW(_);continue}if(_.outline.next_actions.length>1){_.outline.next_actions.pop(),g.add("outline_truncated_for_token_budget");continue}g.add("token_budget_floor_exceeded");break}if(_.warnings=Array.from(g).sort(),_.budgets.items_included=_.evidence.length,hW(_),_.budgets.estimated_tokens=xW(_),_.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 mW(_){let $=_.now??new Date,g=_.source??"search",U=_.purpose??(g==="loops"||g==="runs"?"proposal":"agent_context"),D=Hq(_.maxTokens),I=kq(_.maxItems,_.limit),j=KE(_.query??_.topic??"");if(U==="proposal"&&g!=="search"&&!j)throw Error("Proposal context requires --topic or a positional topic.");if(g!=="search")h(_.dbPath);let N=cW(_.since,$).cutoff??_.since??"",O=g==="search"?await vq(_,I):await hq(_,I,$),A=O.evidence.sort((P,S)=>S.score-P.score||P.id.localeCompare(S.id)).slice(0,I),L=O.citations.filter((P,S,X)=>X.findIndex((G)=>G.id===P.id)===S).sort((P,S)=>P.id.localeCompare(S.id)),z=_.dedupe?nW(A):O.duplicateCandidates.filter((P)=>P.evidence_ids.every((S)=>A.some((X)=>X.id===S))),W=cq({source:g,purpose:U,query:j,evidence:A,duplicates:z}),J={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:g,purpose:U,query:j,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:T0("ctx",[g,U,j,N,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,I,A.map((P)=>P.id).join(","),L.map((P)=>P.id).join(",")].join("\x00"),20),budgets:{max_tokens:D,estimated_tokens:0,max_items:I,items_included:A.length,items_available:O.available,items_truncated:Math.max(0,O.available-A.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:O.redactions,reminders:Cq(g)},citations:L,evidence:A,duplicate_candidates:z,outline:W,warnings:O.warnings,message:`${A.length} bounded evidence item(s), estimated under ${D} token(s)`};return dW(J),nq(J)}import{randomUUID as SR}from"crypto";import{createHash as dq,randomUUID as mq}from"crypto";import{existsSync as iq,readFileSync as lq}from"fs";import{hostname as eW}from"os";import{fileURLToPath as aW}from"url";import{extname as tq,relative as sW,resolve as iW,sep as oq}from"path";var AI=["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"],V6=2,F6=1,dg={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"]},mg=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function u$(_=new Date){return _.toISOString()}function CE(_){return`${_}_${Date.now().toString(36)}_${mq().slice(0,8)}`}function _X(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??eW()}function B0(_){if(Array.isArray(_))return`[${_.map(B0).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((g)=>`${JSON.stringify(g)}:${B0($[g])}`).join(",")}}`}return JSON.stringify(_)}function hg(_){return`sha256:${dq("sha256").update(_).digest("hex")}`}function EI(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function JI(_,$){try{return JSON.parse(_)}catch{return $}}function j$(_){return`"${_.replace(/"/g,'""')}"`}function pq(_){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 $X(_,$){return $.filter((g)=>J$(_,g))}function J$(_,$){let g=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(g)}function eq(_,$){let g=_.query(`PRAGMA table_info(${j$($)})`).all();return new Set(g.map((U)=>U.name))}function aq(_,$,g){let U=eq(_,$);return g.filter((D)=>U.has(D))}function gX(_){if(!_||_.length===0)return[...AI];let $=new Set(AI),g=_.map((D)=>D.trim()).filter(Boolean),U=g.filter((D)=>!$.has(D));if(U.length>0)throw Error(`Unknown knowledge sync table(s): ${U.join(", ")}`);return g}function E4(_,$){return dg[_].map((U)=>`${U}=${JSON.stringify($[U]??null)}`).join("&")}var sq=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function cg(_,$=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((U)=>cg(U,$+1));let g={};for(let[U,D]of Object.entries(_)){if(sq.has(U.toLowerCase()))continue;g[U]=cg(D,$+1)}return g}function yg(_){if(!_)return null;return cg(_)}function rE(_){return hg(B0(_))}function _B(_,$){let g={};for(let[U,D]of Object.entries(_))if(U==="artifact_uri"&&typeof D==="string"&&$.has(D))g[U]=`artifact:${$.get(D)}`;else g[U]=D;return g}function N4(_,$=new Map){return rE(_B(_,$))}function DX(_,$){if(!J$(_,$))return[];return _.query(`SELECT * FROM ${j$($)} ORDER BY rowid ASC`).all()}function LI(_,$,g=new Map){return rE($.map((U)=>({key:E4(_,U),hash:N4(U,g)})).sort((U,D)=>U.key.localeCompare(D.key)))}function ng(_,$,g){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,g)??null}function $B(_){if(!J$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function PI(_,$){let g=$.now??u$(),D=ng(_,$.table,$.machineId)?.created_at??g;_.query(` + LIMIT ?`).all(...$,g)}function xq(_,$){return`${_.type} ${_.metadata_json} ${$.map((U)=>`${U.event} ${U.metadata_json}`).join(" ")}`.toLowerCase().includes("loop")}function yq(_,$,g){let U=w$($,["source_ref","source_uri","evidence_uri","receipt_uri"],g),D=w$($,["artifact_uri"],g),I=w$($,["artifact_path","artifact_key"],g),j=U??D??I??`knowledge://project/runs/${_.id}`,N=_.prompt?Q0(_.prompt,g,180).text:null;return{id:T0("cite",`run\x00${_.id}\x00${j}`,12),kind:D||I?"artifact":"run",ref:j,source_ref:U?.startsWith("open-files://")?U:null,source_uri:U&&!U.startsWith("open-files://")?U:null,artifact_uri:D,artifact_path:I,run_id:_.id,run_event_id:null,revision:w$($,["revision"],g),hash:w$($,["hash","content_hash"],g),chunk_id:null,offsets:{start:null,end:null},quote_preview:N}}function hq(_,$,g){let U=w$($,["source_ref","source_uri","evidence_uri","receipt_uri"],g),D=w$($,["artifact_uri"],g),I=w$($,["artifact_path","artifact_key"],g),j=U??D??I??`knowledge://project/runs/${_.run_id}`,N=Q0(_.event,g,160).text;return{id:T0("cite",`event\x00${_.id}\x00${j}`,12),kind:D||I?"artifact":"run_event",ref:j,source_ref:U?.startsWith("open-files://")?U:null,source_uri:U&&!U.startsWith("open-files://")?U:null,artifact_uri:D,artifact_path:I,run_id:_.run_id,run_event_id:_.id,revision:w$($,["revision"],g),hash:w$($,["hash","content_hash"],g),chunk_id:null,offsets:{start:null,end:null},quote_preview:N}}function dW(_){let $=new Map;for(let g of _){let U=VE(`${g.title} ${g.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(!U)continue;$.set(U,[...$.get(U)??[],g.id])}return Array.from($.entries()).filter(([,g])=>g.length>1).map(([g,U])=>({id:T0("dup",g,12),reason:"normalized_text_match",evidence_ids:U,confidence:U.length>2?"high":"medium"}))}async function cq(_,$,g){let U=_.source==="loops"?"loops":"runs",D=(_.topic??_.query??"").trim(),I=Zq(D),j=nW(_.since,g),N=j.warning?[j.warning]:[];h(_.dbPath);let O=v(_.dbPath);try{let A=wq(O,j.cutoff,Math.max($*8,40)),L=uq(O,A.map((G)=>G.id),Math.max($*12,80)),z=new Map;for(let G of L)z.set(G.run_id,[...z.get(G.run_id)??[],G]);let J=(U==="loops"?A.filter((G)=>xq(G,z.get(G.id)??[])):A).map((G)=>{let R=xW(G.metadata_json),K=`${G.type} ${G.status} ${G.prompt??""} ${NI(R)} ${(z.get(G.id)??[]).map((Q)=>`${Q.event} ${Q.metadata_json}`).join(" ")}`;return{row:G,metadata:R,score:hW(K,I),text:K}}).filter((G)=>I.length===0||G.score>0).sort((G,R)=>R.score-G.score||R.row.updated_at.localeCompare(G.row.updated_at)||G.row.id.localeCompare(R.row.id)),P=[],S=[],X=0;for(let G of J.slice(0,Math.max($*2,$))){let R=yq(G.row,G.metadata,_.safetyPolicy);P.push(R);let K=NI(G.metadata),Q=[G.row.prompt,K].filter(Boolean).join(" | ")||`${G.row.type} ${G.row.status}`,T=Q0(Q,_.safetyPolicy,420);X+=T.redactions,S.push({id:`run:${G.row.id}`,kind:G.row.type,title:g6(`${G.row.type}: ${G.row.status}`,100),text_preview:T.text,score:G.score,citation_ids:[R.id],provenance:{source:U,record_ref:`knowledge://project/runs/${G.row.id}`,created_at:G.row.created_at,updated_at:G.row.updated_at,metadata_keys:BE(G.metadata)}});let q=(z.get(G.row.id)??[]).map((V)=>{let Z=xW(V.metadata_json),e=`${V.event} ${NI(Z)} ${V.metadata_json}`;return{event:V,metadata:Z,score:hW(e,I),text:e}}).filter((V)=>I.length===0||V.score>0).sort((V,Z)=>Z.score-V.score||Z.event.created_at.localeCompare(V.event.created_at)||V.event.id.localeCompare(Z.event.id)).slice(0,2);for(let V of q){let Z=hq(V.event,V.metadata,_.safetyPolicy);P.push(Z);let e=Q0(`${V.event}: ${NI(V.metadata)}`,_.safetyPolicy,320);X+=e.redactions,S.push({id:`event:${V.event.id}`,kind:`run_event:${V.event.level}`,title:g6(V.event.event,100),text_preview:e.text,score:V.score,citation_ids:[Z.id],provenance:{source:U,record_ref:`knowledge://project/runs/${V.event.run_id}`,created_at:V.event.created_at,updated_at:null,metadata_keys:BE(V.metadata)}})}}return{citations:P,evidence:S,duplicateCandidates:_.dedupe?dW(S):[],redactions:X,warnings:N,available:J.length}}finally{O.close()}}function nq(_){let $=_.purpose==="proposal"?`Proposal context: ${g6(_.query||"loop evidence",80)}`:`Knowledge context: ${g6(_.query,80)}`,g=_.evidence.slice(0,8).map((I)=>I.id),U=_.duplicates.slice(0,5).map((I)=>I.id),D=_.evidence.slice(0,5).map((I)=>`${I.id}: ${I.title}`);if(_.evidence.length===0)D.push("No matching bounded evidence was found.");return{title:$,bullets:D,evidence_ids:g,duplicate_candidate_ids:U,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 mW(_){let $=new Set(_.evidence.flatMap((g)=>g.citation_ids));_.citations=_.citations.filter((g)=>$.has(g.id))}function cW(_){_.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 dq(_){let $=_.budgets.max_tokens,g=new Set(_.warnings);while(yW(_)>$){let U=_.evidence.map((I,j)=>({entry:I,index:j})).filter(({entry:I})=>I.text_preview.length>180).sort((I,j)=>j.entry.text_preview.length-I.entry.text_preview.length)[0];if(U){U.entry.text_preview=g6(U.entry.text_preview,180),g.add("text_preview_truncated_for_token_budget");continue}let D=_.citations.filter((I)=>(I.quote_preview?.length??0)>120).sort((I,j)=>(j.quote_preview?.length??0)-(I.quote_preview?.length??0))[0];if(D?.quote_preview){D.quote_preview=g6(D.quote_preview,120),g.add("citation_quote_truncated_for_token_budget");continue}if(_.evidence.length>0){_.evidence.pop(),_.budgets.items_truncated+=1,_.duplicate_candidates=_.duplicate_candidates.map((I)=>({...I,evidence_ids:I.evidence_ids.filter((j)=>_.evidence.some((N)=>N.id===j))})).filter((I)=>I.evidence_ids.length>1),cW(_),g.add("evidence_truncated_for_token_budget"),mW(_);continue}if(_.outline.next_actions.length>1){_.outline.next_actions.pop(),g.add("outline_truncated_for_token_budget");continue}g.add("token_budget_floor_exceeded");break}if(_.warnings=Array.from(g).sort(),_.budgets.items_included=_.evidence.length,cW(_),_.budgets.estimated_tokens=yW(_),_.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 iW(_){let $=_.now??new Date,g=_.source??"search",U=_.purpose??(g==="loops"||g==="runs"?"proposal":"agent_context"),D=kq(_.maxTokens),I=Cq(_.maxItems,_.limit),j=KE(_.query??_.topic??"");if(U==="proposal"&&g!=="search"&&!j)throw Error("Proposal context requires --topic or a positional topic.");if(g!=="search")h(_.dbPath);let N=nW(_.since,$).cutoff??_.since??"",O=g==="search"?await fq(_,I):await cq(_,I,$),A=O.evidence.sort((P,S)=>S.score-P.score||P.id.localeCompare(S.id)).slice(0,I),L=O.citations.filter((P,S,X)=>X.findIndex((G)=>G.id===P.id)===S).sort((P,S)=>P.id.localeCompare(S.id)),z=_.dedupe?dW(A):O.duplicateCandidates.filter((P)=>P.evidence_ids.every((S)=>A.some((X)=>X.id===S))),W=nq({source:g,purpose:U,query:j,evidence:A,duplicates:z}),J={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:g,purpose:U,query:j,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:T0("ctx",[g,U,j,N,_.dedupe===!0?"dedupe":"no-dedupe",_.semantic===!0?"semantic":"keyword",_.modelRef??"",_.limit??"",D,I,A.map((P)=>P.id).join(","),L.map((P)=>P.id).join(",")].join("\x00"),20),budgets:{max_tokens:D,estimated_tokens:0,max_items:I,items_included:A.length,items_available:O.available,items_truncated:Math.max(0,O.available-A.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:O.redactions,reminders:rq(g)},citations:L,evidence:A,duplicate_candidates:z,outline:W,warnings:O.warnings,message:`${A.length} bounded evidence item(s), estimated under ${D} token(s)`};return mW(J),dq(J)}import{randomUUID as WR}from"crypto";import{createHash as mq,randomUUID as iq}from"crypto";import{existsSync as lq,readFileSync as tq}from"fs";import{hostname as aW}from"os";import{fileURLToPath as sW}from"url";import{extname as oq,relative as _X,resolve as lW,sep as pq}from"path";var AI=["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"],V6=2,F6=1,dg={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"]},mg=new Set(["storage_objects","knowledge_sync_changes","knowledge_sync_table_clocks","knowledge_sync_imports"]);function u$(_=new Date){return _.toISOString()}function CE(_){return`${_}_${Date.now().toString(36)}_${iq().slice(0,8)}`}function $X(_){let $=_?.trim();if($)return $;return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??aW()}function B0(_){if(Array.isArray(_))return`[${_.map(B0).join(",")}]`;if(_&&typeof _==="object"){let $=_;return`{${Object.keys($).sort().map((g)=>`${JSON.stringify(g)}:${B0($[g])}`).join(",")}}`}return JSON.stringify(_)}function hg(_){return`sha256:${mq("sha256").update(_).digest("hex")}`}function EI(_,$){return _.query(`SELECT COUNT(*) AS n FROM ${$}`).get()?.n??0}function JI(_,$){try{return JSON.parse(_)}catch{return $}}function j$(_){return`"${_.replace(/"/g,'""')}"`}function eq(_){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 gX(_,$){return $.filter((g)=>J$(_,g))}function J$(_,$){let g=_.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?").get($);return Boolean(g)}function aq(_,$){let g=_.query(`PRAGMA table_info(${j$($)})`).all();return new Set(g.map((U)=>U.name))}function sq(_,$,g){let U=aq(_,$);return g.filter((D)=>U.has(D))}function DX(_){if(!_||_.length===0)return[...AI];let $=new Set(AI),g=_.map((D)=>D.trim()).filter(Boolean),U=g.filter((D)=>!$.has(D));if(U.length>0)throw Error(`Unknown knowledge sync table(s): ${U.join(", ")}`);return g}function E4(_,$){return dg[_].map((U)=>`${U}=${JSON.stringify($[U]??null)}`).join("&")}var _B=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body_bytes"]);function cg(_,$=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((U)=>cg(U,$+1));let g={};for(let[U,D]of Object.entries(_)){if(_B.has(U.toLowerCase()))continue;g[U]=cg(D,$+1)}return g}function yg(_){if(!_)return null;return cg(_)}function rE(_){return hg(B0(_))}function $B(_,$){let g={};for(let[U,D]of Object.entries(_))if(U==="artifact_uri"&&typeof D==="string"&&$.has(D))g[U]=`artifact:${$.get(D)}`;else g[U]=D;return g}function N4(_,$=new Map){return rE($B(_,$))}function UX(_,$){if(!J$(_,$))return[];return _.query(`SELECT * FROM ${j$($)} ORDER BY rowid ASC`).all()}function LI(_,$,g=new Map){return rE($.map((U)=>({key:E4(_,U),hash:N4(U,g)})).sort((U,D)=>U.key.localeCompare(D.key)))}function ng(_,$,g){return _.query("SELECT * FROM knowledge_sync_table_clocks WHERE table_name = ? AND machine_id = ?").get($,g)??null}function gB(_){if(!J$(_,"knowledge_sync_table_clocks"))return[];return _.query("SELECT * FROM knowledge_sync_table_clocks ORDER BY table_name ASC, machine_id ASC").all()}function PI(_,$){let g=$.now??u$(),D=ng(_,$.table,$.machineId)?.created_at??g;_.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 @@ ${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config, last_applied_at = excluded.last_applied_at, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run($.table,$.machineId,$.logicalClock,$.highWaterHash,$.highWaterBundleId??null,$.originMachineId??$.machineId,$.updatedByMachineId??$.machineId,$.lastAppliedAt??g,JSON.stringify($.metadata??{}),D,g);let I=ng(_,$.table,$.machineId);if(!I)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return I}function gB(_,$){let g=ng(_,$.table,$.machineId),U=g?.high_water_hash===$.highWaterHash?g.logical_clock:(g?.logical_clock??0)+1,D=$.record?PI(_,{table:$.table,machineId:$.machineId,logicalClock:U,highWaterHash:$.highWaterHash,highWaterBundleId:null,originMachineId:g?.origin_machine_id??$.machineId,updatedByMachineId:$.machineId,lastAppliedAt:$.now,metadata:{source:"export",row_count:$.rowCount},now:$.now}):{table_name:$.table,machine_id:$.machineId,logical_clock:U,high_water_hash:$.highWaterHash,high_water_bundle_id:g?.high_water_bundle_id??null,origin_machine_id:g?.origin_machine_id??$.machineId,updated_by_machine_id:$.machineId,last_applied_at:$.now,metadata_json:"{}",created_at:g?.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 DB(_,$,g,U,D){if($.high_water_bundle_id=g,!U)return;PI(_,{table:$.table,machineId:$.machine_id,logicalClock:$.logical_clock,highWaterHash:$.high_water_hash,highWaterBundleId:g,originMachineId:$.machine_id,updatedByMachineId:$.machine_id,lastAppliedAt:D,metadata:{source:"export",row_count:$.row_count},now:D})}function UX(_,$){return _.table_clocks?.find((g)=>g.table===$)??null}function UB(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function IB(_,$,g){if(g.length===0)return 0;let U=aq(_,$,Object.keys(g[0]));if(U.length===0)return 0;let D=dg[$],I=U.map(j$).join(", "),j=U.map(()=>"?").join(", "),N=D.map(j$).join(", "),O=U.filter((J)=>!D.includes(J)),A=D[0],L=O.length>0?O.map((J)=>`${j$(J)} = excluded.${j$(J)}`).join(", "):`${j$(A)} = excluded.${j$(A)}`,z=_.query(`INSERT INTO ${j$($)} (${I}) VALUES (${j}) - ON CONFLICT (${N}) DO UPDATE SET ${L}`);return _.transaction((J)=>{for(let P of J)z.run(...U.map((S)=>pq(P[S])))})(g),g.length}function IX(_,$){let g=dg[_],U=[],D=$;for(let I=0;I=0?O.slice(0,z):O;try{U.push(JSON.parse(W))}catch{return null}D=z>=0&&L?O.slice(z+1):""}return D.length===0?U:null}function jX(_){return dg[_].map(($)=>`${j$($)} = ?`).join(" AND ")}function jB(_,$,g){if(!J$(_,"knowledge_sync_changes"))return new Map;let U=_.query(`SELECT entity_id, next_hash + `).run($.table,$.machineId,$.logicalClock,$.highWaterHash,$.highWaterBundleId??null,$.originMachineId??$.machineId,$.updatedByMachineId??$.machineId,$.lastAppliedAt??g,JSON.stringify($.metadata??{}),D,g);let I=ng(_,$.table,$.machineId);if(!I)throw Error(`Failed to record sync clock for ${$.table}:${$.machineId}`);return I}function DB(_,$){let g=ng(_,$.table,$.machineId),U=g?.high_water_hash===$.highWaterHash?g.logical_clock:(g?.logical_clock??0)+1,D=$.record?PI(_,{table:$.table,machineId:$.machineId,logicalClock:U,highWaterHash:$.highWaterHash,highWaterBundleId:null,originMachineId:g?.origin_machine_id??$.machineId,updatedByMachineId:$.machineId,lastAppliedAt:$.now,metadata:{source:"export",row_count:$.rowCount},now:$.now}):{table_name:$.table,machine_id:$.machineId,logical_clock:U,high_water_hash:$.highWaterHash,high_water_bundle_id:g?.high_water_bundle_id??null,origin_machine_id:g?.origin_machine_id??$.machineId,updated_by_machine_id:$.machineId,last_applied_at:$.now,metadata_json:"{}",created_at:g?.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 UB(_,$,g,U,D){if($.high_water_bundle_id=g,!U)return;PI(_,{table:$.table,machineId:$.machine_id,logicalClock:$.logical_clock,highWaterHash:$.high_water_hash,highWaterBundleId:g,originMachineId:$.machine_id,updatedByMachineId:$.machine_id,lastAppliedAt:D,metadata:{source:"export",row_count:$.row_count},now:D})}function IX(_,$){return _.table_clocks?.find((g)=>g.table===$)??null}function IB(_,$){if(!_||!$)return!1;return $.logical_clock<_.logical_clock}function jB(_,$,g){if(g.length===0)return 0;let U=sq(_,$,Object.keys(g[0]));if(U.length===0)return 0;let D=dg[$],I=U.map(j$).join(", "),j=U.map(()=>"?").join(", "),N=D.map(j$).join(", "),O=U.filter((J)=>!D.includes(J)),A=D[0],L=O.length>0?O.map((J)=>`${j$(J)} = excluded.${j$(J)}`).join(", "):`${j$(A)} = excluded.${j$(A)}`,z=_.query(`INSERT INTO ${j$($)} (${I}) VALUES (${j}) + ON CONFLICT (${N}) DO UPDATE SET ${L}`);return _.transaction((J)=>{for(let P of J)z.run(...U.map((S)=>eq(P[S])))})(g),g.length}function jX(_,$){let g=dg[_],U=[],D=$;for(let I=0;I=0?O.slice(0,z):O;try{U.push(JSON.parse(W))}catch{return null}D=z>=0&&L?O.slice(z+1):""}return D.length===0?U:null}function NX(_){return dg[_].map(($)=>`${j$($)} = ?`).join(" AND ")}function NB(_,$,g){if(!J$(_,"knowledge_sync_changes"))return new Map;let U=_.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(g,$),D=new Map;for(let I of U)D.set(I.entity_id,I.next_hash);return D}function NB(_,$){if(J$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(J$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(J$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(J$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function EB(_,$,g){let U=IX($,g);if(!U)return!1;let D=jX($),I=_.query(`SELECT * FROM ${j$($)} WHERE ${D} LIMIT 1`).get(...U);if(!I)return!1;if($==="chunks"&&typeof I.id==="string")NB(_,I.id);return _.query(`DELETE FROM ${j$($)} WHERE ${D}`).run(...U),!0}function OB(_,$){if(!J$(_,"chunks_fts"))return;for(let g of $){let U=typeof g.id==="string"?g.id:null,D=typeof g.text==="string"?g.text:null;if(!U||D===null)continue;let I="",j="",N=typeof g.source_revision_id==="string"?g.source_revision_id:null;if(N){let O=_.query(`SELECT s.title, s.uri + ORDER BY created_at ASC, id ASC`).all(g,$),D=new Map;for(let I of U)D.set(I.entity_id,I.next_hash);return D}function EB(_,$){if(J$(_,"chunks_fts"))_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run($);if(J$(_,"chunk_embeddings"))_.query("DELETE FROM chunk_embeddings WHERE chunk_id = ?").run($);if(J$(_,"vector_index_entries"))_.query("DELETE FROM vector_index_entries WHERE chunk_id = ?").run($);if(J$(_,"citations"))_.query("DELETE FROM citations WHERE chunk_id = ?").run($)}function OB(_,$,g){let U=jX($,g);if(!U)return!1;let D=NX($),I=_.query(`SELECT * FROM ${j$($)} WHERE ${D} LIMIT 1`).get(...U);if(!I)return!1;if($==="chunks"&&typeof I.id==="string")EB(_,I.id);return _.query(`DELETE FROM ${j$($)} WHERE ${D}`).run(...U),!0}function AB(_,$){if(!J$(_,"chunks_fts"))return;for(let g of $){let U=typeof g.id==="string"?g.id:null,D=typeof g.text==="string"?g.text:null;if(!U||D===null)continue;let I="",j="",N=typeof g.source_revision_id==="string"?g.source_revision_id:null;if(N){let O=_.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);I=O?.title??"",j=O?.uri??""}if(!j&&typeof g.metadata_json==="string"){let O=JI(g.metadata_json,{});j=typeof O.source_uri==="string"?O.source_uri:""}_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(U),_.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(U,D,I,j)}}function AB(_,$,g){if($==="chunks")OB(_,g)}function LB(_,$){let g=sW(_,$);return g!==".."&&!g.startsWith("..")&&!g.startsWith(`..${oq}`)}function JB(_,$){let g=JI(_.metadata_json,{});if(typeof g.key==="string")return g.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let U=aW(_.artifact_uri),D=iW($),I=iW(U);if(!LB(D,I))return null;let j=sW(D,I).replace(/\\/g,"/");return j?f$(j):null}catch{return null}}var PB=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function zB(_,$){let g=_?.toLowerCase()??"";if(g.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(g))return!0;return $?PB.has(tq($).toLowerCase()):!1}function O4(_){let $=new Map;for(let g of _)if(g.key)$.set(g.artifact_uri,g.key);return $}function B6(_){return rE({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function zI(_){return _.key??_.artifact_uri}function SB(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function NX(_){return Object.fromEntries(AI.map(($)=>[$,J$(_,$)?EI(_,$):0]))}function WB(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes + LIMIT 1`).get(N);I=O?.title??"",j=O?.uri??""}if(!j&&typeof g.metadata_json==="string"){let O=JI(g.metadata_json,{});j=typeof O.source_uri==="string"?O.source_uri:""}_.query("DELETE FROM chunks_fts WHERE chunk_id = ?").run(U),_.query("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)").run(U,D,I,j)}}function LB(_,$,g){if($==="chunks")AB(_,g)}function JB(_,$){let g=_X(_,$);return g!==".."&&!g.startsWith("..")&&!g.startsWith(`..${pq}`)}function PB(_,$){let g=JI(_.metadata_json,{});if(typeof g.key==="string")return g.key;if(!_.artifact_uri.startsWith("file://"))return null;try{let U=sW(_.artifact_uri),D=lW($),I=lW(U);if(!JB(D,I))return null;let j=_X(D,I).replace(/\\/g,"/");return j?f$(j):null}catch{return null}}var zB=new Set([".csv",".html",".json",".jsonl",".log",".md",".txt",".xml",".yaml",".yml"]);function SB(_,$){let g=_?.toLowerCase()??"";if(g.startsWith("text/"))return!0;if(/(json|markdown|xml|yaml|csv)/.test(g))return!0;return $?zB.has(oq($).toLowerCase()):!1}function O4(_){let $=new Map;for(let g of _)if(g.key)$.set(g.artifact_uri,g.key);return $}function B6(_){return rE({key:_.key,kind:_.kind,hash:_.hash,size_bytes:_.size_bytes})}function zI(_){return _.key??_.artifact_uri}function WB(_,$){return _.artifact_uri.startsWith("s3://")&&$.artifact_store.type==="s3"&&_.artifact_uri.startsWith($.artifact_store.uri_prefix)}function EX(_){return Object.fromEntries(AI.map(($)=>[$,J$(_,$)?EI(_,$):0]))}function XB(_){return _.query(`SELECT artifact_uri, kind, hash, size_bytes FROM storage_objects - ORDER BY artifact_uri ASC`).all()}function XB(_,$){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 ME(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function RB(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function K6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function OI(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function q0(_){if(Array.isArray(_))return`[${_.map(q0).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[g])=>$.localeCompare(g)).map(([$,g])=>`${JSON.stringify($)}:${q0(g)}`).join(",")}}`;return JSON.stringify(_)}function lW(_){let{recorded_at:$,...g}=_;return g}function M_(_){return typeof _==="string"&&_.length>0?_:null}function GB(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function tW(_){return typeof _==="boolean"?_:null}function YB(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function EX(_){let $=K6(_),g=M_($.observed_at),U=M_($.source_authority);if(!g||!U)return null;return{observed_at:g,verified_at:M_($.verified_at),expires_at:M_($.expires_at),ttl_ms:GB($.ttl_ms),source_authority:U,confidence:M_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:YB($.reasons)}}function OX(_,$){if(!_||_.stale)return!1;if(!_.expires_at)return!0;let g=Date.parse(_.expires_at),U=Date.parse($);return Number.isNaN(g)||Number.isNaN(U)||g>U}function QB(_,$){return M_($.source)===_.source&&M_($.target)===_.target&&M_($.route)===_.route&&M_($.target_kind)===_.targetKind&&M_($.confidence)===_.confidence}function TB(_,$){return M_($.source)===_.source&&M_($.requested_machine_id)===_.requested_machine_id&&M_($.machine_id)===_.machine_id&&M_($.project_id)===_.project_id&&M_($.repo_name)===_.repo_name&&M_($.project_root)===_.project_root&&M_($.project_root_source)===_.project_root_source&&M_($.workspace_root)===_.workspace_root&&M_($.workspace_root_source)===_.workspace_root_source&&M_($.open_files_root)===_.open_files_root&&M_($.open_files_root_source)===_.open_files_root_source&&M_($.trust_status)===_.trust_status&&M_($.auth_status)===_.auth_status&&tW($.current)===_.current&&tW($.primary)===_.primary}function qB(_,$,g){if(!_)return null;let U=EX($.cacheability);if(U&&OX(U,g)&&QB(_,$))return{..._,cacheability:U};return _}function BB(_,$,g){if(!_)return null;let U=EX($.cacheability);if(U&&OX(U,g)&&TB(_,$))return{..._,cacheability:U};return _}function KB(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??eW()}function VB(_,$){let g=new Set,U=Array.isArray($.sources)?$.sources:[];for(let D of U)if(typeof D==="string")g.add(D);if(typeof $.source==="string")g.add($.source);if(_.route?.source)g.add(_.route.source);if(_.workspace?.source)g.add(_.workspace.source);return g.add("knowledge"),[...g].sort()}function oW(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function FB(_,$,g){let U=K6($.resolver_evidence),D=_.route?OI({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}):K6(U.route),I=_.workspace?OI({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}):K6(U.workspace);return OI({...U,recorded_at:g,route:D,workspace:I})}function AX(_,$){h(_);let g=v(_);try{let U=KB($),D=g.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(U)??null,I=u$($.now),j=ME(D?.capabilities_json),N=ME(D?.metadata_json),O=K6(j.resolver),A=K6(N.resolver_evidence),L=K6(A.route),z=K6(A.workspace),W=qB($.route?.source==="registry"?null:$.route??null,L,I),J=BB($.workspace?.source==="registry"?null:$.workspace??null,z,I),P={...$,route:W,workspace:J},S={...j,resolver:OI({...O,route_source:W?.source??O.route_source,route_kind:W?.route??O.route_kind,route_target_kind:W?.targetKind??O.route_target_kind,route_confidence:W?.confidence??O.route_confidence,route_cacheable:W?.cacheability?.cacheable??O.route_cacheable,route_stale:W?.cacheability?.stale??O.route_stale,route_expires_at:W?.cacheability?.expires_at??O.route_expires_at,route_observed_at:W?.cacheability?.observed_at??O.route_observed_at,route_source_authority:W?.cacheability?.source_authority??O.route_source_authority,workspace_source:J?.source??O.workspace_source,project_root_source:J?.project_root_source??O.project_root_source,workspace_root_source:J?.workspace_root_source??O.workspace_root_source,open_files_root_source:J?.open_files_root_source??O.open_files_root_source,trust_status:J?.trust_status??O.trust_status,auth_status:J?.auth_status??O.auth_status,workspace_cacheable:J?.cacheability?.cacheable??O.workspace_cacheable,workspace_stale:J?.cacheability?.stale??O.workspace_stale,workspace_expires_at:J?.cacheability?.expires_at??O.workspace_expires_at,workspace_observed_at:J?.cacheability?.observed_at??O.workspace_observed_at,workspace_source_authority:J?.cacheability?.source_authority??O.workspace_source_authority}),route_fallback:Boolean(W?.target??D?.ssh_target),workspace_fallback:Boolean(J?.project_root??D?.workspace_home)},X=FB(P,N,I);if(D){let R=A;if(D.workspace_home===(J?.project_root??D.workspace_home??null)&&D.tailscale_dns===oW(D,W)&&D.ssh_target===(W?.target??D.ssh_target??null)&&q0(ME(D.capabilities_json))===q0(S)&&q0(lW(R))===q0(lW(X)))return D}let G={machine_id:U,hostname:D?.hostname??null,platform:D?.platform??null,user_label:D?.user_label??null,workspace_home:J?.project_root??D?.workspace_home??null,tailscale_dns:oW(D,W),tailscale_ips_json:JSON.stringify(RB(D?.tailscale_ips_json)),ssh_target:W?.target??D?.ssh_target??null,last_seen_at:I,capabilities_json:JSON.stringify(S),metadata_json:JSON.stringify({...N,source:"knowledge",sources:VB(P,N),resolver_evidence:X}),created_at:D?.created_at??I,updated_at:I};return LX(g,G),G}finally{g.close()}}function LX(_,$){_.query(` + ORDER BY artifact_uri ASC`).all()}function RB(_,$){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 ME(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function GB(_){if(!_)return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function K6(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function OI(_){return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0))}function q0(_){if(Array.isArray(_))return`[${_.map(q0).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[g])=>$.localeCompare(g)).map(([$,g])=>`${JSON.stringify($)}:${q0(g)}`).join(",")}}`;return JSON.stringify(_)}function tW(_){let{recorded_at:$,...g}=_;return g}function M_(_){return typeof _==="string"&&_.length>0?_:null}function YB(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function oW(_){return typeof _==="boolean"?_:null}function QB(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function OX(_){let $=K6(_),g=M_($.observed_at),U=M_($.source_authority);if(!g||!U)return null;return{observed_at:g,verified_at:M_($.verified_at),expires_at:M_($.expires_at),ttl_ms:YB($.ttl_ms),source_authority:U,confidence:M_($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:QB($.reasons)}}function AX(_,$){if(!_||_.stale)return!1;if(!_.expires_at)return!0;let g=Date.parse(_.expires_at),U=Date.parse($);return Number.isNaN(g)||Number.isNaN(U)||g>U}function TB(_,$){return M_($.source)===_.source&&M_($.target)===_.target&&M_($.route)===_.route&&M_($.target_kind)===_.targetKind&&M_($.confidence)===_.confidence}function qB(_,$){return M_($.source)===_.source&&M_($.requested_machine_id)===_.requested_machine_id&&M_($.machine_id)===_.machine_id&&M_($.project_id)===_.project_id&&M_($.repo_name)===_.repo_name&&M_($.project_root)===_.project_root&&M_($.project_root_source)===_.project_root_source&&M_($.workspace_root)===_.workspace_root&&M_($.workspace_root_source)===_.workspace_root_source&&M_($.open_files_root)===_.open_files_root&&M_($.open_files_root_source)===_.open_files_root_source&&M_($.trust_status)===_.trust_status&&M_($.auth_status)===_.auth_status&&oW($.current)===_.current&&oW($.primary)===_.primary}function BB(_,$,g){if(!_)return null;let U=OX($.cacheability);if(U&&AX(U,g)&&TB(_,$))return{..._,cacheability:U};return _}function KB(_,$,g){if(!_)return null;let U=OX($.cacheability);if(U&&AX(U,g)&&qB(_,$))return{..._,cacheability:U};return _}function VB(_){return _.workspace?.machine_id??_.workspace?.requested_machine_id??_.machineId??_.route?.target??aW()}function FB(_,$){let g=new Set,U=Array.isArray($.sources)?$.sources:[];for(let D of U)if(typeof D==="string")g.add(D);if(typeof $.source==="string")g.add($.source);if(_.route?.source)g.add(_.route.source);if(_.workspace?.source)g.add(_.workspace.source);return g.add("knowledge"),[...g].sort()}function pW(_,$){if($?.target&&($.route==="tailscale"||$.targetKind==="tailscale"))return $.target;return _?.tailscale_dns??null}function MB(_,$,g){let U=K6($.resolver_evidence),D=_.route?OI({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}):K6(U.route),I=_.workspace?OI({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}):K6(U.workspace);return OI({...U,recorded_at:g,route:D,workspace:I})}function LX(_,$){h(_);let g=v(_);try{let U=VB($),D=g.query("SELECT * FROM knowledge_machines WHERE machine_id = ?").get(U)??null,I=u$($.now),j=ME(D?.capabilities_json),N=ME(D?.metadata_json),O=K6(j.resolver),A=K6(N.resolver_evidence),L=K6(A.route),z=K6(A.workspace),W=BB($.route?.source==="registry"?null:$.route??null,L,I),J=KB($.workspace?.source==="registry"?null:$.workspace??null,z,I),P={...$,route:W,workspace:J},S={...j,resolver:OI({...O,route_source:W?.source??O.route_source,route_kind:W?.route??O.route_kind,route_target_kind:W?.targetKind??O.route_target_kind,route_confidence:W?.confidence??O.route_confidence,route_cacheable:W?.cacheability?.cacheable??O.route_cacheable,route_stale:W?.cacheability?.stale??O.route_stale,route_expires_at:W?.cacheability?.expires_at??O.route_expires_at,route_observed_at:W?.cacheability?.observed_at??O.route_observed_at,route_source_authority:W?.cacheability?.source_authority??O.route_source_authority,workspace_source:J?.source??O.workspace_source,project_root_source:J?.project_root_source??O.project_root_source,workspace_root_source:J?.workspace_root_source??O.workspace_root_source,open_files_root_source:J?.open_files_root_source??O.open_files_root_source,trust_status:J?.trust_status??O.trust_status,auth_status:J?.auth_status??O.auth_status,workspace_cacheable:J?.cacheability?.cacheable??O.workspace_cacheable,workspace_stale:J?.cacheability?.stale??O.workspace_stale,workspace_expires_at:J?.cacheability?.expires_at??O.workspace_expires_at,workspace_observed_at:J?.cacheability?.observed_at??O.workspace_observed_at,workspace_source_authority:J?.cacheability?.source_authority??O.workspace_source_authority}),route_fallback:Boolean(W?.target??D?.ssh_target),workspace_fallback:Boolean(J?.project_root??D?.workspace_home)},X=MB(P,N,I);if(D){let R=A;if(D.workspace_home===(J?.project_root??D.workspace_home??null)&&D.tailscale_dns===pW(D,W)&&D.ssh_target===(W?.target??D.ssh_target??null)&&q0(ME(D.capabilities_json))===q0(S)&&q0(tW(R))===q0(tW(X)))return D}let G={machine_id:U,hostname:D?.hostname??null,platform:D?.platform??null,user_label:D?.user_label??null,workspace_home:J?.project_root??D?.workspace_home??null,tailscale_dns:pW(D,W),tailscale_ips_json:JSON.stringify(GB(D?.tailscale_ips_json)),ssh_target:W?.target??D?.ssh_target??null,last_seen_at:I,capabilities_json:JSON.stringify(S),metadata_json:JSON.stringify({...N,source:"knowledge",sources:FB(P,N),resolver_evidence:X}),created_at:D?.created_at??I,updated_at:I};return JX(g,G),G}finally{g.close()}}function JX(_,$){_.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,9 +871,9 @@ ${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config, capabilities_json = excluded.capabilities_json, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at - `).run($.machine_id,$.hostname,$.platform,$.user_label,$.workspace_home,$.tailscale_dns,$.tailscale_ips_json,$.ssh_target,$.last_seen_at,$.capabilities_json,$.metadata_json,$.created_at,$.updated_at)}function MB(_,$,g=u$()){for(let U of $.machines)LX(_,XB(U,g));return $.machines.length}function vE(_){h(_);let $=v(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function ig(_){h(_.dbPath);let $=v(_.dbPath),g=[],U=u$(_.now),D=_X(_.machineId),I=_.recordClocks!==!1;try{let j=$X($,gX(_.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 ZB(_,$,g=u$()){for(let U of $.machines)JX(_,RB(U,g));return $.machines.length}function vE(_){h(_);let $=v(_);try{return $.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all()}finally{$.close()}}function ig(_){h(_.dbPath);let $=v(_.dbPath),g=[],U=u$(_.now),D=$X(_.machineId),I=_.recordClocks!==!1;try{let j=gX($,DX(_.tables)),O=$.query(`SELECT id, artifact_uri, kind, content_type, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all().map((P)=>{let S=JB(P,_.storage.local_layout.directories.artifacts),X={...P,key:S};if(_.includeArtifactContent!==!1&&S&&P.artifact_uri.startsWith("file://"))try{let G=aW(P.artifact_uri);if(iq(G))if(!zB(P.content_type,S))g.push(`artifact_content_not_embedded_binary:${P.id}`);else{let R=lq(G,"utf8"),K=q_(R);if(K!==R)g.push(`artifact_content_redacted:${P.id}`);X.content_base64=Buffer.from(K,"utf8").toString("base64"),X.hash=hg(K),X.size_bytes=Buffer.byteLength(K)}else g.push(`artifact_missing:${P.artifact_uri}`)}catch(G){g.push(`artifact_read_failed:${P.artifact_uri}:${G instanceof Error?G.message:String(G)}`)}else if(_.includeArtifactContent!==!1&&P.artifact_uri.startsWith("s3://"))g.push(`artifact_content_not_embedded:${P.artifact_uri}`);return X=q_(X),X}),A=O4(O),L=j.filter((P)=>!mg.has(P)).map((P)=>({table:P,primary_keys:dg[P],rows:DX($,P).map((S)=>q_(S))})),z=L.map((P)=>gB($,{table:P.table,machineId:D,highWaterHash:LI(P.table,P.rows,A),rowCount:P.rows.length,record:I,now:U})),W=hg(B0({source:{scope:_.scope,workspace_home:q_(_.workspaceHome),sqlite_schema_version:v_($),machine_id:D,artifact_root_uri:q_(_.storage.artifact_store.uri_prefix)},tables:L.map((P)=>({table:P.table,primary_keys:P.primary_keys,rows:P.rows.map((S)=>({key:E4(P.table,S),hash:N4(S,A)})).sort((S,X)=>S.key.localeCompare(X.key))})),table_clocks:z.map((P)=>({table:P.table,machine_id:P.machine_id,logical_clock:P.logical_clock,high_water_hash:P.high_water_hash,row_count:P.row_count})),artifacts:O.map((P)=>({identity:zI(P),fingerprint:B6(P)})).sort((P,S)=>P.identity.localeCompare(S.identity))})),J=`syncbundle_${W.replace("sha256:","").slice(0,32)}`;for(let P of z)DB($,P,J,I,U);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:V6,min_protocol_version:F6,bundle_id:J,content_hash:W,generated_at:U,source:{scope:_.scope,workspace_home:q_(_.workspaceHome),sqlite_schema_version:v_($),machine_id:D,artifact_root_uri:q_(_.storage.artifact_store.uri_prefix)},table_clocks:z,tables:L,artifacts:O,warnings:q_(g),message:`${L.reduce((P,S)=>P+S.rows.length,0)} row(s), ${O.length} artifact(s) exported`}}finally{$.close()}}function ZB(_,$){let g=typeof _.protocol_version==="number"?_.protocol_version:null,U=typeof _.min_protocol_version==="number"?_.min_protocol_version:null;if(g===null||U===null||gV6)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${V6} with min v${F6}.`)}function bB(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");ZB(_,"knowledge sync bundle")}function fE(_,$){return _.tables.find((g)=>g.table===$)??null}function JX(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return hg(B0({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((g)=>({key:E4($.table,g),hash:N4(g,O4(_.artifacts))})).sort((g,U)=>g.key.localeCompare(U.key))})),artifacts:_.artifacts.map(($)=>({identity:zI($),fingerprint:B6($)})).sort(($,g)=>$.identity.localeCompare(g.identity))}))}function HB(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${JX(_).replace("sha256:","").slice(0,32)}`}function kB(_,$){return new Map($.map((g)=>[E4(_,g),g]))}function CB(_){return new Map(_.artifacts.map(($)=>[zI($),$]))}async function rB(_){let $=CB(_.targetBundle),g=new Map,U=[],D={source_artifacts:_.bundle.artifacts.length,target_artifacts:_.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let I of _.bundle.artifacts){let j=zI(I),N=$.get(j);if(N&&B6(N)===B6(I)){if(N.artifact_uri)g.set(I.artifact_uri,N.artifact_uri);D.skipped+=1;continue}if(N&&B6(N)!==B6(I)){let P={entityKind:"storage_object",entityId:j,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:B6(N),remoteHash:B6(I),metadata:{direction:_.direction,target_artifact_uri:N.artifact_uri,source_artifact_uri:I.artifact_uri,local_artifact:cg(N),remote_artifact:cg(I)}};if(HE(_.db,P)){D.skipped+=1;continue}D.conflicts+=1,U.push(P);continue}let O=Boolean(I.key&&I.content_base64),A=SB(I,_.targetStorage);if(!O&&!A){D.missing_content+=1,_.warnings.push(`artifact_content_missing:${I.artifact_uri}`);continue}if(_.dryRun){D.copied+=1;continue}let L=I.artifact_uri;if(O&&I.key&&I.content_base64)L=(await _.targetStore.put({key:I.key,body:Buffer.from(I.content_base64,"base64"),content_type:I.content_type??void 0})).uri,g.set(I.artifact_uri,L);else if(A)g.set(I.artifact_uri,L);let z=JI(I.metadata_json,{}),W=typeof z.artifact_modified_at==="string"?z.artifact_modified_at:void 0,J={uri:L,key:I.key??z.key??I.artifact_uri,kind:I.kind,content_type:I.content_type??void 0,hash:I.hash??void 0,size_bytes:I.size_bytes??void 0,modified_at:W,metadata:{...z,synced_from_artifact_uri:I.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};s$(_.db,[J]),D.copied+=1}return{result:D,uriMap:g,conflicts:U}}function ZE(_,$){let g={..._};if(typeof g.artifact_uri==="string"&&$.has(g.artifact_uri))g.artifact_uri=$.get(g.artifact_uri);return g}function vB(_,$){let g=u$();_.query(` + ORDER BY artifact_uri ASC`).all().map((P)=>{let S=PB(P,_.storage.local_layout.directories.artifacts),X={...P,key:S};if(_.includeArtifactContent!==!1&&S&&P.artifact_uri.startsWith("file://"))try{let G=sW(P.artifact_uri);if(lq(G))if(!SB(P.content_type,S))g.push(`artifact_content_not_embedded_binary:${P.id}`);else{let R=tq(G,"utf8"),K=q_(R);if(K!==R)g.push(`artifact_content_redacted:${P.id}`);X.content_base64=Buffer.from(K,"utf8").toString("base64"),X.hash=hg(K),X.size_bytes=Buffer.byteLength(K)}else g.push(`artifact_missing:${P.artifact_uri}`)}catch(G){g.push(`artifact_read_failed:${P.artifact_uri}:${G instanceof Error?G.message:String(G)}`)}else if(_.includeArtifactContent!==!1&&P.artifact_uri.startsWith("s3://"))g.push(`artifact_content_not_embedded:${P.artifact_uri}`);return X=q_(X),X}),A=O4(O),L=j.filter((P)=>!mg.has(P)).map((P)=>({table:P,primary_keys:dg[P],rows:UX($,P).map((S)=>q_(S))})),z=L.map((P)=>DB($,{table:P.table,machineId:D,highWaterHash:LI(P.table,P.rows,A),rowCount:P.rows.length,record:I,now:U})),W=hg(B0({source:{scope:_.scope,workspace_home:q_(_.workspaceHome),sqlite_schema_version:v_($),machine_id:D,artifact_root_uri:q_(_.storage.artifact_store.uri_prefix)},tables:L.map((P)=>({table:P.table,primary_keys:P.primary_keys,rows:P.rows.map((S)=>({key:E4(P.table,S),hash:N4(S,A)})).sort((S,X)=>S.key.localeCompare(X.key))})),table_clocks:z.map((P)=>({table:P.table,machine_id:P.machine_id,logical_clock:P.logical_clock,high_water_hash:P.high_water_hash,row_count:P.row_count})),artifacts:O.map((P)=>({identity:zI(P),fingerprint:B6(P)})).sort((P,S)=>P.identity.localeCompare(S.identity))})),J=`syncbundle_${W.replace("sha256:","").slice(0,32)}`;for(let P of z)UB($,P,J,I,U);return{ok:!0,format:"knowledge-sync-bundle",version:1,protocol_version:V6,min_protocol_version:F6,bundle_id:J,content_hash:W,generated_at:U,source:{scope:_.scope,workspace_home:q_(_.workspaceHome),sqlite_schema_version:v_($),machine_id:D,artifact_root_uri:q_(_.storage.artifact_store.uri_prefix)},table_clocks:z,tables:L,artifacts:O,warnings:q_(g),message:`${L.reduce((P,S)=>P+S.rows.length,0)} row(s), ${O.length} artifact(s) exported`}}finally{$.close()}}function bB(_,$){let g=typeof _.protocol_version==="number"?_.protocol_version:null,U=typeof _.min_protocol_version==="number"?_.min_protocol_version:null;if(g===null||U===null||gV6)throw Error(`Unsupported ${$} protocol. Expected knowledge sync protocol v${V6} with min v${F6}.`)}function HB(_){if(!_||_.format!=="knowledge-sync-bundle"||_.version!==1)throw Error("Invalid knowledge sync bundle.");bB(_,"knowledge sync bundle")}function fE(_,$){return _.tables.find((g)=>g.table===$)??null}function PX(_){if(typeof _.content_hash==="string"&&_.content_hash.length>0)return _.content_hash;return hg(B0({source:_.source,tables:_.tables.map(($)=>({table:$.table,rows:$.rows.map((g)=>({key:E4($.table,g),hash:N4(g,O4(_.artifacts))})).sort((g,U)=>g.key.localeCompare(U.key))})),artifacts:_.artifacts.map(($)=>({identity:zI($),fingerprint:B6($)})).sort(($,g)=>$.identity.localeCompare(g.identity))}))}function kB(_){if(typeof _.bundle_id==="string"&&_.bundle_id.length>0)return _.bundle_id;return`syncbundle_${PX(_).replace("sha256:","").slice(0,32)}`}function CB(_,$){return new Map($.map((g)=>[E4(_,g),g]))}function rB(_){return new Map(_.artifacts.map(($)=>[zI($),$]))}async function vB(_){let $=rB(_.targetBundle),g=new Map,U=[],D={source_artifacts:_.bundle.artifacts.length,target_artifacts:_.targetBundle.artifacts.length,copied:0,skipped:0,conflicts:0,missing_content:0};for(let I of _.bundle.artifacts){let j=zI(I),N=$.get(j);if(N&&B6(N)===B6(I)){if(N.artifact_uri)g.set(I.artifact_uri,N.artifact_uri);D.skipped+=1;continue}if(N&&B6(N)!==B6(I)){let P={entityKind:"storage_object",entityId:j,localMachineId:_.localMachineId,remoteMachineId:_.bundle.source.machine_id??"unknown",localHash:B6(N),remoteHash:B6(I),metadata:{direction:_.direction,target_artifact_uri:N.artifact_uri,source_artifact_uri:I.artifact_uri,local_artifact:cg(N),remote_artifact:cg(I)}};if(HE(_.db,P)){D.skipped+=1;continue}D.conflicts+=1,U.push(P);continue}let O=Boolean(I.key&&I.content_base64),A=WB(I,_.targetStorage);if(!O&&!A){D.missing_content+=1,_.warnings.push(`artifact_content_missing:${I.artifact_uri}`);continue}if(_.dryRun){D.copied+=1;continue}let L=I.artifact_uri;if(O&&I.key&&I.content_base64)L=(await _.targetStore.put({key:I.key,body:Buffer.from(I.content_base64,"base64"),content_type:I.content_type??void 0})).uri,g.set(I.artifact_uri,L);else if(A)g.set(I.artifact_uri,L);let z=JI(I.metadata_json,{}),W=typeof z.artifact_modified_at==="string"?z.artifact_modified_at:void 0,J={uri:L,key:I.key??z.key??I.artifact_uri,kind:I.kind,content_type:I.content_type??void 0,hash:I.hash??void 0,size_bytes:I.size_bytes??void 0,modified_at:W,metadata:{...z,synced_from_artifact_uri:I.artifact_uri,synced_from_machine_id:_.bundle.source.machine_id??void 0}};s$(_.db,[J]),D.copied+=1}return{result:D,uriMap:g,conflicts:U}}function ZE(_,$){let g={..._};if(typeof g.artifact_uri==="string"&&$.has(g.artifact_uri))g.artifact_uri=$.get(g.artifact_uri);return g}function fB(_,$){let g=u$();_.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, @@ -918,7 +918,7 @@ ${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config, local_hash, remote_hash, base_hash, status, resolution_strategy, proposed_patch_uri, approved_by, resolved_at, metadata_json, created_at ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - `).run(CE("syncconf"),$.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null,$.status??"open",$.resolutionStrategy??null,$.proposedPatchUri??null,$.approvedBy??null,$.resolvedAt??null,JSON.stringify($.metadata??{}),U),!0}function fB(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function wB(_,$){let g=$.now??u$();_.query(` + `).run(CE("syncconf"),$.entityKind,$.entityId,$.localMachineId,$.remoteMachineId,$.localHash??null,$.remoteHash??null,$.baseHash??null,$.status??"open",$.resolutionStrategy??null,$.proposedPatchUri??null,$.approvedBy??null,$.resolvedAt??null,JSON.stringify($.metadata??{}),U),!0}function wB(_,$){return _.query("SELECT * FROM knowledge_sync_imports WHERE bundle_id = ?").get($)??null}function uB(_,$){let g=$.now??u$();_.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 @@ ${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config, status = excluded.status, applied_at = excluded.applied_at, metadata_json = excluded.metadata_json - `).run($.bundleId,$.sourceMachineId,$.targetMachineId,$.direction,$.status,$.contentHash,JSON.stringify($.bundle.table_clocks??[]),JSON.stringify($.tableResults),$.bundle.generated_at,g,JSON.stringify({conflicts:$.conflicts,artifacts:$.artifacts,source_workspace_home:$.bundle.source.workspace_home}))}function uB(_){return{ok:!0,protocol_version:V6,min_protocol_version:F6,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(($)=>!mg.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:fE(_.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 xB(_,$){let g=O4(_.artifacts),U=O4($.artifacts);for(let D of _.tables){if(mg.has(D.table))continue;let I=fE($,D.table),N=UX(_,D.table)?.high_water_hash??LI(D.table,D.rows,g);if(LI(D.table,I?.rows??[],U)!==N)return!1}return!0}async function SI(_){bB(_.bundle),h(_.targetDbPath);let $=[..._.bundle.warnings],g=_.dryRun===!0,U=_X(_.localMachineId),D=_.bundle.source.machine_id??"unknown",I=HB(_.bundle),j=JX(_.bundle),N=_.targetBundle??ig({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:U,includeArtifactContent:!1,recordClocks:!g}),O=v(_.targetDbPath);try{if(!g&&fB(O,I)&&xB(_.bundle,N))return uB({bundle:_.bundle,targetBundle:N,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:I});let A=await rB({db:O,bundle:_.bundle,targetBundle:N,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:g,direction:_.direction,localMachineId:U,warnings:$}),L=O4(_.bundle.artifacts),z=O4(N.artifacts),W=[],J=0,P=0,S=0;for(let R of _.bundle.tables){if(R.table==="storage_objects"||mg.has(R.table))continue;if(!J$(O,R.table))continue;let K=UX(_.bundle,R.table),Q=ng(O,R.table,D),T=fE(N,R.table),q=kB(R.table,T?.rows??[]),V=new Set(R.rows.map((I_)=>E4(R.table,I_))),Z=jB(O,R.table,D),a=[],D_={table:R.table,source_rows:R.rows.length,target_rows:T?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!K)$.push(`legacy_clock_missing:${R.table}`);else if(UB(Q,K)){S+=1,D_.skipped+=R.rows.length,D_.stale_skipped=R.rows.length,$.push(`stale_table_skipped:${R.table}:${D}:${K.logical_clock}`),W.push(D_);continue}for(let I_ of R.rows){let J_=E4(R.table,I_),p=q.get(J_),r_=N4(I_,L);if(!p){D_.inserted+=1,a.push(ZE(I_,A.uriMap));continue}let K_=N4(p,z);if(K_===r_){D_.skipped+=1;continue}let G_=Z.get(J_);if(Z.has(J_)&&G_===K_){D_.updated+=1,a.push(ZE(I_,A.uriMap));continue}let H_={entityKind:R.table,entityId:J_,localMachineId:U,remoteMachineId:D,localHash:K_,remoteHash:r_,baseHash:Q?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:I,incoming_logical_clock:K?.logical_clock??null,current_logical_clock:Q?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:yg(p),remote_row:yg(I_)}};if(HE(O,H_)){D_.skipped+=1;continue}if(D_.conflicts+=1,!g&&bE(O,H_))J+=1}if(!g&&a.length>0){let I_=a.map((J_)=>ZE(J_,A.uriMap));IB(O,R.table,I_),AB(O,R.table,I_);for(let J_ of I_)vB(O,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:U,entityKind:R.table,entityId:E4(R.table,J_),nextHash:N4(J_,O4(_.bundle.artifacts)),logicalClock:K?.logical_clock??0,bundleId:I,row:J_})}for(let[I_,J_]of Z){if(V.has(I_))continue;let p=q.get(I_);if(!p)continue;let r_=N4(p,z);if(J_&&r_!==J_){let K_={entityKind:R.table,entityId:I_,localMachineId:U,remoteMachineId:D,localHash:r_,remoteHash:null,baseHash:J_,metadata:{direction:_.direction,bundle_id:I,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:yg(p),remote_row:null}};if(HE(O,K_)){D_.skipped+=1;continue}if(D_.conflicts+=1,!g&&bE(O,K_))J+=1;continue}if(D_.deleted+=1,!g)EB(O,R.table,I_)}if(!g&&K)PI(O,{table:R.table,machineId:D,logicalClock:K.logical_clock,highWaterHash:K.high_water_hash,highWaterBundleId:I,originMachineId:D,updatedByMachineId:U,lastAppliedAt:u$(),metadata:{source:"import",direction:_.direction,row_count:R.rows.length,inserted:D_.inserted,updated:D_.updated,deleted:D_.deleted,skipped:D_.skipped,conflicts:D_.conflicts}}),P+=1;W.push(D_)}for(let R of A.conflicts)if(!g){if(bE(O,{...R,baseHash:R.baseHash??null,metadata:{...R.metadata,bundle_id:I}}))J+=1}let X=W.reduce((R,K)=>R+K.inserted,0),G=W.reduce((R,K)=>R+K.conflicts,0)+A.result.conflicts;if(!g)wB(O,{bundle:_.bundle,bundleId:I,contentHash:j,sourceMachineId:D,targetMachineId:U,direction:_.direction,status:G===0?"applied":"conflicted",tableResults:W,conflicts:G,artifacts:A.result});return{ok:G===0,protocol_version:V6,min_protocol_version:F6,dry_run:g,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:v_(O),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:W,artifacts:A.result,conflicts_created:J,bundle_id:I,replayed:!1,clocks:{advanced:P,stale_tables:S},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${X} row(s), copied ${A.result.copied} artifact(s), ${G} conflict(s)`}}finally{O.close()}}function PX(_){h(_.dbPath);let $=v(_.dbPath),g=u$(_.now);try{let U=_.topology?MB($,_.topology,g):0,D=NX($),I=q_(WB($)),j=_.machineId??_.topology?.local_machine_id??"unknown",N=q_(_.storage.artifact_store.uri_prefix),O=q_(_.workspaceHome),A=hg(B0({machine_id:j,scope:_.scope,workspace_home:O,sqlite_schema_version:v_($),artifact_root_uri:N,tables:D,artifacts:I})),L={id:CE("syncsnap"),machine_id:j,scope:_.scope,workspace_home:O,sqlite_schema_version:v_($),artifact_root_uri:N,content_hash:A,tables_json:JSON.stringify(D),artifact_hashes_json:JSON.stringify(I),created_at:g};$.query(` + `).run($.bundleId,$.sourceMachineId,$.targetMachineId,$.direction,$.status,$.contentHash,JSON.stringify($.bundle.table_clocks??[]),JSON.stringify($.tableResults),$.bundle.generated_at,g,JSON.stringify({conflicts:$.conflicts,artifacts:$.artifacts,source_workspace_home:$.bundle.source.workspace_home}))}function xB(_){return{ok:!0,protocol_version:V6,min_protocol_version:F6,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(($)=>!mg.has($.table)).map(($)=>({table:$.table,source_rows:$.rows.length,target_rows:fE(_.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 yB(_,$){let g=O4(_.artifacts),U=O4($.artifacts);for(let D of _.tables){if(mg.has(D.table))continue;let I=fE($,D.table),N=IX(_,D.table)?.high_water_hash??LI(D.table,D.rows,g);if(LI(D.table,I?.rows??[],U)!==N)return!1}return!0}async function SI(_){HB(_.bundle),h(_.targetDbPath);let $=[..._.bundle.warnings],g=_.dryRun===!0,U=$X(_.localMachineId),D=_.bundle.source.machine_id??"unknown",I=kB(_.bundle),j=PX(_.bundle),N=_.targetBundle??ig({dbPath:_.targetDbPath,scope:_.targetScope,workspaceHome:_.targetWorkspaceHome,storage:_.targetStorage,machineId:U,includeArtifactContent:!1,recordClocks:!g}),O=v(_.targetDbPath);try{if(!g&&wB(O,I)&&yB(_.bundle,N))return xB({bundle:_.bundle,targetBundle:N,targetScope:_.targetScope,targetWorkspaceHome:_.targetWorkspaceHome,targetStorage:_.targetStorage,direction:_.direction,warnings:$,bundleId:I});let A=await vB({db:O,bundle:_.bundle,targetBundle:N,targetStorage:_.targetStorage,targetStore:_.targetStore,dryRun:g,direction:_.direction,localMachineId:U,warnings:$}),L=O4(_.bundle.artifacts),z=O4(N.artifacts),W=[],J=0,P=0,S=0;for(let R of _.bundle.tables){if(R.table==="storage_objects"||mg.has(R.table))continue;if(!J$(O,R.table))continue;let K=IX(_.bundle,R.table),Q=ng(O,R.table,D),T=fE(N,R.table),q=CB(R.table,T?.rows??[]),V=new Set(R.rows.map((I_)=>E4(R.table,I_))),Z=NB(O,R.table,D),e=[],D_={table:R.table,source_rows:R.rows.length,target_rows:T?.rows.length??0,inserted:0,updated:0,deleted:0,skipped:0,conflicts:0,stale_skipped:0};if(!K)$.push(`legacy_clock_missing:${R.table}`);else if(IB(Q,K)){S+=1,D_.skipped+=R.rows.length,D_.stale_skipped=R.rows.length,$.push(`stale_table_skipped:${R.table}:${D}:${K.logical_clock}`),W.push(D_);continue}for(let I_ of R.rows){let J_=E4(R.table,I_),a=q.get(J_),r_=N4(I_,L);if(!a){D_.inserted+=1,e.push(ZE(I_,A.uriMap));continue}let K_=N4(a,z);if(K_===r_){D_.skipped+=1;continue}let G_=Z.get(J_);if(Z.has(J_)&&G_===K_){D_.updated+=1,e.push(ZE(I_,A.uriMap));continue}let H_={entityKind:R.table,entityId:J_,localMachineId:U,remoteMachineId:D,localHash:K_,remoteHash:r_,baseHash:Q?.high_water_hash??null,metadata:{direction:_.direction,bundle_id:I,incoming_logical_clock:K?.logical_clock??null,current_logical_clock:Q?.logical_clock??null,source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:yg(a),remote_row:yg(I_)}};if(HE(O,H_)){D_.skipped+=1;continue}if(D_.conflicts+=1,!g&&bE(O,H_))J+=1}if(!g&&e.length>0){let I_=e.map((J_)=>ZE(J_,A.uriMap));jB(O,R.table,I_),LB(O,R.table,I_);for(let J_ of I_)fB(O,{direction:_.direction,sourceMachineId:_.bundle.source.machine_id??"unknown",localMachineId:U,entityKind:R.table,entityId:E4(R.table,J_),nextHash:N4(J_,O4(_.bundle.artifacts)),logicalClock:K?.logical_clock??0,bundleId:I,row:J_})}for(let[I_,J_]of Z){if(V.has(I_))continue;let a=q.get(I_);if(!a)continue;let r_=N4(a,z);if(J_&&r_!==J_){let K_={entityKind:R.table,entityId:I_,localMachineId:U,remoteMachineId:D,localHash:r_,remoteHash:null,baseHash:J_,metadata:{direction:_.direction,bundle_id:I,reason:"remote_owned_row_missing_from_incoming_bundle",source_workspace_home:_.bundle.source.workspace_home,target_workspace_home:_.targetWorkspaceHome,local_row:yg(a),remote_row:null}};if(HE(O,K_)){D_.skipped+=1;continue}if(D_.conflicts+=1,!g&&bE(O,K_))J+=1;continue}if(D_.deleted+=1,!g)OB(O,R.table,I_)}if(!g&&K)PI(O,{table:R.table,machineId:D,logicalClock:K.logical_clock,highWaterHash:K.high_water_hash,highWaterBundleId:I,originMachineId:D,updatedByMachineId:U,lastAppliedAt:u$(),metadata:{source:"import",direction:_.direction,row_count:R.rows.length,inserted:D_.inserted,updated:D_.updated,deleted:D_.deleted,skipped:D_.skipped,conflicts:D_.conflicts}}),P+=1;W.push(D_)}for(let R of A.conflicts)if(!g){if(bE(O,{...R,baseHash:R.baseHash??null,metadata:{...R.metadata,bundle_id:I}}))J+=1}let X=W.reduce((R,K)=>R+K.inserted,0),G=W.reduce((R,K)=>R+K.conflicts,0)+A.result.conflicts;if(!g)uB(O,{bundle:_.bundle,bundleId:I,contentHash:j,sourceMachineId:D,targetMachineId:U,direction:_.direction,status:G===0?"applied":"conflicted",tableResults:W,conflicts:G,artifacts:A.result});return{ok:G===0,protocol_version:V6,min_protocol_version:F6,dry_run:g,direction:_.direction,source:_.bundle.source,target:{scope:_.targetScope,workspace_home:_.targetWorkspaceHome,sqlite_schema_version:v_(O),artifact_root_uri:_.targetStorage.artifact_store.uri_prefix},tables:W,artifacts:A.result,conflicts_created:J,bundle_id:I,replayed:!1,clocks:{advanced:P,stale_tables:S},warnings:$,message:`${_.dryRun?"Would import":"Imported"} ${X} row(s), copied ${A.result.copied} artifact(s), ${G} conflict(s)`}}finally{O.close()}}function zX(_){h(_.dbPath);let $=v(_.dbPath),g=u$(_.now);try{let U=_.topology?ZB($,_.topology,g):0,D=EX($),I=q_(XB($)),j=_.machineId??_.topology?.local_machine_id??"unknown",N=q_(_.storage.artifact_store.uri_prefix),O=q_(_.workspaceHome),A=hg(B0({machine_id:j,scope:_.scope,workspace_home:O,sqlite_schema_version:v_($),artifact_root_uri:N,tables:D,artifacts:I})),L={id:CE("syncsnap"),machine_id:j,scope:_.scope,workspace_home:O,sqlite_schema_version:v_($),artifact_root_uri:N,content_hash:A,tables_json:JSON.stringify(D),artifact_hashes_json:JSON.stringify(I),created_at:g};$.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 z=new Map;for(let W of $X($,gX()).filter((J)=>!mg.has(J))){let J=DX($,W).map((G)=>q_(G)),P=LI(W,J,z),S=ng($,W,j),X=S?.high_water_hash===P?S.logical_clock:(S?.logical_clock??0)+1;PI($,{table:W,machineId:j,logicalClock:X,highWaterHash:P,highWaterBundleId:L.id,originMachineId:S?.origin_machine_id??j,updatedByMachineId:j,lastAppliedAt:g,metadata:{source:"snapshot",row_count:J.length},now:g})}return{ok:!0,snapshot:{...L,tables:D,artifact_hashes:I},machines_upserted:U,message:`Recorded sync snapshot ${L.id}`}}finally{$.close()}}function zX(_){h(_.dbPath);let $=v(_.dbPath);try{let g=$.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),U=$.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(),I=$.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),j=$B($),N=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,O=D.reduce((L,z)=>L+z.count,0),A=D.filter((L)=>L.status!=="resolved"&&L.status!=="ignored").reduce((L,z)=>L+z.count,0);return{ok:!0,scope:_.scope,workspace_home:q_(_.workspaceHome),sqlite_schema_version:v_($),local_machine_id:_.localMachineId??null,machines:{total:g.length,rows:q_(g)},snapshots:{total:EI($,"knowledge_sync_snapshots"),latest:q_(U)},changes:{total:EI($,"knowledge_sync_changes"),by_operation:I},clocks:{total:j.length,rows:j},imports:{total:EI($,"knowledge_sync_imports"),latest:q_(N)},conflicts:{total:O,by_status:D,open:A},table_counts:NX($),message:`${g.length} machine(s), ${A} open sync conflict(s)`}}finally{$.close()}}function wE(_){return{..._,metadata:JI(_.metadata_json,{})}}function WI(_,$){h(_);let g=v(_);try{let U=g.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return U?wE(U):null}finally{g.close()}}function SX(_,$={}){h(_);let g=v(_),U=Math.max(1,Math.min($.limit??50,200));try{return($.status?g.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all($.status,U):g.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(U)).map(wE)}finally{g.close()}}function yB(_){return AI.includes(_)?_:null}function hB(_,$){let g=yB($.entity_kind);if(!g||!J$(_,g))return null;let U=IX(g,$.entity_id);if(!U)return null;let D=jX(g);return _.query(`SELECT * FROM ${j$(g)} WHERE ${D} LIMIT 1`).get(...U)}function cB(_,$){for(let g of $){let U=_[g];if(U&&typeof U==="object"&&!Array.isArray(U))return yg(U)}return null}function pW(_,$){if(typeof $!=="string")return;let g=$.trim();if(!g)return;if(g.startsWith("open-files://")||g.startsWith("s3://")||g.startsWith("file://")||g.startsWith("https://")||g.startsWith("http://"))_.add(g)}function kE(_,$=new Set,g=0){if(g>8||_===null||_===void 0)return $;if(typeof _==="string")return pW($,_),$;if(Array.isArray(_)){for(let U of _)kE(U,$,g+1);return $}if(typeof _==="object")for(let[U,D]of Object.entries(_)){if(U==="source_ref"||U==="source_uri"||U==="artifact_uri"||U.endsWith("_uri"))pW($,D);kE(D,$,g+1)}return $}function WX(_){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((g,U)=>{$.push({id:`source-${U+1}`,kind:g.startsWith("file://")||g.startsWith("s3://")?"artifact":"source_ref",ref:g,hash:null,quote:null})}),$}function XX(_,$){let g=WI(_,$);if(!g)throw Error(`Sync conflict not found: ${$}`);h(_);let U=v(_);try{let D=yg(hB(U,g)),I=cB(g.metadata,["remote_row","source_row","incoming_row"]),N=[...kE({conflict:{entity_kind:g.entity_kind,entity_id:g.entity_id,metadata:g.metadata},local_row:D,remote_row:I})].slice(0,25),O=[{name:"knowledge_sync_conflict_get",input:{id:$},output_summary:`${g.entity_kind}:${g.entity_id} status=${g.status}`},{name:"knowledge_catalog_row_get",input:{table:g.entity_kind,key:g.entity_id},output_summary:D?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:$},output_summary:`${N.length} source/artifact ref(s) found`}];return{conflict:g,local_row:D,remote_row:I,source_refs:N,citations:WX({conflict:g,localRow:D,remoteRow:I,sourceRefs:N}),read_only_tools:O}}finally{U.close()}}function lg(_,$){let g=WI(_,$);if(!g)throw Error(`Sync conflict not found: ${$}`);let U=g.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",D=[`Conflict ${g.id} affects ${g.entity_kind}:${g.entity_id}.`,`Local machine ${g.local_machine_id} has ${g.local_hash??"unknown hash"}.`,`Remote machine ${g.remote_machine_id} has ${g.remote_hash??"unknown hash"}.`].join(" "),I=["Review this knowledge sync conflict before any durable write.",`Entity: ${g.entity_kind}:${g.entity_id}`,`Local machine/hash: ${g.local_machine_id} / ${g.local_hash??"unknown"}`,`Remote machine/hash: ${g.remote_machine_id} / ${g.remote_hash??"unknown"}`,`Base hash: ${g.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(g.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` -`);return{ok:!0,conflict:g,requires_approval:!0,mode:"deterministic",proposed_strategy:U,summary:D,merge_prompt:I,proposed_patch:null,citations:WX({conflict:g,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:g.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${g.id}`}}function RX(_,$){h(_);let g=v(_),U=u$();try{let D=g.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!D)throw Error(`Sync conflict not found: ${$.id}`);g.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 z=new Map;for(let W of gX($,DX()).filter((J)=>!mg.has(J))){let J=UX($,W).map((G)=>q_(G)),P=LI(W,J,z),S=ng($,W,j),X=S?.high_water_hash===P?S.logical_clock:(S?.logical_clock??0)+1;PI($,{table:W,machineId:j,logicalClock:X,highWaterHash:P,highWaterBundleId:L.id,originMachineId:S?.origin_machine_id??j,updatedByMachineId:j,lastAppliedAt:g,metadata:{source:"snapshot",row_count:J.length},now:g})}return{ok:!0,snapshot:{...L,tables:D,artifact_hashes:I},machines_upserted:U,message:`Recorded sync snapshot ${L.id}`}}finally{$.close()}}function SX(_){h(_.dbPath);let $=v(_.dbPath);try{let g=$.query("SELECT * FROM knowledge_machines ORDER BY machine_id ASC").all(),U=$.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(),I=$.query("SELECT operation, COUNT(*) AS count FROM knowledge_sync_changes GROUP BY operation ORDER BY operation").all(),j=gB($),N=$.query("SELECT * FROM knowledge_sync_imports ORDER BY applied_at DESC LIMIT 1").get()??null,O=D.reduce((L,z)=>L+z.count,0),A=D.filter((L)=>L.status!=="resolved"&&L.status!=="ignored").reduce((L,z)=>L+z.count,0);return{ok:!0,scope:_.scope,workspace_home:q_(_.workspaceHome),sqlite_schema_version:v_($),local_machine_id:_.localMachineId??null,machines:{total:g.length,rows:q_(g)},snapshots:{total:EI($,"knowledge_sync_snapshots"),latest:q_(U)},changes:{total:EI($,"knowledge_sync_changes"),by_operation:I},clocks:{total:j.length,rows:j},imports:{total:EI($,"knowledge_sync_imports"),latest:q_(N)},conflicts:{total:O,by_status:D,open:A},table_counts:EX($),message:`${g.length} machine(s), ${A} open sync conflict(s)`}}finally{$.close()}}function wE(_){return{..._,metadata:JI(_.metadata_json,{})}}function WI(_,$){h(_);let g=v(_);try{let U=g.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($);return U?wE(U):null}finally{g.close()}}function WX(_,$={}){h(_);let g=v(_),U=Math.max(1,Math.min($.limit??50,200));try{return($.status?g.query("SELECT * FROM knowledge_sync_conflicts WHERE status = ? ORDER BY created_at DESC LIMIT ?").all($.status,U):g.query("SELECT * FROM knowledge_sync_conflicts ORDER BY created_at DESC LIMIT ?").all(U)).map(wE)}finally{g.close()}}function hB(_){return AI.includes(_)?_:null}function cB(_,$){let g=hB($.entity_kind);if(!g||!J$(_,g))return null;let U=jX(g,$.entity_id);if(!U)return null;let D=NX(g);return _.query(`SELECT * FROM ${j$(g)} WHERE ${D} LIMIT 1`).get(...U)}function nB(_,$){for(let g of $){let U=_[g];if(U&&typeof U==="object"&&!Array.isArray(U))return yg(U)}return null}function eW(_,$){if(typeof $!=="string")return;let g=$.trim();if(!g)return;if(g.startsWith("open-files://")||g.startsWith("s3://")||g.startsWith("file://")||g.startsWith("https://")||g.startsWith("http://"))_.add(g)}function kE(_,$=new Set,g=0){if(g>8||_===null||_===void 0)return $;if(typeof _==="string")return eW($,_),$;if(Array.isArray(_)){for(let U of _)kE(U,$,g+1);return $}if(typeof _==="object")for(let[U,D]of Object.entries(_)){if(U==="source_ref"||U==="source_uri"||U==="artifact_uri"||U.endsWith("_uri"))eW($,D);kE(D,$,g+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((g,U)=>{$.push({id:`source-${U+1}`,kind:g.startsWith("file://")||g.startsWith("s3://")?"artifact":"source_ref",ref:g,hash:null,quote:null})}),$}function RX(_,$){let g=WI(_,$);if(!g)throw Error(`Sync conflict not found: ${$}`);h(_);let U=v(_);try{let D=yg(cB(U,g)),I=nB(g.metadata,["remote_row","source_row","incoming_row"]),N=[...kE({conflict:{entity_kind:g.entity_kind,entity_id:g.entity_id,metadata:g.metadata},local_row:D,remote_row:I})].slice(0,25),O=[{name:"knowledge_sync_conflict_get",input:{id:$},output_summary:`${g.entity_kind}:${g.entity_id} status=${g.status}`},{name:"knowledge_catalog_row_get",input:{table:g.entity_kind,key:g.entity_id},output_summary:D?"local row found":"local row unavailable"},{name:"knowledge_source_ref_extract",input:{id:$},output_summary:`${N.length} source/artifact ref(s) found`}];return{conflict:g,local_row:D,remote_row:I,source_refs:N,citations:XX({conflict:g,localRow:D,remoteRow:I,sourceRefs:N}),read_only_tools:O}}finally{U.close()}}function lg(_,$){let g=WI(_,$);if(!g)throw Error(`Sync conflict not found: ${$}`);let U=g.entity_kind==="wiki_pages"?"manual-merge":"review-and-select",D=[`Conflict ${g.id} affects ${g.entity_kind}:${g.entity_id}.`,`Local machine ${g.local_machine_id} has ${g.local_hash??"unknown hash"}.`,`Remote machine ${g.remote_machine_id} has ${g.remote_hash??"unknown hash"}.`].join(" "),I=["Review this knowledge sync conflict before any durable write.",`Entity: ${g.entity_kind}:${g.entity_id}`,`Local machine/hash: ${g.local_machine_id} / ${g.local_hash??"unknown"}`,`Remote machine/hash: ${g.remote_machine_id} / ${g.remote_hash??"unknown"}`,`Base hash: ${g.base_hash??"unknown"}`,`Metadata: ${JSON.stringify(g.metadata)}`,"Return a concise merge recommendation with citations to the competing records. Do not write changes without approval."].join(` +`);return{ok:!0,conflict:g,requires_approval:!0,mode:"deterministic",proposed_strategy:U,summary:D,merge_prompt:I,proposed_patch:null,citations:XX({conflict:g,localRow:null,remoteRow:null,sourceRefs:[]}),confidence:null,agent:null,warnings:g.status==="resolved"?["conflict_already_resolved"]:[],message:`Prepared approval-gated merge proposal for ${g.id}`}}function GX(_,$){h(_);let g=v(_),U=u$();try{let D=g.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!D)throw Error(`Sync conflict not found: ${$.id}`);g.query(` UPDATE knowledge_sync_conflicts SET status = 'resolved', resolution_strategy = ?, @@ -942,27 +942,27 @@ ${W}`;else{let{generateText:Q}=await import("ai"),T=await ug(D,{config:$.config, approved_by = ?, resolved_at = ? WHERE id = ? - `).run($.strategy,$.proposedPatchUri??D.proposed_patch_uri,$.approvedBy,U,$.id);let I=g.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!I)throw Error(`Sync conflict not found after resolve: ${$.id}`);return wE(I)}finally{g.close()}}function pP(_){let g=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(g*1.25))}function bF(_){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 zR(_){let $=v(_.dbPath);try{$.run(`UPDATE runs + `).run($.strategy,$.proposedPatchUri??D.proposed_patch_uri,$.approvedBy,U,$.id);let I=g.query("SELECT * FROM knowledge_sync_conflicts WHERE id = ?").get($.id);if(!I)throw Error(`Sync conflict not found after resolve: ${$.id}`);return wE(I)}finally{g.close()}}function pP(_){let g=(typeof _==="string"?_:JSON.stringify(_)).trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(g*1.25))}function HF(_){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 SR(_){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 eP(_){let $=v(_.dbPath);try{$.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`event_${SR()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function HF(_,$,g,U){let D=v(_);try{S0(D,{...g,run_id:$,created_at:U})}finally{D.close()}}function kF(_){return["Build an approval-gated merge proposal for this knowledge sync conflict.","Use only the supplied JSON evidence. Do not claim to inspect external files or write changes.","Return a patch recommendation that a human can review before approval.","",`Deterministic proposal: + VALUES (?, ?, ?, ?, ?, ?)`,[`event_${WR()}`,_.runId,_.level,_.event,JSON.stringify(_.metadata),_.now])}finally{$.close()}}function kF(_,$,g,U){let D=v(_);try{S0(D,{...g,run_id:$,created_at:U})}finally{D.close()}}function CF(_){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 CF(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function rF(_,$){let g=_.kind==="choose_local"||_.kind==="choose_remote"||_.kind==="no_op"||_.kind==="custom"||_.kind==="manual_merge"?_.kind:"manual_merge";return{kind:g,target:typeof _.target==="string"&&_.target?_.target:$,strategy:typeof _.strategy==="string"&&_.strategy?_.strategy:g.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 vF(_){let $=`${_.conflict.entity_kind}:${_.conflict.entity_id}`,g=Boolean(_.local_row&&_.remote_row);return{kind:g?"manual_merge":"custom",target:$,strategy:g?"manual-merge":"review-and-select",summary:g?`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:g?[`--- ${$} 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 WR(_){let $=(_.now??new Date).toISOString();h(_.dbPath);let g=lg(_.dbPath,_.id),U=XX(_.dbPath,_.id),D=G$(_.modelRef??"default",_.config),I=f_(D),j=`run_${SR()}`,N=kF({deterministic:g,evidence:U});bF({dbPath:_.dbPath,runId:j,prompt:N,provider:I.provider,model:I.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:U.read_only_tools.map((W)=>W.name)},now:$}),eP({dbPath:_.dbPath,runId:j,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:U.citations.length,source_refs:U.source_refs.length,read_only_tools:U.read_only_tools},now:$});let O,A,L=0.5,z={input_tokens:pP(N),output_tokens:0,cost_usd:0};if(_.fake)O=vF(U),A=O.summary,z.output_tokens=pP(A)+pP(O.diff??"");else try{let{generateObject:W}=await import("ai"),{z:J}=await Promise.resolve().then(() => (PR(),JR)),P=await ug(D,{config:_.config,env:_.env}),S=J.object({summary:J.string(),confidence:J.number().min(0).max(1),proposed_patch:J.object({kind:J.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:J.string(),strategy:J.string(),summary:J.string(),diff:J.string().nullable(),metadata:J.record(J.string(),J.unknown()).default({})})}),X=await W({model:P,schema:S,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:N});A=X.object.summary,L=CF(X.object.confidence),O=rF(X.object.proposed_patch,`${U.conflict.entity_kind}:${U.conflict.entity_id}`);let G=U4({provider:I.provider,model:I.model,usage:X.usage,providerMetadata:X.providerMetadata});z={input_tokens:G.input_tokens,output_tokens:G.output_tokens,cost_usd:G.cost_usd},HF(_.dbPath,j,G,$)}catch(W){throw eP({dbPath:_.dbPath,runId:j,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:W instanceof Error?W.message:String(W)},now:$}),zR({dbPath:_.dbPath,runId:j,status:"failed",provider:I.provider,model:I.model,usage:z,metadata:{conflict_id:_.id,mode:"ai",error:W instanceof Error?W.message:String(W)},now:$}),W}return zR({dbPath:_.dbPath,runId:j,status:_.fake?"dry_run":"completed",provider:I.provider,model:I.model,usage:z,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:L,proposed_strategy:O.strategy,citation_count:U.citations.length},now:$}),eP({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:$}),{...g,mode:"ai",proposed_strategy:O.strategy,summary:A,proposed_patch:O,citations:U.citations,confidence:L,agent:{generated:!0,provider:I.provider,model:I.model,run_id:j,read_only_tools:U.read_only_tools,usage:z},warnings:[...g.warnings,...U.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as fF,randomUUID as wF}from"crypto";import{existsSync as uF,readFileSync as xF}from"fs";import{basename as yF}from"path";function Zj(_,$){return`${_}_${fF("sha256").update($).digest("hex").slice(0,20)}`}function e0(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function S_(_){return typeof _==="string"&&_.length>0?_:void 0}function hF(_){let $=S_(_.source_ref)??S_(_.source_uri)??S_(_.uri);if($)return $;let g=S_(_.file_id);if(g){let I=S_(_.revision_id)??S_(_.revision),j=`open-files://file/${encodeURIComponent(g)}`;return I?`${j}/revision/${encodeURIComponent(I)}`:j}let U=S_(_.source_id),D=S_(_.path);if(U&&D)return`open-files://source/${encodeURIComponent(U)}/path/${encodeURIComponent(D)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function cF(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function nF(_){return S_(_.hash)??S_(_.checksum)??S_(_.sha256)??null}function dF(_,$,g){return S_(_.revision_id)??S_(_.revision)??S_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??g??null}function mF(_){return S_(_.previous_revision_id)??S_(_.previous_revision)??S_(_.previous_version_id)??null}function iF(_){return(S_(_.event_type)??S_(_.event)??S_(_.type)??S_(_.action)??S_(_.change_type)??"changed").toLowerCase()}function lF(_){let $=S_(_.path);return S_(_.title)??S_(_.name)??($?yF($):null)}function tF(_,$){let g=hF(_),U=A$(g),D=nF(_);return{raw:_,eventType:iF(_),sourceRef:g,sourceUri:cF(g,U),kind:U.kind,title:lF(_),revision:dF(_,U,D),previousRevision:mF(_),hash:D,status:S_(_.status)?.toLowerCase()??null,updatedAt:S_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function oF(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let g=JSON.parse($);if(!Array.isArray(g))throw Error("Outbox array parse failed.");return g.map((U)=>{let D=e0(U);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let g=JSON.parse($),U=e0(g);if(!U)throw Error("Outbox object parse failed.");if(Array.isArray(U.events))return U.events.map((D)=>{let I=e0(D);if(!I)throw Error("Outbox events entries must be objects.");return I});if("source_ref"in U||"source_uri"in U||"file_id"in U)return[U]}catch(g){let U=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(U.length<=1)throw g;return U.map((D)=>{let I=e0(JSON.parse(D));if(!I)throw Error("Outbox JSONL entries must be objects.");return I})}return $.split(/\r?\n/).filter((g)=>g.trim().length>0).map((g)=>{let U=e0(JSON.parse(g));if(!U)throw Error("Outbox JSONL entries must be objects.");return U})}async function pF(_,$,g){let U=new URL(_),D=U.hostname,I=decodeURIComponent(U.pathname.replace(/^\/+/,""));if(!D||!I)throw Error(`Invalid S3 outbox URI: ${_}`);if(g)q6(_,g);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),A=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,z=await new j({region:A?.region,credentials:A?.profile?O({profile:A.profile}):void 0,maxAttempts:A?.max_attempts}).send(new N({Bucket:D,Key:I}));if(!z.Body)return"";return await z.Body.transformToString()}async function eF(_,$,g){if(_.startsWith("s3://"))return pF(_,$,g);if(!uF(_))throw Error(`Outbox not found: ${_}`);return xF(_,"utf8")}function XR(_,$){let g={};if(_)try{g=e0(JSON.parse(_))??{}}catch{g={}}return JSON.stringify({...g,...$})}function aF(_,$,g){let U=Zj("src",$.sourceUri);_.run(`INSERT INTO sources (id, uri, kind, title, metadata_json, acl_json, created_at, updated_at) +`)}function rF(_){let $=typeof _==="number"&&Number.isFinite(_)?_:0.5;return Math.max(0,Math.min(1,$))}function vF(_,$){let g=_.kind==="choose_local"||_.kind==="choose_remote"||_.kind==="no_op"||_.kind==="custom"||_.kind==="manual_merge"?_.kind:"manual_merge";return{kind:g,target:typeof _.target==="string"&&_.target?_.target:$,strategy:typeof _.strategy==="string"&&_.strategy?_.strategy:g.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 fF(_){let $=`${_.conflict.entity_kind}:${_.conflict.entity_id}`,g=Boolean(_.local_row&&_.remote_row);return{kind:g?"manual_merge":"custom",target:$,strategy:g?"manual-merge":"review-and-select",summary:g?`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:g?[`--- ${$} 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 XR(_){let $=(_.now??new Date).toISOString();h(_.dbPath);let g=lg(_.dbPath,_.id),U=RX(_.dbPath,_.id),D=G$(_.modelRef??"default",_.config),I=f_(D),j=`run_${WR()}`,N=CF({deterministic:g,evidence:U});HF({dbPath:_.dbPath,runId:j,prompt:N,provider:I.provider,model:I.model,status:_.fake?"dry_run":"running",metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,read_only_tools:U.read_only_tools.map((W)=>W.name)},now:$}),eP({dbPath:_.dbPath,runId:j,level:"info",event:"conflict_evidence_retrieved",metadata:{citations:U.citations.length,source_refs:U.source_refs.length,read_only_tools:U.read_only_tools},now:$});let O,A,L=0.5,z={input_tokens:pP(N),output_tokens:0,cost_usd:0};if(_.fake)O=fF(U),A=O.summary,z.output_tokens=pP(A)+pP(O.diff??"");else try{let{generateObject:W}=await import("ai"),{z:J}=await Promise.resolve().then(() => (zR(),PR)),P=await ug(D,{config:_.config,env:_.env}),S=J.object({summary:J.string(),confidence:J.number().min(0).max(1),proposed_patch:J.object({kind:J.enum(["manual_merge","choose_local","choose_remote","no_op","custom"]),target:J.string(),strategy:J.string(),summary:J.string(),diff:J.string().nullable(),metadata:J.record(J.string(),J.unknown()).default({})})}),X=await W({model:P,schema:S,system:"You are a read-only knowledge sync conflict proposal agent. You produce reviewable proposals only; never approve or apply writes.",prompt:N});A=X.object.summary,L=rF(X.object.confidence),O=vF(X.object.proposed_patch,`${U.conflict.entity_kind}:${U.conflict.entity_id}`);let G=U4({provider:I.provider,model:I.model,usage:X.usage,providerMetadata:X.providerMetadata});z={input_tokens:G.input_tokens,output_tokens:G.output_tokens,cost_usd:G.cost_usd},kF(_.dbPath,j,G,$)}catch(W){throw eP({dbPath:_.dbPath,runId:j,level:"error",event:"conflict_proposal_generation_failed",metadata:{message:W instanceof Error?W.message:String(W)},now:$}),SR({dbPath:_.dbPath,runId:j,status:"failed",provider:I.provider,model:I.model,usage:z,metadata:{conflict_id:_.id,mode:"ai",error:W instanceof Error?W.message:String(W)},now:$}),W}return SR({dbPath:_.dbPath,runId:j,status:_.fake?"dry_run":"completed",provider:I.provider,model:I.model,usage:z,metadata:{conflict_id:_.id,mode:"ai",fake:_.fake===!0,confidence:L,proposed_strategy:O.strategy,citation_count:U.citations.length},now:$}),eP({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:$}),{...g,mode:"ai",proposed_strategy:O.strategy,summary:A,proposed_patch:O,citations:U.citations,confidence:L,agent:{generated:!0,provider:I.provider,model:I.model,run_id:j,read_only_tools:U.read_only_tools,usage:z},warnings:[...g.warnings,...U.remote_row?[]:["remote_row_snapshot_unavailable"]],message:`Prepared AI SDK approval-gated merge proposal for ${_.id}`}}import{createHash as wF,randomUUID as uF}from"crypto";import{existsSync as xF,readFileSync as yF}from"fs";import{basename as hF}from"path";function Zj(_,$){return`${_}_${wF("sha256").update($).digest("hex").slice(0,20)}`}function e0(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:void 0}function S_(_){return typeof _==="string"&&_.length>0?_:void 0}function cF(_){let $=S_(_.source_ref)??S_(_.source_uri)??S_(_.uri);if($)return $;let g=S_(_.file_id);if(g){let I=S_(_.revision_id)??S_(_.revision),j=`open-files://file/${encodeURIComponent(g)}`;return I?`${j}/revision/${encodeURIComponent(I)}`:j}let U=S_(_.source_id),D=S_(_.path);if(U&&D)return`open-files://source/${encodeURIComponent(U)}/path/${encodeURIComponent(D)}`;throw Error("Outbox event is missing source_ref, file_id, or source_id/path.")}function nF(_,$){if($.kind==="open-files"&&$.entity==="file"&&$.revision_id)return _.replace(/\/revision\/[^/]+$/,"");return _}function dF(_){return S_(_.hash)??S_(_.checksum)??S_(_.sha256)??null}function mF(_,$,g){return S_(_.revision_id)??S_(_.revision)??S_(_.version_id)??($.kind==="open-files"?$.revision_id:void 0)??g??null}function iF(_){return S_(_.previous_revision_id)??S_(_.previous_revision)??S_(_.previous_version_id)??null}function lF(_){return(S_(_.event_type)??S_(_.event)??S_(_.type)??S_(_.action)??S_(_.change_type)??"changed").toLowerCase()}function tF(_){let $=S_(_.path);return S_(_.title)??S_(_.name)??($?hF($):null)}function oF(_,$){let g=cF(_),U=A$(g),D=dF(_);return{raw:_,eventType:lF(_),sourceRef:g,sourceUri:nF(g,U),kind:U.kind,title:tF(_),revision:mF(_,U,D),previousRevision:iF(_),hash:D,status:S_(_.status)?.toLowerCase()??null,updatedAt:S_(_.updated_at)??$,acl:_.permissions??_.acl??void 0}}function pF(_){let $=_.trim();if(!$)return[];if($.startsWith("[")){let g=JSON.parse($);if(!Array.isArray(g))throw Error("Outbox array parse failed.");return g.map((U)=>{let D=e0(U);if(!D)throw Error("Outbox array entries must be objects.");return D})}if($.startsWith("{"))try{let g=JSON.parse($),U=e0(g);if(!U)throw Error("Outbox object parse failed.");if(Array.isArray(U.events))return U.events.map((D)=>{let I=e0(D);if(!I)throw Error("Outbox events entries must be objects.");return I});if("source_ref"in U||"source_uri"in U||"file_id"in U)return[U]}catch(g){let U=$.split(/\r?\n/).filter((D)=>D.trim().length>0);if(U.length<=1)throw g;return U.map((D)=>{let I=e0(JSON.parse(D));if(!I)throw Error("Outbox JSONL entries must be objects.");return I})}return $.split(/\r?\n/).filter((g)=>g.trim().length>0).map((g)=>{let U=e0(JSON.parse(g));if(!U)throw Error("Outbox JSONL entries must be objects.");return U})}async function eF(_,$,g){let U=new URL(_),D=U.hostname,I=decodeURIComponent(U.pathname.replace(/^\/+/,""));if(!D||!I)throw Error(`Invalid S3 outbox URI: ${_}`);if(g)q6(_,g);let[{S3Client:j,GetObjectCommand:N},{fromIni:O}]=await Promise.all([import("@aws-sdk/client-s3"),import("@aws-sdk/credential-providers")]),A=$?.storage.type==="s3"&&$.storage.s3?.bucket===D?$.storage.s3:void 0,z=await new j({region:A?.region,credentials:A?.profile?O({profile:A.profile}):void 0,maxAttempts:A?.max_attempts}).send(new N({Bucket:D,Key:I}));if(!z.Body)return"";return await z.Body.transformToString()}async function aF(_,$,g){if(_.startsWith("s3://"))return eF(_,$,g);if(!xF(_))throw Error(`Outbox not found: ${_}`);return yF(_,"utf8")}function RR(_,$){let g={};if(_)try{g=e0(JSON.parse(_))??{}}catch{g={}}return JSON.stringify({...g,...$})}function sF(_,$,g){let U=Zj("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`,[U,$.sourceUri,$.kind,$.title,JSON.stringify({source_ref:$.sourceRef,source_uri:$.sourceUri,status:$.status,last_outbox_event:$.eventType}),JSON.stringify($.acl??{}),g,$.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 I={source_ref:$.sourceRef,source_uri:$.sourceUri,last_outbox_event:$.eventType,last_outbox_at:$.updatedAt};if($.status)I.status=$.status;if(S_($.raw.path))I.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 = ?",[XR(D.metadata_json,I),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function sF(_,$,g,U){if(!g.revision)return null;let D=Zj("rev",`${$}\x00${g.revision}`),I={source_ref:g.sourceRef,source_uri:g.sourceUri,status:g.status,last_outbox_event:g.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`,[U,$.sourceUri,$.kind,$.title,JSON.stringify({source_ref:$.sourceRef,source_uri:$.sourceUri,status:$.status,last_outbox_event:$.eventType}),JSON.stringify($.acl??{}),g,$.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 I={source_ref:$.sourceRef,source_uri:$.sourceUri,last_outbox_event:$.eventType,last_outbox_at:$.updatedAt};if($.status)I.status=$.status;if(S_($.raw.path))I.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 = ?",[RR(D.metadata_json,I),$.acl===void 0?null:JSON.stringify($.acl),$.acl===void 0?null:JSON.stringify($.acl),$.updatedAt,D.id]),D.id}function _M(_,$,g,U){if(!g.revision)return null;let D=Zj("rev",`${$}\x00${g.revision}`),I={source_ref:g.sourceRef,source_uri:g.sourceUri,status:g.status,last_outbox_event:g.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,$,g.revision,g.hash,S_(g.raw.extracted_text_ref)??null,JSON.stringify(I),U]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,g.revision)?.id??null}function _M(_,$,g){if(g.previousRevision){let U=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,g.previousRevision).map((D)=>D.id);if(U.length>0)return U}if(g.revision)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,g.revision).map((U)=>U.id);if(g.hash)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all($,g.hash).map((U)=>U.id);return _.query("SELECT id FROM source_revisions WHERE source_id = ?").all($).map((U)=>U.id)}function $M(_,$){let g=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),U=0,D=0;for(let j of g){let N=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(j.id);U+=N?.n??0;let O=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(j.id);D+=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 I=_.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get($);return _.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[XR(I?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:g.length,embeddingsDeleted:U,vectorEntriesDeleted:D}}function gM(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function DM(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function UM(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function RR(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)_6(_.dbPath,_.safetyPolicy);h(_.dbPath);let g=await eF(_.input,_.config,_.safetyPolicy),U=oF(g),D=v(_.dbPath),I=`run_${wF()}`;try{return D.transaction(()=>{D.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,"open-files-outbox",_.input,"completed","local","open-files-outbox",JSON.stringify({path:_.input,events:U.length}),$,$]);let j=new Set,N=new Set,O=0,A=0,L=0,z=0,W=0,J=0,P=0;return X_(D,{event_type:"source_read",action:_.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:_.input,decision:"allow",metadata:{events:U.length,read_only:!0},created_at:$}),U.forEach((S,X)=>{let G=tF(S,$),R=aF(D,G,$);j.add(R);let K=sF(D,R,G,$);if(K)N.add(K);let Q=_M(D,R,G);for(let T of Q){N.add(T);let q=$M(D,T);O+=q.chunksDeleted,A+=q.embeddingsDeleted,L+=q.vectorEntriesDeleted,z+=1}if(gM(G.eventType,G.status))W+=1;if(DM(G.eventType))J+=1;if(UM(G.eventType)||G.acl!==void 0)P+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + metadata_json = excluded.metadata_json`,[D,$,g.revision,g.hash,S_(g.raw.extracted_text_ref)??null,JSON.stringify(I),U]),_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").get($,g.revision)?.id??null}function $M(_,$,g){if(g.previousRevision){let U=_.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,g.previousRevision).map((D)=>D.id);if(U.length>0)return U}if(g.revision)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND revision = ?").all($,g.revision).map((U)=>U.id);if(g.hash)return _.query("SELECT id FROM source_revisions WHERE source_id = ? AND hash = ?").all($,g.hash).map((U)=>U.id);return _.query("SELECT id FROM source_revisions WHERE source_id = ?").all($).map((U)=>U.id)}function gM(_,$){let g=_.query("SELECT id FROM chunks WHERE source_revision_id = ?").all($),U=0,D=0;for(let j of g){let N=_.query("SELECT COUNT(*) AS n FROM chunk_embeddings WHERE chunk_id = ?").get(j.id);U+=N?.n??0;let O=_.query("SELECT COUNT(*) AS n FROM vector_index_entries WHERE chunk_id = ?").get(j.id);D+=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 I=_.query("SELECT metadata_json FROM source_revisions WHERE id = ?").get($);return _.run("UPDATE source_revisions SET metadata_json = ? WHERE id = ?",[RR(I?.metadata_json,{reindex_required:!0,invalidated_at:new Date().toISOString()}),$]),{chunksDeleted:g.length,embeddingsDeleted:U,vectorEntriesDeleted:D}}function DM(_,$){return $==="deleted"||["delete","deleted","remove","removed"].includes(_)}function UM(_){return["move","moved","rename","renamed","path_changed","canonical_key_changed"].includes(_)}function IM(_){return["permission","permissions","permission_changed","acl_changed","acl_revoked"].includes(_)}async function GR(_){let $=(_.now??new Date).toISOString();if(_.safetyPolicy)_6(_.dbPath,_.safetyPolicy);h(_.dbPath);let g=await aF(_.input,_.config,_.safetyPolicy),U=pF(g),D=v(_.dbPath),I=`run_${uF()}`;try{return D.transaction(()=>{D.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[I,"open-files-outbox",_.input,"completed","local","open-files-outbox",JSON.stringify({path:_.input,events:U.length}),$,$]);let j=new Set,N=new Set,O=0,A=0,L=0,z=0,W=0,J=0,P=0;return X_(D,{event_type:"source_read",action:_.input.startsWith("s3://")?"s3_outbox_read":"local_outbox_read",target_uri:_.input,decision:"allow",metadata:{events:U.length,read_only:!0},created_at:$}),U.forEach((S,X)=>{let G=oF(S,$),R=sF(D,G,$);j.add(R);let K=_M(D,R,G,$);if(K)N.add(K);let Q=$M(D,R,G);for(let T of Q){N.add(T);let q=gM(D,T);O+=q.chunksDeleted,A+=q.embeddingsDeleted,L+=q.vectorEntriesDeleted,z+=1}if(DM(G.eventType,G.status))W+=1;if(UM(G.eventType))J+=1;if(IM(G.eventType)||G.acl!==void 0)P+=1;D.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?)`,[Zj("evt",`${I}\x00${X}\x00${G.sourceRef}\x00${G.eventType}`),I,"info",G.eventType,JSON.stringify({source_ref:G.sourceRef,source_uri:G.sourceUri,revision:G.revision,hash:G.hash,status:G.status,affected_revisions:Q.length}),G.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, ?, ?)`,[Zj("usage",I),I,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),X_(D,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:I,events:U.length,sources:j.size,revisions:N.size,chunks_deleted:O,embeddings_deleted:A,vector_entries_deleted:L},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:I,events_seen:U.length,sources_touched:j.size,revisions_touched:N.size,chunks_deleted:O,embeddings_deleted:A,vector_entries_deleted:L,stale_revisions:z,deleted_sources:W,moved_sources:J,permission_updates:P}})()}finally{D.close()}}import{spawnSync as QR}from"child_process";import{hostname as u4,platform as TR,userInfo as IM}from"os";var jM=1,NM="@hasna/machines",EM="@hasna/machines/consumer";function d(_){return typeof _==="string"&&_.length>0?_:null}function y6(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function n_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function vj(_){return typeof _==="boolean"?_:null}function OM(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function fj(_=TR()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function DU(_){let $=QR("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function a0(_,$){return await _($)}async function UU(_,$){return(await a0($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function AM(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function GR(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function LM(_,$){let g=new Map;if(!await UU("tailscale",_))return $.push("tailscale_not_available"),{peers:g,selfKey:null};let U=await a0(_,"tailscale status --json");if(U.exitCode!==0)return $.push(`tailscale_status_failed:${U.stderr.trim()||U.exitCode}`),{peers:g,selfKey:null};let D=AM(U.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:g,selfKey:null};let I=(j)=>{let N=GR(j);if(N&&j)g.set(N,j)};I(D.Self);for(let j of Object.values(D.Peer??{}))I(j);return{peers:g,selfKey:GR(D.Self)}}function JM(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??u4()}function PM(_){let $=_.machineId===_.localMachineId||_.machineId===u4(),g=_.peer?.DNSName?.replace(/\.$/,"")??null,U=g??_.peer?.TailscaleIPs?.[0]??null,D=[];if($)D.push({kind:"local",target:"localhost",reachable:!0});if(U)D.push({kind:"tailscale",target:U,reachable:_.peer?.Online??null});let I=D.find((j)=>j.kind==="local")??D.find((j)=>j.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?u4():_.machineId),local:$,platform:_.peer?.OS?fj(_.peer.OS):$?fj():null,os:_.peer?.OS??($?TR():null),user:$?IM().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:g,ips:_.peer?.TailscaleIPs??[],online:_.peer?.Online??null,active:_.peer?.Active??null,last_seen:_.peer?.LastSeen??null},ssh:{address:null,route:I?.kind==="local"?"local":I?.kind==="tailscale"?"tailscale":"unknown",command_target:I?.target??null},route_hints:D,tags:[],metadata:{},source:"local"}}function zM(_){if(!Array.isArray(_))return[];return _.map(($)=>{let g=n_($),U=d(g.kind)??"unknown";return{kind:U==="local"||U==="lan"||U==="tailscale"||U==="ssh"?U:"unknown",target:d(g.target)??"",reachable:vj(g.reachable)}}).filter(($)=>$.target.length>0)}function SM(_,$){let g=d(_.machine_id)??d(_.hostname)??"unknown",U=n_(_.tailscale),D=n_(_.ssh),I=d(_.heartbeat_status),j=d(D.route);return{machine_id:g,hostname:d(_.hostname),local:g===$,platform:d(_.platform),os:d(_.os),user:d(_.user),workspace_path:d(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:I==="online"||I==="offline"?I:"unknown",last_heartbeat_at:d(_.last_heartbeat_at),tailscale:{dns_name:d(U.dns_name),ips:y6(U.ips),online:vj(U.online),active:vj(U.active),last_seen:d(U.last_seen)},ssh:{address:d(D.address),route:j==="local"||j==="lan"||j==="tailscale"?j:"unknown",command_target:d(D.command_target)},route_hints:zM(_.route_hints),tags:y6(_.tags),metadata:n_(_.metadata),source:"open-machines"}}function WM(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function E$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function IU(_){return _.adapterMode??"auto"}function qR(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let g=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof g==="number"?g:null}function wj(_){return typeof _.schema_version==="number"?_.schema_version:null}function jU(_){return typeof _==="number"&&_>jM?_:null}function uj(_){return{package:NM,entrypoint:EM,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function j_(_,$="adapter_disabled"){return uj({mode:_,implementation:"disabled",available:!1,error:$})}function xj(_,$){let g=jU(qR($));if(!g)return null;return uj({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${g}`,contractVersion:g})}function yj(_){return uj({mode:_,implementation:"cli",available:!0})}function hj(_,$){return uj({mode:_,implementation:"sdk",available:!0,contractVersion:qR($)})}function cj(_){try{return JSON.parse(_)}catch{return null}}function x4(_){return`'${_.replace(/'/g,"'\\''")}'`}function nj(_){return["machines",..._].map(x4).join(" ")}function dj(_){return _==="local"||_==="localhost"||_===u4()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function XM(_,$){let g=dj(_),U=g?$:`ssh ${x4(_)} ${x4($)}`,D=QR("bash",["-c",U],{encoding:"utf8",env:process.env});return{stdout:D.stdout||"",stderr:D.stderr||"",exitCode:D.status??1,source:g?"local":"ssh"}}async function BR(_,$,g){return await _($,g)}function f4(_,$){if($)return"ok";return _===!1?"warn":"fail"}function w4(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function RM(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function GM(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function KR(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function VR(_){let $={};for(let g of _.split(/\r?\n/)){let U=g.indexOf("=");if(U<=0)continue;$[g.slice(0,U)]=g.slice(U+1)}return $}function A6(_){return{id:_.id,kind:_.kind,status:_.status,target:_.target,expected:_.expected??null,actual:_.actual??null,detail:_.detail,source:_.source}}async function FR(_,$,g){let U=[`cmd=${x4($.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 BR(g,_,U),I=VR(D.stdout);return{path:I.path||null,version:I.version?GM(I.version):null,stderr:D.stderr,source:D.source??(dj(_)?"local":"ssh")}}function YR(_){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 YM(_,$,g){let U=[`path=${x4($.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" "$(${YR("name")})"; printf "version=%s\\n" "$(${YR("version")})"; fi`].join("; "),D=await BR(g,_,U),I=VR(D.stdout);return{exists:I.exists==="yes",packageJson:I.package_json==="yes",packageName:I.package_name||null,version:I.version||null,stderr:D.stderr,source:D.source??(dj(_)?"local":"ssh")}}async function QM(_,$,g){let U=await FR(_,$,g),D=Boolean(U.path),I=[A6({id:`command:${w4($.command)}:path`,kind:"command",status:f4($.required,D),target:$.command,expected:"available",actual:U.path??"missing",detail:D?`found at ${U.path}`:U.stderr||"command missing",source:U.source})];if($.expectedVersion){let j=KR(U.version??"");I.push(A6({id:`command:${w4($.command)}:version`,kind:"command",status:j===$.expectedVersion?"ok":f4($.required,!1),target:$.command,expected:$.expectedVersion,actual:j??U.version??"missing",detail:j?`version output: ${U.version}`:"version unavailable",source:U.source}))}return I}async function TM(_,$,g){let U=$.command??RM($.name),D=await FR(_,{command:U,expectedVersion:$.expectedVersion,required:$.required},g),I=Boolean(D.path),j=[A6({id:`package:${w4($.name)}:command`,kind:"package",status:f4($.required,I),target:$.name,expected:U,actual:D.path??"missing",detail:I?`${U} found at ${D.path}`:`${U} command missing`,source:D.source})];if($.expectedVersion){let N=KR(D.version??"");j.push(A6({id:`package:${w4($.name)}:version`,kind:"package",status:N===$.expectedVersion?"ok":f4($.required,!1),target:$.name,expected:$.expectedVersion,actual:N??D.version??"missing",detail:N?`version output: ${D.version}`:"version unavailable",source:D.source}))}return j}async function qM(_,$,g){let U=await YM(_,$,g),D=$.label??$.path,I=[A6({id:`workspace:${w4(D)}:path`,kind:"workspace",status:f4($.required,U.exists),target:D,expected:$.path,actual:U.exists?"exists":"missing",detail:U.exists?`workspace exists at ${$.path}`:U.stderr||`workspace missing at ${$.path}`,source:U.source})];if($.expectedPackageName)I.push(A6({id:`workspace:${w4(D)}:package-name`,kind:"workspace",status:U.packageName===$.expectedPackageName?"ok":f4($.required,!1),target:D,expected:$.expectedPackageName,actual:U.packageName??(U.packageJson?"missing-name":"missing-package-json"),detail:U.packageJson?"package.json inspected":"package.json missing",source:U.source}));if($.expectedVersion)I.push(A6({id:`workspace:${w4(D)}:version`,kind:"workspace",status:U.version===$.expectedVersion?"ok":f4($.required,!1),target:D,expected:$.expectedVersion,actual:U.version??(U.packageJson?"missing-version":"missing-package-json"),detail:U.packageJson?"package.json inspected":"package.json missing",source:U.source}));return I}function MR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:l$,workspace_home:$.knowledge?.workspace_home??null},message:WM(_.source,_.machines.length)}}async function mj(){try{return await import("@hasna/machines/consumer")}catch(_){if(E$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function ZR(_,$,g){let U=n_(_);if(jU(wj(U)))return null;let D=Array.isArray(U.machines)?U.machines:null,I=d(U.local_machine_id);if(!D||!I)return null;let j={ok:!0,source:"open-machines",generated_at:d(U.generated_at)??($.now??new Date).toISOString(),local_machine_id:I,local_hostname:d(U.local_hostname)??u4(),current_platform:d(U.current_platform)??fj(),machines:D.map((N)=>SM(N,I)),warnings:y6(U.warnings),adapter:g};return MR(j,$)}function bj(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function bR(_){let $=n_(_),g=d($.observed_at),U=d($.source_authority);if(!g||!U)return null;return{observed_at:g,verified_at:d($.verified_at),expires_at:d($.expires_at),ttl_ms:OM($.ttl_ms),source_authority:U,confidence:d($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:y6($.reasons)}}function HR(_,$){let g=n_(_);if(jU(wj(g)))return null;let U=d(g.target)??d(g.command_target);if(g.ok!==!0||!U)return null;let D=typeof g.evidence==="object"&&g.evidence!==null?g.evidence:null,I=typeof D?.selected_hint==="object"&&D.selected_hint!==null?D.selected_hint:null;return{target:U,route:bj(g.route),targetKind:bj(I?.kind)??bj(g.source)??bj(g.route),confidence:d(g.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:bR(g.cacheability),warnings:y6(g.warnings)}}function aP(_){let $=n_(_);return{path:d($.path),source:d($.source)??"unresolved"}}function BM(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let g=n_($),U=d(g.id),D=d(g.status),I=d(g.severity),j=d(g.message);if(!U||!D||!I||!j)return[];return[{id:U,status:D,severity:I,message:j,path:d(g.path),source:d(g.source)??"unknown",path_exists:vj(g.path_exists)}]})}function KM(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let g=n_($),U=d(g.id),D=d(g.reason),I=y6(g.command),j=d(g.shell_command),N=y6(g.apply_command),O=d(g.apply_shell_command);if(!U||!D||!I.length||!j||!N.length||!O)return[];return[{id:U,reason:D,command:I,shell_command:j,apply_command:N,apply_shell_command:O}]})}function VM(_){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 g=["machines","workspace","repair","--machine",_.requestedMachineId,"--project",_.projectId,"--repo",_.repoName,"--open-files-repo",_.openFilesRepoName??"open-files","--json"],U=[...g,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:g,shell_command:g.map(x4).join(" "),apply_command:U,apply_shell_command:U.map(x4).join(" ")}]}function kR(_,$,g){let U=n_(_);if(jU(wj(U)))return null;let D=n_(U.paths),I=n_(U.project),j=n_(U.machine),N=aP(D.project_root),O=aP(D.workspace_root),A=aP(D.open_files_root);if(U.ok!==!0||!N.path)return null;let L=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,z=d(U.requested_machine_id)??$.machineId,W=d(I.project_id)??$.projectId??"open-knowledge",J=d(I.repo_name)??$.repoName??$.projectId??"open-knowledge",P=d(j.trust_status)??"unknown",S=d(j.auth_status)??"unknown",X=y6(U.warnings),G=BM(U.diagnostics),R=KM(U.repair_hints);return{ok:!0,source:"open-machines",adapter:g,requested_machine_id:z,machine_id:d(U.machine_id),project_id:W,repo_name:J,project_root:N.path,project_root_source:N.source,workspace_root:O.path,workspace_root_source:O.source,open_files_root:A.path,open_files_root_source:A.source,trust_status:P,auth_status:S,current:j.current===!0,primary:j.primary===!0,diagnostics:G,repair_hints:R.length?R:VM({requestedMachineId:z,projectId:W,repoName:J,openFilesRepoName:$.openFilesRepoName,warnings:X,projectRootSource:N.source,openFilesRootSource:A.source,trustStatus:P,authStatus:S}),evidence:L,cacheability:bR(U.cacheability),warnings:X}}async function Hj(_,$){let g=_.runner??DU;if(!await UU("machines",g))return null;let U=["topology","--json"];if(_.includeTailscale===!1)U.push("--no-tailscale");let D=await a0(g,nj(U));if(D.exitCode!==0)return null;return ZR(cj(D.stdout),_,$)}async function j6(_,$){let g=[];if($.error)g.push(`open_machines_unavailable:${$.error}`);let U=_.runner??DU,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await LM(U,g),I=JM(D.selfKey),N=[...new Set([I,...D.peers.keys()])].sort().map((O)=>PM({machineId:O,localMachineId:I,peer:D.peers.get(O)}));return MR({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:I,local_hostname:u4(),current_platform:fj(),machines:N,warnings:g,adapter:$},_)}async function CR(_={}){let $=IU(_);if($==="disabled")return await j6(_,j_($));let g=yj($);try{if($!=="cli"){let D=await(_.loadOpenMachines??mj)(),I=xj($,D);if(I)return await j6(_,I);let j=hj($,D);if(D?.discoverMachineTopology){let N=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),O=ZR(N,_,j);if(O)return O;if($==="sdk")return await j6(_,j_($,"invalid_topology_shape"));return await Hj(_,g)??await j6(_,j_($,"invalid_topology_shape"))}if($==="sdk")return await j6(_,j_($,"missing_discoverMachineTopology"));return await Hj(_,g)??await j6(_,j_($,"missing_discoverMachineTopology"))}return await Hj(_,g)??await j6(_,j_($,"machines_cli_unavailable"))}catch(U){if($==="sdk")return await j6(_,j_($,E$(U)));return await Hj(_,g)??await j6(_,j_($,E$(U)))}}async function kj(_,$){let g=_.runner??DU;if(!await UU("machines",g))return null;let U=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)U.push("--no-tailscale");let D=await a0(g,nj(U));if(D.exitCode!==0)return null;return HR(cj(D.stdout),$)}function N6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function sP(_){let $=IU(_);if($==="disabled")return N6(_.machineId,j_($));let g=yj($);try{if($!=="cli"){let D=await(_.loadOpenMachines??mj)(),I=xj($,D);if(I)return N6(_.machineId,I);let j=hj($,D);if(D?.resolveMachineRoute){let N=HR(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),j);if(N)return N;if($==="sdk")return N6(_.machineId,j_($,"invalid_route_shape"));return await kj(_,g)??N6(_.machineId,j_($,"invalid_route_shape"))}if($==="sdk")return N6(_.machineId,j_($,"missing_resolveMachineRoute"));return await kj(_,g)??N6(_.machineId,j_($,"missing_resolveMachineRoute"))}return await kj(_,g)??N6(_.machineId,j_($,"machines_cli_unavailable"))}catch(U){if($==="sdk")return{...N6(_.machineId,j_($,E$(U))),warnings:[E$(U)]};return await kj(_,g)??{...N6(_.machineId,j_($,E$(U))),warnings:[E$(U)]}}}async function Cj(_,$){let g=_.runner??DU;if(!await UU("machines",g))return null;let U=_.projectId??"open-knowledge",D=_.repoName??"open-knowledge",I=["workspace","resolve","--machine",_.machineId,"--project",U,"--repo",D,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)I.push("--no-tailscale");let j=await a0(g,nj(I));if(j.exitCode!==0)return null;return kR(cj(j.stdout),_,$)}function FM(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:j_(IU(_),"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 E6(_,$,g){return{ok:!1,source:"raw",adapter:g,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 ij(_){let $=FM(_);if($)return $;let g=IU(_);if(g==="disabled")return E6(_,["adapter_disabled"],j_(g));let U=yj(g);try{if(g!=="cli"){let I=await(_.loadOpenMachines??mj)(),j=xj(g,I);if(j)return E6(_,[`unsupported_contract_version:${j.contract_version}`],j);let N=hj(g,I);if(I?.resolveMachineWorkspace){let O=kR(I.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(g==="sdk")return E6(_,["invalid_workspace_shape"],j_(g,"invalid_workspace_shape"));return await Cj(_,U)??E6(_,["invalid_workspace_shape"],j_(g,"invalid_workspace_shape"))}if(g==="sdk")return E6(_,["missing_resolveMachineWorkspace"],j_(g,"missing_resolveMachineWorkspace"));return await Cj(_,U)??E6(_,["missing_resolveMachineWorkspace"],j_(g,"missing_resolveMachineWorkspace"))}return await Cj(_,U)??E6(_,["machines_cli_unavailable"],j_(g,"machines_cli_unavailable"))}catch(D){if(g==="sdk")return E6(_,[E$(D)],j_(g,E$(D)));return await Cj(_,U)??E6(_,[E$(D)],j_(g,E$(D)))}}function rR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:l$,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 vR(_,$,g){let U=n_(_);if(jU(wj(U)))return null;let D=Array.isArray(U.checks)?U.checks:null,I=d(U.machine_id)??d(U.machineId);if(!D||!I)return null;let j=D.map((O)=>{let A=n_(O),L=d(A.status),z=d(A.kind),W=d(A.source);return A6({id:d(A.id)??"unknown",kind:z==="command"||z==="package"||z==="workspace"?z:"command",status:L==="ok"||L==="warn"||L==="fail"?L:"fail",target:d(A.target)??"unknown",expected:d(A.expected),actual:d(A.actual),detail:d(A.detail)??"",source:W==="local"||W==="ssh"||W==="open-machines"?W:"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 rR({ok:N.fail===0,source:"open-machines",machine_id:I,generated_at:d(U.generated_at)??($.now??new Date).toISOString(),checks:j,summary:N,adapter:g},$)}function MM(_){if(!_.runner)return DU;return async($)=>{let g=await _.runner?.("local",$);return{stdout:g?.stdout??"",stderr:g?.stderr??"",exitCode:g?.exitCode??1}}}function ZM(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function bM(_){let $=[_.expectedPackageName,_.expectedVersion].filter((U)=>Boolean(U)).join(":"),g=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${g}`:g}async function rj(_,$){let g=MM(_);if(!await UU("machines",g))return null;let U=["compatibility","--json","--machine",_.machineId??"local"];for(let I of _.commands??[])U.push("--command",I.expectedVersion?`${I.command}:${I.expectedVersion}`:I.command);for(let I of _.packages??[])U.push("--package",ZM(I));for(let I of _.workspaces??[])U.push("--workspace",bM(I));let D=await a0(g,nj(U));if(D.exitCode!==0)return null;return vR(cj(D.stdout),_,$)}async function O6(_,$){let g=_.machineId??u4(),U=_.runner??XM,D=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],I=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],j=_.workspaces??[],N=[];for(let A of D)N.push(...await QM(g,A,U));for(let A of I)N.push(...await TM(g,A,U));for(let A of j)N.push(...await qM(g,A,U));if($.error)N.push(A6({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:$.error,detail:"Using knowledge local/ssh compatibility fallback",source:dj(g)?"local":"ssh"}));let O={ok:N.filter((A)=>A.status==="ok").length,warn:N.filter((A)=>A.status==="warn").length,fail:N.filter((A)=>A.status==="fail").length};return rR({ok:O.fail===0,source:"local",machine_id:g,generated_at:(_.now??new Date).toISOString(),checks:N,summary:O,adapter:$},_)}async function fR(_={}){let $=IU(_);if($==="disabled")return await O6(_,j_($));let g=yj($);try{if($!=="cli"){let D=await(_.loadOpenMachines??mj)(),I=xj($,D);if(I)return await O6(_,I);let j=hj($,D);if(D?.checkMachineCompatibility){let N=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),O=vR(N,_,j);if(O)return O;if($==="sdk")return await O6(_,j_($,"invalid_compatibility_shape"));return await rj(_,g)??await O6(_,j_($,"invalid_compatibility_shape"))}if($==="sdk")return await O6(_,j_($,"missing_checkMachineCompatibility"));return await rj(_,g)??await O6(_,j_($,"missing_checkMachineCompatibility"))}return await rj(_,g)??await O6(_,j_($,"machines_cli_unavailable"))}catch(U){if($==="sdk")return await O6(_,j_($,E$(U)));return await rj(_,g)??await O6(_,j_($,E$(U)))}}import{createHash as wR}from"crypto";function $3(_,$,g=24){return`${_}_${wR("sha256").update($).digest("hex").slice(0,g)}`}function s0(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function HM(_){return s0(_).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")}function K$(_,$){try{return JSON.parse(_)}catch{return $}}function h6(_){return{..._,record_kind:_.record_kind,source_kind:_.source_kind,status:_.status,source_refs:K$(_.source_refs_json,[]),evidence_refs:K$(_.evidence_refs_json,[]),requires_approval:_.requires_approval===1,checks:K$(_.checks_json,uR()),metadata:K$(_.metadata_json,{})}}function g3(_){return{..._,record_kind:_.record_kind,source_refs:K$(_.source_refs_json,[]),evidence_refs:K$(_.evidence_refs_json,[]),metadata:K$(_.metadata_json,{})}}function uR(){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 kM(_){let $=typeof _==="string"?{ref:_}:_;return{ref:s0($.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 xR(_){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 lj(_){return["deleted","stale","invalidated","reindex_required","expired","superseded"].includes((_??"").toLowerCase())}function _3(_){if(!_)return null;let $=K$(_,{});if($.stale===!0)return"stale";return typeof $.status==="string"?$.status:null}function CM(_){if(_.citation_id)return _.citation_id;return _.ref.match(/^(?:cite|citation):(.+)$/)?.[1]??null}function rM(_){if(_.chunk_id)return _.chunk_id;return _.ref.match(/^chunk:(.+)$/)?.[1]??null}function vM(_,$,g){let U=lj($.status)||Boolean($.expires_at&&$.expires_at<=g);if(!$.ref||!xR($.ref))return{ref:$.ref,valid:!1,resolved_by:"none",stale:U,reason:"invalid_reference"};let D=CM($),I=_.query(`SELECT c.id, c.source_uri, c.chunk_id, ch.metadata_json AS chunk_metadata_json, + VALUES (?, ?, ?, ?, 0, 0, 0, ?, ?)`,[Zj("usage",I),I,"local","open-files-outbox",JSON.stringify({note:"No model provider used for outbox invalidation."}),$]),X_(D,{event_type:"write",action:"knowledge_outbox_invalidation",target_uri:_.dbPath,decision:"allow",metadata:{run_id:I,events:U.length,sources:j.size,revisions:N.size,chunks_deleted:O,embeddings_deleted:A,vector_entries_deleted:L},created_at:$}),{path:_.input,db_path:_.dbPath,run_id:I,events_seen:U.length,sources_touched:j.size,revisions_touched:N.size,chunks_deleted:O,embeddings_deleted:A,vector_entries_deleted:L,stale_revisions:z,deleted_sources:W,moved_sources:J,permission_updates:P}})()}finally{D.close()}}import{spawnSync as TR}from"child_process";import{hostname as u4,platform as qR,userInfo as jM}from"os";var NM=1,EM="@hasna/machines",OM="@hasna/machines/consumer";function d(_){return typeof _==="string"&&_.length>0?_:null}function y6(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function n_(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function vj(_){return typeof _==="boolean"?_:null}function AM(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function fj(_=qR()){let $=_.toLowerCase();if($==="darwin"||$==="macos")return"macos";if($==="win32"||$==="windows")return"windows";if($==="linux")return"linux";return _}function DU(_){let $=TR("bash",["-c",_],{encoding:"utf8",env:process.env});return{stdout:$.stdout||"",stderr:$.stderr||"",exitCode:$.status??1}}async function a0(_,$){return await _($)}async function UU(_,$){return(await a0($,`command -v ${_} >/dev/null 2>&1`)).exitCode===0}function LM(_){try{let $=JSON.parse(_);if(!$||typeof $!=="object")return null;return $}catch{return null}}function YR(_){if(!_)return null;return _.HostName??_.DNSName?.split(".")[0]??null}async function JM(_,$){let g=new Map;if(!await UU("tailscale",_))return $.push("tailscale_not_available"),{peers:g,selfKey:null};let U=await a0(_,"tailscale status --json");if(U.exitCode!==0)return $.push(`tailscale_status_failed:${U.stderr.trim()||U.exitCode}`),{peers:g,selfKey:null};let D=LM(U.stdout);if(!D)return $.push("tailscale_status_invalid_json"),{peers:g,selfKey:null};let I=(j)=>{let N=YR(j);if(N&&j)g.set(N,j)};I(D.Self);for(let j of Object.values(D.Peer??{}))I(j);return{peers:g,selfKey:YR(D.Self)}}function PM(_){return process.env.HASNA_MACHINE_ID??process.env.OPEN_MACHINES_MACHINE_ID??process.env.MACHINE_ID??_??u4()}function zM(_){let $=_.machineId===_.localMachineId||_.machineId===u4(),g=_.peer?.DNSName?.replace(/\.$/,"")??null,U=g??_.peer?.TailscaleIPs?.[0]??null,D=[];if($)D.push({kind:"local",target:"localhost",reachable:!0});if(U)D.push({kind:"tailscale",target:U,reachable:_.peer?.Online??null});let I=D.find((j)=>j.kind==="local")??D.find((j)=>j.kind==="tailscale")??null;return{machine_id:_.machineId,hostname:_.peer?.HostName??($?u4():_.machineId),local:$,platform:_.peer?.OS?fj(_.peer.OS):$?fj():null,os:_.peer?.OS??($?qR():null),user:$?jM().username:null,workspace_path:null,manifest_declared:!1,heartbeat_status:"unknown",last_heartbeat_at:null,tailscale:{dns_name:g,ips:_.peer?.TailscaleIPs??[],online:_.peer?.Online??null,active:_.peer?.Active??null,last_seen:_.peer?.LastSeen??null},ssh:{address:null,route:I?.kind==="local"?"local":I?.kind==="tailscale"?"tailscale":"unknown",command_target:I?.target??null},route_hints:D,tags:[],metadata:{},source:"local"}}function SM(_){if(!Array.isArray(_))return[];return _.map(($)=>{let g=n_($),U=d(g.kind)??"unknown";return{kind:U==="local"||U==="lan"||U==="tailscale"||U==="ssh"?U:"unknown",target:d(g.target)??"",reachable:vj(g.reachable)}}).filter(($)=>$.target.length>0)}function WM(_,$){let g=d(_.machine_id)??d(_.hostname)??"unknown",U=n_(_.tailscale),D=n_(_.ssh),I=d(_.heartbeat_status),j=d(D.route);return{machine_id:g,hostname:d(_.hostname),local:g===$,platform:d(_.platform),os:d(_.os),user:d(_.user),workspace_path:d(_.workspace_path),manifest_declared:_.manifest_declared===!0,heartbeat_status:I==="online"||I==="offline"?I:"unknown",last_heartbeat_at:d(_.last_heartbeat_at),tailscale:{dns_name:d(U.dns_name),ips:y6(U.ips),online:vj(U.online),active:vj(U.active),last_seen:d(U.last_seen)},ssh:{address:d(D.address),route:j==="local"||j==="lan"||j==="tailscale"?j:"unknown",command_target:d(D.command_target)},route_hints:SM(_.route_hints),tags:y6(_.tags),metadata:n_(_.metadata),source:"open-machines"}}function XM(_,$){return`${$} machine${$===1?"":"s"} discovered via ${_}`}function E$(_){let $=_ instanceof Error?_.message:String(_);return $.includes("Cannot find module '@hasna/machines'")||$.includes("Cannot find module '@hasna/machines/consumer'")?"module_not_found":$}function IU(_){return _.adapterMode??"auto"}function BR(_){let $=_?.MACHINES_CONSUMER_CONTRACT?.schema_version;if(typeof $==="number")return $;let g=_?.MACHINES_CONSUMER_CONTRACT_VERSION;return typeof g==="number"?g:null}function wj(_){return typeof _.schema_version==="number"?_.schema_version:null}function jU(_){return typeof _==="number"&&_>NM?_:null}function uj(_){return{package:EM,entrypoint:OM,mode:_.mode,implementation:_.implementation,contract_version:_.contractVersion??null,available:_.available,error:_.error??null}}function j_(_,$="adapter_disabled"){return uj({mode:_,implementation:"disabled",available:!1,error:$})}function xj(_,$){let g=jU(BR($));if(!g)return null;return uj({mode:_,implementation:"disabled",available:!1,error:`unsupported_contract_version:${g}`,contractVersion:g})}function yj(_){return uj({mode:_,implementation:"cli",available:!0})}function hj(_,$){return uj({mode:_,implementation:"sdk",available:!0,contractVersion:BR($)})}function cj(_){try{return JSON.parse(_)}catch{return null}}function x4(_){return`'${_.replace(/'/g,"'\\''")}'`}function nj(_){return["machines",..._].map(x4).join(" ")}function dj(_){return _==="local"||_==="localhost"||_===u4()||_===process.env.HASNA_MACHINE_ID||_===process.env.OPEN_MACHINES_MACHINE_ID||_===process.env.MACHINE_ID}function RM(_,$){let g=dj(_),U=g?$:`ssh ${x4(_)} ${x4($)}`,D=TR("bash",["-c",U],{encoding:"utf8",env:process.env});return{stdout:D.stdout||"",stderr:D.stderr||"",exitCode:D.status??1,source:g?"local":"ssh"}}async function KR(_,$,g){return await _($,g)}function f4(_,$){if($)return"ok";return _===!1?"warn":"fail"}function w4(_){return _.replace(/[^a-zA-Z0-9_.@/-]+/g,"-").replace(/^-+|-+$/g,"")}function GM(_){if(_==="@hasna/knowledge")return"knowledge";if(_==="@hasna/machines")return"machines";return _.split("/").pop()??_}function YM(_){return _.trim().split(/\r?\n/).find(Boolean)??""}function VR(_){return _.match(/\b\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?\b/)?.[0]??null}function FR(_){let $={};for(let g of _.split(/\r?\n/)){let U=g.indexOf("=");if(U<=0)continue;$[g.slice(0,U)]=g.slice(U+1)}return $}function A6(_){return{id:_.id,kind:_.kind,status:_.status,target:_.target,expected:_.expected??null,actual:_.actual??null,detail:_.detail,source:_.source}}async function MR(_,$,g){let U=[`cmd=${x4($.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 KR(g,_,U),I=FR(D.stdout);return{path:I.path||null,version:I.version?YM(I.version):null,stderr:D.stderr,source:D.source??(dj(_)?"local":"ssh")}}function QR(_){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 QM(_,$,g){let U=[`path=${x4($.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" "$(${QR("name")})"; printf "version=%s\\n" "$(${QR("version")})"; fi`].join("; "),D=await KR(g,_,U),I=FR(D.stdout);return{exists:I.exists==="yes",packageJson:I.package_json==="yes",packageName:I.package_name||null,version:I.version||null,stderr:D.stderr,source:D.source??(dj(_)?"local":"ssh")}}async function TM(_,$,g){let U=await MR(_,$,g),D=Boolean(U.path),I=[A6({id:`command:${w4($.command)}:path`,kind:"command",status:f4($.required,D),target:$.command,expected:"available",actual:U.path??"missing",detail:D?`found at ${U.path}`:U.stderr||"command missing",source:U.source})];if($.expectedVersion){let j=VR(U.version??"");I.push(A6({id:`command:${w4($.command)}:version`,kind:"command",status:j===$.expectedVersion?"ok":f4($.required,!1),target:$.command,expected:$.expectedVersion,actual:j??U.version??"missing",detail:j?`version output: ${U.version}`:"version unavailable",source:U.source}))}return I}async function qM(_,$,g){let U=$.command??GM($.name),D=await MR(_,{command:U,expectedVersion:$.expectedVersion,required:$.required},g),I=Boolean(D.path),j=[A6({id:`package:${w4($.name)}:command`,kind:"package",status:f4($.required,I),target:$.name,expected:U,actual:D.path??"missing",detail:I?`${U} found at ${D.path}`:`${U} command missing`,source:D.source})];if($.expectedVersion){let N=VR(D.version??"");j.push(A6({id:`package:${w4($.name)}:version`,kind:"package",status:N===$.expectedVersion?"ok":f4($.required,!1),target:$.name,expected:$.expectedVersion,actual:N??D.version??"missing",detail:N?`version output: ${D.version}`:"version unavailable",source:D.source}))}return j}async function BM(_,$,g){let U=await QM(_,$,g),D=$.label??$.path,I=[A6({id:`workspace:${w4(D)}:path`,kind:"workspace",status:f4($.required,U.exists),target:D,expected:$.path,actual:U.exists?"exists":"missing",detail:U.exists?`workspace exists at ${$.path}`:U.stderr||`workspace missing at ${$.path}`,source:U.source})];if($.expectedPackageName)I.push(A6({id:`workspace:${w4(D)}:package-name`,kind:"workspace",status:U.packageName===$.expectedPackageName?"ok":f4($.required,!1),target:D,expected:$.expectedPackageName,actual:U.packageName??(U.packageJson?"missing-name":"missing-package-json"),detail:U.packageJson?"package.json inspected":"package.json missing",source:U.source}));if($.expectedVersion)I.push(A6({id:`workspace:${w4(D)}:version`,kind:"workspace",status:U.version===$.expectedVersion?"ok":f4($.required,!1),target:D,expected:$.expectedVersion,actual:U.version??(U.packageJson?"missing-version":"missing-package-json"),detail:U.packageJson?"package.json inspected":"package.json missing",source:U.source}));return I}function ZR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:l$,workspace_home:$.knowledge?.workspace_home??null},message:XM(_.source,_.machines.length)}}async function mj(){try{return await import("@hasna/machines/consumer")}catch(_){if(E$(_)!=="module_not_found")throw _;return await import("@hasna/machines")}}function bR(_,$,g){let U=n_(_);if(jU(wj(U)))return null;let D=Array.isArray(U.machines)?U.machines:null,I=d(U.local_machine_id);if(!D||!I)return null;let j={ok:!0,source:"open-machines",generated_at:d(U.generated_at)??($.now??new Date).toISOString(),local_machine_id:I,local_hostname:d(U.local_hostname)??u4(),current_platform:d(U.current_platform)??fj(),machines:D.map((N)=>WM(N,I)),warnings:y6(U.warnings),adapter:g};return ZR(j,$)}function bj(_){return _==="local"||_==="lan"||_==="tailscale"||_==="ssh"||_==="unknown"?_:null}function HR(_){let $=n_(_),g=d($.observed_at),U=d($.source_authority);if(!g||!U)return null;return{observed_at:g,verified_at:d($.verified_at),expires_at:d($.expires_at),ttl_ms:AM($.ttl_ms),source_authority:U,confidence:d($.confidence),cacheable:$.cacheable===!0,stale:$.stale===!0,reasons:y6($.reasons)}}function kR(_,$){let g=n_(_);if(jU(wj(g)))return null;let U=d(g.target)??d(g.command_target);if(g.ok!==!0||!U)return null;let D=typeof g.evidence==="object"&&g.evidence!==null?g.evidence:null,I=typeof D?.selected_hint==="object"&&D.selected_hint!==null?D.selected_hint:null;return{target:U,route:bj(g.route),targetKind:bj(I?.kind)??bj(g.source)??bj(g.route),confidence:d(g.confidence),source:"open-machines",adapter:$,evidence:D,cacheability:HR(g.cacheability),warnings:y6(g.warnings)}}function aP(_){let $=n_(_);return{path:d($.path),source:d($.source)??"unresolved"}}function KM(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let g=n_($),U=d(g.id),D=d(g.status),I=d(g.severity),j=d(g.message);if(!U||!D||!I||!j)return[];return[{id:U,status:D,severity:I,message:j,path:d(g.path),source:d(g.source)??"unknown",path_exists:vj(g.path_exists)}]})}function VM(_){if(!Array.isArray(_))return[];return _.flatMap(($)=>{let g=n_($),U=d(g.id),D=d(g.reason),I=y6(g.command),j=d(g.shell_command),N=y6(g.apply_command),O=d(g.apply_shell_command);if(!U||!D||!I.length||!j||!N.length||!O)return[];return[{id:U,reason:D,command:I,shell_command:j,apply_command:N,apply_shell_command:O}]})}function FM(_){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 g=["machines","workspace","repair","--machine",_.requestedMachineId,"--project",_.projectId,"--repo",_.repoName,"--open-files-repo",_.openFilesRepoName??"open-files","--json"],U=[...g,"--apply"];return[{id:"machines_workspace_repair",reason:"Workspace paths or trust metadata need confirmation before remote knowledge sync.",command:g,shell_command:g.map(x4).join(" "),apply_command:U,apply_shell_command:U.map(x4).join(" ")}]}function CR(_,$,g){let U=n_(_);if(jU(wj(U)))return null;let D=n_(U.paths),I=n_(U.project),j=n_(U.machine),N=aP(D.project_root),O=aP(D.workspace_root),A=aP(D.open_files_root);if(U.ok!==!0||!N.path)return null;let L=typeof U.evidence==="object"&&U.evidence!==null?U.evidence:null,z=d(U.requested_machine_id)??$.machineId,W=d(I.project_id)??$.projectId??"open-knowledge",J=d(I.repo_name)??$.repoName??$.projectId??"open-knowledge",P=d(j.trust_status)??"unknown",S=d(j.auth_status)??"unknown",X=y6(U.warnings),G=KM(U.diagnostics),R=VM(U.repair_hints);return{ok:!0,source:"open-machines",adapter:g,requested_machine_id:z,machine_id:d(U.machine_id),project_id:W,repo_name:J,project_root:N.path,project_root_source:N.source,workspace_root:O.path,workspace_root_source:O.source,open_files_root:A.path,open_files_root_source:A.source,trust_status:P,auth_status:S,current:j.current===!0,primary:j.primary===!0,diagnostics:G,repair_hints:R.length?R:FM({requestedMachineId:z,projectId:W,repoName:J,openFilesRepoName:$.openFilesRepoName,warnings:X,projectRootSource:N.source,openFilesRootSource:A.source,trustStatus:P,authStatus:S}),evidence:L,cacheability:HR(U.cacheability),warnings:X}}async function Hj(_,$){let g=_.runner??DU;if(!await UU("machines",g))return null;let U=["topology","--json"];if(_.includeTailscale===!1)U.push("--no-tailscale");let D=await a0(g,nj(U));if(D.exitCode!==0)return null;return bR(cj(D.stdout),_,$)}async function j6(_,$){let g=[];if($.error)g.push(`open_machines_unavailable:${$.error}`);let U=_.runner??DU,D=_.includeTailscale===!1?{peers:new Map,selfKey:null}:await JM(U,g),I=PM(D.selfKey),N=[...new Set([I,...D.peers.keys()])].sort().map((O)=>zM({machineId:O,localMachineId:I,peer:D.peers.get(O)}));return ZR({ok:!0,source:"local",generated_at:(_.now??new Date).toISOString(),local_machine_id:I,local_hostname:u4(),current_platform:fj(),machines:N,warnings:g,adapter:$},_)}async function rR(_={}){let $=IU(_);if($==="disabled")return await j6(_,j_($));let g=yj($);try{if($!=="cli"){let D=await(_.loadOpenMachines??mj)(),I=xj($,D);if(I)return await j6(_,I);let j=hj($,D);if(D?.discoverMachineTopology){let N=D.discoverMachineTopology({includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),O=bR(N,_,j);if(O)return O;if($==="sdk")return await j6(_,j_($,"invalid_topology_shape"));return await Hj(_,g)??await j6(_,j_($,"invalid_topology_shape"))}if($==="sdk")return await j6(_,j_($,"missing_discoverMachineTopology"));return await Hj(_,g)??await j6(_,j_($,"missing_discoverMachineTopology"))}return await Hj(_,g)??await j6(_,j_($,"machines_cli_unavailable"))}catch(U){if($==="sdk")return await j6(_,j_($,E$(U)));return await Hj(_,g)??await j6(_,j_($,E$(U)))}}async function kj(_,$){let g=_.runner??DU;if(!await UU("machines",g))return null;let U=["route","--machine",_.machineId,"--json"];if(_.includeTailscale===!1)U.push("--no-tailscale");let D=await a0(g,nj(U));if(D.exitCode!==0)return null;return kR(cj(D.stdout),$)}function N6(_,$){return{target:_,route:null,targetKind:null,confidence:null,source:"raw",adapter:$,evidence:null,cacheability:null,warnings:[]}}async function sP(_){let $=IU(_);if($==="disabled")return N6(_.machineId,j_($));let g=yj($);try{if($!=="cli"){let D=await(_.loadOpenMachines??mj)(),I=xj($,D);if(I)return N6(_.machineId,I);let j=hj($,D);if(D?.resolveMachineRoute){let N=kR(D.resolveMachineRoute(_.machineId,{includeTailscale:_.includeTailscale,runner:_.runner,now:_.now}),j);if(N)return N;if($==="sdk")return N6(_.machineId,j_($,"invalid_route_shape"));return await kj(_,g)??N6(_.machineId,j_($,"invalid_route_shape"))}if($==="sdk")return N6(_.machineId,j_($,"missing_resolveMachineRoute"));return await kj(_,g)??N6(_.machineId,j_($,"missing_resolveMachineRoute"))}return await kj(_,g)??N6(_.machineId,j_($,"machines_cli_unavailable"))}catch(U){if($==="sdk")return{...N6(_.machineId,j_($,E$(U))),warnings:[E$(U)]};return await kj(_,g)??{...N6(_.machineId,j_($,E$(U))),warnings:[E$(U)]}}}async function Cj(_,$){let g=_.runner??DU;if(!await UU("machines",g))return null;let U=_.projectId??"open-knowledge",D=_.repoName??"open-knowledge",I=["workspace","resolve","--machine",_.machineId,"--project",U,"--repo",D,"--open-files-repo",_.openFilesRepoName??"open-files","--json"];if(_.includeTailscale===!1)I.push("--no-tailscale");let j=await a0(g,nj(I));if(j.exitCode!==0)return null;return CR(cj(j.stdout),_,$)}function MM(_){let $=_.peerWorkspace?.trim();if(!$)return null;return{ok:!0,source:"argument",adapter:j_(IU(_),"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 E6(_,$,g){return{ok:!1,source:"raw",adapter:g,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 ij(_){let $=MM(_);if($)return $;let g=IU(_);if(g==="disabled")return E6(_,["adapter_disabled"],j_(g));let U=yj(g);try{if(g!=="cli"){let I=await(_.loadOpenMachines??mj)(),j=xj(g,I);if(j)return E6(_,[`unsupported_contract_version:${j.contract_version}`],j);let N=hj(g,I);if(I?.resolveMachineWorkspace){let O=CR(I.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(g==="sdk")return E6(_,["invalid_workspace_shape"],j_(g,"invalid_workspace_shape"));return await Cj(_,U)??E6(_,["invalid_workspace_shape"],j_(g,"invalid_workspace_shape"))}if(g==="sdk")return E6(_,["missing_resolveMachineWorkspace"],j_(g,"missing_resolveMachineWorkspace"));return await Cj(_,U)??E6(_,["missing_resolveMachineWorkspace"],j_(g,"missing_resolveMachineWorkspace"))}return await Cj(_,U)??E6(_,["machines_cli_unavailable"],j_(g,"machines_cli_unavailable"))}catch(D){if(g==="sdk")return E6(_,[E$(D)],j_(g,E$(D)));return await Cj(_,U)??E6(_,[E$(D)],j_(g,E$(D)))}}function vR(_,$){return{..._,knowledge:{scope:$.knowledge?.scope??"global",app_path:l$,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 fR(_,$,g){let U=n_(_);if(jU(wj(U)))return null;let D=Array.isArray(U.checks)?U.checks:null,I=d(U.machine_id)??d(U.machineId);if(!D||!I)return null;let j=D.map((O)=>{let A=n_(O),L=d(A.status),z=d(A.kind),W=d(A.source);return A6({id:d(A.id)??"unknown",kind:z==="command"||z==="package"||z==="workspace"?z:"command",status:L==="ok"||L==="warn"||L==="fail"?L:"fail",target:d(A.target)??"unknown",expected:d(A.expected),actual:d(A.actual),detail:d(A.detail)??"",source:W==="local"||W==="ssh"||W==="open-machines"?W:"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 vR({ok:N.fail===0,source:"open-machines",machine_id:I,generated_at:d(U.generated_at)??($.now??new Date).toISOString(),checks:j,summary:N,adapter:g},$)}function ZM(_){if(!_.runner)return DU;return async($)=>{let g=await _.runner?.("local",$);return{stdout:g?.stdout??"",stderr:g?.stderr??"",exitCode:g?.exitCode??1}}}function bM(_){return[_.name,_.command,_.expectedVersion].filter(($)=>Boolean($)).join(":")}function HM(_){let $=[_.expectedPackageName,_.expectedVersion].filter((U)=>Boolean(U)).join(":"),g=$?`${_.path}:${$}`:_.path;return _.label?`${_.label}=${g}`:g}async function rj(_,$){let g=ZM(_);if(!await UU("machines",g))return null;let U=["compatibility","--json","--machine",_.machineId??"local"];for(let I of _.commands??[])U.push("--command",I.expectedVersion?`${I.command}:${I.expectedVersion}`:I.command);for(let I of _.packages??[])U.push("--package",bM(I));for(let I of _.workspaces??[])U.push("--workspace",HM(I));let D=await a0(g,nj(U));if(D.exitCode!==0)return null;return fR(cj(D.stdout),_,$)}async function O6(_,$){let g=_.machineId??u4(),U=_.runner??RM,D=_.commands??[{command:"bun",required:!0},{command:"knowledge",required:!0}],I=_.packages??[{name:"@hasna/knowledge",command:"knowledge",required:!0}],j=_.workspaces??[],N=[];for(let A of D)N.push(...await TM(g,A,U));for(let A of I)N.push(...await qM(g,A,U));for(let A of j)N.push(...await BM(g,A,U));if($.error)N.push(A6({id:"adapter:@hasna/machines",kind:"package",status:"warn",target:"@hasna/machines",expected:"optional",actual:$.error,detail:"Using knowledge local/ssh compatibility fallback",source:dj(g)?"local":"ssh"}));let O={ok:N.filter((A)=>A.status==="ok").length,warn:N.filter((A)=>A.status==="warn").length,fail:N.filter((A)=>A.status==="fail").length};return vR({ok:O.fail===0,source:"local",machine_id:g,generated_at:(_.now??new Date).toISOString(),checks:N,summary:O,adapter:$},_)}async function wR(_={}){let $=IU(_);if($==="disabled")return await O6(_,j_($));let g=yj($);try{if($!=="cli"){let D=await(_.loadOpenMachines??mj)(),I=xj($,D);if(I)return await O6(_,I);let j=hj($,D);if(D?.checkMachineCompatibility){let N=D.checkMachineCompatibility({machineId:_.machineId,commands:_.commands,packages:_.packages,workspaces:_.workspaces,runner:_.runner,now:_.now}),O=fR(N,_,j);if(O)return O;if($==="sdk")return await O6(_,j_($,"invalid_compatibility_shape"));return await rj(_,g)??await O6(_,j_($,"invalid_compatibility_shape"))}if($==="sdk")return await O6(_,j_($,"missing_checkMachineCompatibility"));return await rj(_,g)??await O6(_,j_($,"missing_checkMachineCompatibility"))}return await rj(_,g)??await O6(_,j_($,"machines_cli_unavailable"))}catch(U){if($==="sdk")return await O6(_,j_($,E$(U)));return await rj(_,g)??await O6(_,j_($,E$(U)))}}import{createHash as uR}from"crypto";function $3(_,$,g=24){return`${_}_${uR("sha256").update($).digest("hex").slice(0,g)}`}function s0(_){return _.normalize("NFKC").trim().replace(/\s+/g," ")}function kM(_){return s0(_).toLowerCase().replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")}function K$(_,$){try{return JSON.parse(_)}catch{return $}}function h6(_){return{..._,record_kind:_.record_kind,source_kind:_.source_kind,status:_.status,source_refs:K$(_.source_refs_json,[]),evidence_refs:K$(_.evidence_refs_json,[]),requires_approval:_.requires_approval===1,checks:K$(_.checks_json,xR()),metadata:K$(_.metadata_json,{})}}function g3(_){return{..._,record_kind:_.record_kind,source_refs:K$(_.source_refs_json,[]),evidence_refs:K$(_.evidence_refs_json,[]),metadata:K$(_.metadata_json,{})}}function xR(){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 CM(_){let $=typeof _==="string"?{ref:_}:_;return{ref:s0($.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 yR(_){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 lj(_){return["deleted","stale","invalidated","reindex_required","expired","superseded"].includes((_??"").toLowerCase())}function _3(_){if(!_)return null;let $=K$(_,{});if($.stale===!0)return"stale";return typeof $.status==="string"?$.status:null}function rM(_){if(_.citation_id)return _.citation_id;return _.ref.match(/^(?:cite|citation):(.+)$/)?.[1]??null}function vM(_){if(_.chunk_id)return _.chunk_id;return _.ref.match(/^chunk:(.+)$/)?.[1]??null}function fM(_,$,g){let U=lj($.status)||Boolean($.expires_at&&$.expires_at<=g);if(!$.ref||!yR($.ref))return{ref:$.ref,valid:!1,resolved_by:"none",stale:U,reason:"invalid_reference"};let D=rM($),I=_.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,9 +971,9 @@ ${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(I){let A=Boolean($.hash&&I.revision_hash&&$.hash!==I.revision_hash),L=Boolean($.revision&&I.revision&&$.revision!==I.revision),z=Boolean(I.revision_created_at&&I.latest_revision_at&&I.revision_created_at!xR(z)),j.citations.entries=U.map((z)=>vM(_,z,g)),j.citations.provided=U.length,j.citations.valid=j.citations.entries.filter((z)=>z.valid).length,j.citations.invalid=j.citations.entries.length-j.citations.valid,j.stale_refs=j.citations.entries.filter((z)=>z.stale).map((z)=>z.ref),j.duplicate_record_ids=_.query(`SELECT id FROM durable_knowledge_records + WHERE ch.id = ?`).get(j);if(!A)return{ref:$.ref,valid:!1,resolved_by:"none",stale:U,reason:"chunk_not_found"};let L=Boolean($.hash&&A.hash&&$.hash!==A.hash||$.revision&&A.revision&&$.revision!==A.revision),z=U||lj(_3(A.metadata_json))||L;return{ref:$.ref,valid:!0,resolved_by:"chunk",stale:z,reason:L?"source_version_mismatch":z?"stale_chunk":null}}let N=_.query("SELECT metadata_json FROM sources WHERE uri = ? LIMIT 1").get($.ref);if(N){let A=U||lj(_3(N.metadata_json));return{ref:$.ref,valid:!0,resolved_by:"source",stale:A,reason:A?"stale_source":null}}let O=$.ref.match(/^knowledge:\/\/project\/runs\/([^/?#]+)/);if(O){if(!_.query("SELECT id FROM runs WHERE id = ?").get(decodeURIComponent(O[1])))return{ref:$.ref,valid:!1,resolved_by:"none",stale:U,reason:"run_not_found"};return{ref:$.ref,valid:!0,resolved_by:"run",stale:U,reason:U?"expired_evidence":null}}return{ref:$.ref,valid:!0,resolved_by:"external_uri",stale:U,reason:U?"expired_evidence":null}}function c6(_,$){return _.query("SELECT * FROM knowledge_promotion_candidates WHERE id = ?").get($)??null}function D3(_,$,g){let U=K$($.evidence_refs_json,[]),D=K$($.source_refs_json,[]),I=K$($.metadata_json,{}),j=xR();j.invalid_source_refs=D.filter((z)=>!yR(z)),j.citations.entries=U.map((z)=>fM(_,z,g)),j.citations.provided=U.length,j.citations.valid=j.citations.entries.filter((z)=>z.valid).length,j.citations.invalid=j.citations.entries.length-j.citations.valid,j.stale_refs=j.citations.entries.filter((z)=>z.stale).map((z)=>z.ref),j.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((z)=>z.id),j.duplicate_candidate_ids=_.query(`SELECT id FROM knowledge_promotion_candidates WHERE id <> ? AND record_kind = ? AND content_hash = ? AND status NOT IN ('rejected') @@ -984,33 +984,33 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` AND status IN ('ready', 'needs_approval', 'promoted') ORDER BY created_at`).all($.id,$.record_kind,$.canonical_key,$.content_hash).map((z)=>z.id);let N=j.duplicate_record_ids[0]??j.duplicate_candidate_ids[0]??null,O=D.length===0||U.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(I.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 A=j.approval_reasons.length>0,L=N?"duplicate":O?"blocked":A?"needs_approval":"ready";return _.run(`UPDATE knowledge_promotion_candidates SET status = ?, requires_approval = ?, checks_json = ?, duplicate_of = ?, updated_at = ?, reviewed_at = ? - WHERE id = ?`,[L,A?1:0,JSON.stringify(j),N,g,g,$.id]),h6(c6(_,$.id))}function yR(_,$){let g=["lesson","decision","claim"],U=["memento","session","report"];if(!g.includes($.kind))throw Error("Promotion kind must be lesson, decision, or claim.");if(!U.includes($.sourceKind))throw Error("Promotion source kind must be memento, session, or report.");let D=u_(s0($.title)),I=u_(s0($.content));if(!D.text)throw Error("Promotion title is required.");if(!I.text)throw Error("Promotion content is required.");let j=Array.from(new Set($.sourceRefs.map(s0).filter(Boolean))).sort(),N=$.evidenceRefs.map(kM).filter((S)=>S.ref.length>0).sort((S,X)=>S.ref.localeCompare(X.ref)),O=HM($.canonicalKey??D.text);if(!O)throw Error("Promotion canonical key is empty after normalization.");let A=`sha256:${wR("sha256").update(`${$.kind}\x00${s0(I.text).toLowerCase()}`).digest("hex")}`,L=$3("promote",[$.sourceKind,$.kind,O,A,...j].join("\x00")),z=$3("promotion",L),W=($.now??new Date).toISOString(),J={...$.metadata??{},requested_approval:$.requiresApproval===!0,confidence:$.confidence??null,valid_from:$.validFrom??W,valid_to:$.validTo??null,redactions:D.findings.length+I.findings.length};h(_);let P=v(_);try{let S=P.query("SELECT * FROM knowledge_promotion_candidates WHERE idempotency_key = ?").get(L);if(S)return{created:!1,candidate:h6(S)};P.run(`INSERT INTO knowledge_promotion_candidates ( + WHERE id = ?`,[L,A?1:0,JSON.stringify(j),N,g,g,$.id]),h6(c6(_,$.id))}function hR(_,$){let g=["lesson","decision","claim"],U=["memento","session","report"];if(!g.includes($.kind))throw Error("Promotion kind must be lesson, decision, or claim.");if(!U.includes($.sourceKind))throw Error("Promotion source kind must be memento, session, or report.");let D=u_(s0($.title)),I=u_(s0($.content));if(!D.text)throw Error("Promotion title is required.");if(!I.text)throw Error("Promotion content is required.");let j=Array.from(new Set($.sourceRefs.map(s0).filter(Boolean))).sort(),N=$.evidenceRefs.map(CM).filter((S)=>S.ref.length>0).sort((S,X)=>S.ref.localeCompare(X.ref)),O=kM($.canonicalKey??D.text);if(!O)throw Error("Promotion canonical key is empty after normalization.");let A=`sha256:${uR("sha256").update(`${$.kind}\x00${s0(I.text).toLowerCase()}`).digest("hex")}`,L=$3("promote",[$.sourceKind,$.kind,O,A,...j].join("\x00")),z=$3("promotion",L),W=($.now??new Date).toISOString(),J={...$.metadata??{},requested_approval:$.requiresApproval===!0,confidence:$.confidence??null,valid_from:$.validFrom??W,valid_to:$.validTo??null,redactions:D.findings.length+I.findings.length};h(_);let P=v(_);try{let S=P.query("SELECT * FROM knowledge_promotion_candidates WHERE idempotency_key = ?").get(L);if(S)return{created:!1,candidate:h6(S)};P.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, '{}', ?, ?, ?, ?)`,[z,$.kind,D.text,I.text,O,A,$.sourceKind,JSON.stringify(j),JSON.stringify(N),L,JSON.stringify(J),W,W]);let X=[...D.findings,...I.findings];if(X.length>0)P0(P,{source_uri:j[0]??`knowledge://promotion/${z}`,findings:X,metadata:{promotion_candidate_id:z},created_at:W});return X_(P,{event_type:"knowledge_promotion",action:"enqueue_promotion",target_uri:`knowledge://promotion/${z}`,decision:"info",metadata:{record_kind:$.kind,source_kind:$.sourceKind,source_refs:j},created_at:W}),{created:!0,candidate:D3(P,c6(P,z),W)}}finally{P.close()}}function hR(_,$){h(_);let g=v(_);try{let U=c6(g,$);return U?h6(U):null}finally{g.close()}}function cR(_,$={}){h(_);let g=Math.max(1,Math.min($.limit??50,200)),U=[],D=[];if($.status==="inbox"||!$.status)U.push("status IN ('ready', 'needs_approval', 'blocked')");else U.push("status = ?"),D.push($.status);if($.kind)U.push("record_kind = ?"),D.push($.kind);let I=v(_);try{return I.query(`SELECT * FROM knowledge_promotion_candidates + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'pending', 0, '{}', ?, ?, ?, ?)`,[z,$.kind,D.text,I.text,O,A,$.sourceKind,JSON.stringify(j),JSON.stringify(N),L,JSON.stringify(J),W,W]);let X=[...D.findings,...I.findings];if(X.length>0)P0(P,{source_uri:j[0]??`knowledge://promotion/${z}`,findings:X,metadata:{promotion_candidate_id:z},created_at:W});return X_(P,{event_type:"knowledge_promotion",action:"enqueue_promotion",target_uri:`knowledge://promotion/${z}`,decision:"info",metadata:{record_kind:$.kind,source_kind:$.sourceKind,source_refs:j},created_at:W}),{created:!0,candidate:D3(P,c6(P,z),W)}}finally{P.close()}}function cR(_,$){h(_);let g=v(_);try{let U=c6(g,$);return U?h6(U):null}finally{g.close()}}function nR(_,$={}){h(_);let g=Math.max(1,Math.min($.limit??50,200)),U=[],D=[];if($.status==="inbox"||!$.status)U.push("status IN ('ready', 'needs_approval', 'blocked')");else U.push("status = ?"),D.push($.status);if($.kind)U.push("record_kind = ?"),D.push($.kind);let I=v(_);try{return I.query(`SELECT * FROM knowledge_promotion_candidates WHERE ${U.join(" AND ")} ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(...D,g).map(h6)}finally{I.close()}}function nR(_,$,g=new Date){h(_);let U=v(_);try{let D=c6(U,$);if(!D)throw Error(`Promotion candidate not found: ${$}`);if(D.status==="promoted"||D.status==="rejected")return h6(D);return D3(U,D,g.toISOString())}finally{U.close()}}function dR(_,$,g={}){h(_);let U=v(_),D=(g.now??new Date).toISOString();try{let I=c6(U,$);if(!I)throw Error(`Promotion candidate not found: ${$}`);if(I.status==="promoted"&&I.promoted_record_id){let J=U.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(I.promoted_record_id);return{ok:!0,promoted:!1,requires_approval:I.requires_approval===1,candidate:h6(I),record:J?g3(J):null,approval_id:null,reason:"already_promoted"}}if(I.status==="rejected")throw Error(`Promotion candidate ${$} was rejected.`);let j=D3(U,I,D);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&&!g.approveWrite)return{ok:!1,promoted:!1,requires_approval:!0,candidate:j,record:null,approval_id:null,reason:"approval_required"};if(j.requires_approval&&!g.approvedBy?.trim())throw Error("Promotion approval requires --approved-by .");let N=j.requires_approval?g.approvedBy.trim():null,O=null;if(j.requires_approval)O=mU(U,{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:D}).id;let A=$3("durable",j.id),L={...j.metadata,promotion_candidate_id:j.id,source_kind:j.source_kind,checks:j.checks,approval_id:O,provenance:U$({generated_from:`knowledge://promotion/${j.id}`,artifact_key:`durable/${j.record_kind}/${j.canonical_key}`,source_refs:j.source_refs,citation_required:!0})};U.run(`INSERT INTO durable_knowledge_records ( + LIMIT ?`).all(...D,g).map(h6)}finally{I.close()}}function dR(_,$,g=new Date){h(_);let U=v(_);try{let D=c6(U,$);if(!D)throw Error(`Promotion candidate not found: ${$}`);if(D.status==="promoted"||D.status==="rejected")return h6(D);return D3(U,D,g.toISOString())}finally{U.close()}}function mR(_,$,g={}){h(_);let U=v(_),D=(g.now??new Date).toISOString();try{let I=c6(U,$);if(!I)throw Error(`Promotion candidate not found: ${$}`);if(I.status==="promoted"&&I.promoted_record_id){let J=U.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(I.promoted_record_id);return{ok:!0,promoted:!1,requires_approval:I.requires_approval===1,candidate:h6(I),record:J?g3(J):null,approval_id:null,reason:"already_promoted"}}if(I.status==="rejected")throw Error(`Promotion candidate ${$} was rejected.`);let j=D3(U,I,D);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&&!g.approveWrite)return{ok:!1,promoted:!1,requires_approval:!0,candidate:j,record:null,approval_id:null,reason:"approval_required"};if(j.requires_approval&&!g.approvedBy?.trim())throw Error("Promotion approval requires --approved-by .");let N=j.requires_approval?g.approvedBy.trim():null,O=null;if(j.requires_approval)O=mU(U,{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:D}).id;let A=$3("durable",j.id),L={...j.metadata,promotion_candidate_id:j.id,source_kind:j.source_kind,checks:j.checks,approval_id:O,provenance:U$({generated_from:`knowledge://promotion/${j.id}`,artifact_key:`durable/${j.record_kind}/${j.canonical_key}`,source_refs:j.source_refs,citation_required:!0})};U.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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[A,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:D,typeof j.metadata.valid_to==="string"?j.metadata.valid_to:null,j.id,N,JSON.stringify(L),D,D]),U.run(`UPDATE knowledge_promotion_candidates SET status = 'promoted', approved_by = ?, promoted_record_id = ?, promoted_at = ?, updated_at = ? - WHERE id = ?`,[N,A,D,D,j.id]),X_(U,{event_type:"knowledge_promotion",action:"promote_durable_knowledge",target_uri:`knowledge://durable/${A}`,decision:"allow",metadata:{promotion_candidate_id:j.id,approval_id:O,source_refs:j.source_refs},created_at:D});let z=h6(c6(U,j.id)),W=U.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(A);return{ok:!0,promoted:!0,requires_approval:j.requires_approval,candidate:z,record:g3(W),approval_id:O,reason:null}}finally{U.close()}}function mR(_,$,g={}){h(_);let U=v(_),D=(g.now??new Date).toISOString();try{let I=c6(U,$);if(!I)throw Error(`Promotion candidate not found: ${$}`);if(I.status==="promoted")throw Error(`Promotion candidate ${$} is already promoted.`);return U.run(`UPDATE knowledge_promotion_candidates + WHERE id = ?`,[N,A,D,D,j.id]),X_(U,{event_type:"knowledge_promotion",action:"promote_durable_knowledge",target_uri:`knowledge://durable/${A}`,decision:"allow",metadata:{promotion_candidate_id:j.id,approval_id:O,source_refs:j.source_refs},created_at:D});let z=h6(c6(U,j.id)),W=U.query("SELECT * FROM durable_knowledge_records WHERE id = ?").get(A);return{ok:!0,promoted:!0,requires_approval:j.requires_approval,candidate:z,record:g3(W),approval_id:O,reason:null}}finally{U.close()}}function iR(_,$,g={}){h(_);let U=v(_),D=(g.now??new Date).toISOString();try{let I=c6(U,$);if(!I)throw Error(`Promotion candidate not found: ${$}`);if(I.status==="promoted")throw Error(`Promotion candidate ${$} is already promoted.`);return U.run(`UPDATE knowledge_promotion_candidates SET status = 'rejected', approved_by = ?, updated_at = ?, reviewed_at = ? - WHERE id = ?`,[g.rejectedBy?.trim()||null,D,D,$]),X_(U,{event_type:"knowledge_promotion",action:"reject_promotion",target_uri:`knowledge://promotion/${$}`,decision:"deny",metadata:{rejected_by:g.rejectedBy??null},created_at:D}),h6(c6(U,$))}finally{U.close()}}function iR(_,$={}){h(_);let g=[],U=[];if($.kind)g.push("record_kind = ?"),U.push($.kind);if($.status)g.push("status = ?"),U.push($.status);let D=Math.max(1,Math.min($.limit??50,200)),I=v(_);try{return I.query(`SELECT * FROM durable_knowledge_records + WHERE id = ?`,[g.rejectedBy?.trim()||null,D,D,$]),X_(U,{event_type:"knowledge_promotion",action:"reject_promotion",target_uri:`knowledge://promotion/${$}`,decision:"deny",metadata:{rejected_by:g.rejectedBy??null},created_at:D}),h6(c6(U,$))}finally{U.close()}}function lR(_,$={}){h(_);let g=[],U=[];if($.kind)g.push("record_kind = ?"),U.push($.kind);if($.status)g.push("status = ?"),U.push($.status);let D=Math.max(1,Math.min($.limit??50,200)),I=v(_);try{return I.query(`SELECT * FROM durable_knowledge_records ${g.length?`WHERE ${g.join(" AND ")}`:""} ORDER BY updated_at DESC, created_at DESC - LIMIT ?`).all(...U,D).map(g3)}finally{I.close()}}import{createHash as fM,randomUUID as lR}from"crypto";function wM(_,$){return`${_}_${fM("sha256").update($).digest("hex").slice(0,20)}`}function uM(_){let $=v(_);try{let g=$.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(g.map((U)=>[U.status,U.n]))}finally{$.close()}}function tR(_,$){let g=I4($.modelRef,$.config),U=f_(g),D=v(_);try{return D.query(`SELECT c.id AS chunk_id, c.source_revision_id, s.uri AS source_uri + LIMIT ?`).all(...U,D).map(g3)}finally{I.close()}}import{createHash as wM,randomUUID as tR}from"crypto";function uM(_,$){return`${_}_${wM("sha256").update($).digest("hex").slice(0,20)}`}function xM(_){let $=v(_);try{let g=$.query("SELECT status, COUNT(*) AS n FROM reindex_queue GROUP BY status ORDER BY status").all();return Object.fromEntries(g.map((U)=>[U.status,U.n]))}finally{$.close()}}function oR(_,$){let g=I4($.modelRef,$.config),U=f_(g),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(U.provider,U.model)}finally{D.close()}}function oR(_){h(_.dbPath);let $=v(_.dbPath);try{let g=$.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,U=$.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,I=tR(_.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:g,chunks:U,vector_entries:D,missing_embeddings:I,queued:uM(_.dbPath),stale_revisions:j}}finally{$.close()}}function U3(_){h(_.dbPath);let $=(_.now??new Date).toISOString(),g=_.reason??"missing_embedding",U=tR(_.dbPath,_),D=v(_.dbPath),I=0,j=0;try{D.transaction(()=>{for(let O of U){let A=wM("rq",`embedding\x00${O.chunk_id}\x00${g}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",O.chunk_id,g)){j+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[A,"embedding",O.chunk_id,O.source_uri,g,"pending",JSON.stringify({source_revision_id:O.source_revision_id}),$,$]),I+=1}})()}finally{D.close()}return{enqueued:I,already_queued:j,reason:g}}function xM(_){let $=v(_);try{let g=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,U=$.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:g,vectorEntries:U}}finally{$.close()}}function yM(_,$,g){let U=I4($.modelRef,$.config),D=f_(U),I=v(_);try{return I.run(`UPDATE reindex_queue + ORDER BY c.created_at ASC, c.ordinal ASC`).all(U.provider,U.model)}finally{D.close()}}function pR(_){h(_.dbPath);let $=v(_.dbPath);try{let g=$.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,U=$.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,I=oR(_.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:g,chunks:U,vector_entries:D,missing_embeddings:I,queued:xM(_.dbPath),stale_revisions:j}}finally{$.close()}}function U3(_){h(_.dbPath);let $=(_.now??new Date).toISOString(),g=_.reason??"missing_embedding",U=oR(_.dbPath,_),D=v(_.dbPath),I=0,j=0;try{D.transaction(()=>{for(let O of U){let A=uM("rq",`embedding\x00${O.chunk_id}\x00${g}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",O.chunk_id,g)){j+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[A,"embedding",O.chunk_id,O.source_uri,g,"pending",JSON.stringify({source_revision_id:O.source_revision_id}),$,$]),I+=1}})()}finally{D.close()}return{enqueued:I,already_queued:j,reason:g}}function yM(_){let $=v(_);try{let g=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,U=$.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:g,vectorEntries:U}}finally{$.close()}}function hM(_,$,g){let U=I4($.modelRef,$.config),D=f_(U),I=v(_);try{return I.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",g,"embedding","pending",D.provider,D.model]).changes}finally{I.close()}}async function pR(_){h(_.dbPath);let $=(_.now??new Date).toISOString(),g=`run_${lR()}`,U=_.full?xM(_.dbPath):{embeddings:0,vectorEntries:0},D=U3({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),I=v(_.dbPath);try{I.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[g,"embedding-refresh",_.full?"full":"incremental","running","local",I4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{I.close()}let j=await sU({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),N=yM(_.dbPath,_,$),O=v(_.dbPath);try{O.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:j,completed_queue_items:N}),$,g]),O.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${lR()}`,g,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:j,completed_queue_items:N}),$])}finally{O.close()}return{run_id:g,full:_.full===!0,deleted_embeddings:U.embeddings,deleted_vector_entries:U.vectorEntries,queued:D,indexed:j,completed_queue_items:N}}import{createHash as sR}from"crypto";import{existsSync as _G,lstatSync as hM,readdirSync as cM,readFileSync as nM,statSync as dM}from"fs";import{basename as _g,extname as mM,join as iM,relative as lM,resolve as E3,sep as tM}from"path";import{pathToFileURL as eR}from"url";var oM=100,pM=25,eM=262144,aM=5,sM=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),I3=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),_Z=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),$Z=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,tj=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function j3(_){return`sha256:${sR("sha256").update(_).digest("hex")}`}function gZ(_){return`sha256:${sR("sha256").update(_).digest("hex")}`}function NU(_){return _.split(tM).join("/")}function N3(_,$){let g=lM(_,$);return g?NU(g):_g($)}function n6(_){return sM.has(mM(_).toLowerCase())}function aR(_){return NU(_).split("/").some(($)=>$Z.test($))}function $G(_,$=220){let g=_.normalize("NFKC").trim().replace(/\s+/g," ");if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-1)).trim()}...`}function gG(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function DG(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function DZ(){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:(_)=>I3.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=NU(_),g=_g($);if(I3.has(g)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&n6($))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 $=NU(_);return $==="CLAUDE.md"||/^rules\//.test($)&&n6($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=NU(_),g=_g($);if(I3.has(g)||g==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&n6($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>tj.test(_)&&n6(_)}},{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:(_)=>tj.test(_)&&n6(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>tj.test(_)&&n6(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>tj.test(_)&&n6(_)}}]}function UZ(_,$){let g=new Map;for(let U of DZ()){let D=E3(_,U.base);if(!_G(D))continue;if(dM(D).isFile()){let j=_g(D);if(U.spec.include(j))g.set(D,{...U.spec,absPath:D});continue}UG({basePath:D,depth:0,maxDepth:U.maxDepth??aM,spec:U.spec,candidates:g,skipped:$})}return[...g.values()].sort((U,D)=>{if(U.precedence.rank!==D.precedence.rank)return U.precedence.rank-D.precedence.rank;return U.absPath.localeCompare(D.absPath)})}function UG(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let g of cM(_.basePath,{withFileTypes:!0})){let U=iM(_.basePath,g.name),D=N3($,U);if(g.isSymbolicLink())continue;if(g.isDirectory()){if(_Z.has(g.name))continue;if(aR(D)){_.skipped.push({source_family:_.spec.family,source_path:U,reason:"sensitive_path"});continue}UG({..._,rootBasePath:$,basePath:U,depth:_.depth+1});continue}if(!g.isFile())continue;let I=N3(E3($),U);if(aR(I)){_.skipped.push({source_family:_.spec.family,source_path:U,reason:"sensitive_path"});continue}if(!_.spec.include(I))continue;if(!n6(U))continue;_.candidates.set(U,{..._.spec,absPath:U})}}function IZ(_){if((_.tags??[]).map((U)=>U.toLowerCase()).some((U)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(U)))return!0;let g=`${_.title} -${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(g)}function IG(_,$){let g={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:g,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 jZ(_){let $=hM(_.candidate.absPath),g=_.candidate.absPath,U=N3(_.root,g);if($.size>_.maxBytesPerFile){let J=eR(g).href;return{evidence:{source_family:_.candidate.family,title:_g(g),source_path:g,source_path_ref:U,source_ref:J,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=nM(g),I=D.toString("utf8"),j=u_(I,_.safetyPolicy),O=j.findings.some((J)=>J.severity==="high")?"refused":j.findings.length>0?"redacted":"clean",A=j3(j.text),L=eR(g).href,z=gG(j.text),W={source_family:_.candidate.family,title:_g(g),source_path:g,source_path_ref:U,source_ref:L,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:gZ(D),content_hash:A,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:O,redactions:j.findings.map((J)=>({type:J.type,severity:J.severity})),citations:[DG({sourceRef:L,sourcePath:g,lineCount:z,contentHash:A})],bytes:D.byteLength,line_count:z,importable:O!=="refused",skipped_reason:O==="refused"?"secret_refused":null,preview:O==="refused"?null:$G(j.text)};return{evidence:W,text:j.text,manifest:W.importable?IG(W,j.text):null}}function NZ(_){let $=u_(_.item.content,_.safetyPolicy),U=$.findings.some((A)=>A.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,I=j3($.text),j=j3(_.item.content),N=gG($.text),O={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:j,content_hash:I,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:U,redactions:$.findings.map((A)=>({type:A.type,severity:A.severity})),citations:[DG({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:N,contentHash:I})],bytes:Buffer.byteLength(_.item.content),line_count:N,importable:U!=="refused",skipped_reason:U==="refused"?"secret_refused":null,preview:U==="refused"?null:$G($.text),legacy_json_id:_.item.id};return{evidence:O,text:$.text,manifest:O.importable?IG(O,$.text):null}}function EZ(_){if(!_.legacyStorePath||!_G(_.legacyStorePath))return 0;let $=new Map(_.records.filter((g)=>g.legacy_json_id&&g.importable).map((g)=>[g.legacy_json_id,g]));if($.size===0)return 0;return v$(_.legacyStorePath,()=>{let g=I0(_.legacyStorePath);if(!g.exists)return 0;let U=0;for(let D of g.items){let I=$.get(D.id);if(!I)continue;let j=D.metadata??{};D.archived=!0,D.metadata={...j,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:I.source_ref,source_hash:I.source_hash,content_hash:I.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,U+=1}if(U>0)t$(_.legacyStorePath,{items:g.items});return U})}async function jG(_={}){let $=E3(_.root??process.cwd()),g=_.scope??"global",U=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,I=(_.now??new Date).toISOString(),j=Math.max(1,Math.min(_.maxItems??oM,1000)),N=Math.max(1,Math.min(_.limit??pM,100)),O=Math.max(1024,Math.min(_.maxBytesPerFile??eM,2097152)),A=[],z=UZ($,A).slice(0,j).map((Z)=>jZ({root:$,candidate:{...Z,owner:Z.owner==="repository"?U:Z.owner,scope:g},discoveredAt:I,maxBytesPerFile:O,safetyPolicy:_.safetyPolicy})),J=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:I0(_.legacyStorePath)).items.filter((Z)=>Z.archived!==!0&&IZ(Z)).slice(0,j),P=J.map((Z)=>NZ({item:Z,legacyStorePath:_.legacyStorePath,discoveredAt:I,scope:g,safetyPolicy:_.safetyPolicy})),S=[...z,...P].slice(0,j),X=S.map((Z)=>Z.evidence),R=S.filter((Z)=>Z.manifest).map((Z)=>Z.manifest),K=X.filter((Z)=>Z.redaction_status==="refused").length,Q=X.slice(0,N),T=A.slice(0,N),q=null,V=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(R.length>0)q=await $4({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)V=EZ({legacyStorePath:_.legacyStorePath,records:X,now:I})}return{ok:K===0||R.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:g,owner:U,discovered_at:I,max_items:j,evidence_limit:N,records_seen:X.length,records_importable:R.length,records_refused:K,records_skipped:A.length,evidence_truncated:X.length>Q.length,skipped_truncated:A.length>T.length,evidence:Q,skipped:T,import_result:q,legacy:{store_path:_.legacyStorePath??null,candidates:J.length,promoted:P.filter((Z)=>Z.manifest).length,deprecated:V,data_loss:!1},message:D?`Discovered ${X.length} rule source(s); ${R.length} importable, ${K} refused`:`Imported ${q?.items_seen??0} rule source(s); ${V} legacy note(s) deprecated`}}import{createHash as OZ,randomUUID as NG}from"crypto";function AZ(_){return`sha256:${OZ("sha256").update(_).digest("hex")}`}function EG(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function OG(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function d6(_){return typeof _==="string"&&_.length>0?_:null}function LZ(_){let $=OG(_),g=d6($.url)??d6($.uri)??d6($.sourceUrl);if(!g)return null;return{url:g,title:d6($.title)??d6($.name),snippet:d6($.snippet)??d6($.text)??d6($.description),provider_metadata:$}}function oj(_,$){if(Array.isArray(_)){for(let D of _)oj(D,$);return}let g=LZ(_);if(g)$.set(g.url,g);let U=OG(_);for(let D of["sources","results","citations","annotations","output"])if(U[D])oj(U[D],$)}function JZ(_,$){return Array.from({length:Math.min($,3)},(g,U)=>({url:`https://example.com/knowledge-web-${U+1}`,title:`Fake web source ${U+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:U+1}}))}async function PZ(_){let{generateText:$}=await import("ai"),{createOpenAI:g}=await import("@ai-sdk/openai"),U=$6(_.config,"openai"),D=g({apiKey:_.env[U.api_key_env],baseURL:U.base_url}),I=D.tools?.webSearch;if(!I)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:I({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function zZ(_){let{generateText:$}=await import("ai"),{createAnthropic:g}=await import("@ai-sdk/anthropic"),U=$6(_.config,"anthropic"),D=g({apiKey:_.env[U.api_key_env],baseURL:U.base_url}),I=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!I)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:I({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function SZ(_,$,g){if(!_.fileResults||$.length===0)return 0;let U=$.map((I)=>{let j=[I.title,I.snippet,I.url].filter(Boolean).join(` -`),N=AZ(j);return{source_ref:I.url,name:I.title??I.url,url:I.url,mime:"text/plain",hash:N,revision:N,status:"active",updated_at:g,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:I.url,content_source:"provider_web_search",provider_metadata:I.provider_metadata},extracted_text:j}});return(await $4({dbPath:_.dbPath,items:U,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(g)})).sources_upserted}async function AG(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let g=_.env??process.env,U=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),I=Math.max(1,Math.min(_.maxUses??3,10)),j=_.domains??[],N=G$(_.modelRef??(_.provider?`${_.provider}:${$6(_.config,_.provider).default_model}`:"default"),_.config),O=f_(N),A=_.provider??O.provider,L=O.provider===A?O.model:$6(_.config,A).default_model,z=`run_${NG()}`;if(!_.fake&&_.safetyPolicy)J0(_.safetyPolicy);if(!_.fake&&A!=="openai"&&A!=="anthropic")throw Error(`Provider ${A} does not expose native web search yet.`);if(!_.fake)D4(A,_.config,g);h(_.dbPath);let W=v(_.dbPath);try{W.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[z,"provider-web-search",$,"running",A,L,JSON.stringify({domains:j,max_uses:I,fake:_.fake===!0}),U,U]),X_(W,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:A,model:L,domains:j,max_uses:I},created_at:U})}finally{W.close()}let J="",P=[],S={input_tokens:EG($),output_tokens:0,cost_usd:0},X=[];if(_.fake)P=JZ($,D),J=`Fake web search answer for: ${$}`,S.output_tokens=EG(J);else{let K=A==="openai"?await PZ({query:$,model:L,config:_.config,env:g,maxUses:I,domains:j}):await zZ({query:$,model:L,config:_.config,env:g,maxUses:I,domains:j});J=K.text;let Q=new Map;oj(K.sources,Q),oj(K.toolResults,Q),P=Array.from(Q.values()).slice(0,D);let T=U4({provider:A,model:L,usage:K.usage,providerMetadata:K.providerMetadata});S={input_tokens:T.input_tokens,output_tokens:T.output_tokens,cost_usd:T.cost_usd}}let G=await SZ(_,P,U),R=v(_.dbPath);try{R.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:j,max_uses:I,sources:P.length,filed_sources:G,fake:_.fake===!0}),U,z]),R.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${NG()}`,z,"info","provider_web_search_completed",JSON.stringify({sources:P.length,filed_sources:G}),U]),S0(R,{run_id:z,provider:A,model:L,input_tokens:S.input_tokens,output_tokens:S.output_tokens,cost_usd:S.cost_usd,metadata:{web_search:!0,sources:P.length,filed_sources:G},created_at:U})}finally{R.close()}if(P.length===0)X.push("no_web_sources_returned");return{run_id:z,query:$,provider:A,model:L,answer:J,sources:P,filed_sources:G,usage:S,warnings:X}}import{createHash as WZ,randomUUID as XZ}from"crypto";function $g(_,$){return`${_}_${WZ("sha256").update($).digest("hex").slice(0,20)}`}function O3(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function RZ(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function GZ(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function LG(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function YZ(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function JG(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function QZ(_,$){let g=Math.max(1,Math.min($.limit??10,50)),U=$.sourceRefs??[],D=YZ($.query),I=["c.kind = 'source'"],j=[];if(U.length>0){I.push(`(${U.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let N of U)j.push(N,`%${JG(N)}%`)}if(D.length>0){I.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let N of D)j.push(`%${JG(N)}%`)}return j.push(g),_.query(`SELECT + )`,["completed",g,"embedding","pending",D.provider,D.model]).changes}finally{I.close()}}async function eR(_){h(_.dbPath);let $=(_.now??new Date).toISOString(),g=`run_${tR()}`,U=_.full?yM(_.dbPath):{embeddings:0,vectorEntries:0},D=U3({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),I=v(_.dbPath);try{I.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[g,"embedding-refresh",_.full?"full":"incremental","running","local",I4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{I.close()}let j=await sU({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),N=hM(_.dbPath,_,$),O=v(_.dbPath);try{O.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:j,completed_queue_items:N}),$,g]),O.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${tR()}`,g,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:j,completed_queue_items:N}),$])}finally{O.close()}return{run_id:g,full:_.full===!0,deleted_embeddings:U.embeddings,deleted_vector_entries:U.vectorEntries,queued:D,indexed:j,completed_queue_items:N}}import{createHash as _G}from"crypto";import{existsSync as $G,lstatSync as cM,readdirSync as nM,readFileSync as dM,statSync as mM}from"fs";import{basename as _g,extname as iM,join as lM,relative as tM,resolve as E3,sep as oM}from"path";import{pathToFileURL as aR}from"url";var pM=100,eM=25,aM=262144,sM=5,_Z=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),I3=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),$Z=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),gZ=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,tj=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function j3(_){return`sha256:${_G("sha256").update(_).digest("hex")}`}function DZ(_){return`sha256:${_G("sha256").update(_).digest("hex")}`}function NU(_){return _.split(oM).join("/")}function N3(_,$){let g=tM(_,$);return g?NU(g):_g($)}function n6(_){return _Z.has(iM(_).toLowerCase())}function sR(_){return NU(_).split("/").some(($)=>gZ.test($))}function gG(_,$=220){let g=_.normalize("NFKC").trim().replace(/\s+/g," ");if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-1)).trim()}...`}function DG(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function UG(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function UZ(){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:(_)=>I3.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=NU(_),g=_g($);if(I3.has(g)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&n6($))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 $=NU(_);return $==="CLAUDE.md"||/^rules\//.test($)&&n6($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=NU(_),g=_g($);if(I3.has(g)||g==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&n6($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>tj.test(_)&&n6(_)}},{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:(_)=>tj.test(_)&&n6(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>tj.test(_)&&n6(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>tj.test(_)&&n6(_)}}]}function IZ(_,$){let g=new Map;for(let U of UZ()){let D=E3(_,U.base);if(!$G(D))continue;if(mM(D).isFile()){let j=_g(D);if(U.spec.include(j))g.set(D,{...U.spec,absPath:D});continue}IG({basePath:D,depth:0,maxDepth:U.maxDepth??sM,spec:U.spec,candidates:g,skipped:$})}return[...g.values()].sort((U,D)=>{if(U.precedence.rank!==D.precedence.rank)return U.precedence.rank-D.precedence.rank;return U.absPath.localeCompare(D.absPath)})}function IG(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let g of nM(_.basePath,{withFileTypes:!0})){let U=lM(_.basePath,g.name),D=N3($,U);if(g.isSymbolicLink())continue;if(g.isDirectory()){if($Z.has(g.name))continue;if(sR(D)){_.skipped.push({source_family:_.spec.family,source_path:U,reason:"sensitive_path"});continue}IG({..._,rootBasePath:$,basePath:U,depth:_.depth+1});continue}if(!g.isFile())continue;let I=N3(E3($),U);if(sR(I)){_.skipped.push({source_family:_.spec.family,source_path:U,reason:"sensitive_path"});continue}if(!_.spec.include(I))continue;if(!n6(U))continue;_.candidates.set(U,{..._.spec,absPath:U})}}function jZ(_){if((_.tags??[]).map((U)=>U.toLowerCase()).some((U)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(U)))return!0;let g=`${_.title} +${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(g)}function jG(_,$){let g={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:g,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 NZ(_){let $=cM(_.candidate.absPath),g=_.candidate.absPath,U=N3(_.root,g);if($.size>_.maxBytesPerFile){let J=aR(g).href;return{evidence:{source_family:_.candidate.family,title:_g(g),source_path:g,source_path_ref:U,source_ref:J,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=dM(g),I=D.toString("utf8"),j=u_(I,_.safetyPolicy),O=j.findings.some((J)=>J.severity==="high")?"refused":j.findings.length>0?"redacted":"clean",A=j3(j.text),L=aR(g).href,z=DG(j.text),W={source_family:_.candidate.family,title:_g(g),source_path:g,source_path_ref:U,source_ref:L,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:DZ(D),content_hash:A,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:O,redactions:j.findings.map((J)=>({type:J.type,severity:J.severity})),citations:[UG({sourceRef:L,sourcePath:g,lineCount:z,contentHash:A})],bytes:D.byteLength,line_count:z,importable:O!=="refused",skipped_reason:O==="refused"?"secret_refused":null,preview:O==="refused"?null:gG(j.text)};return{evidence:W,text:j.text,manifest:W.importable?jG(W,j.text):null}}function EZ(_){let $=u_(_.item.content,_.safetyPolicy),U=$.findings.some((A)=>A.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,I=j3($.text),j=j3(_.item.content),N=DG($.text),O={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:j,content_hash:I,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:U,redactions:$.findings.map((A)=>({type:A.type,severity:A.severity})),citations:[UG({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:N,contentHash:I})],bytes:Buffer.byteLength(_.item.content),line_count:N,importable:U!=="refused",skipped_reason:U==="refused"?"secret_refused":null,preview:U==="refused"?null:gG($.text),legacy_json_id:_.item.id};return{evidence:O,text:$.text,manifest:O.importable?jG(O,$.text):null}}function OZ(_){if(!_.legacyStorePath||!$G(_.legacyStorePath))return 0;let $=new Map(_.records.filter((g)=>g.legacy_json_id&&g.importable).map((g)=>[g.legacy_json_id,g]));if($.size===0)return 0;return v$(_.legacyStorePath,()=>{let g=I0(_.legacyStorePath);if(!g.exists)return 0;let U=0;for(let D of g.items){let I=$.get(D.id);if(!I)continue;let j=D.metadata??{};D.archived=!0,D.metadata={...j,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:I.source_ref,source_hash:I.source_hash,content_hash:I.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,U+=1}if(U>0)t$(_.legacyStorePath,{items:g.items});return U})}async function NG(_={}){let $=E3(_.root??process.cwd()),g=_.scope??"global",U=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,I=(_.now??new Date).toISOString(),j=Math.max(1,Math.min(_.maxItems??pM,1000)),N=Math.max(1,Math.min(_.limit??eM,100)),O=Math.max(1024,Math.min(_.maxBytesPerFile??aM,2097152)),A=[],z=IZ($,A).slice(0,j).map((Z)=>NZ({root:$,candidate:{...Z,owner:Z.owner==="repository"?U:Z.owner,scope:g},discoveredAt:I,maxBytesPerFile:O,safetyPolicy:_.safetyPolicy})),J=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:I0(_.legacyStorePath)).items.filter((Z)=>Z.archived!==!0&&jZ(Z)).slice(0,j),P=J.map((Z)=>EZ({item:Z,legacyStorePath:_.legacyStorePath,discoveredAt:I,scope:g,safetyPolicy:_.safetyPolicy})),S=[...z,...P].slice(0,j),X=S.map((Z)=>Z.evidence),R=S.filter((Z)=>Z.manifest).map((Z)=>Z.manifest),K=X.filter((Z)=>Z.redaction_status==="refused").length,Q=X.slice(0,N),T=A.slice(0,N),q=null,V=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(R.length>0)q=await $4({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)V=OZ({legacyStorePath:_.legacyStorePath,records:X,now:I})}return{ok:K===0||R.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:g,owner:U,discovered_at:I,max_items:j,evidence_limit:N,records_seen:X.length,records_importable:R.length,records_refused:K,records_skipped:A.length,evidence_truncated:X.length>Q.length,skipped_truncated:A.length>T.length,evidence:Q,skipped:T,import_result:q,legacy:{store_path:_.legacyStorePath??null,candidates:J.length,promoted:P.filter((Z)=>Z.manifest).length,deprecated:V,data_loss:!1},message:D?`Discovered ${X.length} rule source(s); ${R.length} importable, ${K} refused`:`Imported ${q?.items_seen??0} rule source(s); ${V} legacy note(s) deprecated`}}import{createHash as AZ,randomUUID as EG}from"crypto";function LZ(_){return`sha256:${AZ("sha256").update(_).digest("hex")}`}function OG(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function AG(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function d6(_){return typeof _==="string"&&_.length>0?_:null}function JZ(_){let $=AG(_),g=d6($.url)??d6($.uri)??d6($.sourceUrl);if(!g)return null;return{url:g,title:d6($.title)??d6($.name),snippet:d6($.snippet)??d6($.text)??d6($.description),provider_metadata:$}}function oj(_,$){if(Array.isArray(_)){for(let D of _)oj(D,$);return}let g=JZ(_);if(g)$.set(g.url,g);let U=AG(_);for(let D of["sources","results","citations","annotations","output"])if(U[D])oj(U[D],$)}function PZ(_,$){return Array.from({length:Math.min($,3)},(g,U)=>({url:`https://example.com/knowledge-web-${U+1}`,title:`Fake web source ${U+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:U+1}}))}async function zZ(_){let{generateText:$}=await import("ai"),{createOpenAI:g}=await import("@ai-sdk/openai"),U=$6(_.config,"openai"),D=g({apiKey:_.env[U.api_key_env],baseURL:U.base_url}),I=D.tools?.webSearch;if(!I)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:I({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function SZ(_){let{generateText:$}=await import("ai"),{createAnthropic:g}=await import("@ai-sdk/anthropic"),U=$6(_.config,"anthropic"),D=g({apiKey:_.env[U.api_key_env],baseURL:U.base_url}),I=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!I)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:I({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function WZ(_,$,g){if(!_.fileResults||$.length===0)return 0;let U=$.map((I)=>{let j=[I.title,I.snippet,I.url].filter(Boolean).join(` +`),N=LZ(j);return{source_ref:I.url,name:I.title??I.url,url:I.url,mime:"text/plain",hash:N,revision:N,status:"active",updated_at:g,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:I.url,content_source:"provider_web_search",provider_metadata:I.provider_metadata},extracted_text:j}});return(await $4({dbPath:_.dbPath,items:U,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(g)})).sources_upserted}async function LG(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let g=_.env??process.env,U=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),I=Math.max(1,Math.min(_.maxUses??3,10)),j=_.domains??[],N=G$(_.modelRef??(_.provider?`${_.provider}:${$6(_.config,_.provider).default_model}`:"default"),_.config),O=f_(N),A=_.provider??O.provider,L=O.provider===A?O.model:$6(_.config,A).default_model,z=`run_${EG()}`;if(!_.fake&&_.safetyPolicy)J0(_.safetyPolicy);if(!_.fake&&A!=="openai"&&A!=="anthropic")throw Error(`Provider ${A} does not expose native web search yet.`);if(!_.fake)D4(A,_.config,g);h(_.dbPath);let W=v(_.dbPath);try{W.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[z,"provider-web-search",$,"running",A,L,JSON.stringify({domains:j,max_uses:I,fake:_.fake===!0}),U,U]),X_(W,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:A,model:L,domains:j,max_uses:I},created_at:U})}finally{W.close()}let J="",P=[],S={input_tokens:OG($),output_tokens:0,cost_usd:0},X=[];if(_.fake)P=PZ($,D),J=`Fake web search answer for: ${$}`,S.output_tokens=OG(J);else{let K=A==="openai"?await zZ({query:$,model:L,config:_.config,env:g,maxUses:I,domains:j}):await SZ({query:$,model:L,config:_.config,env:g,maxUses:I,domains:j});J=K.text;let Q=new Map;oj(K.sources,Q),oj(K.toolResults,Q),P=Array.from(Q.values()).slice(0,D);let T=U4({provider:A,model:L,usage:K.usage,providerMetadata:K.providerMetadata});S={input_tokens:T.input_tokens,output_tokens:T.output_tokens,cost_usd:T.cost_usd}}let G=await WZ(_,P,U),R=v(_.dbPath);try{R.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:j,max_uses:I,sources:P.length,filed_sources:G,fake:_.fake===!0}),U,z]),R.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${EG()}`,z,"info","provider_web_search_completed",JSON.stringify({sources:P.length,filed_sources:G}),U]),S0(R,{run_id:z,provider:A,model:L,input_tokens:S.input_tokens,output_tokens:S.output_tokens,cost_usd:S.cost_usd,metadata:{web_search:!0,sources:P.length,filed_sources:G},created_at:U})}finally{R.close()}if(P.length===0)X.push("no_web_sources_returned");return{run_id:z,query:$,provider:A,model:L,answer:J,sources:P,filed_sources:G,usage:S,warnings:X}}import{createHash as XZ,randomUUID as RZ}from"crypto";function $g(_,$){return`${_}_${XZ("sha256").update($).digest("hex").slice(0,20)}`}function O3(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function GZ(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function YZ(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function JG(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function QZ(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function PG(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function TZ(_,$){let g=Math.max(1,Math.min($.limit??10,50)),U=$.sourceRefs??[],D=QZ($.query),I=["c.kind = 'source'"],j=[];if(U.length>0){I.push(`(${U.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let N of U)j.push(N,`%${PG(N)}%`)}if(D.length>0){I.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let N of D)j.push(`%${PG(N)}%`)}return j.push(g),_.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -1041,9 +1041,9 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| JOIN sources s ON s.id = sr.source_id WHERE ${I.join(" AND ")} ORDER BY c.created_at ASC, c.ordinal ASC - LIMIT ?`).all(...j)}function PG(_,$=420){let g=_.replace(/\s+/g," ").trim();return g.length<=$?g:`${g.slice(0,$-1).trim()}...`}function TZ(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function qZ(_,$,g){let U=$.map((I,j)=>{return`- [${`S${j+1}`}] ${I.source_title??I.source_uri??"Source"} (${I.source_uri??"unknown"}, revision ${I.revision??"unknown"}, hash ${I.hash??"unknown"})`}),D=$.map((I,j)=>{let N=`S${j+1}`;return[`## ${I.source_title??`Source ${j+1}`}`,"",PG(I.text),"",`Citation: [${N}]`].join(` + LIMIT ?`).all(...j)}function zG(_,$=420){let g=_.replace(/\s+/g," ").trim();return g.length<=$?g:`${g.slice(0,$-1).trim()}...`}function qZ(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function BZ(_,$,g){let U=$.map((I,j)=>{return`- [${`S${j+1}`}] ${I.source_title??I.source_uri??"Source"} (${I.source_uri??"unknown"}, revision ${I.revision??"unknown"}, hash ${I.hash??"unknown"})`}),D=$.map((I,j)=>{let N=`S${j+1}`;return[`## ${I.source_title??`Source ${j+1}`}`,"",zG(I.text),"",`Citation: [${N}]`].join(` `)});return[`# ${_}`,"",`Generated at: ${g}`,"","## Sources","",...U,"",...D,""].join(` -`)}async function pj(_,$){let g=await _.put($);return{key:g.key,uri:g.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:g.modified_at,...L0($.body),metadata:{...$.metadata??{}}}}async function zG(_,$,g){let{year:U,month:D,day:I}=RZ(g),j=`logs/${U}/${D}/${I}.jsonl`,N="";try{N=await _.getText(j)}catch{N=""}return pj(_,{key:j,body:`${N}${JSON.stringify($)} +`)}async function pj(_,$){let g=await _.put($);return{key:g.key,uri:g.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:g.modified_at,...L0($.body),metadata:{...$.metadata??{}}}}async function SG(_,$,g){let{year:U,month:D,day:I}=GZ(g),j=`logs/${U}/${D}/${I}.jsonl`,N="";try{N=await _.getText(j)}catch{N=""}return pj(_,{key:j,body:`${N}${JSON.stringify($)} `,content_type:"application/x-ndjson",metadata:{provenance:U$({generated_from:String($.event??"wiki_log"),artifact_key:j})}})}function A3(_,$){_.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 @@ -1053,16 +1053,16 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| status = excluded.status, metadata_json = excluded.metadata_json, updated_at = excluded.updated_at`,[$.pageId,$.path,$.title,$.artifactUri,$.contentHash,"active",JSON.stringify({artifact_key:$.path,provenance:$.provenance}),$.now,$.now]);let g=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($.pageId);for(let D of g)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[D.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$.pageId]);let U=$g("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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.pageId,"wiki",0,$.body,GZ($.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 (?, ?, ?, ?)",[U,$.body,$.title,$.artifactUri])}function SG(_,$,g,U){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);for(let D of g)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$g("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??XZ()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),U]);return g.length}function WG(_,$){return _.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,$.pageId,"wiki",0,$.body,YZ($.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 (?, ?, ?, ?)",[U,$.body,$.title,$.artifactUri])}function WG(_,$,g,U){_.run("DELETE FROM citations WHERE wiki_page_id = ?",[$]);for(let D of g)_.run(`INSERT INTO citations (id, wiki_page_id, chunk_id, source_uri, quote, start_offset, end_offset, metadata_json, created_at) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[$g("cit",`${$}\x00${D.source_uri}\x00${D.chunk_id??RZ()}`),$,D.chunk_id,D.source_uri,D.quote,D.start_offset,D.end_offset,JSON.stringify(D.metadata),U]);return g.length}function XG(_,$){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`,[$g("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function BZ(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function XG(_){let $=_.now??new Date,g=$.toISOString();h(_.dbPath);let U=v(_.dbPath),D;try{D=QZ(U,_)}finally{U.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let I=TZ(_,D),N=`wiki/generated/${O3(I)}.md`,O=qZ(I,D,g),A=D.map((q)=>{let V=LG(q.metadata_json);return typeof V.source_ref==="string"?V.source_ref:q.source_uri}).filter((q)=>Boolean(q)),L=U$({generated_from:"wiki_compile",artifact_key:N,source_refs:A}),z=await pj(_.store,{key:N,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),W=$g("wiki",N),J=D.map((q)=>({chunk_id:q.chunk_id,source_uri:q.source_uri??"unknown",quote:PG(q.text,240),start_offset:q.start_offset,end_offset:q.end_offset,metadata:{source_revision_id:q.source_revision_id,revision:q.revision,hash:q.hash,source_ref:LG(q.metadata_json).source_ref??q.source_uri}})),P=BZ(I),S=`wiki/concepts/${O3(P)}.md`,X=[`# ${P}`,"",`Related page: [[${N}]]`,""].join(` -`),G=U$({generated_from:"wiki_compile_concept",artifact_key:S,source_refs:A}),R=await pj(_.store,{key:S,body:X,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),K=$g("wiki",S),Q=await zG(_.store,{ts:g,event:"wiki_compile_completed",page_key:N,source_refs:A,chunks_seen:D.length},$),T=v(_.dbPath);try{s$(T,[z,R,Q],$),A3(T,{pageId:W,path:N,title:I,artifactUri:z.uri,contentHash:z.hash??"",body:O,provenance:L,now:g}),A3(T,{pageId:K,path:S,title:P,artifactUri:R.uri,contentHash:R.hash??"",body:X,provenance:G,now:g}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[W,K,"concept",g]);let q=SG(T,W,J,g),V=WG(T,{title:I,path:N,artifactUri:z.uri,contentHash:z.hash??"",now:g});return{page_id:W,path:N,artifact_uri:z.uri,content_hash:z.hash??"",chunks_seen:D.length,citations_written:q,concept_page_id:K,indexes_updated:V,log_key:Q.key,warnings:[]}}finally{T.close()}}async function RG(_){if(!_.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let $=_.now??new Date,g=$.toISOString(),U=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,I=`wiki/answers/${O3(U)}.md`,j=_.context.citations,N=[`# ${U}`,"",_.answer,"","## Citations","",...j.map((P,S)=>`- [C${S+1}] ${P.source_ref??P.source_uri??P.artifact_path??P.artifact_uri??"unknown"} ${P.hash?`(hash ${P.hash})`:""}`),""].join(` -`),O=j.map((P)=>P.source_ref??P.source_uri).filter((P)=>Boolean(P)),A=U$({generated_from:"knowledge_answer",artifact_key:I,source_refs:O}),L=await pj(_.store,{key:I,body:N,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),z=await zG(_.store,{ts:g,event:"wiki_answer_filed",page_key:I,prompt:_.prompt,citations:j.length},$),W=$g("wiki",I),J=v(_.dbPath);try{s$(J,[L,z],$),A3(J,{pageId:W,path:I,title:U,artifactUri:L.uri,contentHash:L.hash??"",body:N,provenance:A,now:g});let P=SG(J,W,j.map((S)=>({chunk_id:S.chunk_id,source_uri:S.source_uri??S.artifact_uri??"unknown",quote:S.quote,start_offset:S.start_offset,end_offset:S.end_offset,metadata:{source_ref:S.source_ref,artifact_path:S.artifact_path,revision:S.revision,hash:S.hash}})),g);return WG(J,{title:U,path:I,artifactUri:L.uri,contentHash:L.hash??"",now:g}),{approved:!0,durable_writes_performed:!0,page_id:W,path:I,artifact_uri:L.uri,citations_written:P,log_key:z.key,message:`Filed answer to ${I}`}}finally{J.close()}}function y4(_,$){_.push($)}function GG(_){h(_.dbPath);let $=v(_.dbPath),g=[];try{let U=$.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,I=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,j=$.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[$g("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function KZ(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function RG(_){let $=_.now??new Date,g=$.toISOString();h(_.dbPath);let U=v(_.dbPath),D;try{D=TZ(U,_)}finally{U.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let I=qZ(_,D),N=`wiki/generated/${O3(I)}.md`,O=BZ(I,D,g),A=D.map((q)=>{let V=JG(q.metadata_json);return typeof V.source_ref==="string"?V.source_ref:q.source_uri}).filter((q)=>Boolean(q)),L=U$({generated_from:"wiki_compile",artifact_key:N,source_refs:A}),z=await pj(_.store,{key:N,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),W=$g("wiki",N),J=D.map((q)=>({chunk_id:q.chunk_id,source_uri:q.source_uri??"unknown",quote:zG(q.text,240),start_offset:q.start_offset,end_offset:q.end_offset,metadata:{source_revision_id:q.source_revision_id,revision:q.revision,hash:q.hash,source_ref:JG(q.metadata_json).source_ref??q.source_uri}})),P=KZ(I),S=`wiki/concepts/${O3(P)}.md`,X=[`# ${P}`,"",`Related page: [[${N}]]`,""].join(` +`),G=U$({generated_from:"wiki_compile_concept",artifact_key:S,source_refs:A}),R=await pj(_.store,{key:S,body:X,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),K=$g("wiki",S),Q=await SG(_.store,{ts:g,event:"wiki_compile_completed",page_key:N,source_refs:A,chunks_seen:D.length},$),T=v(_.dbPath);try{s$(T,[z,R,Q],$),A3(T,{pageId:W,path:N,title:I,artifactUri:z.uri,contentHash:z.hash??"",body:O,provenance:L,now:g}),A3(T,{pageId:K,path:S,title:P,artifactUri:R.uri,contentHash:R.hash??"",body:X,provenance:G,now:g}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[W,K,"concept",g]);let q=WG(T,W,J,g),V=XG(T,{title:I,path:N,artifactUri:z.uri,contentHash:z.hash??"",now:g});return{page_id:W,path:N,artifact_uri:z.uri,content_hash:z.hash??"",chunks_seen:D.length,citations_written:q,concept_page_id:K,indexes_updated:V,log_key:Q.key,warnings:[]}}finally{T.close()}}async function GG(_){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,g=$.toISOString(),U=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,I=`wiki/answers/${O3(U)}.md`,j=_.context.citations,N=[`# ${U}`,"",_.answer,"","## Citations","",...j.map((P,S)=>`- [C${S+1}] ${P.source_ref??P.source_uri??P.artifact_path??P.artifact_uri??"unknown"} ${P.hash?`(hash ${P.hash})`:""}`),""].join(` +`),O=j.map((P)=>P.source_ref??P.source_uri).filter((P)=>Boolean(P)),A=U$({generated_from:"knowledge_answer",artifact_key:I,source_refs:O}),L=await pj(_.store,{key:I,body:N,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),z=await SG(_.store,{ts:g,event:"wiki_answer_filed",page_key:I,prompt:_.prompt,citations:j.length},$),W=$g("wiki",I),J=v(_.dbPath);try{s$(J,[L,z],$),A3(J,{pageId:W,path:I,title:U,artifactUri:L.uri,contentHash:L.hash??"",body:N,provenance:A,now:g});let P=WG(J,W,j.map((S)=>({chunk_id:S.chunk_id,source_uri:S.source_uri??S.artifact_uri??"unknown",quote:S.quote,start_offset:S.start_offset,end_offset:S.end_offset,metadata:{source_ref:S.source_ref,artifact_path:S.artifact_path,revision:S.revision,hash:S.hash}})),g);return XG(J,{title:U,path:I,artifactUri:L.uri,contentHash:L.hash??"",now:g}),{approved:!0,durable_writes_performed:!0,page_id:W,path:I,artifact_uri:L.uri,citations_written:P,log_key:z.key,message:`Filed answer to ${I}`}}finally{J.close()}}function y4(_,$){_.push($)}function YG(_){h(_.dbPath);let $=v(_.dbPath),g=[];try{let U=$.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,I=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,j=$.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/%' @@ -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 J of W)y4(g,{type:"new_article_candidate",severity:"info",chunk_id:J.chunk_id,source_uri:J.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:g.every((J)=>J.severity!=="error"),issue_count:g.length,issues:g,counts:{active_pages:U,citations:D,backlinks:I,new_article_candidates:W.length}}}finally{$.close()}}import{createHash as KZ}from"crypto";function VZ(_){let $=String(_.getUTCFullYear()),g=String(_.getUTCMonth()+1).padStart(2,"0"),U=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:g,day:U}}function L3(_,$){return`${_}_${KZ("sha256").update($).digest("hex").slice(0,20)}`}function FZ(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function MZ(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let J of W)y4(g,{type:"new_article_candidate",severity:"info",chunk_id:J.chunk_id,source_uri:J.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:g.every((J)=>J.severity!=="error"),issue_count:g.length,issues:g,counts:{active_pages:U,citations:D,backlinks:I,new_article_candidates:W.length}}}finally{$.close()}}import{createHash as VZ}from"crypto";function FZ(_){let $=String(_.getUTCFullYear()),g=String(_.getUTCMonth()+1).padStart(2,"0"),U=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:g,day:U}}function L3(_,$){return`${_}_${VZ("sha256").update($).digest("hex").slice(0,20)}`}function MZ(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function ZZ(){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 ZZ(){return`# Knowledge Index +`}function bZ(){return`# Knowledge Index This is a compact orientation index for agents. It is not the full search index. @@ -1134,14 +1134,14 @@ This is a compact orientation index for agents. It is not the full search index. Raw source files are resolved through open-files. This app stores source refs, citations, chunks, generated wiki artifacts, indexes, and run records. -`}function YG(){return`# Wiki +`}function QG(){return`# Wiki Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. -`}async function QG(_,$=new Date){let{year:g,month:U,day:D}=VZ($),I="schemas/v1.md",j="indexes/root.md",N="wiki/README.md",O=`logs/${g}/${U}/${D}.jsonl`,A={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:MZ(),content_type:"text/markdown"},{key:"indexes/root.md",body:ZZ(),content_type:"text/markdown"},{key:"wiki/README.md",body:YG(),content_type:"text/markdown"},{key:O,body:`${JSON.stringify(A)} -`,content_type:"application/x-ndjson"}],z=await Promise.all(L.map(async(W)=>{let J=await _.put(W);return{key:J.key,uri:J.uri,kind:ZS(W.key),content_type:W.content_type,modified_at:J.modified_at,metadata:{provenance:U$({generated_from:"wiki_layout_init",artifact_key:W.key,citation_required:W.key.startsWith("wiki/")||W.key.startsWith("indexes/")})},...L0(W.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:O,artifacts:z,written:["schemas/v1.md","indexes/root.md","wiki/README.md",O]}}function J3(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return U$({generated_from:"wiki_layout_init",artifact_key:_.key})}function bZ(_,$,g,U,D,I){let j=J3(U),N=L3("chk",`${$}\x00${U.hash??U.uri}`),O=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let A of O)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[A.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,D,FZ(D),0,D.length,JSON.stringify({artifact_key:U.key,artifact_uri:U.uri,content_hash:U.hash??null,provenance:j}),I]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[N,D,g,U.uri])}function TG(_,$,g=new Date){let U=g.toISOString(),D=$.find((j)=>j.key.endsWith("indexes/root.md")),I=$.find((j)=>j.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 TG(_,$=new Date){let{year:g,month:U,day:D}=FZ($),I="schemas/v1.md",j="indexes/root.md",N="wiki/README.md",O=`logs/${g}/${U}/${D}.jsonl`,A={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:ZZ(),content_type:"text/markdown"},{key:"indexes/root.md",body:bZ(),content_type:"text/markdown"},{key:"wiki/README.md",body:QG(),content_type:"text/markdown"},{key:O,body:`${JSON.stringify(A)} +`,content_type:"application/x-ndjson"}],z=await Promise.all(L.map(async(W)=>{let J=await _.put(W);return{key:J.key,uri:J.uri,kind:bS(W.key),content_type:W.content_type,modified_at:J.modified_at,metadata:{provenance:U$({generated_from:"wiki_layout_init",artifact_key:W.key,citation_required:W.key.startsWith("wiki/")||W.key.startsWith("indexes/")})},...L0(W.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:O,artifacts:z,written:["schemas/v1.md","indexes/root.md","wiki/README.md",O]}}function J3(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return U$({generated_from:"wiki_layout_init",artifact_key:_.key})}function HZ(_,$,g,U,D,I){let j=J3(U),N=L3("chk",`${$}\x00${U.hash??U.uri}`),O=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let A of O)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[A.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,D,MZ(D),0,D.length,JSON.stringify({artifact_key:U.key,artifact_uri:U.uri,content_hash:U.hash??null,provenance:j}),I]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[N,D,g,U.uri])}function qG(_,$,g=new Date){let U=g.toISOString(),D=$.find((j)=>j.key.endsWith("indexes/root.md")),I=$.find((j)=>j.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, @@ -1154,13 +1154,13 @@ Pages should be concise, cited, and organized for both humans and agents. content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[j,"wiki/README.md","Wiki",I.uri,I.hash??null,"active",JSON.stringify({artifact_key:I.key,provenance:J3(I)}),U,U]),bZ(_,j,"Wiki",I,YG(),U)}}import{createHash as qG}from"crypto";import{cpSync as G3,chmodSync as z3,existsSync as V$,lstatSync as MG,mkdirSync as ej,readdirSync as Y3,readFileSync as EU,renameSync as HZ,rmSync as sj,writeFileSync as BG}from"fs";import{dirname as S3,join as L6,relative as kZ}from"path";function W3(_,$=_){if(!V$(_))return[];let g=MG(_);if(g.isFile())return[kZ($,_)||"."];if(!g.isDirectory())return[];return Y3(_).flatMap((U)=>W3(L6(_,U),$)).sort()}function KG(_,$){if($.length===0)return{sha256:null,bytes:0};let g=qG("sha256"),U=0;for(let D of $){let I=L6(_,D),j=EU(I),N=qG("sha256").update(j).digest("hex");U+=j.byteLength,g.update(D),g.update("\x00"),g.update(N),g.update("\x00")}return{sha256:g.digest("hex"),bytes:U}}function CZ(_){if(!V$(_))return null;let $=JSON.parse(EU(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function rZ(_){if(!V$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=zS(_);try{let g=$.query("PRAGMA integrity_check").get(),U=g?Object.values(g)[0]??null:null,D=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),I={};for(let j of D){let N=`"${j.name.replaceAll('"','""')}"`,O=$.query(`SELECT COUNT(*) AS n FROM ${N}`).get();I[j.name]=O?.n??0}return{exists:!0,integrity_check:U,table_counts:I}}finally{$.close()}}function d_(_,$={}){let g=W3(_.home),U=KG(_.home,g),D=W3(_.artifactsDir),I=KG(_.artifactsDir,D),j=V$(_.knowledgeDbPath);return{path:_.home,exists:V$(_.home),file_count:g.length,total_bytes:U.bytes,tree_sha256:U.sha256,json_items:CZ(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:j,integrity_check:null,table_counts:{}}:rZ(_.knowledgeDbPath),artifacts:{exists:V$(_.artifactsDir),file_count:D.length,total_bytes:I.bytes,tree_sha256:I.sha256},files:g}}function vZ(_,$){if(!$.exists)return!0;if($.files.filter((U)=>U!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(EU(_.configPath,"utf8")))===JSON.stringify(Fg())}catch{return!1}}function X3(_,$){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 aj(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function R3(_){if(Array.isArray(_))return`[${_.map(R3).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[g])=>$.localeCompare(g)).map(([$,g])=>`${JSON.stringify($)}:${R3(g)}`).join(",")}}`;return JSON.stringify(_)}function VG(_){return R3(_)}function P3(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function h4(_){if(!V$(_))return{items:[]};let $=JSON.parse(EU(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function FG(_,$){let g=new Map(_.items.map((L)=>[L.id,L])),U=new Map;for(let L of _.items){let z=U.get(L.id);if(z&&z.item.id!==L.id);U.set(L.id,{item:L,keyKind:"id",source:"current"});let W=P3(L);if(W&&!U.has(W))U.set(W,{item:L,keyKind:"short_id",source:"current"})}let D=[],I=0,j=0,N=0,O=[];for(let L of $.items){let z=g.get(L.id);if(z){if(VG(z)===VG(L))I+=1;else j+=1,D.push({type:"id_conflict",id:L.id,legacy_title:L.title,current_title:z.title});continue}let W=[{key:L.id,keyKind:"id"},...P3(L)?[{key:P3(L),keyKind:"short_id"}]:[]],J=!1;for(let{key:P,keyKind:S}of W){let X=U.get(P);if(!X)continue;if(S==="id"&&X.keyKind==="id")j+=1,D.push({type:"id_conflict",id:P,legacy_id:L.id,current_id:X.item.id,legacy_title:L.title,current_title:X.item.title});else N+=1,D.push({type:"short_id_conflict",id:P,legacy_id:L.id,current_id:X.item.id,legacy_title:L.title,current_title:X.item.title});J=!0}if(J)continue;O.push(L);for(let{key:P,keyKind:S}of W)U.set(P,{item:L,keyKind:S,source:"legacy"})}let A={items:[..._.items,...O]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:I,duplicate_ids_conflicting:j,short_id_conflicts:N,stranded_items:O.length,merged_items:D.length===0?O.length:0,expected_total_items:_.items.length+O.length,final_items:null},conflicts:D,mergedStore:A}}function fZ(_,$){let g=[...new Set(_)].sort(),U=(D)=>{if(D>=g.length)return $();return v$(g[D],()=>U(D+1),{createParent:!0})};return U(0)}function ZG(_){let $=_.now??new Date,g=_.approveWrite!==!0,U=d_(_.legacy),D=d_(_.current),I={legacy_exists:U.exists,legacy_store_exists:V$(_.legacy.jsonStorePath),current_store_exists:V$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},j=[];if(!U.exists||!I.legacy_store_exists)return{ok:!0,dry_run:g,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:U,current_before:D,backup_after:null,current_after:D,merge:{current_items:h4(_.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:h4(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...I,no_conflicts:!0,final_count_matches_expected:!0},warnings:j,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let N=h4(_.current.jsonStorePath),O=h4(_.legacy.jsonStorePath),A=FG(N,O);if(I.no_conflicts=A.conflicts.length===0,A.conflicts.length>0)j.push("merge_conflicts_detected");if(!I.approval_present)j.push("write_approval_required");if(g||!I.approval_present||A.conflicts.length>0)return{ok:A.conflicts.length===0,dry_run:!0,approval_required:!I.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${aj($)}`,legacy_before:U,current_before:D,backup_after:null,current_after:null,merge:A.stats,conflicts:A.conflicts,checks:I,warnings:j,message:A.conflicts.length===0?`Dry run: would merge ${A.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${A.conflicts.length} conflict(s)`};return fZ([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let L=h4(_.current.jsonStorePath),z=h4(_.legacy.jsonStorePath),W=FG(L,z);if(I.no_conflicts=W.conflicts.length===0,W.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:d_(_.legacy),current_before:d_(_.current),backup_after:null,current_after:null,merge:W.stats,conflicts:W.conflicts,checks:I,warnings:[...j,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${W.conflicts.length} conflict(s)`};if(W.stats.stranded_items===0)return W.stats.final_items=L.items.length,I.final_count_matches_expected=L.items.length===W.stats.expected_total_items,{ok:I.no_conflicts&&I.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:d_(_.legacy),current_before:d_(_.current),backup_after:null,current_after:d_(_.current),merge:W.stats,conflicts:[],checks:I,warnings:j,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let J=`${_.legacy.home}.merge-backup-${aj($)}`;ej(S3(J),{recursive:!0}),G3(_.legacy.home,J,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let P=D$(J),S=d_(P);if(I.legacy_backup_written=X3(d_(_.legacy),S),!I.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${J}`);t$(_.current.jsonStorePath,W.mergedStore);let X=h4(_.current.jsonStorePath);W.stats.final_items=X.items.length,I.final_count_matches_expected=X.items.length===W.stats.expected_total_items;let G=d_(_.current),R=I.legacy_backup_written&&I.no_conflicts&&I.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:J,legacy_before:U,current_before:D,backup_after:S,current_after:G,merge:W.stats,conflicts:[],checks:I,warnings:j,message:R?`Merged ${W.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function wZ(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Q3(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function uZ(_){let $;for(let g=0;g<8;g+=1)try{sj(_,{recursive:!0,force:!1});return}catch(U){if($=U,!Q3(U))throw U;wZ(50*(g+1))}throw $}function bG(_){if(!V$(_))return;let $=MG(_);if(z3(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let g of Y3(_))bG(L6(_,g))}function xZ(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function yZ(_){for(let $ of Y3(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{sj(L6(_,$),{recursive:!0,force:!1})}catch(g){if(!Q3(g)||!$.startsWith("knowledge.db"))throw g}}}function hZ(_,$){try{HZ(_,$);return}catch(g){G3(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{uZ(_)}catch(U){if(Q3(U)){yZ(_);return}throw sj($,{recursive:!0,force:!0}),U}if(g instanceof Error&&g.message.includes("EXDEV"))return}}function cZ(_,$,g){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((U)=>!xZ(U)))return!1;try{let U=JSON.parse(EU(L6(_.home,"migration.json"),"utf8"));return U.new_path===g&&typeof U.backup_path==="string"}catch{return!1}}function HG(_){let $=_.now??new Date,g=_.approveWrite!==!0,U=d_(_.current),D=vZ(_.current,U),I=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!U.exists||D),j=d_(_.legacy,{includeSqlite:!I}),N={legacy_exists:j.exists,current_absent_or_default_scaffold:!U.exists||D,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:g,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:null,legacy_before:j,current_before:U,backup_after:null,current_after:null,checks:N,warnings:O,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(N.legacy_is_tombstone=cZ(_.legacy,j,_.current.home),N.legacy_is_tombstone)return{ok:!0,dry_run:g,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:L6(_.legacy.home,"TOMBSTONE.md"),legacy_before:j,current_before:U,backup_after:null,current_after:U,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(g||!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-${aj($)}`,tombstone_path:L6(_.legacy.home,"TOMBSTONE.md"),legacy_before:j,current_before:U,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 A=`${_.legacy.home}.backup-${aj($)}`;ej(S3(_.current.home),{recursive:!0}),ej(S3(A),{recursive:!0}),G3(_.legacy.home,A,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),bG(A);let L=D$(A),z=d_(L,{includeSqlite:!1});if(N.backup_matches_legacy=X3(j,z),!N.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${A}`);if(U.exists&&D)sj(_.current.home,{recursive:!0,force:!0});hZ(_.legacy.home,_.current.home);let W=d_(_.current,{includeSqlite:!1});N.migrated_matches_backup=X3(z,W);let J=d_(L),P=d_(_.current),S={...J,path:_.legacy.home};ej(_.legacy.home,{recursive:!0});let X=L6(_.legacy.home,"TOMBSTONE.md");BG(X,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${A}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),z3(X,384);let G=L6(_.legacy.home,"migration.json");BG(G,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:A,legacy_before:S,backup_after:J,current_after:P},null,2)} -`,{mode:384}),z3(G,384),N.tombstone_written=V$(X);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:A,tombstone_path:X,legacy_before:S,current_before:U,backup_after:J,current_after:P,checks:N,warnings:O,message:R?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}function iZ(_){let $=iG(_);if(W_(kG($,"knowledge.db"))||W_(kG($,"config.json")))return D0($);return D0(D$(VN($)).home)}function T3(_){return`${mZ()}:${AU("sha256").update(_.home).digest("hex").slice(0,12)}`}function K3(_){return`'${_.replace(/'/g,"'\\''")}'`}function lZ(_){return["knowledge",..._].map(K3).join(" ")}function CG(_,$){return`cd ${K3(_)} && knowledge ${$.map(K3).join(" ")}`}function lG(_){return!_||_==="local"||_==="localhost"}function OU(_,$){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 q3(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function tZ(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((g)=>typeof g==="string"):[]}catch{return[]}}function LU(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function k_(_){return typeof _==="string"&&_.length>0?_:null}function oZ(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function _N(_){return typeof _==="boolean"?_:null}function pZ(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function tG(_,$,g){let U=LU(_),D=k_(U.observed_at)??k_($[`${g}_observed_at`]),I=k_(U.source_authority)??k_($[`${g}_source_authority`]);if(!D||!I)return null;return{observed_at:D,verified_at:k_(U.verified_at),expires_at:k_(U.expires_at)??k_($[`${g}_expires_at`]),ttl_ms:oZ(U.ttl_ms),source_authority:I,confidence:k_(U.confidence)??(g==="route"?k_($.route_confidence):null),cacheable:_N(U.cacheable)??_N($[`${g}_cacheable`])??!1,stale:_N(U.stale)??_N($[`${g}_stale`])??!1,reasons:pZ(U.reasons)}}function eZ(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||tZ(_.tailscale_ips_json).includes($)}function rG(_,$){return vE(_).find((g)=>eZ(g,$))??null}function oG(_){return LU(c4(_.metadata_json).resolver_evidence)}function JU(_){return LU(c4(_.capabilities_json).resolver)}function pG(_){let $=JU(_),g=k_($.route_kind);if(g==="local"||g==="lan"||g==="tailscale"||g==="ssh"||g==="unknown")return g;if(_.tailscale_dns&&_.ssh_target===_.tailscale_dns)return"tailscale";return _.ssh_target?"ssh":"unknown"}function aZ(_){let $=JU(_),g=k_($.route_target_kind);if(g==="local"||g==="lan"||g==="tailscale"||g==="ssh"||g==="unknown")return g;return pG(_)}function sZ(_){return k_(JU(_).route_confidence)??"medium"}function vG(_,$,g){let U=oG(_),D=LU(U.route),I=JU(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:pG(_),targetKind:aZ(_),confidence:sZ(_),source:"registry",adapter:g.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:tG(D.cacheability,I,"route")??g.cacheability,warnings:[...new Set([...g.warnings,"registry_route_fallback"])]}}function fG(_,$,g){if(!_.workspace_home)return null;let U=oG(_),D=LU(U.workspace),I=JU(_);return{ok:!0,source:"registry",adapter:g.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:k_(D.project_id)??g.project_id,repo_name:k_(D.repo_name)??g.repo_name,project_root:_.workspace_home,project_root_source:k_(I.project_root_source)??"registry",workspace_root:k_(D.workspace_root),workspace_root_source:k_(I.workspace_root_source)??"registry",open_files_root:k_(D.open_files_root),open_files_root_source:k_(I.open_files_root_source)??"registry",trust_status:k_(I.trust_status)??"unknown",auth_status:k_(I.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:tG(D.cacheability,I,"workspace")??g.cacheability,warnings:[...new Set([...g.warnings,"registry_workspace_fallback"])]}}function wG(_){if(!_)return null;let $=_.diagnostics.filter((U)=>U.severity!=="ok"),g=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!g)return null;return[$.length?`workspace diagnostics: ${$.map((U)=>`${U.id}=${U.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,g?`repair: ${g.shell_command}`:null].filter(Boolean).join("; ")}function $N(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:lZ(_.args)}}function gN(_,$){let g=v(_);try{return Number(g.query($).get()?.count??0)}finally{g.close()}}function _b(_,$){let g=gN(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),U=gN(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=gN(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),I=gN(_,["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=I===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:g,metadata_mentions:U},extracted_text_artifacts:D,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:I,message:j?`${g} open-files source ref(s); raw source bytes remain owned by open-files`:`${I} raw source payload metadata sentinel(s) found`}}var $b=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function V3(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((g)=>V3(g,$+1));for(let[g,U]of Object.entries(_)){if($b.has(g.toLowerCase()))return!0;if(V3(U,$+1))return!0}return!1}function c4(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function uG(_,$=20,g=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),g)}function gb(_,$=220){let g=_??"";return g.length>$?`${g.slice(0,$)}...`:g}function S$(_,$=["metadata_json"]){return _.map((g)=>{let U={...g};for(let D of $){let I=U[D];if(typeof I==="string"){let j=D.endsWith("_json")?D.slice(0,-5):D;U[j]=c4(I),delete U[D]}}return U})}function DN(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function F3(_){if(typeof _!=="string")return{};return c4(_)}function Db(_){let $={..._};return $.source_refs=DN($.source_refs_json),$.evidence_refs=DN($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=F3($.checks_json),$.metadata=F3($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function Ub(_){let $={..._};return $.source_refs=DN($.source_refs_json),$.evidence_refs=DN($.evidence_refs_json),$.metadata=F3($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function p_(_,$,g=[]){return _.query($).all(...g)}function Ib(_){if(!W_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(dZ(_,"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 xG(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:gb(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function yG(){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 eG(_,$,g=!1){return{query:_,limit:$,offset:0,mode:{keyword:!0,catalog:!0,semantic:g},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 jb(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Nb(_,$,g=!1){let U=eG(_,$,g);return{query:_,normalized_query:jb(_),created_at:new Date().toISOString(),mode:U.mode,warnings:U.warnings,search_counts:U.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function B3(_,$,g){let U=g??$.jsonStorePath;if(W_(U))return U;if(_==="global"){let D=Vg();if(W_(D))return D}return U}function Eb(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function M3(_,$){let g=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-1)).trim()}...`}function hG(_,$,g){let U=u_(M3(_,g),$);return{text:U.text,redactions:U.findings.length}}function cG(_,$,g){let U=_.now??new Date,D=_.source??"search",I=_.purpose??(D==="loops"||D==="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)),A=0,L=$.citations.slice(0,Math.max(N*2,N)).map((R,K)=>{let Q=hG(R.quote,g,K<3?220:140);A+=Q.redactions;let T=R.source_ref??R.source_uri??R.artifact_path??R.artifact_uri??R.id;return{id:`cite_${AU("sha256").update(`${R.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:R.artifact_uri||R.artifact_path?"artifact":"source",ref:T,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:Q.text}}),z=new Map($.citations.map((R,K)=>[R.id,L[K]])),W=$.excerpts.slice(0,Math.max(N*2,N)).map((R)=>{let K=$.results.find((q)=>q.id===R.result_id),Q=R.citation_id?z.get(R.citation_id):void 0,T=hG(R.text,g,520);return A+=T.redactions,{id:`ev_${AU("sha256").update(`${R.kind}\x00${R.result_id}\x00${R.citation_id??""}`).digest("hex").slice(0,14)}`,kind:R.kind,title:M3(K?.title??Q?.ref??R.kind,100),text_preview:T.text,score:Number(R.score.toFixed(6)),citation_ids:Q?[Q.id]:[],provenance:{source:D,record_ref:`${R.kind}:${R.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((R,K)=>K.score-R.score||R.id.localeCompare(K.id)).slice(0,N),J=new Set(W.flatMap((R)=>R.citation_ids)),P=L.filter((R)=>J.has(R.id)),S=Array.from(new Set($.warnings)),X=`ctx_${AU("sha256").update([D,I,j,S.join(","),W.map((R)=>R.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,G={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:U.toISOString(),source:D,purpose:I,query:j,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:X,budgets:{max_tokens:O,estimated_tokens:0,max_items:N,items_included:W.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-W.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:A,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:P,evidence:W,duplicate_candidates:[],outline:{title:j?`Knowledge context: ${M3(j,80)}`:"Knowledge context",bullets:W.length>0?W.slice(0,5).map((R)=>`${R.id}: ${R.title}`):["No matching bounded evidence was found."],evidence_ids:W.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:S,message:`${W.length} bounded evidence item(s), estimated under ${O} token(s)`};return G.budgets.estimated_tokens=Eb(G),G.budgets.token_budget_exceeded=G.budgets.estimated_tokens>O,G.message=`${G.evidence.length} bounded evidence item(s), estimated ${G.budgets.estimated_tokens}/${O} token(s)`,G}function Ob(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Ab(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Lb(_){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 nG(_){let $=_.now??new Date,g=_.source??"search",U=_.purpose??(g==="loops"||g==="runs"?"proposal":"agent_context"),D=(_.query??_.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),I=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),j=Math.max(500,Math.min(_.maxTokens??6000,1e5)),N=`ctx_${AU("sha256").update(["empty",g,U,D,_.topic??"",_.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:g,purpose:U,query:D,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:N,budgets:{max_tokens:j,estimated_tokens:0,max_items:I,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/${j} token(s)`}}function Z3(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Jb(_,$){let g=v(_);try{let U=g.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + updated_at = excluded.updated_at`,[j,"wiki/README.md","Wiki",I.uri,I.hash??null,"active",JSON.stringify({artifact_key:I.key,provenance:J3(I)}),U,U]),HZ(_,j,"Wiki",I,QG(),U)}}import{createHash as BG}from"crypto";import{cpSync as G3,chmodSync as z3,existsSync as V$,lstatSync as ZG,mkdirSync as ej,readdirSync as Y3,readFileSync as EU,renameSync as kZ,rmSync as sj,writeFileSync as KG}from"fs";import{dirname as S3,join as L6,relative as CZ}from"path";function W3(_,$=_){if(!V$(_))return[];let g=ZG(_);if(g.isFile())return[CZ($,_)||"."];if(!g.isDirectory())return[];return Y3(_).flatMap((U)=>W3(L6(_,U),$)).sort()}function VG(_,$){if($.length===0)return{sha256:null,bytes:0};let g=BG("sha256"),U=0;for(let D of $){let I=L6(_,D),j=EU(I),N=BG("sha256").update(j).digest("hex");U+=j.byteLength,g.update(D),g.update("\x00"),g.update(N),g.update("\x00")}return{sha256:g.digest("hex"),bytes:U}}function rZ(_){if(!V$(_))return null;let $=JSON.parse(EU(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function vZ(_){if(!V$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=SS(_);try{let g=$.query("PRAGMA integrity_check").get(),U=g?Object.values(g)[0]??null:null,D=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),I={};for(let j of D){let N=`"${j.name.replaceAll('"','""')}"`,O=$.query(`SELECT COUNT(*) AS n FROM ${N}`).get();I[j.name]=O?.n??0}return{exists:!0,integrity_check:U,table_counts:I}}finally{$.close()}}function d_(_,$={}){let g=W3(_.home),U=VG(_.home,g),D=W3(_.artifactsDir),I=VG(_.artifactsDir,D),j=V$(_.knowledgeDbPath);return{path:_.home,exists:V$(_.home),file_count:g.length,total_bytes:U.bytes,tree_sha256:U.sha256,json_items:rZ(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:j,integrity_check:null,table_counts:{}}:vZ(_.knowledgeDbPath),artifacts:{exists:V$(_.artifactsDir),file_count:D.length,total_bytes:I.bytes,tree_sha256:I.sha256},files:g}}function fZ(_,$){if(!$.exists)return!0;if($.files.filter((U)=>U!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(EU(_.configPath,"utf8")))===JSON.stringify(Fg())}catch{return!1}}function X3(_,$){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 aj(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function R3(_){if(Array.isArray(_))return`[${_.map(R3).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[g])=>$.localeCompare(g)).map(([$,g])=>`${JSON.stringify($)}:${R3(g)}`).join(",")}}`;return JSON.stringify(_)}function FG(_){return R3(_)}function P3(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function h4(_){if(!V$(_))return{items:[]};let $=JSON.parse(EU(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function MG(_,$){let g=new Map(_.items.map((L)=>[L.id,L])),U=new Map;for(let L of _.items){let z=U.get(L.id);if(z&&z.item.id!==L.id);U.set(L.id,{item:L,keyKind:"id",source:"current"});let W=P3(L);if(W&&!U.has(W))U.set(W,{item:L,keyKind:"short_id",source:"current"})}let D=[],I=0,j=0,N=0,O=[];for(let L of $.items){let z=g.get(L.id);if(z){if(FG(z)===FG(L))I+=1;else j+=1,D.push({type:"id_conflict",id:L.id,legacy_title:L.title,current_title:z.title});continue}let W=[{key:L.id,keyKind:"id"},...P3(L)?[{key:P3(L),keyKind:"short_id"}]:[]],J=!1;for(let{key:P,keyKind:S}of W){let X=U.get(P);if(!X)continue;if(S==="id"&&X.keyKind==="id")j+=1,D.push({type:"id_conflict",id:P,legacy_id:L.id,current_id:X.item.id,legacy_title:L.title,current_title:X.item.title});else N+=1,D.push({type:"short_id_conflict",id:P,legacy_id:L.id,current_id:X.item.id,legacy_title:L.title,current_title:X.item.title});J=!0}if(J)continue;O.push(L);for(let{key:P,keyKind:S}of W)U.set(P,{item:L,keyKind:S,source:"legacy"})}let A={items:[..._.items,...O]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:I,duplicate_ids_conflicting:j,short_id_conflicts:N,stranded_items:O.length,merged_items:D.length===0?O.length:0,expected_total_items:_.items.length+O.length,final_items:null},conflicts:D,mergedStore:A}}function wZ(_,$){let g=[...new Set(_)].sort(),U=(D)=>{if(D>=g.length)return $();return v$(g[D],()=>U(D+1),{createParent:!0})};return U(0)}function bG(_){let $=_.now??new Date,g=_.approveWrite!==!0,U=d_(_.legacy),D=d_(_.current),I={legacy_exists:U.exists,legacy_store_exists:V$(_.legacy.jsonStorePath),current_store_exists:V$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},j=[];if(!U.exists||!I.legacy_store_exists)return{ok:!0,dry_run:g,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:U,current_before:D,backup_after:null,current_after:D,merge:{current_items:h4(_.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:h4(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...I,no_conflicts:!0,final_count_matches_expected:!0},warnings:j,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let N=h4(_.current.jsonStorePath),O=h4(_.legacy.jsonStorePath),A=MG(N,O);if(I.no_conflicts=A.conflicts.length===0,A.conflicts.length>0)j.push("merge_conflicts_detected");if(!I.approval_present)j.push("write_approval_required");if(g||!I.approval_present||A.conflicts.length>0)return{ok:A.conflicts.length===0,dry_run:!0,approval_required:!I.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${aj($)}`,legacy_before:U,current_before:D,backup_after:null,current_after:null,merge:A.stats,conflicts:A.conflicts,checks:I,warnings:j,message:A.conflicts.length===0?`Dry run: would merge ${A.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${A.conflicts.length} conflict(s)`};return wZ([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let L=h4(_.current.jsonStorePath),z=h4(_.legacy.jsonStorePath),W=MG(L,z);if(I.no_conflicts=W.conflicts.length===0,W.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:d_(_.legacy),current_before:d_(_.current),backup_after:null,current_after:null,merge:W.stats,conflicts:W.conflicts,checks:I,warnings:[...j,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${W.conflicts.length} conflict(s)`};if(W.stats.stranded_items===0)return W.stats.final_items=L.items.length,I.final_count_matches_expected=L.items.length===W.stats.expected_total_items,{ok:I.no_conflicts&&I.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:d_(_.legacy),current_before:d_(_.current),backup_after:null,current_after:d_(_.current),merge:W.stats,conflicts:[],checks:I,warnings:j,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let J=`${_.legacy.home}.merge-backup-${aj($)}`;ej(S3(J),{recursive:!0}),G3(_.legacy.home,J,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let P=D$(J),S=d_(P);if(I.legacy_backup_written=X3(d_(_.legacy),S),!I.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${J}`);t$(_.current.jsonStorePath,W.mergedStore);let X=h4(_.current.jsonStorePath);W.stats.final_items=X.items.length,I.final_count_matches_expected=X.items.length===W.stats.expected_total_items;let G=d_(_.current),R=I.legacy_backup_written&&I.no_conflicts&&I.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:J,legacy_before:U,current_before:D,backup_after:S,current_after:G,merge:W.stats,conflicts:[],checks:I,warnings:j,message:R?`Merged ${W.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function uZ(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Q3(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function xZ(_){let $;for(let g=0;g<8;g+=1)try{sj(_,{recursive:!0,force:!1});return}catch(U){if($=U,!Q3(U))throw U;uZ(50*(g+1))}throw $}function HG(_){if(!V$(_))return;let $=ZG(_);if(z3(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let g of Y3(_))HG(L6(_,g))}function yZ(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function hZ(_){for(let $ of Y3(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{sj(L6(_,$),{recursive:!0,force:!1})}catch(g){if(!Q3(g)||!$.startsWith("knowledge.db"))throw g}}}function cZ(_,$){try{kZ(_,$);return}catch(g){G3(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{xZ(_)}catch(U){if(Q3(U)){hZ(_);return}throw sj($,{recursive:!0,force:!0}),U}if(g instanceof Error&&g.message.includes("EXDEV"))return}}function nZ(_,$,g){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((U)=>!yZ(U)))return!1;try{let U=JSON.parse(EU(L6(_.home,"migration.json"),"utf8"));return U.new_path===g&&typeof U.backup_path==="string"}catch{return!1}}function kG(_){let $=_.now??new Date,g=_.approveWrite!==!0,U=d_(_.current),D=fZ(_.current,U),I=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!U.exists||D),j=d_(_.legacy,{includeSqlite:!I}),N={legacy_exists:j.exists,current_absent_or_default_scaffold:!U.exists||D,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:g,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:null,legacy_before:j,current_before:U,backup_after:null,current_after:null,checks:N,warnings:O,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(N.legacy_is_tombstone=nZ(_.legacy,j,_.current.home),N.legacy_is_tombstone)return{ok:!0,dry_run:g,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:L6(_.legacy.home,"TOMBSTONE.md"),legacy_before:j,current_before:U,backup_after:null,current_after:U,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(g||!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-${aj($)}`,tombstone_path:L6(_.legacy.home,"TOMBSTONE.md"),legacy_before:j,current_before:U,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 A=`${_.legacy.home}.backup-${aj($)}`;ej(S3(_.current.home),{recursive:!0}),ej(S3(A),{recursive:!0}),G3(_.legacy.home,A,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),HG(A);let L=D$(A),z=d_(L,{includeSqlite:!1});if(N.backup_matches_legacy=X3(j,z),!N.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${A}`);if(U.exists&&D)sj(_.current.home,{recursive:!0,force:!0});cZ(_.legacy.home,_.current.home);let W=d_(_.current,{includeSqlite:!1});N.migrated_matches_backup=X3(z,W);let J=d_(L),P=d_(_.current),S={...J,path:_.legacy.home};ej(_.legacy.home,{recursive:!0});let X=L6(_.legacy.home,"TOMBSTONE.md");KG(X,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${A}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),z3(X,384);let G=L6(_.legacy.home,"migration.json");KG(G,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:A,legacy_before:S,backup_after:J,current_after:P},null,2)} +`,{mode:384}),z3(G,384),N.tombstone_written=V$(X);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:A,tombstone_path:X,legacy_before:S,current_before:U,backup_after:J,current_after:P,checks:N,warnings:O,message:R?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}function lZ(_){let $=lG(_);if(W_(CG($,"knowledge.db"))||W_(CG($,"config.json")))return D0($);return D0(D$(VN($)).home)}function T3(_){return`${iZ()}:${AU("sha256").update(_.home).digest("hex").slice(0,12)}`}function K3(_){return`'${_.replace(/'/g,"'\\''")}'`}function tZ(_){return["knowledge",..._].map(K3).join(" ")}function rG(_,$){return`cd ${K3(_)} && knowledge ${$.map(K3).join(" ")}`}function tG(_){return!_||_==="local"||_==="localhost"}function OU(_,$){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 q3(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function oZ(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((g)=>typeof g==="string"):[]}catch{return[]}}function LU(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function k_(_){return typeof _==="string"&&_.length>0?_:null}function pZ(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function _N(_){return typeof _==="boolean"?_:null}function eZ(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function oG(_,$,g){let U=LU(_),D=k_(U.observed_at)??k_($[`${g}_observed_at`]),I=k_(U.source_authority)??k_($[`${g}_source_authority`]);if(!D||!I)return null;return{observed_at:D,verified_at:k_(U.verified_at),expires_at:k_(U.expires_at)??k_($[`${g}_expires_at`]),ttl_ms:pZ(U.ttl_ms),source_authority:I,confidence:k_(U.confidence)??(g==="route"?k_($.route_confidence):null),cacheable:_N(U.cacheable)??_N($[`${g}_cacheable`])??!1,stale:_N(U.stale)??_N($[`${g}_stale`])??!1,reasons:eZ(U.reasons)}}function aZ(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||oZ(_.tailscale_ips_json).includes($)}function vG(_,$){return vE(_).find((g)=>aZ(g,$))??null}function pG(_){return LU(c4(_.metadata_json).resolver_evidence)}function JU(_){return LU(c4(_.capabilities_json).resolver)}function eG(_){let $=JU(_),g=k_($.route_kind);if(g==="local"||g==="lan"||g==="tailscale"||g==="ssh"||g==="unknown")return g;if(_.tailscale_dns&&_.ssh_target===_.tailscale_dns)return"tailscale";return _.ssh_target?"ssh":"unknown"}function sZ(_){let $=JU(_),g=k_($.route_target_kind);if(g==="local"||g==="lan"||g==="tailscale"||g==="ssh"||g==="unknown")return g;return eG(_)}function _b(_){return k_(JU(_).route_confidence)??"medium"}function fG(_,$,g){let U=pG(_),D=LU(U.route),I=JU(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:eG(_),targetKind:sZ(_),confidence:_b(_),source:"registry",adapter:g.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:oG(D.cacheability,I,"route")??g.cacheability,warnings:[...new Set([...g.warnings,"registry_route_fallback"])]}}function wG(_,$,g){if(!_.workspace_home)return null;let U=pG(_),D=LU(U.workspace),I=JU(_);return{ok:!0,source:"registry",adapter:g.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:k_(D.project_id)??g.project_id,repo_name:k_(D.repo_name)??g.repo_name,project_root:_.workspace_home,project_root_source:k_(I.project_root_source)??"registry",workspace_root:k_(D.workspace_root),workspace_root_source:k_(I.workspace_root_source)??"registry",open_files_root:k_(D.open_files_root),open_files_root_source:k_(I.open_files_root_source)??"registry",trust_status:k_(I.trust_status)??"unknown",auth_status:k_(I.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:oG(D.cacheability,I,"workspace")??g.cacheability,warnings:[...new Set([...g.warnings,"registry_workspace_fallback"])]}}function uG(_){if(!_)return null;let $=_.diagnostics.filter((U)=>U.severity!=="ok"),g=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!g)return null;return[$.length?`workspace diagnostics: ${$.map((U)=>`${U.id}=${U.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,g?`repair: ${g.shell_command}`:null].filter(Boolean).join("; ")}function $N(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:tZ(_.args)}}function gN(_,$){let g=v(_);try{return Number(g.query($).get()?.count??0)}finally{g.close()}}function $b(_,$){let g=gN(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),U=gN(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=gN(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),I=gN(_,["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=I===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:g,metadata_mentions:U},extracted_text_artifacts:D,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:I,message:j?`${g} open-files source ref(s); raw source bytes remain owned by open-files`:`${I} raw source payload metadata sentinel(s) found`}}var gb=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function V3(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((g)=>V3(g,$+1));for(let[g,U]of Object.entries(_)){if(gb.has(g.toLowerCase()))return!0;if(V3(U,$+1))return!0}return!1}function c4(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function xG(_,$=20,g=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),g)}function Db(_,$=220){let g=_??"";return g.length>$?`${g.slice(0,$)}...`:g}function S$(_,$=["metadata_json"]){return _.map((g)=>{let U={...g};for(let D of $){let I=U[D];if(typeof I==="string"){let j=D.endsWith("_json")?D.slice(0,-5):D;U[j]=c4(I),delete U[D]}}return U})}function DN(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function F3(_){if(typeof _!=="string")return{};return c4(_)}function Ub(_){let $={..._};return $.source_refs=DN($.source_refs_json),$.evidence_refs=DN($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=F3($.checks_json),$.metadata=F3($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function Ib(_){let $={..._};return $.source_refs=DN($.source_refs_json),$.evidence_refs=DN($.evidence_refs_json),$.metadata=F3($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function p_(_,$,g=[]){return _.query($).all(...g)}function jb(_){if(!W_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(mZ(_,"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 yG(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:Db(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function hG(){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 aG(_,$,g=!1){return{query:_,limit:$,offset:0,mode:{keyword:!0,catalog:!0,semantic:g},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 Nb(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Eb(_,$,g=!1){let U=aG(_,$,g);return{query:_,normalized_query:Nb(_),created_at:new Date().toISOString(),mode:U.mode,warnings:U.warnings,search_counts:U.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function B3(_,$,g){let U=g??$.jsonStorePath;if(W_(U))return U;if(_==="global"){let D=Vg();if(W_(D))return D}return U}function Ob(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function M3(_,$){let g=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-1)).trim()}...`}function cG(_,$,g){let U=u_(M3(_,g),$);return{text:U.text,redactions:U.findings.length}}function nG(_,$,g){let U=_.now??new Date,D=_.source??"search",I=_.purpose??(D==="loops"||D==="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)),A=0,L=$.citations.slice(0,Math.max(N*2,N)).map((R,K)=>{let Q=cG(R.quote,g,K<3?220:140);A+=Q.redactions;let T=R.source_ref??R.source_uri??R.artifact_path??R.artifact_uri??R.id;return{id:`cite_${AU("sha256").update(`${R.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:R.artifact_uri||R.artifact_path?"artifact":"source",ref:T,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:Q.text}}),z=new Map($.citations.map((R,K)=>[R.id,L[K]])),W=$.excerpts.slice(0,Math.max(N*2,N)).map((R)=>{let K=$.results.find((q)=>q.id===R.result_id),Q=R.citation_id?z.get(R.citation_id):void 0,T=cG(R.text,g,520);return A+=T.redactions,{id:`ev_${AU("sha256").update(`${R.kind}\x00${R.result_id}\x00${R.citation_id??""}`).digest("hex").slice(0,14)}`,kind:R.kind,title:M3(K?.title??Q?.ref??R.kind,100),text_preview:T.text,score:Number(R.score.toFixed(6)),citation_ids:Q?[Q.id]:[],provenance:{source:D,record_ref:`${R.kind}:${R.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((R,K)=>K.score-R.score||R.id.localeCompare(K.id)).slice(0,N),J=new Set(W.flatMap((R)=>R.citation_ids)),P=L.filter((R)=>J.has(R.id)),S=Array.from(new Set($.warnings)),X=`ctx_${AU("sha256").update([D,I,j,S.join(","),W.map((R)=>R.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,G={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:U.toISOString(),source:D,purpose:I,query:j,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:X,budgets:{max_tokens:O,estimated_tokens:0,max_items:N,items_included:W.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-W.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:A,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:P,evidence:W,duplicate_candidates:[],outline:{title:j?`Knowledge context: ${M3(j,80)}`:"Knowledge context",bullets:W.length>0?W.slice(0,5).map((R)=>`${R.id}: ${R.title}`):["No matching bounded evidence was found."],evidence_ids:W.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:S,message:`${W.length} bounded evidence item(s), estimated under ${O} token(s)`};return G.budgets.estimated_tokens=Ob(G),G.budgets.token_budget_exceeded=G.budgets.estimated_tokens>O,G.message=`${G.evidence.length} bounded evidence item(s), estimated ${G.budgets.estimated_tokens}/${O} token(s)`,G}function Ab(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Lb(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Jb(_){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 dG(_){let $=_.now??new Date,g=_.source??"search",U=_.purpose??(g==="loops"||g==="runs"?"proposal":"agent_context"),D=(_.query??_.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),I=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),j=Math.max(500,Math.min(_.maxTokens??6000,1e5)),N=`ctx_${AU("sha256").update(["empty",g,U,D,_.topic??"",_.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:g,purpose:U,query:D,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:N,budgets:{max_tokens:j,estimated_tokens:0,max_items:I,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/${j} token(s)`}}function Z3(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Pb(_,$){let g=v(_);try{let U=g.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),D=new Map,I=0,j=0,N=0,O=0,A=0,L=0,z=0,W=0,J=0,P=0,S=0,X=0,G=new Map,R=[],K=[],Q=[],T=[],q=$.artifact_store.uri_prefix,V=Z3($);for(let G_ of U){if(D.set(G_.kind,(D.get(G_.kind)??0)+1),G_.hash?.startsWith("sha256:"))I+=1;if(typeof G_.size_bytes==="number"&&G_.size_bytes>=0)j+=1,N+=G_.size_bytes;if(G_.artifact_uri.startsWith(q))O+=1;else if(R.length<5)R.push(G_.artifact_uri);let H_=c4(G_.metadata_json);if(V3(H_))z+=1;let g0=typeof H_.key==="string"?H_.key:null;if(!g0)A+=1;else if(V&&g0.startsWith(V)){if(L+=1,K.length<5)K.push(g0)}let Az=typeof H_.artifact_modified_at==="string"?H_.artifact_modified_at:null;if(Az)if(Number.isNaN(Date.parse(Az))){if(J+=1,Q.length<5)Q.push(G_.artifact_uri)}else W+=1;let Kg=H_.provenance&&typeof H_.provenance==="object"&&!Array.isArray(H_.provenance)?H_.provenance:null;if(Kg){P+=1;let TN=typeof Kg.artifact_key==="string"?Kg.artifact_key:null,Lz=typeof Kg.generated_from==="string"?Kg.generated_from:"unknown";if(G.set(Lz,(G.get(Lz)??0)+1),TN){if(S+=1,g0&&TN!==g0){if(X+=1,T.length<5)T.push(`${G_.artifact_uri}:provenance.artifact_key=${TN}:key=${g0}`)}}else if(T.length<5)T.push(`${G_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${G_.artifact_uri}:missing_provenance`)}let Z=U.length-I,a=U.length-j,D_=U.length-W-J,I_=U.length-P,J_=P-S,p=U.length-O,r_=[Z>0?`artifact_manifest_missing_hash:${Z}`:null,a>0?`artifact_manifest_missing_size:${a}`:null,A>0?`artifact_manifest_missing_key:${A}`:null,p>0?`artifact_manifest_uri_prefix_mismatch:${p}`:null,L>0?`artifact_manifest_s3_key_contains_storage_prefix:${L}`:null,J>0?`artifact_manifest_invalid_modified_at:${J}`:null,I_>0?`artifact_manifest_missing_provenance:${I_}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,X>0?`artifact_manifest_provenance_key_mismatch:${X}`:null,z>0?`artifact_manifest_raw_payload_sentinels:${z}`:null].filter((G_)=>Boolean(G_)),K_=r_.length===0;return{ok:K_,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:q,s3:$.artifact_store.s3,artifacts:{total:U.length,by_kind:[...D.entries()].map(([G_,H_])=>({kind:G_,count:H_})).sort((G_,H_)=>G_.kind.localeCompare(H_.kind)),with_hash:I,missing_hash:Z,with_size:j,missing_size:a,total_size_bytes:N},modified_time:{with_modified_at:W,missing_modified_at:D_,invalid_modified_at:J,examples:Q},provenance:{with_provenance:P,missing_provenance:I_,with_artifact_key:S,missing_artifact_key:J_,artifact_key_mismatches:X,generated_from:[...G.entries()].map(([G_,H_])=>({value:G_,count:H_})).sort((G_,H_)=>G_.value.localeCompare(H_.value)),examples:T},uri_prefix:{matching:O,mismatched:p,examples:R},keys:{with_key:U.length-A,missing_key:A,prefixed_with_storage_prefix:L,prefixed_examples:K},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:L===0&&A===0,tracks_modified_time:W>0&&J===0,preserves_provenance:I_===0&&J_===0&&X===0},raw_payload_sentinel_hits:z,warnings:r_,message:K_?`${U.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${r_.join(", ")}`}}finally{g.close()}}function Pb(_,$){let g=Z3($);if(!g)return[];let U=v(_);try{let D=U.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY artifact_uri ASC`).all(),D=new Map,I=0,j=0,N=0,O=0,A=0,L=0,z=0,W=0,J=0,P=0,S=0,X=0,G=new Map,R=[],K=[],Q=[],T=[],q=$.artifact_store.uri_prefix,V=Z3($);for(let G_ of U){if(D.set(G_.kind,(D.get(G_.kind)??0)+1),G_.hash?.startsWith("sha256:"))I+=1;if(typeof G_.size_bytes==="number"&&G_.size_bytes>=0)j+=1,N+=G_.size_bytes;if(G_.artifact_uri.startsWith(q))O+=1;else if(R.length<5)R.push(G_.artifact_uri);let H_=c4(G_.metadata_json);if(V3(H_))z+=1;let g0=typeof H_.key==="string"?H_.key:null;if(!g0)A+=1;else if(V&&g0.startsWith(V)){if(L+=1,K.length<5)K.push(g0)}let Az=typeof H_.artifact_modified_at==="string"?H_.artifact_modified_at:null;if(Az)if(Number.isNaN(Date.parse(Az))){if(J+=1,Q.length<5)Q.push(G_.artifact_uri)}else W+=1;let Kg=H_.provenance&&typeof H_.provenance==="object"&&!Array.isArray(H_.provenance)?H_.provenance:null;if(Kg){P+=1;let TN=typeof Kg.artifact_key==="string"?Kg.artifact_key:null,Lz=typeof Kg.generated_from==="string"?Kg.generated_from:"unknown";if(G.set(Lz,(G.get(Lz)??0)+1),TN){if(S+=1,g0&&TN!==g0){if(X+=1,T.length<5)T.push(`${G_.artifact_uri}:provenance.artifact_key=${TN}:key=${g0}`)}}else if(T.length<5)T.push(`${G_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${G_.artifact_uri}:missing_provenance`)}let Z=U.length-I,e=U.length-j,D_=U.length-W-J,I_=U.length-P,J_=P-S,a=U.length-O,r_=[Z>0?`artifact_manifest_missing_hash:${Z}`:null,e>0?`artifact_manifest_missing_size:${e}`:null,A>0?`artifact_manifest_missing_key:${A}`:null,a>0?`artifact_manifest_uri_prefix_mismatch:${a}`:null,L>0?`artifact_manifest_s3_key_contains_storage_prefix:${L}`:null,J>0?`artifact_manifest_invalid_modified_at:${J}`:null,I_>0?`artifact_manifest_missing_provenance:${I_}`:null,J_>0?`artifact_manifest_missing_provenance_artifact_key:${J_}`:null,X>0?`artifact_manifest_provenance_key_mismatch:${X}`:null,z>0?`artifact_manifest_raw_payload_sentinels:${z}`:null].filter((G_)=>Boolean(G_)),K_=r_.length===0;return{ok:K_,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:q,s3:$.artifact_store.s3,artifacts:{total:U.length,by_kind:[...D.entries()].map(([G_,H_])=>({kind:G_,count:H_})).sort((G_,H_)=>G_.kind.localeCompare(H_.kind)),with_hash:I,missing_hash:Z,with_size:j,missing_size:e,total_size_bytes:N},modified_time:{with_modified_at:W,missing_modified_at:D_,invalid_modified_at:J,examples:Q},provenance:{with_provenance:P,missing_provenance:I_,with_artifact_key:S,missing_artifact_key:J_,artifact_key_mismatches:X,generated_from:[...G.entries()].map(([G_,H_])=>({value:G_,count:H_})).sort((G_,H_)=>G_.value.localeCompare(H_.value)),examples:T},uri_prefix:{matching:O,mismatched:a,examples:R},keys:{with_key:U.length-A,missing_key:A,prefixed_with_storage_prefix:L,prefixed_examples:K},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:L===0&&A===0,tracks_modified_time:W>0&&J===0,preserves_provenance:I_===0&&J_===0&&X===0},raw_payload_sentinel_hits:z,warnings:r_,message:K_?`${U.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${r_.join(", ")}`}}finally{g.close()}}function zb(_,$){let g=Z3($);if(!g)return[];let U=v(_);try{let D=U.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),I=[];for(let j of D){let N=c4(j.metadata_json),O=typeof N.key==="string"?N.key:null;if(!O?.startsWith(g))continue;let A=O.slice(g.length);if(!A)continue;I.push({id:j.id,artifact_uri:j.artifact_uri,kind:j.kind,current_key:O,repaired_key:f$(A),hash:j.hash,size_bytes:j.size_bytes})}return I}finally{U.close()}}function zb(_){let $=["--scope",_.scope,"--json"],g=_.tables?.length?["--tables",_.tables.join(",")]:[],U=[$N({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!lG(_.machine))U.push($N({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",_.machine,..._.peerWorkspace?["--peer-workspace",_.peerWorkspace]:[],...g,...$]}));else if(_.peerWorkspace)U.push($N({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",_.peerWorkspace,...g,...$]}));for(let D of _.resolvedWorkspace?.repair_hints??[])U.push({id:D.id,reason:D.reason,command:D.command,shell_command:D.shell_command});if(_.openConflicts>0)U.push($N({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return U}function Sb(){let _=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",$=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!$)return{command:_,argsPrefix:[]};let g;try{g=JSON.parse($)}catch(U){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${U instanceof Error?U.message:String(U)}`)}if(!Array.isArray(g)||!g.every((U)=>typeof U==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:g}}function dG(_,$,g,U){let D=Sb(),I=nZ(D.command,[...D.argsPrefix,U.target,$],{encoding:"utf8",env:process.env,input:g,maxBuffer:67108864});if((I.status??1)!==0){let j=U.source==="open-machines"?` via ${U.route??"resolved"}:${U.target}`:"";throw Error(`ssh ${_}${j} failed: ${(I.stderr||I.stdout||String(I.status)).trim()}`)}return I.stdout||""}function mG(_,$,g){try{return JSON.parse(g)}catch(U){let D=g.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(U)}`)}}function Wb(_,$){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:g,min_protocol_version:U}=$;if(typeof g!=="number"||typeof U!=="number"||gV6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Xb(_,$){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:g,min_protocol_version:U}=$;if(typeof g!=="number"||typeof U!=="number"||gV6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Rb(_){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 aG{options;ensuredWorkspace;cachedConfig;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??ZU(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=D0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return hU({storePath:_.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem(_){return this.itemStore().get(_)}async createItem(_){return this.itemStore().create(_)}async updateItem(_,$){return this.itemStore().update(_,$)}async deleteItem(_){return this.itemStore().delete(_)}async deleteItems(_){return this.itemStore().deleteMany(_)}async resolveInventory(_={}){if(this.isApiMode())return this.cloudInventory(_);return this.inventory(_)}config(_={}){let $=_.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||_.ensure||W_($.configPath))this.cachedConfig=W_($.configPath)?MN($.configPath):Fg();return this.cachedConfig}safetyPolicy(){return fS(this.config(),this.workspace)}artifactStore(){return gE(this.config(),this.ensureWorkspace())}storageContract(){return dU(this.config(),this.workspace,this.scope)}validateStorage(){return IE(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,g=FN(this.options.scope,this.options.cwd),U=HG({scope:this.scope,current:$,legacy:g,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!U.dry_run&&U.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return U}mergeLegacyPath(_={}){let $=this.workspace,g=FN(this.options.scope,this.options.cwd),U=ZG({scope:this.scope,current:$,legacy:g,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!U.dry_run&&U.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return U}setup(_={}){let $=this.ensureWorkspace(),g=this.config({ensure:!0}),U=Rb(_.mode)??g.mode,D=_.apiUrl?a$(_.apiUrl):g.hosted?.api_url?a$(g.hosted.api_url):null,I={...g,mode:U,hosted:{...g.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?Wz():g.storage};Xz($.configPath,I),this.cachedConfig=I;let j=dU(I,$,this.scope);return{ok:!0,mode:U,api_url:I.hosted?.api_url??null,storage_type:I.storage.type,artifact_uri_prefix:j.artifact_store.uri_prefix,canonical_example:j.canonical_example,config_path:$.configPath,next:U==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${U}`}}authStatus(_=process.env){return BS(this.config(),_)}saveAuth(_,$=process.env){let g=_.apiUrl??this.config().hosted?.api_url;return TS({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:g},$)}clearAuth(_=process.env){return qS(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:W_(_.home),config_path:_.configPath,config_exists:W_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:W_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:W_(_.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 h(this.ensureWorkspace().knowledgeDbPath)}dbStats(){cU("reading knowledge.db stats");let _=this.workspace;if(!W_(_.knowledgeDbPath))return yG();return sN(_.knowledgeDbPath)}enqueuePromotion(_){return yR(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return cR(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return hR(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return nR(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return dR(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return mR(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return iR(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:g,limit:U,includeArchived:D,storePath:I,storeExists:j,storeReadError:N}=_,O=g.filter((W)=>W.archived!==!0),A=D?g:O,L=yG(),z={legacy_items:g.length,active_items:O.length,archived_items:g.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:U,paths:{json_store_path:$.jsonStorePath,json_store_exists:W_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:W_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:z,legacy_store:{path:I,exists:j,read_error:N,total_items:g.length,active_items:O.length,archived_items:g.length-O.length,items_returned:Math.min(A.length,U)},items:A.slice(0,U).map(xG),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:`${g.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=uG(_.limit),g=await this.fetchCloudItems(),U=fg();return this.itemOnlyInventory({items:g,limit:$,includeArchived:_.includeArchived??!1,storePath:U?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,g=uG(_.limit),U=_.storePath??$.jsonStorePath,D=Ib(U),I=D.items.filter((L)=>L.archived!==!0),j=_.includeArchived?D.items:I;if(!W_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:g,includeArchived:_.includeArchived??!1,storePath:U,storeExists:D.exists,storeReadError:D.read_error});h($.knowledgeDbPath);let O=sN($.knowledgeDbPath),A=v($.knowledgeDbPath);try{let L=S$(p_(A,` + ORDER BY artifact_uri ASC`).all(),I=[];for(let j of D){let N=c4(j.metadata_json),O=typeof N.key==="string"?N.key:null;if(!O?.startsWith(g))continue;let A=O.slice(g.length);if(!A)continue;I.push({id:j.id,artifact_uri:j.artifact_uri,kind:j.kind,current_key:O,repaired_key:f$(A),hash:j.hash,size_bytes:j.size_bytes})}return I}finally{U.close()}}function Sb(_){let $=["--scope",_.scope,"--json"],g=_.tables?.length?["--tables",_.tables.join(",")]:[],U=[$N({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!tG(_.machine))U.push($N({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",_.machine,..._.peerWorkspace?["--peer-workspace",_.peerWorkspace]:[],...g,...$]}));else if(_.peerWorkspace)U.push($N({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",_.peerWorkspace,...g,...$]}));for(let D of _.resolvedWorkspace?.repair_hints??[])U.push({id:D.id,reason:D.reason,command:D.command,shell_command:D.shell_command});if(_.openConflicts>0)U.push($N({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return U}function Wb(){let _=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",$=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!$)return{command:_,argsPrefix:[]};let g;try{g=JSON.parse($)}catch(U){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${U instanceof Error?U.message:String(U)}`)}if(!Array.isArray(g)||!g.every((U)=>typeof U==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:g}}function mG(_,$,g,U){let D=Wb(),I=dZ(D.command,[...D.argsPrefix,U.target,$],{encoding:"utf8",env:process.env,input:g,maxBuffer:67108864});if((I.status??1)!==0){let j=U.source==="open-machines"?` via ${U.route??"resolved"}:${U.target}`:"";throw Error(`ssh ${_}${j} failed: ${(I.stderr||I.stdout||String(I.status)).trim()}`)}return I.stdout||""}function iG(_,$,g){try{return JSON.parse(g)}catch(U){let D=g.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(U)}`)}}function Xb(_,$){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:g,min_protocol_version:U}=$;if(typeof g!=="number"||typeof U!=="number"||gV6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Rb(_,$){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:g,min_protocol_version:U}=$;if(typeof g!=="number"||typeof U!=="number"||gV6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function Gb(_){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 sG{options;ensuredWorkspace;cachedConfig;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??ZU(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=D0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return hU({storePath:_.jsonStorePath,storePathOverridden:!1})}async listItems(){return this.itemStore().listAll()}async getItem(_){return this.itemStore().get(_)}async createItem(_){return this.itemStore().create(_)}async updateItem(_,$){return this.itemStore().update(_,$)}async deleteItem(_){return this.itemStore().delete(_)}async deleteItems(_){return this.itemStore().deleteMany(_)}async resolveInventory(_={}){if(this.isApiMode())return this.cloudInventory(_);return this.inventory(_)}config(_={}){let $=_.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||_.ensure||W_($.configPath))this.cachedConfig=W_($.configPath)?MN($.configPath):Fg();return this.cachedConfig}safetyPolicy(){return wS(this.config(),this.workspace)}artifactStore(){return gE(this.config(),this.ensureWorkspace())}storageContract(){return dU(this.config(),this.workspace,this.scope)}validateStorage(){return IE(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,g=FN(this.options.scope,this.options.cwd),U=kG({scope:this.scope,current:$,legacy:g,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!U.dry_run&&U.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return U}mergeLegacyPath(_={}){let $=this.workspace,g=FN(this.options.scope,this.options.cwd),U=bG({scope:this.scope,current:$,legacy:g,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!U.dry_run&&U.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return U}setup(_={}){let $=this.ensureWorkspace(),g=this.config({ensure:!0}),U=Gb(_.mode)??g.mode,D=_.apiUrl?a$(_.apiUrl):g.hosted?.api_url?a$(g.hosted.api_url):null,I={...g,mode:U,hosted:{...g.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?Wz():g.storage};Xz($.configPath,I),this.cachedConfig=I;let j=dU(I,$,this.scope);return{ok:!0,mode:U,api_url:I.hosted?.api_url??null,storage_type:I.storage.type,artifact_uri_prefix:j.artifact_store.uri_prefix,canonical_example:j.canonical_example,config_path:$.configPath,next:U==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${U}`}}authStatus(_=process.env){return KS(this.config(),_)}saveAuth(_,$=process.env){let g=_.apiUrl??this.config().hosted?.api_url;return qS({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:g},$)}clearAuth(_=process.env){return BS(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:W_(_.home),config_path:_.configPath,config_exists:W_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:W_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:W_(_.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 h(this.ensureWorkspace().knowledgeDbPath)}dbStats(){cU("reading knowledge.db stats");let _=this.workspace;if(!W_(_.knowledgeDbPath))return hG();return sN(_.knowledgeDbPath)}enqueuePromotion(_){return hR(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return nR(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return cR(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return dR(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return mR(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return iR(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return lR(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:g,limit:U,includeArchived:D,storePath:I,storeExists:j,storeReadError:N}=_,O=g.filter((W)=>W.archived!==!0),A=D?g:O,L=hG(),z={legacy_items:g.length,active_items:O.length,archived_items:g.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:U,paths:{json_store_path:$.jsonStorePath,json_store_exists:W_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:W_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:z,legacy_store:{path:I,exists:j,read_error:N,total_items:g.length,active_items:O.length,archived_items:g.length-O.length,items_returned:Math.min(A.length,U)},items:A.slice(0,U).map(yG),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:`${g.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=xG(_.limit),g=await this.fetchCloudItems(),U=fg();return this.itemOnlyInventory({items:g,limit:$,includeArchived:_.includeArchived??!1,storePath:U?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,g=xG(_.limit),U=_.storePath??$.jsonStorePath,D=jb(U),I=D.items.filter((L)=>L.archived!==!0),j=_.includeArchived?D.items:I;if(!W_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:g,includeArchived:_.includeArchived??!1,storePath:U,storeExists:D.exists,storeReadError:D.read_error});h($.knowledgeDbPath);let O=sN($.knowledgeDbPath),A=v($.knowledgeDbPath);try{let L=S$(p_(A,` SELECT s.id, s.uri, @@ -1324,7 +1324,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 ? - `,[g]).map(Db),Z=p_(A,` + `,[g]).map(Ub),Z=p_(A,` SELECT id, record_kind, @@ -1346,17 +1346,17 @@ 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 ? - `,[g]).map(Ub),a={legacy_items:D.items.length,active_items:I.length,archived_items:D.items.length-I.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:g,paths:{json_store_path:U,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:a,legacy_store:{path:U,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:I.length,archived_items:D.items.length-I.length,items_returned:Math.min(j.length,g)},items:j.slice(0,g).map(xG),sources:L,source_revisions:z,chunks:W,wiki_pages:J,indexes:P,storage_objects:S,runs:X,vector_indexes:G,reindex_queue:R,machines:K,sync_conflicts:Q,approval_gates:T,audit_events:q,promotion_candidates:V,durable_records:Z,message:`${D.items.length} item(s), ${O.sources} source(s), ${O.chunks} chunk(s), ${O.wiki_pages} wiki page(s), ${O.storage_objects} artifact(s)`}}finally{A.close()}}assertAppWikiWrite(_){wg({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return _W({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return $W({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(!W_($.knowledgeDbPath))return[];return gW({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let g=this.workspace;if(!W_(g.knowledgeDbPath))return null;return DW({dbPath:g.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return UW({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();h(_.knowledgeDbPath);let $=await QG(this.artifactStore()),g=v(_.knowledgeDbPath);try{s$(g,$.artifacts),TG(g,$.artifacts)}finally{g.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return XG({..._,dbPath:$.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer(_){let $=this.ensureWorkspace(),g=await this.retrieveContext({query:_.prompt,limit:_.limit,semantic:_.semantic,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake});return RG({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:g,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return GG({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return oS({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let g=this.ensureWorkspace();return pU({dbPath:g.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,g=$?this.workspace:this.ensureWorkspace();return jG({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:g.jsonStorePath,dbPath:g.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let g=this.ensureWorkspace();return lU({dbPath:g.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return RR({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!W_($.knowledgeDbPath))return Ob();return oR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return U3({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return pR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return OW(this.config(),_)}modelRegistry(){return WE(this.config())}embeddingStatus(){let _=this.workspace;if(!W_(_.knowledgeDbPath))return Ab();return SW(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return sU({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return Y6()}async fetchCloudItems(){let _=fg();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return yU(_)}async semanticSearch(_){let $=this.workspace;if(this.isApiMode()){let g=await this.fetchCloudItems(),U=await j4(g,{..._},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:U.results}}if(!W_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return _I({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems();return j4(U,_)}let g=B3(this.scope,$,_.legacyStorePath);if(!W_($.knowledgeDbPath)){if(W_(g))return UI({..._,legacyStorePath:g,config:this.config()});return eG(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return DI({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems();return jI(U,_)}let g=B3(this.scope,$,_.legacyStorePath);if(!W_($.knowledgeDbPath)){if(W_(g)){let U=await UI({..._,legacyStorePath:g,config:this.config()});return R0(U,{contextChars:_.contextChars})}return Nb(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return G0({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let U=(_.query??_.topic??"").trim();if(U&&_.source!=="loops"&&_.source!=="runs"){let D=await this.fetchCloudItems(),I=await j4(D,{..._,query:U}),j=R0(I,{contextChars:_.contextChars});return cG(_,j,this.safetyPolicy())}return nG(_)}let g=B3(this.scope,$,_.legacyStorePath);if(!W_($.knowledgeDbPath)){let U=(_.query??_.topic??"").trim();if(U&&_.source!=="loops"&&_.source!=="runs"&&W_(g)){let D=await UI({..._,query:U,legacyStorePath:g,config:this.config()}),I=R0(D,{contextChars:_.contextChars});return cG(_,I,this.safetyPolicy())}return nG(_)}return mW({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){let U=await this.fetchCloudItems();return fW(U,{..._,config:this.config()})}let $=this.ensureWorkspace(),g=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)Hg(g);return vW({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return AG({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return CR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return fR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!W_(_.knowledgeDbPath))return Lb({scope:this.scope,workspaceHome:_.home});return zX({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();h($.knowledgeDbPath);let g=this.syncStatus(),U=this.storageContract(),D=this.validateStorage(),I=Jb($.knowledgeDbPath,U),j=_.machine?.trim()||null,N=_.peerWorkspace?.trim()||null,O=[],A=null,L=null;if(j&&!lG(j)){let S=await sP({machineId:j,includeTailscale:_.includeTailscale});A=q3(S),O.push(...S.warnings)}if(j||N){let S=await ij({machineId:j??T3($),peerWorkspace:N,includeTailscale:_.includeTailscale});if(j&&!N&&(A?.source==="raw"||!S.ok||!S.project_root)){let X=rG($.knowledgeDbPath,j);if(X){if(A?.source==="raw"&&X.ssh_target)A=q3(vG(X,j,{target:A.target,route:A.route,targetKind:A.target_kind,confidence:A.confidence,source:A.source,adapter:A.adapter,evidence:A.evidence,cacheability:A.cacheability,warnings:[]}));if(!S.ok||!S.project_root){let G=fG(X,j,S);if(G)L=OU(G,G.project_root),O.push(...G.warnings)}}}L=S.ok&&S.project_root?OU(S,S.project_root):L??{...OU(S,N??""),project_root:S.project_root??N??""},O.push(...S.warnings)}if(!D.ok)O.push(...D.errors.map((S)=>`storage:${S}`));let z=_b($.knowledgeDbPath,L);if(!z.ok)O.push("open_files_boundary_raw_payload_sentinels");if(!I.ok)O.push(...I.warnings);let W=L?.diagnostics.filter((S)=>S.severity==="fail")??[],J=D.ok&&I.ok&&z.ok&&W.length===0&&(L?.project_root!==""||!L),P=zb({scope:this.scope,machine:j,peerWorkspace:N,tables:_.tables,resolvedWorkspace:L,openConflicts:g.conflicts.open});return{ok:J,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:$.home,database:{sqlite_schema_version:g.sqlite_schema_version,table_counts:g.table_counts},storage:{contract:U,validation:D,artifact_manifest:I},sync:{machines:g.machines.total,snapshots:g.snapshots.total,clocks:g.clocks.total,imports:g.imports.total,open_conflicts:g.conflicts.open,table_clocks:g.clocks.rows},open_files:z,resolved_route:A,resolved_workspace:L,recommended_commands:P,warnings:[...new Set(O)],message:J?`Sync readiness ok: ${g.clocks.total} table clock(s), ${g.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(O)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();h($.knowledgeDbPath);let g=this.storageContract(),U=Z3(g),D=Pb($.knowledgeDbPath,g),I=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:I,approval_required:!1,storage_type:g.storage_type,storage_prefix:U,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:g.storage_type,storage_prefix:U,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:g.storage_type,storage_prefix:U,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let j=v($.knowledgeDbPath);try{let N=new Date().toISOString();j.transaction((L)=>{let z=j.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),W=j.query("SELECT id, metadata_json FROM storage_objects").all(),J=new Map(W.map((P)=>[P.id,c4(P.metadata_json)]));for(let P of L){let S=J.get(P.id)??{};S.key=P.repaired_key,z.run(JSON.stringify(S),N,P.id)}})(D);let A=X_(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:D.length,storage_type:g.storage_type,storage_prefix:U,artifact_uris:D.map((L)=>L.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:g.storage_type,storage_prefix:U,candidates:D,repaired:D.length,audit_event_id:A,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{j.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),g=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return PX({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:g,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!W_($.knowledgeDbPath))return[];return SX($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),g=WI($.knowledgeDbPath,_);if(!g)throw Error(`Sync conflict not found: ${_}`);return g}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return lg($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return WR({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),g=lg($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:g.conflict,proposal:g,message:"Sync conflict resolution requires --approve-write and --approved-by "};let U=RX($.knowledgeDbPath,{id:_.id,strategy:_.strategy??g.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let I=X_(D,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:U.entity_kind,entity_id:U.entity_id,strategy:U.resolution_strategy,approved_by:U.approved_by,proposed_patch_uri:U.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:U,audit_event_id:I,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!W_(_.knowledgeDbPath))return[];return vE(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),h($.knowledgeDbPath),ig({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"),h($.knowledgeDbPath),SI({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",g=_.dryRun===!0,U=this.ensureWorkspace();h(U.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],I=_.includeArtifactContent===!1?["--no-artifact-content"]:[],j=["--scope",this.scope,"--json"],N=await sP({machineId:_.machine,includeTailscale:_.includeTailscale}),O=await ij({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&N.source==="raw"||!O.ok||!O.project_root){let J=rG(U.knowledgeDbPath,_.machine);if(J){if(!_.peerWorkspace&&N.source==="raw"&&J.ssh_target)N=vG(J,_.machine,N);if(!O.ok||!O.project_root){let P=fG(J,_.machine,O);if(P)O=P}}}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 A=O.project_root,L={ok:!0,dry_run:g,direction:$,transport:"ssh",machine:_.machine,resolved_machine:N.target,resolved_route:q3(N),resolved_workspace:OU(O,O.project_root),peer_workspace:A,message:""},z=!1,W=()=>{if(g||z)return;AX(U.knowledgeDbPath,{machineId:_.machine,route:N,workspace:O}),z=!0};if($==="pull"||$==="both"){let J=CG(A,["sync","export",...j,...D,...I]),P=dG(_.machine,J,void 0,N),S=mG(_.machine,"sync export",P);Wb(_.machine,S),L.pull=await this.importSyncBundle({bundle:S,dryRun:g,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){W();let J=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!g}),P=CG(A,["sync","import",...j,...g?["--dry-run"]:[]]),S=mG(_.machine,"sync import",dG(_.machine,P,JSON.stringify(J),N));Xb(_.machine,S),L.push=S}return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),W(),L.message=[wG(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",g=this.ensureWorkspace();h(g.knowledgeDbPath);let U=iG(_.peerWorkspace),D=iZ(U);h(D.knowledgeDbPath);let I=MN(D.configPath),j=dU(I,D,this.scope),N=gE(I,D),O=_.machineId??T3(g),A=T3(D),L=await ij({machineId:_.machineId??A,peerWorkspace:U,includeTailscale:!1}),z=()=>ig({dbPath:g.knowledgeDbPath,scope:this.scope,workspaceHome:g.home,storage:this.storageContract(),machineId:O,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),W=()=>ig({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:j,machineId:A,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),J={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:OU(L,L.project_root??U),message:""};if($==="pull"||$==="both")J.pull=await SI({targetDbPath:g.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:g.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:W(),targetBundle:z(),direction:"pull",dryRun:_.dryRun,localMachineId:O});if($==="push"||$==="both")J.push=await SI({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:j,targetStore:N,bundle:z(),targetBundle:W(),direction:"push",dryRun:_.dryRun,localMachineId:A});return J.ok=(J.pull?.ok??!0)&&(J.push?.ok??!0),J.message=[wG(J.resolved_workspace),J.pull?`pull: ${J.pull.message}`:null,J.push?`push: ${J.push.message}`:null].filter(Boolean).join("; "),J}}function UN(_={}){return new aG(_)}import{createHash as sG}from"crypto";var Gb=Object.defineProperty,Yb=(_)=>_;function Qb(_,$){this[_]=Yb.bind(null,$)}var Tb=(_,$)=>{for(var g in $)Gb(_,g,{get:$[g],enumerable:!0,configurable:!0,set:Qb.bind($,g)})},E={};Tb(E,{void:()=>jH,util:()=>U_,unknown:()=>UH,union:()=>AH,undefined:()=>$H,tuple:()=>PH,transformer:()=>g9,symbol:()=>_H,string:()=>W9,strictObject:()=>OH,setErrorMap:()=>Kb,set:()=>WH,record:()=>zH,quotelessJson:()=>qb,promise:()=>TH,preprocess:()=>KH,pipeline:()=>VH,ostring:()=>FH,optional:()=>qH,onumber:()=>MH,oboolean:()=>ZH,objectUtil:()=>k3,object:()=>EH,number:()=>X9,nullable:()=>BH,null:()=>gH,never:()=>IH,nativeEnum:()=>QH,nan:()=>eb,map:()=>SH,makeIssue:()=>NN,literal:()=>GH,lazy:()=>RH,late:()=>ob,isValid:()=>n4,isDirty:()=>r3,isAsync:()=>PU,isAborted:()=>C3,intersection:()=>JH,instanceof:()=>pb,getParsedType:()=>P6,getErrorMap:()=>jN,function:()=>XH,enum:()=>YH,effect:()=>g9,discriminatedUnion:()=>LH,defaultErrorMap:()=>Eg,datetimeRegex:()=>P9,date:()=>sb,custom:()=>S9,coerce:()=>bH,boolean:()=>R9,bigint:()=>ab,array:()=>NH,any:()=>DH,addIssueToContext:()=>u,ZodVoid:()=>SU,ZodUnknown:()=>m6,ZodUnion:()=>Jg,ZodUndefined:()=>Ag,ZodType:()=>__,ZodTuple:()=>d$,ZodTransformer:()=>R$,ZodSymbol:()=>zU,ZodString:()=>F$,ZodSet:()=>i4,ZodSchema:()=>__,ZodRecord:()=>WU,ZodReadonly:()=>Gg,ZodPromise:()=>l4,ZodPipeline:()=>GU,ZodParsedType:()=>y,ZodOptional:()=>Z$,ZodObject:()=>b_,ZodNumber:()=>i6,ZodNullable:()=>z6,ZodNull:()=>Lg,ZodNever:()=>n$,ZodNativeEnum:()=>Wg,ZodNaN:()=>RU,ZodMap:()=>XU,ZodLiteral:()=>Sg,ZodLazy:()=>zg,ZodIssueCode:()=>k,ZodIntersection:()=>Pg,ZodFunction:()=>jg,ZodFirstPartyTypeKind:()=>i,ZodError:()=>O$,ZodEnum:()=>t6,ZodEffects:()=>R$,ZodDiscriminatedUnion:()=>AN,ZodDefault:()=>Xg,ZodDate:()=>d4,ZodCatch:()=>Rg,ZodBranded:()=>LN,ZodBoolean:()=>Og,ZodBigInt:()=>l6,ZodArray:()=>M$,ZodAny:()=>m4,Schema:()=>__,ParseStatus:()=>m_,OK:()=>a_,NEVER:()=>HH,INVALID:()=>m,EMPTY_PATH:()=>Vb,DIRTY:()=>Ig,BRAND:()=>tb});var U_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function g(D){throw Error()}_.assertNever=g,_.arrayToEnum=(D)=>{let I={};for(let j of D)I[j]=j;return I},_.getValidEnumValues=(D)=>{let I=_.objectKeys(D).filter((N)=>typeof D[D[N]]!=="number"),j={};for(let N of I)j[N]=D[N];return _.objectValues(j)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(I){return D[I]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let I=[];for(let j in D)if(Object.prototype.hasOwnProperty.call(D,j))I.push(j);return I},_.find=(D,I)=>{for(let j of D)if(I(j))return j;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function U(D,I=" | "){return D.map((j)=>typeof j==="string"?`'${j}'`:j).join(I)}_.joinValues=U,_.jsonStringifyReplacer=(D,I)=>{if(typeof I==="bigint")return I.toString();return I}})(U_||(U_={}));var k3;(function(_){_.mergeShapes=($,g)=>{return{...$,...g}}})(k3||(k3={}));var y=U_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),P6=(_)=>{switch(typeof _){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(_)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":if(Array.isArray(_))return y.array;if(_===null)return y.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return y.promise;if(typeof Map<"u"&&_ instanceof Map)return y.map;if(typeof Set<"u"&&_ instanceof Set)return y.set;if(typeof Date<"u"&&_ instanceof Date)return y.date;return y.object;default:return y.unknown}},k=U_.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"]),qb=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class O$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(g)=>{this.issues=[...this.issues,g]},this.addIssues=(g=[])=>{this.issues=[...this.issues,...g]};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},g={_errors:[]},U=(D)=>{for(let I of D.issues)if(I.code==="invalid_union")I.unionErrors.map(U);else if(I.code==="invalid_return_type")U(I.returnTypeError);else if(I.code==="invalid_arguments")U(I.argumentsError);else if(I.path.length===0)g._errors.push($(I));else{let j=g,N=0;while(N$.message){let $={},g=[];for(let U of this.issues)if(U.path.length>0){let D=U.path[0];$[D]=$[D]||[],$[D].push(_(U))}else g.push(_(U));return{formErrors:g,fieldErrors:$}}get formErrors(){return this.flatten()}}O$.create=(_)=>{return new O$(_)};var Bb=(_,$)=>{let g;switch(_.code){case k.invalid_type:if(_.received===y.undefined)g="Required";else g=`Expected ${_.expected}, received ${_.received}`;break;case k.invalid_literal:g=`Invalid literal value, expected ${JSON.stringify(_.expected,U_.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:g=`Unrecognized key(s) in object: ${U_.joinValues(_.keys,", ")}`;break;case k.invalid_union:g="Invalid input";break;case k.invalid_union_discriminator:g=`Invalid discriminator value. Expected ${U_.joinValues(_.options)}`;break;case k.invalid_enum_value:g=`Invalid enum value. Expected ${U_.joinValues(_.options)}, received '${_.received}'`;break;case k.invalid_arguments:g="Invalid function arguments";break;case k.invalid_return_type:g="Invalid function return type";break;case k.invalid_date:g="Invalid date";break;case k.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(g=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")g=`${g} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)g=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)g=`Invalid input: must end with "${_.validation.endsWith}"`;else U_.assertNever(_.validation);else if(_.validation!=="regex")g=`Invalid ${_.validation}`;else g="Invalid";break;case k.too_small:if(_.type==="array")g=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")g=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")g=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")g=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")g=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else g="Invalid input";break;case k.too_big:if(_.type==="array")g=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")g=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")g=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")g=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")g=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else g="Invalid input";break;case k.custom:g="Invalid input";break;case k.invalid_intersection_types:g="Intersection results could not be merged";break;case k.not_multiple_of:g=`Number must be a multiple of ${_.multipleOf}`;break;case k.not_finite:g="Number must be finite";break;default:g=$.defaultError,U_.assertNever(_)}return{message:g}},Eg=Bb,A9=Eg;function Kb(_){A9=_}function jN(){return A9}var NN=(_)=>{let{data:$,path:g,errorMaps:U,issueData:D}=_,I=[...g,...D.path||[]],j={...D,path:I};if(D.message!==void 0)return{...D,path:I,message:D.message};let N="",O=U.filter((A)=>!!A).slice().reverse();for(let A of O)N=A(j,{data:$,defaultError:N}).message;return{...D,path:I,message:N}},Vb=[];function u(_,$){let g=jN(),U=NN({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,g,g===Eg?void 0:Eg].filter((D)=>!!D)});_.common.issues.push(U)}class m_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let g=[];for(let U of $){if(U.status==="aborted")return m;if(U.status==="dirty")_.dirty();g.push(U.value)}return{status:_.value,value:g}}static async mergeObjectAsync(_,$){let g=[];for(let U of $){let D=await U.key,I=await U.value;g.push({key:D,value:I})}return m_.mergeObjectSync(_,g)}static mergeObjectSync(_,$){let g={};for(let U of $){let{key:D,value:I}=U;if(D.status==="aborted")return m;if(I.status==="aborted")return m;if(D.status==="dirty")_.dirty();if(I.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof I.value<"u"||U.alwaysSet))g[D.value]=I.value}return{status:_.value,value:g}}}var m=Object.freeze({status:"aborted"}),Ig=(_)=>({status:"dirty",value:_}),a_=(_)=>({status:"valid",value:_}),C3=(_)=>_.status==="aborted",r3=(_)=>_.status==="dirty",n4=(_)=>_.status==="valid",PU=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class b${constructor(_,$,g,U){this._cachedPath=[],this.parent=_,this.data=$,this._path=g,this._key=U}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 _9=(_,$)=>{if(n4($))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 g=new O$(_.common.issues);return this._error=g,this._error}}}};function e(_){if(!_)return{};let{errorMap:$,invalid_type_error:g,required_error:U,description:D}=_;if($&&(g||U))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};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??U??N.defaultError};if(j.code!=="invalid_type")return{message:N.defaultError};return{message:O??g??N.defaultError}},description:D}}class __{get description(){return this._def.description}_getType(_){return P6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:P6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new m_,ctx:{common:_.parent.common,data:_.data,parsedType:P6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(PU($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let g=this.safeParse(_,$);if(g.success)return g.data;throw g.error}safeParse(_,$){let g={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:P6(_)},U=this._parseSync({data:_,path:g.path,parent:g});return _9(g,U)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:P6(_)};if(!this["~standard"].async)try{let g=this._parseSync({data:_,path:[],parent:$});return n4(g)?{value:g.value}:{issues:$.common.issues}}catch(g){if(g?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((g)=>n4(g)?{value:g.value}:{issues:$.common.issues})}async parseAsync(_,$){let g=await this.safeParseAsync(_,$);if(g.success)return g.data;throw g.error}async safeParseAsync(_,$){let g={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:P6(_)},U=this._parse({data:_,path:g.path,parent:g}),D=await(PU(U)?U:Promise.resolve(U));return _9(g,D)}refine(_,$){let g=(U)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(U);else return $};return this._refinement((U,D)=>{let I=_(U),j=()=>D.addIssue({code:k.custom,...g(U)});if(typeof Promise<"u"&&I instanceof Promise)return I.then((N)=>{if(!N)return j(),!1;else return!0});if(!I)return j(),!1;else return!0})}refinement(_,$){return this._refinement((g,U)=>{if(!_(g))return U.addIssue(typeof $==="function"?$(g,U):$),!1;else return!0})}_refinement(_){return new R$({schema:this,typeName:i.ZodEffects,effect:{type:"refinement",refinement:_}})}superRefine(_){return this._refinement(_)}constructor(_){this.spa=this.safeParseAsync,this._def=_,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return Z$.create(this,this._def)}nullable(){return z6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return M$.create(this)}promise(){return l4.create(this,this._def)}or(_){return Jg.create([this,_],this._def)}and(_){return Pg.create(this,_,this._def)}transform(_){return new R$({...e(this._def),schema:this,typeName:i.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new Xg({...e(this._def),innerType:this,defaultValue:$,typeName:i.ZodDefault})}brand(){return new LN({typeName:i.ZodBranded,type:this,...e(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new Rg({...e(this._def),innerType:this,catchValue:$,typeName:i.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return GU.create(this,_)}readonly(){return Gg.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Fb=/^c[^\s-]{8,}$/i,Mb=/^[0-9a-z]+$/,Zb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,bb=/^[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,Hb=/^[a-z0-9_-]{21}$/i,kb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Cb=/^[-+]?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)?)??$/,rb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",b3,fb=/^(?:(?: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])$/,wb=/^(?:(?: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])$/,ub=/^(([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]))$/,xb=/^(([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])$/,yb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,hb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,L9="((\\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])))",cb=new RegExp(`^${L9}$`);function J9(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let g=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${g}`}function nb(_){return new RegExp(`^${J9(_)}$`)}function P9(_){let $=`${L9}T${J9(_)}`,g=[];if(g.push(_.local?"Z?":"Z"),_.offset)g.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${g.join("|")})`,new RegExp(`^${$}$`)}function db(_,$){if(($==="v4"||!$)&&fb.test(_))return!0;if(($==="v6"||!$)&&ub.test(_))return!0;return!1}function mb(_,$){if(!kb.test(_))return!1;try{let[g]=_.split(".");if(!g)return!1;let U=g.replace(/-/g,"+").replace(/_/g,"/").padEnd(g.length+(4-g.length%4)%4,"="),D=JSON.parse(atob(U));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 ib(_,$){if(($==="v4"||!$)&&wb.test(_))return!0;if(($==="v6"||!$)&&xb.test(_))return!0;return!1}class F$ extends __{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==y.string){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_type,expected:y.string,received:D.parsedType}),m}let g=new m_,U=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)U=this._getOrReturnCtx(_,U),u(U,{code:k.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),g.dirty()}else if(D.kind==="length"){let I=_.data.length>D.value,j=_.data.length_.test(U),{validation:$,code:k.invalid_string,...n.errToObj(g)})}_addCheck(_){return new F$({...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 F$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new F$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new F$({...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 _}}F$.create=(_)=>{return new F$({checks:[],typeName:i.ZodString,coerce:_?.coerce??!1,...e(_)})};function lb(_,$){let g=(_.toString().split(".")[1]||"").length,U=($.toString().split(".")[1]||"").length,D=g>U?g:U,I=Number.parseInt(_.toFixed(D).replace(".","")),j=Number.parseInt($.toFixed(D).replace(".",""));return I%j/10**D}class i6 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(_)!==y.number){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_type,expected:y.number,received:D.parsedType}),m}let g=void 0,U=new m_;for(let D of this._def.checks)if(D.kind==="int"){if(!U_.isInteger(_.data))g=this._getOrReturnCtx(_,g),u(g,{code:k.invalid_type,expected:"integer",received:"float",message:D.message}),U.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)g=this._getOrReturnCtx(_,g),u(g,{code:k.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="multipleOf"){if(lb(_.data,D.value)!==0)g=this._getOrReturnCtx(_,g),u(g,{code:k.not_multiple_of,multipleOf:D.value,message:D.message}),U.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))g=this._getOrReturnCtx(_,g),u(g,{code:k.not_finite,message:D.message}),U.dirty()}else U_.assertNever(D);return{status:U.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(_,$,g,U){return new i6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:g,message:n.toString(U)}]})}_addCheck(_){return new i6({...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"&&U_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let g of this._def.checks)if(g.kind==="finite"||g.kind==="int"||g.kind==="multipleOf")return!0;else if(g.kind==="min"){if($===null||g.value>$)$=g.value}else if(g.kind==="max"){if(_===null||g.value<_)_=g.value}return Number.isFinite($)&&Number.isFinite(_)}}i6.create=(_)=>{return new i6({checks:[],typeName:i.ZodNumber,coerce:_?.coerce||!1,...e(_)})};class l6 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(_)!==y.bigint)return this._getInvalidInput(_);let g=void 0,U=new m_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)g=this._getOrReturnCtx(_,g),u(g,{code:k.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),U.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))g=this._getOrReturnCtx(_,g),u(g,{code:k.not_multiple_of,multipleOf:D.value,message:D.message}),U.dirty()}else U_.assertNever(D);return{status:U.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:k.invalid_type,expected:y.bigint,received:$.parsedType}),m}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(_,$,g,U){return new l6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:g,message:n.toString(U)}]})}_addCheck(_){return new l6({...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 _}}l6.create=(_)=>{return new l6({checks:[],typeName:i.ZodBigInt,coerce:_?.coerce??!1,...e(_)})};class Og extends __{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==y.boolean){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.boolean,received:g.parsedType}),m}return a_(_.data)}}Og.create=(_)=>{return new Og({typeName:i.ZodBoolean,coerce:_?.coerce||!1,...e(_)})};class d4 extends __{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==y.date){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_type,expected:y.date,received:D.parsedType}),m}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_date}),m}let g=new m_,U=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)U=this._getOrReturnCtx(_,U),u(U,{code:k.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),g.dirty()}else U_.assertNever(D);return{status:g.value,value:new Date(_.data.getTime())}}_addCheck(_){return new d4({...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}}d4.create=(_)=>{return new d4({checks:[],coerce:_?.coerce||!1,typeName:i.ZodDate,...e(_)})};class zU extends __{_parse(_){if(this._getType(_)!==y.symbol){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.symbol,received:g.parsedType}),m}return a_(_.data)}}zU.create=(_)=>{return new zU({typeName:i.ZodSymbol,...e(_)})};class Ag extends __{_parse(_){if(this._getType(_)!==y.undefined){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.undefined,received:g.parsedType}),m}return a_(_.data)}}Ag.create=(_)=>{return new Ag({typeName:i.ZodUndefined,...e(_)})};class Lg extends __{_parse(_){if(this._getType(_)!==y.null){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.null,received:g.parsedType}),m}return a_(_.data)}}Lg.create=(_)=>{return new Lg({typeName:i.ZodNull,...e(_)})};class m4 extends __{constructor(){super(...arguments);this._any=!0}_parse(_){return a_(_.data)}}m4.create=(_)=>{return new m4({typeName:i.ZodAny,...e(_)})};class m6 extends __{constructor(){super(...arguments);this._unknown=!0}_parse(_){return a_(_.data)}}m6.create=(_)=>{return new m6({typeName:i.ZodUnknown,...e(_)})};class n$ extends __{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:k.invalid_type,expected:y.never,received:$.parsedType}),m}}n$.create=(_)=>{return new n$({typeName:i.ZodNever,...e(_)})};class SU extends __{_parse(_){if(this._getType(_)!==y.undefined){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.void,received:g.parsedType}),m}return a_(_.data)}}SU.create=(_)=>{return new SU({typeName:i.ZodVoid,...e(_)})};class M$ extends __{_parse(_){let{ctx:$,status:g}=this._processInputParams(_),U=this._def;if($.parsedType!==y.array)return u($,{code:k.invalid_type,expected:y.array,received:$.parsedType}),m;if(U.exactLength!==null){let I=$.data.length>U.exactLength.value,j=$.data.lengthU.maxLength.value)u($,{code:k.too_big,maximum:U.maxLength.value,type:"array",inclusive:!0,exact:!1,message:U.maxLength.message}),g.dirty()}if($.common.async)return Promise.all([...$.data].map((I,j)=>{return U.type._parseAsync(new b$($,I,$.path,j))})).then((I)=>{return m_.mergeArray(g,I)});let D=[...$.data].map((I,j)=>{return U.type._parseSync(new b$($,I,$.path,j))});return m_.mergeArray(g,D)}get element(){return this._def.type}min(_,$){return new M$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new M$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new M$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}M$.create=(_,$)=>{return new M$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:i.ZodArray,...e($)})};function Dg(_){if(_ instanceof b_){let $={};for(let g in _.shape){let U=_.shape[g];$[g]=Z$.create(Dg(U))}return new b_({..._._def,shape:()=>$})}else if(_ instanceof M$)return new M$({..._._def,type:Dg(_.element)});else if(_ instanceof Z$)return Z$.create(Dg(_.unwrap()));else if(_ instanceof z6)return z6.create(Dg(_.unwrap()));else if(_ instanceof d$)return d$.create(_.items.map(($)=>Dg($)));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(),$=U_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==y.object){let O=this._getOrReturnCtx(_);return u(O,{code:k.invalid_type,expected:y.object,received:O.parsedType}),m}let{status:g,ctx:U}=this._processInputParams(_),{shape:D,keys:I}=this._getCached(),j=[];if(!(this._def.catchall instanceof n$&&this._def.unknownKeys==="strip")){for(let O in U.data)if(!I.includes(O))j.push(O)}let N=[];for(let O of I){let A=D[O],L=U.data[O];N.push({key:{status:"valid",value:O},value:A._parse(new b$(U,L,U.path,O)),alwaysSet:O in U.data})}if(this._def.catchall instanceof n$){let O=this._def.unknownKeys;if(O==="passthrough")for(let A of j)N.push({key:{status:"valid",value:A},value:{status:"valid",value:U.data[A]}});else if(O==="strict"){if(j.length>0)u(U,{code:k.unrecognized_keys,keys:j}),g.dirty()}else if(O==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let O=this._def.catchall;for(let A of j){let L=U.data[A];N.push({key:{status:"valid",value:A},value:O._parse(new b$(U,L,U.path,A)),alwaysSet:A in U.data})}}if(U.common.async)return Promise.resolve().then(async()=>{let O=[];for(let A of N){let L=await A.key,z=await A.value;O.push({key:L,value:z,alwaysSet:A.alwaysSet})}return O}).then((O)=>{return m_.mergeObjectSync(g,O)});else return m_.mergeObjectSync(g,N)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new b_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,g)=>{let U=this._def.errorMap?.($,g).message??g.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??U};return{message:U}}}:{}})}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:i.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new b_({...this._def,catchall:_})}pick(_){let $={};for(let g of U_.objectKeys(_))if(_[g]&&this.shape[g])$[g]=this.shape[g];return new b_({...this._def,shape:()=>$})}omit(_){let $={};for(let g of U_.objectKeys(this.shape))if(!_[g])$[g]=this.shape[g];return new b_({...this._def,shape:()=>$})}deepPartial(){return Dg(this)}partial(_){let $={};for(let g of U_.objectKeys(this.shape)){let U=this.shape[g];if(_&&!_[g])$[g]=U;else $[g]=U.optional()}return new b_({...this._def,shape:()=>$})}required(_){let $={};for(let g of U_.objectKeys(this.shape))if(_&&!_[g])$[g]=this.shape[g];else{let D=this.shape[g];while(D instanceof Z$)D=D._def.innerType;$[g]=D}return new b_({...this._def,shape:()=>$})}keyof(){return z9(U_.objectKeys(this.shape))}}b_.create=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strip",catchall:n$.create(),typeName:i.ZodObject,...e($)})};b_.strictCreate=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strict",catchall:n$.create(),typeName:i.ZodObject,...e($)})};b_.lazycreate=(_,$)=>{return new b_({shape:_,unknownKeys:"strip",catchall:n$.create(),typeName:i.ZodObject,...e($)})};class Jg extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g=this._def.options;function U(D){for(let j of D)if(j.result.status==="valid")return j.result;for(let j of D)if(j.result.status==="dirty")return $.common.issues.push(...j.ctx.common.issues),j.result;let I=D.map((j)=>new O$(j.ctx.common.issues));return u($,{code:k.invalid_union,unionErrors:I}),m}if($.common.async)return Promise.all(g.map(async(D)=>{let I={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:I}),ctx:I}})).then(U);else{let D=void 0,I=[];for(let N of g){let O={...$,common:{...$.common,issues:[]},parent:null},A=N._parseSync({data:$.data,path:$.path,parent:O});if(A.status==="valid")return A;else if(A.status==="dirty"&&!D)D={result:A,ctx:O};if(O.common.issues.length)I.push(O.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let j=I.map((N)=>new O$(N));return u($,{code:k.invalid_union,unionErrors:j}),m}}get options(){return this._def.options}}Jg.create=(_,$)=>{return new Jg({options:_,typeName:i.ZodUnion,...e($)})};var J6=(_)=>{if(_ instanceof zg)return J6(_.schema);else if(_ instanceof R$)return J6(_.innerType());else if(_ instanceof Sg)return[_.value];else if(_ instanceof t6)return _.options;else if(_ instanceof Wg)return U_.objectValues(_.enum);else if(_ instanceof Xg)return J6(_._def.innerType);else if(_ instanceof Ag)return[void 0];else if(_ instanceof Lg)return[null];else if(_ instanceof Z$)return[void 0,...J6(_.unwrap())];else if(_ instanceof z6)return[null,...J6(_.unwrap())];else if(_ instanceof LN)return J6(_.unwrap());else if(_ instanceof Gg)return J6(_.unwrap());else if(_ instanceof Rg)return J6(_._def.innerType);else return[]};class AN extends __{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==y.object)return u($,{code:k.invalid_type,expected:y.object,received:$.parsedType}),m;let g=this.discriminator,U=$.data[g],D=this.optionsMap.get(U);if(!D)return u($,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[g]}),m;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(_,$,g){let U=new Map;for(let D of $){let I=J6(D.shape[_]);if(!I.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let j of I){if(U.has(j))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(j)}`);U.set(j,D)}}return new AN({typeName:i.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:U,...e(g)})}}function v3(_,$){let g=P6(_),U=P6($);if(_===$)return{valid:!0,data:_};else if(g===y.object&&U===y.object){let D=U_.objectKeys($),I=U_.objectKeys(_).filter((N)=>D.indexOf(N)!==-1),j={..._,...$};for(let N of I){let O=v3(_[N],$[N]);if(!O.valid)return{valid:!1};j[N]=O.data}return{valid:!0,data:j}}else if(g===y.array&&U===y.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let I=0;I<_.length;I++){let j=_[I],N=$[I],O=v3(j,N);if(!O.valid)return{valid:!1};D.push(O.data)}return{valid:!0,data:D}}else if(g===y.date&&U===y.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class Pg extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_),U=(D,I)=>{if(C3(D)||C3(I))return m;let j=v3(D.value,I.value);if(!j.valid)return u(g,{code:k.invalid_intersection_types}),m;if(r3(D)||r3(I))$.dirty();return{status:$.value,value:j.data}};if(g.common.async)return Promise.all([this._def.left._parseAsync({data:g.data,path:g.path,parent:g}),this._def.right._parseAsync({data:g.data,path:g.path,parent:g})]).then(([D,I])=>U(D,I));else return U(this._def.left._parseSync({data:g.data,path:g.path,parent:g}),this._def.right._parseSync({data:g.data,path:g.path,parent:g}))}}Pg.create=(_,$,g)=>{return new Pg({left:_,right:$,typeName:i.ZodIntersection,...e(g)})};class d$ extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.array)return u(g,{code:k.invalid_type,expected:y.array,received:g.parsedType}),m;if(g.data.lengththis._def.items.length)u(g,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...g.data].map((I,j)=>{let N=this._def.items[j]||this._def.rest;if(!N)return null;return N._parse(new b$(g,I,g.path,j))}).filter((I)=>!!I);if(g.common.async)return Promise.all(D).then((I)=>{return m_.mergeArray($,I)});else return m_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new d$({...this._def,rest:_})}}d$.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new d$({items:_,typeName:i.ZodTuple,rest:null,...e($)})};class WU extends __{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.object)return u(g,{code:k.invalid_type,expected:y.object,received:g.parsedType}),m;let U=[],D=this._def.keyType,I=this._def.valueType;for(let j in g.data)U.push({key:D._parse(new b$(g,j,g.path,j)),value:I._parse(new b$(g,g.data[j],g.path,j)),alwaysSet:j in g.data});if(g.common.async)return m_.mergeObjectAsync($,U);else return m_.mergeObjectSync($,U)}get element(){return this._def.valueType}static create(_,$,g){if($ instanceof __)return new WU({keyType:_,valueType:$,typeName:i.ZodRecord,...e(g)});return new WU({keyType:F$.create(),valueType:_,typeName:i.ZodRecord,...e($)})}}class XU extends __{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.map)return u(g,{code:k.invalid_type,expected:y.map,received:g.parsedType}),m;let U=this._def.keyType,D=this._def.valueType,I=[...g.data.entries()].map(([j,N],O)=>{return{key:U._parse(new b$(g,j,g.path,[O,"key"])),value:D._parse(new b$(g,N,g.path,[O,"value"]))}});if(g.common.async){let j=new Map;return Promise.resolve().then(async()=>{for(let N of I){let O=await N.key,A=await N.value;if(O.status==="aborted"||A.status==="aborted")return m;if(O.status==="dirty"||A.status==="dirty")$.dirty();j.set(O.value,A.value)}return{status:$.value,value:j}})}else{let j=new Map;for(let N of I){let{key:O,value:A}=N;if(O.status==="aborted"||A.status==="aborted")return m;if(O.status==="dirty"||A.status==="dirty")$.dirty();j.set(O.value,A.value)}return{status:$.value,value:j}}}}XU.create=(_,$,g)=>{return new XU({valueType:$,keyType:_,typeName:i.ZodMap,...e(g)})};class i4 extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.set)return u(g,{code:k.invalid_type,expected:y.set,received:g.parsedType}),m;let U=this._def;if(U.minSize!==null){if(g.data.sizeU.maxSize.value)u(g,{code:k.too_big,maximum:U.maxSize.value,type:"set",inclusive:!0,exact:!1,message:U.maxSize.message}),$.dirty()}let D=this._def.valueType;function I(N){let O=new Set;for(let A of N){if(A.status==="aborted")return m;if(A.status==="dirty")$.dirty();O.add(A.value)}return{status:$.value,value:O}}let j=[...g.data.values()].map((N,O)=>D._parse(new b$(g,N,g.path,O)));if(g.common.async)return Promise.all(j).then((N)=>I(N));else return I(j)}min(_,$){return new i4({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new i4({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}i4.create=(_,$)=>{return new i4({valueType:_,minSize:null,maxSize:null,typeName:i.ZodSet,...e($)})};class jg extends __{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==y.function)return u($,{code:k.invalid_type,expected:y.function,received:$.parsedType}),m;function g(j,N){return NN({data:j,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,jN(),Eg].filter((O)=>!!O),issueData:{code:k.invalid_arguments,argumentsError:N}})}function U(j,N){return NN({data:j,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,jN(),Eg].filter((O)=>!!O),issueData:{code:k.invalid_return_type,returnTypeError:N}})}let D={errorMap:$.common.contextualErrorMap},I=$.data;if(this._def.returns instanceof l4){let j=this;return a_(async function(...N){let O=new O$([]),A=await j._def.args.parseAsync(N,D).catch((W)=>{throw O.addIssue(g(N,W)),O}),L=await Reflect.apply(I,this,A);return await j._def.returns._def.type.parseAsync(L,D).catch((W)=>{throw O.addIssue(U(L,W)),O})})}else{let j=this;return a_(function(...N){let O=j._def.args.safeParse(N,D);if(!O.success)throw new O$([g(N,O.error)]);let A=Reflect.apply(I,this,O.data),L=j._def.returns.safeParse(A,D);if(!L.success)throw new O$([U(A,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new jg({...this._def,args:d$.create(_).rest(m6.create())})}returns(_){return new jg({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,g){return new jg({args:_?_:d$.create([]).rest(m6.create()),returns:$||m6.create(),typeName:i.ZodFunction,...e(g)})}}class zg extends __{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}zg.create=(_,$)=>{return new zg({getter:_,typeName:i.ZodLazy,...e($)})};class Sg extends __{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:k.invalid_literal,expected:this._def.value}),m}return{status:"valid",value:_.data}}get value(){return this._def.value}}Sg.create=(_,$)=>{return new Sg({value:_,typeName:i.ZodLiteral,...e($)})};function z9(_,$){return new t6({values:_,typeName:i.ZodEnum,...e($)})}class t6 extends __{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),g=this._def.values;return u($,{expected:U_.joinValues(g),received:$.parsedType,code:k.invalid_type}),m}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),g=this._def.values;return u($,{received:$.data,code:k.invalid_enum_value,options:g}),m}return a_(_.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 t6.create(_,{...this._def,...$})}exclude(_,$=this._def){return t6.create(this.options.filter((g)=>!_.includes(g)),{...this._def,...$})}}t6.create=z9;class Wg extends __{_parse(_){let $=U_.getValidEnumValues(this._def.values),g=this._getOrReturnCtx(_);if(g.parsedType!==y.string&&g.parsedType!==y.number){let U=U_.objectValues($);return u(g,{expected:U_.joinValues(U),received:g.parsedType,code:k.invalid_type}),m}if(!this._cache)this._cache=new Set(U_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let U=U_.objectValues($);return u(g,{received:g.data,code:k.invalid_enum_value,options:U}),m}return a_(_.data)}get enum(){return this._def.values}}Wg.create=(_,$)=>{return new Wg({values:_,typeName:i.ZodNativeEnum,...e($)})};class l4 extends __{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==y.promise&&$.common.async===!1)return u($,{code:k.invalid_type,expected:y.promise,received:$.parsedType}),m;let g=$.parsedType===y.promise?$.data:Promise.resolve($.data);return a_(g.then((U)=>{return this._def.type.parseAsync(U,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}l4.create=(_,$)=>{return new l4({type:_,typeName:i.ZodPromise,...e($)})};class R$ extends __{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===i.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:g}=this._processInputParams(_),U=this._def.effect||null,D={addIssue:(I)=>{if(u(g,I),I.fatal)$.abort();else $.dirty()},get path(){return g.path}};if(D.addIssue=D.addIssue.bind(D),U.type==="preprocess"){let I=U.transform(g.data,D);if(g.common.async)return Promise.resolve(I).then(async(j)=>{if($.value==="aborted")return m;let N=await this._def.schema._parseAsync({data:j,path:g.path,parent:g});if(N.status==="aborted")return m;if(N.status==="dirty")return Ig(N.value);if($.value==="dirty")return Ig(N.value);return N});else{if($.value==="aborted")return m;let j=this._def.schema._parseSync({data:I,path:g.path,parent:g});if(j.status==="aborted")return m;if(j.status==="dirty")return Ig(j.value);if($.value==="dirty")return Ig(j.value);return j}}if(U.type==="refinement"){let I=(j)=>{let N=U.refinement(j,D);if(g.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(g.common.async===!1){let j=this._def.schema._parseSync({data:g.data,path:g.path,parent:g});if(j.status==="aborted")return m;if(j.status==="dirty")$.dirty();return I(j.value),{status:$.value,value:j.value}}else return this._def.schema._parseAsync({data:g.data,path:g.path,parent:g}).then((j)=>{if(j.status==="aborted")return m;if(j.status==="dirty")$.dirty();return I(j.value).then(()=>{return{status:$.value,value:j.value}})})}if(U.type==="transform")if(g.common.async===!1){let I=this._def.schema._parseSync({data:g.data,path:g.path,parent:g});if(!n4(I))return m;let j=U.transform(I.value,D);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:g.data,path:g.path,parent:g}).then((I)=>{if(!n4(I))return m;return Promise.resolve(U.transform(I.value,D)).then((j)=>({status:$.value,value:j}))});U_.assertNever(U)}}R$.create=(_,$,g)=>{return new R$({schema:_,typeName:i.ZodEffects,effect:$,...e(g)})};R$.createWithPreprocess=(_,$,g)=>{return new R$({schema:$,effect:{type:"preprocess",transform:_},typeName:i.ZodEffects,...e(g)})};class Z$ extends __{_parse(_){if(this._getType(_)===y.undefined)return a_(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}Z$.create=(_,$)=>{return new Z$({innerType:_,typeName:i.ZodOptional,...e($)})};class z6 extends __{_parse(_){if(this._getType(_)===y.null)return a_(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}z6.create=(_,$)=>{return new z6({innerType:_,typeName:i.ZodNullable,...e($)})};class Xg extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g=$.data;if($.parsedType===y.undefined)g=this._def.defaultValue();return this._def.innerType._parse({data:g,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}Xg.create=(_,$)=>{return new Xg({innerType:_,typeName:i.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...e($)})};class Rg extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g={...$,common:{...$.common,issues:[]}},U=this._def.innerType._parse({data:g.data,path:g.path,parent:{...g}});if(PU(U))return U.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new O$(g.common.issues)},input:g.data})}});else return{status:"valid",value:U.status==="valid"?U.value:this._def.catchValue({get error(){return new O$(g.common.issues)},input:g.data})}}removeCatch(){return this._def.innerType}}Rg.create=(_,$)=>{return new Rg({innerType:_,typeName:i.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...e($)})};class RU extends __{_parse(_){if(this._getType(_)!==y.nan){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.nan,received:g.parsedType}),m}return{status:"valid",value:_.data}}}RU.create=(_)=>{return new RU({typeName:i.ZodNaN,...e(_)})};var tb=Symbol("zod_brand");class LN extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g=$.data;return this._def.type._parse({data:g,path:$.path,parent:$})}unwrap(){return this._def.type}}class GU extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:g.data,path:g.path,parent:g});if(D.status==="aborted")return m;if(D.status==="dirty")return $.dirty(),Ig(D.value);else return this._def.out._parseAsync({data:D.value,path:g.path,parent:g})})();else{let U=this._def.in._parseSync({data:g.data,path:g.path,parent:g});if(U.status==="aborted")return m;if(U.status==="dirty")return $.dirty(),{status:"dirty",value:U.value};else return this._def.out._parseSync({data:U.value,path:g.path,parent:g})}}static create(_,$){return new GU({in:_,out:$,typeName:i.ZodPipeline})}}class Gg extends __{_parse(_){let $=this._def.innerType._parse(_),g=(U)=>{if(n4(U))U.value=Object.freeze(U.value);return U};return PU($)?$.then((U)=>g(U)):g($)}unwrap(){return this._def.innerType}}Gg.create=(_,$)=>{return new Gg({innerType:_,typeName:i.ZodReadonly,...e($)})};function $9(_,$){let g=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof g==="string"?{message:g}:g}function S9(_,$={},g){if(_)return m4.create().superRefine((U,D)=>{let I=_(U);if(I instanceof Promise)return I.then((j)=>{if(!j){let N=$9($,U),O=N.fatal??g??!0;D.addIssue({code:"custom",...N,fatal:O})}});if(!I){let j=$9($,U),N=j.fatal??g??!0;D.addIssue({code:"custom",...j,fatal:N})}return});return m4.create()}var ob={object:b_.lazycreate},i;(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"})(i||(i={}));var pb=(_,$={message:`Input not instance of ${_.name}`})=>S9((g)=>g instanceof _,$),W9=F$.create,X9=i6.create,eb=RU.create,ab=l6.create,R9=Og.create,sb=d4.create,_H=zU.create,$H=Ag.create,gH=Lg.create,DH=m4.create,UH=m6.create,IH=n$.create,jH=SU.create,NH=M$.create,EH=b_.create,OH=b_.strictCreate,AH=Jg.create,LH=AN.create,JH=Pg.create,PH=d$.create,zH=WU.create,SH=XU.create,WH=i4.create,XH=jg.create,RH=zg.create,GH=Sg.create,YH=t6.create,QH=Wg.create,TH=l4.create,g9=R$.create,qH=Z$.create,BH=z6.create,KH=R$.createWithPreprocess,VH=GU.create,FH=()=>W9().optional(),MH=()=>X9().optional(),ZH=()=>R9().optional(),bH={string:(_)=>F$.create({..._,coerce:!0}),number:(_)=>i6.create({..._,coerce:!0}),boolean:(_)=>Og.create({..._,coerce:!0}),bigint:(_)=>l6.create({..._,coerce:!0}),date:(_)=>d4.create({..._,coerce:!0})},HH=m;var x={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"},w3=E.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),V_=E.string().datetime(),t=E.string().trim().min(1),H$=t.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://"),G9=E.string().regex(/^[a-fA-F0-9]{64}$/),Y9=E.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),o6=E.record(E.unknown()),Tg=E.array(E.string().min(1)).default([]),t4=V_.nullable().optional(),kH=new Set(["succeeded","failed","cancelled","blocked","skipped"]),e4=E.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function L_(_){return E.object({schema:E.literal(_),id:E.string().min(1),createdAt:V_,updatedAt:t4,metadata:o6.optional()}).strict()}var jd=E.object({schema:w3,id:E.string().min(1),createdAt:V_,updatedAt:t4,metadata:o6.optional()}).strict(),Q9=E.enum(["agent","human","service","model","workflow","system"]),CH=L_(x.actorRef).extend({kind:Q9,name:E.string().min(1).optional(),provider:E.string().min(1).optional(),accountId:E.string().min(1).optional(),machineId:E.string().min(1).optional(),capabilities:E.array(E.string().min(1)).default([])}).strict(),m$=E.object({kind:Q9,id:E.string().min(1),name:E.string().min(1).optional(),provider:E.string().min(1).optional(),accountId:E.string().min(1).optional(),machineId:E.string().min(1).optional()}).strict(),T9=E.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"]),rH=L_(x.resourceRef).extend({kind:T9,name:E.string().min(1).optional(),uri:H$.optional(),externalId:t.optional(),sourcePackage:t.optional(),tags:Tg}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:E.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),s=E.object({kind:T9,id:E.string().min(1),name:E.string().min(1).optional(),uri:H$.optional(),externalId:t.optional(),sourcePackage:t.optional(),tags:Tg}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:E.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),u3=E.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),vH=E.enum(["none","partial","full","unknown"]),fH=L_(x.evidenceRef).extend({kind:u3,uri:H$,sha256:G9.optional(),summary:E.string().min(1).optional(),contentType:E.string().min(1).optional(),sizeBytes:E.number().int().nonnegative().optional(),redaction:vH.default("unknown"),producer:m$.optional(),resourceRefs:E.array(s).default([]),tags:Tg}).strict(),T_=E.object({id:E.string().min(1),kind:u3.optional(),uri:H$.optional(),sha256:G9.optional(),summary:E.string().min(1).optional()}).strict(),YU=L_(x.costEstimate).extend({currency:E.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:E.number().int().nonnegative(),provider:E.string().min(1).optional(),model:E.string().min(1).optional(),accountId:E.string().min(1).optional(),promptTokens:E.number().int().nonnegative().optional(),completionTokens:E.number().int().nonnegative().optional(),totalTokens:E.number().int().nonnegative().optional(),basis:E.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:E.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),wH=E.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),q9=L_(x.decisionEnvelope).extend({decisionType:E.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:wH,actor:m$.optional(),traceId:E.string().min(1).optional(),inputHash:Y9.optional(),policyBundleId:E.string().min(1).optional(),selected:E.array(s).default([]),skipped:E.array(s).default([]),reason:E.string().min(1),obligations:E.array(E.string().min(1)).default([]),redactions:E.array(E.string().min(1)).default([]),costEstimate:YU.optional(),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),uH=L_(x.capabilityCard).extend({kind:E.enum(["model","tool","machine","agent","lane","connector","service"]),name:E.string().min(1),version:E.string().min(1).optional(),status:E.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:E.array(E.string().min(1)).default([]),limitations:E.array(E.string().min(1)).default([]),riskLevel:E.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:YU.optional(),evidenceRefs:E.array(T_).default([])}).strict(),Yg=E.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),xH=E.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"]),yH=E.object({refName:t,requiredForModes:E.array(Yg).min(1),allowedSecretInputs:E.array(E.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:t,revocationCheck:E.boolean().default(!0)}).strict(),hH=E.object({operation:t,supportedModes:E.array(Yg).min(1),sideEffectClass:xH,requiresApproval:E.boolean().default(!1),requiresIdempotencyKey:E.boolean().default(!1),requiresSandboxEvidence:E.boolean().default(!1),requiresRollbackOrRevocation:E.boolean().default(!1),rollbackOrRevocation:t.optional(),noSideEffectSmoke:t.optional(),reconciliation:t.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),cH=E.object({providerId:t,appId:t,adapterId:t,ownerPackage:t,modes:E.array(Yg).min(1),defaultMode:Yg,credentialRequirements:E.array(yH).default([]),operations:E.array(hH).min(1),rateLimitPosture:t,costPosture:t.optional(),auditEvents:E.array(t).default([]),redactionRules:E.array(t).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:E.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let g=new Set(_.operations.flatMap((U)=>U.supportedModes));for(let U of g)if(!_.modes.includes(U))$.addIssue({code:E.ZodIssueCode.custom,message:`operation mode ${U} is not declared in provider modes`,path:["operations"]});if(g.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),nH=E.object({appId:t,repo:t,priority:E.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:E.array(t).min(1),firstOperations:E.array(t).min(1),blockedUntil:E.array(t).default([])}).strict(),dH=L_(x.providerLiveModeStandard).extend({name:t,version:t,modes:E.array(Yg).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:E.array(t).min(1),liveMutationGate:E.object({requiredMode:E.literal("live_mutating"),requiredChecks:E.array(t).min(1),forbiddenBypassSignals:E.array(t).min(1),disabledLiveSmoke:t}).strict(),noSideEffectSmoke:E.object({requiredForModes:E.array(Yg).min(1),commandEvidence:E.array(t).min(1),secretOutputScan:E.boolean().default(!0)}).strict(),credentialPolicy:E.object({acceptedInputs:E.array(E.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:E.literal(!1),missingCredentialBehavior:E.literal("fail_closed"),revocationCheckRequired:E.boolean().default(!0)}).strict(),operationCards:E.array(cH).min(1),firstAdoptionTargets:E.array(nH).min(1),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),U=new Set(_.operationCards.map((D)=>D.appId));for(let D of g)if(!U.has(D))$.addIssue({code:E.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),mH=E.object({id:E.string().min(1),title:E.string().min(1).optional(),summary:E.string().min(1),text:E.string().optional(),tokens:E.number().int().nonnegative().optional(),source:T_,resourceRefs:E.array(s).default([])}).strict(),B9=L_(x.contextPack).extend({objective:E.string().min(1),budget:E.object({maxTokens:E.number().int().positive().optional(),maxBytes:E.number().int().positive().optional()}).strict().optional(),items:E.array(mH).default([]),citations:E.array(T_).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown"),permissions:E.array(E.string().min(1)).default([]),redactions:E.array(E.string().min(1)).default([]),conflicts:E.array(E.string().min(1)).default([]),uncertainty:E.string().min(1).optional()}).strict(),W$=t.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),o4=E.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),iH=E.enum(["public","internal","private","sensitive"]),lH=E.enum(["draft","active","paused","archived"]),x3=E.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),K9=L_(x.integrationRef).extend({kind:x3,name:E.string().min(1),projectId:o4.optional(),sourcePackage:t.optional(),externalId:t.optional(),uri:H$.optional(),enabled:E.boolean().default(!0),readOnly:E.boolean().default(!0),capabilities:E.array(E.string().min(1)).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:s.optional(),evidenceRefs:E.array(T_).default([]),config:o6.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),tH=E.object({schemaRoot:W$.default(".hasna/project"),dashboardManifest:W$.default(".hasna/project/dashboard.render.json"),snapshotsDir:W$.default(".hasna/project/snapshots"),documentsDir:W$.default("documents"),reportsDir:W$.default("reports"),evidenceDir:W$.default(".hasna/project/evidence"),privateDir:W$.default(".hasna/project/private")}).strict(),oH=L_(x.projectManifest).extend({projectId:o4,slug:o4,name:E.string().min(1),summary:E.string().min(1).optional(),status:lH.default("active"),classification:iH.default("private"),owner:m$.optional(),layout:tH.default({}),integrations:E.array(K9).default([]),renderManifests:E.array(s).default([]),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),tags:Tg}).strict().superRefine((_,$)=>{let g=new Set,U=new Set;if(_.projectId!==_.slug)$.addIssue({code:E.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,I]of _.integrations.entries()){if(g.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(g.add(I.id),I.projectId&&I.projectId!==_.projectId)$.addIssue({code:E.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,I]of _.renderManifests.entries()){if(I.kind!=="render")$.addIssue({code:E.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(U.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});U.add(I.id)}}),pH=E.enum(["local","package","provider","url"]),y3=E.object({id:E.string().min(1),kind:pH,specifier:E.string().min(1),path:W$.optional(),packageName:E.string().min(1).optional(),uri:H$.optional(),provider:x3.optional(),schemaId:w3.optional(),integrity:Y9.optional(),resourceRef:s.optional(),optional:E.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:E.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:E.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:E.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:E.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),eH=E.enum(["dashboard","canvas","panel","report","document","custom"]),aH=E.object({id:E.string().min(1),title:E.string().min(1),kind:eH,default:E.boolean().default(!1),entry:W$.optional(),imports:E.array(y3).default([]),panelRefs:E.array(s).default([]),dataRefs:E.array(s).default([]),layout:o6.optional()}).strict(),sH=L_(x.renderManifest).extend({projectId:o4,name:E.string().min(1),version:E.string().min(1),manifestPath:W$.default(".hasna/project/dashboard.render.json"),renderer:E.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:E.array(aH).min(1),imports:E.array(y3).default([]),theme:o6.optional(),compatibility:E.object({minProjectsVersion:E.string().min(1).optional(),minContractsVersion:E.string().min(1).optional()}).strict().optional(),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=_.views.filter((I)=>I.default),U=new Set,D=new Set;if(g.length>1)$.addIssue({code:E.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[I,j]of _.imports.entries()){if(D.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",I,"id"]});D.add(j.id)}for(let[I,j]of _.views.entries()){if(U.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",I,"id"]});U.add(j.id);let N=new Set;for(let[O,A]of j.imports.entries()){if(N.has(A.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",I,"imports",O,"id"]});N.add(A.id)}for(let[O,A]of j.panelRefs.entries())if(A.kind!=="panel")$.addIssue({code:E.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",I,"panelRefs",O,"kind"]})}}),_k=E.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),$k=E.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),gk=E.object({id:E.string().min(1),label:E.string().min(1),value:E.union([E.string(),E.number(),E.boolean()]),unit:E.string().min(1).optional(),status:E.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:E.array(s).default([])}).strict(),Dk=E.object({id:E.string().min(1),title:E.string().min(1),summary:E.string().min(1).optional(),status:E.string().min(1).optional(),priority:E.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:V_.optional(),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),metadata:o6.optional()}).strict(),Uk=E.object({renderer:E.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:E.string().min(1).optional(),entry:W$.optional(),imports:E.array(y3).default([]),spec:o6.default({})}).strict(),V9=L_(x.projectPanel).extend({projectId:o4,provider:E.object({kind:x3,id:E.string().min(1),name:E.string().min(1).optional(),sourcePackage:t.optional(),externalId:t.optional()}).strict(),kind:$k,title:E.string().min(1),summary:E.string().min(1).optional(),state:_k.default("ready"),stateReason:E.string().min(1).optional(),generatedAt:V_,freshness:E.enum(["fresh","stale","unknown"]).default("unknown"),metrics:E.array(gk).default([]),items:E.array(Dk).default([]),actions:E.array(s).default([]),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),renderFragment:Uk.optional(),warnings:E.array(E.string().min(1)).default([])}).strict().superRefine((_,$)=>{let g=new Set(["error","auth_required","unavailable","stale"]),U=new Set,D=new Set;if(g.has(_.state)&&!_.stateReason)$.addIssue({code:E.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:E.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[I,j]of _.metrics.entries()){if(U.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",I,"id"]});U.add(j.id)}for(let[I,j]of _.items.entries()){if(D.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",I,"id"]});D.add(j.id)}for(let[I,j]of _.actions.entries())if(j.kind!=="action")$.addIssue({code:E.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",I,"kind"]})}),Ik=L_(x.projectSnapshot).extend({projectId:o4,generatedAt:V_,status:e4.default("unknown"),manifestRef:s,renderManifestRef:s.optional(),panels:E.array(V9).default([]),contextPacks:E.array(B9).default([]),proofBundleRefs:E.array(s).default([]),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),warnings:E.array(E.string().min(1)).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let g=new Set,U=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,I]of _.proofBundleRefs.entries())if(I.kind!=="proof_bundle")$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,I]of _.panels.entries()){if(I.projectId!==_.projectId)$.addIssue({code:E.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(g.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});g.add(I.id)}for(let[D,I]of _.contextPacks.entries()){if(U.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});U.add(I.id)}}),F9=E.object({id:E.string().min(1),kind:E.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:E.boolean().default(!0),command:E.string().min(1).optional(),expected:E.string().min(1).optional(),timeoutMs:E.number().int().positive().optional(),resourceRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:E.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),jk=L_(x.validationPlan).extend({objective:E.string().min(1),subject:s.optional(),checks:E.array(F9).min(1),verifier:m$.optional(),requiredEvidenceKinds:E.array(u3).default([])}).strict(),Nk=E.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Ek=E.enum(["draft","active","deprecated","archived"]),Ok=E.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Ak=E.object({key:E.string().regex(/^[A-Z][A-Z0-9_]*$/),description:E.string().min(1),required:E.boolean().default(!1),["secret"]:E.boolean().default(!1),group:E.string().min(1).optional(),default:E.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:E.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Lk=E.object({name:E.string().min(1),command:E.string().min(1),description:E.string().min(1).optional(),required:E.boolean().default(!1)}).strict(),Jk=E.object({packageManager:E.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:E.array(E.string().min(1)).default([]),requiredFiles:E.array(E.string().min(1)).default([]),requiredDirectories:E.array(E.string().min(1)).default([]),optionalDirectories:E.array(E.string().min(1)).default([])}).strict(),Pk=L_(x.scaffoldManifest).extend({name:E.string().min(1),version:E.string().min(1),summary:E.string().min(1),type:Nk,status:Ek.default("draft"),capabilities:E.array(Ok).default([]),techStack:E.array(E.string().min(1)).default([]),tags:Tg,source:s.optional(),output:Jk,env:E.array(Ak).default([]),scripts:E.array(Lk).default([]),validationChecks:E.array(F9).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:E.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),zk=E.enum(["installed","failed","cancelled","partial","unknown"]),Sk=L_(x.scaffoldInstallRecord).extend({scaffoldId:E.string().min(1),scaffoldVersion:E.string().min(1).optional(),manifestRef:s.optional(),target:s,status:zk,installedAt:V_.optional(),installer:m$.optional(),packageManager:E.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:o6.optional(),generatedFiles:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),proofBundleRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:E.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),Qg=E.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),h3=E.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),M9=E.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"),Wk=E.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Xk=t.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Rk=E.enum(["active","stub","deprecated","archived"]),Gk=E.enum(["stable","beta","canary","internal"]),Yk=E.object({transport:E.enum(["http","stdio"]).default("http"),bin:E.string().min(1).optional(),url:H$.optional()}).strict(),Qk=E.object({healthPath:E.string().min(1).default("/health"),port:E.number().int().positive().optional(),baseUrl:H$.optional()}).strict(),Tk=E.object({bins:E.array(E.string().min(1)).default([]),mcp:Yk.optional(),http:Qk.optional()}).strict(),qk=L_(x.app).extend({appId:Qg,npmName:h3,repoFolder:Qg,githubUrl:Xk,projectSlug:o4,surfaces:Tk.default({}),lifecycle:Rk,releaseChannel:Gk.default("stable"),summary:E.string().min(1).optional(),tags:Tg}).strict().superRefine((_,$)=>{let g=new Set;for(let[U,D]of _.surfaces.bins.entries()){if(g.has(D))$.addIssue({code:E.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",U]});g.add(D)}}),Bk=E.enum(["skill","ci","backfilled"]),Kk=L_(x.release).extend({appId:Qg,package:h3,version:M9,gitSha:Wk,publishedAt:V_,publishPath:Bk,changelogRef:s.optional(),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Vk=E.enum(["install","update","rollback","freeze-blocked"]),Fk=E.object({cliVersion:E.string().min(1).optional(),mcpHealth:E.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:E.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),Mk=L_(x.rolloutRecord).extend({appId:Qg,package:h3,version:M9,machine:t,action:Vk,result:e4,verifiedBy:Fk.optional(),at:V_,evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:E.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let g=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",U=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||U&&!g))$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),Zk=E.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),bk=E.enum(["pending","queued","sent","failed","skipped","suppressed"]),Hk=E.object({channel:Zk,status:bk,deliveredAt:V_.optional(),detail:E.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:E.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),kk=L_(x.announcement).extend({campaignId:t,appId:Qg.optional(),releaseRef:s.optional(),channels:E.array(Hk).min(1),audienceRef:s,sentAt:V_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:E.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:E.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),Ck=E.enum(["tag","attribute","group"]),rk=E.enum(["eq","neq","in","not_in","exists","not_exists"]),D9=E.union([E.string(),E.number(),E.boolean()]),vk=E.object({kind:Ck,key:E.string().min(1).optional(),op:rk.default("eq"),value:D9.optional(),values:E.array(D9).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:E.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:E.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),fk=E.object({match:E.enum(["all","any"]).default("all"),predicates:E.array(vk).min(1)}).strict(),wk=E.enum(["opt_in","opt_out","transactional","none"]),uk=L_(x.audience).extend({audienceId:Qg,name:t,definition:fk,consentPolicy:wk,suppressionSyncedAt:t4}).strict(),IN=["@hasna/cloud","open-cloud"],xk=E.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),yk=E.object({id:E.string().min(1),provider:xk,kind:E.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:E.string().min(1),region:E.string().min(1).optional(),accountId:E.string().min(1).optional(),uri:H$.optional(),machineScoped:E.boolean().default(!1)}).strict(),Z9=L_(x.appCloudManifest).extend({packageName:E.string().min(1),packageVersion:E.string().min(1).optional(),appId:E.string().min(1),repository:s.optional(),storageMode:E.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:E.enum(["none","app_owned","external_service","local_cache"]),cloudResources:E.array(yk).default([]),localCache:E.object({path:E.string().min(1).optional(),pullMode:E.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:E.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:E.array(E.string().min(1)).default([...IN]),dependencies:E.array(E.string().min(1)).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=new Set([...IN,..._.forbiddenSharedRuntimes]);if(g.has(_.packageName))$.addIssue({code:E.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let U of IN)if(!_.forbiddenSharedRuntimes.includes(U))$.addIssue({code:E.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${U}`,path:["forbiddenSharedRuntimes"]});for(let U of g)if(_.dependencies.includes(U))$.addIssue({code:E.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${U}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:E.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:E.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:E.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:E.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:E.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((U,D)=>{if(U.ownerPackage!==_.packageName)$.addIssue({code:E.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),b9=E.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),hk=E.enum(["low","medium","high","critical"]),H9=E.object({id:E.string().min(1),kind:b9,severity:hk,path:E.string().min(1).optional(),packageName:E.string().min(1).optional(),pattern:E.string().min(1),message:E.string().min(1),evidenceRefs:E.array(T_).default([])}).strict(),ck=E.object({id:E.string().min(1),kind:b9,status:e4,target:E.string().min(1),command:E.string().min(1).optional(),evidenceRefs:E.array(T_).default([]),findings:E.array(H9).default([])}).strict(),nk=L_(x.noCloudEvidencePack).extend({subject:s,packageName:E.string().min(1).optional(),packageVersion:E.string().min(1).optional(),generatedBy:m$.optional(),scanMode:E.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:e4,verdict:E.enum(["passed","failed","warning","not_run"]),appCloudManifest:Z9.optional(),checks:E.array(ck).min(1),findings:E.array(H9).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=[..._.findings,..._.checks.flatMap((D)=>D.findings)],U=g.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(U.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:E.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&g.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,I)=>{let j=D.findings.filter((N)=>N.severity==="high"||N.severity==="critical");if(D.status==="succeeded"&&j.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",I,"findings"]})})}),dk=E.object({checkId:E.string().min(1),status:e4,summary:E.string().min(1).optional(),startedAt:t4,finishedAt:t4,evidenceRefs:E.array(T_).default([])}).strict(),mk=L_(x.proofBundle).extend({subject:s,validationPlanRef:s.optional(),status:e4,verdict:E.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:E.array(dk).default([]),verifier:m$.optional(),evidenceRefs:E.array(T_).default([]),residualRisks:E.array(E.string().min(1)).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((U,D)=>{if(U.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((U)=>U.evidenceRefs.length>0)))$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((g)=>g.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),ik=L_(x.workRun).extend({objective:E.string().min(1),status:e4,actor:m$,traceId:E.string().min(1).optional(),startedAt:t4,finishedAt:t4,constraints:E.array(E.string().min(1)).default([]),resourceRefs:E.array(s).default([]),decisions:E.array(q9).default([]),costEstimates:E.array(YU).default([]),evidenceRefs:E.array(T_).default([]),validationPlanRefs:E.array(s).default([]),proofBundleRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!g)$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!g&&_.decisions.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),lk=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"])}),tk=E.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"]),ok=E.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),p4=E.string().regex(/^[a-f0-9]{64}$/),JN=E.string().trim().min(3).max(256),k9=/^[a-f0-9]{32}$/;function pk(_,$,g){return`${_}:${$}:opaque-${g.slice(0,32)}`}function ek(_){return`evidence:opaque-${_.slice(0,32)}`}var C9=JN.refine((_)=>{let g=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return k9.test(g)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),c3=JN.refine((_)=>{let g=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return k9.test(g)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),ak=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"]),n3=E.object({role:tk,authority:ok,id:JN,digest:p4,redaction:E.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let g=lk[_.role];if(!g.includes(_.authority))$.addIssue({code:E.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${g.join(" or ")}`,path:["authority"]});if(ak.has(_.role)&&_.redaction==="none")$.addIssue({code:E.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let U=pk(_.role,_.authority,_.digest);if(_.id!==U)$.addIssue({code:E.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),X$=E.object({id:JN,digest:p4,redaction:E.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==ek(_.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function r9(_,$,g,U){if(_.id===$.id||_.digest===$.digest)g.addIssue({code:E.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:U})}function b(_){return n3.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function B_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function d3(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function Ng(_,$,g,U,D){if(d3(_,$))g.addIssue({code:E.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:U});if(_.digest===$.digest)g.addIssue({code:E.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:U})}function EN(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function e_(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var Q_=E.object({algorithm:E.enum(["sha1","sha256"]),value:E.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let g=_.algorithm==="sha1"?40:64;if(_.value.length!==g)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${g} lowercase hex characters`,path:["value"]})});function U9(_){if(_.canonicalizationVersion===1){let g=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 sG("sha256").update(g,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((g)=>[g.role,g.authority,g.id,g.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return sG("sha256").update($,"utf8").digest("hex")}var sk=E.object({ref:b("attempt"),nonce:c3,admissionRef:b("admission"),admissionWriterGenerationRef:b("writer_generation"),workerActorRef:b("worker_actor"),workerRef:b("worker"),runtimeRef:b("runtime"),writerGenerationRef:b("writer_generation"),writerLeaseRef:b("writer_lease"),writerFenceRef:b("writer_fence"),providerProfileRef:b("provider_profile"),providerRouteRef:b("provider_route")}).strict(),_C=E.object({repoRef:b("repo"),worktreeRef:b("worktree"),branchRef:b("branch"),baseHead:Q_,branchHead:Q_}).strict(),$C=E.object({streamRef:b("event_stream"),replayCursorRef:b("replay_cursor"),sequence:E.number().int().safe().nonnegative(),prefixDigest:p4}).strict(),gC=E.object({ref:b("handoff"),previousAttemptRef:b("attempt"),nextAttemptRef:b("attempt"),previousWriterGenerationRef:b("writer_generation"),nextWriterGenerationRef:b("writer_generation"),stoppedWorkRunRef:b("work_run"),stopEvidenceRef:X$,leaseRevocationEvidenceRef:X$}).strict().superRefine((_,$)=>{Ng(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),Ng(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),r9(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),DC=E.object({ref:b("review"),pullRequestRef:b("pull_request"),base:Q_,head:Q_,reviewerRef:b("reviewer"),reviewRunRef:b("review_run"),proofBundleRef:b("proof_bundle"),verdict:E.enum(["approved","changes_requested","blocked"]),reviewedAt:V_}).strict(),UC=E.object({pullRequestRef:b("pull_request"),remoteBranchRef:b("branch"),expectedBase:Q_,providerPullRequestBase:Q_,localHead:Q_,remoteHead:Q_,providerPullRequestHead:Q_,equalityProofRef:b("proof_bundle"),ciProofBundleRefs:E.array(b("proof_bundle")).min(1),verifiedAt:V_}).strict().superRefine((_,$)=>{if(!e_(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:E.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!e_(_.localHead,_.remoteHead)||!e_(_.localHead,_.providerPullRequestHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let g=_.ciProofBundleRefs.map(EN);if(new Set(g).size!==g.length)$.addIssue({code:E.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let U=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(U).size!==U.length)$.addIssue({code:E.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>d3(D,_.equalityProofRef)))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),IC=E.object({ref:b("repair_cycle"),cycle:E.number().int().min(0).max(2),cap:E.literal(2),exhausted:E.boolean(),latestRepairRef:b("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:E.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&d3(_.ref,_.latestRepairRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),jC=E.object({ref:b("merge_guard"),pullRequestRef:b("pull_request"),expectedBase:Q_,expectedHead:Q_,reviewRefs:E.array(b("review")).min(1),proofBundleRefs:E.array(b("proof_bundle")).min(1),operatorRef:b("merge_operator"),operatorRunRef:b("merge_operator_run"),providerGuardReceiptRef:b("merge_guard_receipt"),mechanism:E.enum(["compare_and_swap","queue_expected_head"]),decision:E.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:V_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((I)=>I.id)).size!==_.reviewRefs.length)$.addIssue({code:E.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(EN)).size!==_.proofBundleRefs.length)$.addIssue({code:E.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((I)=>I.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:E.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),NC=E.object({ref:b("merge_outcome"),guardRef:b("merge_guard"),pullRequestRef:b("pull_request"),expectedBase:Q_,observedBase:Q_,expectedHead:Q_,observedHead:Q_,status:E.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:b("commit").optional(),finishedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict().superRefine((_,$)=>{let g=e_(_.expectedBase,_.observedBase),U=e_(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!g||!U)$.addIssue({code:E.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!g?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&U)$.addIssue({code:E.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!g)$.addIssue({code:E.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&g)$.addIssue({code:E.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!U)$.addIssue({code:E.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!U&&_.status!=="head_drift")$.addIssue({code:E.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!g&&_.status!=="base_drift")$.addIssue({code:E.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),EC=E.object({guard:jC,outcome:NC.optional()}).strict(),OC=E.object({ref:b("recovery"),priorAttemptRef:b("attempt"),priorWriterGenerationRef:b("writer_generation"),priorWorkRunRef:b("work_run"),successorAttemptNonce:c3,successorWriterGenerationRef:b("writer_generation"),preservedStateRefs:E.array(n3).min(1),stopEvidenceRef:X$,leaseRevocationEvidenceRef:X$}).strict().superRefine((_,$)=>{Ng(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),r9(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),AC=E.object({ref:b("cancellation"),cancelledAttemptRef:b("attempt"),preservedStateRefs:E.array(n3).min(1),evidenceRefs:E.array(X$).min(1)}).strict(),LC=E.object({ref:b("cleanup_eligibility"),status:E.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:b("worktree"),eventCursorRef:b("replay_cursor"),terminalDispositionRef:b("terminal_disposition"),writerLeaseRef:b("writer_lease"),leaseRevocationEvidenceRef:X$,consumedEventEvidenceRef:X$,evaluatedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),JC=E.object({ref:b("cleanup_outcome"),eligibilityRef:b("cleanup_eligibility"),targetWorktreeRef:b("worktree"),status:E.enum(["preserved","deleted","failed","skipped"]),finishedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict(),PC=E.object({eligibility:LC,outcome:JC.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!B_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:E.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!B_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),zC=E.object({plan:E.object({ref:b("rollback_plan"),targetRef:E.union([b("commit"),b("branch")]),createdAt:V_}).strict(),outcome:E.object({ref:b("rollback_outcome"),planRef:b("rollback_plan"),targetRef:E.union([b("commit"),b("branch")]),status:E.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!B_(_.outcome.planRef,_.plan.ref))$.addIssue({code:E.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!B_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:E.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 XC(_,$){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 $)&&e_(_.base,$.base)&&e_(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var RC="hasna.task_to_pr_adapter_extension.",GC=E.object({mode:E.enum(["local","cloud"]),schema:w3,ref:b("adapter_extension"),digest:p4}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(RC))$.addIssue({code:E.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),YC=E.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),I9=new Set(["admitted","running","handed_off"]),j9=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),QC={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"])},TC=E.object({schema:E.literal(x.taskToPrProjection),id:C9,createdAt:V_,canonicalizationVersion:E.union([E.literal(1),E.literal(2)]),identityDigest:p4,frozenScopeDigest:p4,state:YC,workRunRef:b("work_run"),rootRequestRef:b("root_request"),prGroupRef:b("pr_group"),leafTaskRef:b("leaf_task"),attempt:sk,repository:_C,events:$C,openLoopsInvocationRef:b("openloops_invocation").optional(),pullRequestRef:b("pull_request").optional(),exactHead:UC.optional(),handoff:gC.optional(),reviews:E.array(DC).default([]),repair:IC,merge:EC.optional(),recovery:OC.optional(),cancellation:AC.optional(),cleanup:PC.optional(),rollback:zC.optional(),terminalDispositionRef:b("terminal_disposition").optional(),provenanceLedger:E.array(SC),adapterExtensions:E.array(GC).default([]),evidenceRefs:E.array(X$).default([])}).strict().superRefine((_,$)=>{let g=_.canonicalizationVersion===1?U9({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):U9({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==g)$.addIssue({code:E.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let U=new Set,D=new Set,I=new Set,j=new Set,N=new Set,O=new Set;for(let[T,q]of _.provenanceLedger.entries()){if("ref"in q){if(U.has(q.ref.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(U.add(q.ref.id),D.has(q.ref.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(q.ref.digest);continue}if(q.category==="projection_id"){if(I.has(q.projectionId))$.addIssue({code:E.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});I.add(q.projectionId);continue}if(q.category==="attempt_nonce"){if(j.has(q.nonce))$.addIssue({code:E.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});j.add(q.nonce);continue}if(N.has(q.prefixDigest))$.addIssue({code:E.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(N.add(q.prefixDigest),O.has(q.sequence))$.addIssue({code:E.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});O.add(q.sequence)}for(let T of WC(_))if(!_.provenanceLedger.some((q)=>XC(q,T)))$.addIssue({code:E.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let A=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],L=(T,q,V,Z)=>{let a=new Set(q.map((I_)=>I_.role)),D_=new Set;for(let[I_,J_]of T.entries()){if(!a.has(J_.role))$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} cannot preserve an unrecognized ${J_.role} role`,path:[...V,I_]});if(D_.has(J_.role))$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} must preserve exactly one canonical ref per role`,path:[...V,I_]});D_.add(J_.role)}if(T.length!==q.length)$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} preservation refs must exactly equal the required canonical role set`,path:V});for(let I_ of q)if(!T.some((J_)=>B_(J_,I_)))$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} must preserve ${I_.role}`,path:V})};if(_.handoff&&!B_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)Ng(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:E.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!B_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});Ng(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),Ng(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),L(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...A],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!B_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:E.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)L(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...A],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:E.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:E.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:E.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:E.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:E.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:E.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!B_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,q]of _.reviews.entries())if(!B_(q.pullRequestRef,_.pullRequestRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!B_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:E.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:E.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:E.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!e_(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!e_(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:E.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:E.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:E.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((Z,a)=>({ref:Z,path:["exactHead","ciProofBundleRefs",a]})),..._.reviews.map((Z,a)=>({ref:Z.proofBundleRef,path:["reviews",a,"proofBundleRef"]}))],q=new Set,V=new Set;for(let Z of T){let a=EN(Z.ref);if(q.has(a))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:Z.path});if(q.add(a),V.has(Z.ref.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:Z.path});V.add(Z.ref.digest)}}let z=new Set,W=new Set,J=new Set,P=new Set,S=new Set,X=new Set,G=new Set,R=new Set;for(let[T,q]of _.reviews.entries()){if(!e_(q.base,_.repository.baseHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!e_(q.head,_.repository.branchHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[Z,a,D_]of[[q.ref.id,z,"ref"],[q.reviewerRef.id,J,"reviewerRef"],[q.reviewRunRef.id,S,"reviewRunRef"]]){if(a.has(Z))$.addIssue({code:E.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,D_]});a.add(Z)}if(W.has(q.ref.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(W.add(q.ref.digest),P.has(q.reviewerRef.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(P.add(q.reviewerRef.digest),X.has(q.reviewRunRef.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});X.add(q.reviewRunRef.digest);let V=EN(q.proofBundleRef);if(G.has(V))$.addIssue({code:E.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(G.add(V),R.has(q.proofBundleRef.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(R.add(q.proofBundleRef.digest),q.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(q.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(q.reviewedAt)Date.parse(_.merge.guard.evaluatedAt)T.verdict!=="approved"))$.addIssue({code:E.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((q)=>B_(T,q.ref))))$.addIssue({code:E.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((q)=>B_(q,T.proofBundleRef)))$.addIssue({code:E.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>B_(T,_.exactHead.equalityProofRef)))$.addIssue({code:E.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((q)=>B_(q,T))))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!e_(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!e_(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:E.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:E.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:E.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((I9.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let K=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!QC[_.state].has(K))$.addIssue({code:E.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${K}`,path:["merge"]});if(j9.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!j9.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:E.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:E.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:E.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:E.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:E.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:E.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:E.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:E.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:E.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let Q=new Set;for(let[T,q]of _.adapterExtensions.entries()){let V=`${q.mode}:${q.schema}`;if(Q.has(V))$.addIssue({code:E.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});Q.add(V)}});var qC=E.object({id:E.string().min(1),at:V_,kind:E.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:E.string().min(1),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),costEstimate:YU.optional()}).strict(),BC=L_(x.agentTrajectory).extend({actor:m$,workRunRef:s.optional(),events:E.array(qC).default([]),outcome:E.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:s.optional()}).strict(),KC="v1",VC=E.enum(["library","cli-with-store","service","saas"]),FC=["user-hosted","hasna-saas"],MC=E.enum(FC),ZC=["api","sdk","mcp","cli"],v9=E.enum(ZC),bC=E.enum(["supported","deferred","unsupported"]),HC=E.enum(["none","local-only","api-key","session","service-token","custom"]),H3=E.object({method:E.enum(["GET","POST","PUT","PATCH","DELETE"]),path:E.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:E.boolean().default(!1),description:E.string().min(1).optional()}).strict(),kC=E.object({id:E.string().min(1),kind:E.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:E.boolean().default(!0),command:E.string().min(1).optional(),evidenceRef:T_.optional(),status:E.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:E.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:E.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),CC=E.object({name:E.string().min(1),kind:v9.optional(),status:bC,bin:E.string().min(1).optional(),mcpBin:E.string().min(1).optional(),authMode:HC,health:H3.optional(),readiness:H3.optional(),version:H3.optional(),apiBasePath:E.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:E.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:E.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:E.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:E.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:E.string().min(1).optional(),readinessGates:E.array(kC).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:E.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:E.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:E.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:E.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:E.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:E.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:E.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),rC=["sqlite","postgres"],f9=E.enum(rC),w9=["sqlite","postgres"],vC=E.enum(w9),f3=["postgres"],fC=E.object({kind:v9,reason:E.string().trim().min(1)}).strict(),m3=500,i3=200,ON=(_)=>E.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),wC=["domain","host","ip","email"],uC=E.object({kind:E.enum(wC),reason:ON(m3),reviewedBy:ON(i3),expiresAt:V_}).strict(),xC=E.object({engine:E.enum(f3),reason:ON(m3),reviewedBy:ON(i3).optional(),expiresAt:V_.optional()}).strict();function yC(_){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 hC=E.object({conformance:E.object({waivedSurfaces:E.array(fC).default([]),waiverProfile:E.literal("non-node-monorepo").optional(),waivedStorageEngines:E.array(xC).default([]),waivedAssetInventories:E.array(uC).default([])}).catchall(E.unknown()).optional(),release:E.object({artifactScan:E.object({script:E.string().trim().min(1)}).strict().optional()}).catchall(E.unknown()).optional()}).catchall(E.unknown()),cC=E.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),nC=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function dC(_){return nC.map(($)=>`${_}${$}`)}function N9(_){return`hasna/oss/${_}/database-url`}var mC=E.object({mode:f9,engines:E.array(vC).min(1).optional(),envPrefix:E.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:E.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:E.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:E.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:E.object({envVar:E.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:E.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:E.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:E.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA__DATABASE_URL contract",path:["envPrefix"]})}),u9=E.enum(["0600"]),x9=E.enum(["0700"]),y9=E.enum([".hasna",".codewith"]),iC=E.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),Ug=W$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),lC=E.object({id:E.string().min(1),source:E.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:E.string().min(1).optional(),column:E.string().min(1).optional(),description:E.string().min(1),required:E.boolean().default(!0)}).strict(),tC=E.object({safeWhen:E.enum(["exclusive_access","offline_only","never"]),operations:E.array(E.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),oC=E.object({id:E.string().min(1),description:E.string().min(1),ttlDays:E.number().int().nonnegative().optional(),artifactClasses:E.array(iC).min(1),allowlistGlobs:E.array(Ug).min(1),activeRecordExclusions:E.array(lC).default([]),sqliteMaintenance:tC.optional()}).strict(),pC=E.object({storeId:E.string().regex(/^[a-z][a-z0-9-]*$/),packageName:E.string().min(1),displayName:E.string().min(1),root:y9,relativePath:Ug,directoryMode:x9.default("0700"),fileMode:u9.default("0600"),sqliteDatabaseGlobs:E.array(Ug).default([]),sensitiveFileGlobs:E.array(Ug).default([]),backupGlobs:E.array(Ug).default([]),exportGlobs:E.array(Ug).default([]),retentionAdapters:E.array(oC).default([]),notes:E.array(E.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:E.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let g=new Set;for(let[U,D]of _.retentionAdapters.entries()){if(g.has(D.id))$.addIssue({code:E.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",U,"id"]});g.add(D.id)}}),h9=L_(x.secureLocalStorePolicy).extend({version:E.string().min(1),scope:E.array(y9).min(1),defaults:E.object({directoryMode:x9.default("0700"),fileMode:u9.default("0600"),dryRunDefault:E.literal(!0),requireExplicitApply:E.literal(!0),includeSqliteSidecars:E.literal(!0),redactedEvidenceOnly:E.literal(!0)}).strict(),stores:E.array(pC).min(1),lifecycle:E.object({retentionDryRunDefault:E.literal(!0),requireActiveRecordExclusionProof:E.literal(!0),requireArtifactAllowlist:E.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:E.literal(!0)}).strict(),warnings:E.array(E.string().min(1)).default([])}).strict().superRefine((_,$)=>{let g=new Set;for(let[U,D]of _.stores.entries()){if(g.has(D.storeId))$.addIssue({code:E.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",U,"storeId"]});if(g.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:E.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",U,"root"]})}}),eC=E.object({$schema:E.string().min(1).optional(),schema:E.literal(x.serviceContract),name:cC,class:VC,contractVersion:E.literal(KC),kitVersion:E.string().min(1),description:E.string().min(1).optional(),bins:E.array(E.string().min(1)).default([]),storage:mC.optional(),hosting:E.array(MC).min(1).default(["user-hosted"]),serviceSurfaces:E.array(CC).default([]),metadata:hC.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:E.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let g=new Set(dC(_.name)),U=new Set;for(let[A,L]of _.bins.entries()){if(U.has(L))$.addIssue({code:E.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",A]});if(U.add(L),!g.has(L))$.addIssue({code:E.ZodIssueCode.custom,message:`Bin "${L}" is not allowlisted for app "${_.name}"; allowed: ${[...g].join(", ")}`,path:["bins",A]})}let D=(A)=>U.has(`${_.name}${A}`);if(_.storage){let A=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${A}_`)$.addIssue({code:E.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${A}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==N9(_.name))$.addIssue({code:E.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${N9(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:E.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:E.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let A=new Set(_.storage.engines),L=_.metadata?.conformance?.waivedStorageEngines??[],z=yC({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),W=new Set(z?[]:L.map((P)=>P.engine)),J=w9.filter((P)=>!A.has(P)&&!W.has(P));if(J.length>0){let P=z&&L.length>0?`; declared waiver ignored: ${z}`:"";$.addIssue({code:E.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${J.join(", ")}${P}`,path:["storage","engines"]})}}}if(!U.has(_.name))$.addIssue({code:E.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:E.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:E.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:E.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:E.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:E.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[A,L]of _.serviceSurfaces.entries()){if(L.bin&&!U.has(L.bin))$.addIssue({code:E.ZodIssueCode.custom,message:`Service surface bin "${L.bin}" must be declared in bins`,path:["serviceSurfaces",A,"bin"]});if(L.mcpBin&&!U.has(L.mcpBin))$.addIssue({code:E.ZodIssueCode.custom,message:`Service surface MCP bin "${L.mcpBin}" must be declared in bins`,path:["serviceSurfaces",A,"mcpBin"]})}let I=_.metadata?.conformance?.waivedSurfaces??[],j=new Set;for(let[A,L]of I.entries()){if(j.has(L.kind))$.addIssue({code:E.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${L.kind}`,path:["metadata","conformance","waivedSurfaces",A,"kind"]});j.add(L.kind)}let N=_.metadata?.conformance?.waivedStorageEngines??[],O=new Set;for(let[A,L]of N.entries()){if(O.has(L.engine))$.addIssue({code:E.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${L.engine}`,path:["metadata","conformance","waivedStorageEngines",A,"engine"]});O.add(L.engine)}}),Nd=E.object({status:E.enum(["ok","degraded","unavailable"]),version:E.string().min(1),mode:f9}).strict(),Ed=E.object({ready:E.boolean(),reason:E.string().min(1).optional()}).strict(),Od=E.object({version:E.string().min(1)}).strict(),aC=E.enum(["info","notice","breaking","critical"]),sC=E.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 (..)"),_r=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],$r=E.enum(_r);var gr=E.enum(["fleet","package","machine"]),c9=L_(x.commsEventEnvelope).extend({type:sC,severity:aC,scope:gr,summary:E.string().min(1).optional(),source:m$.optional(),affected_packages:E.array(t).default([]),affected_machines:E.array(t).default([]),action_required:E.boolean().default(!1),ack_by:V_.optional(),dedupe_key:t,resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:E.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Dr=E.enum(["fleet","package","product","loop-lane","initiative","personal"]),Ur=E.enum(["quiet","work","firehose"]),Ir=t.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:)"),jr=L_(x.commsChannelMetadata).extend({class:Dr,noise:Ur.optional(),owner:t.optional(),until:Ir.optional(),successor:t.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:E.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:E.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),E9={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}},Nr=L_(x.commsMessageMetadata).extend({tag:$r,envelope:c9}).strict().superRefine((_,$)=>{let g=E9[_.tag];if(!g.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:E.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${g.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(g.requiredEventType&&_.envelope.type!==g.requiredEventType)$.addIssue({code:E.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${g.requiredEventType}`,path:["envelope","type"]});for(let[U,D]of Object.entries(E9))if(D.requiredEventType===_.envelope.type&&_.tag!==U)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${U}] tag`,path:["tag"]})});var Er={[x.actorRef]:CH,[x.resourceRef]:rH,[x.evidenceRef]:fH,[x.workRun]:ik,[x.taskToPrProjection]:TC,[x.decisionEnvelope]:q9,[x.costEstimate]:YU,[x.capabilityCard]:uH,[x.providerLiveModeStandard]:dH,[x.contextPack]:B9,[x.integrationRef]:K9,[x.projectManifest]:oH,[x.projectPanel]:V9,[x.projectSnapshot]:Ik,[x.renderManifest]:sH,[x.agentTrajectory]:BC,[x.validationPlan]:jk,[x.proofBundle]:mk,[x.scaffoldManifest]:Pk,[x.scaffoldInstallRecord]:Sk,[x.appCloudManifest]:Z9,[x.noCloudEvidencePack]:nk,[x.secureLocalStorePolicy]:h9,[x.serviceContract]:eC,[x.commsEventEnvelope]:c9,[x.commsChannelMetadata]:jr,[x.commsMessageMetadata]:Nr,[x.app]:qk,[x.release]:Kk,[x.rolloutRecord]:Mk,[x.announcement]:kk,[x.audience]:uk};class n9 extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function d9(_,$){let U=Er[_].safeParse($);if(!U.success)throw new n9(_,U.error.issues);return U.data}var Ad=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var l3=[{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"}],Ld=l3.filter((_)=>("checkKind"in _)),Or=l3.filter((_)=>_.kind==="module"),Jd=[...new Set([...IN,...Or.map((_)=>_.pattern)])],Pd=l3.filter((_)=>_.kind==="config");var O9="^[^\\u0000-\\u001f\\u007f]*$",zd={$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:x.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:f3.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...f3]},reason:{type:"string",minLength:1,maxLength:m3,allOf:[{pattern:"\\S"},{pattern:O9}]},reviewedBy:{type:"string",minLength:1,maxLength:i3,allOf:[{pattern:"\\S"},{pattern:O9}]},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 Ar="2026-07-06";function c$(_,$,g,U,D,I=[],j){return{id:_,description:$,ttlDays:g,artifactClasses:U,allowlistGlobs:D,activeRecordExclusions:I.map((N)=>({...N,required:N.required??!0})),sqliteMaintenance:j}}var Sd=h9.parse({schema:x.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Ar,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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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 Lr=64,Wd=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Lr-1}}$`),gg="[0-9a-fA-F]",Xd=new RegExp(`^\\{?(?:${gg}{8}-${gg}{4}-${gg}{4}-${gg}{4}-${gg}{12}|${gg}{32})\\}?$`);var Jr=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var Rd=new RegExp(Jr.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var m9="@hasna/knowledge";function Pr(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function zr(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function QU(_,$=180){let g=String(_??"").replace(/\s+/g," ").trim();if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-3))}...`}function C_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function TU(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function qg(_){if(typeof _!=="string"||_.length===0)return;let $=_.includes("T")?_:`${_.replace(" ","T")}Z`,g=new Date($);return Number.isNaN(g.valueOf())?void 0:g.toISOString()}function PN(_){return H$.safeParse(_).success}function k$(_,$,g,U,D=[]){return{kind:_,id:$,name:g,uri:U&&PN(U)?U:void 0,externalId:$,sourcePackage:m9,tags:D}}function Sr(_){return[..._.items.flatMap((g)=>[g.updated_at,g.created_at]),..._.sources.flatMap((g)=>[g.updated_at,g.created_at]),..._.chunks.map((g)=>g.created_at),..._.wiki_pages.flatMap((g)=>[g.updated_at,g.created_at]),..._.storage_objects.flatMap((g)=>[g.updated_at,g.created_at]),..._.runs.flatMap((g)=>[g.updated_at,g.created_at]),..._.reindex_queue.flatMap((g)=>[g.updated_at,g.created_at]),..._.sync_conflicts.map((g)=>g.created_at),..._.approval_gates.flatMap((g)=>[g.updated_at,g.created_at])].map(qg).filter(Boolean).sort((g,U)=>U.localeCompare(g))[0]}function Wr(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function Xr(_){let $=(g)=>{let U=String(g??"").toLowerCase();return U!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(U)};return _.reindex_queue.filter((g)=>$(g.status)).length+_.sync_conflicts.filter((g)=>$(g.status)).length+_.approval_gates.filter((g)=>$(g.status)).length}function Rr(_,$){let g=[];for(let U of _.items.slice(0,$))g.push({id:`item_${U.id}`,title:U.title,summary:QU(U.content_preview),status:U.archived?"archived":"active",priority:"medium",timestamp:qg(U.updated_at??U.created_at),resourceRefs:[k$("knowledge",U.id,U.title,`knowledge://item/${encodeURIComponent(U.id)}`,U.tags)],evidenceRefs:U.url&&PN(U.url)?[{id:`url_${U.id}`,kind:"url",uri:U.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:U.archived,tags:U.tags,url:U.url||void 0}});for(let U of _.sources.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,C_(U.uri,"source")),I=C_(U.title,C_(U.uri,D)),j=C_(U.uri,`knowledge://source/${encodeURIComponent(D)}`);g.push({id:`source_${D}`,title:I,summary:QU(`${TU(U.chunks)} chunk(s), ${TU(U.revisions)} revision(s)`),status:TU(U.chunks)>0?"indexed":"source",priority:"medium",timestamp:qg(U.updated_at??U.created_at),resourceRefs:[k$("document",D,I,j)],evidenceRefs:PN(j)?[{id:`source_${D}`,kind:"url",uri:j,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:U.kind,chunks:TU(U.chunks),revisions:TU(U.revisions)}})}for(let U of _.chunks.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,"chunk"),I=C_(U.source_uri);g.push({id:`chunk_${D}`,title:C_(U.wiki_title,I?`Chunk from ${I}`:`Knowledge chunk ${D}`),summary:QU(U.text_preview),status:"chunk",priority:"low",timestamp:qg(U.created_at),resourceRefs:[k$("context_pack",D,C_(U.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:I&&PN(I)?[{id:`chunk_source_${D}`,kind:"url",uri:I,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:I||void 0,token_count:U.token_count,ordinal:U.ordinal}})}for(let U of _.sync_conflicts.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,"sync_conflict");g.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${C_(U.entity_kind,"entity")}/${C_(U.entity_id,D)}`,summary:QU(`Status ${C_(U.status,"unknown")}; strategy ${C_(U.resolution_strategy,"none")}.`),status:C_(U.status,"unknown"),priority:"critical",timestamp:qg(U.created_at),resourceRefs:[k$("finding",D,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:U.local_machine_id,remote_machine_id:U.remote_machine_id}})}for(let U of _.reindex_queue.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,"reindex");g.push({id:`reindex_${D}`,title:`Reindex ${C_(U.kind,"item")}: ${C_(U.target_id,D)}`,summary:QU(U.reason),status:C_(U.status,"unknown"),priority:C_(U.status).toLowerCase()==="failed"?"high":"medium",timestamp:qg(U.updated_at??U.created_at),resourceRefs:[k$("action",D,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:U.attempts,source_uri:U.source_uri}})}return g.slice(0,$)}async function i9(_,$={}){let g=Pr($.limit),U=new Date().toISOString(),D=zr(_),j=await($.service??UN({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:g,storePath:$.storePath,includeArchived:$.includeArchived}),N=Sr(j),O=Wr(N),A=j.summary.active_items+j.summary.sources+j.summary.chunks+j.summary.wiki_pages+j.summary.storage_objects,L=Xr(j),z=A===0?"empty":O==="stale"?"stale":"ready",W=Rr(j,g),J={schema:x.projectPanel,id:`knowledge_panel_${D}`,createdAt:U,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:m9,externalId:j.home},kind:"knowledge",title:"Knowledge",summary:z==="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:z,stateReason:z==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:U,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:W,actions:[k$("action","knowledge:inventory","Inspect knowledge inventory"),k$("action","knowledge:context-pack","Build cited context pack"),k$("action","knowledge:ingest","Ingest project source")],resourceRefs:[k$("project",D,_,`project://${D}`),k$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),k$("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:g}},metadata:{scope:j.scope,home:j.home,json_store_exists:j.paths.json_store_exists,latest_activity_at:N}};return d9(x.projectPanel,J)}function l9(_){let $=[`${_.title}: ${_.state}`,_.summary??"",..._.metrics.map((g)=>`${g.label}: ${g.value}`)].filter(Boolean);if(_.items.length>0){$.push("Items:");for(let g of _.items.slice(0,10))if($.push(`- ${g.title}${g.status?` [${g.status}]`:""}`),g.summary)$.push(` ${g.summary}`)}return $.join(` -`)}var p9=["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 e9="HASNA_KNOWLEDGE_STORAGE_MODE",a9="KNOWLEDGE_STORAGE_MODE";function t9(_){return process.env[_]?.trim()||void 0}function o9(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function Gr(_={}){let $=D0(ZU(_.scope,_.cwd).home);return h($.knowledgeDbPath),{db:v($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function s9(){let _=o9(t9(e9))??o9(t9(a9));if(_)return _;return"sqlite"}function t3(_={}){let $=Gr(_);try{Yr($.db);let g=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:s9(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:p9,sync:g}}finally{$.db.close()}}function Yr(_){_.exec(` + `,[g]).map(Ib),e={legacy_items:D.items.length,active_items:I.length,archived_items:D.items.length-I.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:g,paths:{json_store_path:U,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:e,legacy_store:{path:U,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:I.length,archived_items:D.items.length-I.length,items_returned:Math.min(j.length,g)},items:j.slice(0,g).map(yG),sources:L,source_revisions:z,chunks:W,wiki_pages:J,indexes:P,storage_objects:S,runs:X,vector_indexes:G,reindex_queue:R,machines:K,sync_conflicts:Q,approval_gates:T,audit_events:q,promotion_candidates:V,durable_records:Z,message:`${D.items.length} item(s), ${O.sources} source(s), ${O.chunks} chunk(s), ${O.wiki_pages} wiki page(s), ${O.storage_objects} artifact(s)`}}finally{A.close()}}assertAppWikiWrite(_){wg({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return $W({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return gW({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(!W_($.knowledgeDbPath))return[];return DW({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let g=this.workspace;if(!W_(g.knowledgeDbPath))return null;return UW({dbPath:g.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return IW({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();h(_.knowledgeDbPath);let $=await TG(this.artifactStore()),g=v(_.knowledgeDbPath);try{s$(g,$.artifacts),qG(g,$.artifacts)}finally{g.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return RG({..._,dbPath:$.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer(_){let $=this.ensureWorkspace(),g=await this.retrieveContext({query:_.prompt,limit:_.limit,semantic:_.semantic,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake});return GG({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:g,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return YG({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return pS({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let g=this.ensureWorkspace();return pU({dbPath:g.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,g=$?this.workspace:this.ensureWorkspace();return NG({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:g.jsonStorePath,dbPath:g.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let g=this.ensureWorkspace();return lU({dbPath:g.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return GR({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!W_($.knowledgeDbPath))return Ab();return pR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return U3({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return eR({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return AW(this.config(),_)}modelRegistry(){return WE(this.config())}embeddingStatus(){let _=this.workspace;if(!W_(_.knowledgeDbPath))return Lb();return WW(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return sU({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return Y6()}async fetchCloudItems(){let _=fg();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return yU(_)}async semanticSearch(_){let $=this.workspace;if(this.isApiMode()){let g=await this.fetchCloudItems(),U=await j4(g,{..._},["semantic_search_requires_local_catalog"]);return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:U.results}}if(!W_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return _I({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems();return j4(U,_)}let g=B3(this.scope,$,_.legacyStorePath);if(!W_($.knowledgeDbPath)){if(W_(g))return UI({..._,legacyStorePath:g,config:this.config()});return aG(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return DI({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let U=await this.fetchCloudItems();return jI(U,_)}let g=B3(this.scope,$,_.legacyStorePath);if(!W_($.knowledgeDbPath)){if(W_(g)){let U=await UI({..._,legacyStorePath:g,config:this.config()});return R0(U,{contextChars:_.contextChars})}return Eb(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return G0({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let U=(_.query??_.topic??"").trim();if(U&&_.source!=="loops"&&_.source!=="runs"){let D=await this.fetchCloudItems(),I=await j4(D,{..._,query:U}),j=R0(I,{contextChars:_.contextChars});return nG(_,j,this.safetyPolicy())}return dG(_)}let g=B3(this.scope,$,_.legacyStorePath);if(!W_($.knowledgeDbPath)){let U=(_.query??_.topic??"").trim();if(U&&_.source!=="loops"&&_.source!=="runs"&&W_(g)){let D=await UI({..._,query:U,legacyStorePath:g,config:this.config()}),I=R0(D,{contextChars:_.contextChars});return nG(_,I,this.safetyPolicy())}return dG(_)}return iW({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){let U=await this.fetchCloudItems();return wW(U,{..._,config:this.config()})}let $=this.ensureWorkspace(),g=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)Hg(g);return fW({..._,dbPath:$.knowledgeDbPath,legacyStorePath:g,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return LG({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return rR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return wR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!W_(_.knowledgeDbPath))return Jb({scope:this.scope,workspaceHome:_.home});return SX({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();h($.knowledgeDbPath);let g=this.syncStatus(),U=this.storageContract(),D=this.validateStorage(),I=Pb($.knowledgeDbPath,U),j=_.machine?.trim()||null,N=_.peerWorkspace?.trim()||null,O=[],A=null,L=null;if(j&&!tG(j)){let S=await sP({machineId:j,includeTailscale:_.includeTailscale});A=q3(S),O.push(...S.warnings)}if(j||N){let S=await ij({machineId:j??T3($),peerWorkspace:N,includeTailscale:_.includeTailscale});if(j&&!N&&(A?.source==="raw"||!S.ok||!S.project_root)){let X=vG($.knowledgeDbPath,j);if(X){if(A?.source==="raw"&&X.ssh_target)A=q3(fG(X,j,{target:A.target,route:A.route,targetKind:A.target_kind,confidence:A.confidence,source:A.source,adapter:A.adapter,evidence:A.evidence,cacheability:A.cacheability,warnings:[]}));if(!S.ok||!S.project_root){let G=wG(X,j,S);if(G)L=OU(G,G.project_root),O.push(...G.warnings)}}}L=S.ok&&S.project_root?OU(S,S.project_root):L??{...OU(S,N??""),project_root:S.project_root??N??""},O.push(...S.warnings)}if(!D.ok)O.push(...D.errors.map((S)=>`storage:${S}`));let z=$b($.knowledgeDbPath,L);if(!z.ok)O.push("open_files_boundary_raw_payload_sentinels");if(!I.ok)O.push(...I.warnings);let W=L?.diagnostics.filter((S)=>S.severity==="fail")??[],J=D.ok&&I.ok&&z.ok&&W.length===0&&(L?.project_root!==""||!L),P=Sb({scope:this.scope,machine:j,peerWorkspace:N,tables:_.tables,resolvedWorkspace:L,openConflicts:g.conflicts.open});return{ok:J,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:$.home,database:{sqlite_schema_version:g.sqlite_schema_version,table_counts:g.table_counts},storage:{contract:U,validation:D,artifact_manifest:I},sync:{machines:g.machines.total,snapshots:g.snapshots.total,clocks:g.clocks.total,imports:g.imports.total,open_conflicts:g.conflicts.open,table_clocks:g.clocks.rows},open_files:z,resolved_route:A,resolved_workspace:L,recommended_commands:P,warnings:[...new Set(O)],message:J?`Sync readiness ok: ${g.clocks.total} table clock(s), ${g.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(O)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();h($.knowledgeDbPath);let g=this.storageContract(),U=Z3(g),D=zb($.knowledgeDbPath,g),I=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:I,approval_required:!1,storage_type:g.storage_type,storage_prefix:U,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:g.storage_type,storage_prefix:U,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:g.storage_type,storage_prefix:U,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let j=v($.knowledgeDbPath);try{let N=new Date().toISOString();j.transaction((L)=>{let z=j.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),W=j.query("SELECT id, metadata_json FROM storage_objects").all(),J=new Map(W.map((P)=>[P.id,c4(P.metadata_json)]));for(let P of L){let S=J.get(P.id)??{};S.key=P.repaired_key,z.run(JSON.stringify(S),N,P.id)}})(D);let A=X_(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:D.length,storage_type:g.storage_type,storage_prefix:U,artifact_uris:D.map((L)=>L.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:g.storage_type,storage_prefix:U,candidates:D,repaired:D.length,audit_event_id:A,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{j.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),g=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return zX({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:g,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!W_($.knowledgeDbPath))return[];return WX($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),g=WI($.knowledgeDbPath,_);if(!g)throw Error(`Sync conflict not found: ${_}`);return g}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return lg($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return XR({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),g=lg($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:g.conflict,proposal:g,message:"Sync conflict resolution requires --approve-write and --approved-by "};let U=GX($.knowledgeDbPath,{id:_.id,strategy:_.strategy??g.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let I=X_(D,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:U.entity_kind,entity_id:U.entity_id,strategy:U.resolution_strategy,approved_by:U.approved_by,proposed_patch_uri:U.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:U,audit_event_id:I,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!W_(_.knowledgeDbPath))return[];return vE(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),h($.knowledgeDbPath),ig({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"),h($.knowledgeDbPath),SI({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",g=_.dryRun===!0,U=this.ensureWorkspace();h(U.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],I=_.includeArtifactContent===!1?["--no-artifact-content"]:[],j=["--scope",this.scope,"--json"],N=await sP({machineId:_.machine,includeTailscale:_.includeTailscale}),O=await ij({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&N.source==="raw"||!O.ok||!O.project_root){let J=vG(U.knowledgeDbPath,_.machine);if(J){if(!_.peerWorkspace&&N.source==="raw"&&J.ssh_target)N=fG(J,_.machine,N);if(!O.ok||!O.project_root){let P=wG(J,_.machine,O);if(P)O=P}}}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 A=O.project_root,L={ok:!0,dry_run:g,direction:$,transport:"ssh",machine:_.machine,resolved_machine:N.target,resolved_route:q3(N),resolved_workspace:OU(O,O.project_root),peer_workspace:A,message:""},z=!1,W=()=>{if(g||z)return;LX(U.knowledgeDbPath,{machineId:_.machine,route:N,workspace:O}),z=!0};if($==="pull"||$==="both"){let J=rG(A,["sync","export",...j,...D,...I]),P=mG(_.machine,J,void 0,N),S=iG(_.machine,"sync export",P);Xb(_.machine,S),L.pull=await this.importSyncBundle({bundle:S,dryRun:g,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){W();let J=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!g}),P=rG(A,["sync","import",...j,...g?["--dry-run"]:[]]),S=iG(_.machine,"sync import",mG(_.machine,P,JSON.stringify(J),N));Rb(_.machine,S),L.push=S}return L.ok=(L.pull?.ok??!0)&&(L.push?.ok??!0),W(),L.message=[uG(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",g=this.ensureWorkspace();h(g.knowledgeDbPath);let U=lG(_.peerWorkspace),D=lZ(U);h(D.knowledgeDbPath);let I=MN(D.configPath),j=dU(I,D,this.scope),N=gE(I,D),O=_.machineId??T3(g),A=T3(D),L=await ij({machineId:_.machineId??A,peerWorkspace:U,includeTailscale:!1}),z=()=>ig({dbPath:g.knowledgeDbPath,scope:this.scope,workspaceHome:g.home,storage:this.storageContract(),machineId:O,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),W=()=>ig({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:j,machineId:A,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),J={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:OU(L,L.project_root??U),message:""};if($==="pull"||$==="both")J.pull=await SI({targetDbPath:g.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:g.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:W(),targetBundle:z(),direction:"pull",dryRun:_.dryRun,localMachineId:O});if($==="push"||$==="both")J.push=await SI({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:j,targetStore:N,bundle:z(),targetBundle:W(),direction:"push",dryRun:_.dryRun,localMachineId:A});return J.ok=(J.pull?.ok??!0)&&(J.push?.ok??!0),J.message=[uG(J.resolved_workspace),J.pull?`pull: ${J.pull.message}`:null,J.push?`push: ${J.push.message}`:null].filter(Boolean).join("; "),J}}function UN(_={}){return new sG(_)}import{createHash as _9}from"crypto";var Yb=Object.defineProperty,Qb=(_)=>_;function Tb(_,$){this[_]=Qb.bind(null,$)}var qb=(_,$)=>{for(var g in $)Yb(_,g,{get:$[g],enumerable:!0,configurable:!0,set:Tb.bind($,g)})},E={};qb(E,{void:()=>NH,util:()=>U_,unknown:()=>IH,union:()=>LH,undefined:()=>gH,tuple:()=>zH,transformer:()=>D9,symbol:()=>$H,string:()=>X9,strictObject:()=>AH,setErrorMap:()=>Vb,set:()=>XH,record:()=>SH,quotelessJson:()=>Bb,promise:()=>qH,preprocess:()=>VH,pipeline:()=>FH,ostring:()=>MH,optional:()=>BH,onumber:()=>ZH,oboolean:()=>bH,objectUtil:()=>k3,object:()=>OH,number:()=>R9,nullable:()=>KH,null:()=>DH,never:()=>jH,nativeEnum:()=>TH,nan:()=>ab,map:()=>WH,makeIssue:()=>NN,literal:()=>YH,lazy:()=>GH,late:()=>pb,isValid:()=>n4,isDirty:()=>r3,isAsync:()=>PU,isAborted:()=>C3,intersection:()=>PH,instanceof:()=>eb,getParsedType:()=>P6,getErrorMap:()=>jN,function:()=>RH,enum:()=>QH,effect:()=>D9,discriminatedUnion:()=>JH,defaultErrorMap:()=>Eg,datetimeRegex:()=>z9,date:()=>_H,custom:()=>W9,coerce:()=>HH,boolean:()=>G9,bigint:()=>sb,array:()=>EH,any:()=>UH,addIssueToContext:()=>u,ZodVoid:()=>SU,ZodUnknown:()=>m6,ZodUnion:()=>Jg,ZodUndefined:()=>Ag,ZodType:()=>__,ZodTuple:()=>d$,ZodTransformer:()=>R$,ZodSymbol:()=>zU,ZodString:()=>F$,ZodSet:()=>i4,ZodSchema:()=>__,ZodRecord:()=>WU,ZodReadonly:()=>Gg,ZodPromise:()=>l4,ZodPipeline:()=>GU,ZodParsedType:()=>y,ZodOptional:()=>Z$,ZodObject:()=>b_,ZodNumber:()=>i6,ZodNullable:()=>z6,ZodNull:()=>Lg,ZodNever:()=>n$,ZodNativeEnum:()=>Wg,ZodNaN:()=>RU,ZodMap:()=>XU,ZodLiteral:()=>Sg,ZodLazy:()=>zg,ZodIssueCode:()=>k,ZodIntersection:()=>Pg,ZodFunction:()=>jg,ZodFirstPartyTypeKind:()=>i,ZodError:()=>O$,ZodEnum:()=>t6,ZodEffects:()=>R$,ZodDiscriminatedUnion:()=>AN,ZodDefault:()=>Xg,ZodDate:()=>d4,ZodCatch:()=>Rg,ZodBranded:()=>LN,ZodBoolean:()=>Og,ZodBigInt:()=>l6,ZodArray:()=>M$,ZodAny:()=>m4,Schema:()=>__,ParseStatus:()=>m_,OK:()=>a_,NEVER:()=>kH,INVALID:()=>m,EMPTY_PATH:()=>Fb,DIRTY:()=>Ig,BRAND:()=>ob});var U_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function g(D){throw Error()}_.assertNever=g,_.arrayToEnum=(D)=>{let I={};for(let j of D)I[j]=j;return I},_.getValidEnumValues=(D)=>{let I=_.objectKeys(D).filter((N)=>typeof D[D[N]]!=="number"),j={};for(let N of I)j[N]=D[N];return _.objectValues(j)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(I){return D[I]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let I=[];for(let j in D)if(Object.prototype.hasOwnProperty.call(D,j))I.push(j);return I},_.find=(D,I)=>{for(let j of D)if(I(j))return j;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function U(D,I=" | "){return D.map((j)=>typeof j==="string"?`'${j}'`:j).join(I)}_.joinValues=U,_.jsonStringifyReplacer=(D,I)=>{if(typeof I==="bigint")return I.toString();return I}})(U_||(U_={}));var k3;(function(_){_.mergeShapes=($,g)=>{return{...$,...g}}})(k3||(k3={}));var y=U_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),P6=(_)=>{switch(typeof _){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(_)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":if(Array.isArray(_))return y.array;if(_===null)return y.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return y.promise;if(typeof Map<"u"&&_ instanceof Map)return y.map;if(typeof Set<"u"&&_ instanceof Set)return y.set;if(typeof Date<"u"&&_ instanceof Date)return y.date;return y.object;default:return y.unknown}},k=U_.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"]),Bb=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class O$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(g)=>{this.issues=[...this.issues,g]},this.addIssues=(g=[])=>{this.issues=[...this.issues,...g]};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},g={_errors:[]},U=(D)=>{for(let I of D.issues)if(I.code==="invalid_union")I.unionErrors.map(U);else if(I.code==="invalid_return_type")U(I.returnTypeError);else if(I.code==="invalid_arguments")U(I.argumentsError);else if(I.path.length===0)g._errors.push($(I));else{let j=g,N=0;while(N$.message){let $={},g=[];for(let U of this.issues)if(U.path.length>0){let D=U.path[0];$[D]=$[D]||[],$[D].push(_(U))}else g.push(_(U));return{formErrors:g,fieldErrors:$}}get formErrors(){return this.flatten()}}O$.create=(_)=>{return new O$(_)};var Kb=(_,$)=>{let g;switch(_.code){case k.invalid_type:if(_.received===y.undefined)g="Required";else g=`Expected ${_.expected}, received ${_.received}`;break;case k.invalid_literal:g=`Invalid literal value, expected ${JSON.stringify(_.expected,U_.jsonStringifyReplacer)}`;break;case k.unrecognized_keys:g=`Unrecognized key(s) in object: ${U_.joinValues(_.keys,", ")}`;break;case k.invalid_union:g="Invalid input";break;case k.invalid_union_discriminator:g=`Invalid discriminator value. Expected ${U_.joinValues(_.options)}`;break;case k.invalid_enum_value:g=`Invalid enum value. Expected ${U_.joinValues(_.options)}, received '${_.received}'`;break;case k.invalid_arguments:g="Invalid function arguments";break;case k.invalid_return_type:g="Invalid function return type";break;case k.invalid_date:g="Invalid date";break;case k.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(g=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")g=`${g} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)g=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)g=`Invalid input: must end with "${_.validation.endsWith}"`;else U_.assertNever(_.validation);else if(_.validation!=="regex")g=`Invalid ${_.validation}`;else g="Invalid";break;case k.too_small:if(_.type==="array")g=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")g=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")g=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")g=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")g=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else g="Invalid input";break;case k.too_big:if(_.type==="array")g=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")g=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")g=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")g=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")g=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else g="Invalid input";break;case k.custom:g="Invalid input";break;case k.invalid_intersection_types:g="Intersection results could not be merged";break;case k.not_multiple_of:g=`Number must be a multiple of ${_.multipleOf}`;break;case k.not_finite:g="Number must be finite";break;default:g=$.defaultError,U_.assertNever(_)}return{message:g}},Eg=Kb,L9=Eg;function Vb(_){L9=_}function jN(){return L9}var NN=(_)=>{let{data:$,path:g,errorMaps:U,issueData:D}=_,I=[...g,...D.path||[]],j={...D,path:I};if(D.message!==void 0)return{...D,path:I,message:D.message};let N="",O=U.filter((A)=>!!A).slice().reverse();for(let A of O)N=A(j,{data:$,defaultError:N}).message;return{...D,path:I,message:N}},Fb=[];function u(_,$){let g=jN(),U=NN({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,g,g===Eg?void 0:Eg].filter((D)=>!!D)});_.common.issues.push(U)}class m_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let g=[];for(let U of $){if(U.status==="aborted")return m;if(U.status==="dirty")_.dirty();g.push(U.value)}return{status:_.value,value:g}}static async mergeObjectAsync(_,$){let g=[];for(let U of $){let D=await U.key,I=await U.value;g.push({key:D,value:I})}return m_.mergeObjectSync(_,g)}static mergeObjectSync(_,$){let g={};for(let U of $){let{key:D,value:I}=U;if(D.status==="aborted")return m;if(I.status==="aborted")return m;if(D.status==="dirty")_.dirty();if(I.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof I.value<"u"||U.alwaysSet))g[D.value]=I.value}return{status:_.value,value:g}}}var m=Object.freeze({status:"aborted"}),Ig=(_)=>({status:"dirty",value:_}),a_=(_)=>({status:"valid",value:_}),C3=(_)=>_.status==="aborted",r3=(_)=>_.status==="dirty",n4=(_)=>_.status==="valid",PU=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class b${constructor(_,$,g,U){this._cachedPath=[],this.parent=_,this.data=$,this._path=g,this._key=U}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 $9=(_,$)=>{if(n4($))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 g=new O$(_.common.issues);return this._error=g,this._error}}}};function p(_){if(!_)return{};let{errorMap:$,invalid_type_error:g,required_error:U,description:D}=_;if($&&(g||U))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};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??U??N.defaultError};if(j.code!=="invalid_type")return{message:N.defaultError};return{message:O??g??N.defaultError}},description:D}}class __{get description(){return this._def.description}_getType(_){return P6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:P6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new m_,ctx:{common:_.parent.common,data:_.data,parsedType:P6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(PU($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let g=this.safeParse(_,$);if(g.success)return g.data;throw g.error}safeParse(_,$){let g={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:P6(_)},U=this._parseSync({data:_,path:g.path,parent:g});return $9(g,U)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:P6(_)};if(!this["~standard"].async)try{let g=this._parseSync({data:_,path:[],parent:$});return n4(g)?{value:g.value}:{issues:$.common.issues}}catch(g){if(g?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((g)=>n4(g)?{value:g.value}:{issues:$.common.issues})}async parseAsync(_,$){let g=await this.safeParseAsync(_,$);if(g.success)return g.data;throw g.error}async safeParseAsync(_,$){let g={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:P6(_)},U=this._parse({data:_,path:g.path,parent:g}),D=await(PU(U)?U:Promise.resolve(U));return $9(g,D)}refine(_,$){let g=(U)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(U);else return $};return this._refinement((U,D)=>{let I=_(U),j=()=>D.addIssue({code:k.custom,...g(U)});if(typeof Promise<"u"&&I instanceof Promise)return I.then((N)=>{if(!N)return j(),!1;else return!0});if(!I)return j(),!1;else return!0})}refinement(_,$){return this._refinement((g,U)=>{if(!_(g))return U.addIssue(typeof $==="function"?$(g,U):$),!1;else return!0})}_refinement(_){return new R$({schema:this,typeName:i.ZodEffects,effect:{type:"refinement",refinement:_}})}superRefine(_){return this._refinement(_)}constructor(_){this.spa=this.safeParseAsync,this._def=_,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return Z$.create(this,this._def)}nullable(){return z6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return M$.create(this)}promise(){return l4.create(this,this._def)}or(_){return Jg.create([this,_],this._def)}and(_){return Pg.create(this,_,this._def)}transform(_){return new R$({...p(this._def),schema:this,typeName:i.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new Xg({...p(this._def),innerType:this,defaultValue:$,typeName:i.ZodDefault})}brand(){return new LN({typeName:i.ZodBranded,type:this,...p(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new Rg({...p(this._def),innerType:this,catchValue:$,typeName:i.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return GU.create(this,_)}readonly(){return Gg.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Mb=/^c[^\s-]{8,}$/i,Zb=/^[0-9a-z]+$/,bb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Hb=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kb=/^[a-z0-9_-]{21}$/i,Cb=/^[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)?)??$/,vb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,fb="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",b3,wb=/^(?:(?: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])$/,ub=/^(?:(?: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])$/,xb=/^(([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]))$/,yb=/^(([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])$/,hb=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,cb=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,J9="((\\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])))",nb=new RegExp(`^${J9}$`);function P9(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let g=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${g}`}function db(_){return new RegExp(`^${P9(_)}$`)}function z9(_){let $=`${J9}T${P9(_)}`,g=[];if(g.push(_.local?"Z?":"Z"),_.offset)g.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${g.join("|")})`,new RegExp(`^${$}$`)}function mb(_,$){if(($==="v4"||!$)&&wb.test(_))return!0;if(($==="v6"||!$)&&xb.test(_))return!0;return!1}function ib(_,$){if(!Cb.test(_))return!1;try{let[g]=_.split(".");if(!g)return!1;let U=g.replace(/-/g,"+").replace(/_/g,"/").padEnd(g.length+(4-g.length%4)%4,"="),D=JSON.parse(atob(U));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 lb(_,$){if(($==="v4"||!$)&&ub.test(_))return!0;if(($==="v6"||!$)&&yb.test(_))return!0;return!1}class F$ extends __{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==y.string){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_type,expected:y.string,received:D.parsedType}),m}let g=new m_,U=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)U=this._getOrReturnCtx(_,U),u(U,{code:k.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),g.dirty()}else if(D.kind==="length"){let I=_.data.length>D.value,j=_.data.length_.test(U),{validation:$,code:k.invalid_string,...n.errToObj(g)})}_addCheck(_){return new F$({...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 F$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new F$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new F$({...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 _}}F$.create=(_)=>{return new F$({checks:[],typeName:i.ZodString,coerce:_?.coerce??!1,...p(_)})};function tb(_,$){let g=(_.toString().split(".")[1]||"").length,U=($.toString().split(".")[1]||"").length,D=g>U?g:U,I=Number.parseInt(_.toFixed(D).replace(".","")),j=Number.parseInt($.toFixed(D).replace(".",""));return I%j/10**D}class i6 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(_)!==y.number){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_type,expected:y.number,received:D.parsedType}),m}let g=void 0,U=new m_;for(let D of this._def.checks)if(D.kind==="int"){if(!U_.isInteger(_.data))g=this._getOrReturnCtx(_,g),u(g,{code:k.invalid_type,expected:"integer",received:"float",message:D.message}),U.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)g=this._getOrReturnCtx(_,g),u(g,{code:k.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="multipleOf"){if(tb(_.data,D.value)!==0)g=this._getOrReturnCtx(_,g),u(g,{code:k.not_multiple_of,multipleOf:D.value,message:D.message}),U.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))g=this._getOrReturnCtx(_,g),u(g,{code:k.not_finite,message:D.message}),U.dirty()}else U_.assertNever(D);return{status:U.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(_,$,g,U){return new i6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:g,message:n.toString(U)}]})}_addCheck(_){return new i6({...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"&&U_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let g of this._def.checks)if(g.kind==="finite"||g.kind==="int"||g.kind==="multipleOf")return!0;else if(g.kind==="min"){if($===null||g.value>$)$=g.value}else if(g.kind==="max"){if(_===null||g.value<_)_=g.value}return Number.isFinite($)&&Number.isFinite(_)}}i6.create=(_)=>{return new i6({checks:[],typeName:i.ZodNumber,coerce:_?.coerce||!1,...p(_)})};class l6 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(_)!==y.bigint)return this._getInvalidInput(_);let g=void 0,U=new m_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)g=this._getOrReturnCtx(_,g),u(g,{code:k.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),U.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))g=this._getOrReturnCtx(_,g),u(g,{code:k.not_multiple_of,multipleOf:D.value,message:D.message}),U.dirty()}else U_.assertNever(D);return{status:U.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:k.invalid_type,expected:y.bigint,received:$.parsedType}),m}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(_,$,g,U){return new l6({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:g,message:n.toString(U)}]})}_addCheck(_){return new l6({...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 _}}l6.create=(_)=>{return new l6({checks:[],typeName:i.ZodBigInt,coerce:_?.coerce??!1,...p(_)})};class Og extends __{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==y.boolean){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.boolean,received:g.parsedType}),m}return a_(_.data)}}Og.create=(_)=>{return new Og({typeName:i.ZodBoolean,coerce:_?.coerce||!1,...p(_)})};class d4 extends __{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==y.date){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_type,expected:y.date,received:D.parsedType}),m}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:k.invalid_date}),m}let g=new m_,U=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)U=this._getOrReturnCtx(_,U),u(U,{code:k.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),g.dirty()}else U_.assertNever(D);return{status:g.value,value:new Date(_.data.getTime())}}_addCheck(_){return new d4({...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}}d4.create=(_)=>{return new d4({checks:[],coerce:_?.coerce||!1,typeName:i.ZodDate,...p(_)})};class zU extends __{_parse(_){if(this._getType(_)!==y.symbol){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.symbol,received:g.parsedType}),m}return a_(_.data)}}zU.create=(_)=>{return new zU({typeName:i.ZodSymbol,...p(_)})};class Ag extends __{_parse(_){if(this._getType(_)!==y.undefined){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.undefined,received:g.parsedType}),m}return a_(_.data)}}Ag.create=(_)=>{return new Ag({typeName:i.ZodUndefined,...p(_)})};class Lg extends __{_parse(_){if(this._getType(_)!==y.null){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.null,received:g.parsedType}),m}return a_(_.data)}}Lg.create=(_)=>{return new Lg({typeName:i.ZodNull,...p(_)})};class m4 extends __{constructor(){super(...arguments);this._any=!0}_parse(_){return a_(_.data)}}m4.create=(_)=>{return new m4({typeName:i.ZodAny,...p(_)})};class m6 extends __{constructor(){super(...arguments);this._unknown=!0}_parse(_){return a_(_.data)}}m6.create=(_)=>{return new m6({typeName:i.ZodUnknown,...p(_)})};class n$ extends __{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:k.invalid_type,expected:y.never,received:$.parsedType}),m}}n$.create=(_)=>{return new n$({typeName:i.ZodNever,...p(_)})};class SU extends __{_parse(_){if(this._getType(_)!==y.undefined){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.void,received:g.parsedType}),m}return a_(_.data)}}SU.create=(_)=>{return new SU({typeName:i.ZodVoid,...p(_)})};class M$ extends __{_parse(_){let{ctx:$,status:g}=this._processInputParams(_),U=this._def;if($.parsedType!==y.array)return u($,{code:k.invalid_type,expected:y.array,received:$.parsedType}),m;if(U.exactLength!==null){let I=$.data.length>U.exactLength.value,j=$.data.lengthU.maxLength.value)u($,{code:k.too_big,maximum:U.maxLength.value,type:"array",inclusive:!0,exact:!1,message:U.maxLength.message}),g.dirty()}if($.common.async)return Promise.all([...$.data].map((I,j)=>{return U.type._parseAsync(new b$($,I,$.path,j))})).then((I)=>{return m_.mergeArray(g,I)});let D=[...$.data].map((I,j)=>{return U.type._parseSync(new b$($,I,$.path,j))});return m_.mergeArray(g,D)}get element(){return this._def.type}min(_,$){return new M$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new M$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new M$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}M$.create=(_,$)=>{return new M$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:i.ZodArray,...p($)})};function Dg(_){if(_ instanceof b_){let $={};for(let g in _.shape){let U=_.shape[g];$[g]=Z$.create(Dg(U))}return new b_({..._._def,shape:()=>$})}else if(_ instanceof M$)return new M$({..._._def,type:Dg(_.element)});else if(_ instanceof Z$)return Z$.create(Dg(_.unwrap()));else if(_ instanceof z6)return z6.create(Dg(_.unwrap()));else if(_ instanceof d$)return d$.create(_.items.map(($)=>Dg($)));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(),$=U_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==y.object){let O=this._getOrReturnCtx(_);return u(O,{code:k.invalid_type,expected:y.object,received:O.parsedType}),m}let{status:g,ctx:U}=this._processInputParams(_),{shape:D,keys:I}=this._getCached(),j=[];if(!(this._def.catchall instanceof n$&&this._def.unknownKeys==="strip")){for(let O in U.data)if(!I.includes(O))j.push(O)}let N=[];for(let O of I){let A=D[O],L=U.data[O];N.push({key:{status:"valid",value:O},value:A._parse(new b$(U,L,U.path,O)),alwaysSet:O in U.data})}if(this._def.catchall instanceof n$){let O=this._def.unknownKeys;if(O==="passthrough")for(let A of j)N.push({key:{status:"valid",value:A},value:{status:"valid",value:U.data[A]}});else if(O==="strict"){if(j.length>0)u(U,{code:k.unrecognized_keys,keys:j}),g.dirty()}else if(O==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let O=this._def.catchall;for(let A of j){let L=U.data[A];N.push({key:{status:"valid",value:A},value:O._parse(new b$(U,L,U.path,A)),alwaysSet:A in U.data})}}if(U.common.async)return Promise.resolve().then(async()=>{let O=[];for(let A of N){let L=await A.key,z=await A.value;O.push({key:L,value:z,alwaysSet:A.alwaysSet})}return O}).then((O)=>{return m_.mergeObjectSync(g,O)});else return m_.mergeObjectSync(g,N)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new b_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,g)=>{let U=this._def.errorMap?.($,g).message??g.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??U};return{message:U}}}:{}})}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:i.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new b_({...this._def,catchall:_})}pick(_){let $={};for(let g of U_.objectKeys(_))if(_[g]&&this.shape[g])$[g]=this.shape[g];return new b_({...this._def,shape:()=>$})}omit(_){let $={};for(let g of U_.objectKeys(this.shape))if(!_[g])$[g]=this.shape[g];return new b_({...this._def,shape:()=>$})}deepPartial(){return Dg(this)}partial(_){let $={};for(let g of U_.objectKeys(this.shape)){let U=this.shape[g];if(_&&!_[g])$[g]=U;else $[g]=U.optional()}return new b_({...this._def,shape:()=>$})}required(_){let $={};for(let g of U_.objectKeys(this.shape))if(_&&!_[g])$[g]=this.shape[g];else{let D=this.shape[g];while(D instanceof Z$)D=D._def.innerType;$[g]=D}return new b_({...this._def,shape:()=>$})}keyof(){return S9(U_.objectKeys(this.shape))}}b_.create=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strip",catchall:n$.create(),typeName:i.ZodObject,...p($)})};b_.strictCreate=(_,$)=>{return new b_({shape:()=>_,unknownKeys:"strict",catchall:n$.create(),typeName:i.ZodObject,...p($)})};b_.lazycreate=(_,$)=>{return new b_({shape:_,unknownKeys:"strip",catchall:n$.create(),typeName:i.ZodObject,...p($)})};class Jg extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g=this._def.options;function U(D){for(let j of D)if(j.result.status==="valid")return j.result;for(let j of D)if(j.result.status==="dirty")return $.common.issues.push(...j.ctx.common.issues),j.result;let I=D.map((j)=>new O$(j.ctx.common.issues));return u($,{code:k.invalid_union,unionErrors:I}),m}if($.common.async)return Promise.all(g.map(async(D)=>{let I={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:I}),ctx:I}})).then(U);else{let D=void 0,I=[];for(let N of g){let O={...$,common:{...$.common,issues:[]},parent:null},A=N._parseSync({data:$.data,path:$.path,parent:O});if(A.status==="valid")return A;else if(A.status==="dirty"&&!D)D={result:A,ctx:O};if(O.common.issues.length)I.push(O.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let j=I.map((N)=>new O$(N));return u($,{code:k.invalid_union,unionErrors:j}),m}}get options(){return this._def.options}}Jg.create=(_,$)=>{return new Jg({options:_,typeName:i.ZodUnion,...p($)})};var J6=(_)=>{if(_ instanceof zg)return J6(_.schema);else if(_ instanceof R$)return J6(_.innerType());else if(_ instanceof Sg)return[_.value];else if(_ instanceof t6)return _.options;else if(_ instanceof Wg)return U_.objectValues(_.enum);else if(_ instanceof Xg)return J6(_._def.innerType);else if(_ instanceof Ag)return[void 0];else if(_ instanceof Lg)return[null];else if(_ instanceof Z$)return[void 0,...J6(_.unwrap())];else if(_ instanceof z6)return[null,...J6(_.unwrap())];else if(_ instanceof LN)return J6(_.unwrap());else if(_ instanceof Gg)return J6(_.unwrap());else if(_ instanceof Rg)return J6(_._def.innerType);else return[]};class AN extends __{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==y.object)return u($,{code:k.invalid_type,expected:y.object,received:$.parsedType}),m;let g=this.discriminator,U=$.data[g],D=this.optionsMap.get(U);if(!D)return u($,{code:k.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[g]}),m;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(_,$,g){let U=new Map;for(let D of $){let I=J6(D.shape[_]);if(!I.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let j of I){if(U.has(j))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(j)}`);U.set(j,D)}}return new AN({typeName:i.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:U,...p(g)})}}function v3(_,$){let g=P6(_),U=P6($);if(_===$)return{valid:!0,data:_};else if(g===y.object&&U===y.object){let D=U_.objectKeys($),I=U_.objectKeys(_).filter((N)=>D.indexOf(N)!==-1),j={..._,...$};for(let N of I){let O=v3(_[N],$[N]);if(!O.valid)return{valid:!1};j[N]=O.data}return{valid:!0,data:j}}else if(g===y.array&&U===y.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let I=0;I<_.length;I++){let j=_[I],N=$[I],O=v3(j,N);if(!O.valid)return{valid:!1};D.push(O.data)}return{valid:!0,data:D}}else if(g===y.date&&U===y.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class Pg extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_),U=(D,I)=>{if(C3(D)||C3(I))return m;let j=v3(D.value,I.value);if(!j.valid)return u(g,{code:k.invalid_intersection_types}),m;if(r3(D)||r3(I))$.dirty();return{status:$.value,value:j.data}};if(g.common.async)return Promise.all([this._def.left._parseAsync({data:g.data,path:g.path,parent:g}),this._def.right._parseAsync({data:g.data,path:g.path,parent:g})]).then(([D,I])=>U(D,I));else return U(this._def.left._parseSync({data:g.data,path:g.path,parent:g}),this._def.right._parseSync({data:g.data,path:g.path,parent:g}))}}Pg.create=(_,$,g)=>{return new Pg({left:_,right:$,typeName:i.ZodIntersection,...p(g)})};class d$ extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.array)return u(g,{code:k.invalid_type,expected:y.array,received:g.parsedType}),m;if(g.data.lengththis._def.items.length)u(g,{code:k.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...g.data].map((I,j)=>{let N=this._def.items[j]||this._def.rest;if(!N)return null;return N._parse(new b$(g,I,g.path,j))}).filter((I)=>!!I);if(g.common.async)return Promise.all(D).then((I)=>{return m_.mergeArray($,I)});else return m_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new d$({...this._def,rest:_})}}d$.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new d$({items:_,typeName:i.ZodTuple,rest:null,...p($)})};class WU extends __{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.object)return u(g,{code:k.invalid_type,expected:y.object,received:g.parsedType}),m;let U=[],D=this._def.keyType,I=this._def.valueType;for(let j in g.data)U.push({key:D._parse(new b$(g,j,g.path,j)),value:I._parse(new b$(g,g.data[j],g.path,j)),alwaysSet:j in g.data});if(g.common.async)return m_.mergeObjectAsync($,U);else return m_.mergeObjectSync($,U)}get element(){return this._def.valueType}static create(_,$,g){if($ instanceof __)return new WU({keyType:_,valueType:$,typeName:i.ZodRecord,...p(g)});return new WU({keyType:F$.create(),valueType:_,typeName:i.ZodRecord,...p($)})}}class XU extends __{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.map)return u(g,{code:k.invalid_type,expected:y.map,received:g.parsedType}),m;let U=this._def.keyType,D=this._def.valueType,I=[...g.data.entries()].map(([j,N],O)=>{return{key:U._parse(new b$(g,j,g.path,[O,"key"])),value:D._parse(new b$(g,N,g.path,[O,"value"]))}});if(g.common.async){let j=new Map;return Promise.resolve().then(async()=>{for(let N of I){let O=await N.key,A=await N.value;if(O.status==="aborted"||A.status==="aborted")return m;if(O.status==="dirty"||A.status==="dirty")$.dirty();j.set(O.value,A.value)}return{status:$.value,value:j}})}else{let j=new Map;for(let N of I){let{key:O,value:A}=N;if(O.status==="aborted"||A.status==="aborted")return m;if(O.status==="dirty"||A.status==="dirty")$.dirty();j.set(O.value,A.value)}return{status:$.value,value:j}}}}XU.create=(_,$,g)=>{return new XU({valueType:$,keyType:_,typeName:i.ZodMap,...p(g)})};class i4 extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.parsedType!==y.set)return u(g,{code:k.invalid_type,expected:y.set,received:g.parsedType}),m;let U=this._def;if(U.minSize!==null){if(g.data.sizeU.maxSize.value)u(g,{code:k.too_big,maximum:U.maxSize.value,type:"set",inclusive:!0,exact:!1,message:U.maxSize.message}),$.dirty()}let D=this._def.valueType;function I(N){let O=new Set;for(let A of N){if(A.status==="aborted")return m;if(A.status==="dirty")$.dirty();O.add(A.value)}return{status:$.value,value:O}}let j=[...g.data.values()].map((N,O)=>D._parse(new b$(g,N,g.path,O)));if(g.common.async)return Promise.all(j).then((N)=>I(N));else return I(j)}min(_,$){return new i4({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new i4({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}i4.create=(_,$)=>{return new i4({valueType:_,minSize:null,maxSize:null,typeName:i.ZodSet,...p($)})};class jg extends __{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==y.function)return u($,{code:k.invalid_type,expected:y.function,received:$.parsedType}),m;function g(j,N){return NN({data:j,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,jN(),Eg].filter((O)=>!!O),issueData:{code:k.invalid_arguments,argumentsError:N}})}function U(j,N){return NN({data:j,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,jN(),Eg].filter((O)=>!!O),issueData:{code:k.invalid_return_type,returnTypeError:N}})}let D={errorMap:$.common.contextualErrorMap},I=$.data;if(this._def.returns instanceof l4){let j=this;return a_(async function(...N){let O=new O$([]),A=await j._def.args.parseAsync(N,D).catch((W)=>{throw O.addIssue(g(N,W)),O}),L=await Reflect.apply(I,this,A);return await j._def.returns._def.type.parseAsync(L,D).catch((W)=>{throw O.addIssue(U(L,W)),O})})}else{let j=this;return a_(function(...N){let O=j._def.args.safeParse(N,D);if(!O.success)throw new O$([g(N,O.error)]);let A=Reflect.apply(I,this,O.data),L=j._def.returns.safeParse(A,D);if(!L.success)throw new O$([U(A,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new jg({...this._def,args:d$.create(_).rest(m6.create())})}returns(_){return new jg({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,g){return new jg({args:_?_:d$.create([]).rest(m6.create()),returns:$||m6.create(),typeName:i.ZodFunction,...p(g)})}}class zg extends __{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}zg.create=(_,$)=>{return new zg({getter:_,typeName:i.ZodLazy,...p($)})};class Sg extends __{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:k.invalid_literal,expected:this._def.value}),m}return{status:"valid",value:_.data}}get value(){return this._def.value}}Sg.create=(_,$)=>{return new Sg({value:_,typeName:i.ZodLiteral,...p($)})};function S9(_,$){return new t6({values:_,typeName:i.ZodEnum,...p($)})}class t6 extends __{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),g=this._def.values;return u($,{expected:U_.joinValues(g),received:$.parsedType,code:k.invalid_type}),m}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),g=this._def.values;return u($,{received:$.data,code:k.invalid_enum_value,options:g}),m}return a_(_.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 t6.create(_,{...this._def,...$})}exclude(_,$=this._def){return t6.create(this.options.filter((g)=>!_.includes(g)),{...this._def,...$})}}t6.create=S9;class Wg extends __{_parse(_){let $=U_.getValidEnumValues(this._def.values),g=this._getOrReturnCtx(_);if(g.parsedType!==y.string&&g.parsedType!==y.number){let U=U_.objectValues($);return u(g,{expected:U_.joinValues(U),received:g.parsedType,code:k.invalid_type}),m}if(!this._cache)this._cache=new Set(U_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let U=U_.objectValues($);return u(g,{received:g.data,code:k.invalid_enum_value,options:U}),m}return a_(_.data)}get enum(){return this._def.values}}Wg.create=(_,$)=>{return new Wg({values:_,typeName:i.ZodNativeEnum,...p($)})};class l4 extends __{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==y.promise&&$.common.async===!1)return u($,{code:k.invalid_type,expected:y.promise,received:$.parsedType}),m;let g=$.parsedType===y.promise?$.data:Promise.resolve($.data);return a_(g.then((U)=>{return this._def.type.parseAsync(U,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}l4.create=(_,$)=>{return new l4({type:_,typeName:i.ZodPromise,...p($)})};class R$ extends __{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===i.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:g}=this._processInputParams(_),U=this._def.effect||null,D={addIssue:(I)=>{if(u(g,I),I.fatal)$.abort();else $.dirty()},get path(){return g.path}};if(D.addIssue=D.addIssue.bind(D),U.type==="preprocess"){let I=U.transform(g.data,D);if(g.common.async)return Promise.resolve(I).then(async(j)=>{if($.value==="aborted")return m;let N=await this._def.schema._parseAsync({data:j,path:g.path,parent:g});if(N.status==="aborted")return m;if(N.status==="dirty")return Ig(N.value);if($.value==="dirty")return Ig(N.value);return N});else{if($.value==="aborted")return m;let j=this._def.schema._parseSync({data:I,path:g.path,parent:g});if(j.status==="aborted")return m;if(j.status==="dirty")return Ig(j.value);if($.value==="dirty")return Ig(j.value);return j}}if(U.type==="refinement"){let I=(j)=>{let N=U.refinement(j,D);if(g.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(g.common.async===!1){let j=this._def.schema._parseSync({data:g.data,path:g.path,parent:g});if(j.status==="aborted")return m;if(j.status==="dirty")$.dirty();return I(j.value),{status:$.value,value:j.value}}else return this._def.schema._parseAsync({data:g.data,path:g.path,parent:g}).then((j)=>{if(j.status==="aborted")return m;if(j.status==="dirty")$.dirty();return I(j.value).then(()=>{return{status:$.value,value:j.value}})})}if(U.type==="transform")if(g.common.async===!1){let I=this._def.schema._parseSync({data:g.data,path:g.path,parent:g});if(!n4(I))return m;let j=U.transform(I.value,D);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:g.data,path:g.path,parent:g}).then((I)=>{if(!n4(I))return m;return Promise.resolve(U.transform(I.value,D)).then((j)=>({status:$.value,value:j}))});U_.assertNever(U)}}R$.create=(_,$,g)=>{return new R$({schema:_,typeName:i.ZodEffects,effect:$,...p(g)})};R$.createWithPreprocess=(_,$,g)=>{return new R$({schema:$,effect:{type:"preprocess",transform:_},typeName:i.ZodEffects,...p(g)})};class Z$ extends __{_parse(_){if(this._getType(_)===y.undefined)return a_(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}Z$.create=(_,$)=>{return new Z$({innerType:_,typeName:i.ZodOptional,...p($)})};class z6 extends __{_parse(_){if(this._getType(_)===y.null)return a_(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}z6.create=(_,$)=>{return new z6({innerType:_,typeName:i.ZodNullable,...p($)})};class Xg extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g=$.data;if($.parsedType===y.undefined)g=this._def.defaultValue();return this._def.innerType._parse({data:g,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}Xg.create=(_,$)=>{return new Xg({innerType:_,typeName:i.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...p($)})};class Rg extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g={...$,common:{...$.common,issues:[]}},U=this._def.innerType._parse({data:g.data,path:g.path,parent:{...g}});if(PU(U))return U.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new O$(g.common.issues)},input:g.data})}});else return{status:"valid",value:U.status==="valid"?U.value:this._def.catchValue({get error(){return new O$(g.common.issues)},input:g.data})}}removeCatch(){return this._def.innerType}}Rg.create=(_,$)=>{return new Rg({innerType:_,typeName:i.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...p($)})};class RU extends __{_parse(_){if(this._getType(_)!==y.nan){let g=this._getOrReturnCtx(_);return u(g,{code:k.invalid_type,expected:y.nan,received:g.parsedType}),m}return{status:"valid",value:_.data}}}RU.create=(_)=>{return new RU({typeName:i.ZodNaN,...p(_)})};var ob=Symbol("zod_brand");class LN extends __{_parse(_){let{ctx:$}=this._processInputParams(_),g=$.data;return this._def.type._parse({data:g,path:$.path,parent:$})}unwrap(){return this._def.type}}class GU extends __{_parse(_){let{status:$,ctx:g}=this._processInputParams(_);if(g.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:g.data,path:g.path,parent:g});if(D.status==="aborted")return m;if(D.status==="dirty")return $.dirty(),Ig(D.value);else return this._def.out._parseAsync({data:D.value,path:g.path,parent:g})})();else{let U=this._def.in._parseSync({data:g.data,path:g.path,parent:g});if(U.status==="aborted")return m;if(U.status==="dirty")return $.dirty(),{status:"dirty",value:U.value};else return this._def.out._parseSync({data:U.value,path:g.path,parent:g})}}static create(_,$){return new GU({in:_,out:$,typeName:i.ZodPipeline})}}class Gg extends __{_parse(_){let $=this._def.innerType._parse(_),g=(U)=>{if(n4(U))U.value=Object.freeze(U.value);return U};return PU($)?$.then((U)=>g(U)):g($)}unwrap(){return this._def.innerType}}Gg.create=(_,$)=>{return new Gg({innerType:_,typeName:i.ZodReadonly,...p($)})};function g9(_,$){let g=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof g==="string"?{message:g}:g}function W9(_,$={},g){if(_)return m4.create().superRefine((U,D)=>{let I=_(U);if(I instanceof Promise)return I.then((j)=>{if(!j){let N=g9($,U),O=N.fatal??g??!0;D.addIssue({code:"custom",...N,fatal:O})}});if(!I){let j=g9($,U),N=j.fatal??g??!0;D.addIssue({code:"custom",...j,fatal:N})}return});return m4.create()}var pb={object:b_.lazycreate},i;(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"})(i||(i={}));var eb=(_,$={message:`Input not instance of ${_.name}`})=>W9((g)=>g instanceof _,$),X9=F$.create,R9=i6.create,ab=RU.create,sb=l6.create,G9=Og.create,_H=d4.create,$H=zU.create,gH=Ag.create,DH=Lg.create,UH=m4.create,IH=m6.create,jH=n$.create,NH=SU.create,EH=M$.create,OH=b_.create,AH=b_.strictCreate,LH=Jg.create,JH=AN.create,PH=Pg.create,zH=d$.create,SH=WU.create,WH=XU.create,XH=i4.create,RH=jg.create,GH=zg.create,YH=Sg.create,QH=t6.create,TH=Wg.create,qH=l4.create,D9=R$.create,BH=Z$.create,KH=z6.create,VH=R$.createWithPreprocess,FH=GU.create,MH=()=>X9().optional(),ZH=()=>R9().optional(),bH=()=>G9().optional(),HH={string:(_)=>F$.create({..._,coerce:!0}),number:(_)=>i6.create({..._,coerce:!0}),boolean:(_)=>Og.create({..._,coerce:!0}),bigint:(_)=>l6.create({..._,coerce:!0}),date:(_)=>d4.create({..._,coerce:!0})},kH=m;var x={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"},w3=E.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),V_=E.string().datetime(),t=E.string().trim().min(1),H$=t.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://"),Y9=E.string().regex(/^[a-fA-F0-9]{64}$/),Q9=E.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),o6=E.record(E.unknown()),Tg=E.array(E.string().min(1)).default([]),t4=V_.nullable().optional(),CH=new Set(["succeeded","failed","cancelled","blocked","skipped"]),e4=E.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function L_(_){return E.object({schema:E.literal(_),id:E.string().min(1),createdAt:V_,updatedAt:t4,metadata:o6.optional()}).strict()}var Nd=E.object({schema:w3,id:E.string().min(1),createdAt:V_,updatedAt:t4,metadata:o6.optional()}).strict(),T9=E.enum(["agent","human","service","model","workflow","system"]),rH=L_(x.actorRef).extend({kind:T9,name:E.string().min(1).optional(),provider:E.string().min(1).optional(),accountId:E.string().min(1).optional(),machineId:E.string().min(1).optional(),capabilities:E.array(E.string().min(1)).default([])}).strict(),m$=E.object({kind:T9,id:E.string().min(1),name:E.string().min(1).optional(),provider:E.string().min(1).optional(),accountId:E.string().min(1).optional(),machineId:E.string().min(1).optional()}).strict(),q9=E.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"]),vH=L_(x.resourceRef).extend({kind:q9,name:E.string().min(1).optional(),uri:H$.optional(),externalId:t.optional(),sourcePackage:t.optional(),tags:Tg}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:E.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),s=E.object({kind:q9,id:E.string().min(1),name:E.string().min(1).optional(),uri:H$.optional(),externalId:t.optional(),sourcePackage:t.optional(),tags:Tg}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:E.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),u3=E.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),fH=E.enum(["none","partial","full","unknown"]),wH=L_(x.evidenceRef).extend({kind:u3,uri:H$,sha256:Y9.optional(),summary:E.string().min(1).optional(),contentType:E.string().min(1).optional(),sizeBytes:E.number().int().nonnegative().optional(),redaction:fH.default("unknown"),producer:m$.optional(),resourceRefs:E.array(s).default([]),tags:Tg}).strict(),T_=E.object({id:E.string().min(1),kind:u3.optional(),uri:H$.optional(),sha256:Y9.optional(),summary:E.string().min(1).optional()}).strict(),YU=L_(x.costEstimate).extend({currency:E.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:E.number().int().nonnegative(),provider:E.string().min(1).optional(),model:E.string().min(1).optional(),accountId:E.string().min(1).optional(),promptTokens:E.number().int().nonnegative().optional(),completionTokens:E.number().int().nonnegative().optional(),totalTokens:E.number().int().nonnegative().optional(),basis:E.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:E.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),uH=E.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),B9=L_(x.decisionEnvelope).extend({decisionType:E.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:uH,actor:m$.optional(),traceId:E.string().min(1).optional(),inputHash:Q9.optional(),policyBundleId:E.string().min(1).optional(),selected:E.array(s).default([]),skipped:E.array(s).default([]),reason:E.string().min(1),obligations:E.array(E.string().min(1)).default([]),redactions:E.array(E.string().min(1)).default([]),costEstimate:YU.optional(),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),xH=L_(x.capabilityCard).extend({kind:E.enum(["model","tool","machine","agent","lane","connector","service"]),name:E.string().min(1),version:E.string().min(1).optional(),status:E.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:E.array(E.string().min(1)).default([]),limitations:E.array(E.string().min(1)).default([]),riskLevel:E.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:YU.optional(),evidenceRefs:E.array(T_).default([])}).strict(),Yg=E.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),yH=E.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"]),hH=E.object({refName:t,requiredForModes:E.array(Yg).min(1),allowedSecretInputs:E.array(E.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:t,revocationCheck:E.boolean().default(!0)}).strict(),cH=E.object({operation:t,supportedModes:E.array(Yg).min(1),sideEffectClass:yH,requiresApproval:E.boolean().default(!1),requiresIdempotencyKey:E.boolean().default(!1),requiresSandboxEvidence:E.boolean().default(!1),requiresRollbackOrRevocation:E.boolean().default(!1),rollbackOrRevocation:t.optional(),noSideEffectSmoke:t.optional(),reconciliation:t.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),nH=E.object({providerId:t,appId:t,adapterId:t,ownerPackage:t,modes:E.array(Yg).min(1),defaultMode:Yg,credentialRequirements:E.array(hH).default([]),operations:E.array(cH).min(1),rateLimitPosture:t,costPosture:t.optional(),auditEvents:E.array(t).default([]),redactionRules:E.array(t).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:E.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let g=new Set(_.operations.flatMap((U)=>U.supportedModes));for(let U of g)if(!_.modes.includes(U))$.addIssue({code:E.ZodIssueCode.custom,message:`operation mode ${U} is not declared in provider modes`,path:["operations"]});if(g.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),dH=E.object({appId:t,repo:t,priority:E.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:E.array(t).min(1),firstOperations:E.array(t).min(1),blockedUntil:E.array(t).default([])}).strict(),mH=L_(x.providerLiveModeStandard).extend({name:t,version:t,modes:E.array(Yg).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:E.array(t).min(1),liveMutationGate:E.object({requiredMode:E.literal("live_mutating"),requiredChecks:E.array(t).min(1),forbiddenBypassSignals:E.array(t).min(1),disabledLiveSmoke:t}).strict(),noSideEffectSmoke:E.object({requiredForModes:E.array(Yg).min(1),commandEvidence:E.array(t).min(1),secretOutputScan:E.boolean().default(!0)}).strict(),credentialPolicy:E.object({acceptedInputs:E.array(E.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:E.literal(!1),missingCredentialBehavior:E.literal("fail_closed"),revocationCheckRequired:E.boolean().default(!0)}).strict(),operationCards:E.array(nH).min(1),firstAdoptionTargets:E.array(dH).min(1),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),U=new Set(_.operationCards.map((D)=>D.appId));for(let D of g)if(!U.has(D))$.addIssue({code:E.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),iH=E.object({id:E.string().min(1),title:E.string().min(1).optional(),summary:E.string().min(1),text:E.string().optional(),tokens:E.number().int().nonnegative().optional(),source:T_,resourceRefs:E.array(s).default([])}).strict(),K9=L_(x.contextPack).extend({objective:E.string().min(1),budget:E.object({maxTokens:E.number().int().positive().optional(),maxBytes:E.number().int().positive().optional()}).strict().optional(),items:E.array(iH).default([]),citations:E.array(T_).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown"),permissions:E.array(E.string().min(1)).default([]),redactions:E.array(E.string().min(1)).default([]),conflicts:E.array(E.string().min(1)).default([]),uncertainty:E.string().min(1).optional()}).strict(),W$=t.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),o4=E.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),lH=E.enum(["public","internal","private","sensitive"]),tH=E.enum(["draft","active","paused","archived"]),x3=E.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),V9=L_(x.integrationRef).extend({kind:x3,name:E.string().min(1),projectId:o4.optional(),sourcePackage:t.optional(),externalId:t.optional(),uri:H$.optional(),enabled:E.boolean().default(!0),readOnly:E.boolean().default(!0),capabilities:E.array(E.string().min(1)).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:s.optional(),evidenceRefs:E.array(T_).default([]),config:o6.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),oH=E.object({schemaRoot:W$.default(".hasna/project"),dashboardManifest:W$.default(".hasna/project/dashboard.render.json"),snapshotsDir:W$.default(".hasna/project/snapshots"),documentsDir:W$.default("documents"),reportsDir:W$.default("reports"),evidenceDir:W$.default(".hasna/project/evidence"),privateDir:W$.default(".hasna/project/private")}).strict(),pH=L_(x.projectManifest).extend({projectId:o4,slug:o4,name:E.string().min(1),summary:E.string().min(1).optional(),status:tH.default("active"),classification:lH.default("private"),owner:m$.optional(),layout:oH.default({}),integrations:E.array(V9).default([]),renderManifests:E.array(s).default([]),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),tags:Tg}).strict().superRefine((_,$)=>{let g=new Set,U=new Set;if(_.projectId!==_.slug)$.addIssue({code:E.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,I]of _.integrations.entries()){if(g.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(g.add(I.id),I.projectId&&I.projectId!==_.projectId)$.addIssue({code:E.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,I]of _.renderManifests.entries()){if(I.kind!=="render")$.addIssue({code:E.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(U.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});U.add(I.id)}}),eH=E.enum(["local","package","provider","url"]),y3=E.object({id:E.string().min(1),kind:eH,specifier:E.string().min(1),path:W$.optional(),packageName:E.string().min(1).optional(),uri:H$.optional(),provider:x3.optional(),schemaId:w3.optional(),integrity:Q9.optional(),resourceRef:s.optional(),optional:E.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:E.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:E.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:E.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:E.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),aH=E.enum(["dashboard","canvas","panel","report","document","custom"]),sH=E.object({id:E.string().min(1),title:E.string().min(1),kind:aH,default:E.boolean().default(!1),entry:W$.optional(),imports:E.array(y3).default([]),panelRefs:E.array(s).default([]),dataRefs:E.array(s).default([]),layout:o6.optional()}).strict(),_k=L_(x.renderManifest).extend({projectId:o4,name:E.string().min(1),version:E.string().min(1),manifestPath:W$.default(".hasna/project/dashboard.render.json"),renderer:E.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:E.array(sH).min(1),imports:E.array(y3).default([]),theme:o6.optional(),compatibility:E.object({minProjectsVersion:E.string().min(1).optional(),minContractsVersion:E.string().min(1).optional()}).strict().optional(),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=_.views.filter((I)=>I.default),U=new Set,D=new Set;if(g.length>1)$.addIssue({code:E.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[I,j]of _.imports.entries()){if(D.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",I,"id"]});D.add(j.id)}for(let[I,j]of _.views.entries()){if(U.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",I,"id"]});U.add(j.id);let N=new Set;for(let[O,A]of j.imports.entries()){if(N.has(A.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",I,"imports",O,"id"]});N.add(A.id)}for(let[O,A]of j.panelRefs.entries())if(A.kind!=="panel")$.addIssue({code:E.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",I,"panelRefs",O,"kind"]})}}),$k=E.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),gk=E.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Dk=E.object({id:E.string().min(1),label:E.string().min(1),value:E.union([E.string(),E.number(),E.boolean()]),unit:E.string().min(1).optional(),status:E.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:E.array(s).default([])}).strict(),Uk=E.object({id:E.string().min(1),title:E.string().min(1),summary:E.string().min(1).optional(),status:E.string().min(1).optional(),priority:E.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:V_.optional(),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),metadata:o6.optional()}).strict(),Ik=E.object({renderer:E.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:E.string().min(1).optional(),entry:W$.optional(),imports:E.array(y3).default([]),spec:o6.default({})}).strict(),F9=L_(x.projectPanel).extend({projectId:o4,provider:E.object({kind:x3,id:E.string().min(1),name:E.string().min(1).optional(),sourcePackage:t.optional(),externalId:t.optional()}).strict(),kind:gk,title:E.string().min(1),summary:E.string().min(1).optional(),state:$k.default("ready"),stateReason:E.string().min(1).optional(),generatedAt:V_,freshness:E.enum(["fresh","stale","unknown"]).default("unknown"),metrics:E.array(Dk).default([]),items:E.array(Uk).default([]),actions:E.array(s).default([]),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),renderFragment:Ik.optional(),warnings:E.array(E.string().min(1)).default([])}).strict().superRefine((_,$)=>{let g=new Set(["error","auth_required","unavailable","stale"]),U=new Set,D=new Set;if(g.has(_.state)&&!_.stateReason)$.addIssue({code:E.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:E.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[I,j]of _.metrics.entries()){if(U.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",I,"id"]});U.add(j.id)}for(let[I,j]of _.items.entries()){if(D.has(j.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",I,"id"]});D.add(j.id)}for(let[I,j]of _.actions.entries())if(j.kind!=="action")$.addIssue({code:E.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",I,"kind"]})}),jk=L_(x.projectSnapshot).extend({projectId:o4,generatedAt:V_,status:e4.default("unknown"),manifestRef:s,renderManifestRef:s.optional(),panels:E.array(F9).default([]),contextPacks:E.array(K9).default([]),proofBundleRefs:E.array(s).default([]),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),warnings:E.array(E.string().min(1)).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let g=new Set,U=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,I]of _.proofBundleRefs.entries())if(I.kind!=="proof_bundle")$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,I]of _.panels.entries()){if(I.projectId!==_.projectId)$.addIssue({code:E.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(g.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});g.add(I.id)}for(let[D,I]of _.contextPacks.entries()){if(U.has(I.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});U.add(I.id)}}),M9=E.object({id:E.string().min(1),kind:E.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:E.boolean().default(!0),command:E.string().min(1).optional(),expected:E.string().min(1).optional(),timeoutMs:E.number().int().positive().optional(),resourceRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:E.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Nk=L_(x.validationPlan).extend({objective:E.string().min(1),subject:s.optional(),checks:E.array(M9).min(1),verifier:m$.optional(),requiredEvidenceKinds:E.array(u3).default([])}).strict(),Ek=E.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Ok=E.enum(["draft","active","deprecated","archived"]),Ak=E.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"]),Lk=E.object({key:E.string().regex(/^[A-Z][A-Z0-9_]*$/),description:E.string().min(1),required:E.boolean().default(!1),["secret"]:E.boolean().default(!1),group:E.string().min(1).optional(),default:E.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:E.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Jk=E.object({name:E.string().min(1),command:E.string().min(1),description:E.string().min(1).optional(),required:E.boolean().default(!1)}).strict(),Pk=E.object({packageManager:E.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:E.array(E.string().min(1)).default([]),requiredFiles:E.array(E.string().min(1)).default([]),requiredDirectories:E.array(E.string().min(1)).default([]),optionalDirectories:E.array(E.string().min(1)).default([])}).strict(),zk=L_(x.scaffoldManifest).extend({name:E.string().min(1),version:E.string().min(1),summary:E.string().min(1),type:Ek,status:Ok.default("draft"),capabilities:E.array(Ak).default([]),techStack:E.array(E.string().min(1)).default([]),tags:Tg,source:s.optional(),output:Pk,env:E.array(Lk).default([]),scripts:E.array(Jk).default([]),validationChecks:E.array(M9).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:E.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Sk=E.enum(["installed","failed","cancelled","partial","unknown"]),Wk=L_(x.scaffoldInstallRecord).extend({scaffoldId:E.string().min(1),scaffoldVersion:E.string().min(1).optional(),manifestRef:s.optional(),target:s,status:Sk,installedAt:V_.optional(),installer:m$.optional(),packageManager:E.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:o6.optional(),generatedFiles:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),proofBundleRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:E.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),Qg=E.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),h3=E.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),Z9=E.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"),Xk=E.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),Rk=t.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),Gk=E.enum(["active","stub","deprecated","archived"]),Yk=E.enum(["stable","beta","canary","internal"]),Qk=E.object({transport:E.enum(["http","stdio"]).default("http"),bin:E.string().min(1).optional(),url:H$.optional()}).strict(),Tk=E.object({healthPath:E.string().min(1).default("/health"),port:E.number().int().positive().optional(),baseUrl:H$.optional()}).strict(),qk=E.object({bins:E.array(E.string().min(1)).default([]),mcp:Qk.optional(),http:Tk.optional()}).strict(),Bk=L_(x.app).extend({appId:Qg,npmName:h3,repoFolder:Qg,githubUrl:Rk,projectSlug:o4,surfaces:qk.default({}),lifecycle:Gk,releaseChannel:Yk.default("stable"),summary:E.string().min(1).optional(),tags:Tg}).strict().superRefine((_,$)=>{let g=new Set;for(let[U,D]of _.surfaces.bins.entries()){if(g.has(D))$.addIssue({code:E.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",U]});g.add(D)}}),Kk=E.enum(["skill","ci","backfilled"]),Vk=L_(x.release).extend({appId:Qg,package:h3,version:Z9,gitSha:Xk,publishedAt:V_,publishPath:Kk,changelogRef:s.optional(),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),Fk=E.enum(["install","update","rollback","freeze-blocked"]),Mk=E.object({cliVersion:E.string().min(1).optional(),mcpHealth:E.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:E.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),Zk=L_(x.rolloutRecord).extend({appId:Qg,package:h3,version:Z9,machine:t,action:Fk,result:e4,verifiedBy:Mk.optional(),at:V_,evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:E.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let g=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",U=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||U&&!g))$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),bk=E.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),Hk=E.enum(["pending","queued","sent","failed","skipped","suppressed"]),kk=E.object({channel:bk,status:Hk,deliveredAt:V_.optional(),detail:E.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:E.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),Ck=L_(x.announcement).extend({campaignId:t,appId:Qg.optional(),releaseRef:s.optional(),channels:E.array(kk).min(1),audienceRef:s,sentAt:V_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:E.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:E.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),rk=E.enum(["tag","attribute","group"]),vk=E.enum(["eq","neq","in","not_in","exists","not_exists"]),U9=E.union([E.string(),E.number(),E.boolean()]),fk=E.object({kind:rk,key:E.string().min(1).optional(),op:vk.default("eq"),value:U9.optional(),values:E.array(U9).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:E.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:E.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),wk=E.object({match:E.enum(["all","any"]).default("all"),predicates:E.array(fk).min(1)}).strict(),uk=E.enum(["opt_in","opt_out","transactional","none"]),xk=L_(x.audience).extend({audienceId:Qg,name:t,definition:wk,consentPolicy:uk,suppressionSyncedAt:t4}).strict(),IN=["@hasna/cloud","open-cloud"],yk=E.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),hk=E.object({id:E.string().min(1),provider:yk,kind:E.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:E.string().min(1),region:E.string().min(1).optional(),accountId:E.string().min(1).optional(),uri:H$.optional(),machineScoped:E.boolean().default(!1)}).strict(),b9=L_(x.appCloudManifest).extend({packageName:E.string().min(1),packageVersion:E.string().min(1).optional(),appId:E.string().min(1),repository:s.optional(),storageMode:E.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:E.enum(["none","app_owned","external_service","local_cache"]),cloudResources:E.array(hk).default([]),localCache:E.object({path:E.string().min(1).optional(),pullMode:E.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:E.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:E.array(E.string().min(1)).default([...IN]),dependencies:E.array(E.string().min(1)).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=new Set([...IN,..._.forbiddenSharedRuntimes]);if(g.has(_.packageName))$.addIssue({code:E.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let U of IN)if(!_.forbiddenSharedRuntimes.includes(U))$.addIssue({code:E.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${U}`,path:["forbiddenSharedRuntimes"]});for(let U of g)if(_.dependencies.includes(U))$.addIssue({code:E.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${U}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:E.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:E.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:E.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:E.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:E.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((U,D)=>{if(U.ownerPackage!==_.packageName)$.addIssue({code:E.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),H9=E.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),ck=E.enum(["low","medium","high","critical"]),k9=E.object({id:E.string().min(1),kind:H9,severity:ck,path:E.string().min(1).optional(),packageName:E.string().min(1).optional(),pattern:E.string().min(1),message:E.string().min(1),evidenceRefs:E.array(T_).default([])}).strict(),nk=E.object({id:E.string().min(1),kind:H9,status:e4,target:E.string().min(1),command:E.string().min(1).optional(),evidenceRefs:E.array(T_).default([]),findings:E.array(k9).default([])}).strict(),dk=L_(x.noCloudEvidencePack).extend({subject:s,packageName:E.string().min(1).optional(),packageVersion:E.string().min(1).optional(),generatedBy:m$.optional(),scanMode:E.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:e4,verdict:E.enum(["passed","failed","warning","not_run"]),appCloudManifest:b9.optional(),checks:E.array(nk).min(1),findings:E.array(k9).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{let g=[..._.findings,..._.checks.flatMap((D)=>D.findings)],U=g.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(U.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:E.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&g.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,I)=>{let j=D.findings.filter((N)=>N.severity==="high"||N.severity==="critical");if(D.status==="succeeded"&&j.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",I,"findings"]})})}),mk=E.object({checkId:E.string().min(1),status:e4,summary:E.string().min(1).optional(),startedAt:t4,finishedAt:t4,evidenceRefs:E.array(T_).default([])}).strict(),ik=L_(x.proofBundle).extend({subject:s,validationPlanRef:s.optional(),status:e4,verdict:E.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:E.array(mk).default([]),verifier:m$.optional(),evidenceRefs:E.array(T_).default([]),residualRisks:E.array(E.string().min(1)).default([]),freshness:E.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((U,D)=>{if(U.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((U)=>U.evidenceRefs.length>0)))$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:E.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((g)=>g.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),lk=L_(x.workRun).extend({objective:E.string().min(1),status:e4,actor:m$,traceId:E.string().min(1).optional(),startedAt:t4,finishedAt:t4,constraints:E.array(E.string().min(1)).default([]),resourceRefs:E.array(s).default([]),decisions:E.array(B9).default([]),costEstimates:E.array(YU).default([]),evidenceRefs:E.array(T_).default([]),validationPlanRefs:E.array(s).default([]),proofBundleRefs:E.array(s).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!g)$.addIssue({code:E.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!g&&_.decisions.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),tk=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"])}),ok=E.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"]),pk=E.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),p4=E.string().regex(/^[a-f0-9]{64}$/),JN=E.string().trim().min(3).max(256),C9=/^[a-f0-9]{32}$/;function ek(_,$,g){return`${_}:${$}:opaque-${g.slice(0,32)}`}function ak(_){return`evidence:opaque-${_.slice(0,32)}`}var r9=JN.refine((_)=>{let g=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return C9.test(g)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),c3=JN.refine((_)=>{let g=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return C9.test(g)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),sk=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"]),n3=E.object({role:ok,authority:pk,id:JN,digest:p4,redaction:E.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let g=tk[_.role];if(!g.includes(_.authority))$.addIssue({code:E.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${g.join(" or ")}`,path:["authority"]});if(sk.has(_.role)&&_.redaction==="none")$.addIssue({code:E.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let U=ek(_.role,_.authority,_.digest);if(_.id!==U)$.addIssue({code:E.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),X$=E.object({id:JN,digest:p4,redaction:E.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==ak(_.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function v9(_,$,g,U){if(_.id===$.id||_.digest===$.digest)g.addIssue({code:E.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:U})}function b(_){return n3.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function B_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function d3(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function Ng(_,$,g,U,D){if(d3(_,$))g.addIssue({code:E.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:U});if(_.digest===$.digest)g.addIssue({code:E.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:U})}function EN(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function e_(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var Q_=E.object({algorithm:E.enum(["sha1","sha256"]),value:E.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let g=_.algorithm==="sha1"?40:64;if(_.value.length!==g)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${g} lowercase hex characters`,path:["value"]})});function I9(_){if(_.canonicalizationVersion===1){let g=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 _9("sha256").update(g,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((g)=>[g.role,g.authority,g.id,g.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return _9("sha256").update($,"utf8").digest("hex")}var _C=E.object({ref:b("attempt"),nonce:c3,admissionRef:b("admission"),admissionWriterGenerationRef:b("writer_generation"),workerActorRef:b("worker_actor"),workerRef:b("worker"),runtimeRef:b("runtime"),writerGenerationRef:b("writer_generation"),writerLeaseRef:b("writer_lease"),writerFenceRef:b("writer_fence"),providerProfileRef:b("provider_profile"),providerRouteRef:b("provider_route")}).strict(),$C=E.object({repoRef:b("repo"),worktreeRef:b("worktree"),branchRef:b("branch"),baseHead:Q_,branchHead:Q_}).strict(),gC=E.object({streamRef:b("event_stream"),replayCursorRef:b("replay_cursor"),sequence:E.number().int().safe().nonnegative(),prefixDigest:p4}).strict(),DC=E.object({ref:b("handoff"),previousAttemptRef:b("attempt"),nextAttemptRef:b("attempt"),previousWriterGenerationRef:b("writer_generation"),nextWriterGenerationRef:b("writer_generation"),stoppedWorkRunRef:b("work_run"),stopEvidenceRef:X$,leaseRevocationEvidenceRef:X$}).strict().superRefine((_,$)=>{Ng(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),Ng(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),v9(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),UC=E.object({ref:b("review"),pullRequestRef:b("pull_request"),base:Q_,head:Q_,reviewerRef:b("reviewer"),reviewRunRef:b("review_run"),proofBundleRef:b("proof_bundle"),verdict:E.enum(["approved","changes_requested","blocked"]),reviewedAt:V_}).strict(),IC=E.object({pullRequestRef:b("pull_request"),remoteBranchRef:b("branch"),expectedBase:Q_,providerPullRequestBase:Q_,localHead:Q_,remoteHead:Q_,providerPullRequestHead:Q_,equalityProofRef:b("proof_bundle"),ciProofBundleRefs:E.array(b("proof_bundle")).min(1),verifiedAt:V_}).strict().superRefine((_,$)=>{if(!e_(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:E.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!e_(_.localHead,_.remoteHead)||!e_(_.localHead,_.providerPullRequestHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let g=_.ciProofBundleRefs.map(EN);if(new Set(g).size!==g.length)$.addIssue({code:E.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let U=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(U).size!==U.length)$.addIssue({code:E.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>d3(D,_.equalityProofRef)))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),jC=E.object({ref:b("repair_cycle"),cycle:E.number().int().min(0).max(2),cap:E.literal(2),exhausted:E.boolean(),latestRepairRef:b("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:E.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&d3(_.ref,_.latestRepairRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),NC=E.object({ref:b("merge_guard"),pullRequestRef:b("pull_request"),expectedBase:Q_,expectedHead:Q_,reviewRefs:E.array(b("review")).min(1),proofBundleRefs:E.array(b("proof_bundle")).min(1),operatorRef:b("merge_operator"),operatorRunRef:b("merge_operator_run"),providerGuardReceiptRef:b("merge_guard_receipt"),mechanism:E.enum(["compare_and_swap","queue_expected_head"]),decision:E.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:V_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((I)=>I.id)).size!==_.reviewRefs.length)$.addIssue({code:E.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(EN)).size!==_.proofBundleRefs.length)$.addIssue({code:E.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((I)=>I.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:E.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),EC=E.object({ref:b("merge_outcome"),guardRef:b("merge_guard"),pullRequestRef:b("pull_request"),expectedBase:Q_,observedBase:Q_,expectedHead:Q_,observedHead:Q_,status:E.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:b("commit").optional(),finishedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict().superRefine((_,$)=>{let g=e_(_.expectedBase,_.observedBase),U=e_(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!g||!U)$.addIssue({code:E.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!g?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:E.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&U)$.addIssue({code:E.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!g)$.addIssue({code:E.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&g)$.addIssue({code:E.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!U)$.addIssue({code:E.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!U&&_.status!=="head_drift")$.addIssue({code:E.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!g&&_.status!=="base_drift")$.addIssue({code:E.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),OC=E.object({guard:NC,outcome:EC.optional()}).strict(),AC=E.object({ref:b("recovery"),priorAttemptRef:b("attempt"),priorWriterGenerationRef:b("writer_generation"),priorWorkRunRef:b("work_run"),successorAttemptNonce:c3,successorWriterGenerationRef:b("writer_generation"),preservedStateRefs:E.array(n3).min(1),stopEvidenceRef:X$,leaseRevocationEvidenceRef:X$}).strict().superRefine((_,$)=>{Ng(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),v9(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),LC=E.object({ref:b("cancellation"),cancelledAttemptRef:b("attempt"),preservedStateRefs:E.array(n3).min(1),evidenceRefs:E.array(X$).min(1)}).strict(),JC=E.object({ref:b("cleanup_eligibility"),status:E.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:b("worktree"),eventCursorRef:b("replay_cursor"),terminalDispositionRef:b("terminal_disposition"),writerLeaseRef:b("writer_lease"),leaseRevocationEvidenceRef:X$,consumedEventEvidenceRef:X$,evaluatedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),PC=E.object({ref:b("cleanup_outcome"),eligibilityRef:b("cleanup_eligibility"),targetWorktreeRef:b("worktree"),status:E.enum(["preserved","deleted","failed","skipped"]),finishedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict(),zC=E.object({eligibility:JC,outcome:PC.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!B_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:E.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!B_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),SC=E.object({plan:E.object({ref:b("rollback_plan"),targetRef:E.union([b("commit"),b("branch")]),createdAt:V_}).strict(),outcome:E.object({ref:b("rollback_outcome"),planRef:b("rollback_plan"),targetRef:E.union([b("commit"),b("branch")]),status:E.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:V_,evidenceRefs:E.array(X$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!B_(_.outcome.planRef,_.plan.ref))$.addIssue({code:E.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!B_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:E.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 RC(_,$){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 $)&&e_(_.base,$.base)&&e_(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var GC="hasna.task_to_pr_adapter_extension.",YC=E.object({mode:E.enum(["local","cloud"]),schema:w3,ref:b("adapter_extension"),digest:p4}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(GC))$.addIssue({code:E.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),QC=E.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),j9=new Set(["admitted","running","handed_off"]),N9=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),TC={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"])},qC=E.object({schema:E.literal(x.taskToPrProjection),id:r9,createdAt:V_,canonicalizationVersion:E.union([E.literal(1),E.literal(2)]),identityDigest:p4,frozenScopeDigest:p4,state:QC,workRunRef:b("work_run"),rootRequestRef:b("root_request"),prGroupRef:b("pr_group"),leafTaskRef:b("leaf_task"),attempt:_C,repository:$C,events:gC,openLoopsInvocationRef:b("openloops_invocation").optional(),pullRequestRef:b("pull_request").optional(),exactHead:IC.optional(),handoff:DC.optional(),reviews:E.array(UC).default([]),repair:jC,merge:OC.optional(),recovery:AC.optional(),cancellation:LC.optional(),cleanup:zC.optional(),rollback:SC.optional(),terminalDispositionRef:b("terminal_disposition").optional(),provenanceLedger:E.array(WC),adapterExtensions:E.array(YC).default([]),evidenceRefs:E.array(X$).default([])}).strict().superRefine((_,$)=>{let g=_.canonicalizationVersion===1?I9({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):I9({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==g)$.addIssue({code:E.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let U=new Set,D=new Set,I=new Set,j=new Set,N=new Set,O=new Set;for(let[T,q]of _.provenanceLedger.entries()){if("ref"in q){if(U.has(q.ref.id))$.addIssue({code:E.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(U.add(q.ref.id),D.has(q.ref.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(q.ref.digest);continue}if(q.category==="projection_id"){if(I.has(q.projectionId))$.addIssue({code:E.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});I.add(q.projectionId);continue}if(q.category==="attempt_nonce"){if(j.has(q.nonce))$.addIssue({code:E.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});j.add(q.nonce);continue}if(N.has(q.prefixDigest))$.addIssue({code:E.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(N.add(q.prefixDigest),O.has(q.sequence))$.addIssue({code:E.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});O.add(q.sequence)}for(let T of XC(_))if(!_.provenanceLedger.some((q)=>RC(q,T)))$.addIssue({code:E.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let A=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],L=(T,q,V,Z)=>{let e=new Set(q.map((I_)=>I_.role)),D_=new Set;for(let[I_,J_]of T.entries()){if(!e.has(J_.role))$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} cannot preserve an unrecognized ${J_.role} role`,path:[...V,I_]});if(D_.has(J_.role))$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} must preserve exactly one canonical ref per role`,path:[...V,I_]});D_.add(J_.role)}if(T.length!==q.length)$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} preservation refs must exactly equal the required canonical role set`,path:V});for(let I_ of q)if(!T.some((J_)=>B_(J_,I_)))$.addIssue({code:E.ZodIssueCode.custom,message:`${Z} must preserve ${I_.role}`,path:V})};if(_.handoff&&!B_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)Ng(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:E.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!B_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});Ng(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),Ng(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),L(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...A],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!B_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:E.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)L(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...A],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:E.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:E.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:E.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:E.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:E.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:E.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!B_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,q]of _.reviews.entries())if(!B_(q.pullRequestRef,_.pullRequestRef))$.addIssue({code:E.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!B_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:E.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:E.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:E.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!e_(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!e_(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:E.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:E.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:E.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((Z,e)=>({ref:Z,path:["exactHead","ciProofBundleRefs",e]})),..._.reviews.map((Z,e)=>({ref:Z.proofBundleRef,path:["reviews",e,"proofBundleRef"]}))],q=new Set,V=new Set;for(let Z of T){let e=EN(Z.ref);if(q.has(e))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:Z.path});if(q.add(e),V.has(Z.ref.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:Z.path});V.add(Z.ref.digest)}}let z=new Set,W=new Set,J=new Set,P=new Set,S=new Set,X=new Set,G=new Set,R=new Set;for(let[T,q]of _.reviews.entries()){if(!e_(q.base,_.repository.baseHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!e_(q.head,_.repository.branchHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[Z,e,D_]of[[q.ref.id,z,"ref"],[q.reviewerRef.id,J,"reviewerRef"],[q.reviewRunRef.id,S,"reviewRunRef"]]){if(e.has(Z))$.addIssue({code:E.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,D_]});e.add(Z)}if(W.has(q.ref.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(W.add(q.ref.digest),P.has(q.reviewerRef.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(P.add(q.reviewerRef.digest),X.has(q.reviewRunRef.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});X.add(q.reviewRunRef.digest);let V=EN(q.proofBundleRef);if(G.has(V))$.addIssue({code:E.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(G.add(V),R.has(q.proofBundleRef.digest))$.addIssue({code:E.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(R.add(q.proofBundleRef.digest),q.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(q.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:E.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(q.reviewedAt)Date.parse(_.merge.guard.evaluatedAt)T.verdict!=="approved"))$.addIssue({code:E.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((q)=>B_(T,q.ref))))$.addIssue({code:E.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((q)=>B_(q,T.proofBundleRef)))$.addIssue({code:E.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>B_(T,_.exactHead.equalityProofRef)))$.addIssue({code:E.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((q)=>B_(q,T))))$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!e_(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:E.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!e_(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:E.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:E.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:E.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((j9.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let K=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!TC[_.state].has(K))$.addIssue({code:E.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${K}`,path:["merge"]});if(N9.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!N9.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:E.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:E.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:E.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:E.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:E.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:E.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:E.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:E.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:E.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:E.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let Q=new Set;for(let[T,q]of _.adapterExtensions.entries()){let V=`${q.mode}:${q.schema}`;if(Q.has(V))$.addIssue({code:E.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});Q.add(V)}});var BC=E.object({id:E.string().min(1),at:V_,kind:E.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:E.string().min(1),resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([]),costEstimate:YU.optional()}).strict(),KC=L_(x.agentTrajectory).extend({actor:m$,workRunRef:s.optional(),events:E.array(BC).default([]),outcome:E.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:s.optional()}).strict(),VC="v1",FC=E.enum(["library","cli-with-store","service","saas"]),MC=["user-hosted","hasna-saas"],ZC=E.enum(MC),bC=["api","sdk","mcp","cli"],f9=E.enum(bC),HC=E.enum(["supported","deferred","unsupported"]),kC=E.enum(["none","local-only","api-key","session","service-token","custom"]),H3=E.object({method:E.enum(["GET","POST","PUT","PATCH","DELETE"]),path:E.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:E.boolean().default(!1),description:E.string().min(1).optional()}).strict(),CC=E.object({id:E.string().min(1),kind:E.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:E.boolean().default(!0),command:E.string().min(1).optional(),evidenceRef:T_.optional(),status:E.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:E.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:E.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),rC=E.object({name:E.string().min(1),kind:f9.optional(),status:HC,bin:E.string().min(1).optional(),mcpBin:E.string().min(1).optional(),authMode:kC,health:H3.optional(),readiness:H3.optional(),version:H3.optional(),apiBasePath:E.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:E.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:E.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:E.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:E.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:E.string().min(1).optional(),readinessGates:E.array(CC).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:E.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:E.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:E.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:E.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:E.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:E.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:E.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:E.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),vC=["sqlite","postgres"],w9=E.enum(vC),u9=["sqlite","postgres"],fC=E.enum(u9),f3=["postgres"],wC=E.object({kind:f9,reason:E.string().trim().min(1)}).strict(),m3=500,i3=200,ON=(_)=>E.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),uC=["domain","host","ip","email"],xC=E.object({kind:E.enum(uC),reason:ON(m3),reviewedBy:ON(i3),expiresAt:V_}).strict(),yC=E.object({engine:E.enum(f3),reason:ON(m3),reviewedBy:ON(i3).optional(),expiresAt:V_.optional()}).strict();function hC(_){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 cC=E.object({conformance:E.object({waivedSurfaces:E.array(wC).default([]),waiverProfile:E.literal("non-node-monorepo").optional(),waivedStorageEngines:E.array(yC).default([]),waivedAssetInventories:E.array(xC).default([])}).catchall(E.unknown()).optional(),release:E.object({artifactScan:E.object({script:E.string().trim().min(1)}).strict().optional()}).catchall(E.unknown()).optional()}).catchall(E.unknown()),nC=E.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),dC=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function mC(_){return dC.map(($)=>`${_}${$}`)}function E9(_){return`hasna/oss/${_}/database-url`}var iC=E.object({mode:w9,engines:E.array(fC).min(1).optional(),envPrefix:E.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:E.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:E.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:E.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:E.object({envVar:E.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:E.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:E.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:E.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA__DATABASE_URL contract",path:["envPrefix"]})}),x9=E.enum(["0600"]),y9=E.enum(["0700"]),h9=E.enum([".hasna",".codewith"]),lC=E.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),Ug=W$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),tC=E.object({id:E.string().min(1),source:E.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:E.string().min(1).optional(),column:E.string().min(1).optional(),description:E.string().min(1),required:E.boolean().default(!0)}).strict(),oC=E.object({safeWhen:E.enum(["exclusive_access","offline_only","never"]),operations:E.array(E.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:E.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),pC=E.object({id:E.string().min(1),description:E.string().min(1),ttlDays:E.number().int().nonnegative().optional(),artifactClasses:E.array(lC).min(1),allowlistGlobs:E.array(Ug).min(1),activeRecordExclusions:E.array(tC).default([]),sqliteMaintenance:oC.optional()}).strict(),eC=E.object({storeId:E.string().regex(/^[a-z][a-z0-9-]*$/),packageName:E.string().min(1),displayName:E.string().min(1),root:h9,relativePath:Ug,directoryMode:y9.default("0700"),fileMode:x9.default("0600"),sqliteDatabaseGlobs:E.array(Ug).default([]),sensitiveFileGlobs:E.array(Ug).default([]),backupGlobs:E.array(Ug).default([]),exportGlobs:E.array(Ug).default([]),retentionAdapters:E.array(pC).default([]),notes:E.array(E.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:E.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let g=new Set;for(let[U,D]of _.retentionAdapters.entries()){if(g.has(D.id))$.addIssue({code:E.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",U,"id"]});g.add(D.id)}}),c9=L_(x.secureLocalStorePolicy).extend({version:E.string().min(1),scope:E.array(h9).min(1),defaults:E.object({directoryMode:y9.default("0700"),fileMode:x9.default("0600"),dryRunDefault:E.literal(!0),requireExplicitApply:E.literal(!0),includeSqliteSidecars:E.literal(!0),redactedEvidenceOnly:E.literal(!0)}).strict(),stores:E.array(eC).min(1),lifecycle:E.object({retentionDryRunDefault:E.literal(!0),requireActiveRecordExclusionProof:E.literal(!0),requireArtifactAllowlist:E.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:E.literal(!0)}).strict(),warnings:E.array(E.string().min(1)).default([])}).strict().superRefine((_,$)=>{let g=new Set;for(let[U,D]of _.stores.entries()){if(g.has(D.storeId))$.addIssue({code:E.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",U,"storeId"]});if(g.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:E.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",U,"root"]})}}),aC=E.object({$schema:E.string().min(1).optional(),schema:E.literal(x.serviceContract),name:nC,class:FC,contractVersion:E.literal(VC),kitVersion:E.string().min(1),description:E.string().min(1).optional(),bins:E.array(E.string().min(1)).default([]),storage:iC.optional(),hosting:E.array(ZC).min(1).default(["user-hosted"]),serviceSurfaces:E.array(rC).default([]),metadata:cC.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:E.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let g=new Set(mC(_.name)),U=new Set;for(let[A,L]of _.bins.entries()){if(U.has(L))$.addIssue({code:E.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",A]});if(U.add(L),!g.has(L))$.addIssue({code:E.ZodIssueCode.custom,message:`Bin "${L}" is not allowlisted for app "${_.name}"; allowed: ${[...g].join(", ")}`,path:["bins",A]})}let D=(A)=>U.has(`${_.name}${A}`);if(_.storage){let A=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${A}_`)$.addIssue({code:E.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${A}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==E9(_.name))$.addIssue({code:E.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${E9(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:E.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:E.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let A=new Set(_.storage.engines),L=_.metadata?.conformance?.waivedStorageEngines??[],z=hC({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),W=new Set(z?[]:L.map((P)=>P.engine)),J=u9.filter((P)=>!A.has(P)&&!W.has(P));if(J.length>0){let P=z&&L.length>0?`; declared waiver ignored: ${z}`:"";$.addIssue({code:E.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${J.join(", ")}${P}`,path:["storage","engines"]})}}}if(!U.has(_.name))$.addIssue({code:E.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:E.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:E.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:E.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:E.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:E.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:E.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[A,L]of _.serviceSurfaces.entries()){if(L.bin&&!U.has(L.bin))$.addIssue({code:E.ZodIssueCode.custom,message:`Service surface bin "${L.bin}" must be declared in bins`,path:["serviceSurfaces",A,"bin"]});if(L.mcpBin&&!U.has(L.mcpBin))$.addIssue({code:E.ZodIssueCode.custom,message:`Service surface MCP bin "${L.mcpBin}" must be declared in bins`,path:["serviceSurfaces",A,"mcpBin"]})}let I=_.metadata?.conformance?.waivedSurfaces??[],j=new Set;for(let[A,L]of I.entries()){if(j.has(L.kind))$.addIssue({code:E.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${L.kind}`,path:["metadata","conformance","waivedSurfaces",A,"kind"]});j.add(L.kind)}let N=_.metadata?.conformance?.waivedStorageEngines??[],O=new Set;for(let[A,L]of N.entries()){if(O.has(L.engine))$.addIssue({code:E.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${L.engine}`,path:["metadata","conformance","waivedStorageEngines",A,"engine"]});O.add(L.engine)}}),Ed=E.object({status:E.enum(["ok","degraded","unavailable"]),version:E.string().min(1),mode:w9}).strict(),Od=E.object({ready:E.boolean(),reason:E.string().min(1).optional()}).strict(),Ad=E.object({version:E.string().min(1)}).strict(),sC=E.enum(["info","notice","breaking","critical"]),_r=E.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 (..)"),$r=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],gr=E.enum($r);var Dr=E.enum(["fleet","package","machine"]),n9=L_(x.commsEventEnvelope).extend({type:_r,severity:sC,scope:Dr,summary:E.string().min(1).optional(),source:m$.optional(),affected_packages:E.array(t).default([]),affected_machines:E.array(t).default([]),action_required:E.boolean().default(!1),ack_by:V_.optional(),dedupe_key:t,resourceRefs:E.array(s).default([]),evidenceRefs:E.array(T_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:E.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:E.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:E.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:E.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Ur=E.enum(["fleet","package","product","loop-lane","initiative","personal"]),Ir=E.enum(["quiet","work","firehose"]),jr=t.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:)"),Nr=L_(x.commsChannelMetadata).extend({class:Ur,noise:Ir.optional(),owner:t.optional(),until:jr.optional(),successor:t.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:E.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:E.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),O9={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}},Er=L_(x.commsMessageMetadata).extend({tag:gr,envelope:n9}).strict().superRefine((_,$)=>{let g=O9[_.tag];if(!g.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:E.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${g.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(g.requiredEventType&&_.envelope.type!==g.requiredEventType)$.addIssue({code:E.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${g.requiredEventType}`,path:["envelope","type"]});for(let[U,D]of Object.entries(O9))if(D.requiredEventType===_.envelope.type&&_.tag!==U)$.addIssue({code:E.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${U}] tag`,path:["tag"]})});var Or={[x.actorRef]:rH,[x.resourceRef]:vH,[x.evidenceRef]:wH,[x.workRun]:lk,[x.taskToPrProjection]:qC,[x.decisionEnvelope]:B9,[x.costEstimate]:YU,[x.capabilityCard]:xH,[x.providerLiveModeStandard]:mH,[x.contextPack]:K9,[x.integrationRef]:V9,[x.projectManifest]:pH,[x.projectPanel]:F9,[x.projectSnapshot]:jk,[x.renderManifest]:_k,[x.agentTrajectory]:KC,[x.validationPlan]:Nk,[x.proofBundle]:ik,[x.scaffoldManifest]:zk,[x.scaffoldInstallRecord]:Wk,[x.appCloudManifest]:b9,[x.noCloudEvidencePack]:dk,[x.secureLocalStorePolicy]:c9,[x.serviceContract]:aC,[x.commsEventEnvelope]:n9,[x.commsChannelMetadata]:Nr,[x.commsMessageMetadata]:Er,[x.app]:Bk,[x.release]:Vk,[x.rolloutRecord]:Zk,[x.announcement]:Ck,[x.audience]:xk};class d9 extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function m9(_,$){let U=Or[_].safeParse($);if(!U.success)throw new d9(_,U.error.issues);return U.data}var Ld=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var l3=[{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"}],Jd=l3.filter((_)=>("checkKind"in _)),Ar=l3.filter((_)=>_.kind==="module"),Pd=[...new Set([...IN,...Ar.map((_)=>_.pattern)])],zd=l3.filter((_)=>_.kind==="config");var A9="^[^\\u0000-\\u001f\\u007f]*$",Sd={$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:x.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:f3.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...f3]},reason:{type:"string",minLength:1,maxLength:m3,allOf:[{pattern:"\\S"},{pattern:A9}]},reviewedBy:{type:"string",minLength:1,maxLength:i3,allOf:[{pattern:"\\S"},{pattern:A9}]},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 Lr="2026-07-06";function c$(_,$,g,U,D,I=[],j){return{id:_,description:$,ttlDays:g,artifactClasses:U,allowlistGlobs:D,activeRecordExclusions:I.map((N)=>({...N,required:N.required??!0})),sqliteMaintenance:j}}var Wd=c9.parse({schema:x.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Lr,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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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:[c$("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 Jr=64,Xd=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Jr-1}}$`),gg="[0-9a-fA-F]",Rd=new RegExp(`^\\{?(?:${gg}{8}-${gg}{4}-${gg}{4}-${gg}{4}-${gg}{12}|${gg}{32})\\}?$`);var Pr=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var Gd=new RegExp(Pr.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var i9="@hasna/knowledge";function zr(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Sr(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function QU(_,$=180){let g=String(_??"").replace(/\s+/g," ").trim();if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-3))}...`}function C_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function TU(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function qg(_){if(typeof _!=="string"||_.length===0)return;let $=_.includes("T")?_:`${_.replace(" ","T")}Z`,g=new Date($);return Number.isNaN(g.valueOf())?void 0:g.toISOString()}function PN(_){return H$.safeParse(_).success}function k$(_,$,g,U,D=[]){return{kind:_,id:$,name:g,uri:U&&PN(U)?U:void 0,externalId:$,sourcePackage:i9,tags:D}}function Wr(_){return[..._.items.flatMap((g)=>[g.updated_at,g.created_at]),..._.sources.flatMap((g)=>[g.updated_at,g.created_at]),..._.chunks.map((g)=>g.created_at),..._.wiki_pages.flatMap((g)=>[g.updated_at,g.created_at]),..._.storage_objects.flatMap((g)=>[g.updated_at,g.created_at]),..._.runs.flatMap((g)=>[g.updated_at,g.created_at]),..._.reindex_queue.flatMap((g)=>[g.updated_at,g.created_at]),..._.sync_conflicts.map((g)=>g.created_at),..._.approval_gates.flatMap((g)=>[g.updated_at,g.created_at])].map(qg).filter(Boolean).sort((g,U)=>U.localeCompare(g))[0]}function Xr(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function Rr(_){let $=(g)=>{let U=String(g??"").toLowerCase();return U!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(U)};return _.reindex_queue.filter((g)=>$(g.status)).length+_.sync_conflicts.filter((g)=>$(g.status)).length+_.approval_gates.filter((g)=>$(g.status)).length}function Gr(_,$){let g=[];for(let U of _.items.slice(0,$))g.push({id:`item_${U.id}`,title:U.title,summary:QU(U.content_preview),status:U.archived?"archived":"active",priority:"medium",timestamp:qg(U.updated_at??U.created_at),resourceRefs:[k$("knowledge",U.id,U.title,`knowledge://item/${encodeURIComponent(U.id)}`,U.tags)],evidenceRefs:U.url&&PN(U.url)?[{id:`url_${U.id}`,kind:"url",uri:U.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:U.archived,tags:U.tags,url:U.url||void 0}});for(let U of _.sources.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,C_(U.uri,"source")),I=C_(U.title,C_(U.uri,D)),j=C_(U.uri,`knowledge://source/${encodeURIComponent(D)}`);g.push({id:`source_${D}`,title:I,summary:QU(`${TU(U.chunks)} chunk(s), ${TU(U.revisions)} revision(s)`),status:TU(U.chunks)>0?"indexed":"source",priority:"medium",timestamp:qg(U.updated_at??U.created_at),resourceRefs:[k$("document",D,I,j)],evidenceRefs:PN(j)?[{id:`source_${D}`,kind:"url",uri:j,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:U.kind,chunks:TU(U.chunks),revisions:TU(U.revisions)}})}for(let U of _.chunks.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,"chunk"),I=C_(U.source_uri);g.push({id:`chunk_${D}`,title:C_(U.wiki_title,I?`Chunk from ${I}`:`Knowledge chunk ${D}`),summary:QU(U.text_preview),status:"chunk",priority:"low",timestamp:qg(U.created_at),resourceRefs:[k$("context_pack",D,C_(U.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:I&&PN(I)?[{id:`chunk_source_${D}`,kind:"url",uri:I,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:I||void 0,token_count:U.token_count,ordinal:U.ordinal}})}for(let U of _.sync_conflicts.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,"sync_conflict");g.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${C_(U.entity_kind,"entity")}/${C_(U.entity_id,D)}`,summary:QU(`Status ${C_(U.status,"unknown")}; strategy ${C_(U.resolution_strategy,"none")}.`),status:C_(U.status,"unknown"),priority:"critical",timestamp:qg(U.created_at),resourceRefs:[k$("finding",D,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:U.local_machine_id,remote_machine_id:U.remote_machine_id}})}for(let U of _.reindex_queue.slice(0,Math.max(0,$-g.length))){let D=C_(U.id,"reindex");g.push({id:`reindex_${D}`,title:`Reindex ${C_(U.kind,"item")}: ${C_(U.target_id,D)}`,summary:QU(U.reason),status:C_(U.status,"unknown"),priority:C_(U.status).toLowerCase()==="failed"?"high":"medium",timestamp:qg(U.updated_at??U.created_at),resourceRefs:[k$("action",D,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:U.attempts,source_uri:U.source_uri}})}return g.slice(0,$)}async function l9(_,$={}){let g=zr($.limit),U=new Date().toISOString(),D=Sr(_),j=await($.service??UN({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:g,storePath:$.storePath,includeArchived:$.includeArchived}),N=Wr(j),O=Xr(N),A=j.summary.active_items+j.summary.sources+j.summary.chunks+j.summary.wiki_pages+j.summary.storage_objects,L=Rr(j),z=A===0?"empty":O==="stale"?"stale":"ready",W=Gr(j,g),J={schema:x.projectPanel,id:`knowledge_panel_${D}`,createdAt:U,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:i9,externalId:j.home},kind:"knowledge",title:"Knowledge",summary:z==="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:z,stateReason:z==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:U,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:W,actions:[k$("action","knowledge:inventory","Inspect knowledge inventory"),k$("action","knowledge:context-pack","Build cited context pack"),k$("action","knowledge:ingest","Ingest project source")],resourceRefs:[k$("project",D,_,`project://${D}`),k$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),k$("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:g}},metadata:{scope:j.scope,home:j.home,json_store_exists:j.paths.json_store_exists,latest_activity_at:N}};return m9(x.projectPanel,J)}function t9(_){let $=[`${_.title}: ${_.state}`,_.summary??"",..._.metrics.map((g)=>`${g.label}: ${g.value}`)].filter(Boolean);if(_.items.length>0){$.push("Items:");for(let g of _.items.slice(0,10))if($.push(`- ${g.title}${g.status?` [${g.status}]`:""}`),g.summary)$.push(` ${g.summary}`)}return $.join(` +`)}var e9=["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 a9="HASNA_KNOWLEDGE_STORAGE_MODE",s9="KNOWLEDGE_STORAGE_MODE";function o9(_){return process.env[_]?.trim()||void 0}function p9(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function Yr(_={}){let $=D0(ZU(_.scope,_.cwd).home);return h($.knowledgeDbPath),{db:v($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function _8(){let _=p9(o9(a9))??p9(o9(s9));if(_)return _;return"sqlite"}function t3(_={}){let $=Yr(_);try{Qr($.db);let g=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:_8(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:e9,sync:g}}finally{$.db.close()}}function Qr(_){_.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 W8=_Y(S8(),1),{program:Um,createCommand:Im,createArgument:jm,createOption:Nm,CommanderError:Em,InvalidArgumentError:Om,InvalidOptionArgumentError:Am,Command:X8,Argument:Lm,Option:Jm,Help:Pm}=W8.default;import{chmod as Dz,mkdir as Gv,readFile as Yv,rename as Qv,writeFile as Q8}from"fs/promises";import{Buffer as Z8}from"buffer";import{existsSync as b8}from"fs";import{homedir as Tv}from"os";import{join as VU}from"path";import{createHmac as Mv,timingSafeEqual as Qm}from"crypto";import{randomUUID as Hv}from"crypto";import{spawn as kv}from"child_process";import{randomUUID as uv}from"crypto";function Lv(_,$){return $.split(".").reduce((g,U)=>{if(g&&typeof g==="object"&&U in g)return g[U];return},_)}function Jv(_,$){let g=[],U=(I)=>{if(!g.some((j)=>Object.is(j,I)))g.push(I)};if($.includes(".")&&$ in _)U(_[$]);let D=Lv(_,$);if(D!==void 0||!$.includes("."))U(D);return g}function Pv(_,$={}){let g="";for(let U=0;U<_.length;U+=1){let D=_[U];if(D==="*")if(_[U+1]==="*")g+=".*",U+=1;else g+=$.segmentSafe?"[^/]*":".*";else g+=D.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${g}$`)}function BU(_,$,g={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>Pv(D,g).test(_))}function R8(_,$){if(!$)return!0;return Object.entries($).every(([g,U])=>{let D=Jv(_,g);return zv(D,U,g)})}function zv(_,$,g){if(Xv($))return!_.some((U)=>G8(U,$.not,g));return _.some((U)=>G8(U,$,g))}function G8(_,$,g){if(typeof $==="string"||Array.isArray($))return Sv(_).some((U)=>BU(U,$,{segmentSafe:g.endsWith("_path")||g.endsWith(".path")}));if(Array.isArray(_))return _.some((U)=>U===$);return _===$}function Sv(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>Wv($)?[String($)]:[]);return[String(_)]}function Wv(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function Xv(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function Rv(_,$){return BU(_.source,$.source)&&BU(_.type,$.type)&&BU(_.subject,$.subject)&&BU(_.severity,$.severity)&&R8(_.data,$.data)&&R8(_.metadata,$.metadata)}function Y8(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((g)=>Rv($,g))}var XN="HASNA_EVENTS_DIR",RN="HASNA_EVENTS_HOME",Nz="local-json-v1:",qv=100,Bv=1000;function H8(_){return _||process.env[XN]||process.env[RN]||VU(Tv(),".hasna","events")}function Kv(){if(process.env[XN])return XN;if(process.env[RN])return RN;return null}class GN{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=H8()){this.dataDir=_,this.runtime=Vv(_),this.channelsPath=VU(_,"channels.json"),this.eventsPath=VU(_,"events.json"),this.deliveriesPath=VU(_,"deliveries.json")}async init(){await Gv(this.dataDir,{recursive:!0,mode:448}),await Dz(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,[]),g=$.findIndex((U)=>U.id===_.id);if(g>=0)$[g]={..._,createdAt:$[g].createdAt,updatedAt:new Date().toISOString()};else $.push(_);return await this.writeJson(this.channelsPath,$),g>=0?$[g]:_}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel(_){return(await this.listChannels()).find((g)=>g.id===_)}async removeChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),g=$.filter((U)=>U.id!==_);return await this.writeJson(this.channelsPath,g),g.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 g=await this.readJson(this.eventsPath,[]);if($.dedupe!==!1){let D=q8(g,{id:_.id,dedupeKey:_.dedupeKey});if(D)return{event:D,stored:!1,deduped:!0,identity:{id:D.id,dedupeKey:D.dedupeKey}}}return g.push(_),await this.writeJson(this.eventsPath,g),{event:_,stored:!0,deduped:!1,identity:{id:_.id,dedupeKey:_.dedupeKey}}}async listEvents(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]);return T8($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),g=T8($,{eventId:_.eventId,source:_.source,type:_.type}),U=YN(_.cursor,_),D=QN(_.limit),I=g.slice(U,U+D),j=U+I.length,N=j{return})}async readJson(_,$){try{let g=await Yv(_,"utf-8");if(!g.trim())return $;return JSON.parse(g)}catch(g){if(g.code==="ENOENT")return $;throw g}}async writeJson(_,$){let g=`${_}.${process.pid}.${Date.now()}.tmp`;await Q8(g,`${JSON.stringify($,null,2)} -`,{encoding:"utf-8",mode:384}),await Qv(g,_),await Dz(_,384).catch(()=>{return})}}function Vv(_=H8()){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 k8(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let g={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${Nz}${Z8.from(JSON.stringify(g),"utf-8").toString("base64url")}`}function YN(_,$={}){if(!_)return 0;if(!_.startsWith(Nz))throw Error(`Invalid local JSON event cursor: ${_}`);let g=_.slice(Nz.length),U;try{U=JSON.parse(Z8.from(g,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let D=U.offset;if(!Number.isInteger(D)||D<0)throw Error(`Invalid local JSON event cursor: ${_}`);return Uz("eventId",U.eventId,$.eventId),Uz("source",U.source,$.source),Uz("type",U.type,$.type),D}function QN(_){if(_===void 0)return qv;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,Bv)}function T8(_,$){let g=_;if($.eventId)g=g.filter((U)=>U.id===$.eventId);if($.source)g=g.filter((U)=>U.source===$.source);if($.type)g=g.filter((U)=>U.type===$.type);if($.cursor){let U=YN($.cursor,$);g=g.slice(U)}if($.limit!==void 0)g=g.slice(0,QN($.limit));return g}function Uz(_,$,g){if($!==g)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function q8(_,$){return _.find((g)=>$.id!==void 0&&g.id===$.id||$.dedupeKey!==void 0&&g.dedupeKey===$.dedupeKey)}async function Fv(_){let $=new GN(_);await $.init();let[g,U,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),I=g.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:XN,fallback:RN,active:Kv()},files:{channels:Iz($.dataDir,"channels.json",g.length),events:Iz($.dataDir,"events.json",U.length),deliveries:Iz($.dataDir,"deliveries.json",D.length)},counts:{channels:g.length,enabledChannels:g.filter((j)=>j.enabled).length,disabledChannels:g.filter((j)=>!j.enabled).length,events:U.length,deliveries:D.length},transports:I,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function Iz(_,$,g){let U=VU(_,$);return{path:U,exists:b8(U),records:g}}function Zv(_,$){return`${_}.${$}`}function bv(_,$,g){return`sha256=${Mv("sha256",_).update(Zv($,g)).digest("hex")}`}function i$(){return new Date().toISOString()}function KU(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Cv(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let g=JSON.stringify(_),U=_.time,D={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":U,...$.webhook.headers};if($.webhook.secret)D["X-Hasna-Signature"]=bv($.webhook.secret,U,g);return{body:g,headers:D}}async function rv(_,$,g={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let U=i$(),{body:D,headers:I}=Cv(_,$),j=new AbortController,N=setTimeout(()=>j.abort(),$.webhook.timeoutMs??15000);try{let O=await(g.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:I,body:D,signal:j.signal}),A=KU(await O.text());return{attempt:1,status:O.ok?"success":"failed",startedAt:U,completedAt:i$(),responseStatus:O.status,responseBody:A,error:O.ok?void 0:`Webhook returned HTTP ${O.status}`}}catch(O){return{attempt:1,status:"failed",startedAt:U,completedAt:i$(),error:O instanceof Error?O.message:String(O)}}finally{clearTimeout(N)}}async function vv(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let g=i$(),U=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:U};return new Promise((I)=>{let j=kv($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),N="",O="",A=setTimeout(()=>j.kill("SIGTERM"),$.command.timeoutMs??15000);j.stdin.end(U),j.stdout.on("data",(L)=>{N+=L.toString()}),j.stderr.on("data",(L)=>{O+=L.toString()}),j.on("error",(L)=>{clearTimeout(A),I({attempt:1,status:"failed",startedAt:g,completedAt:i$(),stdout:KU(N),stderr:KU(O),error:L.message})}),j.on("close",(L,z)=>{clearTimeout(A);let W=L===0;I({attempt:1,status:W?"success":"failed",startedAt:g,completedAt:i$(),stdout:KU(N),stderr:KU(O),error:W?void 0:`Command exited with ${z?`signal ${z}`:`code ${L}`}`})})})}async function fv(_,$,g={}){if($.transport==="webhook")return rv(_,$,g);if($.transport==="command")return vv(_,$);return{attempt:1,status:"skipped",startedAt:i$(),completedAt:i$(),error:`Unsupported transport: ${$.transport}`}}function B8(_,$,g){let U=g.some((D)=>D.status==="success")?"success":g.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Hv(),eventId:_.id,channelId:$.id,transport:$.transport,status:U,attempts:g,createdAt:g[0]?.startedAt??i$(),completedAt:g.at(-1)?.completedAt??i$()}}class C8 extends Error{eventType;issues;constructor(_,$){let g=$.map((U)=>`${U.path||""}: ${U.message}`).join("; ");super(`Event validation failed for type "${_}": ${g}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class r8{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 C8(_.type,$.issues)}}var wv=new r8;function jz(_){return{id:_.id??uv(),source:_.source,type:_.type,time:nv(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class v8{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new GN(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??wv,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 g=$.redactSensitiveData===!1?jz(_):hv(jz(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(g);let U=await this.appendEvent(g,{dedupe:$.dedupe!==!1});if(U.deduped)return{event:U.event,deliveries:[],deduped:!0};let D=$.deliver===!1?[]:await this.deliver(U.event);return{event:U.event,deliveries:D,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return K8(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=K8(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),g=YN(_.cursor,_),U=QN(_.limit),D=$.slice(g,g+U),I=g+D.length,j=I<$.length;return{events:D,cursor:_.cursor,nextCursor:j?k8(I,_):void 0,hasMore:j}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let g=(await this.store.listChannels()).filter((D)=>Y8(D,_)),U=[];for(let D of g){let I=await this.applyRedaction(_,D),j=await this.deliverWithRetry(I,D);await this.store.appendDelivery(j),U.push(j)}return U}async matchChannel(_,$={}){let g=await this.store.getChannel(_);if(!g)throw Error(`Channel not found: ${_}`);let U=jz({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=Y8(g,U);return{channelId:g.id,matched:D,event:U,filters:g.filters,reason:D?void 0:g.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},g={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let D=await this.matchChannel(_,$),I=D.event;if(g.honorFilters&&!D.matched){let O=new Date().toISOString(),A=B8(I,U,[{attempt:1,status:"skipped",startedAt:O,completedAt:O,error:D.reason}]);return A.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(A),A}let j=await this.applyRedaction(I,U),N=await this.deliverWithRetry(j,U);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 g=[];for(let U of $.events)g.push(...await this.deliver(U));return{events:$.events,deliveries:g,cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore}}async appendEvent(_,$){if(this.store.appendEventOnce)return this.store.appendEventOnce(_,{dedupe:$.dedupe});if($.dedupe){let U=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(U)return{event:U,stored:!1,deduped:!0,identity:{id:U.id,dedupeKey:U.dedupeKey}}}let g=await this.store.appendEvent(_);return{event:g,stored:!0,deduped:!1,identity:{id:g.id,dedupeKey:g.dedupeKey}}}async applyRedaction(_,$){let g=xv(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let U of this.redactors)g=await U(g,$);return g}async deliverWithRetry(_,$){let g=dv($.retry),U=[];for(let D=0;D[g,w8(g)?"[REDACTED]":U]));return $}function yv(_){return _.map(f8)}function hv(_,$="[REDACTED]"){return Ez(_,$)}function w8(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function Ez(_,$){if(Array.isArray(_))return _.map((g)=>Ez(g,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([g,U])=>[g,w8(g)?$:Ez(U,$)]))}function cv(_,$,g){let U=$.split("."),D=_;for(let j of U.slice(0,-1)){let N=D[j];if(!N||typeof N!=="object")return;D=N}let I=U.at(-1);if(I&&I in D)D[I]=g}function K8(_,$){let g=_;if($.eventId)g=g.filter((U)=>U.id===$.eventId);if($.source)g=g.filter((U)=>U.source===$.source);if($.type)g=g.filter((U)=>U.type===$.type);if($.cursor)g=g.slice(YN($.cursor,$));if($.limit!==void 0)g=g.slice(0,QN($.limit));return g}function nv(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function dv(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function WN(_,$,g=!1){if(!_?.length)return;let U={};for(let D of _){let I=lv(D,$),j=I.path;if(j in U)throw Error(`Duplicate ${$} filter path: ${j}`);let N=g?iv(I.rawValue,$):I.rawValue;U[j]=I.negated?{not:N}:N}return U}function mv(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let g=V8(WN(_.data,"data"),WN(_.dataJson,"data-json",!0)),U=V8(WN(_.metadata,"metadata"),WN(_.metadataJson,"metadata-json",!0));if(Object.keys(g).length>0)$.data=g;if(Object.keys(U).length>0)$.metadata=U;return Object.keys($).length>0?[$]:void 0}function V8(..._){let $={};for(let g of _){if(!g)continue;for(let[U,D]of Object.entries(g)){if(U in $)throw Error(`Duplicate filter path: ${U}`);$[U]=D}}return $}function iv(_,$){let g=JSON.parse(_);if(g===null||typeof g==="string"||typeof g==="number"||typeof g==="boolean"||Array.isArray(g)&&g.every((U)=>typeof U==="string"))return g;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function lv(_,$){let g=_.indexOf("!=");if(g>0)return{path:_.slice(0,g),rawValue:_.slice(g+2),negated:!0};let U=_.indexOf("=");if(U<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,U),rawValue:_.slice(U+1),negated:!1}}var tv=100;function Bg(_,$){if(!_)return $;let g=JSON.parse(_);if(!g||typeof g!=="object"||Array.isArray(g))throw Error("Expected a JSON object");return g}function ov(_){if(!_?.length)return;let $={};for(let g of _){let U=g.indexOf("=");if(U===-1)throw Error(`Invalid header, expected name=value: ${g}`);$[g.slice(0,U)]=g.slice(U+1)}return $}function p6(_){if(_.createClient)return _.createClient();return new v8({store:new GN(_.dataDir)})}function s4(_,$,g){if($)console.log(JSON.stringify(_,null,2));else console.log(g)}function F8(_,$){let g=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:g},null,2));else console.error(g);process.exitCode=1}function M8(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function W6(_,$){return M8(_)||M8($)}function pv(_,$){let g=_.command($.channelsCommandName??"channels").description("Manage Hasna event channels");return g.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",a4,[]).option("--metadata ","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",a4,[]).option("--data-json ","Event data field filter with typed JSON value; path!=json negatives supported",a4,[]).option("--metadata-json ","Event metadata field filter with typed JSON value; path!=json negatives supported",a4,[]).option("--secret ","Webhook HMAC secret").option("--header ","Webhook header",a4,[]).option("--arg ","Command argument",a4,[]).option("--timeout-ms ","Transport timeout in milliseconds",FU).option("--retry-attempts ","Maximum delivery attempts",FU).option("--retry-backoff-ms ","Initial retry backoff in milliseconds",FU).option("--redact ","Event field path to redact before delivery",a4,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(U,D,I)=>{let j=new Date().toISOString(),N={id:D.id,name:D.name,enabled:!D.disabled,transport:D.transport,filters:mv(D),retry:D.retryAttempts||D.retryBackoffMs?{maxAttempts:D.retryAttempts,backoffMs:D.retryBackoffMs}:void 0,redact:D.redact?.length?{paths:D.redact}:void 0,createdAt:j,updatedAt:j};if(D.transport==="webhook")N.webhook={url:U,secret:D.secret,headers:ov(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")N.command={command:U,args:D.arg??[],timeoutMs:D.timeoutMs};else throw Error(`Transport ${D.transport} is reserved for future use and cannot be added yet`);let O=await p6($).addChannel(N);s4(f8(O),W6(D,I),`Added ${O.transport} channel ${O.id}`)}),g.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(U,D)=>{let I=await p6($).listChannels();if(W6(U,D)){console.log(JSON.stringify(yv(I),null,2));return}if(!I.length){console.log("No channels configured.");return}for(let j of I)console.log(`${j.id} ${j.enabled?"enabled":"disabled"} ${j.transport} ${j.webhook?.url??j.command?.command??j.transport}`)}),g.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(U,D)=>{let I=await Fv($.dataDir);s4(I,W6(U,D),`events dataDir: ${I.dataDir}`)}),g.command("remove").description("Remove a channel").argument("","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(U,D,I)=>{let j=await p6($).removeChannel(U);s4({removed:j},W6(D,I),j?`Removed ${U}`:`Channel not found: ${U}`)}),g.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(U,D,I)=>{let j=W6(D,I);try{let N=await p6($).testChannel(U,{source:D.source??$.source,type:D.type,subject:D.subject??U,message:D.message,data:Bg(D.data,{test:!0}),metadata:Bg(D.metadata,{})},{honorFilters:D.honorFilters});s4(N,j,`${N.status}: ${N.channelId}`)}catch(N){F8(N,j)}}),g.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(U,D,I)=>{let j=W6(D,I);try{let N=await p6($).matchChannel(U,{source:D.source??$.source,type:D.type,subject:D.subject??U,message:D.message,data:Bg(D.data,{test:!0}),metadata:Bg(D.metadata,{})});s4(N,j,`${N.matched?"matched":"skipped"}: ${N.channelId}`)}catch(N){F8(N,j)}}),g}function ev(_,$){let g=_.command($.eventsCommandName??"events").description("Emit, list, and replay Hasna events");g.command("emit").description("Emit an event from this app").argument("","Event type").option("--source ","Event source override").option("--subject ","Event subject").option("--severity ","Event severity","info").option("--message ","Event message").option("--dedupe-key ","Dedupe key").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(D,I,j)=>{let N=await p6($).emit({source:I.source??$.source,type:D,subject:I.subject,severity:I.severity,message:I.message,dedupeKey:I.dedupeKey,data:Bg(I.data,{}),metadata:Bg(I.metadata,{})},{deliver:I.deliver,dedupe:I.dedupe});s4(N,W6(I,j),`${N.deduped?"Deduped":"Emitted"} ${N.event.id} to ${N.deliveries.length} channel(s)`)});let U=$.defaultEventListLimit??tv;return g.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 ${U}; use 0 for all)`,FU,U).option("-j, --json","Print JSON output",!1).action(async(D,I)=>{let j=await p6($).listEvents();if(D.source)j=j.filter((N)=>N.source===D.source);if(D.type)j=j.filter((N)=>N.type===D.type);if(D.limit)j=j.slice(-D.limit);if(W6(D,I)){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}`)}),g.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",FU).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,I)=>{let j=await p6($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});s4(j,W6(D,I),av(j.events.length,j.deliveries.length,j.nextCursor))}),g}function u8(_,$){pv(_,$),ev(_,$)}function FU(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function a4(_,$){return $.push(_),$}function av(_,$,g){let U=g?`, next cursor: ${g}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${U}`}import{basename as _f}from"path";var C$={name:"@hasna/knowledge",version:"0.2.93",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","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"}};var x8={debug:0,info:1,warn:2,error:3},$f=()=>{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 $0(_,$,g){if(x8[_]U.toLowerCase()));return $.filter((U)=>!g.has(U.toLowerCase()))}function Oz(_,$,g){if(g===void 0)return{..._,message:$};return{..._,added:g.length,message:`${$} (added ${g.length} tag${g.length===1?"":"s"})`}}function Df(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <content> -t <tag> -t <tag>");let g=$.split(",").map((U)=>U.trim()).filter((U)=>U.length>0);if(g.length===0)throw Error(`Invalid --tag value ${JSON.stringify($)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return gf([..._??[],...g])}function Uf(_){let $=[],g={},U=!1;for(let D=0;D<_.length;D+=1){let I=_[D];if(U){$.push(I);continue}if(I==="--"){U=!0;continue}if(!I.startsWith("-")||$[0]==="add"&&$.length===2&&I.startsWith("---")){$.push(I);continue}switch(I){case"--json":g.json=!0;break;case"--verbose":g.verbose=!0;break;case"--yes":case"-y":g.yes=!0;break;case"--help":case"-h":g.help=!0;break;case"--version":case"-v":g.version=!0;break;case"--desc":g.desc=!0;break;case"--page":case"-p":g.page=Number(_[D+1]),D+=1;break;case"--limit":case"-l":g.limit=Number(_[D+1]),D+=1;break;case"--search":case"-s":g.search=_[D+1],D+=1;break;case"--sort":g.sort=_[D+1],D+=1;break;case"--id":g.id=_[D+1],D+=1;break;case"--store":g.store=_[D+1],D+=1;break;case"--title":g.title=_[D+1],D+=1;break;case"--content":g.content=_[D+1],D+=1;break;case"--url":g.url=_[D+1],D+=1;break;case"--tag":case"-t":g.tag=Df(g.tag,_[D+1]),g.tagRaw=[...g.tagRaw??[],_[D+1]],D+=1;break;case"--format":g.format=_[D+1],D+=1;break;case"--completions":g.completions=_[D+1],D+=1;break;case"--purpose":g.purpose=_[D+1],D+=1;break;case"--model":g.model=_[D+1],D+=1;break;case"--strategy":g.strategy=_[D+1],D+=1;break;case"--dimensions":g.dimensions=Number(_[D+1]),D+=1;break;case"--semantic":g.semantic=!0;break;case"--context":g.context=!0;break;case"--max-tokens":g.maxTokens=Number(_[D+1]),D+=1;break;case"--max-items":g.maxItems=Number(_[D+1]),D+=1;break;case"--from":g.from=_[D+1],D+=1;break;case"--to":g.to=_[D+1],D+=1;break;case"--rev":g.rev=Number(_[D+1]),D+=1;break;case"--since":g.since=_[D+1],D+=1;break;case"--topic":g.topic=_[D+1],D+=1;break;case"--dedupe":g.dedupe=!0;break;case"--generate":g.generate=!0;break;case"--approve-write":g.approveWrite=!0;break;case"--provider":g.provider=_[D+1],D+=1;break;case"--mode":g.mode=_[D+1],D+=1;break;case"--machine":g.machine=_[D+1],D+=1;break;case"--workspace":g.workspace=_[D+1],D+=1;break;case"--api-url":g.apiUrl=_[D+1],D+=1;break;case"--canonical-example":g.canonicalExample=!0;break;case"--api-key":g.apiKey=_[D+1],D+=1;break;case"--email":g.email=_[D+1],D+=1;break;case"--org":g.org=_[D+1],D+=1;break;case"--org-id":g.orgId=_[D+1],D+=1;break;case"--user-id":g.userId=_[D+1],D+=1;break;case"--owner":g.owner=_[D+1],D+=1;break;case"--approved-by":g.approvedBy=_[D+1],D+=1;break;case"--patch-uri":g.patchUri=_[D+1],D+=1;break;case"--domain":g.domain=[...g.domain??[],_[D+1]],D+=1;break;case"--file-results":g.fileResults=!0;break;case"--full":g.full=!0;break;case"--dry-run":g.dryRun=!0;break;case"--fake":g.fake=!0;break;case"--no-tailscale":g.tailscale=!1;break;case"--no-artifact-content":g.artifactContent=!1;break;case"--no-color":g.noColor=!0;break;case"--scope":g.scope=_[D+1],D+=1;break;case"--tables":g.tables=_[D+1],D+=1;break;case"--peer-workspace":g.peerWorkspace=_[D+1],D+=1;break;case"--older-than":g.olderThan=Number(_[D+1]),D+=1;break;case"--empty":g.empty=!0;break;case"--archived":g.archived=!0;break;case"--include-archived":g.includeArchived=!0;break;case"--project":g.project=_[D+1],D+=1;break;case"--contract":g.contract=!0;break;case"--source-ref":g.sourceRef=[...g.sourceRef??[],_[D+1]],D+=1;break;case"--allow-global":g.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${I}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:g}}function If(_){if(!_)return"";return i8[_]??_}function jf(_,$){let g=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let U=0;U<=_.length;U+=1)g[U][0]=U;for(let U=0;U<=$.length;U+=1)g[0][U]=U;for(let U=1;U<=_.length;U+=1)for(let D=1;D<=$.length;D+=1){let I=_[U-1]===$[D-1]?0:1;g[U][D]=Math.min(g[U-1][D]+1,g[U][D-1]+1,g[U-1][D-1]+I)}return g[_.length][$.length]}function Nf(_){if(!_)return"";let $=[...m8,...Object.keys(i8)],g="",U=Number.POSITIVE_INFINITY;for(let D of $){let I=jf(_,D);if(I<U)U=I,g=D}return U<=3?g:""}function Ef(){return _f(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Of(_){if(!d8.includes(_[0]??""))return!1;let $=new X8;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),u8($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function Af(){console.log(`knowledge - local agent knowledge store + `)}var X8=$Y(W8(),1),{program:Im,createCommand:jm,createArgument:Nm,createOption:Em,CommanderError:Om,InvalidArgumentError:Am,InvalidOptionArgumentError:Lm,Command:R8,Argument:Jm,Option:Pm,Help:zm}=X8.default;import{chmod as Dz,mkdir as Yv,readFile as Qv,rename as Tv,writeFile as T8}from"fs/promises";import{Buffer as b8}from"buffer";import{existsSync as H8}from"fs";import{homedir as qv}from"os";import{join as VU}from"path";import{createHmac as Zv,timingSafeEqual as Tm}from"crypto";import{randomUUID as kv}from"crypto";import{spawn as Cv}from"child_process";import{randomUUID as xv}from"crypto";function Jv(_,$){return $.split(".").reduce((g,U)=>{if(g&&typeof g==="object"&&U in g)return g[U];return},_)}function Pv(_,$){let g=[],U=(I)=>{if(!g.some((j)=>Object.is(j,I)))g.push(I)};if($.includes(".")&&$ in _)U(_[$]);let D=Jv(_,$);if(D!==void 0||!$.includes("."))U(D);return g}function zv(_,$={}){let g="";for(let U=0;U<_.length;U+=1){let D=_[U];if(D==="*")if(_[U+1]==="*")g+=".*",U+=1;else g+=$.segmentSafe?"[^/]*":".*";else g+=D.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${g}$`)}function BU(_,$,g={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>zv(D,g).test(_))}function G8(_,$){if(!$)return!0;return Object.entries($).every(([g,U])=>{let D=Pv(_,g);return Sv(D,U,g)})}function Sv(_,$,g){if(Rv($))return!_.some((U)=>Y8(U,$.not,g));return _.some((U)=>Y8(U,$,g))}function Y8(_,$,g){if(typeof $==="string"||Array.isArray($))return Wv(_).some((U)=>BU(U,$,{segmentSafe:g.endsWith("_path")||g.endsWith(".path")}));if(Array.isArray(_))return _.some((U)=>U===$);return _===$}function Wv(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>Xv($)?[String($)]:[]);return[String(_)]}function Xv(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function Rv(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function Gv(_,$){return BU(_.source,$.source)&&BU(_.type,$.type)&&BU(_.subject,$.subject)&&BU(_.severity,$.severity)&&G8(_.data,$.data)&&G8(_.metadata,$.metadata)}function Q8(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((g)=>Gv($,g))}var XN="HASNA_EVENTS_DIR",RN="HASNA_EVENTS_HOME",Nz="local-json-v1:",Bv=100,Kv=1000;function k8(_){return _||process.env[XN]||process.env[RN]||VU(qv(),".hasna","events")}function Vv(){if(process.env[XN])return XN;if(process.env[RN])return RN;return null}class GN{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=k8()){this.dataDir=_,this.runtime=Fv(_),this.channelsPath=VU(_,"channels.json"),this.eventsPath=VU(_,"events.json"),this.deliveriesPath=VU(_,"deliveries.json")}async init(){await Yv(this.dataDir,{recursive:!0,mode:448}),await Dz(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,[]),g=$.findIndex((U)=>U.id===_.id);if(g>=0)$[g]={..._,createdAt:$[g].createdAt,updatedAt:new Date().toISOString()};else $.push(_);return await this.writeJson(this.channelsPath,$),g>=0?$[g]:_}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel(_){return(await this.listChannels()).find((g)=>g.id===_)}async removeChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),g=$.filter((U)=>U.id!==_);return await this.writeJson(this.channelsPath,g),g.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 g=await this.readJson(this.eventsPath,[]);if($.dedupe!==!1){let D=B8(g,{id:_.id,dedupeKey:_.dedupeKey});if(D)return{event:D,stored:!1,deduped:!0,identity:{id:D.id,dedupeKey:D.dedupeKey}}}return g.push(_),await this.writeJson(this.eventsPath,g),{event:_,stored:!0,deduped:!1,identity:{id:_.id,dedupeKey:_.dedupeKey}}}async listEvents(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]);return q8($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),g=q8($,{eventId:_.eventId,source:_.source,type:_.type}),U=YN(_.cursor,_),D=QN(_.limit),I=g.slice(U,U+D),j=U+I.length,N=j<g.length;return{events:I,cursor:_.cursor,nextCursor:N?C8(j,_):void 0,hasMore:N}}async findEventByIdentity(_){let $=await this.listEvents();return B8($,_)}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(!H8(_))await T8(_,`[] +`,{encoding:"utf-8",mode:384});await Dz(_,384).catch(()=>{return})}async readJson(_,$){try{let g=await Qv(_,"utf-8");if(!g.trim())return $;return JSON.parse(g)}catch(g){if(g.code==="ENOENT")return $;throw g}}async writeJson(_,$){let g=`${_}.${process.pid}.${Date.now()}.tmp`;await T8(g,`${JSON.stringify($,null,2)} +`,{encoding:"utf-8",mode:384}),await Tv(g,_),await Dz(_,384).catch(()=>{return})}}function Fv(_=k8()){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 C8(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let g={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${Nz}${b8.from(JSON.stringify(g),"utf-8").toString("base64url")}`}function YN(_,$={}){if(!_)return 0;if(!_.startsWith(Nz))throw Error(`Invalid local JSON event cursor: ${_}`);let g=_.slice(Nz.length),U;try{U=JSON.parse(b8.from(g,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let D=U.offset;if(!Number.isInteger(D)||D<0)throw Error(`Invalid local JSON event cursor: ${_}`);return Uz("eventId",U.eventId,$.eventId),Uz("source",U.source,$.source),Uz("type",U.type,$.type),D}function QN(_){if(_===void 0)return Bv;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,Kv)}function q8(_,$){let g=_;if($.eventId)g=g.filter((U)=>U.id===$.eventId);if($.source)g=g.filter((U)=>U.source===$.source);if($.type)g=g.filter((U)=>U.type===$.type);if($.cursor){let U=YN($.cursor,$);g=g.slice(U)}if($.limit!==void 0)g=g.slice(0,QN($.limit));return g}function Uz(_,$,g){if($!==g)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function B8(_,$){return _.find((g)=>$.id!==void 0&&g.id===$.id||$.dedupeKey!==void 0&&g.dedupeKey===$.dedupeKey)}async function Mv(_){let $=new GN(_);await $.init();let[g,U,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),I=g.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:XN,fallback:RN,active:Vv()},files:{channels:Iz($.dataDir,"channels.json",g.length),events:Iz($.dataDir,"events.json",U.length),deliveries:Iz($.dataDir,"deliveries.json",D.length)},counts:{channels:g.length,enabledChannels:g.filter((j)=>j.enabled).length,disabledChannels:g.filter((j)=>!j.enabled).length,events:U.length,deliveries:D.length},transports:I,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function Iz(_,$,g){let U=VU(_,$);return{path:U,exists:H8(U),records:g}}function bv(_,$){return`${_}.${$}`}function Hv(_,$,g){return`sha256=${Zv("sha256",_).update(bv($,g)).digest("hex")}`}function i$(){return new Date().toISOString()}function KU(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function rv(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let g=JSON.stringify(_),U=_.time,D={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":U,...$.webhook.headers};if($.webhook.secret)D["X-Hasna-Signature"]=Hv($.webhook.secret,U,g);return{body:g,headers:D}}async function vv(_,$,g={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let U=i$(),{body:D,headers:I}=rv(_,$),j=new AbortController,N=setTimeout(()=>j.abort(),$.webhook.timeoutMs??15000);try{let O=await(g.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:I,body:D,signal:j.signal}),A=KU(await O.text());return{attempt:1,status:O.ok?"success":"failed",startedAt:U,completedAt:i$(),responseStatus:O.status,responseBody:A,error:O.ok?void 0:`Webhook returned HTTP ${O.status}`}}catch(O){return{attempt:1,status:"failed",startedAt:U,completedAt:i$(),error:O instanceof Error?O.message:String(O)}}finally{clearTimeout(N)}}async function fv(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let g=i$(),U=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:U};return new Promise((I)=>{let j=Cv($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),N="",O="",A=setTimeout(()=>j.kill("SIGTERM"),$.command.timeoutMs??15000);j.stdin.end(U),j.stdout.on("data",(L)=>{N+=L.toString()}),j.stderr.on("data",(L)=>{O+=L.toString()}),j.on("error",(L)=>{clearTimeout(A),I({attempt:1,status:"failed",startedAt:g,completedAt:i$(),stdout:KU(N),stderr:KU(O),error:L.message})}),j.on("close",(L,z)=>{clearTimeout(A);let W=L===0;I({attempt:1,status:W?"success":"failed",startedAt:g,completedAt:i$(),stdout:KU(N),stderr:KU(O),error:W?void 0:`Command exited with ${z?`signal ${z}`:`code ${L}`}`})})})}async function wv(_,$,g={}){if($.transport==="webhook")return vv(_,$,g);if($.transport==="command")return fv(_,$);return{attempt:1,status:"skipped",startedAt:i$(),completedAt:i$(),error:`Unsupported transport: ${$.transport}`}}function K8(_,$,g){let U=g.some((D)=>D.status==="success")?"success":g.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:kv(),eventId:_.id,channelId:$.id,transport:$.transport,status:U,attempts:g,createdAt:g[0]?.startedAt??i$(),completedAt:g.at(-1)?.completedAt??i$()}}class r8 extends Error{eventType;issues;constructor(_,$){let g=$.map((U)=>`${U.path||"<root>"}: ${U.message}`).join("; ");super(`Event validation failed for type "${_}": ${g}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class v8{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 r8(_.type,$.issues)}}var uv=new v8;function jz(_){return{id:_.id??xv(),source:_.source,type:_.type,time:dv(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class f8{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new GN(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??uv,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 g=$.redactSensitiveData===!1?jz(_):cv(jz(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(g);let U=await this.appendEvent(g,{dedupe:$.dedupe!==!1});if(U.deduped)return{event:U.event,deliveries:[],deduped:!0};let D=$.deliver===!1?[]:await this.deliver(U.event);return{event:U.event,deliveries:D,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return V8(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=V8(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),g=YN(_.cursor,_),U=QN(_.limit),D=$.slice(g,g+U),I=g+D.length,j=I<$.length;return{events:D,cursor:_.cursor,nextCursor:j?C8(I,_):void 0,hasMore:j}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let g=(await this.store.listChannels()).filter((D)=>Q8(D,_)),U=[];for(let D of g){let I=await this.applyRedaction(_,D),j=await this.deliverWithRetry(I,D);await this.store.appendDelivery(j),U.push(j)}return U}async matchChannel(_,$={}){let g=await this.store.getChannel(_);if(!g)throw Error(`Channel not found: ${_}`);let U=jz({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=Q8(g,U);return{channelId:g.id,matched:D,event:U,filters:g.filters,reason:D?void 0:g.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},g={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let D=await this.matchChannel(_,$),I=D.event;if(g.honorFilters&&!D.matched){let O=new Date().toISOString(),A=K8(I,U,[{attempt:1,status:"skipped",startedAt:O,completedAt:O,error:D.reason}]);return A.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(A),A}let j=await this.applyRedaction(I,U),N=await this.deliverWithRetry(j,U);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 g=[];for(let U of $.events)g.push(...await this.deliver(U));return{events:$.events,deliveries:g,cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore}}async appendEvent(_,$){if(this.store.appendEventOnce)return this.store.appendEventOnce(_,{dedupe:$.dedupe});if($.dedupe){let U=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(U)return{event:U,stored:!1,deduped:!0,identity:{id:U.id,dedupeKey:U.dedupeKey}}}let g=await this.store.appendEvent(_);return{event:g,stored:!0,deduped:!1,identity:{id:g.id,dedupeKey:g.dedupeKey}}}async applyRedaction(_,$){let g=yv(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let U of this.redactors)g=await U(g,$);return g}async deliverWithRetry(_,$){let g=mv($.retry),U=[];for(let D=0;D<g.maxAttempts;D+=1){let I=await wv(_,$,this.transportOptions);if(I.attempt=D+1,I.status==="failed"&&D+1<g.maxAttempts)I.nextBackoffMs=Math.round(g.backoffMs*g.multiplier**D);if(U.push(I),I.status!=="failed")break;if(I.nextBackoffMs)await Bun.sleep(I.nextBackoffMs)}return K8(_,$,U)}}function yv(_,$,g="[REDACTED]"){if($.length===0)return _;let U=structuredClone(_);for(let D of $)nv(U,D,g);return U}function w8(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([g,U])=>[g,u8(g)?"[REDACTED]":U]));return $}function hv(_){return _.map(w8)}function cv(_,$="[REDACTED]"){return Ez(_,$)}function u8(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function Ez(_,$){if(Array.isArray(_))return _.map((g)=>Ez(g,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([g,U])=>[g,u8(g)?$:Ez(U,$)]))}function nv(_,$,g){let U=$.split("."),D=_;for(let j of U.slice(0,-1)){let N=D[j];if(!N||typeof N!=="object")return;D=N}let I=U.at(-1);if(I&&I in D)D[I]=g}function V8(_,$){let g=_;if($.eventId)g=g.filter((U)=>U.id===$.eventId);if($.source)g=g.filter((U)=>U.source===$.source);if($.type)g=g.filter((U)=>U.type===$.type);if($.cursor)g=g.slice(YN($.cursor,$));if($.limit!==void 0)g=g.slice(0,QN($.limit));return g}function dv(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function mv(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function WN(_,$,g=!1){if(!_?.length)return;let U={};for(let D of _){let I=tv(D,$),j=I.path;if(j in U)throw Error(`Duplicate ${$} filter path: ${j}`);let N=g?lv(I.rawValue,$):I.rawValue;U[j]=I.negated?{not:N}:N}return U}function iv(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let g=F8(WN(_.data,"data"),WN(_.dataJson,"data-json",!0)),U=F8(WN(_.metadata,"metadata"),WN(_.metadataJson,"metadata-json",!0));if(Object.keys(g).length>0)$.data=g;if(Object.keys(U).length>0)$.metadata=U;return Object.keys($).length>0?[$]:void 0}function F8(..._){let $={};for(let g of _){if(!g)continue;for(let[U,D]of Object.entries(g)){if(U in $)throw Error(`Duplicate filter path: ${U}`);$[U]=D}}return $}function lv(_,$){let g=JSON.parse(_);if(g===null||typeof g==="string"||typeof g==="number"||typeof g==="boolean"||Array.isArray(g)&&g.every((U)=>typeof U==="string"))return g;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function tv(_,$){let g=_.indexOf("!=");if(g>0)return{path:_.slice(0,g),rawValue:_.slice(g+2),negated:!0};let U=_.indexOf("=");if(U<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,U),rawValue:_.slice(U+1),negated:!1}}var ov=100;function Bg(_,$){if(!_)return $;let g=JSON.parse(_);if(!g||typeof g!=="object"||Array.isArray(g))throw Error("Expected a JSON object");return g}function pv(_){if(!_?.length)return;let $={};for(let g of _){let U=g.indexOf("=");if(U===-1)throw Error(`Invalid header, expected name=value: ${g}`);$[g.slice(0,U)]=g.slice(U+1)}return $}function p6(_){if(_.createClient)return _.createClient();return new f8({store:new GN(_.dataDir)})}function s4(_,$,g){if($)console.log(JSON.stringify(_,null,2));else console.log(g)}function M8(_,$){let g=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:g},null,2));else console.error(g);process.exitCode=1}function Z8(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function W6(_,$){return Z8(_)||Z8($)}function ev(_,$){let g=_.command($.channelsCommandName??"channels").description("Manage Hasna event channels");return g.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",a4,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",a4,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",a4,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",a4,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",a4,[]).option("--arg <arg...>","Command argument",a4,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",FU).option("--retry-attempts <n>","Maximum delivery attempts",FU).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",FU).option("--redact <path...>","Event field path to redact before delivery",a4,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(U,D,I)=>{let j=new Date().toISOString(),N={id:D.id,name:D.name,enabled:!D.disabled,transport:D.transport,filters:iv(D),retry:D.retryAttempts||D.retryBackoffMs?{maxAttempts:D.retryAttempts,backoffMs:D.retryBackoffMs}:void 0,redact:D.redact?.length?{paths:D.redact}:void 0,createdAt:j,updatedAt:j};if(D.transport==="webhook")N.webhook={url:U,secret:D.secret,headers:pv(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")N.command={command:U,args:D.arg??[],timeoutMs:D.timeoutMs};else throw Error(`Transport ${D.transport} is reserved for future use and cannot be added yet`);let O=await p6($).addChannel(N);s4(w8(O),W6(D,I),`Added ${O.transport} channel ${O.id}`)}),g.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(U,D)=>{let I=await p6($).listChannels();if(W6(U,D)){console.log(JSON.stringify(hv(I),null,2));return}if(!I.length){console.log("No channels configured.");return}for(let j of I)console.log(`${j.id} ${j.enabled?"enabled":"disabled"} ${j.transport} ${j.webhook?.url??j.command?.command??j.transport}`)}),g.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(U,D)=>{let I=await Mv($.dataDir);s4(I,W6(U,D),`events dataDir: ${I.dataDir}`)}),g.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(U,D,I)=>{let j=await p6($).removeChannel(U);s4({removed:j},W6(D,I),j?`Removed ${U}`:`Channel not found: ${U}`)}),g.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(U,D,I)=>{let j=W6(D,I);try{let N=await p6($).testChannel(U,{source:D.source??$.source,type:D.type,subject:D.subject??U,message:D.message,data:Bg(D.data,{test:!0}),metadata:Bg(D.metadata,{})},{honorFilters:D.honorFilters});s4(N,j,`${N.status}: ${N.channelId}`)}catch(N){M8(N,j)}}),g.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(U,D,I)=>{let j=W6(D,I);try{let N=await p6($).matchChannel(U,{source:D.source??$.source,type:D.type,subject:D.subject??U,message:D.message,data:Bg(D.data,{test:!0}),metadata:Bg(D.metadata,{})});s4(N,j,`${N.matched?"matched":"skipped"}: ${N.channelId}`)}catch(N){M8(N,j)}}),g}function av(_,$){let g=_.command($.eventsCommandName??"events").description("Emit, list, and replay Hasna events");g.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,I,j)=>{let N=await p6($).emit({source:I.source??$.source,type:D,subject:I.subject,severity:I.severity,message:I.message,dedupeKey:I.dedupeKey,data:Bg(I.data,{}),metadata:Bg(I.metadata,{})},{deliver:I.deliver,dedupe:I.dedupe});s4(N,W6(I,j),`${N.deduped?"Deduped":"Emitted"} ${N.event.id} to ${N.deliveries.length} channel(s)`)});let U=$.defaultEventListLimit??ov;return g.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 ${U}; use 0 for all)`,FU,U).option("-j, --json","Print JSON output",!1).action(async(D,I)=>{let j=await p6($).listEvents();if(D.source)j=j.filter((N)=>N.source===D.source);if(D.type)j=j.filter((N)=>N.type===D.type);if(D.limit)j=j.slice(-D.limit);if(W6(D,I)){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}`)}),g.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",FU).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,I)=>{let j=await p6($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});s4(j,W6(D,I),sv(j.events.length,j.deliveries.length,j.nextCursor))}),g}function x8(_,$){ev(_,$),av(_,$)}function FU(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function a4(_,$){return $.push(_),$}function sv(_,$,g){let U=g?`, next cursor: ${g}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${U}`}import{basename as $f}from"path";var C$={name:"@hasna/knowledge",version:"0.2.93",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","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"}};var y8={debug:0,info:1,warn:2,error:3},gf=()=>{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 $0(_,$,g){if(y8[_]<y8[gf()])return;let U={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[_],D=g?`${U} ${$} ${JSON.stringify(g)}`:`${U} ${$}`;if(_==="error")console.error(D);else console.error(D)}var m8=["events","webhooks"],i8=["add","list","get","delete","update","archive","restore","upsert","untag","versions","diff","export","prune","dedupe","stats","inventory","project-panel","paths","mode","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...m8],l8={ls:"list",rm:"delete",edit:"update",unarchive:"restore"};function Df(_){let $=new Set,g=[];for(let U of _){let D=U.toLowerCase();if($.has(D))continue;$.add(D),g.push(U)}return g}function h8(_,$){let g=new Set((_??[]).map((U)=>U.toLowerCase()));return $.filter((U)=>!g.has(U.toLowerCase()))}function Oz(_,$,g){if(g===void 0)return{..._,message:$};return{..._,added:g.length,message:`${$} (added ${g.length} tag${g.length===1?"":"s"})`}}function Uf(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let g=$.split(",").map((U)=>U.trim()).filter((U)=>U.length>0);if(g.length===0)throw Error(`Invalid --tag value ${JSON.stringify($)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return Df([..._??[],...g])}function If(_){let $=[],g={},U=!1;for(let D=0;D<_.length;D+=1){let I=_[D];if(U){$.push(I);continue}if(I==="--"){U=!0;continue}if(!I.startsWith("-")||$[0]==="add"&&$.length===2&&I.startsWith("---")){$.push(I);continue}switch(I){case"--json":g.json=!0;break;case"--verbose":g.verbose=!0;break;case"--yes":case"-y":g.yes=!0;break;case"--help":case"-h":g.help=!0;break;case"--version":case"-v":g.version=!0;break;case"--desc":g.desc=!0;break;case"--page":case"-p":g.page=Number(_[D+1]),D+=1;break;case"--limit":case"-l":g.limit=Number(_[D+1]),D+=1;break;case"--search":case"-s":g.search=_[D+1],D+=1;break;case"--sort":g.sort=_[D+1],D+=1;break;case"--id":g.id=_[D+1],D+=1;break;case"--store":g.store=_[D+1],D+=1;break;case"--title":g.title=_[D+1],D+=1;break;case"--content":g.content=_[D+1],D+=1;break;case"--url":g.url=_[D+1],D+=1;break;case"--tag":case"-t":g.tag=Uf(g.tag,_[D+1]),g.tagRaw=[...g.tagRaw??[],_[D+1]],D+=1;break;case"--format":g.format=_[D+1],D+=1;break;case"--completions":g.completions=_[D+1],D+=1;break;case"--purpose":g.purpose=_[D+1],D+=1;break;case"--model":g.model=_[D+1],D+=1;break;case"--strategy":g.strategy=_[D+1],D+=1;break;case"--dimensions":g.dimensions=Number(_[D+1]),D+=1;break;case"--semantic":g.semantic=!0;break;case"--context":g.context=!0;break;case"--max-tokens":g.maxTokens=Number(_[D+1]),D+=1;break;case"--max-items":g.maxItems=Number(_[D+1]),D+=1;break;case"--from":g.from=_[D+1],D+=1;break;case"--to":g.to=_[D+1],D+=1;break;case"--rev":g.rev=Number(_[D+1]),D+=1;break;case"--since":g.since=_[D+1],D+=1;break;case"--topic":g.topic=_[D+1],D+=1;break;case"--dedupe":g.dedupe=!0;break;case"--generate":g.generate=!0;break;case"--approve-write":g.approveWrite=!0;break;case"--provider":g.provider=_[D+1],D+=1;break;case"--mode":g.mode=_[D+1],D+=1;break;case"--machine":g.machine=_[D+1],D+=1;break;case"--workspace":g.workspace=_[D+1],D+=1;break;case"--api-url":g.apiUrl=_[D+1],D+=1;break;case"--canonical-example":g.canonicalExample=!0;break;case"--api-key":g.apiKey=_[D+1],D+=1;break;case"--email":g.email=_[D+1],D+=1;break;case"--org":g.org=_[D+1],D+=1;break;case"--org-id":g.orgId=_[D+1],D+=1;break;case"--user-id":g.userId=_[D+1],D+=1;break;case"--owner":g.owner=_[D+1],D+=1;break;case"--approved-by":g.approvedBy=_[D+1],D+=1;break;case"--patch-uri":g.patchUri=_[D+1],D+=1;break;case"--domain":g.domain=[...g.domain??[],_[D+1]],D+=1;break;case"--file-results":g.fileResults=!0;break;case"--full":g.full=!0;break;case"--dry-run":g.dryRun=!0;break;case"--fake":g.fake=!0;break;case"--no-tailscale":g.tailscale=!1;break;case"--no-artifact-content":g.artifactContent=!1;break;case"--no-color":g.noColor=!0;break;case"--scope":g.scope=_[D+1],D+=1;break;case"--tables":g.tables=_[D+1],D+=1;break;case"--peer-workspace":g.peerWorkspace=_[D+1],D+=1;break;case"--older-than":g.olderThan=Number(_[D+1]),D+=1;break;case"--empty":g.empty=!0;break;case"--archived":g.archived=!0;break;case"--include-archived":g.includeArchived=!0;break;case"--project":g.project=_[D+1],D+=1;break;case"--contract":g.contract=!0;break;case"--source-ref":g.sourceRef=[...g.sourceRef??[],_[D+1]],D+=1;break;case"--allow-global":g.allowGlobal=!0;break;default:throw Error(`Unknown flag: ${I}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:g}}function jf(_){if(!_)return"";return l8[_]??_}function Nf(_,$){let g=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let U=0;U<=_.length;U+=1)g[U][0]=U;for(let U=0;U<=$.length;U+=1)g[0][U]=U;for(let U=1;U<=_.length;U+=1)for(let D=1;D<=$.length;D+=1){let I=_[U-1]===$[D-1]?0:1;g[U][D]=Math.min(g[U-1][D]+1,g[U][D-1]+1,g[U-1][D-1]+I)}return g[_.length][$.length]}function Ef(_){if(!_)return"";let $=[...i8,...Object.keys(l8)],g="",U=Number.POSITIVE_INFINITY;for(let D of $){let I=Nf(_,D);if(I<U)U=I,g=D}return U<=3?g:""}function Of(){return $f(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function Af(_){if(!m8.includes(_[0]??""))return!1;let $=new R8;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),x8($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function Lf(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -1464,7 +1464,7 @@ List Options: --format table|json Output format (default: table if TTY, json otherwise) -p, --page <n> Page number (default: 1) -l, --limit <n> Items per page (default: 20) - -s, --search <text> Filter by title/content + -s, --search <text> Filter by id/title/content (case-insensitive substring; use 'knowledge search' for semantic) -t, --tag <tag> Filter by tag; repeatable/comma-separated, item must match ALL --sort <created|title> Sort field (default: created) --desc Sort descending @@ -1490,8 +1490,12 @@ Export Options: Prune Options: --older-than <days> Remove items older than N days - --empty Remove items with empty content`)}function Lf(_){if(_==="add"){console.log(`Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json] + --empty Remove items with empty content`)}function Jf(_){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 + resolves an item by its slug because the id is included. For meaning-based lookup use \`knowledge + search <query>\`, which is a different index and will find items this filter cannot. -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag). Each value matches an item carrying the whole value OR all of its comma-split names \u2014 a union, so \`-t "a,b,c"\` finds items carrying a legacy literal "a,b,c" tag as well as items carrying the three @@ -1525,25 +1529,25 @@ Prune Options: those are reported as present-but-ignored pointers. Env var NAMES are printed, never values.`);return}if(_==="setup"){console.log("Usage: knowledge setup --mode local|hosted [--api-url https://...] [--canonical-example] [--scope local|global|project] [--json]");return}if(_==="auth"){console.log("Usage: knowledge auth login|whoami|logout [--api-key <key>] [--email <email>] [--org <slug>] [--api-url https://...] [--scope local|global|project] [--json]");return}if(_==="storage"){console.log(`Usage: knowledge storage status|validate|repair-artifact-keys|migrate-legacy-path|merge-legacy-path [--approve-write --approved-by <name>] [--scope local|global|project] [--json] knowledge storage import-legacy [--dry-run] [--scope global] [--json]`);return}if(_==="machines"){console.log("Usage: knowledge machines topology [--no-tailscale] | preflight [machine] [--workspace <repo>] [--scope local|global|project] [--verbose] [--json]");return}if(_==="sync"){console.log(`Usage: knowledge sync status|doctor|readiness|snapshot|machines|conflicts [show|propose|resolve] [id] | dry-run|pull|push|sync|export|import [--peer-workspace <path>] [--machine <ssh-alias>] [--tables <names>] [--dry-run] [--limit <n>] [--approve-write] [--approved-by <name>] [--strategy <name>] [--mode deterministic|ai] [--model <alias|provider:model>] [--fake] [--no-tailscale] [--scope local|global|project] [--verbose] [--json] -Remote machine sync resolves peer paths through @hasna/machines when --peer-workspace is omitted.`);return}if(_==="db"){console.log("Usage: knowledge db init|stats|storage status [--scope local|global|project] [--json]");return}if(_==="wiki"){console.log("Usage: knowledge wiki init|compile|file-answer|lint [query|prompt] [--title <title>] [--content <answer>] [--approve-write] [--limit <n>] [--scope local|global|project] [--json]");return}if(_==="app-wiki"){console.log("Usage: knowledge app-wiki init | note add|get|list | source add <source-ref> | search <query> | query <query> [--title <title>] [--content <text>] [--tag <tag>] [--source-ref <uri>] [--scope project|local|global] [--allow-global] [--json]");return}if(_==="source"){console.log("Usage: knowledge source resolve <source-ref> [--purpose knowledge_answer|knowledge_index] [--limit <n>] [--scope local|global|project] [--json]");return}if(_==="ingest"){console.log("Usage: knowledge ingest manifest <file|s3://bucket/key> | source <source-ref> | rules [--workspace <path>] [--owner <name>] [--dry-run] [--max-items <n>] [--limit <n>] [--purpose knowledge_index] [--scope local|global|project] [--json]");return}if(_==="reindex"){console.log("Usage: knowledge reindex status|enqueue|embeddings|outbox [file|s3://bucket/key] [--full] [--fake] [--scope local|global|project] [--json]");return}if(_==="search"){console.log("Usage: knowledge search <query> [--context] [--semantic] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="context"){console.log("Usage: knowledge context pack <query> [--from search|runs|loops] [--max-tokens <n>] [--max-items <n>] [--limit <n>] [--semantic] [--model openai:text-embedding-3-small] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="proposals"){console.log("Usage: knowledge proposals context --from loops --topic <text> [--since <duration|ISO>] [--dedupe] [--max-tokens <n>] [--max-items <n>] [--scope local|global|project] [--json]");return}if(_==="web"){console.log("Usage: knowledge web search <query> [--provider openai|anthropic] [--model provider:model] [--domain <domain>] [--file-results] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="ask"||_==="build"){console.log("Usage: knowledge ask|build <prompt> [--generate] [--semantic] [--model default|provider:model] [--approve-write] [--scope local|global|project] [--verbose] [--json]");return}if(_==="embeddings"){console.log("Usage: knowledge embeddings status|index|search [query] [--model openai:text-embedding-3-small] [--limit <n>] [--dimensions <n>] [--fake] [--scope local|global|project] [--verbose] [--json]");return}if(_==="providers"){console.log("Usage: knowledge providers status|models|check [provider|model-alias] [--scope local|global|project] [--json]");return}if(_==="safety"){console.log("Usage: knowledge safety status|check|approve|audit|redact [args] [--scope local|global|project] [--json]");return}if(_==="events"){console.log("Usage: knowledge events emit|list|replay [args] [--json]");return}if(_==="webhooks"){console.log("Usage: knowledge webhooks add|list|remove|test [args] [--json]");return}Af()}function Jf(_){if(_.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function r(_,$,g){if($){console.log(JSON.stringify(_,null,2));return}if(typeof _==="string"){console.log(_);return}if(g?.verbose){console.log(JSON.stringify(_,null,2));return}let U=_.message;console.log(U?`${U} -${i_()}`:Pf(_))}function i_(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function g_(_,$=120){let g=_===null||_===void 0?"":String(_).replace(/\s+/g," ").trim();if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-3))}...`}function Pf(_){if(!_||typeof _!=="object")return String(_);let $=_,g=[$.ok===!1?"Result: not ok":"Result: ok"];for(let[U,D]of Object.entries($).slice(0,8)){if(U==="ok"||U==="message")continue;if(Array.isArray(D))g.push(`${U}: ${D.length} item(s)`);else if(D&&typeof D==="object")g.push(`${U}: ${Object.keys(D).length} field(s)`);else g.push(`${U}: ${g_(D,100)}`)}return g.push(i_()),g.join(` -`)}function zf(_){let $=_.mode==="postgres"?"postgres (HTTP /v1 API)":"sqlite (on-box store)",g=_.source.kind==="env"?`selected by ${_.source.name}=${_.source.value}`:`default (no mode var set; set ${o$[0]}=postgres to use the API)`,U=[`Knowledge mode: ${$}`,` ${g}`];if(_.pointer_env_present.length>0){let D=_.pointer_ignored?"present but IGNORED for mode selection":"present";U.push(` Pointer env ${D}: ${_.pointer_env_present.join(", ")}`)}if(_.network_guard_active)U.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if(_.warning)U.push(` Note: ${_.warning}`);return U.join(` -`)}function Sf(_){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 h8(_){console.log(JSON.stringify(_))}function Wf(_){let $=_.summary,g=[`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)`],U=(D,I,j)=>{if(I.length===0)return;g.push("",`${D}:`);for(let N of I.slice(0,_.limit))g.push(`- ${j(N)}`)};return U("Items",_.items,(D)=>`${D.id}: ${D.title}`),U("Sources",_.sources,(D)=>`${D.kind??"source"} ${D.uri} (${D.chunks??0} chunk(s))`),U("Chunks",_.chunks,(D)=>`${D.kind??"chunk"} ${D.id}: ${D.text_preview??""}`),U("Wiki pages",_.wiki_pages,(D)=>`${D.path}: ${D.title}`),U("Indexes",_.indexes,(D)=>`${D.kind??"index"} ${D.name}${D.shard_key?` (${D.shard_key})`:""}`),U("Artifacts",_.storage_objects,(D)=>`${D.kind??"artifact"} ${D.artifact_uri}`),U("Runs",_.runs,(D)=>`${D.type??"run"} ${D.id}: ${D.status??"unknown"}`),U("Machines",_.machines,(D)=>`${D.machine_id}${D.workspace_home?` ${D.workspace_home}`:""}`),U("Sync conflicts",_.sync_conflicts,(D)=>`${D.id}: ${D.entity_kind}/${D.entity_id} ${D.status}`),g.join(` -`)}function Xf(_){let $=Array.isArray(_.results)?_.results:[],g=[`${$.length} search result(s) for "${g_(_.query,80)}"${_.mode?.semantic?" (semantic enabled)":""}`];for(let U of $.slice(0,_.limit??10)){let D=U.source?.uri??U.provenance?.source_uri??U.artifact?.path??U.artifact?.uri??U.id,I=typeof U.score==="number"?` score=${U.score.toFixed(3)}`:"";if(g.push(`- ${U.kind??"result"} ${g_(U.title??U.id,80)}${I}`),D)g.push(` source: ${g_(D,120)}`);if(U.text)g.push(` text: ${g_(U.text,180)}`)}if($.length===0)g.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(g.push(i_("scores, provenance, and full result objects")),!_.context)g.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return g.join(` -`)}function Rf(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],g=Array.isArray(_.citations)?_.citations:[],U=[`${$.length} context excerpt(s) for "${g_(_.query??_.normalized_query,80)}"`];for(let D of $.slice(0,10)){let I=g.find((O)=>O.id===D.citation_id||O.result_id===D.result_id),j=I?.source_uri??I?.artifact_path??D.result_id,N=typeof D.score==="number"?` score=${D.score.toFixed(3)}`:"";if(U.push(`- ${D.kind??"excerpt"} ${g_(D.id,44)}${N}`),j)U.push(` source: ${g_(j,120)}`);U.push(` text: ${g_(D.text,220)}`)}return U.push(`Citations: ${g.length}`),U.push(i_("citations, graph, notes, and full excerpts")),U.join(` -`)}function Gf(_){let $=Array.isArray(_.results)?_.results:[],g=[`${$.length} semantic result(s) for "${g_(_.query,80)}"`,`Index: ${_.provider??"unknown"}:${_.model??"unknown"} (${_.dimensions??"?"} dimensions)`];for(let U of $.slice(0,_.limit??10)){let D=typeof U.score==="number"?` score=${U.score.toFixed(3)}`:"";if(g.push(`- ${g_(U.chunk_id,44)}${D}`),U.source_uri)g.push(` source: ${g_(U.source_uri,120)}`);if(U.text)g.push(` text: ${g_(U.text,180)}`)}return g.push(i_("provenance and full vector result objects")),g.join(` -`)}function Yf(_){let $=Array.isArray(_.sources)?_.sources:[],g=[`${$.length} web source(s) for "${g_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let U of $.slice(0,_.limit??10)){g.push(`- ${g_(U.title??U.url??U.uri??"source",100)}`);let D=U.url??U.uri??U.source_ref;if(D)g.push(` url: ${g_(D,140)}`);if(U.snippet)g.push(` snippet: ${g_(U.snippet,180)}`)}return g.push(i_("provider payloads and filed source refs")),g.join(` -`)}function Qf(_){let $=Array.isArray(_.machines)?_.machines:[],g=[`${$.length} machine(s) discovered via ${_.source??"unknown"}`,`Adapter: ${_.adapter?.package??"@hasna/machines"} ${_.adapter?.available?"available":"unavailable"}`];for(let U of $.slice(0,10)){let D=U.local?" local":"",I=U.tailscale_dns??U.ssh_target??U.hostname??"";g.push(`- ${g_(U.machine_id??U.id??"unknown",48)}${D}${I?` -> ${g_(I,80)}`:""}`)}if($.length>10)g.push(`... ${$.length-10} more machine(s).`);if(Array.isArray(_.warnings)&&_.warnings.length>0)g.push(`Warnings: ${_.warnings.slice(0,3).join("; ")}`);return g.push(i_("full topology, route hints, and adapter evidence")),g.join(` -`)}function Tf(_){let $=Array.isArray(_.checks)?_.checks:[],g=$.filter((I)=>I.status==="fail"||I.severity==="fail"),U=$.filter((I)=>I.status==="warn"||I.severity==="warn"),D=[`Machine preflight ${_.ok?"passed":"needs attention"} for ${_.machine_id??_.requested_machine_id??"local"}`,`Checks: ${$.length} total, ${g.length} failed, ${U.length} warning(s)`];for(let I of[...g,...U].slice(0,8))D.push(`- ${I.status??I.severity??"check"} ${g_(I.id??I.kind??"check",72)}: ${g_(I.message??I.detail??"",140)}`);return D.push(i_("all checks and repair hints")),D.join(` -`)}function qf(_){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(([g,U])=>`${g}=${U}`).join(", ")||"none"}`,i_("registry rows, clocks, snapshots, imports, and conflicts")].join(` -`)}function Bf(_){let $=Array.isArray(_.warnings)?_.warnings:[],g=Array.isArray(_.recommended_commands)?_.recommended_commands:[],U=[_.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)U.push(`Warnings: ${$.slice(0,5).join("; ")}`);for(let D of g.slice(0,5))U.push(`- next: ${g_(D.shell_command??D.command?.join(" ")??D.id,160)}`);return U.push(i_("diagnostics, route evidence, and all recommended commands")),U.join(` -`)}function Kf(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${g_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${g_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,i_("snapshot payload and topology evidence")].join(` -`)}function Vf(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],g=[`${$.length} sync conflict(s)`];for(let U of $.slice(0,10))g.push(`- ${g_(U.id,48)} ${U.status??"unknown"} ${U.entity_kind??""}/${g_(U.entity_id,80)}`);return g.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),g.push(i_("full conflict objects")),g.join(` -`)}function Ff(_){let $=Array.isArray(_.machines)?_.machines:[],g=[`${$.length} registered sync machine(s)`];for(let U of $.slice(0,10))g.push(`- ${g_(U.machine_id,48)} ${g_(U.hostname??U.workspace_home??"",100)}`);return g.push(i_("machine registry rows")),g.join(` -`)}function c8(_,$){let g=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],U=(D,I)=>{if(!I)return;let N=(Array.isArray(I.tables)?I.tables:[]).reduce((L,z)=>L+(z.inserted??0)+(z.updated??0)+(z.deleted??0),0),O=I.artifacts?.copied??0,A=Array.isArray(I.errors)?I.errors.length:0;g.push(`${D}: ${N} table row change(s), ${O} artifact(s), ${A} error(s)`)};if(U("pull",_.pull),U("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)g.push(`Errors: ${_.errors.slice(0,3).map((D)=>g_(D,120)).join("; ")}`);return g.push(i_("per-table rows, artifacts, clocks, and errors")),g.join(` -`)}function Mf(_){let $=Array.isArray(_.citations)?_.citations:[],g=Array.isArray(_.context?.excerpts)?_.context.excerpts:Array.isArray(_.excerpts)?_.excerpts:[],U=[_.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${$.length}; excerpts: ${g.length}`];if(_.answer)U.push(`Answer: ${g_(_.answer,500)}`);for(let D of $.slice(0,5))U.push(`- ${g_(D.source_uri??D.ref??D.id,120)}`);return U.push(i_("full answer payload, context, citations, and run ledger")),U.join(` -`)}function Zf(_,$){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 n8(_){return!_||_==="local"||_==="localhost"}function _0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function bf(_,$){let g=$.sort??"created";if(g!=="created"&&g!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let U=[..._].sort((D,I)=>{if(g==="title")return D.title.localeCompare(I.title);return D.created_at.localeCompare(I.created_at)});if($.desc)U.reverse();return{sorted:U,sort:g,direction:$.desc?"desc":"asc"}}async function Hf(_){if(await Of(_))return;let{positional:$,flags:g}=Uf(_);if($0("debug","CLI invoked",{command:$[0],flags:{json:g.json,store:g.store}}),g.version){console.log(g.json?JSON.stringify({name:C$.name,version:C$.version},null,2):`${C$.name} ${C$.version}`);return}if(g.completions){let J=g.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 paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --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 --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 paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--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]:" "(--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 paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l 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 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 U=If($[0]),D=1,I=$.length>1||/\s/.test(U);if(Ef()&&U&&!m8.includes(U)&&I)U="ask",D=0;if(!U||g.help||U==="help"){let J=U==="help"?$[1]:U||$[1];Lf(J);return}if(U==="mode"){let J=DS(process.env);r(g.json||g.verbose?{ok:!0,...J}:zf(J),g.json,g);return}gS(process.env,{storePathOverridden:Boolean(g.store)});let j=U==="project-panel"||U==="app-wiki"?g.scope??"project":g.scope,N=UN({scope:j});if(U==="storage"){let J=$[1]??"status";if(J==="import-legacy"){if(g.scope&&g.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let P=wN({dryRun:g.dryRun});if(r(P,g.json),!P.ok)process.exitCode=1;return}if(J==="migrate-legacy-path"||J==="migrate-legacy"||J==="migrate-path"){let P=N.migrateLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.json)process.exitCode=1;return}if(J==="merge-legacy-path"||J==="merge-legacy"||J==="merge-path"){let P=N.mergeLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.json)process.exitCode=1;return}}let O=Boolean(g.store),A=g.store;if(!A)if(j==="project"||j==="local")A=N.workspace.jsonStorePath;else A=HU();if(!O&&(U==="ask"||U==="build")&&!Y6())Hg(A);let L=hU({storePath:A,storePathOverridden:O});if(U==="inventory"){let J=await N.resolveInventory({limit:g.limit,includeArchived:g.includeArchived||g.archived,storePath:Y6()?void 0:A});r(g.json||g.verbose?J:Wf(J),g.json,g);return}if(U==="project-panel"){let J=g.project??$[1];if(!J)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let P=await i9(J,{service:N,limit:g.limit,storePath:Y6()?void 0:A,includeArchived:g.includeArchived||g.archived});r(g.json||g.contract?P:l9(P),g.json||g.contract);return}if(U==="paths"){let J=N.paths();r(g.json||g.verbose?J:Sf(J),g.json,g);return}if(U==="setup"){let J=N.setup({mode:g.mode,apiUrl:g.apiUrl,canonicalExample:g.canonicalExample});r(J,g.json,g);return}if(U==="auth"){let J=$[1]??"whoami";if(J==="whoami"||J==="status"){let P=N.authStatus(process.env);r({ok:!0,...P,message:P.authenticated?`Authenticated via ${P.source}`:"Not authenticated"},g.json,g);return}if(J==="login"){let P=g.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 S=N.saveAuth({apiKey:P,email:g.email,orgSlug:g.org,orgId:g.orgId,userId:g.userId,apiUrl:g.apiUrl},process.env);r({ok:!0,authenticated:!0,email:S.email??null,org_slug:S.org_slug??null,api_url:S.api_url??N.authStatus(process.env).api_url,auth_path:N.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${S.email??"API key"}`},g.json,g);return}if(J==="logout"){let P=N.clearAuth(process.env);r({ok:!0,removed:P,message:P?"Removed hosted credentials":"No hosted credentials found"},g.json,g);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(U==="storage"){let J=$[1]??"status";if(J==="status"){let P=N.storageContract(),S=N.validateStorage();r({ok:S.ok,...P,validation:S,message:`${P.storage_type} artifact storage at ${P.artifact_store.uri_prefix}`},g.json,g);return}if(J==="validate"){let P=N.validateStorage();if(r({ok:P.ok,validation:P,message:P.ok?"Storage contract valid":`Storage contract invalid: ${P.errors.join("; ")}`},g.json,g),!P.ok)process.exitCode=1;return}if(J==="repair-artifact-keys"||J==="repair-keys"){let P=N.repairArtifactManifestKeys({approveWrite:g.approveWrite,approvedBy:g.approvedBy,dryRun:g.dryRun});r(P,g.json,g);return}if(J==="migrate-legacy-path"||J==="migrate-legacy"||J==="migrate-path"){let P=N.migrateLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.json)process.exitCode=1;return}if(J==="merge-legacy-path"||J==="merge-legacy"||J==="merge-path"){let P=N.mergeLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.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(U==="machines"){let J=$[1]??"topology";if(J==="topology"||J==="status"){let P=await N.machineTopology({includeTailscale:g.tailscale!==!1});r(g.json||g.verbose?P:Qf(P),g.json,g);return}if(J==="preflight"||J==="check"){let P=$[2]??g.machine??"local",S=g.workspace??process.cwd(),X=await N.machinePreflight({machineId:P,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:C$.name,command:"knowledge",expectedVersion:C$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:S,expectedPackageName:C$.name,expectedVersion:C$.version,required:!0}]});if(r(g.json||g.verbose?X:Tf(X),g.json,g),!X.ok&&!g.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(U==="sync"){let J=$[1]??"status",P=g.tables?g.tables.split(",").map((S)=>S.trim()).filter(Boolean):void 0;if(J==="status"){let S=N.syncStatus();r(g.json||g.verbose?S:qf(S),g.json,g);return}if(J==="doctor"||J==="readiness"||J==="preflight"){let S=await N.syncDoctor({machine:g.machine??null,peerWorkspace:g.peerWorkspace??null,includeTailscale:g.tailscale!==!1,tables:P}),X={package:{name:C$.name,version:C$.version},...S};if(r(g.json||g.verbose?X:Bf(X),g.json,g),!S.ok&&!g.json)process.exitCode=1;return}if(J==="snapshot"||J==="record"){let S=await N.createSyncSnapshot({includeTailscale:g.tailscale!==!1,machineId:g.machine});r(g.json||g.verbose?S:Kf(S),g.json,g);return}if(J==="conflicts"||J==="conflict"){let S=$[2];if(S==="show"||S==="get"){let R=$[3]??g.id;if(!R)throw Error("Usage: knowledge sync conflicts show <id>");let K=N.syncConflict(R);r({ok:!0,conflict:K,message:`Sync conflict ${R}`},g.json,g);return}if(S==="propose"||S==="proposal"){let R=$[3]??g.id;if(!R)throw Error("Usage: knowledge sync conflicts propose <id>");r(g.mode==="ai"?await N.proposeSyncConflictResolutionWithAi({id:R,modelRef:g.model,fake:g.fake}):N.proposeSyncConflictResolution(R),g.json,g);return}if(S==="resolve"){let R=$[3]??g.id;if(!R)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let K=N.resolveSyncConflict({id:R,strategy:g.strategy,approvedBy:g.approvedBy,approveWrite:g.approveWrite,proposedPatchUri:g.patchUri});if(r(K,g.json,g),!K.ok&&!g.json)process.exitCode=1;return}let X=N.syncConflicts({status:S,limit:g.limit}),G={ok:!0,conflicts:X,message:`${X.length} sync conflict(s)`};r(g.json||g.verbose?G:Vf(G),g.json,g);return}if(J==="machines"||J==="registry"){let S=N.syncMachines(),X={ok:!0,machines:S,message:`${S.length} registered sync machine(s)`};r(g.json||g.verbose?X:Ff(X),g.json,g);return}if(J==="export"){let S=N.exportSyncBundle({machineId:g.machine??null,tables:P,includeArtifactContent:g.artifactContent!==!1});r(S,!0);return}if(J==="import"){let S=await Bun.stdin.text();if(!S.trim())throw Error("Usage: knowledge sync import < bundle.json");let X=await N.importSyncBundle({bundle:JSON.parse(S),dryRun:g.dryRun,direction:"import",machineId:g.machine??null});r(g.json||g.verbose?X:c8(X,J),g.json,g);return}if(J==="dry-run"||J==="pull"||J==="push"||J==="sync"){if(!g.peerWorkspace&&n8(g.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 S=J==="dry-run"?"both":J==="sync"?"both":J,X=!n8(g.machine)?await N.syncRemotePeer({direction:S,machine:g.machine,peerWorkspace:g.peerWorkspace,tables:P,dryRun:g.dryRun===!0||J==="dry-run",includeArtifactContent:g.artifactContent!==!1,includeTailscale:g.tailscale!==!1}):await N.syncPeer({peerWorkspace:g.peerWorkspace,direction:S,dryRun:g.dryRun===!0||J==="dry-run",tables:P,includeArtifactContent:g.artifactContent!==!1,machineId:g.machine??null});if(r(g.json||g.verbose?X:c8(X,J),g.json,g),!X.ok&&!g.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(U==="db"){let J=$[1]??"init";if(J==="init"){let P=N.initDb();r({ok:!0,...P,message:`Initialized ${P.path}`},g.json,g);return}if(J==="stats"){let P=N.dbStats();r({ok:!0,path:N.workspace.knowledgeDbPath,...P,message:`knowledge.db schema v${P.schema_version}`},g.json,g);return}if(J==="storage"){if(($[2]??"status")==="status"){let S=t3({scope:g.scope});r({ok:!0,...S,message:`knowledge.db storage mode ${S.mode}`},g.json,g);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(U==="app-wiki"){let J=$[1]??"init";if(J==="paths"||J==="status"){r({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...N.paths()},g.json);return}if(J==="init"||J==="open"){let P=await N.initAppWiki({allowGlobal:g.allowGlobal});r(P,g.json);return}if(J==="note"||J==="notes"){let P=$[2]??"list";if(P==="add"||P==="create"){let S=g.title??$[3],X=g.content??$.slice(4).join(" ");if(!S||!X)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let G=await N.addAppWikiNote({title:S,content:X,tags:g.tag,sourceRefs:g.sourceRef,allowGlobal:g.allowGlobal});r(G,g.json);return}if(P==="list"||P==="ls"){let S=N.listAppWikiNotes({limit:g.limit});r({ok:!0,scope:N.scope,home:N.workspace.home,notes:S,message:`${S.length} app wiki note(s)`},g.json);return}if(P==="get"||P==="show"){let S=$[3]??g.id;if(!S)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let X=await N.getAppWikiNote(S,{includeContent:!0});if(!X)throw Error(`App wiki note not found: ${S}`);r(X,g.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 S=$[3]??g.sourceRef?.[0];if(!S)throw Error("Usage: knowledge app-wiki source add <source-ref>");let X=await N.addAppWikiSourceRef({sourceRef:S,purpose:g.purpose,allowGlobal:g.allowGlobal});r({ok:!0,...X,message:`Added app wiki source ${X.source_ref}`},g.json);return}if(J==="search"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge app-wiki search <query>");let S=await N.searchAppWiki({query:P,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...S,message:`${S.results.length} app wiki result(s)`},g.json);return}if(J==="query"||J==="context"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge app-wiki query <query>");let S=await N.queryAppWiki({query:P,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...S,message:`${S.excerpts.length} app wiki excerpt(s)`},g.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(U==="wiki"){let J=$[1]??"init";if(J==="init"){let P=await N.initWiki();r({ok:!0,...P,message:`Initialized wiki layout in ${N.workspace.home}`},g.json,g);return}if(J==="compile"){let P=$.slice(2),S=P.filter((R)=>/^(open-files|file|s3|https?):\/\//.test(R)),X=P.filter((R)=>!/^(open-files|file|s3|https?):\/\//.test(R)).join(" "),G=await N.compileWiki({title:g.title,query:X||g.search,sourceRefs:S.length>0?S:void 0,limit:g.limit});r({ok:!0,...G,message:`Compiled wiki page ${G.path}`},g.json,g);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(!g.content)throw Error("Missing --content <answer> for wiki file-answer.");let S=await N.fileAnswer({prompt:P,answer:g.content,approveWrite:g.approveWrite,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...S},g.json,g);return}if(J==="lint"){let P=N.lintWiki();r({ok:P.ok,...P,message:P.ok?"Wiki lint passed":`Wiki lint found ${P.issue_count} issue(s)`},g.json,g);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(U==="safety"){let J=$[1]??"status",P=N.ensureWorkspace(),S=N.safetyPolicy();N.initDb();let X=v(P.knowledgeDbPath);try{if(J==="status"){r({ok:!0,mode:S.mode,workspace:P.home,allow_write_roots:S.allowWriteRoots,read_only_source_access:S.readOnlySourceAccess,network:S.network,redaction:S.redaction,approvals:S.approvals,message:`Safety policy: ${S.mode}`},g.json,g);return}if(J==="check"){let G=$[2]??"generated_write",R=$[3]??null,K;try{if(G==="web_search")J0(S),K={action:G,target_uri:R,approval_required:!1,approved:!0,decision:"allow"};else if(G==="s3_read"){if(!R)throw Error("safety check s3_read requires an s3:// target.");q6(R,S),K={action:G,target_uri:R,approval_required:!1,approved:!0,decision:"allow"}}else K=uS(X,S,G,R);X_(X,{event_type:"safety_check",action:G,target_uri:R,decision:K.decision==="allow"?"allow":"requires_approval",metadata:K}),r({ok:!0,...K,message:`Safety check ${K.decision}`},g.json,g);return}catch(Q){throw X_(X,{event_type:"safety_check",action:G,target_uri:R,decision:"deny",metadata:{error:Q instanceof Error?Q.message:String(Q)}}),Q}}if(J==="approve"){let G=$[2]??"generated_write",R=$[3]??null,K=mU(X,{action:G,target_uri:R,reason:"local-cli approval",metadata:{scope:g.scope??"global"}});X_(X,{event_type:"approval",action:G,target_uri:R,decision:"allow",metadata:{approval_id:K.id}}),r({ok:!0,...K,action:G,target_uri:R,message:`Approved ${G}`},g.json,g);return}if(J==="audit"){let G=X.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((R)=>({id:R.id,event_type:R.event_type,action:R.action,target_uri:R.target_uri,decision:R.decision,metadata:JSON.parse(R.metadata_json),created_at:R.created_at}));r({ok:!0,events:G,message:`${G.length} audit event(s)`},g.json,g);return}if(J==="redact"){let G=$.slice(2).join(" ");if(!G)throw Error("Usage: knowledge safety redact <text>");let R=u_(G,S);if(R.findings.length>0)P0(X,{source_uri:"safety://redact",findings:R.findings,metadata:{command:"safety redact"}});X_(X,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:R.findings.length>0?"redacted":"allow",metadata:{findings:R.findings.length}}),r({ok:!0,text:R.text,findings:R.findings,message:`Redacted ${R.findings.length} finding(s)`},g.json,g);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{X.close()}}if(U==="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 S=await N.resolveSource(P,{purpose:g.purpose,limit:g.limit});r({ok:!0,...S,message:S.resolved?`Resolved ${S.source_ref} (${S.content.chunks_returned}/${S.content.chunks_total} chunks)`:`Source not indexed: ${P}`},g.json,g);return}if(U==="ingest"){let J=$[1]??"";if(J==="rules"||J==="global-rules"||J==="agent-rules"){let P=await N.importRulesProvenance({root:g.workspace??process.cwd(),owner:g.owner,dryRun:g.dryRun===!0,maxItems:g.maxItems,limit:g.limit});r({ok:!0,...P},g.json);return}if(J==="manifest"){let P=$[2];if(!P)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let S=await N.ingestManifest(P);r({ok:!0,...S,message:`Ingested ${S.items_seen} manifest item(s)`},g.json,g);return}if(J==="source"){let P=$[2];if(!P)throw Error("Usage: knowledge ingest source <source-ref>");let S=await N.ingestSource(P,g.purpose);r({ok:!0,...S,message:`Ingested source ${S.source_ref} (${S.chunks_inserted} chunks)`},g.json,g);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(U==="reindex"){let J=$[1]??"status";if(J==="status"){let P=N.reindexHealth({modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`${P.missing_embeddings} chunk(s) missing embeddings`},g.json,g);return}if(J==="enqueue"){let P=N.enqueueReindex({modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`Queued ${P.enqueued} embedding refresh item(s)`},g.json,g);return}if(J==="embeddings"){let P=await N.refreshEmbeddings({full:g.full,limit:g.limit,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`Embedded ${P.indexed.chunks_embedded} chunk(s)`},g.json,g);return}if(J==="outbox"){let P=$[2];if(!P)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let S=await N.consumeOutbox(P);r({ok:!0,...S,message:`Consumed ${S.events_seen} outbox event(s)`},g.json,g);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(U==="embeddings"){let J=$[1]??"status";if(J==="status"){let P=N.embeddingStatus();r({ok:!0,...P,message:`${P.total_vector_entries} vector index entries`},g.json,g);return}if(J==="index"){let P=await N.indexEmbeddings({limit:g.limit,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`Embedded ${P.chunks_embedded} chunk(s)`},g.json,g);return}if(J==="search"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge embeddings search <query>");let S=await N.semanticSearch({query:P,limit:g.limit,modelRef:g.model,dimensions:g.dimensions,fake:g.fake}),X={ok:!0,...S,message:`${S.results.length} semantic result(s)`};r(g.json||g.verbose?X:Gf(X),g.json,g);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(U==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let P=g.from??"search";if(!["search","loops","runs"].includes(P))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let S=$.slice(2).join(" ")||g.topic||"",X=await N.contextPack({source:P,purpose:P==="loops"||P==="runs"?"proposal":"agent_context",query:S,topic:g.topic,since:g.since,dedupe:g.dedupe,maxTokens:g.maxTokens,maxItems:g.maxItems,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,legacyStorePath:A});h8({ok:!0,...X,message:X.message});return}if(U==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let P=g.from??"loops";if(!["loops","runs"].includes(P))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let S=g.topic??$.slice(2).join(" ");if(!S.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let X=await N.contextPack({source:P,purpose:"proposal",query:S,topic:S,since:g.since,dedupe:g.dedupe??!0,maxTokens:g.maxTokens,maxItems:g.maxItems,limit:g.limit});h8({ok:!0,...X,message:X.message});return}if(U==="search"){let J=$.slice(1).join(" ");if(!J)throw Error("Usage: knowledge search <query>");if(g.context){let X=await N.retrieveContext({query:J,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,legacyStorePath:A}),G={ok:!0,...X,message:`${X.excerpts.length} context excerpt(s)`};r(g.json||g.verbose?G:Rf(G),g.json,g);return}let P=await N.search({query:J,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,legacyStorePath:A}),S={ok:!0,...P,message:`${P.results.length} search result(s)`};r(g.json||g.verbose?S:Xf(S),g.json,g);return}if(U==="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 S=await N.webSearch({query:P,limit:g.limit,modelRef:g.model,provider:g.provider,domains:g.domain,fake:g.fake,fileResults:g.fileResults}),X={ok:!0,...S,message:`${S.sources.length} web source(s)`};r(g.json||g.verbose?X:Yf(X),g.json,g);return}if(U==="ask"||U==="build"){let J=$.slice(D).join(" ");if(!J)throw Error("Usage: knowledge ask <prompt>");let P=await N.runPrompt({prompt:J,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,generate:g.generate,approveWrite:g.approveWrite,legacyStorePath:A}),S={ok:!0,...P,message:P.generated?"Generated answer with citations":"Prepared citation context draft"};r(g.json||g.verbose?S:Mf(S),g.json,g);return}if(U==="providers"){let J=$[1]??"status";if(J==="status"){let P=N.providerStatus(),S=P.providers.filter((X)=>X.configured).length;r({ok:!0,...P,message:`${S}/${P.providers.length} provider credential(s) configured`},g.json,g);return}if(J==="models"){let P=N.modelRegistry();r({ok:!0,models:P,message:`${P.length} model alias(es)`},g.json,g);return}if(J==="check"){let P=$[2]??"default",S=G$(P,N.config()),X=f_(S),G=D4(X.provider,N.config());r({ok:!0,target:P,model_ref:S,provider:X.provider,model:X.model,credential:G,message:`${X.provider} credentials configured`},g.json,g);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(U==="add"){let J=$[1],P=$[2];if(!J||!P)throw Error("Usage: knowledge add <title> <content>");let S=await L.create({title:J,content:P,url:g.url??null,tags:g.tag??[]});$0("info","Item added",{id:S.id,title:S.title,tags:S.tags?.length??0,transport:L.kind}),r({ok:!0,item:S,message:`Added ${S.id}`},g.json,g);return}if(U==="list"){if(g.format!==void 0&&g.format!=="table"&&g.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let J=await L.listAll(),P=Number.isFinite(g.page)&&g.page>0?g.page:1,S=Number.isFinite(g.limit)&&g.limit>0?g.limit:20,X=g.search?String(g.search).toLowerCase():"",G=(g.tagRaw??g.tag??[]).map((p)=>({whole:p.trim().toLowerCase(),parts:p.split(",").map((r_)=>r_.trim().toLowerCase()).filter((r_)=>r_.length>0)})),R=g.tag?.length?g.tag.map((p)=>p.toLowerCase()).join(","):"none",K=g.format==="table"||!g.json&&!g.format&&Jf(g),Q=g.json||g.format==="json",T=J.items;if(g.archived)T=T.filter((p)=>p.archived===!0);else if(!g.includeArchived)T=T.filter((p)=>!p.archived);if(X)T=T.filter((p)=>p.title.toLowerCase().includes(X)||p.content.toLowerCase().includes(X));if(G.length>0)T=T.filter((p)=>{let r_=new Set((p.tags??[]).map((K_)=>K_.toLowerCase()));return G.every(({whole:K_,parts:G_})=>K_.length>0&&r_.has(K_)||G_.every((H_)=>r_.has(H_)))});let{sorted:q,sort:V,direction:Z}=bf(T,g),a=(P-1)*S,D_=q.slice(a,a+S),I_=Math.max(1,Math.ceil(q.length/S)),J_={ok:!0,page:P,limit:S,total:q.length,total_pages:I_,sort:V,direction:Z,items:D_,store_exists:J.exists};if(Q){r(J_,!0);return}if(g.verbose){r(J_,!1,g);return}if(D_.length===0){r(`No items found (search=${X||"none"}, tag=${R})`,!1);return}if(K){let p=(K_)=>K_,r_=`${p("ID")} ${p("TITLE")} ${p("CREATED")} ${p("URL")} ${p("TAGS")}`;console.log(r_);for(let K_ of D_)console.log(`${K_.id} ${p(g_(K_.title,80))} ${K_.created_at} ${K_.url?p(g_(K_.url,90)):""} ${K_.tags?.length?p(g_(`[${K_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${q.length} | sort=${V} ${Z} | search=${X||"none"} | tag=${R}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let p of D_)console.log(`${p.id} ${g_(p.title,80)} ${p.created_at}${p.url?` ${g_(p.url,90)}`:""}${p.tags?.length?` ${g_(`[${p.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${q.length} | sort=${V} ${Z} | search=${X||"none"} | tag=${R}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(U==="get"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);r({ok:!0,item:J,store_exists:L.exists,message:`${J.id}: ${J.title}`},g.json,g);return}if(U==="versions"){_0(g);let J=Number.isFinite(g.page)&&g.page>0?g.page:1,P=Number.isFinite(g.limit)&&g.limit>0?g.limit:void 0,S=await L.listVersions(g.id,{limit:P,offset:(J-1)*(P??50)});if(!S)throw Error(`Item not found: ${g.id}`);let X={ok:!0,id:S.item_id,current_version:S.current_version,total:S.total,page:J,store:L.location,versions:S.items,message:S.total===0?`${S.item_id} is at version ${S.current_version} with no retained prior versions`:`${S.item_id} is at version ${S.current_version}; ${S.total} prior version(s) retained`};if(g.json||g.verbose){r(X,g.json,g);return}console.log(X.message);for(let G of S.items){let R=G.actor?` by ${G.actor}`:"",K=G.reason?` (${G.reason})`:"";console.log(`v${G.version} ${G.valid_to}${R}${K} ${G.content_bytes} bytes ${G.content_hash.slice(0,12)}`)}if(S.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(U==="diff"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);if(g.rev!==void 0&&(g.from!==void 0||g.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}),S=`v${J.version??"?"} (current)`,X=async(q)=>{if(q==="current")return{label:S,snapshot:P()};let V=Number(q);if(!Number.isInteger(V)||V<1)throw Error(`Not a version number: ${q}`);if(J.version!==void 0&&V===J.version)return{label:S,snapshot:P()};let Z=await L.getVersion(J.id,V);if(!Z)throw Error(`No version ${V} retained for ${J.id} (it is at version ${J.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${Z.version}`,snapshot:{title:Z.title,content:Z.content,url:Z.url,tags:Z.tags,metadata:Z.metadata,archived:Z.archived}}},G,R;if(g.rev!==void 0){if(!Number.isInteger(g.rev)||g.rev<1)throw Error("--rev must be a positive version number.");if(g.rev===1)throw Error("Version 1 has no predecessor to diff against.");G=String(g.rev-1),R=String(g.rev)}else if(g.from!==void 0||g.to!==void 0){if(g.from===void 0||g.to===void 0)throw Error("--from and --to must be given together.");G=g.from,R=g.to}else{let q=await L.listVersions(J.id,{limit:1});if(!q)throw Error(`Item not found: ${g.id}`);if(q.items.length===0)throw Error(`${J.id} is at version ${q.current_version} with no retained prior versions to diff against.`);G=String(q.items[0].version),R="current"}let K=await X(G),Q=await X(R),T=OS(K.snapshot,Q.snapshot);if(g.json||g.verbose){r({ok:!0,id:J.id,from:K.label,to:Q.label,...T},g.json,g);return}console.log(AS(T,`${J.id} ${K.label}`,`${J.id} ${Q.label}`));return}if(U==="update"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);let P={};if(g.title!==void 0)P.title=g.title;if(g.content!==void 0)P.content=g.content;if(g.url!==void 0)P.url=g.url;let S;if(g.tag!==void 0){if(S=y8(J.tags,g.tag),S.length>0)P.tags=[...J.tags??[],...S]}let X=await L.update(J.id,P,{expectedVersion:J.version});r(Oz({ok:!0,item:X},`Updated ${X?.id??J.id}`,S),g.json,g);return}if(U==="archive"||U==="restore"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);let P=await L.update(J.id,{archived:U==="archive"},{expectedVersion:J.version});r({ok:!0,item:P,message:`${U==="archive"?"Archived":"Restored"} ${P?.id??J.id}`},g.json,g);return}if(U==="untag"){if(_0(g),!g.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);let P=J.tags??[],S=new Set(P.map((V)=>V.toLowerCase())),X=new Set;for(let V of g.tagRaw??g.tag){let Z=V.trim().toLowerCase();if(Z.length>0&&S.has(Z)){X.add(Z);continue}for(let a of V.split(",").map((D_)=>D_.trim().toLowerCase()).filter((D_)=>D_.length>0))X.add(a)}let G=P.filter((V)=>!X.has(V.toLowerCase())),R=P.length-G.length,K=[...X].filter((V)=>!S.has(V));if(R===0)throw Error(`No matching tag on ${J.id}: ${K.map((V)=>JSON.stringify(V)).join(", ")} not in [${P.map((V)=>JSON.stringify(V)).join(", ")}]`);let Q=await L.update(J.id,{tags:G},{expectedVersion:J.version}),T=K.length>0?` (not found: ${K.map((V)=>JSON.stringify(V)).join(", ")})`:"",q={ok:!0,item:Q,removed:R,message:`Removed ${R} tag${R===1?"":"s"} from ${Q?.id??J.id}${T}`};if(K.length>0)q.not_found=K;r(q,g.json,g);return}if(U==="upsert"){let J=g.title??$[1],P=g.content??$[2],S=g.id?await L.get(g.id):null;if(!S){if(!J||!P)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let K=await L.create({id:g.id,title:J,content:P,url:g.url??null,tags:g.tag??[]});r(Oz({ok:!0,created:!0,item:K},`Upserted ${K.id}`,g.tag),g.json,g);return}let X={};if(J!==void 0)X.title=J;if(P!==void 0)X.content=P;if(g.url!==void 0)X.url=g.url;let G;if(g.tag!==void 0){if(G=y8(S.tags,g.tag),G.length>0)X.tags=[...S.tags??[],...G]}let R=await L.update(S.id,X,{expectedVersion:S.version});r(Oz({ok:!0,created:!1,item:R},`Upserted ${R?.id??S.id}`,G),g.json,g);return}if(U==="delete"){if(_0(g),!g.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await L.delete(g.id))throw Error(`Item not found: ${g.id}`);$0("info","Item deleted",{id:g.id,transport:L.kind}),r({ok:!0,deleted_id:g.id,message:`Deleted ${g.id}`},g.json,g);return}if(U==="export"){let J=g.format??"json";if(J!=="json"&&J!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let P=await L.listAll();if(J==="jsonl")for(let S of P.items)console.log(JSON.stringify(S));else if(g.json||g.format==="json"||g.verbose)r({ok:!0,items:P.items,store_exists:P.exists},g.json||g.format==="json",g);else r(Zf(P.items,J),!1);return}if(U==="prune"){if(!g.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:J}=await L.listAll(),P=g.olderThan!==void 0?new Date(Date.now()-g.olderThan*86400000):null,S=J.filter((R)=>P!==null&&new Date(R.created_at)<P||g.empty&&R.content.trim().length===0),X=await L.deleteMany(S.map((R)=>R.id)),G=J.length-X;$0("info","Prune completed",{pruned:X,remaining:G,transport:L.kind}),r({ok:!0,pruned:X,remaining:G,message:`Pruned ${X} item(s)`},g.json,g);return}if(U==="dedupe"){if(!g.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:J}=await L.listAll(),P=new Set,S=[];for(let R of J){let K=`${R.title}\x00${R.content}`;if(P.has(K))S.push(R);else P.add(K)}let X=await L.deleteMany(S.map((R)=>R.id)),G=J.length-X;$0("info","Dedupe completed",{removed:X,remaining:G,transport:L.kind}),r({ok:!0,removed:X,remaining:G,message:`Dedupe removed ${X} duplicate(s)`},g.json,g);return}if(U==="stats"){let J=await L.listAll(),P=J.items.filter((V)=>!V.archived),S=P.length,X=J.items.length-S,G=P.filter((V)=>V.url).length,R=P.filter((V)=>V.tags&&V.tags.length>0).length,K=S>0?P.map((V)=>V.created_at).sort()[0]:null,Q=S>0?P.map((V)=>V.created_at).sort()[S-1]:null,T={};for(let V of P)for(let Z of V.tags||[])T[Z]=(T[Z]||0)+1;let q=Object.entries(T).sort((V,Z)=>Z[1]-V[1]).slice(0,5).map(([V,Z])=>({tag:V,count:Z}));r({ok:!0,total:S,archived:X,with_url:G,with_tags:R,oldest:K,newest:Q,top_tags:q,store_exists:J.exists,message:`${S} items | ${G} with URL | ${R} with tags`},g.json,g);return}let z=Nf($[0]),W=z?` Did you mean '${z}'?`:"";throw $0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${W} Run 'knowledge --help' for available commands.`)}function kf(_,$){let g=_ instanceof Error?_.message:String(_);if($0("debug","CLI error",{message:g,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${g}`),$.includes("--json"))r({ok:!1,error:g,message:g},!0);process.exitCode=1}if(import.meta.main){let _=process.argv.slice(2);Hf(_).catch(($)=>kf($,_))}export{Nf as suggestCommand,bf as sortItems,Hf as run,Uf as parseArgs,kf 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}Lf()}function Pf(_){if(_.noColor||process.env.NO_COLOR)return!1;if(process.env.FORCE_COLOR)return!0;return process.stdout.isTTY===!0}function r(_,$,g){if($){console.log(JSON.stringify(_,null,2));return}if(typeof _==="string"){console.log(_);return}if(g?.verbose){console.log(JSON.stringify(_,null,2));return}let U=_.message;console.log(U?`${U} +${i_()}`:zf(_))}function i_(_="full details"){return`Hint: use --verbose for ${_}, or --json for machine-readable output.`}function g_(_,$=120){let g=_===null||_===void 0?"":String(_).replace(/\s+/g," ").trim();if(g.length<=$)return g;return`${g.slice(0,Math.max(0,$-3))}...`}function zf(_){if(!_||typeof _!=="object")return String(_);let $=_,g=[$.ok===!1?"Result: not ok":"Result: ok"];for(let[U,D]of Object.entries($).slice(0,8)){if(U==="ok"||U==="message")continue;if(Array.isArray(D))g.push(`${U}: ${D.length} item(s)`);else if(D&&typeof D==="object")g.push(`${U}: ${Object.keys(D).length} field(s)`);else g.push(`${U}: ${g_(D,100)}`)}return g.push(i_()),g.join(` +`)}function Sf(_){let $=_.mode==="postgres"?"postgres (HTTP /v1 API)":"sqlite (on-box store)",g=_.source.kind==="env"?`selected by ${_.source.name}=${_.source.value}`:`default (no mode var set; set ${o$[0]}=postgres to use the API)`,U=[`Knowledge mode: ${$}`,` ${g}`];if(_.pointer_env_present.length>0){let D=_.pointer_ignored?"present but IGNORED for mode selection":"present";U.push(` Pointer env ${D}: ${_.pointer_env_present.join(", ")}`)}if(_.network_guard_active)U.push(" Outbound guard: ACTIVE (NODE_ENV=test) \u2014 non-loopback requests are refused.");if(_.warning)U.push(` Note: ${_.warning}`);return U.join(` +`)}function Wf(_){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 c8(_){console.log(JSON.stringify(_))}function Xf(_){let $=_.summary,g=[`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)`],U=(D,I,j)=>{if(I.length===0)return;g.push("",`${D}:`);for(let N of I.slice(0,_.limit))g.push(`- ${j(N)}`)};return U("Items",_.items,(D)=>`${D.id}: ${D.title}`),U("Sources",_.sources,(D)=>`${D.kind??"source"} ${D.uri} (${D.chunks??0} chunk(s))`),U("Chunks",_.chunks,(D)=>`${D.kind??"chunk"} ${D.id}: ${D.text_preview??""}`),U("Wiki pages",_.wiki_pages,(D)=>`${D.path}: ${D.title}`),U("Indexes",_.indexes,(D)=>`${D.kind??"index"} ${D.name}${D.shard_key?` (${D.shard_key})`:""}`),U("Artifacts",_.storage_objects,(D)=>`${D.kind??"artifact"} ${D.artifact_uri}`),U("Runs",_.runs,(D)=>`${D.type??"run"} ${D.id}: ${D.status??"unknown"}`),U("Machines",_.machines,(D)=>`${D.machine_id}${D.workspace_home?` ${D.workspace_home}`:""}`),U("Sync conflicts",_.sync_conflicts,(D)=>`${D.id}: ${D.entity_kind}/${D.entity_id} ${D.status}`),g.join(` +`)}function Rf(_){let $=Array.isArray(_.results)?_.results:[],g=[`${$.length} search result(s) for "${g_(_.query,80)}"${_.mode?.semantic?" (semantic enabled)":""}`];for(let U of $.slice(0,_.limit??10)){let D=U.source?.uri??U.provenance?.source_uri??U.artifact?.path??U.artifact?.uri??U.id,I=typeof U.score==="number"?` score=${U.score.toFixed(3)}`:"";if(g.push(`- ${U.kind??"result"} ${g_(U.title??U.id,80)}${I}`),D)g.push(` source: ${g_(D,120)}`);if(U.text)g.push(` text: ${g_(U.text,180)}`)}if($.length===0)g.push("- No matches. Try a broader query or run `knowledge inventory --scope project`.");if(g.push(i_("scores, provenance, and full result objects")),!_.context)g.push("Next: use --context for an agent-ready citation pack, or --limit <n> to change the result count.");return g.join(` +`)}function Gf(_){let $=Array.isArray(_.excerpts)?_.excerpts:[],g=Array.isArray(_.citations)?_.citations:[],U=[`${$.length} context excerpt(s) for "${g_(_.query??_.normalized_query,80)}"`];for(let D of $.slice(0,10)){let I=g.find((O)=>O.id===D.citation_id||O.result_id===D.result_id),j=I?.source_uri??I?.artifact_path??D.result_id,N=typeof D.score==="number"?` score=${D.score.toFixed(3)}`:"";if(U.push(`- ${D.kind??"excerpt"} ${g_(D.id,44)}${N}`),j)U.push(` source: ${g_(j,120)}`);U.push(` text: ${g_(D.text,220)}`)}return U.push(`Citations: ${g.length}`),U.push(i_("citations, graph, notes, and full excerpts")),U.join(` +`)}function Yf(_){let $=Array.isArray(_.results)?_.results:[],g=[`${$.length} semantic result(s) for "${g_(_.query,80)}"`,`Index: ${_.provider??"unknown"}:${_.model??"unknown"} (${_.dimensions??"?"} dimensions)`];for(let U of $.slice(0,_.limit??10)){let D=typeof U.score==="number"?` score=${U.score.toFixed(3)}`:"";if(g.push(`- ${g_(U.chunk_id,44)}${D}`),U.source_uri)g.push(` source: ${g_(U.source_uri,120)}`);if(U.text)g.push(` text: ${g_(U.text,180)}`)}return g.push(i_("provenance and full vector result objects")),g.join(` +`)}function Qf(_){let $=Array.isArray(_.sources)?_.sources:[],g=[`${$.length} web source(s) for "${g_(_.query,80)}"`,`Provider: ${_.provider??"unknown"}${_.model?` (${_.model})`:""}`];for(let U of $.slice(0,_.limit??10)){g.push(`- ${g_(U.title??U.url??U.uri??"source",100)}`);let D=U.url??U.uri??U.source_ref;if(D)g.push(` url: ${g_(D,140)}`);if(U.snippet)g.push(` snippet: ${g_(U.snippet,180)}`)}return g.push(i_("provider payloads and filed source refs")),g.join(` +`)}function Tf(_){let $=Array.isArray(_.machines)?_.machines:[],g=[`${$.length} machine(s) discovered via ${_.source??"unknown"}`,`Adapter: ${_.adapter?.package??"@hasna/machines"} ${_.adapter?.available?"available":"unavailable"}`];for(let U of $.slice(0,10)){let D=U.local?" local":"",I=U.tailscale_dns??U.ssh_target??U.hostname??"";g.push(`- ${g_(U.machine_id??U.id??"unknown",48)}${D}${I?` -> ${g_(I,80)}`:""}`)}if($.length>10)g.push(`... ${$.length-10} more machine(s).`);if(Array.isArray(_.warnings)&&_.warnings.length>0)g.push(`Warnings: ${_.warnings.slice(0,3).join("; ")}`);return g.push(i_("full topology, route hints, and adapter evidence")),g.join(` +`)}function qf(_){let $=Array.isArray(_.checks)?_.checks:[],g=$.filter((I)=>I.status==="fail"||I.severity==="fail"),U=$.filter((I)=>I.status==="warn"||I.severity==="warn"),D=[`Machine preflight ${_.ok?"passed":"needs attention"} for ${_.machine_id??_.requested_machine_id??"local"}`,`Checks: ${$.length} total, ${g.length} failed, ${U.length} warning(s)`];for(let I of[...g,...U].slice(0,8))D.push(`- ${I.status??I.severity??"check"} ${g_(I.id??I.kind??"check",72)}: ${g_(I.message??I.detail??"",140)}`);return D.push(i_("all checks and repair hints")),D.join(` +`)}function Bf(_){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(([g,U])=>`${g}=${U}`).join(", ")||"none"}`,i_("registry rows, clocks, snapshots, imports, and conflicts")].join(` +`)}function Kf(_){let $=Array.isArray(_.warnings)?_.warnings:[],g=Array.isArray(_.recommended_commands)?_.recommended_commands:[],U=[_.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)U.push(`Warnings: ${$.slice(0,5).join("; ")}`);for(let D of g.slice(0,5))U.push(`- next: ${g_(D.shell_command??D.command?.join(" ")??D.id,160)}`);return U.push(i_("diagnostics, route evidence, and all recommended commands")),U.join(` +`)}function Vf(_){let $=_.snapshot??{};return[`Sync snapshot ${_.ok?"recorded":"failed"}`,`Snapshot: ${g_($.id??$.snapshot_id??"unknown",80)} ${$.content_hash?`(${g_($.content_hash,80)})`:""}`,`Machines upserted: ${_.machines_upserted??0}; machine: ${_.machine_id??$.machine_id??"unknown"}`,i_("snapshot payload and topology evidence")].join(` +`)}function Ff(_){let $=Array.isArray(_.conflicts)?_.conflicts:[],g=[`${$.length} sync conflict(s)`];for(let U of $.slice(0,10))g.push(`- ${g_(U.id,48)} ${U.status??"unknown"} ${U.entity_kind??""}/${g_(U.entity_id,80)}`);return g.push("Next: use `knowledge sync conflicts show <id> --json` for one conflict."),g.push(i_("full conflict objects")),g.join(` +`)}function Mf(_){let $=Array.isArray(_.machines)?_.machines:[],g=[`${$.length} registered sync machine(s)`];for(let U of $.slice(0,10))g.push(`- ${g_(U.machine_id,48)} ${g_(U.hostname??U.workspace_home??"",100)}`);return g.push(i_("machine registry rows")),g.join(` +`)}function n8(_,$){let g=[`Sync ${$} ${_.ok===!1?"needs attention":"completed"}${_.dry_run?" (dry run)":""}`],U=(D,I)=>{if(!I)return;let N=(Array.isArray(I.tables)?I.tables:[]).reduce((L,z)=>L+(z.inserted??0)+(z.updated??0)+(z.deleted??0),0),O=I.artifacts?.copied??0,A=Array.isArray(I.errors)?I.errors.length:0;g.push(`${D}: ${N} table row change(s), ${O} artifact(s), ${A} error(s)`)};if(U("pull",_.pull),U("push",_.push),Array.isArray(_.errors)&&_.errors.length>0)g.push(`Errors: ${_.errors.slice(0,3).map((D)=>g_(D,120)).join("; ")}`);return g.push(i_("per-table rows, artifacts, clocks, and errors")),g.join(` +`)}function Zf(_){let $=Array.isArray(_.citations)?_.citations:[],g=Array.isArray(_.context?.excerpts)?_.context.excerpts:Array.isArray(_.excerpts)?_.excerpts:[],U=[_.generated?"Generated answer with citations":"Prepared citation context draft",`Citations: ${$.length}; excerpts: ${g.length}`];if(_.answer)U.push(`Answer: ${g_(_.answer,500)}`);for(let D of $.slice(0,5))U.push(`- ${g_(D.source_uri??D.ref??D.id,120)}`);return U.push(i_("full answer payload, context, citations, and run ledger")),U.join(` +`)}function bf(_,$){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 d8(_){return!_||_==="local"||_==="localhost"}function _0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Hf(_,$){let g=$.sort??"created";if(g!=="created"&&g!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let U=[..._].sort((D,I)=>{if(g==="title")return D.title.localeCompare(I.title);return D.created_at.localeCompare(I.created_at)});if($.desc)U.reverse();return{sorted:U,sort:g,direction:$.desc?"desc":"asc"}}async function kf(_){if(await Af(_))return;let{positional:$,flags:g}=If(_);if($0("debug","CLI invoked",{command:$[0],flags:{json:g.json,store:g.store}}),g.version){console.log(g.json?JSON.stringify({name:C$.name,version:C$.version},null,2):`${C$.name} ${C$.version}`);return}if(g.completions){let J=g.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 paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --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 --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 paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(-s --search)"{-s,--search}"[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--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]:" "(--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 paths mode setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l 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 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 U=jf($[0]),D=1,I=$.length>1||/\s/.test(U);if(Of()&&U&&!i8.includes(U)&&I)U="ask",D=0;if(!U||g.help||U==="help"){let J=U==="help"?$[1]:U||$[1];Jf(J);return}if(U==="mode"){let J=US(process.env);r(g.json||g.verbose?{ok:!0,...J}:Sf(J),g.json,g);return}DS(process.env,{storePathOverridden:Boolean(g.store)});let j=U==="project-panel"||U==="app-wiki"?g.scope??"project":g.scope,N=UN({scope:j});if(U==="storage"){let J=$[1]??"status";if(J==="import-legacy"){if(g.scope&&g.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let P=wN({dryRun:g.dryRun});if(r(P,g.json),!P.ok)process.exitCode=1;return}if(J==="migrate-legacy-path"||J==="migrate-legacy"||J==="migrate-path"){let P=N.migrateLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.json)process.exitCode=1;return}if(J==="merge-legacy-path"||J==="merge-legacy"||J==="merge-path"){let P=N.mergeLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.json)process.exitCode=1;return}}let O=Boolean(g.store),A=g.store;if(!A)if(j==="project"||j==="local")A=N.workspace.jsonStorePath;else A=HU();if(!O&&(U==="ask"||U==="build")&&!Y6())Hg(A);let L=hU({storePath:A,storePathOverridden:O});if(U==="inventory"){let J=await N.resolveInventory({limit:g.limit,includeArchived:g.includeArchived||g.archived,storePath:Y6()?void 0:A});r(g.json||g.verbose?J:Xf(J),g.json,g);return}if(U==="project-panel"){let J=g.project??$[1];if(!J)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let P=await l9(J,{service:N,limit:g.limit,storePath:Y6()?void 0:A,includeArchived:g.includeArchived||g.archived});r(g.json||g.contract?P:t9(P),g.json||g.contract);return}if(U==="paths"){let J=N.paths();r(g.json||g.verbose?J:Wf(J),g.json,g);return}if(U==="setup"){let J=N.setup({mode:g.mode,apiUrl:g.apiUrl,canonicalExample:g.canonicalExample});r(J,g.json,g);return}if(U==="auth"){let J=$[1]??"whoami";if(J==="whoami"||J==="status"){let P=N.authStatus(process.env);r({ok:!0,...P,message:P.authenticated?`Authenticated via ${P.source}`:"Not authenticated"},g.json,g);return}if(J==="login"){let P=g.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 S=N.saveAuth({apiKey:P,email:g.email,orgSlug:g.org,orgId:g.orgId,userId:g.userId,apiUrl:g.apiUrl},process.env);r({ok:!0,authenticated:!0,email:S.email??null,org_slug:S.org_slug??null,api_url:S.api_url??N.authStatus(process.env).api_url,auth_path:N.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${S.email??"API key"}`},g.json,g);return}if(J==="logout"){let P=N.clearAuth(process.env);r({ok:!0,removed:P,message:P?"Removed hosted credentials":"No hosted credentials found"},g.json,g);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(U==="storage"){let J=$[1]??"status";if(J==="status"){let P=N.storageContract(),S=N.validateStorage();r({ok:S.ok,...P,validation:S,message:`${P.storage_type} artifact storage at ${P.artifact_store.uri_prefix}`},g.json,g);return}if(J==="validate"){let P=N.validateStorage();if(r({ok:P.ok,validation:P,message:P.ok?"Storage contract valid":`Storage contract invalid: ${P.errors.join("; ")}`},g.json,g),!P.ok)process.exitCode=1;return}if(J==="repair-artifact-keys"||J==="repair-keys"){let P=N.repairArtifactManifestKeys({approveWrite:g.approveWrite,approvedBy:g.approvedBy,dryRun:g.dryRun});r(P,g.json,g);return}if(J==="migrate-legacy-path"||J==="migrate-legacy"||J==="migrate-path"){let P=N.migrateLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.json)process.exitCode=1;return}if(J==="merge-legacy-path"||J==="merge-legacy"||J==="merge-path"){let P=N.mergeLegacyPath({approveWrite:g.approveWrite,approvedBy:g.approvedBy});if(r(P,g.json),!P.ok&&!g.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(U==="machines"){let J=$[1]??"topology";if(J==="topology"||J==="status"){let P=await N.machineTopology({includeTailscale:g.tailscale!==!1});r(g.json||g.verbose?P:Tf(P),g.json,g);return}if(J==="preflight"||J==="check"){let P=$[2]??g.machine??"local",S=g.workspace??process.cwd(),X=await N.machinePreflight({machineId:P,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:C$.name,command:"knowledge",expectedVersion:C$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:S,expectedPackageName:C$.name,expectedVersion:C$.version,required:!0}]});if(r(g.json||g.verbose?X:qf(X),g.json,g),!X.ok&&!g.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(U==="sync"){let J=$[1]??"status",P=g.tables?g.tables.split(",").map((S)=>S.trim()).filter(Boolean):void 0;if(J==="status"){let S=N.syncStatus();r(g.json||g.verbose?S:Bf(S),g.json,g);return}if(J==="doctor"||J==="readiness"||J==="preflight"){let S=await N.syncDoctor({machine:g.machine??null,peerWorkspace:g.peerWorkspace??null,includeTailscale:g.tailscale!==!1,tables:P}),X={package:{name:C$.name,version:C$.version},...S};if(r(g.json||g.verbose?X:Kf(X),g.json,g),!S.ok&&!g.json)process.exitCode=1;return}if(J==="snapshot"||J==="record"){let S=await N.createSyncSnapshot({includeTailscale:g.tailscale!==!1,machineId:g.machine});r(g.json||g.verbose?S:Vf(S),g.json,g);return}if(J==="conflicts"||J==="conflict"){let S=$[2];if(S==="show"||S==="get"){let R=$[3]??g.id;if(!R)throw Error("Usage: knowledge sync conflicts show <id>");let K=N.syncConflict(R);r({ok:!0,conflict:K,message:`Sync conflict ${R}`},g.json,g);return}if(S==="propose"||S==="proposal"){let R=$[3]??g.id;if(!R)throw Error("Usage: knowledge sync conflicts propose <id>");r(g.mode==="ai"?await N.proposeSyncConflictResolutionWithAi({id:R,modelRef:g.model,fake:g.fake}):N.proposeSyncConflictResolution(R),g.json,g);return}if(S==="resolve"){let R=$[3]??g.id;if(!R)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let K=N.resolveSyncConflict({id:R,strategy:g.strategy,approvedBy:g.approvedBy,approveWrite:g.approveWrite,proposedPatchUri:g.patchUri});if(r(K,g.json,g),!K.ok&&!g.json)process.exitCode=1;return}let X=N.syncConflicts({status:S,limit:g.limit}),G={ok:!0,conflicts:X,message:`${X.length} sync conflict(s)`};r(g.json||g.verbose?G:Ff(G),g.json,g);return}if(J==="machines"||J==="registry"){let S=N.syncMachines(),X={ok:!0,machines:S,message:`${S.length} registered sync machine(s)`};r(g.json||g.verbose?X:Mf(X),g.json,g);return}if(J==="export"){let S=N.exportSyncBundle({machineId:g.machine??null,tables:P,includeArtifactContent:g.artifactContent!==!1});r(S,!0);return}if(J==="import"){let S=await Bun.stdin.text();if(!S.trim())throw Error("Usage: knowledge sync import < bundle.json");let X=await N.importSyncBundle({bundle:JSON.parse(S),dryRun:g.dryRun,direction:"import",machineId:g.machine??null});r(g.json||g.verbose?X:n8(X,J),g.json,g);return}if(J==="dry-run"||J==="pull"||J==="push"||J==="sync"){if(!g.peerWorkspace&&d8(g.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 S=J==="dry-run"?"both":J==="sync"?"both":J,X=!d8(g.machine)?await N.syncRemotePeer({direction:S,machine:g.machine,peerWorkspace:g.peerWorkspace,tables:P,dryRun:g.dryRun===!0||J==="dry-run",includeArtifactContent:g.artifactContent!==!1,includeTailscale:g.tailscale!==!1}):await N.syncPeer({peerWorkspace:g.peerWorkspace,direction:S,dryRun:g.dryRun===!0||J==="dry-run",tables:P,includeArtifactContent:g.artifactContent!==!1,machineId:g.machine??null});if(r(g.json||g.verbose?X:n8(X,J),g.json,g),!X.ok&&!g.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(U==="db"){let J=$[1]??"init";if(J==="init"){let P=N.initDb();r({ok:!0,...P,message:`Initialized ${P.path}`},g.json,g);return}if(J==="stats"){let P=N.dbStats();r({ok:!0,path:N.workspace.knowledgeDbPath,...P,message:`knowledge.db schema v${P.schema_version}`},g.json,g);return}if(J==="storage"){if(($[2]??"status")==="status"){let S=t3({scope:g.scope});r({ok:!0,...S,message:`knowledge.db storage mode ${S.mode}`},g.json,g);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(U==="app-wiki"){let J=$[1]??"init";if(J==="paths"||J==="status"){r({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...N.paths()},g.json);return}if(J==="init"||J==="open"){let P=await N.initAppWiki({allowGlobal:g.allowGlobal});r(P,g.json);return}if(J==="note"||J==="notes"){let P=$[2]??"list";if(P==="add"||P==="create"){let S=g.title??$[3],X=g.content??$.slice(4).join(" ");if(!S||!X)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let G=await N.addAppWikiNote({title:S,content:X,tags:g.tag,sourceRefs:g.sourceRef,allowGlobal:g.allowGlobal});r(G,g.json);return}if(P==="list"||P==="ls"){let S=N.listAppWikiNotes({limit:g.limit});r({ok:!0,scope:N.scope,home:N.workspace.home,notes:S,message:`${S.length} app wiki note(s)`},g.json);return}if(P==="get"||P==="show"){let S=$[3]??g.id;if(!S)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let X=await N.getAppWikiNote(S,{includeContent:!0});if(!X)throw Error(`App wiki note not found: ${S}`);r(X,g.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 S=$[3]??g.sourceRef?.[0];if(!S)throw Error("Usage: knowledge app-wiki source add <source-ref>");let X=await N.addAppWikiSourceRef({sourceRef:S,purpose:g.purpose,allowGlobal:g.allowGlobal});r({ok:!0,...X,message:`Added app wiki source ${X.source_ref}`},g.json);return}if(J==="search"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge app-wiki search <query>");let S=await N.searchAppWiki({query:P,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...S,message:`${S.results.length} app wiki result(s)`},g.json);return}if(J==="query"||J==="context"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge app-wiki query <query>");let S=await N.queryAppWiki({query:P,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...S,message:`${S.excerpts.length} app wiki excerpt(s)`},g.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(U==="wiki"){let J=$[1]??"init";if(J==="init"){let P=await N.initWiki();r({ok:!0,...P,message:`Initialized wiki layout in ${N.workspace.home}`},g.json,g);return}if(J==="compile"){let P=$.slice(2),S=P.filter((R)=>/^(open-files|file|s3|https?):\/\//.test(R)),X=P.filter((R)=>!/^(open-files|file|s3|https?):\/\//.test(R)).join(" "),G=await N.compileWiki({title:g.title,query:X||g.search,sourceRefs:S.length>0?S:void 0,limit:g.limit});r({ok:!0,...G,message:`Compiled wiki page ${G.path}`},g.json,g);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(!g.content)throw Error("Missing --content <answer> for wiki file-answer.");let S=await N.fileAnswer({prompt:P,answer:g.content,approveWrite:g.approveWrite,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...S},g.json,g);return}if(J==="lint"){let P=N.lintWiki();r({ok:P.ok,...P,message:P.ok?"Wiki lint passed":`Wiki lint found ${P.issue_count} issue(s)`},g.json,g);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(U==="safety"){let J=$[1]??"status",P=N.ensureWorkspace(),S=N.safetyPolicy();N.initDb();let X=v(P.knowledgeDbPath);try{if(J==="status"){r({ok:!0,mode:S.mode,workspace:P.home,allow_write_roots:S.allowWriteRoots,read_only_source_access:S.readOnlySourceAccess,network:S.network,redaction:S.redaction,approvals:S.approvals,message:`Safety policy: ${S.mode}`},g.json,g);return}if(J==="check"){let G=$[2]??"generated_write",R=$[3]??null,K;try{if(G==="web_search")J0(S),K={action:G,target_uri:R,approval_required:!1,approved:!0,decision:"allow"};else if(G==="s3_read"){if(!R)throw Error("safety check s3_read requires an s3:// target.");q6(R,S),K={action:G,target_uri:R,approval_required:!1,approved:!0,decision:"allow"}}else K=xS(X,S,G,R);X_(X,{event_type:"safety_check",action:G,target_uri:R,decision:K.decision==="allow"?"allow":"requires_approval",metadata:K}),r({ok:!0,...K,message:`Safety check ${K.decision}`},g.json,g);return}catch(Q){throw X_(X,{event_type:"safety_check",action:G,target_uri:R,decision:"deny",metadata:{error:Q instanceof Error?Q.message:String(Q)}}),Q}}if(J==="approve"){let G=$[2]??"generated_write",R=$[3]??null,K=mU(X,{action:G,target_uri:R,reason:"local-cli approval",metadata:{scope:g.scope??"global"}});X_(X,{event_type:"approval",action:G,target_uri:R,decision:"allow",metadata:{approval_id:K.id}}),r({ok:!0,...K,action:G,target_uri:R,message:`Approved ${G}`},g.json,g);return}if(J==="audit"){let G=X.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((R)=>({id:R.id,event_type:R.event_type,action:R.action,target_uri:R.target_uri,decision:R.decision,metadata:JSON.parse(R.metadata_json),created_at:R.created_at}));r({ok:!0,events:G,message:`${G.length} audit event(s)`},g.json,g);return}if(J==="redact"){let G=$.slice(2).join(" ");if(!G)throw Error("Usage: knowledge safety redact <text>");let R=u_(G,S);if(R.findings.length>0)P0(X,{source_uri:"safety://redact",findings:R.findings,metadata:{command:"safety redact"}});X_(X,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:R.findings.length>0?"redacted":"allow",metadata:{findings:R.findings.length}}),r({ok:!0,text:R.text,findings:R.findings,message:`Redacted ${R.findings.length} finding(s)`},g.json,g);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{X.close()}}if(U==="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 S=await N.resolveSource(P,{purpose:g.purpose,limit:g.limit});r({ok:!0,...S,message:S.resolved?`Resolved ${S.source_ref} (${S.content.chunks_returned}/${S.content.chunks_total} chunks)`:`Source not indexed: ${P}`},g.json,g);return}if(U==="ingest"){let J=$[1]??"";if(J==="rules"||J==="global-rules"||J==="agent-rules"){let P=await N.importRulesProvenance({root:g.workspace??process.cwd(),owner:g.owner,dryRun:g.dryRun===!0,maxItems:g.maxItems,limit:g.limit});r({ok:!0,...P},g.json);return}if(J==="manifest"){let P=$[2];if(!P)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let S=await N.ingestManifest(P);r({ok:!0,...S,message:`Ingested ${S.items_seen} manifest item(s)`},g.json,g);return}if(J==="source"){let P=$[2];if(!P)throw Error("Usage: knowledge ingest source <source-ref>");let S=await N.ingestSource(P,g.purpose);r({ok:!0,...S,message:`Ingested source ${S.source_ref} (${S.chunks_inserted} chunks)`},g.json,g);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(U==="reindex"){let J=$[1]??"status";if(J==="status"){let P=N.reindexHealth({modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`${P.missing_embeddings} chunk(s) missing embeddings`},g.json,g);return}if(J==="enqueue"){let P=N.enqueueReindex({modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`Queued ${P.enqueued} embedding refresh item(s)`},g.json,g);return}if(J==="embeddings"){let P=await N.refreshEmbeddings({full:g.full,limit:g.limit,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`Embedded ${P.indexed.chunks_embedded} chunk(s)`},g.json,g);return}if(J==="outbox"){let P=$[2];if(!P)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let S=await N.consumeOutbox(P);r({ok:!0,...S,message:`Consumed ${S.events_seen} outbox event(s)`},g.json,g);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(U==="embeddings"){let J=$[1]??"status";if(J==="status"){let P=N.embeddingStatus();r({ok:!0,...P,message:`${P.total_vector_entries} vector index entries`},g.json,g);return}if(J==="index"){let P=await N.indexEmbeddings({limit:g.limit,modelRef:g.model,dimensions:g.dimensions,fake:g.fake});r({ok:!0,...P,message:`Embedded ${P.chunks_embedded} chunk(s)`},g.json,g);return}if(J==="search"){let P=$.slice(2).join(" ");if(!P)throw Error("Usage: knowledge embeddings search <query>");let S=await N.semanticSearch({query:P,limit:g.limit,modelRef:g.model,dimensions:g.dimensions,fake:g.fake}),X={ok:!0,...S,message:`${S.results.length} semantic result(s)`};r(g.json||g.verbose?X:Yf(X),g.json,g);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(U==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let P=g.from??"search";if(!["search","loops","runs"].includes(P))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let S=$.slice(2).join(" ")||g.topic||"",X=await N.contextPack({source:P,purpose:P==="loops"||P==="runs"?"proposal":"agent_context",query:S,topic:g.topic,since:g.since,dedupe:g.dedupe,maxTokens:g.maxTokens,maxItems:g.maxItems,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,legacyStorePath:A});c8({ok:!0,...X,message:X.message});return}if(U==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let P=g.from??"loops";if(!["loops","runs"].includes(P))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let S=g.topic??$.slice(2).join(" ");if(!S.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let X=await N.contextPack({source:P,purpose:"proposal",query:S,topic:S,since:g.since,dedupe:g.dedupe??!0,maxTokens:g.maxTokens,maxItems:g.maxItems,limit:g.limit});c8({ok:!0,...X,message:X.message});return}if(U==="search"){let J=$.slice(1).join(" ");if(!J)throw Error("Usage: knowledge search <query>");if(g.context){let X=await N.retrieveContext({query:J,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,legacyStorePath:A}),G={ok:!0,...X,message:`${X.excerpts.length} context excerpt(s)`};r(g.json||g.verbose?G:Gf(G),g.json,g);return}let P=await N.search({query:J,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,legacyStorePath:A}),S={ok:!0,...P,message:`${P.results.length} search result(s)`};r(g.json||g.verbose?S:Rf(S),g.json,g);return}if(U==="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 S=await N.webSearch({query:P,limit:g.limit,modelRef:g.model,provider:g.provider,domains:g.domain,fake:g.fake,fileResults:g.fileResults}),X={ok:!0,...S,message:`${S.sources.length} web source(s)`};r(g.json||g.verbose?X:Qf(X),g.json,g);return}if(U==="ask"||U==="build"){let J=$.slice(D).join(" ");if(!J)throw Error("Usage: knowledge ask <prompt>");let P=await N.runPrompt({prompt:J,limit:g.limit,semantic:g.semantic,modelRef:g.model,dimensions:g.dimensions,fake:g.fake,generate:g.generate,approveWrite:g.approveWrite,legacyStorePath:A}),S={ok:!0,...P,message:P.generated?"Generated answer with citations":"Prepared citation context draft"};r(g.json||g.verbose?S:Zf(S),g.json,g);return}if(U==="providers"){let J=$[1]??"status";if(J==="status"){let P=N.providerStatus(),S=P.providers.filter((X)=>X.configured).length;r({ok:!0,...P,message:`${S}/${P.providers.length} provider credential(s) configured`},g.json,g);return}if(J==="models"){let P=N.modelRegistry();r({ok:!0,models:P,message:`${P.length} model alias(es)`},g.json,g);return}if(J==="check"){let P=$[2]??"default",S=G$(P,N.config()),X=f_(S),G=D4(X.provider,N.config());r({ok:!0,target:P,model_ref:S,provider:X.provider,model:X.model,credential:G,message:`${X.provider} credentials configured`},g.json,g);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(U==="add"){let J=$[1],P=$[2];if(!J||!P)throw Error("Usage: knowledge add <title> <content>");let S=await L.create({title:J,content:P,url:g.url??null,tags:g.tag??[]});$0("info","Item added",{id:S.id,title:S.title,tags:S.tags?.length??0,transport:L.kind}),r({ok:!0,item:S,message:`Added ${S.id}`},g.json,g);return}if(U==="list"){if(g.format!==void 0&&g.format!=="table"&&g.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");let J=await L.listAll(),P=Number.isFinite(g.page)&&g.page>0?g.page:1,S=Number.isFinite(g.limit)&&g.limit>0?g.limit:20,X=g.search?String(g.search).toLowerCase():"",G=(g.tagRaw??g.tag??[]).map((a)=>({whole:a.trim().toLowerCase(),parts:a.split(",").map((r_)=>r_.trim().toLowerCase()).filter((r_)=>r_.length>0)})),R=g.tag?.length?g.tag.map((a)=>a.toLowerCase()).join(","):"none",K=g.format==="table"||!g.json&&!g.format&&Pf(g),Q=g.json||g.format==="json",T=J.items;if(g.archived)T=T.filter((a)=>a.archived===!0);else if(!g.includeArchived)T=T.filter((a)=>!a.archived);if(X)T=T.filter((a)=>Bz(a,X));if(G.length>0)T=T.filter((a)=>{let r_=new Set((a.tags??[]).map((K_)=>K_.toLowerCase()));return G.every(({whole:K_,parts:G_})=>K_.length>0&&r_.has(K_)||G_.every((H_)=>r_.has(H_)))});let{sorted:q,sort:V,direction:Z}=Hf(T,g),e=(P-1)*S,D_=q.slice(e,e+S),I_=Math.max(1,Math.ceil(q.length/S)),J_={ok:!0,page:P,limit:S,total:q.length,total_pages:I_,sort:V,direction:Z,items:D_,store_exists:J.exists};if(Q){r(J_,!0);return}if(g.verbose){r(J_,!1,g);return}if(D_.length===0){r(`No items found (search=${X||"none"}, tag=${R})`,!1);return}if(K){let a=(K_)=>K_,r_=`${a("ID")} ${a("TITLE")} ${a("CREATED")} ${a("URL")} ${a("TAGS")}`;console.log(r_);for(let K_ of D_)console.log(`${K_.id} ${a(g_(K_.title,80))} ${K_.created_at} ${K_.url?a(g_(K_.url,90)):""} ${K_.tags?.length?a(g_(`[${K_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${q.length} | sort=${V} ${Z} | search=${X||"none"} | tag=${R}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let a of D_)console.log(`${a.id} ${g_(a.title,80)} ${a.created_at}${a.url?` ${g_(a.url,90)}`:""}${a.tags?.length?` ${g_(`[${a.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${q.length} | sort=${V} ${Z} | search=${X||"none"} | tag=${R}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(U==="get"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);r({ok:!0,item:J,store_exists:L.exists,message:`${J.id}: ${J.title}`},g.json,g);return}if(U==="versions"){_0(g);let J=Number.isFinite(g.page)&&g.page>0?g.page:1,P=Number.isFinite(g.limit)&&g.limit>0?g.limit:void 0,S=await L.listVersions(g.id,{limit:P,offset:(J-1)*(P??50)});if(!S)throw Error(`Item not found: ${g.id}`);let X={ok:!0,id:S.item_id,current_version:S.current_version,total:S.total,page:J,store:L.location,versions:S.items,message:S.total===0?`${S.item_id} is at version ${S.current_version} with no retained prior versions`:`${S.item_id} is at version ${S.current_version}; ${S.total} prior version(s) retained`};if(g.json||g.verbose){r(X,g.json,g);return}console.log(X.message);for(let G of S.items){let R=G.actor?` by ${G.actor}`:"",K=G.reason?` (${G.reason})`:"";console.log(`v${G.version} ${G.valid_to}${R}${K} ${G.content_bytes} bytes ${G.content_hash.slice(0,12)}`)}if(S.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(U==="diff"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);if(g.rev!==void 0&&(g.from!==void 0||g.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}),S=`v${J.version??"?"} (current)`,X=async(q)=>{if(q==="current")return{label:S,snapshot:P()};let V=Number(q);if(!Number.isInteger(V)||V<1)throw Error(`Not a version number: ${q}`);if(J.version!==void 0&&V===J.version)return{label:S,snapshot:P()};let Z=await L.getVersion(J.id,V);if(!Z)throw Error(`No version ${V} retained for ${J.id} (it is at version ${J.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${Z.version}`,snapshot:{title:Z.title,content:Z.content,url:Z.url,tags:Z.tags,metadata:Z.metadata,archived:Z.archived}}},G,R;if(g.rev!==void 0){if(!Number.isInteger(g.rev)||g.rev<1)throw Error("--rev must be a positive version number.");if(g.rev===1)throw Error("Version 1 has no predecessor to diff against.");G=String(g.rev-1),R=String(g.rev)}else if(g.from!==void 0||g.to!==void 0){if(g.from===void 0||g.to===void 0)throw Error("--from and --to must be given together.");G=g.from,R=g.to}else{let q=await L.listVersions(J.id,{limit:1});if(!q)throw Error(`Item not found: ${g.id}`);if(q.items.length===0)throw Error(`${J.id} is at version ${q.current_version} with no retained prior versions to diff against.`);G=String(q.items[0].version),R="current"}let K=await X(G),Q=await X(R),T=AS(K.snapshot,Q.snapshot);if(g.json||g.verbose){r({ok:!0,id:J.id,from:K.label,to:Q.label,...T},g.json,g);return}console.log(LS(T,`${J.id} ${K.label}`,`${J.id} ${Q.label}`));return}if(U==="update"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);let P={};if(g.title!==void 0)P.title=g.title;if(g.content!==void 0)P.content=g.content;if(g.url!==void 0)P.url=g.url;let S;if(g.tag!==void 0){if(S=h8(J.tags,g.tag),S.length>0)P.tags=[...J.tags??[],...S]}let X=await L.update(J.id,P,{expectedVersion:J.version});r(Oz({ok:!0,item:X},`Updated ${X?.id??J.id}`,S),g.json,g);return}if(U==="archive"||U==="restore"){_0(g);let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);let P=await L.update(J.id,{archived:U==="archive"},{expectedVersion:J.version});r({ok:!0,item:P,message:`${U==="archive"?"Archived":"Restored"} ${P?.id??J.id}`},g.json,g);return}if(U==="untag"){if(_0(g),!g.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let J=await L.get(g.id);if(!J)throw Error(`Item not found: ${g.id}`);let P=J.tags??[],S=new Set(P.map((V)=>V.toLowerCase())),X=new Set;for(let V of g.tagRaw??g.tag){let Z=V.trim().toLowerCase();if(Z.length>0&&S.has(Z)){X.add(Z);continue}for(let e of V.split(",").map((D_)=>D_.trim().toLowerCase()).filter((D_)=>D_.length>0))X.add(e)}let G=P.filter((V)=>!X.has(V.toLowerCase())),R=P.length-G.length,K=[...X].filter((V)=>!S.has(V));if(R===0)throw Error(`No matching tag on ${J.id}: ${K.map((V)=>JSON.stringify(V)).join(", ")} not in [${P.map((V)=>JSON.stringify(V)).join(", ")}]`);let Q=await L.update(J.id,{tags:G},{expectedVersion:J.version}),T=K.length>0?` (not found: ${K.map((V)=>JSON.stringify(V)).join(", ")})`:"",q={ok:!0,item:Q,removed:R,message:`Removed ${R} tag${R===1?"":"s"} from ${Q?.id??J.id}${T}`};if(K.length>0)q.not_found=K;r(q,g.json,g);return}if(U==="upsert"){let J=g.title??$[1],P=g.content??$[2],S=g.id?await L.get(g.id):null;if(!S){if(!J||!P)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let K=await L.create({id:g.id,title:J,content:P,url:g.url??null,tags:g.tag??[]});r(Oz({ok:!0,created:!0,item:K},`Upserted ${K.id}`,g.tag),g.json,g);return}let X={};if(J!==void 0)X.title=J;if(P!==void 0)X.content=P;if(g.url!==void 0)X.url=g.url;let G;if(g.tag!==void 0){if(G=h8(S.tags,g.tag),G.length>0)X.tags=[...S.tags??[],...G]}let R=await L.update(S.id,X,{expectedVersion:S.version});r(Oz({ok:!0,created:!1,item:R},`Upserted ${R?.id??S.id}`,G),g.json,g);return}if(U==="delete"){if(_0(g),!g.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await L.delete(g.id))throw Error(`Item not found: ${g.id}`);$0("info","Item deleted",{id:g.id,transport:L.kind}),r({ok:!0,deleted_id:g.id,message:`Deleted ${g.id}`},g.json,g);return}if(U==="export"){let J=g.format??"json";if(J!=="json"&&J!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let P=await L.listAll();if(J==="jsonl")for(let S of P.items)console.log(JSON.stringify(S));else if(g.json||g.format==="json"||g.verbose)r({ok:!0,items:P.items,store_exists:P.exists},g.json||g.format==="json",g);else r(bf(P.items,J),!1);return}if(U==="prune"){if(!g.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:J}=await L.listAll(),P=g.olderThan!==void 0?new Date(Date.now()-g.olderThan*86400000):null,S=J.filter((R)=>P!==null&&new Date(R.created_at)<P||g.empty&&R.content.trim().length===0),X=await L.deleteMany(S.map((R)=>R.id)),G=J.length-X;$0("info","Prune completed",{pruned:X,remaining:G,transport:L.kind}),r({ok:!0,pruned:X,remaining:G,message:`Pruned ${X} item(s)`},g.json,g);return}if(U==="dedupe"){if(!g.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:J}=await L.listAll(),P=new Set,S=[];for(let R of J){let K=`${R.title}\x00${R.content}`;if(P.has(K))S.push(R);else P.add(K)}let X=await L.deleteMany(S.map((R)=>R.id)),G=J.length-X;$0("info","Dedupe completed",{removed:X,remaining:G,transport:L.kind}),r({ok:!0,removed:X,remaining:G,message:`Dedupe removed ${X} duplicate(s)`},g.json,g);return}if(U==="stats"){let J=await L.listAll(),P=J.items.filter((V)=>!V.archived),S=P.length,X=J.items.length-S,G=P.filter((V)=>V.url).length,R=P.filter((V)=>V.tags&&V.tags.length>0).length,K=S>0?P.map((V)=>V.created_at).sort()[0]:null,Q=S>0?P.map((V)=>V.created_at).sort()[S-1]:null,T={};for(let V of P)for(let Z of V.tags||[])T[Z]=(T[Z]||0)+1;let q=Object.entries(T).sort((V,Z)=>Z[1]-V[1]).slice(0,5).map(([V,Z])=>({tag:V,count:Z}));r({ok:!0,total:S,archived:X,with_url:G,with_tags:R,oldest:K,newest:Q,top_tags:q,store_exists:J.exists,message:`${S} items | ${G} with URL | ${R} with tags`},g.json,g);return}let z=Ef($[0]),W=z?` Did you mean '${z}'?`:"";throw $0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${W} Run 'knowledge --help' for available commands.`)}function Cf(_,$){let g=_ instanceof Error?_.message:String(_);if($0("debug","CLI error",{message:g,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${g}`),$.includes("--json"))r({ok:!1,error:g,message:g},!0);process.exitCode=1}if(import.meta.main){let _=process.argv.slice(2);kf(_).catch(($)=>Cf($,_))}export{Ef as suggestCommand,Hf as sortItems,kf as run,If as parseArgs,Cf as emitCliError}; diff --git a/dist/store.d.ts b/dist/store.d.ts index 4b0e87e..fa56e04 100644 --- a/dist/store.d.ts +++ b/dist/store.d.ts @@ -18,6 +18,33 @@ export interface KnowledgeItem { */ version?: number; } +/** + * The one predicate behind every `--search` / `search:` free-text filter over stored + * items — `knowledge list --search` and the `ok_list` MCP tool. + * + * It is a CASE-INSENSITIVE LITERAL SUBSTRING test, not a tokenised or semantic search. + * `knowledge search` is the semantic verb and is a different code path entirely; this + * one deliberately stays a cheap filter, because it has to compose with tag filtering, + * sorting and pagination over a fully materialised list. + * + * IT MATCHES `id` AS WELL AS `title` AND `content`, and the id is the reason this + * function exists. The filter used to read title and content only, so resolving an item + * by its own slug — the dominant instructed use of the flag across the skill corpus, and + * the DEDUPE path that decides whether an artefact already exists — returned `total: 0` + * at exit 0 for an item that was demonstrably present. A false zero there reads as "no + * existing item, safe to create", so the omission manufactured duplicate knowledge items. + * + * What hid it: an item whose CONTENT happens to quote its own slug matched anyway, so a + * spot check could pass for entirely the wrong reason. Measured on the fleet store before + * the fix — `hasna-loop-naming-convention` and `hasna-knowledge-taxonomy` both existed and + * were both unfindable by their own ids, while `hasna-agent-identity-convention` was found + * only because its body cites its own slug. + * + * `short_id` is deliberately NOT matched. It is an opaque short handle rather than the + * slug agents are instructed to resolve, and widening identity matching further is a + * separate decision from repairing the one that was broken. + */ +export declare function itemMatchesSearch(item: Pick<KnowledgeItem, 'id' | 'title' | 'content'>, needle: string): boolean; /** * An immutable snapshot of an entry as it stood BEFORE the edit that produced * the next version. Written only by the database trigger (see diff --git a/src/cli.ts b/src/cli.ts index 35689ef..5e92261 100755 --- a/src/cli.ts +++ b/src/cli.ts @@ -4,7 +4,7 @@ * Copyright 2026 Hasna Inc. * Licensed under the Apache License, Version 2.0 */ -import { defaultStorePath, ensureStore, importLegacyGlobalStore, type KnowledgeItem } from './store'; +import { defaultStorePath, ensureStore, importLegacyGlobalStore, itemMatchesSearch, type KnowledgeItem } from './store'; import { resolveItemStore, type ItemStore } from './item-store'; import { isKnowledgeApiMode } from './cloud-store'; import { diffEntries, formatEntryDiff, type EntrySnapshot } from './entry-diff'; @@ -441,7 +441,7 @@ List Options: --format table|json Output format (default: table if TTY, json otherwise) -p, --page <n> Page number (default: 1) -l, --limit <n> Items per page (default: 20) - -s, --search <text> Filter by title/content + -s, --search <text> Filter by id/title/content (case-insensitive substring; use 'knowledge search' for semantic) -t, --tag <tag> Filter by tag; repeatable/comma-separated, item must match ALL --sort <created|title> Sort field (default: created) --desc Sort descending @@ -472,7 +472,7 @@ Prune Options: function printCommandHelp(command: string): void { if (command === 'add') { console.log('Usage: knowledge add <title> <content> [--url <url>] [-t <tag>]... [--json]\n -t/--tag is repeatable and accepts comma-separated values: -t a -t b == -t "a,b"'); return; } - if (command === 'list' || command === 'ls') { console.log('Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json]\n -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag).\n Each value matches an item carrying the whole value OR all of its comma-split names — a union, so\n `-t "a,b,c"` finds items carrying a legacy literal "a,b,c" tag as well as items carrying the three\n names separately. (`untag` differs on purpose: it stops at the whole-value match.)\n Use --json to tell those two shapes apart; the table renders them near-identically.\n Archived items are excluded by default; add --include-archived to sweep both.\n If both --archived and --include-archived are passed, --archived wins (archived items only).'); return; } + if (command === 'list' || command === 'ls') { console.log('Usage: knowledge list|ls [--format table|json] [-p <page>] [-l <limit>] [-s <search>] [-t <tag>]... [--sort created|title] [--desc] [--archived] [--include-archived] [--verbose] [--json]\n -s/--search is a CASE-INSENSITIVE LITERAL SUBSTRING filter over id, title and content — not a\n tokenised or semantic search, so a word order that never appears verbatim matches nothing. It\n resolves an item by its slug because the id is included. For meaning-based lookup use `knowledge\n search <query>`, which is a different index and will find items this filter cannot.\n -t/--tag is repeatable and accepts comma-separated values; repeated -t narrows (an item must carry every tag).\n Each value matches an item carrying the whole value OR all of its comma-split names — a union, so\n `-t "a,b,c"` finds items carrying a legacy literal "a,b,c" tag as well as items carrying the three\n names separately. (`untag` differs on purpose: it stops at the whole-value match.)\n Use --json to tell those two shapes apart; the table renders them near-identically.\n Archived items are excluded by default; add --include-archived to sweep both.\n If both --archived and --include-archived are passed, --archived wins (archived items only).'); return; } if (command === 'get') { console.log('Usage: knowledge get --id <id> [--json]'); return; } if (command === 'update' || command === 'edit') { console.log('Usage: knowledge update|edit --id <id> [--title <title>] [--content <content>] [--url <url>] [-t <tag>]... [--json]\n -t/--tag is repeatable and accepts comma-separated values; tags are added, never replaced.\n With -t the output reports how many tags were actually added, so 0 added is not read as 3.'); return; } if (command === 'archive') { console.log('Usage: knowledge archive --id <id> [--json]'); return; } @@ -1925,7 +1925,11 @@ async function run(argv: string[]): Promise<void> { // win, so this is documented rather than changed — flipping it would alter behaviour. if (flags.archived) filtered = filtered.filter((x) => x.archived === true); else if (!flags.includeArchived) filtered = filtered.filter((x) => !x.archived); - if (search) filtered = filtered.filter((x) => x.title.toLowerCase().includes(search) || x.content.toLowerCase().includes(search)); + // Matches id, title and content — see itemMatchesSearch in store.ts for why the id is + // in there. Keep this delegating rather than inlining the predicate again: the id was + // missing here and in the two mcp.js copies simultaneously, which is what a duplicated + // one-liner buys you. + if (search) filtered = filtered.filter((x) => itemMatchesSearch(x, search)); if (tagFilters.length > 0) filtered = filtered.filter((x) => { const itemTags = new Set((x.tags ?? []).map((t) => t.toLowerCase())); return tagFilters.every(({ whole, parts }) => (whole.length > 0 && itemTags.has(whole)) || parts.every((wanted) => itemTags.has(wanted))); diff --git a/src/mcp.js b/src/mcp.js index 8fab906..91ad70c 100644 --- a/src/mcp.js +++ b/src/mcp.js @@ -5,7 +5,7 @@ import { z } from 'zod'; import { existsSync, readFileSync, writeFileSync } from 'node:fs'; import pkg from '../package.json' with { type: 'json' }; import { migrateKnowledgeDb, openKnowledgeDb } from './knowledge-db.ts'; -import { defaultStorePath } from './store.ts'; +import { defaultStorePath, itemMatchesSearch } from './store.ts'; import { resolveItemStore } from './item-store.ts'; import { isKnowledgeApiMode } from './cloud-store.ts'; import { assertKnowledgeModeSelected } from './knowledge-mode.ts'; @@ -1537,7 +1537,7 @@ export function buildServer() { }); registerTool(server, 'ok_list', 'List knowledge items', 'List compact item summaries with pagination, search, tag filtering, and sorting', { - search: z.string().optional().describe('Search text for title/content'), + search: z.string().optional().describe('Case-insensitive literal substring filter over id, title and content. Not a semantic search — use ok_search for that.'), tag: z.array(z.string()).optional().describe('Filter by tags; item must match all tags'), include_archived: z.boolean().optional().describe('Include archived items'), include_content: z.boolean().optional().describe('Include full item content in each list row; default false to keep agent output compact'), @@ -1554,7 +1554,7 @@ export function buildServer() { const q = search ? search.toLowerCase() : ''; const requiredTags = (tag ?? []).map((entry) => entry.toLowerCase()); let items = activeItems(all, include_archived); - if (q) items = items.filter((item) => item.title.toLowerCase().includes(q) || item.content.toLowerCase().includes(q)); + if (q) items = items.filter((item) => itemMatchesSearch(item, q)); if (requiredTags.length > 0) { items = items.filter((item) => { const itemTags = (item.tags ?? []).map((entry) => entry.toLowerCase()); @@ -1762,6 +1762,17 @@ export function buildServer() { const q = search ? search.toLowerCase() : ''; const tags = (tag ?? []).map((entry) => entry.toLowerCase()); const deleteIds = all.filter((item) => { + // DELIBERATELY NARROWER THAN ok_list / `knowledge list --search`, which also match the + // item's `id`. This is the destructive verb, so it is not widened along with them: an + // agent that passes a slug-shaped query here would otherwise start deleting items it + // had never previewed, and "the read filter was repaired" is not a reason to enlarge + // what a delete removes. + // + // The divergence is safe in one direction only, which is why it is acceptable at all: + // this predicate matches a SUBSET of what ok_list shows for the same query, so a + // preview can over-report what a delete will remove but can never under-report it. + // Do not "align" these by widening this one — align them by narrowing, or not at all. + // Deleting by id is what ok_delete is for. const matchesSearch = q ? item.title.toLowerCase().includes(q) || item.content.toLowerCase().includes(q) : false; const itemTags = (item.tags ?? []).map((entry) => entry.toLowerCase()); const matchesTag = tags.length > 0 ? tags.some((entry) => itemTags.includes(entry)) : false; diff --git a/src/store.ts b/src/store.ts index ccd4bc1..08bac7c 100644 --- a/src/store.ts +++ b/src/store.ts @@ -40,6 +40,45 @@ export interface KnowledgeItem { version?: number; } +/** + * The one predicate behind every `--search` / `search:` free-text filter over stored + * items — `knowledge list --search` and the `ok_list` MCP tool. + * + * It is a CASE-INSENSITIVE LITERAL SUBSTRING test, not a tokenised or semantic search. + * `knowledge search` is the semantic verb and is a different code path entirely; this + * one deliberately stays a cheap filter, because it has to compose with tag filtering, + * sorting and pagination over a fully materialised list. + * + * IT MATCHES `id` AS WELL AS `title` AND `content`, and the id is the reason this + * function exists. The filter used to read title and content only, so resolving an item + * by its own slug — the dominant instructed use of the flag across the skill corpus, and + * the DEDUPE path that decides whether an artefact already exists — returned `total: 0` + * at exit 0 for an item that was demonstrably present. A false zero there reads as "no + * existing item, safe to create", so the omission manufactured duplicate knowledge items. + * + * What hid it: an item whose CONTENT happens to quote its own slug matched anyway, so a + * spot check could pass for entirely the wrong reason. Measured on the fleet store before + * the fix — `hasna-loop-naming-convention` and `hasna-knowledge-taxonomy` both existed and + * were both unfindable by their own ids, while `hasna-agent-identity-convention` was found + * only because its body cites its own slug. + * + * `short_id` is deliberately NOT matched. It is an opaque short handle rather than the + * slug agents are instructed to resolve, and widening identity matching further is a + * separate decision from repairing the one that was broken. + */ +export function itemMatchesSearch( + item: Pick<KnowledgeItem, 'id' | 'title' | 'content'>, + needle: string, +): boolean { + if (!needle) return true; + const q = needle.toLowerCase(); + return ( + item.id.toLowerCase().includes(q) || + item.title.toLowerCase().includes(q) || + item.content.toLowerCase().includes(q) + ); +} + /** * An immutable snapshot of an entry as it stood BEFORE the edit that produced * the next version. Written only by the database trigger (see diff --git a/tests/cli.test.ts b/tests/cli.test.ts index bdd9d22..d5ed39c 100644 --- a/tests/cli.test.ts +++ b/tests/cli.test.ts @@ -620,6 +620,76 @@ describe('knowledge cli', () => { ]); }); + // Regression guard for the slug-resolution defect in `list --search`. + // + // `--search` is a case-insensitive literal substring filter, and it matched ONLY + // `title` and `content` — never the item's `id`. The dominant instructed use of the + // flag across the skill corpus is SLUG RESOLUTION ("resolve knowledge slugs via + // `knowledge list --search <slug>`"), and that use failed silently: an existing item + // queried by its own id returned `total: 0` at exit 0, with nothing to distinguish it + // from a genuinely absent item. Because this is the dedupe path, that false zero reads + // as "no existing item, safe to create" and manufactures duplicate knowledge items. + // + // What made it survive: an item whose CONTENT happens to quote its own slug matched + // anyway, so a spot check could pass for the wrong reason. `id-not-in-body` below is + // the case that cannot pass by coincidence — its slug appears in neither field — and + // `id-quoted-in-body` pins the coincidence so a future reader cannot mistake it for + // evidence that ids were being searched all along. + test('list --search resolves an item by its id, not only title and content', () => { + const dir = mkdtempSync(join(tmpdir(), 'ok-list-search-id-')); + const store = join(dir, 'db.json'); + const decode = (buf: Uint8Array) => new TextDecoder().decode(buf); + const total = (args: string[]): number => { + const res = runCli(['list', '--store', store, '--json', '-l', '50', ...args]); + expect(res.exitCode).toBe(0); + return JSON.parse(decode(res.stdout)).total; + }; + const ids = (args: string[]): string[] => { + const res = runCli(['list', '--store', store, '--json', '-l', '50', ...args]); + expect(res.exitCode).toBe(0); + return JSON.parse(decode(res.stdout)).items.map((item: { id: string }) => item.id); + }; + + // The defect case: the slug is in NEITHER the title nor the content, so nothing but + // an id-aware filter can return it. + const seeded = runCli([ + 'upsert', 'Loop labelling taxonomy', 'Body about labelling and classification.', + '--id', 'id-not-in-body', '--store', store, '--json', + ]); + expect(seeded.exitCode).toBe(0); + + // The coincidence case, pinned so it is never read as evidence about ids. + const quoted = runCli([ + 'upsert', 'Quoted slug', 'This body mentions id-quoted-in-body verbatim.', + '--id', 'id-quoted-in-body', '--store', store, '--json', + ]); + expect(quoted.exitCode).toBe(0); + + // Positive control on the STORE, not just the query: both items really are present, + // so a zero below is a statement about the filter and not about an empty fixture. + expect(total([])).toBe(2); + + // The regression itself. + expect(ids(['--search', 'id-not-in-body'])).toEqual(['id-not-in-body']); + + // Case-insensitive on the id, matching how the flag already treats title and content. + expect(ids(['--search', 'ID-NOT-IN-BODY'])).toEqual(['id-not-in-body']); + + // Substring of an id must match, since this is a substring filter and not a token search. + expect(ids(['--search', 'not-in-body'])).toEqual(['id-not-in-body']); + + // No regression: title and content matching still work and still return only their match. + expect(ids(['--search', 'labelling taxonomy'])).toEqual(['id-not-in-body']); + expect(ids(['--search', 'mentions'])).toEqual(['id-quoted-in-body']); + + // NEGATIVE CONTROL — the check must be able to report zero. Without this the + // assertions above would also pass against a filter that returned everything. + expect(total(['--search', 'no-item-carries-this-string'])).toBe(0); + // Ten CLI spawns at roughly half a second each sit right on the 5s default, so the + // budget is explicit rather than left to chance. It was measured under a full-suite + // run, not in isolation — see the 20000 used by the other multi-spawn tests here. + }, 20000); + // Regression guard for the silent multi-tag data-loss defect: `add -t a -t b -t c` // exited 0, logged "Item added", and persisted ONLY the last tag; `-t "a,b,c"` // stored one literal comma string. Every assertion below reads the PERSISTED item diff --git a/tests/mcp.test.ts b/tests/mcp.test.ts index 71bf8c9..1d2a593 100644 --- a/tests/mcp.test.ts +++ b/tests/mcp.test.ts @@ -409,6 +409,32 @@ describe('knowledge MCP', () => { })); expect(expandedList.items[0].content).toBe('Stored through MCP'); + // ok_list's `search` must resolve an item by its id, not only by title and content. + // The generated `k_…` id appears in NEITHER field of this fixture, so this cannot + // pass by the coincidence that hid the same defect on the CLI side — where an item + // whose body quoted its own slug matched anyway. Before the fix this returned zero + // items with ok=true, which on the dedupe path reads as "safe to create". + const searchById = parseToolJson(await client.callTool({ + name: 'ok_list', + arguments: { store_path: store, search: add.item.id }, + })); + expect(searchById.items.map((item: { id: string }) => item.id)).toEqual([add.item.id]); + + // Still matches title and content, and still on a case-insensitive substring. + const searchByTitle = parseToolJson(await client.callTool({ + name: 'ok_list', + arguments: { store_path: store, search: 'mcp ITEM' }, + })); + expect(searchByTitle.items.map((item: { id: string }) => item.id)).toEqual([add.item.id]); + + // NEGATIVE CONTROL — the filter must still be able to return nothing, or the + // assertions above would pass against a search that ignored its argument. + const searchMiss = parseToolJson(await client.callTool({ + name: 'ok_list', + arguments: { store_path: store, search: 'no-item-carries-this-string' }, + })); + expect(searchMiss.items).toEqual([]); + const stableGetItem = parseToolJson(await client.callTool({ name: 'knowledge_get', arguments: { kind: 'item', id: add.item.short_id, store_path: store },