diff --git a/CHANGELOG.md b/CHANGELOG.md index edc0a7f..a069e43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.2.105 + +- Honor the canonical Knowledge API URL and fail closed with typed errors when + paged or exact project-resource responses omit or malform their envelopes, + preventing false `ok: true` results and undefined-resource crashes. + ## 0.2.104 - Add package-owned guarded CLI helpers for create, update, bounded query, and diff --git a/bin/knowledge-mcp.js b/bin/knowledge-mcp.js index ef32d75..766ff86 100755 --- a/bin/knowledge-mcp.js +++ b/bin/knowledge-mcp.js @@ -14997,7 +14997,7 @@ import { existsSync as existsSync15, readFileSync as readFileSync14, writeFileSy // package.json var package_default = { name: "@hasna/knowledge", - version: "0.2.104", + version: "0.2.105", description: "Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions", type: "module", exports: { @@ -15056,7 +15056,7 @@ var package_default = { 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", + 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 && bun run tsc -p tsconfig.build.json", prepublishOnly: "bun run contracts:conformance && contracts no-cloud-scan . && bun run build && node scripts/validate-public-package.mjs" }, keywords: [ @@ -15103,7 +15103,8 @@ var package_default = { "@electric-sql/pglite": "^0.5.4", "@hasna/contracts": "0.8.5", "@types/bun": "^1.3.14", - "@types/pg": "^8.15.6" + "@types/pg": "^8.15.6", + typescript: "5.9.3" } }; diff --git a/bin/knowledge.js b/bin/knowledge.js index 98dc917..56770e2 100755 --- a/bin/knowledge.js +++ b/bin/knowledge.js @@ -64,11 +64,11 @@ var i7=Object.create;var{getPrototypeOf:t7,defineProperty:PE,getOwnPropertyNames `)}z.write("payload.value = newResult;"),z.write("return payload;");let Q=z.compile();return(V,G)=>Q(X,V,G)},j,I=b4,E=!H4.jitless,W=E&&xA.value,S=$.catchall,L;_._zod.parse=(X,z)=>{L??(L=N.value);let Y=X.value;if(!I(Y))return X.issues.push({expected:"object",code:"invalid_type",input:Y,inst:_}),X;if(E&&W&&z?.async===!1&&z.jitless!==!0){if(!j)j=D($.shape);if(X=j(X,z),!S)return X;return A8([],Y,X,z,L,_)}return U(X,z)}});wD=B("$ZodUnion",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.options.some((N)=>N._zod.optin==="optional")?"optional":void 0),U_(_._zod,"optout",()=>$.options.some((N)=>N._zod.optout==="optional")?"optional":void 0),U_(_._zod,"values",()=>{if($.options.every((N)=>N._zod.values))return new Set($.options.flatMap((N)=>Array.from(N._zod.values)));return}),U_(_._zod,"pattern",()=>{if($.options.every((N)=>N._zod.pattern)){let N=$.options.map((D)=>D._zod.pattern);return new RegExp(`^(${N.map((D)=>KD(D.source)).join("|")})$`)}return});let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(N,D)=>{if(U)return U(N,D);let j=!1,I=[];for(let E of $.options){let J=E._zod.run({value:N.value,issues:[]},D);if(J instanceof Promise)I.push(J),j=!0;else{if(J.issues.length===0)return J;I.push(J)}}if(!j)return l9(I,N,_,D);return Promise.all(I).then((E)=>{return l9(E,N,_,D)})}});ZW=B("$ZodXor",(_,$)=>{wD.init(_,$),$.inclusive=!1;let U=$.options.length===1?$.options[0]._zod.run:null;_._zod.parse=(N,D)=>{if(U)return U(N,D);let j=!1,I=[];for(let E of $.options){let J=E._zod.run({value:N.value,issues:[]},D);if(J instanceof Promise)I.push(J),j=!0;else I.push(J)}if(!j)return i9(I,N,_,D);return Promise.all(I).then((E)=>{return i9(E,N,_,D)})}}),HW=B("$ZodDiscriminatedUnion",(_,$)=>{$.inclusive=!1,wD.init(_,$);let U=_._zod.parse;U_(_._zod,"propValues",()=>{let D={};for(let j of $.options){let I=j._zod.propValues;if(!I||Object.keys(I).length===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(j)}"`);for(let[E,J]of Object.entries(I)){if(!D[E])D[E]=new Set;for(let W of J)D[E].add(W)}}return D});let N=t0(()=>{let D=$.options,j=new Map;for(let I of D){let E=I._zod.propValues?.[$.discriminator];if(!E||E.size===0)throw Error(`Invalid discriminated union option at index "${$.options.indexOf(I)}"`);for(let J of E){if(j.has(J))throw Error(`Duplicate discriminator value "${String(J)}"`);j.set(J,I)}}return j});_._zod.parse=(D,j)=>{let I=D.value;if(!b4(I))return D.issues.push({code:"invalid_type",expected:"object",input:I,inst:_}),D;let E=N.value.get(I?.[$.discriminator]);if(E)return E._zod.run(D,j);if($.unionFallback||j.direction==="backward")return U(D,j);return D.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:$.discriminator,options:Array.from(N.value.keys()),input:I,path:[$.discriminator],inst:_}),D}}),qW=B("$ZodIntersection",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value,j=$.left._zod.run({value:D,issues:[]},N),I=$.right._zod.run({value:D,issues:[]},N);if(j instanceof Promise||I instanceof Promise)return Promise.all([j,I]).then(([J,W])=>{return t9(U,J,W)});return t9(U,j,I)}});Vj=B("$ZodTuple",(_,$)=>{p.init(_,$);let U=$.items;_._zod.parse=(N,D)=>{let j=N.value;if(!Array.isArray(j))return N.issues.push({input:j,inst:_,expected:"tuple",code:"invalid_type"}),N;N.value=[];let I=[],E=o9(U,"optin"),J=o9(U,"optout");if(!$.rest){if(j.lengthU.length)N.issues.push({code:"too_big",maximum:U.length,inclusive:!0,input:j,inst:_,origin:"array"})}let W=Array(U.length);for(let S=0;S{W[S]=X}));else W[S]=L}if($.rest){let S=U.length-1,L=j.slice(U.length);for(let X of L){S++;let z=$.rest._zod.run({value:X,issues:[]},D);if(z instanceof Promise)I.push(z.then((Y)=>p9(Y,N,S)));else p9(z,N,S)}}if(I.length)return Promise.all(I).then(()=>a9(W,N,U,j,J));return a9(W,N,U,j,J)}});kW=B("$ZodRecord",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(!i6(D))return U.issues.push({expected:"record",code:"invalid_type",input:D,inst:_}),U;let j=[],I=$.keyType._zod.values;if(I){U.value={};let E=new Set;for(let W of I)if(typeof W==="string"||typeof W==="number"||typeof W==="symbol"){E.add(typeof W==="number"?W.toString():W);let S=$.keyType._zod.run({value:W,issues:[]},N);if(S instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(S.issues.length){U.issues.push({code:"invalid_key",origin:"record",issues:S.issues.map((z)=>_$(z,N,C_())),input:W,path:[W],inst:_});continue}let L=S.value,X=$.valueType._zod.run({value:D[W],issues:[]},N);if(X instanceof Promise)j.push(X.then((z)=>{if(z.issues.length)U.issues.push(...E$(W,z.issues));U.value[L]=z.value}));else{if(X.issues.length)U.issues.push(...E$(W,X.issues));U.value[L]=X.value}}let J;for(let W in D)if(!E.has(W))J=J??[],J.push(W);if(J&&J.length>0)U.issues.push({code:"unrecognized_keys",input:D,inst:_,keys:J})}else{U.value={};for(let E of Reflect.ownKeys(D)){if(E==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(D,E))continue;let J=$.keyType._zod.run({value:E,issues:[]},N);if(J instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof E==="string"&&qD.test(E)&&J.issues.length){let L=$.keyType._zod.run({value:Number(E),issues:[]},N);if(L instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(L.issues.length===0)J=L}if(J.issues.length){if($.mode==="loose")U.value[E]=D[E];else U.issues.push({code:"invalid_key",origin:"record",issues:J.issues.map((L)=>_$(L,N,C_())),input:E,path:[E],inst:_});continue}let S=$.valueType._zod.run({value:D[E],issues:[]},N);if(S instanceof Promise)j.push(S.then((L)=>{if(L.issues.length)U.issues.push(...E$(E,L.issues));U.value[J.value]=L.value}));else{if(S.issues.length)U.issues.push(...E$(E,S.issues));U.value[J.value]=S.value}}}if(j.length)return Promise.all(j).then(()=>U);return U}}),bW=B("$ZodMap",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(!(D instanceof Map))return U.issues.push({expected:"map",code:"invalid_type",input:D,inst:_}),U;let j=[];U.value=new Map;for(let[I,E]of D){let J=$.keyType._zod.run({value:I,issues:[]},N),W=$.valueType._zod.run({value:E,issues:[]},N);if(J instanceof Promise||W instanceof Promise)j.push(Promise.all([J,W]).then(([S,L])=>{e9(S,L,U,I,D,_,N)}));else e9(J,W,U,I,D,_,N)}if(j.length)return Promise.all(j).then(()=>U);return U}});CW=B("$ZodSet",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(!(D instanceof Set))return U.issues.push({input:D,inst:_,expected:"set",code:"invalid_type"}),U;let j=[];U.value=new Set;for(let I of D){let E=$.valueType._zod.run({value:I,issues:[]},N);if(E instanceof Promise)j.push(E.then((J)=>s9(J,U)));else s9(E,U)}if(j.length)return Promise.all(j).then(()=>U);return U}});wW=B("$ZodEnum",(_,$)=>{p.init(_,$);let U=FD($.entries),N=new Set(U);_._zod.values=N,_._zod.pattern=new RegExp(`^(${U.filter((D)=>MD.has(typeof D)).map((D)=>typeof D==="string"?K$(D):D.toString()).join("|")})$`),_._zod.parse=(D,j)=>{let I=D.value;if(N.has(I))return D;return D.issues.push({code:"invalid_value",values:U,input:I,inst:_}),D}}),vW=B("$ZodLiteral",(_,$)=>{if(p.init(_,$),$.values.length===0)throw Error("Cannot create literal schema with no valid values");let U=new Set($.values);_._zod.values=U,_._zod.pattern=new RegExp(`^(${$.values.map((N)=>typeof N==="string"?K$(N):N?K$(N.toString()):String(N)).join("|")})$`),_._zod.parse=(N,D)=>{let j=N.value;if(U.has(j))return N;return N.issues.push({code:"invalid_value",values:$.values,input:j,inst:_}),N}}),fW=B("$ZodFile",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{let D=U.value;if(D instanceof File)return U;return U.issues.push({expected:"file",code:"invalid_type",input:D,inst:_}),U}}),xW=B("$ZodTransform",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new q4(_.constructor.name);let D=$.transform(U.value,U);if(N.async)return(D instanceof Promise?D:Promise.resolve(D)).then((I)=>{return U.value=I,U.fallback=!0,U});if(D instanceof Promise)throw new _6;return U.value=D,U.fallback=!0,U}});Fj=B("$ZodOptional",(_,$)=>{p.init(_,$),_._zod.optin="optional",_._zod.optout="optional",U_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,void 0]):void 0}),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${KD(U.source)})?$`):void 0}),_._zod.parse=(U,N)=>{if($.innerType._zod.optin==="optional"){let D=U.value,j=$.innerType._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>_8(I,D));return _8(j,D)}if(U.value===void 0)return U;return $.innerType._zod.run(U,N)}}),yW=B("$ZodExactOptional",(_,$)=>{Fj.init(_,$),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"pattern",()=>$.innerType._zod.pattern),_._zod.parse=(U,N)=>{return $.innerType._zod.run(U,N)}}),uW=B("$ZodNullable",(_,$)=>{p.init(_,$),U_(_._zod,"optin",()=>$.innerType._zod.optin),U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._zod,"pattern",()=>{let U=$.innerType._zod.pattern;return U?new RegExp(`^(${KD(U.source)}|null)$`):void 0}),U_(_._zod,"values",()=>{return $.innerType._zod.values?new Set([...$.innerType._zod.values,null]):void 0}),_._zod.parse=(U,N)=>{if(U.value===null)return U;return $.innerType._zod.run(U,N)}}),hW=B("$ZodDefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);if(U.value===void 0)return U.value=$.defaultValue,U;let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>$8(j,$));return $8(D,$)}});rW=B("$ZodPrefault",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);if(U.value===void 0)U.value=$.defaultValue;return $.innerType._zod.run(U,N)}}),cW=B("$ZodNonOptional",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>{let U=$.innerType._zod.values;return U?new Set([...U].filter((N)=>N!==void 0)):void 0}),_._zod.parse=(U,N)=>{let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>U8(j,_));return U8(D,_)}});mW=B("$ZodSuccess",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new q4("ZodSuccess");let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>{return U.value=j.issues.length===0,U});return U.value=D.issues.length===0,U}}),nW=B("$ZodCatch",(_,$)=>{p.init(_,$),_._zod.optin="optional",U_(_._zod,"optout",()=>$.innerType._zod.optout),U_(_._zod,"values",()=>$.innerType._zod.values),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>{if(U.value=j.value,j.issues.length)U.value=$.catchValue({...U,error:{issues:j.issues.map((I)=>_$(I,N,C_()))},input:U.value}),U.issues=[],U.fallback=!0;return U});if(U.value=D.value,D.issues.length)U.value=$.catchValue({...U,error:{issues:D.issues.map((j)=>_$(j,N,C_()))},input:U.value}),U.issues=[],U.fallback=!0;return U}}),dW=B("$ZodNaN",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{if(typeof U.value!=="number"||!Number.isNaN(U.value))return U.issues.push({input:U.value,inst:_,expected:"nan",code:"invalid_type"}),U;return U}}),Kj=B("$ZodPipe",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,N)=>{if(N.direction==="backward"){let j=$.out._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>Rj(I,$.in,N));return Rj(j,$.in,N)}let D=$.in._zod.run(U,N);if(D instanceof Promise)return D.then((j)=>Rj(j,$.out,N));return Rj(D,$.out,N)}});vD=B("$ZodCodec",(_,$)=>{p.init(_,$),U_(_._zod,"values",()=>$.in._zod.values),U_(_._zod,"optin",()=>$.in._zod.optin),U_(_._zod,"optout",()=>$.out._zod.optout),U_(_._zod,"propValues",()=>$.in._zod.propValues),_._zod.parse=(U,N)=>{if((N.direction||"forward")==="forward"){let j=$.in._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>Yj(I,$,N));return Yj(j,$,N)}else{let j=$.out._zod.run(U,N);if(j instanceof Promise)return j.then((I)=>Yj(I,$,N));return Yj(j,$,N)}}});lW=B("$ZodPreprocess",(_,$)=>{Kj.init(_,$)}),iW=B("$ZodReadonly",(_,$)=>{p.init(_,$),U_(_._zod,"propValues",()=>$.innerType._zod.propValues),U_(_._zod,"values",()=>$.innerType._zod.values),U_(_._zod,"optin",()=>$.innerType?._zod?.optin),U_(_._zod,"optout",()=>$.innerType?._zod?.optout),_._zod.parse=(U,N)=>{if(N.direction==="backward")return $.innerType._zod.run(U,N);let D=$.innerType._zod.run(U,N);if(D instanceof Promise)return D.then(D8);return D8(D)}});tW=B("$ZodTemplateLiteral",(_,$)=>{p.init(_,$);let U=[];for(let N of $.parts)if(typeof N==="object"&&N!==null){if(!N._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...N._zod.traits].shift()}`);let D=N._zod.pattern instanceof RegExp?N._zod.pattern.source:N._zod.pattern;if(!D)throw Error(`Invalid template literal part: ${N._zod.traits}`);let j=D.startsWith("^")?1:0,I=D.endsWith("$")?D.length-1:D.length;U.push(D.slice(j,I))}else if(N===null||uA.has(typeof N))U.push(K$(`${N}`));else throw Error(`Invalid template literal part: ${N}`);_._zod.pattern=new RegExp(`^${U.join("")}$`),_._zod.parse=(N,D)=>{if(typeof N.value!=="string")return N.issues.push({input:N.value,inst:_,expected:"string",code:"invalid_type"}),N;if(_._zod.pattern.lastIndex=0,!_._zod.pattern.test(N.value))return N.issues.push({input:N.value,inst:_,code:"invalid_format",format:$.format??"template_literal",pattern:_._zod.pattern.source}),N;return N}}),oW=B("$ZodFunction",(_,$)=>{return p.init(_,$),_._def=$,_._zod.def=$,_.implement=(U)=>{if(typeof U!=="function")throw Error("implement() must be called with a function");return function(...N){let D=_._def.input?$j(_._def.input,N):N,j=Reflect.apply(U,this,D);if(_._def.output)return $j(_._def.output,j);return j}},_.implementAsync=(U)=>{if(typeof U!=="function")throw Error("implementAsync() must be called with a function");return async function(...N){let D=_._def.input?await Uj(_._def.input,N):N,j=await Reflect.apply(U,this,D);if(_._def.output)return await Uj(_._def.output,j);return j}},_._zod.parse=(U,N)=>{if(typeof U.value!=="function")return U.issues.push({code:"invalid_type",expected:"function",input:U.value,inst:_}),U;if(_._def.output&&_._def.output._zod.def.type==="promise")U.value=_.implementAsync(U.value);else U.value=_.implement(U.value);return U},_.input=(...U)=>{let N=_.constructor;if(Array.isArray(U[0]))return new N({type:"function",input:new Vj({type:"tuple",items:U[0],rest:U[1]}),output:_._def.output});return new N({type:"function",input:U[0],output:_._def.output})},_.output=(U)=>{return new _.constructor({type:"function",input:_._def.input,output:U})},_}),pW=B("$ZodPromise",(_,$)=>{p.init(_,$),_._zod.parse=(U,N)=>{return Promise.resolve(U.value).then((D)=>$.innerType._zod.run({value:D,issues:[]},N))}}),aW=B("$ZodLazy",(_,$)=>{p.init(_,$),U_(_._zod,"innerType",()=>{let U=$;if(!U._cachedInner)U._cachedInner=$.getter();return U._cachedInner}),U_(_._zod,"pattern",()=>_._zod.innerType?._zod?.pattern),U_(_._zod,"propValues",()=>_._zod.innerType?._zod?.propValues),U_(_._zod,"optin",()=>_._zod.innerType?._zod?.optin??void 0),U_(_._zod,"optout",()=>_._zod.innerType?._zod?.optout??void 0),_._zod.parse=(U,N)=>{return _._zod.innerType._zod.run(U,N)}}),eW=B("$ZodCustom",(_,$)=>{V_.init(_,$),p.init(_,$),_._zod.parse=(U,N)=>{return U},_._zod.check=(U)=>{let N=U.value,D=$.fn(N);if(D instanceof Promise)return D.then((j)=>N8(j,U,N,_));N8(D,U,N,_);return}})});function _S(){return{localeError:NZ()}}var NZ=()=>{let _={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function $(D){return _[D]??null}let U={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${D.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${E}`;return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${j}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${E}`}case"invalid_value":if(D.values.length===1)return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${g(D.values[0])}`;return`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${j} ${D.maximum.toString()} ${I.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${D.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${D.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${j} ${D.minimum.toString()} ${I.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${D.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${D.prefix}"`;if(j.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${j.suffix}"`;if(j.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${j.includes}"`;if(j.format==="regex")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${j.pattern}`;return`${U[j.format]??D.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${D.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${D.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${D.keys.length>1?"\u0629":""}: ${K(D.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${D.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var W8=f(()=>{m()});function $S(){return{localeError:jZ()}}var jZ=()=>{let _={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function $(D){return _[D]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${D.expected}, daxil olan ${E}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${j}, daxil olan ${E}`}case"invalid_value":if(D.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${g(D.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${j}${D.maximum.toString()} ${I.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${D.origin??"d\u0259y\u0259r"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${j}${D.minimum.toString()} ${I.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${j.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(j.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${j.suffix}" il\u0259 bitm\u0259lidir`;if(j.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${j.includes}" daxil olmal\u0131d\u0131r`;if(j.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${j.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${U[j.format]??D.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${D.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${D.keys.length>1?"lar":""}: ${K(D.keys,", ")}`;case"invalid_key":return`${D.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${D.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var S8=f(()=>{m()});function L8(_,$,U,N){let D=Math.abs(_),j=D%10,I=D%100;if(I>=11&&I<=19)return N;if(j===1)return $;if(j>=2&&j<=4)return U;return N}function US(){return{localeError:IZ()}}var IZ=()=>{let _={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function $(D){return _[D]??null}let U={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},N={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${D.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${E}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${j}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${E}`}case"invalid_value":if(D.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${g(D.values[0])}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I){let E=Number(D.maximum),J=L8(E,I.unit.one,I.unit.few,I.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${I.verb} ${j}${D.maximum.toString()} ${J}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${D.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I){let E=Number(D.minimum),J=L8(E,I.unit.one,I.unit.few,I.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${I.verb} ${j}${D.minimum.toString()} ${J}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${D.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${j.prefix}"`;if(j.format==="ends_with")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${j.suffix}"`;if(j.format==="includes")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${j.includes}"`;if(j.format==="regex")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${j.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${U[j.format]??D.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${D.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${K(D.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${D.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var P8=f(()=>{m()});function DS(){return{localeError:EZ()}}var EZ=()=>{let _={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function $(D){return _[D]??null}let U={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},N={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${D.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${E}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${j}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${E}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${g(D.values[0])}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${j}${D.maximum.toString()} ${I.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${j}${D.minimum.toString()} ${I.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${D.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${j.prefix}"`;if(j.format==="ends_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${j.suffix}"`;if(j.format==="includes")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${j.includes}"`;if(j.format==="regex")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${j.pattern}`;let I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(j.format==="emoji")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="datetime")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="date")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(j.format==="time")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(j.format==="duration")I="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${I} ${U[j.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${D.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u043E\u0432\u0435":""}: ${K(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var O8=f(()=>{m()});function NS(){return{localeError:AZ()}}var AZ=()=>{let _={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function $(D){return _[D]??null}let U={regex:"entrada",email:"adre\xE7a electr\xF2nica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adre\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${D.expected}, s'ha rebut ${E}`;return`Tipus inv\xE0lid: s'esperava ${j}, s'ha rebut ${E}`}case"invalid_value":if(D.values.length===1)return`Valor inv\xE0lid: s'esperava ${g(D.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${K(D.values," o ")}`;case"too_big":{let j=D.inclusive?"com a m\xE0xim":"menys de",I=$(D.origin);if(I)return`Massa gran: s'esperava que ${D.origin??"el valor"} contingu\xE9s ${j} ${D.maximum.toString()} ${I.unit??"elements"}`;return`Massa gran: s'esperava que ${D.origin??"el valor"} fos ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"com a m\xEDnim":"m\xE9s de",I=$(D.origin);if(I)return`Massa petit: s'esperava que ${D.origin} contingu\xE9s ${j} ${D.minimum.toString()} ${I.unit}`;return`Massa petit: s'esperava que ${D.origin} fos ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${j.prefix}"`;if(j.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${j.suffix}"`;if(j.format==="includes")return`Format inv\xE0lid: ha d'incloure "${j.includes}"`;if(j.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${j.pattern}`;return`Format inv\xE0lid per a ${U[j.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${D.divisor}`;case"unrecognized_keys":return`Clau${D.keys.length>1?"s":""} no reconeguda${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${D.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${D.origin}`;default:return"Entrada inv\xE0lida"}}};var z8=f(()=>{m()});function jS(){return{localeError:JZ()}}var JZ=()=>{let _={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function $(D){return _[D]??null}let U={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},N={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${D.expected}, obdr\u017Eeno ${E}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${j}, obdr\u017Eeno ${E}`}case"invalid_value":if(D.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${g(D.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${j}${D.maximum.toString()} ${I.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED m\xEDt ${j}${D.minimum.toString()} ${I.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${D.origin??"hodnota"} mus\xED b\xFDt ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${j.prefix}"`;if(j.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${j.suffix}"`;if(j.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${j.includes}"`;if(j.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${j.pattern}`;return`Neplatn\xFD form\xE1t ${U[j.format]??D.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${D.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${K(D.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${D.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${D.origin}`;default:return"Neplatn\xFD vstup"}}};var X8=f(()=>{m()});function IS(){return{localeError:WZ()}}var WZ=()=>{let _={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function $(D){return _[D]??null}let U={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkesl\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},N={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ugyldigt input: forventede instanceof ${D.expected}, fik ${E}`;return`Ugyldigt input: forventede ${j}, fik ${E}`}case"invalid_value":if(D.values.length===1)return`Ugyldig v\xE6rdi: forventede ${g(D.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`For stor: forventede ${E??"value"} ${I.verb} ${j} ${D.maximum.toString()} ${I.unit??"elementer"}`;return`For stor: forventede ${E??"value"} havde ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`For lille: forventede ${E} ${I.verb} ${j} ${D.minimum.toString()} ${I.unit}`;return`For lille: forventede ${E} havde ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ugyldig streng: skal starte med "${j.prefix}"`;if(j.format==="ends_with")return`Ugyldig streng: skal ende med "${j.suffix}"`;if(j.format==="includes")return`Ugyldig streng: skal indeholde "${j.includes}"`;if(j.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${j.pattern}`;return`Ugyldig ${U[j.format]??D.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${K(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${D.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${D.origin}`;default:return"Ugyldigt input"}}};var R8=f(()=>{m()});function ES(){return{localeError:SZ()}}var SZ=()=>{let _={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function $(D){return _[D]??null}let U={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},N={nan:"NaN",number:"Zahl",array:"Array"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${D.expected}, erhalten ${E}`;return`Ung\xFCltige Eingabe: erwartet ${j}, erhalten ${E}`}case"invalid_value":if(D.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${g(D.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${j}${D.maximum.toString()} ${I.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${D.origin??"Wert"} ${j}${D.maximum.toString()} ist`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Zu klein: erwartet, dass ${D.origin} ${j}${D.minimum.toString()} ${I.unit} hat`;return`Zu klein: erwartet, dass ${D.origin} ${j}${D.minimum.toString()} ist`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ung\xFCltiger String: muss mit "${j.prefix}" beginnen`;if(j.format==="ends_with")return`Ung\xFCltiger String: muss mit "${j.suffix}" enden`;if(j.format==="includes")return`Ung\xFCltiger String: muss "${j.includes}" enthalten`;if(j.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${j.pattern} entsprechen`;return`Ung\xFCltig: ${U[j.format]??D.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${D.divisor} sein`;case"unrecognized_keys":return`${D.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${K(D.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${D.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${D.origin}`;default:return"Ung\xFCltige Eingabe"}}};var Y8=f(()=>{m()});function AS(){return{localeError:LZ()}}var LZ=()=>{let _={string:{unit:"\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},file:{unit:"bytes",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},array:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},set:{unit:"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"},map:{unit:"\u03BA\u03B1\u03C4\u03B1\u03C7\u03C9\u03C1\u03AE\u03C3\u03B5\u03B9\u03C2",verb:"\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9"}};function $(D){return _[D]??null}let U={regex:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2",email:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1 \u03BA\u03B1\u03B9 \u03CE\u03C1\u03B1",date:"ISO \u03B7\u03BC\u03B5\u03C1\u03BF\u03BC\u03B7\u03BD\u03AF\u03B1",time:"ISO \u03CE\u03C1\u03B1",duration:"ISO \u03B4\u03B9\u03AC\u03C1\u03BA\u03B5\u03B9\u03B1",ipv4:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv4",ipv6:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 IPv6",mac:"\u03B4\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7 MAC",cidrv4:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv4",cidrv6:"\u03B5\u03CD\u03C1\u03BF\u03C2 IPv6",base64:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64",base64url:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC \u03BA\u03C9\u03B4\u03B9\u03BA\u03BF\u03C0\u03BF\u03B9\u03B7\u03BC\u03AD\u03BD\u03B7 \u03C3\u03B5 base64url",json_string:"\u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC JSON",e164:"\u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2 E.164",jwt:"JWT",template_literal:"\u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(typeof D.expected==="string"&&/^[A-Z]/.test(D.expected))return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD instanceof ${D.expected}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${E}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${j}, \u03BB\u03AE\u03C6\u03B8\u03B7\u03BA\u03B5 ${E}`}case"invalid_value":if(D.values.length===1)return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${g(D.values[0])}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD \u03AD\u03BD\u03B1 \u03B1\u03C0\u03CC ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${j}${D.maximum.toString()} ${I.unit??"\u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1"}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B5\u03B3\u03AC\u03BB\u03BF: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin??"\u03C4\u03B9\u03BC\u03AE"} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin} \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 ${j}${D.minimum.toString()} ${I.unit}`;return`\u03A0\u03BF\u03BB\u03CD \u03BC\u03B9\u03BA\u03C1\u03CC: \u03B1\u03BD\u03B1\u03BC\u03B5\u03BD\u03CC\u03C4\u03B1\u03BD ${D.origin} \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03BE\u03B5\u03BA\u03B9\u03BD\u03AC \u03BC\u03B5 "${j.prefix}"`;if(j.format==="ends_with")return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B5\u03BB\u03B5\u03B9\u03CE\u03BD\u03B5\u03B9 \u03BC\u03B5 "${j.suffix}"`;if(j.format==="includes")return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C0\u03B5\u03C1\u03B9\u03AD\u03C7\u03B5\u03B9 "${j.includes}"`;if(j.format==="regex")return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C3\u03C5\u03BC\u03B2\u03BF\u03BB\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03C4\u03B1\u03B9\u03C1\u03B9\u03AC\u03B6\u03B5\u03B9 \u03BC\u03B5 \u03C4\u03BF \u03BC\u03BF\u03C4\u03AF\u03B2\u03BF ${j.pattern}`;return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF: ${U[j.format]??D.format}`}case"not_multiple_of":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF\u03C2 \u03B1\u03C1\u03B9\u03B8\u03BC\u03CC\u03C2: \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03C0\u03BF\u03BB\u03BB\u03B1\u03C0\u03BB\u03AC\u03C3\u03B9\u03BF \u03C4\u03BF\u03C5 ${D.divisor}`;case"unrecognized_keys":return`\u0386\u03B3\u03BD\u03C9\u03C3\u03C4${D.keys.length>1?"\u03B1":"\u03BF"} \u03BA\u03BB\u03B5\u03B9\u03B4${D.keys.length>1?"\u03B9\u03AC":"\u03AF"}: ${K(D.keys,", ")}`;case"invalid_key":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03BF \u03BA\u03BB\u03B5\u03B9\u03B4\u03AF \u03C3\u03C4\u03BF ${D.origin}`;case"invalid_union":return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2";case"invalid_element":return`\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03C4\u03B9\u03BC\u03AE \u03C3\u03C4\u03BF ${D.origin}`;default:return"\u039C\u03B7 \u03AD\u03B3\u03BA\u03C5\u03C1\u03B7 \u03B5\u03AF\u03C3\u03BF\u03B4\u03BF\u03C2"}}};var Q8=f(()=>{m()});function fD(){return{localeError:PZ()}}var PZ=()=>{let _={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function $(D){return _[D]??null}let U={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;return`Invalid input: expected ${j}, received ${E}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${g(D.values[0])}`;return`Invalid option: expected one of ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Too big: expected ${D.origin??"value"} to have ${j}${D.maximum.toString()} ${I.unit??"elements"}`;return`Too big: expected ${D.origin??"value"} to be ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Too small: expected ${D.origin} to have ${j}${D.minimum.toString()} ${I.unit}`;return`Too small: expected ${D.origin} to be ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Invalid string: must start with "${j.prefix}"`;if(j.format==="ends_with")return`Invalid string: must end with "${j.suffix}"`;if(j.format==="includes")return`Invalid string: must include "${j.includes}"`;if(j.format==="regex")return`Invalid string: must match pattern ${j.pattern}`;return`Invalid ${U[j.format]??D.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${D.divisor}`;case"unrecognized_keys":return`Unrecognized key${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Invalid key in ${D.origin}`;case"invalid_union":if(D.options&&Array.isArray(D.options)&&D.options.length>0)return`Invalid discriminator value. Expected ${D.options.map((I)=>`'${I}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${D.origin}`;default:return"Invalid input"}}};var JS=f(()=>{m()});function WS(){return{localeError:OZ()}}var OZ=()=>{let _={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function $(D){return _[D]??null}let U={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-da\u016Dro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},N={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${D.expected}, ricevi\u011Dis ${E}`;return`Nevalida enigo: atendi\u011Dis ${j}, ricevi\u011Dis ${E}`}case"invalid_value":if(D.values.length===1)return`Nevalida enigo: atendi\u011Dis ${g(D.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${j}${D.maximum.toString()} ${I.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${D.origin??"valoro"} havu ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Tro malgranda: atendi\u011Dis ke ${D.origin} havu ${j}${D.minimum.toString()} ${I.unit}`;return`Tro malgranda: atendi\u011Dis ke ${D.origin} estu ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${j.prefix}"`;if(j.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${j.suffix}"`;if(j.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${j.includes}"`;if(j.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${j.pattern}`;return`Nevalida ${U[j.format]??D.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${D.divisor}`;case"unrecognized_keys":return`Nekonata${D.keys.length>1?"j":""} \u015Dlosilo${D.keys.length>1?"j":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${D.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${D.origin}`;default:return"Nevalida enigo"}}};var G8=f(()=>{m()});function SS(){return{localeError:zZ()}}var zZ=()=>{let _={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function $(D){return _[D]??null}let U={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duraci\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},N={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${D.expected}, recibido ${E}`;return`Entrada inv\xE1lida: se esperaba ${j}, recibido ${E}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: se esperaba ${g(D.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Demasiado grande: se esperaba que ${E??"valor"} tuviera ${j}${D.maximum.toString()} ${I.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${E??"valor"} fuera ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Demasiado peque\xF1o: se esperaba que ${E} tuviera ${j}${D.minimum.toString()} ${I.unit}`;return`Demasiado peque\xF1o: se esperaba que ${E} fuera ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${j.prefix}"`;if(j.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${j.suffix}"`;if(j.format==="includes")return`Cadena inv\xE1lida: debe incluir "${j.includes}"`;if(j.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${j.pattern}`;return`Inv\xE1lido ${U[j.format]??D.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Llave${D.keys.length>1?"s":""} desconocida${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${N[D.origin]??D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${N[D.origin]??D.origin}`;default:return"Entrada inv\xE1lida"}}};var T8=f(()=>{m()});function LS(){return{localeError:XZ()}}var XZ=()=>{let _={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function $(D){return _[D]??null}let U={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},N={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${D.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${E} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${j} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${E} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(D.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${g(D.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;return`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${K(D.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} ${I.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${D.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} ${I.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${j.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(j.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${j.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(j.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${j.includes}" \u0628\u0627\u0634\u062F`;if(j.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${j.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${U[j.format]??D.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${D.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${D.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${K(D.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${D.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${D.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var B8=f(()=>{m()});function PS(){return{localeError:RZ()}}var RZ=()=>{let _={string:{unit:"merkki\xE4",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"p\xE4iv\xE4m\xE4\xE4r\xE4n"}};function $(D){return _[D]??null}let U={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-p\xE4iv\xE4m\xE4\xE4r\xE4",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Virheellinen tyyppi: odotettiin instanceof ${D.expected}, oli ${E}`;return`Virheellinen tyyppi: odotettiin ${j}, oli ${E}`}case"invalid_value":if(D.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${g(D.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Liian suuri: ${I.subject} t\xE4ytyy olla ${j}${D.maximum.toString()} ${I.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Liian pieni: ${I.subject} t\xE4ytyy olla ${j}${D.minimum.toString()} ${I.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${j.prefix}"`;if(j.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${j.suffix}"`;if(j.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${j.includes}"`;if(j.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${j.pattern}`;return`Virheellinen ${U[j.format]??D.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${D.divisor} monikerta`;case"unrecognized_keys":return`${D.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${K(D.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen sy\xF6te"}}};var V8=f(()=>{m()});function OS(){return{localeError:YZ()}}var YZ=()=>{let _={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function $(D){return _[D]??null}let U={regex:"entr\xE9e",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},N={string:"cha\xEEne",number:"nombre",int:"entier",boolean:"bool\xE9en",bigint:"grand entier",symbol:"symbole",undefined:"ind\xE9fini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : instanceof ${D.expected} attendu, ${E} re\xE7u`;return`Entr\xE9e invalide : ${j} attendu, ${E} re\xE7u`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : ${g(D.values[0])} attendu`;return`Option invalide : une valeur parmi ${K(D.values,"|")} attendue`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Trop grand : ${N[D.origin]??"valeur"} doit ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${N[D.origin]??"valeur"} doit \xEAtre ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Trop petit : ${N[D.origin]??"valeur"} doit ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`Trop petit : ${N[D.origin]??"valeur"} doit \xEAtre ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${j.prefix}"`;if(j.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${j.suffix}"`;if(j.format==="includes")return`Cha\xEEne invalide : doit inclure "${j.includes}"`;if(j.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${j.pattern}`;return`${U[j.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${K(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var F8=f(()=>{m()});function zS(){return{localeError:QZ()}}var QZ=()=>{let _={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function $(D){return _[D]??null}let U={regex:"entr\xE9e",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"dur\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Entr\xE9e invalide : attendu instanceof ${D.expected}, re\xE7u ${E}`;return`Entr\xE9e invalide : attendu ${j}, re\xE7u ${E}`}case"invalid_value":if(D.values.length===1)return`Entr\xE9e invalide : attendu ${g(D.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"\u2264":"<",I=$(D.origin);if(I)return`Trop grand : attendu que ${D.origin??"la valeur"} ait ${j}${D.maximum.toString()} ${I.unit}`;return`Trop grand : attendu que ${D.origin??"la valeur"} soit ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"\u2265":">",I=$(D.origin);if(I)return`Trop petit : attendu que ${D.origin} ait ${j}${D.minimum.toString()} ${I.unit}`;return`Trop petit : attendu que ${D.origin} soit ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${j.prefix}"`;if(j.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${j.suffix}"`;if(j.format==="includes")return`Cha\xEEne invalide : doit inclure "${j.includes}"`;if(j.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${j.pattern}`;return`${U[j.format]??D.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${D.divisor}`;case"unrecognized_keys":return`Cl\xE9${D.keys.length>1?"s":""} non reconnue${D.keys.length>1?"s":""} : ${K(D.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${D.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${D.origin}`;default:return"Entr\xE9e invalide"}}};var K8=f(()=>{m()});function XS(){return{localeError:GZ()}}var GZ=()=>{let _={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},$={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},U=(W)=>W?_[W]:void 0,N=(W)=>{let S=U(W);if(S)return S.label;return W??_.unknown.label},D=(W)=>`\u05D4${N(W)}`,j=(W)=>{return(U(W)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},I=(W)=>{if(!W)return null;return $[W]??null},E={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},base64url:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA",gender:"f"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},J={nan:"NaN"};return(W)=>{switch(W.code){case"invalid_type":{let S=W.expected,L=J[S??""]??N(S),X=Z(W.input),z=J[X]??_[X]?.label??X;if(/^[A-Z]/.test(W.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${W.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${L}, \u05D4\u05EA\u05E7\u05D1\u05DC ${z}`}case"invalid_value":{if(W.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${g(W.values[0])}`;let S=W.values.map((z)=>g(z));if(W.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 ${S[0]} \u05D0\u05D5 ${S[1]}`;let L=S[S.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 ${S.slice(0,-1).join(", ")} \u05D0\u05D5 ${L}`}case"too_big":{let S=I(W.origin),L=D(W.origin??"value");if(W.origin==="string")return`${S?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${W.maximum.toString()} ${S?.unit??""} ${W.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if(W.origin==="number"){let Y=W.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${W.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${W.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${Y}`}if(W.origin==="array"||W.origin==="set"){let Y=W.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",P=W.inclusive?`${W.maximum} ${S?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${W.maximum} ${S?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${L} ${Y} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=W.inclusive?"<=":"<",z=j(W.origin??"value");if(S?.unit)return`${S.longLabel} \u05DE\u05D3\u05D9: ${L} ${z} ${X}${W.maximum.toString()} ${S.unit}`;return`${S?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${L} ${z} ${X}${W.maximum.toString()}`}case"too_small":{let S=I(W.origin),L=D(W.origin??"value");if(W.origin==="string")return`${S?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${W.minimum.toString()} ${S?.unit??""} ${W.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if(W.origin==="number"){let Y=W.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${W.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${W.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${L} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${Y}`}if(W.origin==="array"||W.origin==="set"){let Y=W.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if(W.minimum===1&&W.inclusive){let O=W.origin==="set"?"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3":"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${L} ${Y} \u05DC\u05D4\u05DB\u05D9\u05DC ${O}`}let P=W.inclusive?`${W.minimum} ${S?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${W.minimum} ${S?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${L} ${Y} \u05DC\u05D4\u05DB\u05D9\u05DC ${P}`.trim()}let X=W.inclusive?">=":">",z=j(W.origin??"value");if(S?.unit)return`${S.shortLabel} \u05DE\u05D3\u05D9: ${L} ${z} ${X}${W.minimum.toString()} ${S.unit}`;return`${S?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${L} ${z} ${X}${W.minimum.toString()}`}case"invalid_format":{let S=W;if(S.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${S.prefix}"`;if(S.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${S.suffix}"`;if(S.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${S.includes}"`;if(S.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 ${S.pattern}`;let L=E[S.format],X=L?.label??S.format,Y=(L?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${X} \u05DC\u05D0 ${Y}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${W.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${W.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${W.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${K(W.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(W.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var M8=f(()=>{m()});function RS(){return{localeError:TZ()}}var TZ=()=>{let _={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function $(D){return _[D]??null}let U={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},N={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Neispravan unos: o\u010Dekuje se instanceof ${D.expected}, a primljeno je ${E}`;return`Neispravan unos: o\u010Dekuje se ${j}, a primljeno je ${E}`}case"invalid_value":if(D.values.length===1)return`Neispravna vrijednost: o\u010Dekivano ${g(D.values[0])}`;return`Neispravna opcija: o\u010Dekivano jedno od ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Preveliko: o\u010Dekivano da ${E??"vrijednost"} ima ${j}${D.maximum.toString()} ${I.unit??"elemenata"}`;return`Preveliko: o\u010Dekivano da ${E??"vrijednost"} bude ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=N[D.origin]??D.origin;if(I)return`Premalo: o\u010Dekivano da ${E} ima ${j}${D.minimum.toString()} ${I.unit}`;return`Premalo: o\u010Dekivano da ${E} bude ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Neispravan tekst: mora zapo\u010Dinjati s "${j.prefix}"`;if(j.format==="ends_with")return`Neispravan tekst: mora zavr\u0161avati s "${j.suffix}"`;if(j.format==="includes")return`Neispravan tekst: mora sadr\u017Eavati "${j.includes}"`;if(j.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${j.pattern}`;return`Neispravna ${U[j.format]??D.format}`}case"not_multiple_of":return`Neispravan broj: mora biti vi\u0161ekratnik od ${D.divisor}`;case"unrecognized_keys":return`Neprepoznat${D.keys.length>1?"i klju\u010Devi":" klju\u010D"}: ${K(D.keys,", ")}`;case"invalid_key":return`Neispravan klju\u010D u ${N[D.origin]??D.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${N[D.origin]??D.origin}`;default:return"Neispravan unos"}}};var g8=f(()=>{m()});function YS(){return{localeError:BZ()}}var BZ=()=>{let _={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function $(D){return _[D]??null}let U={regex:"bemenet",email:"email c\xEDm",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO id\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},N={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${D.expected}, a kapott \xE9rt\xE9k ${E}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${j}, a kapott \xE9rt\xE9k ${E}`}case"invalid_value":if(D.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${g(D.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`T\xFAl nagy: ${D.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${j}${D.maximum.toString()} ${I.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${D.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} m\xE9rete t\xFAl kicsi ${j}${D.minimum.toString()} ${I.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${D.origin} t\xFAl kicsi ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\xC9rv\xE9nytelen string: "${j.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(j.format==="ends_with")return`\xC9rv\xE9nytelen string: "${j.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(j.format==="includes")return`\xC9rv\xE9nytelen string: "${j.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(j.format==="regex")return`\xC9rv\xE9nytelen string: ${j.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${U[j.format]??D.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${D.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${D.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${D.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var Z8=f(()=>{m()});function H8(_,$,U){return Math.abs(_)===1?$:U}function DU(_){if(!_)return"";let $=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],U=_[_.length-1];return _+($.includes(U)?"\u0576":"\u0568")}function QS(){return{localeError:VZ()}}var VZ=()=>{let _={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function $(D){return _[D]??null}let U={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},N={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${D.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${E}`;return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${j}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${E}`}case"invalid_value":if(D.values.length===1)return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${g(D.values[1])}`;return`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I){let E=Number(D.maximum),J=H8(E,I.unit.one,I.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${DU(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${j}${D.maximum.toString()} ${J}`}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 ${DU(D.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I){let E=Number(D.minimum),J=H8(E,I.unit.one,I.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${DU(D.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${j}${D.minimum.toString()} ${J}`}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 ${DU(D.origin)} \u056C\u056B\u0576\u056B ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${j.prefix}"-\u0578\u057E`;if(j.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${j.suffix}"-\u0578\u057E`;if(j.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${j.includes}"`;if(j.format==="regex")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${j.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${U[j.format]??D.format}`}case"not_multiple_of":return`\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${D.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${D.keys.length>1?"\u0576\u0565\u0580":""}. ${K(D.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${DU(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 ${DU(D.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var q8=f(()=>{m()});function GS(){return{localeError:FZ()}}var FZ=()=>{let _={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function $(D){return _[D]??null}let U={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Input tidak valid: diharapkan instanceof ${D.expected}, diterima ${E}`;return`Input tidak valid: diharapkan ${j}, diterima ${E}`}case"invalid_value":if(D.values.length===1)return`Input tidak valid: diharapkan ${g(D.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Terlalu besar: diharapkan ${D.origin??"value"} memiliki ${j}${D.maximum.toString()} ${I.unit??"elemen"}`;return`Terlalu besar: diharapkan ${D.origin??"value"} menjadi ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Terlalu kecil: diharapkan ${D.origin} memiliki ${j}${D.minimum.toString()} ${I.unit}`;return`Terlalu kecil: diharapkan ${D.origin} menjadi ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`String tidak valid: harus dimulai dengan "${j.prefix}"`;if(j.format==="ends_with")return`String tidak valid: harus berakhir dengan "${j.suffix}"`;if(j.format==="includes")return`String tidak valid: harus menyertakan "${j.includes}"`;if(j.format==="regex")return`String tidak valid: harus sesuai pola ${j.pattern}`;return`${U[j.format]??D.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${D.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${D.origin}`;default:return"Input tidak valid"}}};var k8=f(()=>{m()});function TS(){return{localeError:KZ()}}var KZ=()=>{let _={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function $(D){return _[D]??null}let U={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og t\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 t\xF6lugildi",jwt:"JWT",template_literal:"gildi"},N={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${E} \xFEar sem \xE1 a\xF0 vera instanceof ${D.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${E} \xFEar sem \xE1 a\xF0 vera ${j}`}case"invalid_value":if(D.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${g(D.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} hafi ${j}${D.maximum.toString()} ${I.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin??"gildi"} s\xE9 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} hafi ${j}${D.minimum.toString()} ${I.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${D.origin} s\xE9 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${j.prefix}"`;if(j.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${j.suffix}"`;if(j.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${j.includes}"`;if(j.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${j.pattern}`;return`Rangt ${U[j.format]??D.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${D.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${D.keys.length>1?"ir lyklar":"ur lykill"}: ${K(D.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${D.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${D.origin}`;default:return"Rangt gildi"}}};var b8=f(()=>{m()});function BS(){return{localeError:MZ()}}var MZ=()=>{let _={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function $(D){return _[D]??null}let U={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},N={nan:"NaN",number:"numero",array:"vettore"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Input non valido: atteso instanceof ${D.expected}, ricevuto ${E}`;return`Input non valido: atteso ${j}, ricevuto ${E}`}case"invalid_value":if(D.values.length===1)return`Input non valido: atteso ${g(D.values[0])}`;return`Opzione non valida: atteso uno tra ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Troppo grande: ${D.origin??"valore"} deve avere ${j}${D.maximum.toString()} ${I.unit??"elementi"}`;return`Troppo grande: ${D.origin??"valore"} deve essere ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Troppo piccolo: ${D.origin} deve avere ${j}${D.minimum.toString()} ${I.unit}`;return`Troppo piccolo: ${D.origin} deve essere ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Stringa non valida: deve iniziare con "${j.prefix}"`;if(j.format==="ends_with")return`Stringa non valida: deve terminare con "${j.suffix}"`;if(j.format==="includes")return`Stringa non valida: deve includere "${j.includes}"`;if(j.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${j.pattern}`;return`Input non valido: ${U[j.format]??D.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${D.divisor}`;case"unrecognized_keys":return`Chiav${D.keys.length>1?"i":"e"} non riconosciut${D.keys.length>1?"e":"a"}: ${K(D.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${D.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${D.origin}`;default:return"Input non valido"}}};var C8=f(()=>{m()});function VS(){return{localeError:gZ()}}var gZ=()=>{let _={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function $(D){return _[D]??null}let U={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},N={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${D.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${E}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${j}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${E}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(D.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${g(D.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${K(D.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let j=D.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",I=$(D.origin);if(I)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${I.unit??"\u8981\u7D20"}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${D.origin??"\u5024"}\u306F${D.maximum.toString()}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let j=D.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",I=$(D.origin);if(I)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${I.unit}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${D.origin}\u306F${D.minimum.toString()}${j}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${j.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(j.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${j.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(j.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${j.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(j.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${j.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${U[j.format]??D.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${D.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${D.keys.length>1?"\u7FA4":""}: ${K(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${D.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var w8=f(()=>{m()});function FS(){return{localeError:ZZ()}}var ZZ=()=>{let _={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function $(D){return _[D]??null}let U={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10D5\u10D4\u10DA\u10D8",json_string:"JSON \u10D5\u10D4\u10DA\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},N={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10D5\u10D4\u10DA\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${D.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${E}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${j}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${E}`}case"invalid_value":if(D.values.length===1)return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${g(D.values[0])}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${K(D.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${I.verb} ${j}${D.maximum.toString()} ${I.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${D.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${D.origin} \u10D8\u10E7\u10DD\u10E1 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${j.prefix}"-\u10D8\u10D7`;if(j.format==="ends_with")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${j.suffix}"-\u10D8\u10D7`;if(j.format==="includes")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${j.includes}"-\u10E1`;if(j.format==="regex")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D4\u10DA\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${j.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${D.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${D.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${K(D.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${D.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${D.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var v8=f(()=>{m()});function xD(){return{localeError:HZ()}}var HZ=()=>{let _={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function $(D){return _[D]??null}let U={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},N={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${D.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${E}`;return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${j} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${E}`}case"invalid_value":if(D.values.length===1)return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${g(D.values[0])}`;return`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${j} ${D.maximum.toString()} ${I.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${j} ${D.minimum.toString()} ${I.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${D.origin} ${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${j.prefix}"`;if(j.format==="ends_with")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${j.suffix}"`;if(j.format==="includes")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${j.includes}"`;if(j.format==="regex")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${j.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${D.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${K(D.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${D.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var KS=f(()=>{m()});function MS(){return xD()}var f8=f(()=>{KS()});function gS(){return{localeError:qZ()}}var qZ=()=>{let _={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function $(D){return _[D]??null}let U={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${D.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${E}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${j}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${E}\uC785\uB2C8\uB2E4`}case"invalid_value":if(D.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${g(D.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${K(D.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let j=D.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",I=j==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",E=$(D.origin),J=E?.unit??"\uC694\uC18C";if(E)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()}${J} ${j}${I}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${D.maximum.toString()} ${j}${I}`}case"too_small":{let j=D.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",I=j==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",E=$(D.origin),J=E?.unit??"\uC694\uC18C";if(E)return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()}${J} ${j}${I}`;return`${D.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${D.minimum.toString()} ${j}${I}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${j.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(j.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${j.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(j.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${j.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(j.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${j.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${U[j.format]??D.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${D.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${K(D.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${D.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${D.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var x8=f(()=>{m()});function y8(_){let $=Math.abs(_),U=$%10,N=$%100;if(N>=11&&N<=19||U===0)return"many";if(U===1)return"one";return"few"}function ZS(){return{localeError:kZ()}}var yD=(_)=>{return _.charAt(0).toUpperCase()+_.slice(1)},kZ=()=>{let _={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function $(D,j,I,E){let J=_[D]??null;if(J===null)return J;return{unit:J.unit[j],verb:J.verb[E][I?"inclusive":"notInclusive"]}}let U={regex:"\u012Fvestis",email:"el. pa\u0161to adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukm\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},N={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Gautas tipas ${E}, o tik\u0117tasi - instanceof ${D.expected}`;return`Gautas tipas ${E}, o tik\u0117tasi - ${j}`}case"invalid_value":if(D.values.length===1)return`Privalo b\u016Bti ${g(D.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${K(D.values,"|")} pasirinkim\u0173`;case"too_big":{let j=N[D.origin]??D.origin,I=$(D.origin,y8(Number(D.maximum)),D.inclusive??!1,"smaller");if(I?.verb)return`${yD(j??D.origin??"reik\u0161m\u0117")} ${I.verb} ${D.maximum.toString()} ${I.unit??"element\u0173"}`;let E=D.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${yD(j??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${E} ${D.maximum.toString()} ${I?.unit}`}case"too_small":{let j=N[D.origin]??D.origin,I=$(D.origin,y8(Number(D.minimum)),D.inclusive??!1,"bigger");if(I?.verb)return`${yD(j??D.origin??"reik\u0161m\u0117")} ${I.verb} ${D.minimum.toString()} ${I.unit??"element\u0173"}`;let E=D.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${yD(j??D.origin??"reik\u0161m\u0117")} turi b\u016Bti ${E} ${D.minimum.toString()} ${I?.unit}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${j.prefix}"`;if(j.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${j.suffix}"`;if(j.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${j.includes}"`;if(j.format==="regex")return`Eilut\u0117 privalo atitikti ${j.pattern}`;return`Neteisingas ${U[j.format]??D.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${D.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${D.keys.length>1?"i":"as"} rakt${D.keys.length>1?"ai":"as"}: ${K(D.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let j=N[D.origin]??D.origin;return`${yD(j??D.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var u8=f(()=>{m()});function HS(){return{localeError:bZ()}}var bZ=()=>{let _={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function $(D){return _[D]??null}let U={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},N={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${D.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${E}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${j}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${E}`}case"invalid_value":if(D.values.length===1)return`Invalid input: expected ${g(D.values[0])}`;return`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${j}${D.maximum.toString()} ${I.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin} \u0434\u0430 \u0438\u043C\u0430 ${j}${D.minimum.toString()} ${I.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${D.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${j.prefix}"`;if(j.format==="ends_with")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${j.suffix}"`;if(j.format==="includes")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${j.includes}"`;if(j.format==="regex")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${j.pattern}`;return`Invalid ${U[j.format]??D.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${K(D.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${D.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${D.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var h8=f(()=>{m()});function qS(){return{localeError:CZ()}}var CZ=()=>{let _={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function $(D){return _[D]??null}let U={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},N={nan:"NaN",number:"nombor"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Input tidak sah: dijangka instanceof ${D.expected}, diterima ${E}`;return`Input tidak sah: dijangka ${j}, diterima ${E}`}case"invalid_value":if(D.values.length===1)return`Input tidak sah: dijangka ${g(D.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Terlalu besar: dijangka ${D.origin??"nilai"} ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"elemen"}`;return`Terlalu besar: dijangka ${D.origin??"nilai"} adalah ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Terlalu kecil: dijangka ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`Terlalu kecil: dijangka ${D.origin} adalah ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`String tidak sah: mesti bermula dengan "${j.prefix}"`;if(j.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${j.suffix}"`;if(j.format==="includes")return`String tidak sah: mesti mengandungi "${j.includes}"`;if(j.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${j.pattern}`;return`${U[j.format]??D.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${D.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${K(D.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${D.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${D.origin}`;default:return"Input tidak sah"}}};var r8=f(()=>{m()});function kS(){return{localeError:wZ()}}var wZ=()=>{let _={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function $(D){return _[D]??null}let U={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},N={nan:"NaN",number:"getal"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ongeldige invoer: verwacht instanceof ${D.expected}, ontving ${E}`;return`Ongeldige invoer: verwacht ${j}, ontving ${E}`}case"invalid_value":if(D.values.length===1)return`Ongeldige invoer: verwacht ${g(D.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin),E=D.origin==="date"?"laat":D.origin==="string"?"lang":"groot";if(I)return`Te ${E}: verwacht dat ${D.origin??"waarde"} ${j}${D.maximum.toString()} ${I.unit??"elementen"} ${I.verb}`;return`Te ${E}: verwacht dat ${D.origin??"waarde"} ${j}${D.maximum.toString()} is`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin),E=D.origin==="date"?"vroeg":D.origin==="string"?"kort":"klein";if(I)return`Te ${E}: verwacht dat ${D.origin} ${j}${D.minimum.toString()} ${I.unit} ${I.verb}`;return`Te ${E}: verwacht dat ${D.origin} ${j}${D.minimum.toString()} is`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ongeldige tekst: moet met "${j.prefix}" beginnen`;if(j.format==="ends_with")return`Ongeldige tekst: moet op "${j.suffix}" eindigen`;if(j.format==="includes")return`Ongeldige tekst: moet "${j.includes}" bevatten`;if(j.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${j.pattern}`;return`Ongeldig: ${U[j.format]??D.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${D.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${D.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${D.origin}`;default:return"Ongeldige invoer"}}};var c8=f(()=>{m()});function bS(){return{localeError:vZ()}}var vZ=()=>{let _={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function $(D){return _[D]??null}let U={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},N={nan:"NaN",number:"tall",array:"liste"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ugyldig input: forventet instanceof ${D.expected}, fikk ${E}`;return`Ugyldig input: forventet ${j}, fikk ${E}`}case"invalid_value":if(D.values.length===1)return`Ugyldig verdi: forventet ${g(D.values[0])}`;return`Ugyldig valg: forventet en av ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${j}${D.maximum.toString()} ${I.unit??"elementer"}`;return`For stor(t): forventet ${D.origin??"value"} til \xE5 ha ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`For lite(n): forventet ${D.origin} til \xE5 ha ${j}${D.minimum.toString()} ${I.unit}`;return`For lite(n): forventet ${D.origin} til \xE5 ha ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${j.prefix}"`;if(j.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${j.suffix}"`;if(j.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${j.includes}"`;if(j.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${j.pattern}`;return`Ugyldig ${U[j.format]??D.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${K(D.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${D.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${D.origin}`;default:return"Ugyldig input"}}};var m8=f(()=>{m()});function CS(){return{localeError:fZ()}}var fZ=()=>{let _={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function $(D){return _[D]??null}let U={regex:"giren",email:"epostag\xE2h",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO heng\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},N={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`F\xE2sit giren: umulan instanceof ${D.expected}, al\u0131nan ${E}`;return`F\xE2sit giren: umulan ${j}, al\u0131nan ${E}`}case"invalid_value":if(D.values.length===1)return`F\xE2sit giren: umulan ${g(D.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${j}${D.maximum.toString()} ${I.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${D.origin??"value"}, ${j}${D.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${j}${D.minimum.toString()} ${I.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${D.origin}, ${j}${D.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`F\xE2sit metin: "${j.prefix}" ile ba\u015Flamal\u0131.`;if(j.format==="ends_with")return`F\xE2sit metin: "${j.suffix}" ile bitmeli.`;if(j.format==="includes")return`F\xE2sit metin: "${j.includes}" ihtiv\xE2 etmeli.`;if(j.format==="regex")return`F\xE2sit metin: ${j.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${U[j.format]??D.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${D.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${D.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var n8=f(()=>{m()});function wS(){return{localeError:xZ()}}var xZ=()=>{let _={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function $(D){return _[D]??null}let U={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},N={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${D.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${E} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${j} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${E} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(D.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${g(D.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${K(D.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} ${I.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${D.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${j}${D.maximum.toString()} \u0648\u064A`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} ${I.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${D.origin} \u0628\u0627\u06CC\u062F ${j}${D.minimum.toString()} \u0648\u064A`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${j.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(j.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${j.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(j.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${j.includes}" \u0648\u0644\u0631\u064A`;if(j.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${j.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${U[j.format]??D.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${D.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${D.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${K(D.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${D.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${D.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var d8=f(()=>{m()});function vS(){return{localeError:yZ()}}var yZ=()=>{let _={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function $(D){return _[D]??null}let U={regex:"wyra\u017Cenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ci\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},N={nan:"NaN",number:"liczba",array:"tablica"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${D.expected}, otrzymano ${E}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${j}, otrzymano ${E}`}case"invalid_value":if(D.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${g(D.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${j}${D.maximum.toString()} ${I.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${j}${D.minimum.toString()} ${I.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${D.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${j.prefix}"`;if(j.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${j.suffix}"`;if(j.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${j.includes}"`;if(j.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${j.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${U[j.format]??D.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${D.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${D.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${D.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var l8=f(()=>{m()});function fS(){return{localeError:uZ()}}var uZ=()=>{let _={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function $(D){return _[D]??null}let U={regex:"padr\xE3o",email:"endere\xE7o de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"dura\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},N={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Tipo inv\xE1lido: esperado instanceof ${D.expected}, recebido ${E}`;return`Tipo inv\xE1lido: esperado ${j}, recebido ${E}`}case"invalid_value":if(D.values.length===1)return`Entrada inv\xE1lida: esperado ${g(D.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Muito grande: esperado que ${D.origin??"valor"} tivesse ${j}${D.maximum.toString()} ${I.unit??"elementos"}`;return`Muito grande: esperado que ${D.origin??"valor"} fosse ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Muito pequeno: esperado que ${D.origin} tivesse ${j}${D.minimum.toString()} ${I.unit}`;return`Muito pequeno: esperado que ${D.origin} fosse ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${j.prefix}"`;if(j.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${j.suffix}"`;if(j.format==="includes")return`Texto inv\xE1lido: deve incluir "${j.includes}"`;if(j.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${j.pattern}`;return`${U[j.format]??D.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${D.divisor}`;case"unrecognized_keys":return`Chave${D.keys.length>1?"s":""} desconhecida${D.keys.length>1?"s":""}: ${K(D.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${D.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${D.origin}`;default:return"Campo inv\xE1lido"}}};var i8=f(()=>{m()});function xS(){return{localeError:hZ()}}var hZ=()=>{let _={string:{unit:"caractere",verb:"s\u0103 aib\u0103"},file:{unit:"octe\u021Bi",verb:"s\u0103 aib\u0103"},array:{unit:"elemente",verb:"s\u0103 aib\u0103"},set:{unit:"elemente",verb:"s\u0103 aib\u0103"},map:{unit:"intr\u0103ri",verb:"s\u0103 aib\u0103"}};function $(D){return _[D]??null}let U={regex:"intrare",email:"adres\u0103 de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dat\u0103 \u0219i or\u0103 ISO",date:"dat\u0103 ISO",time:"or\u0103 ISO",duration:"durat\u0103 ISO",ipv4:"adres\u0103 IPv4",ipv6:"adres\u0103 IPv6",mac:"adres\u0103 MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"\u0219ir codat base64",base64url:"\u0219ir codat base64url",json_string:"\u0219ir JSON",e164:"num\u0103r E.164",jwt:"JWT",template_literal:"intrare"},N={nan:"NaN",string:"\u0219ir",number:"num\u0103r",boolean:"boolean",function:"func\u021Bie",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"num\u0103r mare",void:"void",never:"never",map:"hart\u0103",set:"set"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;return`Intrare invalid\u0103: a\u0219teptat ${j}, primit ${E}`}case"invalid_value":if(D.values.length===1)return`Intrare invalid\u0103: a\u0219teptat ${g(D.values[0])}`;return`Op\u021Biune invalid\u0103: a\u0219teptat una dintre ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"elemente"}`;return`Prea mare: a\u0219teptat ca ${D.origin??"valoarea"} s\u0103 fie ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Prea mic: a\u0219teptat ca ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`Prea mic: a\u0219teptat ca ${D.origin} s\u0103 fie ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0218ir invalid: trebuie s\u0103 \xEEnceap\u0103 cu "${j.prefix}"`;if(j.format==="ends_with")return`\u0218ir invalid: trebuie s\u0103 se termine cu "${j.suffix}"`;if(j.format==="includes")return`\u0218ir invalid: trebuie s\u0103 includ\u0103 "${j.includes}"`;if(j.format==="regex")return`\u0218ir invalid: trebuie s\u0103 se potriveasc\u0103 cu modelul ${j.pattern}`;return`Format invalid: ${U[j.format]??D.format}`}case"not_multiple_of":return`Num\u0103r invalid: trebuie s\u0103 fie multiplu de ${D.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${K(D.keys,", ")}`;case"invalid_key":return`Cheie invalid\u0103 \xEEn ${D.origin}`;case"invalid_union":return"Intrare invalid\u0103";case"invalid_element":return`Valoare invalid\u0103 \xEEn ${D.origin}`;default:return"Intrare invalid\u0103"}}};var t8=f(()=>{m()});function o8(_,$,U,N){let D=Math.abs(_),j=D%10,I=D%100;if(I>=11&&I<=19)return N;if(j===1)return $;if(j>=2&&j<=4)return U;return N}function yS(){return{localeError:rZ()}}var rZ=()=>{let _={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function $(D){return _[D]??null}let U={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},N={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${D.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${E}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${j}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${E}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${g(D.values[0])}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I){let E=Number(D.maximum),J=o8(E,I.unit.one,I.unit.few,I.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${j}${D.maximum.toString()} ${J}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I){let E=Number(D.minimum),J=o8(E,I.unit.one,I.unit.few,I.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${D.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${j}${D.minimum.toString()} ${J}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${D.origin} \u0431\u0443\u0434\u0435\u0442 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${j.prefix}"`;if(j.format==="ends_with")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${j.suffix}"`;if(j.format==="includes")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${j.includes}"`;if(j.format==="regex")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${j.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${D.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0438":""}: ${K(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${D.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var p8=f(()=>{m()});function uS(){return{localeError:cZ()}}var cZ=()=>{let _={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function $(D){return _[D]??null}let U={regex:"vnos",email:"e-po\u0161tni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in \u010Das",date:"ISO datum",time:"ISO \u010Das",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},N={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${D.expected}, prejeto ${E}`;return`Neveljaven vnos: pri\u010Dakovano ${j}, prejeto ${E}`}case"invalid_value":if(D.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${g(D.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} imelo ${j}${D.maximum.toString()} ${I.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${D.origin??"vrednost"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Premajhno: pri\u010Dakovano, da bo ${D.origin} imelo ${j}${D.minimum.toString()} ${I.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${j.prefix}"`;if(j.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${j.suffix}"`;if(j.format==="includes")return`Neveljaven niz: mora vsebovati "${j.includes}"`;if(j.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${j.pattern}`;return`Neveljaven ${U[j.format]??D.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${D.divisor}`;case"unrecognized_keys":return`Neprepoznan${D.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${K(D.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${D.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${D.origin}`;default:return"Neveljaven vnos"}}};var a8=f(()=>{m()});function hS(){return{localeError:mZ()}}var mZ=()=>{let _={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function $(D){return _[D]??null}let U={regex:"regulj\xE4rt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad str\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},N={nan:"NaN",number:"antal",array:"lista"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${D.expected}, fick ${E}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${j}, fick ${E}`}case"invalid_value":if(D.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${g(D.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.maximum.toString()} ${I.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${D.origin??"v\xE4rdet"} att ha ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.minimum.toString()} ${I.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${D.origin??"v\xE4rdet"} att ha ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${j.prefix}"`;if(j.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${j.suffix}"`;if(j.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${j.includes}"`;if(j.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${j.pattern}"`;return`Ogiltig(t) ${U[j.format]??D.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${D.divisor}`;case"unrecognized_keys":return`${D.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${K(D.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${D.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${D.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var e8=f(()=>{m()});function rS(){return{localeError:nZ()}}var nZ=()=>{let _={string:{unit:"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},file:{unit:"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},array:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},set:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"}};function $(D){return _[D]??null}let U={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},N={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${D.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${E}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${j}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${E}`}case"invalid_value":if(D.values.length===1)return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${g(D.values[0])}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${K(D.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${j}${D.maximum.toString()} ${I.unit??"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;return`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${D.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${j}${D.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${D.origin} ${j}${D.minimum.toString()} ${I.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;return`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${D.origin} ${j}${D.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${j.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(j.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${j.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(j.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${j.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(j.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${j.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${D.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${D.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${K(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${D.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var s8=f(()=>{m()});function cS(){return{localeError:dZ()}}var dZ=()=>{let _={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function $(D){return _[D]??null}let U={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",e164:"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},N={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${D.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${E}`;return`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${j} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${E}`}case"invalid_value":if(D.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${g(D.values[0])}`;return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",I=$(D.origin);if(I)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.maximum.toString()} ${I.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",I=$(D.origin);if(I)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.minimum.toString()} ${I.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${D.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${j} ${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${j.prefix}"`;if(j.format==="ends_with")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${j.suffix}"`;if(j.format==="includes")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${j.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(j.format==="regex")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${j.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${U[j.format]??D.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${D.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${K(D.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${D.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var _R=f(()=>{m()});function mS(){return{localeError:lZ()}}var lZ=()=>{let _={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function $(D){return _[D]??null}let U={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO s\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${D.expected}, al\u0131nan ${E}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${j}, al\u0131nan ${E}`}case"invalid_value":if(D.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${g(D.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${j}${D.maximum.toString()} ${I.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${D.origin??"de\u011Fer"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${j}${D.minimum.toString()} ${I.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Ge\xE7ersiz metin: "${j.prefix}" ile ba\u015Flamal\u0131`;if(j.format==="ends_with")return`Ge\xE7ersiz metin: "${j.suffix}" ile bitmeli`;if(j.format==="includes")return`Ge\xE7ersiz metin: "${j.includes}" i\xE7ermeli`;if(j.format==="regex")return`Ge\xE7ersiz metin: ${j.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${U[j.format]??D.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${D.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${D.keys.length>1?"lar":""}: ${K(D.keys,", ")}`;case"invalid_key":return`${D.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${D.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var $R=f(()=>{m()});function uD(){return{localeError:iZ()}}var iZ=()=>{let _={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function $(D){return _[D]??null}let U={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},N={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${D.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${E}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${j}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${E}`}case"invalid_value":if(D.values.length===1)return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${g(D.values[0])}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${D.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${D.origin} \u0431\u0443\u0434\u0435 ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${j.prefix}"`;if(j.format==="ends_with")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${j.suffix}"`;if(j.format==="includes")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${j.includes}"`;if(j.format==="regex")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${j.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${D.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${D.keys.length>1?"\u0456":""}: ${K(D.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${D.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${D.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var nS=f(()=>{m()});function dS(){return uD()}var UR=f(()=>{nS()});function lS(){return{localeError:tZ()}}var tZ=()=>{let _={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function $(D){return _[D]??null}let U={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},N={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${D.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${E} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${j} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${E} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(D.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${g(D.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${K(D.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${j}${D.maximum.toString()} ${I.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${D.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${j}${D.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u06D2 ${j}${D.minimum.toString()} ${I.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${D.origin} \u06A9\u0627 ${j}${D.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${j.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(j.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${j.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(j.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${j.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(j.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${j.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${D.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${D.keys.length>1?"\u0632":""}: ${K(D.keys,"\u060C ")}`;case"invalid_key":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${D.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var DR=f(()=>{m()});function iS(){return{localeError:oZ()}}var oZ=()=>{let _={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"},map:{unit:"yozuv",verb:"bo\u2018lishi kerak"}};function $(D){return _[D]??null}let U={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},N={nan:"NaN",number:"raqam",array:"massiv"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${D.expected}, qabul qilingan ${E}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${j}, qabul qilingan ${E}`}case"invalid_value":if(D.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${g(D.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Juda katta: kutilgan ${D.origin??"qiymat"} ${j}${D.maximum.toString()} ${I.unit} ${I.verb}`;return`Juda katta: kutilgan ${D.origin??"qiymat"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Juda kichik: kutilgan ${D.origin} ${j}${D.minimum.toString()} ${I.unit} ${I.verb}`;return`Juda kichik: kutilgan ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${j.prefix}" bilan boshlanishi kerak`;if(j.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${j.suffix}" bilan tugashi kerak`;if(j.format==="includes")return`Noto\u2018g\u2018ri satr: "${j.includes}" ni o\u2018z ichiga olishi kerak`;if(j.format==="regex")return`Noto\u2018g\u2018ri satr: ${j.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${U[j.format]??D.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${D.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${D.keys.length>1?"lar":""}: ${K(D.keys,", ")}`;case"invalid_key":return`${D.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${D.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var NR=f(()=>{m()});function tS(){return{localeError:pZ()}}var pZ=()=>{let _={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function $(D){return _[D]??null}let U={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ng\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},N={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${D.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${E}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${j}, nh\u1EADn \u0111\u01B0\u1EE3c ${E}`}case"invalid_value":if(D.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${g(D.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${I.verb} ${j}${D.maximum.toString()} ${I.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${D.origin??"gi\xE1 tr\u1ECB"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${I.verb} ${j}${D.minimum.toString()} ${I.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${j.prefix}"`;if(j.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${j.suffix}"`;if(j.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${j.includes}"`;if(j.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${j.pattern}`;return`${U[j.format]??D.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${D.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${K(D.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${D.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var jR=f(()=>{m()});function oS(){return{localeError:aZ()}}var aZ=()=>{let _={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function $(D){return _[D]??null}let U={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},N={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${D.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${E}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${j}\uFF0C\u5B9E\u9645\u63A5\u6536 ${E}`}case"invalid_value":if(D.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${g(D.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${j}${D.maximum.toString()} ${I.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${D.origin??"\u503C"} ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${j}${D.minimum.toString()} ${I.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${D.origin} ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${j.prefix}" \u5F00\u5934`;if(j.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${j.suffix}" \u7ED3\u5C3E`;if(j.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${j.includes}"`;if(j.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${j.pattern}`;return`\u65E0\u6548${U[j.format]??D.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${D.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${K(D.keys,", ")}`;case"invalid_key":return`${D.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${D.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var IR=f(()=>{m()});function pS(){return{localeError:eZ()}}var eZ=()=>{let _={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function $(D){return _[D]??null}let U={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},N={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${D.expected}\uFF0C\u4F46\u6536\u5230 ${E}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${j}\uFF0C\u4F46\u6536\u5230 ${E}`}case"invalid_value":if(D.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${g(D.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${j}${D.maximum.toString()} ${I.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${D.origin??"\u503C"} \u61C9\u70BA ${j}${D.maximum.toString()}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${j}${D.minimum.toString()} ${I.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${D.origin} \u61C9\u70BA ${j}${D.minimum.toString()}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${j.prefix}" \u958B\u982D`;if(j.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${j.suffix}" \u7D50\u5C3E`;if(j.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${j.includes}"`;if(j.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${j.pattern}`;return`\u7121\u6548\u7684 ${U[j.format]??D.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${D.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${D.keys.length>1?"\u5011":""}\uFF1A${K(D.keys,"\u3001")}`;case"invalid_key":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${D.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var ER=f(()=>{m()});function aS(){return{localeError:sZ()}}var sZ=()=>{let _={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function $(D){return _[D]??null}let U={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},N={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(D)=>{switch(D.code){case"invalid_type":{let j=N[D.expected]??D.expected,I=Z(D.input),E=N[I]??I;if(/^[A-Z]/.test(D.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${D.expected}, \xE0m\u1ECD\u0300 a r\xED ${E}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${j}, \xE0m\u1ECD\u0300 a r\xED ${E}`}case"invalid_value":if(D.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${g(D.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${K(D.values,"|")}`;case"too_big":{let j=D.inclusive?"<=":"<",I=$(D.origin);if(I)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin??"iye"} ${I.verb} ${j}${D.maximum} ${I.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${j}${D.maximum}`}case"too_small":{let j=D.inclusive?">=":">",I=$(D.origin);if(I)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${D.origin} ${I.verb} ${j}${D.minimum} ${I.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${j}${D.minimum}`}case"invalid_format":{let j=D;if(j.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${j.prefix}"`;if(j.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${j.suffix}"`;if(j.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${j.includes}"`;if(j.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${j.pattern}`;return`A\u1E63\xEC\u1E63e: ${U[j.format]??D.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${D.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${K(D.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${D.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var AR=f(()=>{m()});var NU={};i$(NU,{zhTW:()=>pS,zhCN:()=>oS,yo:()=>aS,vi:()=>tS,uz:()=>iS,ur:()=>lS,uk:()=>uD,ua:()=>dS,tr:()=>mS,th:()=>cS,ta:()=>rS,sv:()=>hS,sl:()=>uS,ru:()=>yS,ro:()=>xS,pt:()=>fS,ps:()=>wS,pl:()=>vS,ota:()=>CS,no:()=>bS,nl:()=>kS,ms:()=>qS,mk:()=>HS,lt:()=>ZS,ko:()=>gS,km:()=>xD,kh:()=>MS,ka:()=>FS,ja:()=>VS,it:()=>BS,is:()=>TS,id:()=>GS,hy:()=>QS,hu:()=>YS,hr:()=>RS,he:()=>XS,frCA:()=>zS,fr:()=>OS,fi:()=>PS,fa:()=>LS,es:()=>SS,eo:()=>WS,en:()=>fD,el:()=>AS,de:()=>ES,da:()=>IS,cs:()=>jS,ca:()=>NS,bg:()=>DS,be:()=>US,az:()=>$S,ar:()=>_S});var eS=f(()=>{W8();S8();P8();O8();z8();X8();R8();Y8();Q8();JS();G8();T8();B8();V8();F8();K8();M8();g8();Z8();q8();k8();b8();C8();w8();v8();f8();KS();x8();u8();h8();r8();c8();m8();n8();d8();l8();i8();t8();p8();a8();e8();s8();_R();$R();UR();nS();DR();NR();jR();IR();ER();AR()});class sS{constructor(){this._map=new WeakMap,this._idmap=new Map}add(_,...$){let U=$[0];if(this._map.set(_,U),U&&typeof U==="object"&&"id"in U)this._idmap.set(U.id,_);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(_){let $=this._map.get(_);if($&&typeof $==="object"&&"id"in $)this._idmap.delete($.id);return this._map.delete(_),this}get(_){let $=_._zod.parent;if($){let U={...this.get($)??{}};delete U.id;let N={...U,...this._map.get(_)};return Object.keys(N).length?N:void 0}return this._map.get(_)}has(_){return this._map.has(_)}}function hD(){return new sS}var JR,Mj,gj,m_;var rD=f(()=>{Mj=Symbol("ZodOutput"),gj=Symbol("ZodInput");(JR=globalThis).__zod_globalRegistry??(JR.__zod_globalRegistry=hD());m_=globalThis.__zod_globalRegistry});function _L(_,$){return new _({type:"string",...w($)})}function $L(_,$){return new _({type:"string",coerce:!0,...w($)})}function Zj(_,$){return new _({type:"string",format:"email",check:"string_format",abort:!1,...w($)})}function cD(_,$){return new _({type:"string",format:"guid",check:"string_format",abort:!1,...w($)})}function Hj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,...w($)})}function qj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...w($)})}function kj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...w($)})}function bj(_,$){return new _({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...w($)})}function mD(_,$){return new _({type:"string",format:"url",check:"string_format",abort:!1,...w($)})}function Cj(_,$){return new _({type:"string",format:"emoji",check:"string_format",abort:!1,...w($)})}function wj(_,$){return new _({type:"string",format:"nanoid",check:"string_format",abort:!1,...w($)})}function vj(_,$){return new _({type:"string",format:"cuid",check:"string_format",abort:!1,...w($)})}function fj(_,$){return new _({type:"string",format:"cuid2",check:"string_format",abort:!1,...w($)})}function xj(_,$){return new _({type:"string",format:"ulid",check:"string_format",abort:!1,...w($)})}function yj(_,$){return new _({type:"string",format:"xid",check:"string_format",abort:!1,...w($)})}function uj(_,$){return new _({type:"string",format:"ksuid",check:"string_format",abort:!1,...w($)})}function hj(_,$){return new _({type:"string",format:"ipv4",check:"string_format",abort:!1,...w($)})}function rj(_,$){return new _({type:"string",format:"ipv6",check:"string_format",abort:!1,...w($)})}function UL(_,$){return new _({type:"string",format:"mac",check:"string_format",abort:!1,...w($)})}function cj(_,$){return new _({type:"string",format:"cidrv4",check:"string_format",abort:!1,...w($)})}function mj(_,$){return new _({type:"string",format:"cidrv6",check:"string_format",abort:!1,...w($)})}function nj(_,$){return new _({type:"string",format:"base64",check:"string_format",abort:!1,...w($)})}function dj(_,$){return new _({type:"string",format:"base64url",check:"string_format",abort:!1,...w($)})}function lj(_,$){return new _({type:"string",format:"e164",check:"string_format",abort:!1,...w($)})}function ij(_,$){return new _({type:"string",format:"jwt",check:"string_format",abort:!1,...w($)})}function DL(_,$){return new _({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...w($)})}function NL(_,$){return new _({type:"string",format:"date",check:"string_format",...w($)})}function jL(_,$){return new _({type:"string",format:"time",check:"string_format",precision:null,...w($)})}function IL(_,$){return new _({type:"string",format:"duration",check:"string_format",...w($)})}function EL(_,$){return new _({type:"number",checks:[],...w($)})}function AL(_,$){return new _({type:"number",coerce:!0,checks:[],...w($)})}function JL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"safeint",...w($)})}function WL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float32",...w($)})}function SL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"float64",...w($)})}function LL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"int32",...w($)})}function PL(_,$){return new _({type:"number",check:"number_format",abort:!1,format:"uint32",...w($)})}function OL(_,$){return new _({type:"boolean",...w($)})}function zL(_,$){return new _({type:"boolean",coerce:!0,...w($)})}function XL(_,$){return new _({type:"bigint",...w($)})}function RL(_,$){return new _({type:"bigint",coerce:!0,...w($)})}function YL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...w($)})}function QL(_,$){return new _({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...w($)})}function GL(_,$){return new _({type:"symbol",...w($)})}function TL(_,$){return new _({type:"undefined",...w($)})}function BL(_,$){return new _({type:"null",...w($)})}function VL(_){return new _({type:"any"})}function FL(_){return new _({type:"unknown"})}function KL(_,$){return new _({type:"never",...w($)})}function ML(_,$){return new _({type:"void",...w($)})}function gL(_,$){return new _({type:"date",...w($)})}function ZL(_,$){return new _({type:"date",coerce:!0,...w($)})}function HL(_,$){return new _({type:"nan",...w($)})}function w$(_,$){return new Pj({check:"less_than",...w($),value:_,inclusive:!1})}function W$(_,$){return new Pj({check:"less_than",...w($),value:_,inclusive:!0})}function v$(_,$){return new Oj({check:"greater_than",...w($),value:_,inclusive:!1})}function t_(_,$){return new Oj({check:"greater_than",...w($),value:_,inclusive:!0})}function nD(_){return v$(0,_)}function dD(_){return w$(0,_)}function lD(_){return W$(0,_)}function iD(_){return t_(0,_)}function V6(_,$){return new VJ({check:"multiple_of",...w($),value:_})}function F6(_,$){return new MJ({check:"max_size",...w($),maximum:_})}function f$(_,$){return new gJ({check:"min_size",...w($),minimum:_})}function o6(_,$){return new ZJ({check:"size_equals",...w($),size:_})}function p6(_,$){return new HJ({check:"max_length",...w($),maximum:_})}function $6(_,$){return new qJ({check:"min_length",...w($),minimum:_})}function a6(_,$){return new kJ({check:"length_equals",...w($),length:_})}function v4(_,$){return new bJ({check:"string_format",format:"regex",...w($),pattern:_})}function f4(_){return new CJ({check:"string_format",format:"lowercase",...w(_)})}function x4(_){return new wJ({check:"string_format",format:"uppercase",...w(_)})}function y4(_,$){return new vJ({check:"string_format",format:"includes",...w($),includes:_})}function u4(_,$){return new fJ({check:"string_format",format:"starts_with",...w($),prefix:_})}function h4(_,$){return new xJ({check:"string_format",format:"ends_with",...w($),suffix:_})}function tD(_,$,U){return new yJ({check:"property",property:_,schema:$,...w(U)})}function r4(_,$){return new uJ({check:"mime_type",mime:_,...w($)})}function M$(_){return new hJ({check:"overwrite",tx:_})}function c4(_){return M$(($)=>$.normalize(_))}function m4(){return M$((_)=>_.trim())}function n4(){return M$((_)=>_.toLowerCase())}function d4(){return M$((_)=>_.toUpperCase())}function l4(){return M$((_)=>fA(_))}function qL(_,$,U){return new _({type:"array",element:$,...w(U)})}function $H(_,$,U){return new _({type:"union",options:$,...w(U)})}function UH(_,$,U){return new _({type:"union",options:$,inclusive:!1,...w(U)})}function DH(_,$,U,N){return new _({type:"union",options:U,discriminator:$,...w(N)})}function NH(_,$,U){return new _({type:"intersection",left:$,right:U})}function jH(_,$,U,N){let D=U instanceof p;return new _({type:"tuple",items:$,rest:D?U:null,...w(D?N:U)})}function IH(_,$,U,N){return new _({type:"record",keyType:$,valueType:U,...w(N)})}function EH(_,$,U,N){return new _({type:"map",keyType:$,valueType:U,...w(N)})}function AH(_,$,U){return new _({type:"set",valueType:$,...w(U)})}function JH(_,$,U){let N=Array.isArray($)?Object.fromEntries($.map((D)=>[D,D])):$;return new _({type:"enum",entries:N,...w(U)})}function WH(_,$,U){return new _({type:"enum",entries:$,...w(U)})}function SH(_,$,U){return new _({type:"literal",values:Array.isArray($)?$:[$],...w(U)})}function kL(_,$){return new _({type:"file",...w($)})}function LH(_,$){return new _({type:"transform",transform:$})}function PH(_,$){return new _({type:"optional",innerType:$})}function OH(_,$){return new _({type:"nullable",innerType:$})}function zH(_,$,U){return new _({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():yA(U)}})}function XH(_,$,U){return new _({type:"nonoptional",innerType:$,...w(U)})}function RH(_,$){return new _({type:"success",innerType:$})}function YH(_,$,U){return new _({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function QH(_,$,U){return new _({type:"pipe",in:$,out:U})}function GH(_,$){return new _({type:"readonly",innerType:$})}function TH(_,$,U){return new _({type:"template_literal",parts:$,...w(U)})}function BH(_,$){return new _({type:"lazy",getter:$})}function VH(_,$){return new _({type:"promise",innerType:$})}function bL(_,$,U){let N=w(U);return N.abort??(N.abort=!0),new _({type:"custom",check:"custom",fn:$,...N})}function CL(_,$,U){return new _({type:"custom",check:"custom",fn:$,...w(U)})}function wL(_,$){let U=WR((N)=>{return N.addIssue=(D)=>{if(typeof D==="string")N.issues.push(o0(D,N.value,U._zod.def));else{let j=D;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=N.value),j.inst??(j.inst=U),j.continue??(j.continue=!U._zod.def.abort),N.issues.push(o0(j))}},_(N.value,N)},$);return U}function WR(_,$){let U=new V_({check:"custom",...w($)});return U._zod.check=_,U}function vL(_){let $=new V_({check:"describe"});return $._zod.onattach=[(U)=>{let N=m_.get(U)??{};m_.add(U,{...N,description:_})}],$._zod.check=()=>{},$}function fL(_){let $=new V_({check:"meta"});return $._zod.onattach=[(U)=>{let N=m_.get(U)??{};m_.add(U,{...N,..._})}],$._zod.check=()=>{},$}function xL(_,$){let U=w($),N=U.truthy??["true","1","yes","on","y","enabled"],D=U.falsy??["false","0","no","off","n","disabled"];if(U.case!=="sensitive")N=N.map((z)=>typeof z==="string"?z.toLowerCase():z),D=D.map((z)=>typeof z==="string"?z.toLowerCase():z);let j=new Set(N),I=new Set(D),E=_.Codec??vD,J=_.Boolean??CD,S=new(_.String??w4)({type:"string",error:U.error}),L=new J({type:"boolean",error:U.error}),X=new E({type:"pipe",in:S,out:L,transform:(z,Y)=>{let P=z;if(U.case!=="sensitive")P=P.toLowerCase();if(j.has(P))return!0;else if(I.has(P))return!1;else return Y.issues.push({code:"invalid_value",expected:"stringbool",values:[...j,...I],input:Y.value,inst:X,continue:!1}),{}},reverseTransform:(z,Y)=>{if(z===!0)return N[0]||"true";else return D[0]||"false"},error:U.error});return X}function jU(_,$,U,N={}){let D=w(N),j={...w(N),check:"string_format",type:"string",format:$,fn:typeof U==="function"?U:(E)=>U.test(E),...D};if(U instanceof RegExp)j.pattern=U;return new _(j)}var tj;var SR=f(()=>{zj();rD();sW();m();tj={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function e6(_){let $=_?.target??"draft-2020-12";if($==="draft-4")$="draft-04";if($==="draft-7")$="draft-07";return{processors:_.processors??{},metadataRegistry:_?.metadata??m_,target:$,unrepresentable:_?.unrepresentable??"throw",override:_?.override??(()=>{}),io:_?.io??"output",counter:0,seen:new Map,cycles:_?.cycles??"ref",reused:_?.reused??"inline",external:_?.external??void 0}}function O_(_,$,U={path:[],schemaPath:[]}){var N;let D=_._zod.def,j=$.seen.get(_);if(j){if(j.count++,U.schemaPath.includes(_))j.cycle=U.path;return j.schema}let I={schema:{},count:1,cycle:void 0,path:U.path};$.seen.set(_,I);let E=_._zod.toJSONSchema?.();if(E)I.schema=E;else{let S={...U,schemaPath:[...U.schemaPath,_],path:U.path};if(_._zod.processJSONSchema)_._zod.processJSONSchema($,I.schema,S);else{let X=I.schema,z=$.processors[D.type];if(!z)throw Error(`[toJSONSchema]: Non-representable type encountered: ${D.type}`);z(_,$,X,S)}let L=_._zod.parent;if(L){if(!I.ref)I.ref=L;O_(L,$,S),$.seen.get(L).isParent=!0}}let J=$.metadataRegistry.get(_);if(J)Object.assign(I.schema,J);if($.io==="input"&&$$(_))delete I.schema.examples,delete I.schema.default;if($.io==="input"&&"_prefault"in I.schema)(N=I.schema).default??(N.default=I.schema._prefault);return delete I.schema._prefault,$.seen.get(_).schema}function s6(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let N=new Map;for(let I of _.seen.entries()){let E=_.metadataRegistry.get(I[0])?.id;if(E){let J=N.get(E);if(J&&J!==I[0])throw Error(`Duplicate schema id "${E}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);N.set(E,I[0])}}let D=(I)=>{let E=_.target==="draft-2020-12"?"$defs":"definitions";if(_.external){let L=_.external.registry.get(I[0])?.id,X=_.external.uri??((Y)=>Y);if(L)return{ref:X(L)};let z=I[1].defId??I[1].schema.id??`schema${_.counter++}`;return I[1].defId=z,{defId:z,ref:`${X("__shared")}#/${E}/${z}`}}if(I[1]===U)return{ref:"#"};let W=`${"#"}/${E}/`,S=I[1].schema.id??`__schema${_.counter++}`;return{defId:S,ref:W+S}},j=(I)=>{if(I[1].schema.$ref)return;let E=I[1],{ref:J,defId:W}=D(I);if(E.def={...E.schema},W)E.defId=W;let S=E.schema;for(let L in S)delete S[L];S.$ref=J};if(_.cycles==="throw")for(let I of _.seen.entries()){let E=I[1];if(E.cycle)throw Error(`Cycle detected: #/${E.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let I of _.seen.entries()){let E=I[1];if($===I[0]){j(I);continue}if(_.external){let W=_.external.registry.get(I[0])?.id;if($!==I[0]&&W){j(I);continue}}if(_.metadataRegistry.get(I[0])?.id){j(I);continue}if(E.cycle){j(I);continue}if(E.count>1){if(_.reused==="ref"){j(I);continue}}}}function _4(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let N=(E)=>{let J=_.seen.get(E);if(J.ref===null)return;let W=J.def??J.schema,S={...W},L=J.ref;if(J.ref=null,L){N(L);let z=_.seen.get(L),Y=z.schema;if(Y.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))W.allOf=W.allOf??[],W.allOf.push(Y);else Object.assign(W,Y);if(Object.assign(W,S),E._zod.parent===L)for(let O in W){if(O==="$ref"||O==="allOf")continue;if(!(O in S))delete W[O]}if(Y.$ref&&z.def)for(let O in W){if(O==="$ref"||O==="allOf")continue;if(O in z.def&&JSON.stringify(W[O])===JSON.stringify(z.def[O]))delete W[O]}}let X=E._zod.parent;if(X&&X!==L){N(X);let z=_.seen.get(X);if(z?.schema.$ref){if(W.$ref=z.schema.$ref,z.def)for(let Y in W){if(Y==="$ref"||Y==="allOf")continue;if(Y in z.def&&JSON.stringify(W[Y])===JSON.stringify(z.def[Y]))delete W[Y]}}}_.override({zodSchema:E,jsonSchema:W,path:J.path??[]})};for(let E of[..._.seen.entries()].reverse())N(E[0]);let D={};if(_.target==="draft-2020-12")D.$schema="https://json-schema.org/draft/2020-12/schema";else if(_.target==="draft-07")D.$schema="http://json-schema.org/draft-07/schema#";else if(_.target==="draft-04")D.$schema="http://json-schema.org/draft-04/schema#";else if(_.target==="openapi-3.0");if(_.external?.uri){let E=_.external.registry.get($)?.id;if(!E)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(E)}Object.assign(D,U.def??U.schema);let j=_.metadataRegistry.get($)?.id;if(j!==void 0&&D.id===j)delete D.id;let I=_.external?.defs??{};for(let E of _.seen.entries()){let J=E[1];if(J.def&&J.defId){if(J.def.id===J.defId)delete J.def.id;I[J.defId]=J.def}}if(_.external);else if(Object.keys(I).length>0)if(_.target==="draft-2020-12")D.$defs=I;else D.definitions=I;try{let E=JSON.parse(JSON.stringify(D));return Object.defineProperty(E,"~standard",{value:{...$["~standard"],jsonSchema:{input:IU($,"input",_.processors),output:IU($,"output",_.processors)}},enumerable:!1,writable:!1}),E}catch(E){throw Error("Error converting schema to JSON.")}}function $$(_,$){let U=$??{seen:new Set};if(U.seen.has(_))return!1;U.seen.add(_);let N=_._zod.def;if(N.type==="transform")return!0;if(N.type==="array")return $$(N.element,U);if(N.type==="set")return $$(N.valueType,U);if(N.type==="lazy")return $$(N.getter(),U);if(N.type==="promise"||N.type==="optional"||N.type==="nonoptional"||N.type==="nullable"||N.type==="readonly"||N.type==="default"||N.type==="prefault")return $$(N.innerType,U);if(N.type==="intersection")return $$(N.left,U)||$$(N.right,U);if(N.type==="record"||N.type==="map")return $$(N.keyType,U)||$$(N.valueType,U);if(N.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return $$(N.in,U)||$$(N.out,U)}if(N.type==="object"){for(let D in N.shape)if($$(N.shape[D],U))return!0;return!1}if(N.type==="union"){for(let D of N.options)if($$(D,U))return!0;return!1}if(N.type==="tuple"){for(let D of N.items)if($$(D,U))return!0;if(N.rest&&$$(N.rest,U))return!0;return!1}return!1}var yL=(_,$={})=>(U)=>{let N=e6({...U,processors:$});return O_(_,N),s6(N,_),_4(N,_)},IU=(_,$,U={})=>(N)=>{let{libraryOptions:D,target:j}=N??{},I=e6({...D??{},target:j,io:$,processors:U});return O_(_,I),s6(I,_),_4(I,_)};var oD=f(()=>{rD()});function pD(_,$){if("_idmap"in _){let N=_,D=e6({...$,processors:oj}),j={};for(let J of N._idmap.entries()){let[W,S]=J;O_(S,D)}let I={},E={registry:N,uri:$?.uri,defs:j};D.external=E;for(let J of N._idmap.entries()){let[W,S]=J;s6(D,S),I[W]=_4(D,S)}if(Object.keys(j).length>0){let J=D.target==="draft-2020-12"?"$defs":"definitions";I.__shared={[J]:j}}return{schemas:I}}let U=e6({...$,processors:oj});return O_(_,U),s6(U,_),_4(U,_)}var FH,uL=(_,$,U,N)=>{let D=U;D.type="string";let{minimum:j,maximum:I,format:E,patterns:J,contentEncoding:W}=_._zod.bag;if(typeof j==="number")D.minLength=j;if(typeof I==="number")D.maxLength=I;if(E){if(D.format=FH[E]??E,D.format==="")delete D.format;if(E==="time")delete D.format}if(W)D.contentEncoding=W;if(J&&J.size>0){let S=[...J];if(S.length===1)D.pattern=S[0].source;else if(S.length>1)D.allOf=[...S.map((L)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:L.source}))]}},hL=(_,$,U,N)=>{let D=U,{minimum:j,maximum:I,format:E,multipleOf:J,exclusiveMaximum:W,exclusiveMinimum:S}=_._zod.bag;if(typeof E==="string"&&E.includes("int"))D.type="integer";else D.type="number";let L=typeof S==="number"&&S>=(j??Number.NEGATIVE_INFINITY),X=typeof W==="number"&&W<=(I??Number.POSITIVE_INFINITY),z=$.target==="draft-04"||$.target==="openapi-3.0";if(L)if(z)D.minimum=S,D.exclusiveMinimum=!0;else D.exclusiveMinimum=S;else if(typeof j==="number")D.minimum=j;if(X)if(z)D.maximum=W,D.exclusiveMaximum=!0;else D.exclusiveMaximum=W;else if(typeof I==="number")D.maximum=I;if(typeof J==="number")D.multipleOf=J},rL=(_,$,U,N)=>{U.type="boolean"},cL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},mL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},nL=(_,$,U,N)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},dL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},lL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},iL=(_,$,U,N)=>{U.not={}},tL=(_,$,U,N)=>{},oL=(_,$,U,N)=>{},pL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},aL=(_,$,U,N)=>{let D=_._zod.def,j=FD(D.entries);if(j.every((I)=>typeof I==="number"))U.type="number";if(j.every((I)=>typeof I==="string"))U.type="string";U.enum=j},eL=(_,$,U,N)=>{let D=_._zod.def,j=[];for(let I of D.values)if(I===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof I==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else j.push(Number(I));else j.push(I);if(j.length===0);else if(j.length===1){let I=j[0];if(U.type=I===null?"null":typeof I,$.target==="draft-04"||$.target==="openapi-3.0")U.enum=[I];else U.const=I}else{if(j.every((I)=>typeof I==="number"))U.type="number";if(j.every((I)=>typeof I==="string"))U.type="string";if(j.every((I)=>typeof I==="boolean"))U.type="boolean";if(j.every((I)=>I===null))U.type="null";U.enum=j}},sL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},_P=(_,$,U,N)=>{let D=U,j=_._zod.pattern;if(!j)throw Error("Pattern not found in template literal");D.type="string",D.pattern=j.source},$P=(_,$,U,N)=>{let D=U,j={type:"string",format:"binary",contentEncoding:"binary"},{minimum:I,maximum:E,mime:J}=_._zod.bag;if(I!==void 0)j.minLength=I;if(E!==void 0)j.maxLength=E;if(J)if(J.length===1)j.contentMediaType=J[0],Object.assign(D,j);else Object.assign(D,j),D.anyOf=J.map((W)=>({contentMediaType:W}));else Object.assign(D,j)},UP=(_,$,U,N)=>{U.type="boolean"},DP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},NP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},jP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},IP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},EP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},AP=(_,$,U,N)=>{let D=U,j=_._zod.def,{minimum:I,maximum:E}=_._zod.bag;if(typeof I==="number")D.minItems=I;if(typeof E==="number")D.maxItems=E;D.type="array",D.items=O_(j.element,$,{...N,path:[...N.path,"items"]})},JP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="object",D.properties={};let I=j.shape;for(let W in I)D.properties[W]=O_(I[W],$,{...N,path:[...N.path,"properties",W]});let E=new Set(Object.keys(I)),J=new Set([...E].filter((W)=>{let S=j.shape[W]._zod;if($.io==="input")return S.optin===void 0;else return S.optout===void 0}));if(J.size>0)D.required=Array.from(J);if(j.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!j.catchall){if($.io==="output")D.additionalProperties=!1}else if(j.catchall)D.additionalProperties=O_(j.catchall,$,{...N,path:[...N.path,"additionalProperties"]})},pj=(_,$,U,N)=>{let D=_._zod.def,j=D.inclusive===!1,I=D.options.map((E,J)=>O_(E,$,{...N,path:[...N.path,j?"oneOf":"anyOf",J]}));if(j)U.oneOf=I;else U.anyOf=I},WP=(_,$,U,N)=>{let D=_._zod.def,j=O_(D.left,$,{...N,path:[...N.path,"allOf",0]}),I=O_(D.right,$,{...N,path:[...N.path,"allOf",1]}),E=(W)=>("allOf"in W)&&Object.keys(W).length===1,J=[...E(j)?j.allOf:[j],...E(I)?I.allOf:[I]];U.allOf=J},SP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="array";let I=$.target==="draft-2020-12"?"prefixItems":"items",E=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",J=j.items.map((X,z)=>O_(X,$,{...N,path:[...N.path,I,z]})),W=j.rest?O_(j.rest,$,{...N,path:[...N.path,E,...$.target==="openapi-3.0"?[j.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=J,W)D.items=W}else if($.target==="openapi-3.0"){if(D.items={anyOf:J},W)D.items.anyOf.push(W);if(D.minItems=J.length,!W)D.maxItems=J.length}else if(D.items=J,W)D.additionalItems=W;let{minimum:S,maximum:L}=_._zod.bag;if(typeof S==="number")D.minItems=S;if(typeof L==="number")D.maxItems=L},LP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="object";let I=j.keyType,J=I._zod.bag?.patterns;if(j.mode==="loose"&&J&&J.size>0){let S=O_(j.valueType,$,{...N,path:[...N.path,"patternProperties","*"]});D.patternProperties={};for(let L of J)D.patternProperties[L.source]=S}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=O_(j.keyType,$,{...N,path:[...N.path,"propertyNames"]});D.additionalProperties=O_(j.valueType,$,{...N,path:[...N.path,"additionalProperties"]})}let W=I._zod.values;if(W){let S=[...W].filter((L)=>typeof L==="string"||typeof L==="number");if(S.length>0)D.required=S}},PP=(_,$,U,N)=>{let D=_._zod.def,j=O_(D.innerType,$,N),I=$.seen.get(_);if($.target==="openapi-3.0")I.ref=D.innerType,U.nullable=!0;else U.anyOf=[j,{type:"null"}]},OP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},zP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},XP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);if(j.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},RP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType;let I;try{I=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=I},YP=(_,$,U,N)=>{let D=_._zod.def,j=D.in._zod.traits.has("$ZodTransform"),I=$.io==="input"?j?D.out:D.in:D.out;O_(I,$,N);let E=$.seen.get(_);E.ref=I},QP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType,U.readOnly=!0},GP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},aj=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},TP=(_,$,U,N)=>{let D=_._zod.innerType;O_(D,$,N);let j=$.seen.get(_);j.ref=D},oj;var aD=f(()=>{oD();m();FH={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},oj={string:uL,number:hL,boolean:rL,bigint:cL,symbol:mL,null:nL,undefined:dL,void:lL,never:iL,any:tL,unknown:oL,date:pL,enum:aL,literal:eL,nan:sL,template_literal:_P,file:$P,success:UP,custom:DP,function:NP,transform:jP,map:IP,set:EP,array:AP,object:JP,union:pj,intersection:WP,tuple:SP,record:LP,nullable:PP,nonoptional:OP,default:zP,prefault:XP,catch:RP,pipe:YP,readonly:QP,promise:GP,optional:aj,lazy:TP}});class BP{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=e6({processors:oj,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return O_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}s6(this.ctx,_);let U=_4(this.ctx,_),{"~standard":N,...D}=U;return D}}var LR=f(()=>{aD();oD()});var PR={};var OR=()=>{};var U6={};i$(U6,{version:()=>rJ,util:()=>k,treeifyError:()=>sN,toJSONSchema:()=>pD,toDotPath:()=>y9,safeParseAsync:()=>lA,safeParse:()=>dA,safeEncodeAsync:()=>gg,safeEncode:()=>Kg,safeDecodeAsync:()=>Zg,safeDecode:()=>Mg,registry:()=>hD,regexes:()=>J$,process:()=>O_,prettifyError:()=>_j,parseAsync:()=>Uj,parse:()=>$j,meta:()=>fL,locales:()=>NU,isValidJWT:()=>I8,isValidBase64URL:()=>j8,isValidBase64:()=>WW,initializeContext:()=>e6,globalRegistry:()=>m_,globalConfig:()=>H4,formatError:()=>a0,flattenError:()=>p0,finalize:()=>_4,extractDefs:()=>s6,encodeAsync:()=>Vg,encode:()=>Tg,describe:()=>vL,decodeAsync:()=>Fg,decode:()=>Bg,createToJSONSchemaMethod:()=>yL,createStandardJSONSchemaMethod:()=>IU,config:()=>C_,clone:()=>i_,_xor:()=>UH,_xid:()=>yj,_void:()=>ML,_uuidv7:()=>bj,_uuidv6:()=>kj,_uuidv4:()=>qj,_uuid:()=>Hj,_url:()=>mD,_uppercase:()=>x4,_unknown:()=>FL,_union:()=>$H,_undefined:()=>TL,_ulid:()=>xj,_uint64:()=>QL,_uint32:()=>PL,_tuple:()=>jH,_trim:()=>m4,_transform:()=>LH,_toUpperCase:()=>d4,_toLowerCase:()=>n4,_templateLiteral:()=>TH,_symbol:()=>GL,_superRefine:()=>wL,_success:()=>RH,_stringbool:()=>xL,_stringFormat:()=>jU,_string:()=>_L,_startsWith:()=>u4,_slugify:()=>l4,_size:()=>o6,_set:()=>AH,_safeParseAsync:()=>$U,_safeParse:()=>_U,_safeEncodeAsync:()=>Jj,_safeEncode:()=>Ej,_safeDecodeAsync:()=>Wj,_safeDecode:()=>Aj,_regex:()=>v4,_refine:()=>CL,_record:()=>IH,_readonly:()=>GH,_property:()=>tD,_promise:()=>VH,_positive:()=>nD,_pipe:()=>QH,_parseAsync:()=>s0,_parse:()=>e0,_overwrite:()=>M$,_optional:()=>PH,_number:()=>EL,_nullable:()=>OH,_null:()=>BL,_normalize:()=>c4,_nonpositive:()=>lD,_nonoptional:()=>XH,_nonnegative:()=>iD,_never:()=>KL,_negative:()=>dD,_nativeEnum:()=>WH,_nanoid:()=>wj,_nan:()=>HL,_multipleOf:()=>V6,_minSize:()=>f$,_minLength:()=>$6,_min:()=>t_,_mime:()=>r4,_maxSize:()=>F6,_maxLength:()=>p6,_max:()=>W$,_map:()=>EH,_mac:()=>UL,_lte:()=>W$,_lt:()=>w$,_lowercase:()=>f4,_literal:()=>SH,_length:()=>a6,_lazy:()=>BH,_ksuid:()=>uj,_jwt:()=>ij,_isoTime:()=>jL,_isoDuration:()=>IL,_isoDateTime:()=>DL,_isoDate:()=>NL,_ipv6:()=>rj,_ipv4:()=>hj,_intersection:()=>NH,_int64:()=>YL,_int32:()=>LL,_int:()=>JL,_includes:()=>y4,_guid:()=>cD,_gte:()=>t_,_gt:()=>v$,_float64:()=>SL,_float32:()=>WL,_file:()=>kL,_enum:()=>JH,_endsWith:()=>h4,_encodeAsync:()=>jj,_encode:()=>Dj,_emoji:()=>Cj,_email:()=>Zj,_e164:()=>lj,_discriminatedUnion:()=>DH,_default:()=>zH,_decodeAsync:()=>Ij,_decode:()=>Nj,_date:()=>gL,_custom:()=>bL,_cuid2:()=>fj,_cuid:()=>vj,_coercedString:()=>$L,_coercedNumber:()=>AL,_coercedDate:()=>ZL,_coercedBoolean:()=>zL,_coercedBigint:()=>RL,_cidrv6:()=>mj,_cidrv4:()=>cj,_check:()=>WR,_catch:()=>YH,_boolean:()=>OL,_bigint:()=>XL,_base64url:()=>dj,_base64:()=>nj,_array:()=>qL,_any:()=>VL,TimePrecision:()=>tj,NEVER:()=>oN,JSONSchemaGenerator:()=>BP,JSONSchema:()=>PR,Doc:()=>Xj,$output:()=>Mj,$input:()=>gj,$constructor:()=>B,$brand:()=>pN,$ZodXor:()=>ZW,$ZodXID:()=>sJ,$ZodVoid:()=>FW,$ZodUnknown:()=>BW,$ZodUnion:()=>wD,$ZodUndefined:()=>QW,$ZodUUID:()=>dJ,$ZodURL:()=>iJ,$ZodULID:()=>eJ,$ZodType:()=>p,$ZodTuple:()=>Vj,$ZodTransform:()=>xW,$ZodTemplateLiteral:()=>tW,$ZodSymbol:()=>YW,$ZodSuccess:()=>mW,$ZodStringFormat:()=>B_,$ZodString:()=>w4,$ZodSet:()=>CW,$ZodRegistry:()=>sS,$ZodRecord:()=>kW,$ZodRealError:()=>A$,$ZodReadonly:()=>iW,$ZodPromise:()=>pW,$ZodPreprocess:()=>lW,$ZodPrefault:()=>rW,$ZodPipe:()=>Kj,$ZodOptional:()=>Fj,$ZodObjectJIT:()=>gW,$ZodObject:()=>J8,$ZodNumberFormat:()=>XW,$ZodNumber:()=>Tj,$ZodNullable:()=>uW,$ZodNull:()=>GW,$ZodNonOptional:()=>cW,$ZodNever:()=>VW,$ZodNanoID:()=>oJ,$ZodNaN:()=>dW,$ZodMap:()=>bW,$ZodMAC:()=>EW,$ZodLiteral:()=>vW,$ZodLazy:()=>aW,$ZodKSUID:()=>_W,$ZodJWT:()=>OW,$ZodIntersection:()=>qW,$ZodISOTime:()=>DW,$ZodISODuration:()=>NW,$ZodISODateTime:()=>$W,$ZodISODate:()=>UW,$ZodIPv6:()=>IW,$ZodIPv4:()=>jW,$ZodGUID:()=>nJ,$ZodFunction:()=>oW,$ZodFile:()=>fW,$ZodExactOptional:()=>yW,$ZodError:()=>HD,$ZodEnum:()=>wW,$ZodEncodeError:()=>q4,$ZodEmoji:()=>tJ,$ZodEmail:()=>lJ,$ZodE164:()=>PW,$ZodDiscriminatedUnion:()=>HW,$ZodDefault:()=>hW,$ZodDate:()=>KW,$ZodCustomStringFormat:()=>zW,$ZodCustom:()=>eW,$ZodCodec:()=>vD,$ZodCheckUpperCase:()=>wJ,$ZodCheckStringFormat:()=>UU,$ZodCheckStartsWith:()=>fJ,$ZodCheckSizeEquals:()=>ZJ,$ZodCheckRegex:()=>bJ,$ZodCheckProperty:()=>yJ,$ZodCheckOverwrite:()=>hJ,$ZodCheckNumberFormat:()=>FJ,$ZodCheckMultipleOf:()=>VJ,$ZodCheckMinSize:()=>gJ,$ZodCheckMinLength:()=>qJ,$ZodCheckMimeType:()=>uJ,$ZodCheckMaxSize:()=>MJ,$ZodCheckMaxLength:()=>HJ,$ZodCheckLowerCase:()=>CJ,$ZodCheckLessThan:()=>Pj,$ZodCheckLengthEquals:()=>kJ,$ZodCheckIncludes:()=>vJ,$ZodCheckGreaterThan:()=>Oj,$ZodCheckEndsWith:()=>xJ,$ZodCheckBigIntFormat:()=>KJ,$ZodCheck:()=>V_,$ZodCatch:()=>nW,$ZodCUID2:()=>aJ,$ZodCUID:()=>pJ,$ZodCIDRv6:()=>JW,$ZodCIDRv4:()=>AW,$ZodBoolean:()=>CD,$ZodBigIntFormat:()=>RW,$ZodBigInt:()=>Bj,$ZodBase64URL:()=>LW,$ZodBase64:()=>SW,$ZodAsyncError:()=>_6,$ZodArray:()=>MW,$ZodAny:()=>TW});var R$=f(()=>{m();Lj();eS();aD();LR();OR();k4();iA();nA();sW();zj();cJ();rD();SR();oD()});var ej={};i$(ej,{uppercase:()=>x4,trim:()=>m4,toUpperCase:()=>d4,toLowerCase:()=>n4,startsWith:()=>u4,slugify:()=>l4,size:()=>o6,regex:()=>v4,property:()=>tD,positive:()=>nD,overwrite:()=>M$,normalize:()=>c4,nonpositive:()=>lD,nonnegative:()=>iD,negative:()=>dD,multipleOf:()=>V6,minSize:()=>f$,minLength:()=>$6,mime:()=>r4,maxSize:()=>F6,maxLength:()=>p6,lte:()=>W$,lt:()=>w$,lowercase:()=>f4,length:()=>a6,includes:()=>y4,gte:()=>t_,gt:()=>v$,endsWith:()=>h4});var sj=f(()=>{R$()});var i4={};i$(i4,{time:()=>KP,duration:()=>MP,datetime:()=>VP,date:()=>FP,ZodISOTime:()=>_1,ZodISODuration:()=>$1,ZodISODateTime:()=>eD,ZodISODate:()=>sD});function VP(_){return DL(eD,_)}function FP(_){return NL(sD,_)}function KP(_){return jL(_1,_)}function MP(_){return IL($1,_)}var eD,sD,_1,$1;var U1=f(()=>{R$();N1();eD=B("ZodISODateTime",(_,$)=>{$W.init(_,$),R_.init(_,$)});sD=B("ZodISODate",(_,$)=>{UW.init(_,$),R_.init(_,$)});_1=B("ZodISOTime",(_,$)=>{DW.init(_,$),R_.init(_,$)});$1=B("ZodISODuration",(_,$)=>{NW.init(_,$),R_.init(_,$)})});var zR=(_,$)=>{HD.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>a0(_,U)},flatten:{value:(U)=>p0(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,i0,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,i0,2)}},isEmpty:{get(){return _.issues.length===0}}})},XR,U$;var gP=f(()=>{R$();R$();m();XR=B("ZodError",zR),U$=B("ZodError",zR,{Parent:Error})});var _I,$I,UI,DI,NI,jI,II,EI,AI,JI,WI,SI;var ZP=f(()=>{R$();gP();_I=e0(U$),$I=s0(U$),UI=_U(U$),DI=$U(U$),NI=Dj(U$),jI=Nj(U$),II=jj(U$),EI=Ij(U$),AI=Ej(U$),JI=Aj(U$),WI=Jj(U$),SI=Wj(U$)});var D1={};i$(D1,{xor:()=>QO,xid:()=>cP,void:()=>PO,uuidv7:()=>wP,uuidv6:()=>CP,uuidv4:()=>bP,uuid:()=>kP,url:()=>vP,unknown:()=>$4,union:()=>g1,undefined:()=>SO,ulid:()=>rP,uint64:()=>JO,uint32:()=>IO,tuple:()=>HI,transform:()=>H1,templateLiteral:()=>CO,symbol:()=>WO,superRefine:()=>D2,success:()=>HO,stringbool:()=>rO,stringFormat:()=>sP,string:()=>EU,strictObject:()=>RO,set:()=>FO,refine:()=>U2,record:()=>qI,readonly:()=>pI,promise:()=>wO,preprocess:()=>mO,prefault:()=>cI,pipe:()=>I1,partialRecord:()=>TO,optional:()=>JU,object:()=>XO,number:()=>PI,nullish:()=>ZO,nullable:()=>WU,null:()=>YI,nonoptional:()=>mI,never:()=>M1,nativeEnum:()=>KO,nanoid:()=>yP,nan:()=>qO,meta:()=>uO,map:()=>VO,mac:()=>dP,looseRecord:()=>BO,looseObject:()=>YO,literal:()=>MO,lazy:()=>sI,ksuid:()=>mP,keyof:()=>zO,jwt:()=>eP,json:()=>cO,ipv6:()=>lP,ipv4:()=>nP,invertCodec:()=>bO,intersection:()=>gI,int64:()=>AO,int32:()=>jO,int:()=>j1,instanceof:()=>hO,httpUrl:()=>fP,hostname:()=>_O,hex:()=>$O,hash:()=>UO,guid:()=>qP,function:()=>vO,float64:()=>NO,float32:()=>DO,file:()=>gO,exactOptional:()=>xI,enum:()=>Z1,emoji:()=>xP,email:()=>HP,e164:()=>aP,discriminatedUnion:()=>GO,describe:()=>yO,date:()=>OO,custom:()=>xO,cuid2:()=>hP,cuid:()=>uP,codec:()=>kO,cidrv6:()=>tP,cidrv4:()=>iP,check:()=>fO,catch:()=>lI,boolean:()=>OI,bigint:()=>EO,base64url:()=>pP,base64:()=>oP,array:()=>PU,any:()=>LO,_function:()=>vO,_default:()=>hI,_ZodString:()=>A1,ZodXor:()=>FI,ZodXID:()=>z1,ZodVoid:()=>BI,ZodUnknown:()=>GI,ZodUnion:()=>zU,ZodUndefined:()=>XI,ZodUUID:()=>x$,ZodURL:()=>SU,ZodULID:()=>O1,ZodType:()=>e,ZodTuple:()=>ZI,ZodTransform:()=>vI,ZodTemplateLiteral:()=>aI,ZodSymbol:()=>zI,ZodSuccess:()=>nI,ZodStringFormat:()=>R_,ZodString:()=>p4,ZodSet:()=>bI,ZodRecord:()=>t4,ZodReadonly:()=>oI,ZodPromise:()=>_2,ZodPreprocess:()=>tI,ZodPrefault:()=>rI,ZodPipe:()=>XU,ZodOptional:()=>q1,ZodObject:()=>OU,ZodNumberFormat:()=>U4,ZodNumber:()=>e4,ZodNullable:()=>yI,ZodNull:()=>RI,ZodNonOptional:()=>k1,ZodNever:()=>TI,ZodNanoID:()=>S1,ZodNaN:()=>iI,ZodMap:()=>kI,ZodMAC:()=>LI,ZodLiteral:()=>CI,ZodLazy:()=>eI,ZodKSUID:()=>X1,ZodJWT:()=>F1,ZodIntersection:()=>MI,ZodIPv6:()=>Y1,ZodIPv4:()=>R1,ZodGUID:()=>AU,ZodFunction:()=>$2,ZodFile:()=>wI,ZodExactOptional:()=>fI,ZodEnum:()=>o4,ZodEmoji:()=>W1,ZodEmail:()=>J1,ZodE164:()=>V1,ZodDiscriminatedUnion:()=>KI,ZodDefault:()=>uI,ZodDate:()=>LU,ZodCustomStringFormat:()=>a4,ZodCustom:()=>YU,ZodCodec:()=>RU,ZodCatch:()=>dI,ZodCUID2:()=>P1,ZodCUID:()=>L1,ZodCIDRv6:()=>G1,ZodCIDRv4:()=>Q1,ZodBoolean:()=>s4,ZodBigIntFormat:()=>K1,ZodBigInt:()=>_0,ZodBase64URL:()=>B1,ZodBase64:()=>T1,ZodArray:()=>VI,ZodAny:()=>QI});function E1(_,$,U){let N=Object.getPrototypeOf(_),D=RR.get(N);if(!D)D=new Set,RR.set(N,D);if(D.has($))return;D.add($);for(let j in U){let I=U[j];Object.defineProperty(N,j,{configurable:!0,enumerable:!1,get(){let E=I.bind(this);return Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:E}),E},set(E){Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:E})}})}}function EU(_){return _L(p4,_)}function HP(_){return Zj(J1,_)}function qP(_){return cD(AU,_)}function kP(_){return Hj(x$,_)}function bP(_){return qj(x$,_)}function CP(_){return kj(x$,_)}function wP(_){return bj(x$,_)}function vP(_){return mD(SU,_)}function fP(_){return mD(SU,{protocol:J$.httpProtocol,hostname:J$.domain,...k.normalizeParams(_)})}function xP(_){return Cj(W1,_)}function yP(_){return wj(S1,_)}function uP(_){return vj(L1,_)}function hP(_){return fj(P1,_)}function rP(_){return xj(O1,_)}function cP(_){return yj(z1,_)}function mP(_){return uj(X1,_)}function nP(_){return hj(R1,_)}function dP(_){return UL(LI,_)}function lP(_){return rj(Y1,_)}function iP(_){return cj(Q1,_)}function tP(_){return mj(G1,_)}function oP(_){return nj(T1,_)}function pP(_){return dj(B1,_)}function aP(_){return lj(V1,_)}function eP(_){return ij(F1,_)}function sP(_,$,U={}){return jU(a4,_,$,U)}function _O(_){return jU(a4,"hostname",J$.hostname,_)}function $O(_){return jU(a4,"hex",J$.hex,_)}function UO(_,$){let U=$?.enc??"hex",N=`${_}_${U}`,D=J$[N];if(!D)throw Error(`Unrecognized hash format: ${N}`);return jU(a4,N,D,$)}function PI(_){return EL(e4,_)}function j1(_){return JL(U4,_)}function DO(_){return WL(U4,_)}function NO(_){return SL(U4,_)}function jO(_){return LL(U4,_)}function IO(_){return PL(U4,_)}function OI(_){return OL(s4,_)}function EO(_){return XL(_0,_)}function AO(_){return YL(K1,_)}function JO(_){return QL(K1,_)}function WO(_){return GL(zI,_)}function SO(_){return TL(XI,_)}function YI(_){return BL(RI,_)}function LO(){return VL(QI)}function $4(){return FL(GI)}function M1(_){return KL(TI,_)}function PO(_){return ML(BI,_)}function OO(_){return gL(LU,_)}function PU(_,$){return qL(VI,_,$)}function zO(_){let $=_._zod.def.shape;return Z1(Object.keys($))}function XO(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new OU(U)}function RO(_,$){return new OU({type:"object",shape:_,catchall:M1(),...k.normalizeParams($)})}function YO(_,$){return new OU({type:"object",shape:_,catchall:$4(),...k.normalizeParams($)})}function g1(_,$){return new zU({type:"union",options:_,...k.normalizeParams($)})}function QO(_,$){return new FI({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function GO(_,$,U){return new KI({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function gI(_,$){return new MI({type:"intersection",left:_,right:$})}function HI(_,$,U){let N=$ instanceof p,D=N?U:$;return new ZI({type:"tuple",items:_,rest:N?$:null,...k.normalizeParams(D)})}function qI(_,$,U){if(!$||!$._zod)return new t4({type:"record",keyType:EU(),valueType:_,...k.normalizeParams($)});return new t4({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function TO(_,$,U){let N=i_(_);return N._zod.values=void 0,new t4({type:"record",keyType:N,valueType:$,...k.normalizeParams(U)})}function BO(_,$,U){return new t4({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function VO(_,$,U){return new kI({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function FO(_,$){return new bI({type:"set",valueType:_,...k.normalizeParams($)})}function Z1(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((N)=>[N,N])):_;return new o4({type:"enum",entries:U,...k.normalizeParams($)})}function KO(_,$){return new o4({type:"enum",entries:_,...k.normalizeParams($)})}function MO(_,$){return new CI({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function gO(_){return kL(wI,_)}function H1(_){return new vI({type:"transform",transform:_})}function JU(_){return new q1({type:"optional",innerType:_})}function xI(_){return new fI({type:"optional",innerType:_})}function WU(_){return new yI({type:"nullable",innerType:_})}function ZO(_){return JU(WU(_))}function hI(_,$){return new uI({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function cI(_,$){return new rI({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function mI(_,$){return new k1({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function HO(_){return new nI({type:"success",innerType:_})}function lI(_,$){return new dI({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function qO(_){return HL(iI,_)}function I1(_,$){return new XU({type:"pipe",in:_,out:$})}function kO(_,$,U){return new RU({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function bO(_){let $=_._zod.def;return new RU({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function pI(_){return new oI({type:"readonly",innerType:_})}function CO(_,$){return new aI({type:"template_literal",parts:_,...k.normalizeParams($)})}function sI(_){return new eI({type:"lazy",getter:_})}function wO(_){return new _2({type:"promise",innerType:_})}function vO(_){return new $2({type:"function",input:Array.isArray(_?.input)?HI(_?.input):_?.input??PU($4()),output:_?.output??$4()})}function fO(_){let $=new V_({check:"custom"});return $._zod.check=_,$}function xO(_,$){return bL(YU,_??(()=>!0),$)}function U2(_,$={}){return CL(YU,_,$)}function D2(_,$){return wL(_,$)}function hO(_,$={}){let U=new YU({type:"custom",check:"custom",fn:(N)=>N instanceof _,abort:!0,...k.normalizeParams($)});return U._zod.bag.Class=_,U._zod.check=(N)=>{if(!(N.value instanceof _))N.issues.push({code:"invalid_type",expected:_.name,input:N.value,inst:U,path:[...U._zod.def.path??[]]})},U}function cO(_){let $=sI(()=>{return g1([EU(_),PI(),OI(),YI(),PU($),qI(EU(),$)])});return $}function mO(_,$){return new tI({type:"pipe",in:H1(_),out:$})}var RR,e,A1,p4,R_,J1,AU,x$,SU,W1,S1,L1,P1,O1,z1,X1,R1,LI,Y1,Q1,G1,T1,B1,V1,F1,a4,e4,U4,s4,_0,K1,zI,XI,RI,QI,GI,TI,BI,LU,VI,OU,zU,FI,KI,MI,ZI,t4,kI,bI,o4,CI,wI,vI,q1,fI,yI,uI,rI,k1,nI,dI,iI,XU,RU,tI,oI,aI,eI,_2,$2,YU,yO,uO,rO=(..._)=>xL({Codec:RU,Boolean:s4,String:p4},..._);var N1=f(()=>{R$();R$();aD();oD();sj();U1();ZP();RR=new WeakMap;e=B("ZodType",(_,$)=>{return p.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:IU(_,"input"),output:IU(_,"output")}}),_.toJSONSchema=yL(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,N)=>_I(_,U,N,{callee:_.parse}),_.safeParse=(U,N)=>UI(_,U,N),_.parseAsync=async(U,N)=>$I(_,U,N,{callee:_.parseAsync}),_.safeParseAsync=async(U,N)=>DI(_,U,N),_.spa=_.safeParseAsync,_.encode=(U,N)=>NI(_,U,N),_.decode=(U,N)=>jI(_,U,N),_.encodeAsync=async(U,N)=>II(_,U,N),_.decodeAsync=async(U,N)=>EI(_,U,N),_.safeEncode=(U,N)=>AI(_,U,N),_.safeDecode=(U,N)=>JI(_,U,N),_.safeEncodeAsync=async(U,N)=>WI(_,U,N),_.safeDecodeAsync=async(U,N)=>SI(_,U,N),E1(_,"ZodType",{check(...U){let N=this.def;return this.clone(k.mergeDefs(N,{checks:[...N.checks??[],...U.map((D)=>typeof D==="function"?{_zod:{check:D,def:{check:"custom"},onattach:[]}}:D)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,N){return i_(this,U,N)},brand(){return this},register(U,N){return U.add(this,N),this},refine(U,N){return this.check(U2(U,N))},superRefine(U,N){return this.check(D2(U,N))},overwrite(U){return this.check(M$(U))},optional(){return JU(this)},exactOptional(){return xI(this)},nullable(){return WU(this)},nullish(){return JU(WU(this))},nonoptional(U){return mI(this,U)},array(){return PU(this)},or(U){return g1([this,U])},and(U){return gI(this,U)},transform(U){return I1(this,H1(U))},default(U){return hI(this,U)},prefault(U){return cI(this,U)},catch(U){return lI(this,U)},pipe(U){return I1(this,U)},readonly(){return pI(this)},describe(U){let N=this.clone();return m_.add(N,{description:U}),N},meta(...U){if(U.length===0)return m_.get(this);let N=this.clone();return m_.add(N,U[0]),N},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty(_,"description",{get(){return m_.get(_)?.description},configurable:!0}),_}),A1=B("_ZodString",(_,$)=>{w4.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>uL(_,N,D,j);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,E1(_,"_ZodString",{regex(...N){return this.check(v4(...N))},includes(...N){return this.check(y4(...N))},startsWith(...N){return this.check(u4(...N))},endsWith(...N){return this.check(h4(...N))},min(...N){return this.check($6(...N))},max(...N){return this.check(p6(...N))},length(...N){return this.check(a6(...N))},nonempty(...N){return this.check($6(1,...N))},lowercase(N){return this.check(f4(N))},uppercase(N){return this.check(x4(N))},trim(){return this.check(m4())},normalize(...N){return this.check(c4(...N))},toLowerCase(){return this.check(n4())},toUpperCase(){return this.check(d4())},slugify(){return this.check(l4())}})}),p4=B("ZodString",(_,$)=>{w4.init(_,$),A1.init(_,$),_.email=(U)=>_.check(Zj(J1,U)),_.url=(U)=>_.check(mD(SU,U)),_.jwt=(U)=>_.check(ij(F1,U)),_.emoji=(U)=>_.check(Cj(W1,U)),_.guid=(U)=>_.check(cD(AU,U)),_.uuid=(U)=>_.check(Hj(x$,U)),_.uuidv4=(U)=>_.check(qj(x$,U)),_.uuidv6=(U)=>_.check(kj(x$,U)),_.uuidv7=(U)=>_.check(bj(x$,U)),_.nanoid=(U)=>_.check(wj(S1,U)),_.guid=(U)=>_.check(cD(AU,U)),_.cuid=(U)=>_.check(vj(L1,U)),_.cuid2=(U)=>_.check(fj(P1,U)),_.ulid=(U)=>_.check(xj(O1,U)),_.base64=(U)=>_.check(nj(T1,U)),_.base64url=(U)=>_.check(dj(B1,U)),_.xid=(U)=>_.check(yj(z1,U)),_.ksuid=(U)=>_.check(uj(X1,U)),_.ipv4=(U)=>_.check(hj(R1,U)),_.ipv6=(U)=>_.check(rj(Y1,U)),_.cidrv4=(U)=>_.check(cj(Q1,U)),_.cidrv6=(U)=>_.check(mj(G1,U)),_.e164=(U)=>_.check(lj(V1,U)),_.datetime=(U)=>_.check(VP(U)),_.date=(U)=>_.check(FP(U)),_.time=(U)=>_.check(KP(U)),_.duration=(U)=>_.check(MP(U))});R_=B("ZodStringFormat",(_,$)=>{B_.init(_,$),A1.init(_,$)}),J1=B("ZodEmail",(_,$)=>{lJ.init(_,$),R_.init(_,$)});AU=B("ZodGUID",(_,$)=>{nJ.init(_,$),R_.init(_,$)});x$=B("ZodUUID",(_,$)=>{dJ.init(_,$),R_.init(_,$)});SU=B("ZodURL",(_,$)=>{iJ.init(_,$),R_.init(_,$)});W1=B("ZodEmoji",(_,$)=>{tJ.init(_,$),R_.init(_,$)});S1=B("ZodNanoID",(_,$)=>{oJ.init(_,$),R_.init(_,$)});L1=B("ZodCUID",(_,$)=>{pJ.init(_,$),R_.init(_,$)});P1=B("ZodCUID2",(_,$)=>{aJ.init(_,$),R_.init(_,$)});O1=B("ZodULID",(_,$)=>{eJ.init(_,$),R_.init(_,$)});z1=B("ZodXID",(_,$)=>{sJ.init(_,$),R_.init(_,$)});X1=B("ZodKSUID",(_,$)=>{_W.init(_,$),R_.init(_,$)});R1=B("ZodIPv4",(_,$)=>{jW.init(_,$),R_.init(_,$)});LI=B("ZodMAC",(_,$)=>{EW.init(_,$),R_.init(_,$)});Y1=B("ZodIPv6",(_,$)=>{IW.init(_,$),R_.init(_,$)});Q1=B("ZodCIDRv4",(_,$)=>{AW.init(_,$),R_.init(_,$)});G1=B("ZodCIDRv6",(_,$)=>{JW.init(_,$),R_.init(_,$)});T1=B("ZodBase64",(_,$)=>{SW.init(_,$),R_.init(_,$)});B1=B("ZodBase64URL",(_,$)=>{LW.init(_,$),R_.init(_,$)});V1=B("ZodE164",(_,$)=>{PW.init(_,$),R_.init(_,$)});F1=B("ZodJWT",(_,$)=>{OW.init(_,$),R_.init(_,$)});a4=B("ZodCustomStringFormat",(_,$)=>{zW.init(_,$),R_.init(_,$)});e4=B("ZodNumber",(_,$)=>{Tj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>hL(_,N,D,j),E1(_,"ZodNumber",{gt(N,D){return this.check(v$(N,D))},gte(N,D){return this.check(t_(N,D))},min(N,D){return this.check(t_(N,D))},lt(N,D){return this.check(w$(N,D))},lte(N,D){return this.check(W$(N,D))},max(N,D){return this.check(W$(N,D))},int(N){return this.check(j1(N))},safe(N){return this.check(j1(N))},positive(N){return this.check(v$(0,N))},nonnegative(N){return this.check(t_(0,N))},negative(N){return this.check(w$(0,N))},nonpositive(N){return this.check(W$(0,N))},multipleOf(N,D){return this.check(V6(N,D))},step(N,D){return this.check(V6(N,D))},finite(){return this}});let U=_._zod.bag;_.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,_.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,_.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),_.isFinite=!0,_.format=U.format??null});U4=B("ZodNumberFormat",(_,$)=>{XW.init(_,$),e4.init(_,$)});s4=B("ZodBoolean",(_,$)=>{CD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>rL(_,U,N,D)});_0=B("ZodBigInt",(_,$)=>{Bj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>cL(_,N,D,j),_.gte=(N,D)=>_.check(t_(N,D)),_.min=(N,D)=>_.check(t_(N,D)),_.gt=(N,D)=>_.check(v$(N,D)),_.gte=(N,D)=>_.check(t_(N,D)),_.min=(N,D)=>_.check(t_(N,D)),_.lt=(N,D)=>_.check(w$(N,D)),_.lte=(N,D)=>_.check(W$(N,D)),_.max=(N,D)=>_.check(W$(N,D)),_.positive=(N)=>_.check(v$(BigInt(0),N)),_.negative=(N)=>_.check(w$(BigInt(0),N)),_.nonpositive=(N)=>_.check(W$(BigInt(0),N)),_.nonnegative=(N)=>_.check(t_(BigInt(0),N)),_.multipleOf=(N,D)=>_.check(V6(N,D));let U=_._zod.bag;_.minValue=U.minimum??null,_.maxValue=U.maximum??null,_.format=U.format??null});K1=B("ZodBigIntFormat",(_,$)=>{RW.init(_,$),_0.init(_,$)});zI=B("ZodSymbol",(_,$)=>{YW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>mL(_,U,N,D)});XI=B("ZodUndefined",(_,$)=>{QW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>dL(_,U,N,D)});RI=B("ZodNull",(_,$)=>{GW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>nL(_,U,N,D)});QI=B("ZodAny",(_,$)=>{TW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>tL(_,U,N,D)});GI=B("ZodUnknown",(_,$)=>{BW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>oL(_,U,N,D)});TI=B("ZodNever",(_,$)=>{VW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>iL(_,U,N,D)});BI=B("ZodVoid",(_,$)=>{FW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>lL(_,U,N,D)});LU=B("ZodDate",(_,$)=>{KW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>pL(_,N,D,j),_.min=(N,D)=>_.check(t_(N,D)),_.max=(N,D)=>_.check(W$(N,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});VI=B("ZodArray",(_,$)=>{MW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>AP(_,U,N,D),_.element=$.element,E1(_,"ZodArray",{min(U,N){return this.check($6(U,N))},nonempty(U){return this.check($6(1,U))},max(U,N){return this.check(p6(U,N))},length(U,N){return this.check(a6(U,N))},unwrap(){return this.element}})});OU=B("ZodObject",(_,$)=>{gW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>JP(_,U,N,D),k.defineLazy(_,"shape",()=>{return $.shape}),E1(_,"ZodObject",{keyof(){return Z1(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:$4()})},loose(){return this.clone({...this._zod.def,catchall:$4()})},strict(){return this.clone({...this._zod.def,catchall:M1()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return k.extend(this,U)},safeExtend(U){return k.safeExtend(this,U)},merge(U){return k.merge(this,U)},pick(U){return k.pick(this,U)},omit(U){return k.omit(this,U)},partial(...U){return k.partial(q1,this,U[0])},required(...U){return k.required(k1,this,U[0])}})});zU=B("ZodUnion",(_,$)=>{wD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>pj(_,U,N,D),_.options=$.options});FI=B("ZodXor",(_,$)=>{zU.init(_,$),ZW.init(_,$),_._zod.processJSONSchema=(U,N,D)=>pj(_,U,N,D),_.options=$.options});KI=B("ZodDiscriminatedUnion",(_,$)=>{zU.init(_,$),HW.init(_,$)});MI=B("ZodIntersection",(_,$)=>{qW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>WP(_,U,N,D)});ZI=B("ZodTuple",(_,$)=>{Vj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>SP(_,U,N,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});t4=B("ZodRecord",(_,$)=>{kW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>LP(_,U,N,D),_.keyType=$.keyType,_.valueType=$.valueType});kI=B("ZodMap",(_,$)=>{bW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>IP(_,U,N,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(f$(...U)),_.nonempty=(U)=>_.check(f$(1,U)),_.max=(...U)=>_.check(F6(...U)),_.size=(...U)=>_.check(o6(...U))});bI=B("ZodSet",(_,$)=>{CW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>EP(_,U,N,D),_.min=(...U)=>_.check(f$(...U)),_.nonempty=(U)=>_.check(f$(1,U)),_.max=(...U)=>_.check(F6(...U)),_.size=(...U)=>_.check(o6(...U))});o4=B("ZodEnum",(_,$)=>{wW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>aL(_,N,D,j),_.enum=$.entries,_.options=Object.values($.entries);let U=new Set(Object.keys($.entries));_.extract=(N,D)=>{let j={};for(let I of N)if(U.has(I))j[I]=$.entries[I];else throw Error(`Key ${I} not found in enum`);return new o4({...$,checks:[],...k.normalizeParams(D),entries:j})},_.exclude=(N,D)=>{let j={...$.entries};for(let I of N)if(U.has(I))delete j[I];else throw Error(`Key ${I} not found in enum`);return new o4({...$,checks:[],...k.normalizeParams(D),entries:j})}});CI=B("ZodLiteral",(_,$)=>{vW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>eL(_,U,N,D),_.values=new Set($.values),Object.defineProperty(_,"value",{get(){if($.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return $.values[0]}})});wI=B("ZodFile",(_,$)=>{fW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>$P(_,U,N,D),_.min=(U,N)=>_.check(f$(U,N)),_.max=(U,N)=>_.check(F6(U,N)),_.mime=(U,N)=>_.check(r4(Array.isArray(U)?U:[U],N))});vI=B("ZodTransform",(_,$)=>{xW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>jP(_,U,N,D),_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new q4(_.constructor.name);U.addIssue=(j)=>{if(typeof j==="string")U.issues.push(k.issue(j,U.value,$));else{let I=j;if(I.fatal)I.continue=!1;I.code??(I.code="custom"),I.input??(I.input=U.value),I.inst??(I.inst=_),U.issues.push(k.issue(I))}};let D=$.transform(U.value,U);if(D instanceof Promise)return D.then((j)=>{return U.value=j,U.fallback=!0,U});return U.value=D,U.fallback=!0,U}});q1=B("ZodOptional",(_,$)=>{Fj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>aj(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});fI=B("ZodExactOptional",(_,$)=>{yW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>aj(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});yI=B("ZodNullable",(_,$)=>{uW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>PP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});uI=B("ZodDefault",(_,$)=>{hW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>zP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});rI=B("ZodPrefault",(_,$)=>{rW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>XP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});k1=B("ZodNonOptional",(_,$)=>{cW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>OP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});nI=B("ZodSuccess",(_,$)=>{mW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>UP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});dI=B("ZodCatch",(_,$)=>{nW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>RP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});iI=B("ZodNaN",(_,$)=>{dW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>sL(_,U,N,D)});XU=B("ZodPipe",(_,$)=>{Kj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>YP(_,U,N,D),_.in=$.in,_.out=$.out});RU=B("ZodCodec",(_,$)=>{XU.init(_,$),vD.init(_,$)});tI=B("ZodPreprocess",(_,$)=>{XU.init(_,$),lW.init(_,$)}),oI=B("ZodReadonly",(_,$)=>{iW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>QP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});aI=B("ZodTemplateLiteral",(_,$)=>{tW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>_P(_,U,N,D)});eI=B("ZodLazy",(_,$)=>{aW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>TP(_,U,N,D),_.unwrap=()=>_._zod.def.getter()});_2=B("ZodPromise",(_,$)=>{pW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>GP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});$2=B("ZodFunction",(_,$)=>{oW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>NP(_,U,N,D)});YU=B("ZodCustom",(_,$)=>{eW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>DP(_,U,N,D)});yO=vL,uO=fL});function QR(_){C_({customError:_})}function GR(){return C_().customError}var YR,N2;var TR=f(()=>{R$();YR={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(_){})(N2||(N2={}))});function ZH(_,$){let U=_.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return $??"draft-2020-12"}function HH(_,$){if(!_.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=_.slice(1).split("/").filter(Boolean);if(U.length===0)return $.rootSchema;let N=$.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===N){let D=U[1];if(!D||!$.defs[D])throw Error(`Reference not found: ${_}`);return $.defs[D]}throw Error(`Reference not found: ${_}`)}function BR(_,$){if(_.not!==void 0){if(typeof _.not==="object"&&Object.keys(_.not).length===0)return y.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(_.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(_.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(_.if!==void 0||_.then!==void 0||_.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(_.dependentSchemas!==void 0||_.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(_.$ref){let D=_.$ref;if($.refs.has(D))return $.refs.get(D);if($.processing.has(D))return y.lazy(()=>{if(!$.refs.has(D))throw Error(`Circular reference not resolved: ${D}`);return $.refs.get(D)});$.processing.add(D);let j=HH(D,$),I=o_(j,$);return $.refs.set(D,I),$.processing.delete(D),I}if(_.enum!==void 0){let D=_.enum;if($.version==="openapi-3.0"&&_.nullable===!0&&D.length===1&&D[0]===null)return y.null();if(D.length===0)return y.never();if(D.length===1)return y.literal(D[0]);if(D.every((I)=>typeof I==="string"))return y.enum(D);let j=D.map((I)=>y.literal(I));if(j.length<2)return j[0];return y.union([j[0],j[1],...j.slice(2)])}if(_.const!==void 0)return y.literal(_.const);let U=_.type;if(Array.isArray(U)){let D=U.map((j)=>{let I={..._,type:j};return BR(I,$)});if(D.length===0)return y.never();if(D.length===1)return D[0];return y.union(D)}if(!U)return y.any();let N;switch(U){case"string":{let D=y.string();if(_.format){let j=_.format;if(j==="email")D=D.check(y.email());else if(j==="uri"||j==="uri-reference")D=D.check(y.url());else if(j==="uuid"||j==="guid")D=D.check(y.uuid());else if(j==="date-time")D=D.check(y.iso.datetime());else if(j==="date")D=D.check(y.iso.date());else if(j==="time")D=D.check(y.iso.time());else if(j==="duration")D=D.check(y.iso.duration());else if(j==="ipv4")D=D.check(y.ipv4());else if(j==="ipv6")D=D.check(y.ipv6());else if(j==="mac")D=D.check(y.mac());else if(j==="cidr")D=D.check(y.cidrv4());else if(j==="cidr-v6")D=D.check(y.cidrv6());else if(j==="base64")D=D.check(y.base64());else if(j==="base64url")D=D.check(y.base64url());else if(j==="e164")D=D.check(y.e164());else if(j==="jwt")D=D.check(y.jwt());else if(j==="emoji")D=D.check(y.emoji());else if(j==="nanoid")D=D.check(y.nanoid());else if(j==="cuid")D=D.check(y.cuid());else if(j==="cuid2")D=D.check(y.cuid2());else if(j==="ulid")D=D.check(y.ulid());else if(j==="xid")D=D.check(y.xid());else if(j==="ksuid")D=D.check(y.ksuid())}if(typeof _.minLength==="number")D=D.min(_.minLength);if(typeof _.maxLength==="number")D=D.max(_.maxLength);if(_.pattern)D=D.regex(new RegExp(_.pattern));N=D;break}case"number":case"integer":{let D=U==="integer"?y.number().int():y.number();if(typeof _.minimum==="number")D=D.min(_.minimum);if(typeof _.maximum==="number")D=D.max(_.maximum);if(typeof _.exclusiveMinimum==="number")D=D.gt(_.exclusiveMinimum);else if(_.exclusiveMinimum===!0&&typeof _.minimum==="number")D=D.gt(_.minimum);if(typeof _.exclusiveMaximum==="number")D=D.lt(_.exclusiveMaximum);else if(_.exclusiveMaximum===!0&&typeof _.maximum==="number")D=D.lt(_.maximum);if(typeof _.multipleOf==="number")D=D.multipleOf(_.multipleOf);N=D;break}case"boolean":{N=y.boolean();break}case"null":{N=y.null();break}case"object":{let D={},j=_.properties||{},I=new Set(_.required||[]);for(let[J,W]of Object.entries(j)){let S=o_(W,$);D[J]=I.has(J)?S:S.optional()}if(_.propertyNames){let J=o_(_.propertyNames,$),W=_.additionalProperties&&typeof _.additionalProperties==="object"?o_(_.additionalProperties,$):y.any();if(Object.keys(D).length===0){N=y.record(J,W);break}let S=y.object(D).passthrough(),L=y.looseRecord(J,W);N=y.intersection(S,L);break}if(_.patternProperties){let J=_.patternProperties,W=Object.keys(J),S=[];for(let X of W){let z=o_(J[X],$),Y=y.string().regex(new RegExp(X));S.push(y.looseRecord(Y,z))}let L=[];if(Object.keys(D).length>0)L.push(y.object(D).passthrough());if(L.push(...S),L.length===0)N=y.object({}).passthrough();else if(L.length===1)N=L[0];else{let X=y.intersection(L[0],L[1]);for(let z=2;zo_(J,$)),E=j&&typeof j==="object"&&!Array.isArray(j)?o_(j,$):void 0;if(E)N=y.tuple(I).rest(E);else N=y.tuple(I);if(typeof _.minItems==="number")N=N.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")N=N.check(y.maxLength(_.maxItems))}else if(Array.isArray(j)){let I=j.map((J)=>o_(J,$)),E=_.additionalItems&&typeof _.additionalItems==="object"?o_(_.additionalItems,$):void 0;if(E)N=y.tuple(I).rest(E);else N=y.tuple(I);if(typeof _.minItems==="number")N=N.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")N=N.check(y.maxLength(_.maxItems))}else if(j!==void 0){let I=o_(j,$),E=y.array(I);if(typeof _.minItems==="number")E=E.min(_.minItems);if(typeof _.maxItems==="number")E=E.max(_.maxItems);N=E}else N=y.array(y.any());break}default:throw Error(`Unsupported type: ${U}`)}return N}function o_(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=BR(_,$),N=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let E=_.anyOf.map((W)=>o_(W,$)),J=y.union(E);U=N?y.intersection(U,J):J}if(_.oneOf&&Array.isArray(_.oneOf)){let E=_.oneOf.map((W)=>o_(W,$)),J=y.xor(E);U=N?y.intersection(U,J):J}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)U=N?U:y.any();else{let E=N?U:o_(_.allOf[0],$),J=N?0:1;for(let W=J;W<_.allOf.length;W++)E=y.intersection(E,o_(_.allOf[W],$));U=E}if(_.nullable===!0&&$.version==="openapi-3.0")U=y.nullable(U);if(_.readOnly===!0)U=y.readonly(U);if(_.default!==void 0)U=U.default(_.default);let D={},j=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let E of j)if(E in _)D[E]=_[E];let I=["contentEncoding","contentMediaType","contentSchema"];for(let E of I)if(E in _)D[E]=_[E];for(let E of Object.keys(_))if(!gH.has(E))D[E]=_[E];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function nO(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U;try{U=JSON.parse(JSON.stringify(_))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let N=ZH(U,$?.defaultTarget),D=U.$defs||U.definitions||{},j={version:N,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??m_};return o_(U,j)}var y,gH;var VR=f(()=>{rD();sj();U1();N1();y={...D1,...ej,iso:i4},gH=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 j2={};i$(j2,{string:()=>qH,number:()=>kH,date:()=>wH,boolean:()=>bH,bigint:()=>CH});function qH(_){return $L(p4,_)}function kH(_){return AL(e4,_)}function bH(_){return zL(s4,_)}function CH(_){return RL(_0,_)}function wH(_){return ZL(LU,_)}var FR=f(()=>{R$();N1()});var I2={};i$(I2,{xor:()=>QO,xid:()=>cP,void:()=>PO,uuidv7:()=>wP,uuidv6:()=>CP,uuidv4:()=>bP,uuid:()=>kP,util:()=>k,url:()=>vP,uppercase:()=>x4,unknown:()=>$4,union:()=>g1,undefined:()=>SO,ulid:()=>rP,uint64:()=>JO,uint32:()=>IO,tuple:()=>HI,trim:()=>m4,treeifyError:()=>sN,transform:()=>H1,toUpperCase:()=>d4,toLowerCase:()=>n4,toJSONSchema:()=>pD,templateLiteral:()=>CO,symbol:()=>WO,superRefine:()=>D2,success:()=>HO,stringbool:()=>rO,stringFormat:()=>sP,string:()=>EU,strictObject:()=>RO,startsWith:()=>u4,slugify:()=>l4,size:()=>o6,setErrorMap:()=>QR,set:()=>FO,safeParseAsync:()=>DI,safeParse:()=>UI,safeEncodeAsync:()=>WI,safeEncode:()=>AI,safeDecodeAsync:()=>SI,safeDecode:()=>JI,registry:()=>hD,regexes:()=>J$,regex:()=>v4,refine:()=>U2,record:()=>qI,readonly:()=>pI,property:()=>tD,promise:()=>wO,prettifyError:()=>_j,preprocess:()=>mO,prefault:()=>cI,positive:()=>nD,pipe:()=>I1,partialRecord:()=>TO,parseAsync:()=>$I,parse:()=>_I,overwrite:()=>M$,optional:()=>JU,object:()=>XO,number:()=>PI,nullish:()=>ZO,nullable:()=>WU,null:()=>YI,normalize:()=>c4,nonpositive:()=>lD,nonoptional:()=>mI,nonnegative:()=>iD,never:()=>M1,negative:()=>dD,nativeEnum:()=>KO,nanoid:()=>yP,nan:()=>qO,multipleOf:()=>V6,minSize:()=>f$,minLength:()=>$6,mime:()=>r4,meta:()=>uO,maxSize:()=>F6,maxLength:()=>p6,map:()=>VO,mac:()=>dP,lte:()=>W$,lt:()=>w$,lowercase:()=>f4,looseRecord:()=>BO,looseObject:()=>YO,locales:()=>NU,literal:()=>MO,length:()=>a6,lazy:()=>sI,ksuid:()=>mP,keyof:()=>zO,jwt:()=>eP,json:()=>cO,iso:()=>i4,ipv6:()=>lP,ipv4:()=>nP,invertCodec:()=>bO,intersection:()=>gI,int64:()=>AO,int32:()=>jO,int:()=>j1,instanceof:()=>hO,includes:()=>y4,httpUrl:()=>fP,hostname:()=>_O,hex:()=>$O,hash:()=>UO,guid:()=>qP,gte:()=>t_,gt:()=>v$,globalRegistry:()=>m_,getErrorMap:()=>GR,function:()=>vO,fromJSONSchema:()=>nO,formatError:()=>a0,float64:()=>NO,float32:()=>DO,flattenError:()=>p0,file:()=>gO,exactOptional:()=>xI,enum:()=>Z1,endsWith:()=>h4,encodeAsync:()=>II,encode:()=>NI,emoji:()=>xP,email:()=>HP,e164:()=>aP,discriminatedUnion:()=>GO,describe:()=>yO,decodeAsync:()=>EI,decode:()=>jI,date:()=>OO,custom:()=>xO,cuid2:()=>hP,cuid:()=>uP,core:()=>U6,config:()=>C_,coerce:()=>j2,codec:()=>kO,clone:()=>i_,cidrv6:()=>tP,cidrv4:()=>iP,check:()=>fO,catch:()=>lI,boolean:()=>OI,bigint:()=>EO,base64url:()=>pP,base64:()=>oP,array:()=>PU,any:()=>LO,_function:()=>vO,_default:()=>hI,_ZodString:()=>A1,ZodXor:()=>FI,ZodXID:()=>z1,ZodVoid:()=>BI,ZodUnknown:()=>GI,ZodUnion:()=>zU,ZodUndefined:()=>XI,ZodUUID:()=>x$,ZodURL:()=>SU,ZodULID:()=>O1,ZodType:()=>e,ZodTuple:()=>ZI,ZodTransform:()=>vI,ZodTemplateLiteral:()=>aI,ZodSymbol:()=>zI,ZodSuccess:()=>nI,ZodStringFormat:()=>R_,ZodString:()=>p4,ZodSet:()=>bI,ZodRecord:()=>t4,ZodRealError:()=>U$,ZodReadonly:()=>oI,ZodPromise:()=>_2,ZodPreprocess:()=>tI,ZodPrefault:()=>rI,ZodPipe:()=>XU,ZodOptional:()=>q1,ZodObject:()=>OU,ZodNumberFormat:()=>U4,ZodNumber:()=>e4,ZodNullable:()=>yI,ZodNull:()=>RI,ZodNonOptional:()=>k1,ZodNever:()=>TI,ZodNanoID:()=>S1,ZodNaN:()=>iI,ZodMap:()=>kI,ZodMAC:()=>LI,ZodLiteral:()=>CI,ZodLazy:()=>eI,ZodKSUID:()=>X1,ZodJWT:()=>F1,ZodIssueCode:()=>YR,ZodIntersection:()=>MI,ZodISOTime:()=>_1,ZodISODuration:()=>$1,ZodISODateTime:()=>eD,ZodISODate:()=>sD,ZodIPv6:()=>Y1,ZodIPv4:()=>R1,ZodGUID:()=>AU,ZodFunction:()=>$2,ZodFirstPartyTypeKind:()=>N2,ZodFile:()=>wI,ZodExactOptional:()=>fI,ZodError:()=>XR,ZodEnum:()=>o4,ZodEmoji:()=>W1,ZodEmail:()=>J1,ZodE164:()=>V1,ZodDiscriminatedUnion:()=>KI,ZodDefault:()=>uI,ZodDate:()=>LU,ZodCustomStringFormat:()=>a4,ZodCustom:()=>YU,ZodCodec:()=>RU,ZodCatch:()=>dI,ZodCUID2:()=>P1,ZodCUID:()=>L1,ZodCIDRv6:()=>G1,ZodCIDRv4:()=>Q1,ZodBoolean:()=>s4,ZodBigIntFormat:()=>K1,ZodBigInt:()=>_0,ZodBase64URL:()=>B1,ZodBase64:()=>T1,ZodArray:()=>VI,ZodAny:()=>QI,TimePrecision:()=>tj,NEVER:()=>oN,$output:()=>Mj,$input:()=>gj,$brand:()=>pN});var dO=f(()=>{R$();R$();JS();R$();aD();VR();eS();U1();U1();FR();N1();sj();gP();ZP();TR();C_(fD())});var KR={};i$(KR,{z:()=>I2,xor:()=>QO,xid:()=>cP,void:()=>PO,uuidv7:()=>wP,uuidv6:()=>CP,uuidv4:()=>bP,uuid:()=>kP,util:()=>k,url:()=>vP,uppercase:()=>x4,unknown:()=>$4,union:()=>g1,undefined:()=>SO,ulid:()=>rP,uint64:()=>JO,uint32:()=>IO,tuple:()=>HI,trim:()=>m4,treeifyError:()=>sN,transform:()=>H1,toUpperCase:()=>d4,toLowerCase:()=>n4,toJSONSchema:()=>pD,templateLiteral:()=>CO,symbol:()=>WO,superRefine:()=>D2,success:()=>HO,stringbool:()=>rO,stringFormat:()=>sP,string:()=>EU,strictObject:()=>RO,startsWith:()=>u4,slugify:()=>l4,size:()=>o6,setErrorMap:()=>QR,set:()=>FO,safeParseAsync:()=>DI,safeParse:()=>UI,safeEncodeAsync:()=>WI,safeEncode:()=>AI,safeDecodeAsync:()=>SI,safeDecode:()=>JI,registry:()=>hD,regexes:()=>J$,regex:()=>v4,refine:()=>U2,record:()=>qI,readonly:()=>pI,property:()=>tD,promise:()=>wO,prettifyError:()=>_j,preprocess:()=>mO,prefault:()=>cI,positive:()=>nD,pipe:()=>I1,partialRecord:()=>TO,parseAsync:()=>$I,parse:()=>_I,overwrite:()=>M$,optional:()=>JU,object:()=>XO,number:()=>PI,nullish:()=>ZO,nullable:()=>WU,null:()=>YI,normalize:()=>c4,nonpositive:()=>lD,nonoptional:()=>mI,nonnegative:()=>iD,never:()=>M1,negative:()=>dD,nativeEnum:()=>KO,nanoid:()=>yP,nan:()=>qO,multipleOf:()=>V6,minSize:()=>f$,minLength:()=>$6,mime:()=>r4,meta:()=>uO,maxSize:()=>F6,maxLength:()=>p6,map:()=>VO,mac:()=>dP,lte:()=>W$,lt:()=>w$,lowercase:()=>f4,looseRecord:()=>BO,looseObject:()=>YO,locales:()=>NU,literal:()=>MO,length:()=>a6,lazy:()=>sI,ksuid:()=>mP,keyof:()=>zO,jwt:()=>eP,json:()=>cO,iso:()=>i4,ipv6:()=>lP,ipv4:()=>nP,invertCodec:()=>bO,intersection:()=>gI,int64:()=>AO,int32:()=>jO,int:()=>j1,instanceof:()=>hO,includes:()=>y4,httpUrl:()=>fP,hostname:()=>_O,hex:()=>$O,hash:()=>UO,guid:()=>qP,gte:()=>t_,gt:()=>v$,globalRegistry:()=>m_,getErrorMap:()=>GR,function:()=>vO,fromJSONSchema:()=>nO,formatError:()=>a0,float64:()=>NO,float32:()=>DO,flattenError:()=>p0,file:()=>gO,exactOptional:()=>xI,enum:()=>Z1,endsWith:()=>h4,encodeAsync:()=>II,encode:()=>NI,emoji:()=>xP,email:()=>HP,e164:()=>aP,discriminatedUnion:()=>GO,describe:()=>yO,default:()=>vH,decodeAsync:()=>EI,decode:()=>jI,date:()=>OO,custom:()=>xO,cuid2:()=>hP,cuid:()=>uP,core:()=>U6,config:()=>C_,coerce:()=>j2,codec:()=>kO,clone:()=>i_,cidrv6:()=>tP,cidrv4:()=>iP,check:()=>fO,catch:()=>lI,boolean:()=>OI,bigint:()=>EO,base64url:()=>pP,base64:()=>oP,array:()=>PU,any:()=>LO,_function:()=>vO,_default:()=>hI,_ZodString:()=>A1,ZodXor:()=>FI,ZodXID:()=>z1,ZodVoid:()=>BI,ZodUnknown:()=>GI,ZodUnion:()=>zU,ZodUndefined:()=>XI,ZodUUID:()=>x$,ZodURL:()=>SU,ZodULID:()=>O1,ZodType:()=>e,ZodTuple:()=>ZI,ZodTransform:()=>vI,ZodTemplateLiteral:()=>aI,ZodSymbol:()=>zI,ZodSuccess:()=>nI,ZodStringFormat:()=>R_,ZodString:()=>p4,ZodSet:()=>bI,ZodRecord:()=>t4,ZodRealError:()=>U$,ZodReadonly:()=>oI,ZodPromise:()=>_2,ZodPreprocess:()=>tI,ZodPrefault:()=>rI,ZodPipe:()=>XU,ZodOptional:()=>q1,ZodObject:()=>OU,ZodNumberFormat:()=>U4,ZodNumber:()=>e4,ZodNullable:()=>yI,ZodNull:()=>RI,ZodNonOptional:()=>k1,ZodNever:()=>TI,ZodNanoID:()=>S1,ZodNaN:()=>iI,ZodMap:()=>kI,ZodMAC:()=>LI,ZodLiteral:()=>CI,ZodLazy:()=>eI,ZodKSUID:()=>X1,ZodJWT:()=>F1,ZodIssueCode:()=>YR,ZodIntersection:()=>MI,ZodISOTime:()=>_1,ZodISODuration:()=>$1,ZodISODateTime:()=>eD,ZodISODate:()=>sD,ZodIPv6:()=>Y1,ZodIPv4:()=>R1,ZodGUID:()=>AU,ZodFunction:()=>$2,ZodFirstPartyTypeKind:()=>N2,ZodFile:()=>wI,ZodExactOptional:()=>fI,ZodError:()=>XR,ZodEnum:()=>o4,ZodEmoji:()=>W1,ZodEmail:()=>J1,ZodE164:()=>V1,ZodDiscriminatedUnion:()=>KI,ZodDefault:()=>uI,ZodDate:()=>LU,ZodCustomStringFormat:()=>a4,ZodCustom:()=>YU,ZodCodec:()=>RU,ZodCatch:()=>dI,ZodCUID2:()=>P1,ZodCUID:()=>L1,ZodCIDRv6:()=>G1,ZodCIDRv4:()=>Q1,ZodBoolean:()=>s4,ZodBigIntFormat:()=>K1,ZodBigInt:()=>_0,ZodBase64URL:()=>B1,ZodBase64:()=>T1,ZodArray:()=>VI,ZodAny:()=>QI,TimePrecision:()=>tj,NEVER:()=>oN,$output:()=>Mj,$input:()=>gj,$brand:()=>pN});var vH;var MR=f(()=>{dO();dO();vH=I2});var NN=X4((Nx)=>{class N3 extends Error{constructor(_,$,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=_,this.nestedError=void 0}}class _7 extends N3{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Nx.CommanderError=N3;Nx.InvalidArgumentError=_7});var NE=X4((Jx)=>{var{InvalidArgumentError:Ex}=NN();class $7{constructor(_,$){switch(this.description=$||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,_[0]){case"<":this.required=!0,this._name=_.slice(1,-1);break;case"[":this.required=!1,this._name=_.slice(1,-1);break;default:this.required=!0,this._name=_;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue(_,$){if($===this.defaultValue||!Array.isArray($))return[_];return $.concat(_)}default(_,$){return this.defaultValue=_,this.defaultValueDescription=$,this}argParser(_){return this.parseArg=_,this}choices(_){return this.argChoices=_.slice(),this.parseArg=($,U)=>{if(!this.argChoices.includes($))throw new Ex(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,U);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Ax(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}Jx.Argument=$7;Jx.humanReadableArgName=Ax});var j3=X4((Px)=>{var{humanReadableArgName:Lx}=NE();class U7{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(_){this.helpWidth=this.helpWidth??_.helpWidth??80}visibleCommands(_){let $=_.commands.filter((N)=>!N._hidden),U=_._getHelpCommand();if(U&&!U._hidden)$.push(U);if(this.sortSubcommands)$.sort((N,D)=>{return N.name().localeCompare(D.name())});return $}compareOptions(_,$){let U=(N)=>{return N.short?N.short.replace(/^-/,""):N.long.replace(/^--/,"")};return U(_).localeCompare(U($))}visibleOptions(_){let $=_.options.filter((N)=>!N.hidden),U=_._getHelpOption();if(U&&!U.hidden){let N=U.short&&_._findOption(U.short),D=U.long&&_._findOption(U.long);if(!N&&!D)$.push(U);else if(U.long&&!D)$.push(_.createOption(U.long,U.description));else if(U.short&&!N)$.push(_.createOption(U.short,U.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(_){if(!this.showGlobalOptions)return[];let $=[];for(let U=_.parent;U;U=U.parent){let N=U.options.filter((D)=>!D.hidden);$.push(...N)}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleArguments(_){if(_._argsDescription)_.registeredArguments.forEach(($)=>{$.description=$.description||_._argsDescription[$.name()]||""});if(_.registeredArguments.find(($)=>$.description))return _.registeredArguments;return[]}subcommandTerm(_){let $=_.registeredArguments.map((U)=>Lx(U)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(N))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(N))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(N))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleArgumentTerm($.argumentTerm(N))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let U="";for(let N=_.parent;N;N=N.parent)U=N.name()+" "+U;return U+$+" "+_.usage()}commandDescription(_){return _.description()}subcommandDescription(_){return _.summary()||_.description()}optionDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if(_.defaultValue!==void 0){if(_.required||_.optional||_.isBoolean()&&typeof _.defaultValue==="boolean")$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`)}if(_.presetArg!==void 0&&_.optional)$.push(`preset: ${JSON.stringify(_.presetArg)}`);if(_.envVar!==void 0)$.push(`env: ${_.envVar}`);if($.length>0)return`${_.description} (${$.join(", ")})`;return _.description}argumentDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if(_.defaultValue!==void 0)$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`);if($.length>0){let U=`(${$.join(", ")})`;if(_.description)return`${_.description} ${U}`;return U}return _.description}formatHelp(_,$){let U=$.padWidth(_,$),N=$.helpWidth??80;function D(S,L){return $.formatItem(S,U,L,$)}let j=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],I=$.commandDescription(_);if(I.length>0)j=j.concat([$.boxWrap($.styleCommandDescription(I),N),""]);let E=$.visibleArguments(_).map((S)=>{return D($.styleArgumentTerm($.argumentTerm(S)),$.styleArgumentDescription($.argumentDescription(S)))});if(E.length>0)j=j.concat([$.styleTitle("Arguments:"),...E,""]);let J=$.visibleOptions(_).map((S)=>{return D($.styleOptionTerm($.optionTerm(S)),$.styleOptionDescription($.optionDescription(S)))});if(J.length>0)j=j.concat([$.styleTitle("Options:"),...J,""]);if($.showGlobalOptions){let S=$.visibleGlobalOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(S.length>0)j=j.concat([$.styleTitle("Global Options:"),...S,""])}let W=$.visibleCommands(_).map((S)=>{return D($.styleSubcommandTerm($.subcommandTerm(S)),$.styleSubcommandDescription($.subcommandDescription(S)))});if(W.length>0)j=j.concat([$.styleTitle("Commands:"),...W,""]);return j.join(` +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let I of _.seen.entries()){let E=I[1];if($===I[0]){j(I);continue}if(_.external){let W=_.external.registry.get(I[0])?.id;if($!==I[0]&&W){j(I);continue}}if(_.metadataRegistry.get(I[0])?.id){j(I);continue}if(E.cycle){j(I);continue}if(E.count>1){if(_.reused==="ref"){j(I);continue}}}}function _4(_,$){let U=_.seen.get($);if(!U)throw Error("Unprocessed schema. This is a bug in Zod.");let N=(E)=>{let J=_.seen.get(E);if(J.ref===null)return;let W=J.def??J.schema,S={...W},L=J.ref;if(J.ref=null,L){N(L);let z=_.seen.get(L),Y=z.schema;if(Y.$ref&&(_.target==="draft-07"||_.target==="draft-04"||_.target==="openapi-3.0"))W.allOf=W.allOf??[],W.allOf.push(Y);else Object.assign(W,Y);if(Object.assign(W,S),E._zod.parent===L)for(let O in W){if(O==="$ref"||O==="allOf")continue;if(!(O in S))delete W[O]}if(Y.$ref&&z.def)for(let O in W){if(O==="$ref"||O==="allOf")continue;if(O in z.def&&JSON.stringify(W[O])===JSON.stringify(z.def[O]))delete W[O]}}let X=E._zod.parent;if(X&&X!==L){N(X);let z=_.seen.get(X);if(z?.schema.$ref){if(W.$ref=z.schema.$ref,z.def)for(let Y in W){if(Y==="$ref"||Y==="allOf")continue;if(Y in z.def&&JSON.stringify(W[Y])===JSON.stringify(z.def[Y]))delete W[Y]}}}_.override({zodSchema:E,jsonSchema:W,path:J.path??[]})};for(let E of[..._.seen.entries()].reverse())N(E[0]);let D={};if(_.target==="draft-2020-12")D.$schema="https://json-schema.org/draft/2020-12/schema";else if(_.target==="draft-07")D.$schema="http://json-schema.org/draft-07/schema#";else if(_.target==="draft-04")D.$schema="http://json-schema.org/draft-04/schema#";else if(_.target==="openapi-3.0");if(_.external?.uri){let E=_.external.registry.get($)?.id;if(!E)throw Error("Schema is missing an `id` property");D.$id=_.external.uri(E)}Object.assign(D,U.def??U.schema);let j=_.metadataRegistry.get($)?.id;if(j!==void 0&&D.id===j)delete D.id;let I=_.external?.defs??{};for(let E of _.seen.entries()){let J=E[1];if(J.def&&J.defId){if(J.def.id===J.defId)delete J.def.id;I[J.defId]=J.def}}if(_.external);else if(Object.keys(I).length>0)if(_.target==="draft-2020-12")D.$defs=I;else D.definitions=I;try{let E=JSON.parse(JSON.stringify(D));return Object.defineProperty(E,"~standard",{value:{...$["~standard"],jsonSchema:{input:IU($,"input",_.processors),output:IU($,"output",_.processors)}},enumerable:!1,writable:!1}),E}catch(E){throw Error("Error converting schema to JSON.")}}function $$(_,$){let U=$??{seen:new Set};if(U.seen.has(_))return!1;U.seen.add(_);let N=_._zod.def;if(N.type==="transform")return!0;if(N.type==="array")return $$(N.element,U);if(N.type==="set")return $$(N.valueType,U);if(N.type==="lazy")return $$(N.getter(),U);if(N.type==="promise"||N.type==="optional"||N.type==="nonoptional"||N.type==="nullable"||N.type==="readonly"||N.type==="default"||N.type==="prefault")return $$(N.innerType,U);if(N.type==="intersection")return $$(N.left,U)||$$(N.right,U);if(N.type==="record"||N.type==="map")return $$(N.keyType,U)||$$(N.valueType,U);if(N.type==="pipe"){if(_._zod.traits.has("$ZodCodec"))return!0;return $$(N.in,U)||$$(N.out,U)}if(N.type==="object"){for(let D in N.shape)if($$(N.shape[D],U))return!0;return!1}if(N.type==="union"){for(let D of N.options)if($$(D,U))return!0;return!1}if(N.type==="tuple"){for(let D of N.items)if($$(D,U))return!0;if(N.rest&&$$(N.rest,U))return!0;return!1}return!1}var yL=(_,$={})=>(U)=>{let N=e6({...U,processors:$});return O_(_,N),s6(N,_),_4(N,_)},IU=(_,$,U={})=>(N)=>{let{libraryOptions:D,target:j}=N??{},I=e6({...D??{},target:j,io:$,processors:U});return O_(_,I),s6(I,_),_4(I,_)};var oD=f(()=>{rD()});function pD(_,$){if("_idmap"in _){let N=_,D=e6({...$,processors:oj}),j={};for(let J of N._idmap.entries()){let[W,S]=J;O_(S,D)}let I={},E={registry:N,uri:$?.uri,defs:j};D.external=E;for(let J of N._idmap.entries()){let[W,S]=J;s6(D,S),I[W]=_4(D,S)}if(Object.keys(j).length>0){let J=D.target==="draft-2020-12"?"$defs":"definitions";I.__shared={[J]:j}}return{schemas:I}}let U=e6({...$,processors:oj});return O_(_,U),s6(U,_),_4(U,_)}var FH,uL=(_,$,U,N)=>{let D=U;D.type="string";let{minimum:j,maximum:I,format:E,patterns:J,contentEncoding:W}=_._zod.bag;if(typeof j==="number")D.minLength=j;if(typeof I==="number")D.maxLength=I;if(E){if(D.format=FH[E]??E,D.format==="")delete D.format;if(E==="time")delete D.format}if(W)D.contentEncoding=W;if(J&&J.size>0){let S=[...J];if(S.length===1)D.pattern=S[0].source;else if(S.length>1)D.allOf=[...S.map((L)=>({...$.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"?{type:"string"}:{},pattern:L.source}))]}},hL=(_,$,U,N)=>{let D=U,{minimum:j,maximum:I,format:E,multipleOf:J,exclusiveMaximum:W,exclusiveMinimum:S}=_._zod.bag;if(typeof E==="string"&&E.includes("int"))D.type="integer";else D.type="number";let L=typeof S==="number"&&S>=(j??Number.NEGATIVE_INFINITY),X=typeof W==="number"&&W<=(I??Number.POSITIVE_INFINITY),z=$.target==="draft-04"||$.target==="openapi-3.0";if(L)if(z)D.minimum=S,D.exclusiveMinimum=!0;else D.exclusiveMinimum=S;else if(typeof j==="number")D.minimum=j;if(X)if(z)D.maximum=W,D.exclusiveMaximum=!0;else D.exclusiveMaximum=W;else if(typeof I==="number")D.maximum=I;if(typeof J==="number")D.multipleOf=J},rL=(_,$,U,N)=>{U.type="boolean"},cL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},mL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},nL=(_,$,U,N)=>{if($.target==="openapi-3.0")U.type="string",U.nullable=!0,U.enum=[null];else U.type="null"},dL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},lL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},iL=(_,$,U,N)=>{U.not={}},tL=(_,$,U,N)=>{},oL=(_,$,U,N)=>{},pL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},aL=(_,$,U,N)=>{let D=_._zod.def,j=FD(D.entries);if(j.every((I)=>typeof I==="number"))U.type="number";if(j.every((I)=>typeof I==="string"))U.type="string";U.enum=j},eL=(_,$,U,N)=>{let D=_._zod.def,j=[];for(let I of D.values)if(I===void 0){if($.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof I==="bigint")if($.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else j.push(Number(I));else j.push(I);if(j.length===0);else if(j.length===1){let I=j[0];if(U.type=I===null?"null":typeof I,$.target==="draft-04"||$.target==="openapi-3.0")U.enum=[I];else U.const=I}else{if(j.every((I)=>typeof I==="number"))U.type="number";if(j.every((I)=>typeof I==="string"))U.type="string";if(j.every((I)=>typeof I==="boolean"))U.type="boolean";if(j.every((I)=>I===null))U.type="null";U.enum=j}},sL=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},_P=(_,$,U,N)=>{let D=U,j=_._zod.pattern;if(!j)throw Error("Pattern not found in template literal");D.type="string",D.pattern=j.source},$P=(_,$,U,N)=>{let D=U,j={type:"string",format:"binary",contentEncoding:"binary"},{minimum:I,maximum:E,mime:J}=_._zod.bag;if(I!==void 0)j.minLength=I;if(E!==void 0)j.maxLength=E;if(J)if(J.length===1)j.contentMediaType=J[0],Object.assign(D,j);else Object.assign(D,j),D.anyOf=J.map((W)=>({contentMediaType:W}));else Object.assign(D,j)},UP=(_,$,U,N)=>{U.type="boolean"},DP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},NP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},jP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},IP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},EP=(_,$,U,N)=>{if($.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},AP=(_,$,U,N)=>{let D=U,j=_._zod.def,{minimum:I,maximum:E}=_._zod.bag;if(typeof I==="number")D.minItems=I;if(typeof E==="number")D.maxItems=E;D.type="array",D.items=O_(j.element,$,{...N,path:[...N.path,"items"]})},JP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="object",D.properties={};let I=j.shape;for(let W in I)D.properties[W]=O_(I[W],$,{...N,path:[...N.path,"properties",W]});let E=new Set(Object.keys(I)),J=new Set([...E].filter((W)=>{let S=j.shape[W]._zod;if($.io==="input")return S.optin===void 0;else return S.optout===void 0}));if(J.size>0)D.required=Array.from(J);if(j.catchall?._zod.def.type==="never")D.additionalProperties=!1;else if(!j.catchall){if($.io==="output")D.additionalProperties=!1}else if(j.catchall)D.additionalProperties=O_(j.catchall,$,{...N,path:[...N.path,"additionalProperties"]})},pj=(_,$,U,N)=>{let D=_._zod.def,j=D.inclusive===!1,I=D.options.map((E,J)=>O_(E,$,{...N,path:[...N.path,j?"oneOf":"anyOf",J]}));if(j)U.oneOf=I;else U.anyOf=I},WP=(_,$,U,N)=>{let D=_._zod.def,j=O_(D.left,$,{...N,path:[...N.path,"allOf",0]}),I=O_(D.right,$,{...N,path:[...N.path,"allOf",1]}),E=(W)=>("allOf"in W)&&Object.keys(W).length===1,J=[...E(j)?j.allOf:[j],...E(I)?I.allOf:[I]];U.allOf=J},SP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="array";let I=$.target==="draft-2020-12"?"prefixItems":"items",E=$.target==="draft-2020-12"?"items":$.target==="openapi-3.0"?"items":"additionalItems",J=j.items.map((X,z)=>O_(X,$,{...N,path:[...N.path,I,z]})),W=j.rest?O_(j.rest,$,{...N,path:[...N.path,E,...$.target==="openapi-3.0"?[j.items.length]:[]]}):null;if($.target==="draft-2020-12"){if(D.prefixItems=J,W)D.items=W}else if($.target==="openapi-3.0"){if(D.items={anyOf:J},W)D.items.anyOf.push(W);if(D.minItems=J.length,!W)D.maxItems=J.length}else if(D.items=J,W)D.additionalItems=W;let{minimum:S,maximum:L}=_._zod.bag;if(typeof S==="number")D.minItems=S;if(typeof L==="number")D.maxItems=L},LP=(_,$,U,N)=>{let D=U,j=_._zod.def;D.type="object";let I=j.keyType,J=I._zod.bag?.patterns;if(j.mode==="loose"&&J&&J.size>0){let S=O_(j.valueType,$,{...N,path:[...N.path,"patternProperties","*"]});D.patternProperties={};for(let L of J)D.patternProperties[L.source]=S}else{if($.target==="draft-07"||$.target==="draft-2020-12")D.propertyNames=O_(j.keyType,$,{...N,path:[...N.path,"propertyNames"]});D.additionalProperties=O_(j.valueType,$,{...N,path:[...N.path,"additionalProperties"]})}let W=I._zod.values;if(W){let S=[...W].filter((L)=>typeof L==="string"||typeof L==="number");if(S.length>0)D.required=S}},PP=(_,$,U,N)=>{let D=_._zod.def,j=O_(D.innerType,$,N),I=$.seen.get(_);if($.target==="openapi-3.0")I.ref=D.innerType,U.nullable=!0;else U.anyOf=[j,{type:"null"}]},OP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},zP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType,U.default=JSON.parse(JSON.stringify(D.defaultValue))},XP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);if(j.ref=D.innerType,$.io==="input")U._prefault=JSON.parse(JSON.stringify(D.defaultValue))},RP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType;let I;try{I=D.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=I},YP=(_,$,U,N)=>{let D=_._zod.def,j=D.in._zod.traits.has("$ZodTransform"),I=$.io==="input"?j?D.out:D.in:D.out;O_(I,$,N);let E=$.seen.get(_);E.ref=I},QP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType,U.readOnly=!0},GP=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},aj=(_,$,U,N)=>{let D=_._zod.def;O_(D.innerType,$,N);let j=$.seen.get(_);j.ref=D.innerType},TP=(_,$,U,N)=>{let D=_._zod.innerType;O_(D,$,N);let j=$.seen.get(_);j.ref=D},oj;var aD=f(()=>{oD();m();FH={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},oj={string:uL,number:hL,boolean:rL,bigint:cL,symbol:mL,null:nL,undefined:dL,void:lL,never:iL,any:tL,unknown:oL,date:pL,enum:aL,literal:eL,nan:sL,template_literal:_P,file:$P,success:UP,custom:DP,function:NP,transform:jP,map:IP,set:EP,array:AP,object:JP,union:pj,intersection:WP,tuple:SP,record:LP,nullable:PP,nonoptional:OP,default:zP,prefault:XP,catch:RP,pipe:YP,readonly:QP,promise:GP,optional:aj,lazy:TP}});class BP{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=e6({processors:oj,target:$,..._?.metadata&&{metadata:_.metadata},..._?.unrepresentable&&{unrepresentable:_.unrepresentable},..._?.override&&{override:_.override},..._?.io&&{io:_.io}})}process(_,$={path:[],schemaPath:[]}){return O_(_,this.ctx,$)}emit(_,$){if($){if($.cycles)this.ctx.cycles=$.cycles;if($.reused)this.ctx.reused=$.reused;if($.external)this.ctx.external=$.external}s6(this.ctx,_);let U=_4(this.ctx,_),{"~standard":N,...D}=U;return D}}var LR=f(()=>{aD();oD()});var PR={};var OR=()=>{};var U6={};i$(U6,{version:()=>rJ,util:()=>k,treeifyError:()=>sN,toJSONSchema:()=>pD,toDotPath:()=>y9,safeParseAsync:()=>lA,safeParse:()=>dA,safeEncodeAsync:()=>gg,safeEncode:()=>Kg,safeDecodeAsync:()=>Zg,safeDecode:()=>Mg,registry:()=>hD,regexes:()=>J$,process:()=>O_,prettifyError:()=>_j,parseAsync:()=>Uj,parse:()=>$j,meta:()=>fL,locales:()=>NU,isValidJWT:()=>I8,isValidBase64URL:()=>j8,isValidBase64:()=>WW,initializeContext:()=>e6,globalRegistry:()=>m_,globalConfig:()=>H4,formatError:()=>a0,flattenError:()=>p0,finalize:()=>_4,extractDefs:()=>s6,encodeAsync:()=>Vg,encode:()=>Tg,describe:()=>vL,decodeAsync:()=>Fg,decode:()=>Bg,createToJSONSchemaMethod:()=>yL,createStandardJSONSchemaMethod:()=>IU,config:()=>C_,clone:()=>i_,_xor:()=>UH,_xid:()=>yj,_void:()=>ML,_uuidv7:()=>bj,_uuidv6:()=>kj,_uuidv4:()=>qj,_uuid:()=>Hj,_url:()=>mD,_uppercase:()=>x4,_unknown:()=>FL,_union:()=>$H,_undefined:()=>TL,_ulid:()=>xj,_uint64:()=>QL,_uint32:()=>PL,_tuple:()=>jH,_trim:()=>m4,_transform:()=>LH,_toUpperCase:()=>d4,_toLowerCase:()=>n4,_templateLiteral:()=>TH,_symbol:()=>GL,_superRefine:()=>wL,_success:()=>RH,_stringbool:()=>xL,_stringFormat:()=>jU,_string:()=>_L,_startsWith:()=>u4,_slugify:()=>l4,_size:()=>o6,_set:()=>AH,_safeParseAsync:()=>$U,_safeParse:()=>_U,_safeEncodeAsync:()=>Jj,_safeEncode:()=>Ej,_safeDecodeAsync:()=>Wj,_safeDecode:()=>Aj,_regex:()=>v4,_refine:()=>CL,_record:()=>IH,_readonly:()=>GH,_property:()=>tD,_promise:()=>VH,_positive:()=>nD,_pipe:()=>QH,_parseAsync:()=>s0,_parse:()=>e0,_overwrite:()=>M$,_optional:()=>PH,_number:()=>EL,_nullable:()=>OH,_null:()=>BL,_normalize:()=>c4,_nonpositive:()=>lD,_nonoptional:()=>XH,_nonnegative:()=>iD,_never:()=>KL,_negative:()=>dD,_nativeEnum:()=>WH,_nanoid:()=>wj,_nan:()=>HL,_multipleOf:()=>V6,_minSize:()=>f$,_minLength:()=>$6,_min:()=>t_,_mime:()=>r4,_maxSize:()=>F6,_maxLength:()=>p6,_max:()=>W$,_map:()=>EH,_mac:()=>UL,_lte:()=>W$,_lt:()=>w$,_lowercase:()=>f4,_literal:()=>SH,_length:()=>a6,_lazy:()=>BH,_ksuid:()=>uj,_jwt:()=>ij,_isoTime:()=>jL,_isoDuration:()=>IL,_isoDateTime:()=>DL,_isoDate:()=>NL,_ipv6:()=>rj,_ipv4:()=>hj,_intersection:()=>NH,_int64:()=>YL,_int32:()=>LL,_int:()=>JL,_includes:()=>y4,_guid:()=>cD,_gte:()=>t_,_gt:()=>v$,_float64:()=>SL,_float32:()=>WL,_file:()=>kL,_enum:()=>JH,_endsWith:()=>h4,_encodeAsync:()=>jj,_encode:()=>Dj,_emoji:()=>Cj,_email:()=>Zj,_e164:()=>lj,_discriminatedUnion:()=>DH,_default:()=>zH,_decodeAsync:()=>Ij,_decode:()=>Nj,_date:()=>gL,_custom:()=>bL,_cuid2:()=>fj,_cuid:()=>vj,_coercedString:()=>$L,_coercedNumber:()=>AL,_coercedDate:()=>ZL,_coercedBoolean:()=>zL,_coercedBigint:()=>RL,_cidrv6:()=>mj,_cidrv4:()=>cj,_check:()=>WR,_catch:()=>YH,_boolean:()=>OL,_bigint:()=>XL,_base64url:()=>dj,_base64:()=>nj,_array:()=>qL,_any:()=>VL,TimePrecision:()=>tj,NEVER:()=>oN,JSONSchemaGenerator:()=>BP,JSONSchema:()=>PR,Doc:()=>Xj,$output:()=>Mj,$input:()=>gj,$constructor:()=>B,$brand:()=>pN,$ZodXor:()=>ZW,$ZodXID:()=>sJ,$ZodVoid:()=>FW,$ZodUnknown:()=>BW,$ZodUnion:()=>wD,$ZodUndefined:()=>QW,$ZodUUID:()=>dJ,$ZodURL:()=>iJ,$ZodULID:()=>eJ,$ZodType:()=>p,$ZodTuple:()=>Vj,$ZodTransform:()=>xW,$ZodTemplateLiteral:()=>tW,$ZodSymbol:()=>YW,$ZodSuccess:()=>mW,$ZodStringFormat:()=>B_,$ZodString:()=>w4,$ZodSet:()=>CW,$ZodRegistry:()=>sS,$ZodRecord:()=>kW,$ZodRealError:()=>A$,$ZodReadonly:()=>iW,$ZodPromise:()=>pW,$ZodPreprocess:()=>lW,$ZodPrefault:()=>rW,$ZodPipe:()=>Kj,$ZodOptional:()=>Fj,$ZodObjectJIT:()=>gW,$ZodObject:()=>J8,$ZodNumberFormat:()=>XW,$ZodNumber:()=>Tj,$ZodNullable:()=>uW,$ZodNull:()=>GW,$ZodNonOptional:()=>cW,$ZodNever:()=>VW,$ZodNanoID:()=>oJ,$ZodNaN:()=>dW,$ZodMap:()=>bW,$ZodMAC:()=>EW,$ZodLiteral:()=>vW,$ZodLazy:()=>aW,$ZodKSUID:()=>_W,$ZodJWT:()=>OW,$ZodIntersection:()=>qW,$ZodISOTime:()=>DW,$ZodISODuration:()=>NW,$ZodISODateTime:()=>$W,$ZodISODate:()=>UW,$ZodIPv6:()=>IW,$ZodIPv4:()=>jW,$ZodGUID:()=>nJ,$ZodFunction:()=>oW,$ZodFile:()=>fW,$ZodExactOptional:()=>yW,$ZodError:()=>HD,$ZodEnum:()=>wW,$ZodEncodeError:()=>q4,$ZodEmoji:()=>tJ,$ZodEmail:()=>lJ,$ZodE164:()=>PW,$ZodDiscriminatedUnion:()=>HW,$ZodDefault:()=>hW,$ZodDate:()=>KW,$ZodCustomStringFormat:()=>zW,$ZodCustom:()=>eW,$ZodCodec:()=>vD,$ZodCheckUpperCase:()=>wJ,$ZodCheckStringFormat:()=>UU,$ZodCheckStartsWith:()=>fJ,$ZodCheckSizeEquals:()=>ZJ,$ZodCheckRegex:()=>bJ,$ZodCheckProperty:()=>yJ,$ZodCheckOverwrite:()=>hJ,$ZodCheckNumberFormat:()=>FJ,$ZodCheckMultipleOf:()=>VJ,$ZodCheckMinSize:()=>gJ,$ZodCheckMinLength:()=>qJ,$ZodCheckMimeType:()=>uJ,$ZodCheckMaxSize:()=>MJ,$ZodCheckMaxLength:()=>HJ,$ZodCheckLowerCase:()=>CJ,$ZodCheckLessThan:()=>Pj,$ZodCheckLengthEquals:()=>kJ,$ZodCheckIncludes:()=>vJ,$ZodCheckGreaterThan:()=>Oj,$ZodCheckEndsWith:()=>xJ,$ZodCheckBigIntFormat:()=>KJ,$ZodCheck:()=>V_,$ZodCatch:()=>nW,$ZodCUID2:()=>aJ,$ZodCUID:()=>pJ,$ZodCIDRv6:()=>JW,$ZodCIDRv4:()=>AW,$ZodBoolean:()=>CD,$ZodBigIntFormat:()=>RW,$ZodBigInt:()=>Bj,$ZodBase64URL:()=>LW,$ZodBase64:()=>SW,$ZodAsyncError:()=>_6,$ZodArray:()=>MW,$ZodAny:()=>TW});var R$=f(()=>{m();Lj();eS();aD();LR();OR();k4();iA();nA();sW();zj();cJ();rD();SR();oD()});var ej={};i$(ej,{uppercase:()=>x4,trim:()=>m4,toUpperCase:()=>d4,toLowerCase:()=>n4,startsWith:()=>u4,slugify:()=>l4,size:()=>o6,regex:()=>v4,property:()=>tD,positive:()=>nD,overwrite:()=>M$,normalize:()=>c4,nonpositive:()=>lD,nonnegative:()=>iD,negative:()=>dD,multipleOf:()=>V6,minSize:()=>f$,minLength:()=>$6,mime:()=>r4,maxSize:()=>F6,maxLength:()=>p6,lte:()=>W$,lt:()=>w$,lowercase:()=>f4,length:()=>a6,includes:()=>y4,gte:()=>t_,gt:()=>v$,endsWith:()=>h4});var sj=f(()=>{R$()});var i4={};i$(i4,{time:()=>KP,duration:()=>MP,datetime:()=>VP,date:()=>FP,ZodISOTime:()=>_1,ZodISODuration:()=>$1,ZodISODateTime:()=>eD,ZodISODate:()=>sD});function VP(_){return DL(eD,_)}function FP(_){return NL(sD,_)}function KP(_){return jL(_1,_)}function MP(_){return IL($1,_)}var eD,sD,_1,$1;var U1=f(()=>{R$();N1();eD=B("ZodISODateTime",(_,$)=>{$W.init(_,$),R_.init(_,$)});sD=B("ZodISODate",(_,$)=>{UW.init(_,$),R_.init(_,$)});_1=B("ZodISOTime",(_,$)=>{DW.init(_,$),R_.init(_,$)});$1=B("ZodISODuration",(_,$)=>{NW.init(_,$),R_.init(_,$)})});var zR=(_,$)=>{HD.init(_,$),_.name="ZodError",Object.defineProperties(_,{format:{value:(U)=>a0(_,U)},flatten:{value:(U)=>p0(_,U)},addIssue:{value:(U)=>{_.issues.push(U),_.message=JSON.stringify(_.issues,i0,2)}},addIssues:{value:(U)=>{_.issues.push(...U),_.message=JSON.stringify(_.issues,i0,2)}},isEmpty:{get(){return _.issues.length===0}}})},XR,U$;var gP=f(()=>{R$();R$();m();XR=B("ZodError",zR),U$=B("ZodError",zR,{Parent:Error})});var _I,$I,UI,DI,NI,jI,II,EI,AI,JI,WI,SI;var ZP=f(()=>{R$();gP();_I=e0(U$),$I=s0(U$),UI=_U(U$),DI=$U(U$),NI=Dj(U$),jI=Nj(U$),II=jj(U$),EI=Ij(U$),AI=Ej(U$),JI=Aj(U$),WI=Jj(U$),SI=Wj(U$)});var D1={};i$(D1,{xor:()=>QO,xid:()=>cP,void:()=>PO,uuidv7:()=>wP,uuidv6:()=>CP,uuidv4:()=>bP,uuid:()=>kP,url:()=>vP,unknown:()=>$4,union:()=>g1,undefined:()=>SO,ulid:()=>rP,uint64:()=>JO,uint32:()=>IO,tuple:()=>HI,transform:()=>H1,templateLiteral:()=>CO,symbol:()=>WO,superRefine:()=>D2,success:()=>HO,stringbool:()=>rO,stringFormat:()=>sP,string:()=>EU,strictObject:()=>RO,set:()=>FO,refine:()=>U2,record:()=>qI,readonly:()=>pI,promise:()=>wO,preprocess:()=>mO,prefault:()=>cI,pipe:()=>I1,partialRecord:()=>TO,optional:()=>JU,object:()=>XO,number:()=>PI,nullish:()=>ZO,nullable:()=>WU,null:()=>YI,nonoptional:()=>mI,never:()=>M1,nativeEnum:()=>KO,nanoid:()=>yP,nan:()=>qO,meta:()=>uO,map:()=>VO,mac:()=>dP,looseRecord:()=>BO,looseObject:()=>YO,literal:()=>MO,lazy:()=>sI,ksuid:()=>mP,keyof:()=>zO,jwt:()=>eP,json:()=>cO,ipv6:()=>lP,ipv4:()=>nP,invertCodec:()=>bO,intersection:()=>gI,int64:()=>AO,int32:()=>jO,int:()=>j1,instanceof:()=>hO,httpUrl:()=>fP,hostname:()=>_O,hex:()=>$O,hash:()=>UO,guid:()=>qP,function:()=>vO,float64:()=>NO,float32:()=>DO,file:()=>gO,exactOptional:()=>xI,enum:()=>Z1,emoji:()=>xP,email:()=>HP,e164:()=>aP,discriminatedUnion:()=>GO,describe:()=>yO,date:()=>OO,custom:()=>xO,cuid2:()=>hP,cuid:()=>uP,codec:()=>kO,cidrv6:()=>tP,cidrv4:()=>iP,check:()=>fO,catch:()=>lI,boolean:()=>OI,bigint:()=>EO,base64url:()=>pP,base64:()=>oP,array:()=>PU,any:()=>LO,_function:()=>vO,_default:()=>hI,_ZodString:()=>A1,ZodXor:()=>FI,ZodXID:()=>z1,ZodVoid:()=>BI,ZodUnknown:()=>GI,ZodUnion:()=>zU,ZodUndefined:()=>XI,ZodUUID:()=>x$,ZodURL:()=>SU,ZodULID:()=>O1,ZodType:()=>e,ZodTuple:()=>ZI,ZodTransform:()=>vI,ZodTemplateLiteral:()=>aI,ZodSymbol:()=>zI,ZodSuccess:()=>nI,ZodStringFormat:()=>R_,ZodString:()=>p4,ZodSet:()=>bI,ZodRecord:()=>t4,ZodReadonly:()=>oI,ZodPromise:()=>_2,ZodPreprocess:()=>tI,ZodPrefault:()=>rI,ZodPipe:()=>XU,ZodOptional:()=>q1,ZodObject:()=>OU,ZodNumberFormat:()=>U4,ZodNumber:()=>e4,ZodNullable:()=>yI,ZodNull:()=>RI,ZodNonOptional:()=>k1,ZodNever:()=>TI,ZodNanoID:()=>S1,ZodNaN:()=>iI,ZodMap:()=>kI,ZodMAC:()=>LI,ZodLiteral:()=>CI,ZodLazy:()=>eI,ZodKSUID:()=>X1,ZodJWT:()=>F1,ZodIntersection:()=>MI,ZodIPv6:()=>Y1,ZodIPv4:()=>R1,ZodGUID:()=>AU,ZodFunction:()=>$2,ZodFile:()=>wI,ZodExactOptional:()=>fI,ZodEnum:()=>o4,ZodEmoji:()=>W1,ZodEmail:()=>J1,ZodE164:()=>V1,ZodDiscriminatedUnion:()=>KI,ZodDefault:()=>uI,ZodDate:()=>LU,ZodCustomStringFormat:()=>a4,ZodCustom:()=>YU,ZodCodec:()=>RU,ZodCatch:()=>dI,ZodCUID2:()=>P1,ZodCUID:()=>L1,ZodCIDRv6:()=>G1,ZodCIDRv4:()=>Q1,ZodBoolean:()=>s4,ZodBigIntFormat:()=>K1,ZodBigInt:()=>_0,ZodBase64URL:()=>B1,ZodBase64:()=>T1,ZodArray:()=>VI,ZodAny:()=>QI});function E1(_,$,U){let N=Object.getPrototypeOf(_),D=RR.get(N);if(!D)D=new Set,RR.set(N,D);if(D.has($))return;D.add($);for(let j in U){let I=U[j];Object.defineProperty(N,j,{configurable:!0,enumerable:!1,get(){let E=I.bind(this);return Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:E}),E},set(E){Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:E})}})}}function EU(_){return _L(p4,_)}function HP(_){return Zj(J1,_)}function qP(_){return cD(AU,_)}function kP(_){return Hj(x$,_)}function bP(_){return qj(x$,_)}function CP(_){return kj(x$,_)}function wP(_){return bj(x$,_)}function vP(_){return mD(SU,_)}function fP(_){return mD(SU,{protocol:J$.httpProtocol,hostname:J$.domain,...k.normalizeParams(_)})}function xP(_){return Cj(W1,_)}function yP(_){return wj(S1,_)}function uP(_){return vj(L1,_)}function hP(_){return fj(P1,_)}function rP(_){return xj(O1,_)}function cP(_){return yj(z1,_)}function mP(_){return uj(X1,_)}function nP(_){return hj(R1,_)}function dP(_){return UL(LI,_)}function lP(_){return rj(Y1,_)}function iP(_){return cj(Q1,_)}function tP(_){return mj(G1,_)}function oP(_){return nj(T1,_)}function pP(_){return dj(B1,_)}function aP(_){return lj(V1,_)}function eP(_){return ij(F1,_)}function sP(_,$,U={}){return jU(a4,_,$,U)}function _O(_){return jU(a4,"hostname",J$.hostname,_)}function $O(_){return jU(a4,"hex",J$.hex,_)}function UO(_,$){let U=$?.enc??"hex",N=`${_}_${U}`,D=J$[N];if(!D)throw Error(`Unrecognized hash format: ${N}`);return jU(a4,N,D,$)}function PI(_){return EL(e4,_)}function j1(_){return JL(U4,_)}function DO(_){return WL(U4,_)}function NO(_){return SL(U4,_)}function jO(_){return LL(U4,_)}function IO(_){return PL(U4,_)}function OI(_){return OL(s4,_)}function EO(_){return XL(_0,_)}function AO(_){return YL(K1,_)}function JO(_){return QL(K1,_)}function WO(_){return GL(zI,_)}function SO(_){return TL(XI,_)}function YI(_){return BL(RI,_)}function LO(){return VL(QI)}function $4(){return FL(GI)}function M1(_){return KL(TI,_)}function PO(_){return ML(BI,_)}function OO(_){return gL(LU,_)}function PU(_,$){return qL(VI,_,$)}function zO(_){let $=_._zod.def.shape;return Z1(Object.keys($))}function XO(_,$){let U={type:"object",shape:_??{},...k.normalizeParams($)};return new OU(U)}function RO(_,$){return new OU({type:"object",shape:_,catchall:M1(),...k.normalizeParams($)})}function YO(_,$){return new OU({type:"object",shape:_,catchall:$4(),...k.normalizeParams($)})}function g1(_,$){return new zU({type:"union",options:_,...k.normalizeParams($)})}function QO(_,$){return new FI({type:"union",options:_,inclusive:!1,...k.normalizeParams($)})}function GO(_,$,U){return new KI({type:"union",options:$,discriminator:_,...k.normalizeParams(U)})}function gI(_,$){return new MI({type:"intersection",left:_,right:$})}function HI(_,$,U){let N=$ instanceof p,D=N?U:$;return new ZI({type:"tuple",items:_,rest:N?$:null,...k.normalizeParams(D)})}function qI(_,$,U){if(!$||!$._zod)return new t4({type:"record",keyType:EU(),valueType:_,...k.normalizeParams($)});return new t4({type:"record",keyType:_,valueType:$,...k.normalizeParams(U)})}function TO(_,$,U){let N=i_(_);return N._zod.values=void 0,new t4({type:"record",keyType:N,valueType:$,...k.normalizeParams(U)})}function BO(_,$,U){return new t4({type:"record",keyType:_,valueType:$,mode:"loose",...k.normalizeParams(U)})}function VO(_,$,U){return new kI({type:"map",keyType:_,valueType:$,...k.normalizeParams(U)})}function FO(_,$){return new bI({type:"set",valueType:_,...k.normalizeParams($)})}function Z1(_,$){let U=Array.isArray(_)?Object.fromEntries(_.map((N)=>[N,N])):_;return new o4({type:"enum",entries:U,...k.normalizeParams($)})}function KO(_,$){return new o4({type:"enum",entries:_,...k.normalizeParams($)})}function MO(_,$){return new CI({type:"literal",values:Array.isArray(_)?_:[_],...k.normalizeParams($)})}function gO(_){return kL(wI,_)}function H1(_){return new vI({type:"transform",transform:_})}function JU(_){return new q1({type:"optional",innerType:_})}function xI(_){return new fI({type:"optional",innerType:_})}function WU(_){return new yI({type:"nullable",innerType:_})}function ZO(_){return JU(WU(_))}function hI(_,$){return new uI({type:"default",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function cI(_,$){return new rI({type:"prefault",innerType:_,get defaultValue(){return typeof $==="function"?$():k.shallowClone($)}})}function mI(_,$){return new k1({type:"nonoptional",innerType:_,...k.normalizeParams($)})}function HO(_){return new nI({type:"success",innerType:_})}function lI(_,$){return new dI({type:"catch",innerType:_,catchValue:typeof $==="function"?$:()=>$})}function qO(_){return HL(iI,_)}function I1(_,$){return new XU({type:"pipe",in:_,out:$})}function kO(_,$,U){return new RU({type:"pipe",in:_,out:$,transform:U.decode,reverseTransform:U.encode})}function bO(_){let $=_._zod.def;return new RU({type:"pipe",in:$.out,out:$.in,transform:$.reverseTransform,reverseTransform:$.transform})}function pI(_){return new oI({type:"readonly",innerType:_})}function CO(_,$){return new aI({type:"template_literal",parts:_,...k.normalizeParams($)})}function sI(_){return new eI({type:"lazy",getter:_})}function wO(_){return new _2({type:"promise",innerType:_})}function vO(_){return new $2({type:"function",input:Array.isArray(_?.input)?HI(_?.input):_?.input??PU($4()),output:_?.output??$4()})}function fO(_){let $=new V_({check:"custom"});return $._zod.check=_,$}function xO(_,$){return bL(YU,_??(()=>!0),$)}function U2(_,$={}){return CL(YU,_,$)}function D2(_,$){return wL(_,$)}function hO(_,$={}){let U=new YU({type:"custom",check:"custom",fn:(N)=>N instanceof _,abort:!0,...k.normalizeParams($)});return U._zod.bag.Class=_,U._zod.check=(N)=>{if(!(N.value instanceof _))N.issues.push({code:"invalid_type",expected:_.name,input:N.value,inst:U,path:[...U._zod.def.path??[]]})},U}function cO(_){let $=sI(()=>{return g1([EU(_),PI(),OI(),YI(),PU($),qI(EU(),$)])});return $}function mO(_,$){return new tI({type:"pipe",in:H1(_),out:$})}var RR,e,A1,p4,R_,J1,AU,x$,SU,W1,S1,L1,P1,O1,z1,X1,R1,LI,Y1,Q1,G1,T1,B1,V1,F1,a4,e4,U4,s4,_0,K1,zI,XI,RI,QI,GI,TI,BI,LU,VI,OU,zU,FI,KI,MI,ZI,t4,kI,bI,o4,CI,wI,vI,q1,fI,yI,uI,rI,k1,nI,dI,iI,XU,RU,tI,oI,aI,eI,_2,$2,YU,yO,uO,rO=(..._)=>xL({Codec:RU,Boolean:s4,String:p4},..._);var N1=f(()=>{R$();R$();aD();oD();sj();U1();ZP();RR=new WeakMap;e=B("ZodType",(_,$)=>{return p.init(_,$),Object.assign(_["~standard"],{jsonSchema:{input:IU(_,"input"),output:IU(_,"output")}}),_.toJSONSchema=yL(_,{}),_.def=$,_.type=$.type,Object.defineProperty(_,"_def",{value:$}),_.parse=(U,N)=>_I(_,U,N,{callee:_.parse}),_.safeParse=(U,N)=>UI(_,U,N),_.parseAsync=async(U,N)=>$I(_,U,N,{callee:_.parseAsync}),_.safeParseAsync=async(U,N)=>DI(_,U,N),_.spa=_.safeParseAsync,_.encode=(U,N)=>NI(_,U,N),_.decode=(U,N)=>jI(_,U,N),_.encodeAsync=async(U,N)=>II(_,U,N),_.decodeAsync=async(U,N)=>EI(_,U,N),_.safeEncode=(U,N)=>AI(_,U,N),_.safeDecode=(U,N)=>JI(_,U,N),_.safeEncodeAsync=async(U,N)=>WI(_,U,N),_.safeDecodeAsync=async(U,N)=>SI(_,U,N),E1(_,"ZodType",{check(...U){let N=this.def;return this.clone(k.mergeDefs(N,{checks:[...N.checks??[],...U.map((D)=>typeof D==="function"?{_zod:{check:D,def:{check:"custom"},onattach:[]}}:D)]}),{parent:!0})},with(...U){return this.check(...U)},clone(U,N){return i_(this,U,N)},brand(){return this},register(U,N){return U.add(this,N),this},refine(U,N){return this.check(U2(U,N))},superRefine(U,N){return this.check(D2(U,N))},overwrite(U){return this.check(M$(U))},optional(){return JU(this)},exactOptional(){return xI(this)},nullable(){return WU(this)},nullish(){return JU(WU(this))},nonoptional(U){return mI(this,U)},array(){return PU(this)},or(U){return g1([this,U])},and(U){return gI(this,U)},transform(U){return I1(this,H1(U))},default(U){return hI(this,U)},prefault(U){return cI(this,U)},catch(U){return lI(this,U)},pipe(U){return I1(this,U)},readonly(){return pI(this)},describe(U){let N=this.clone();return m_.add(N,{description:U}),N},meta(...U){if(U.length===0)return m_.get(this);let N=this.clone();return m_.add(N,U[0]),N},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(U){return U(this)}}),Object.defineProperty(_,"description",{get(){return m_.get(_)?.description},configurable:!0}),_}),A1=B("_ZodString",(_,$)=>{w4.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>uL(_,N,D,j);let U=_._zod.bag;_.format=U.format??null,_.minLength=U.minimum??null,_.maxLength=U.maximum??null,E1(_,"_ZodString",{regex(...N){return this.check(v4(...N))},includes(...N){return this.check(y4(...N))},startsWith(...N){return this.check(u4(...N))},endsWith(...N){return this.check(h4(...N))},min(...N){return this.check($6(...N))},max(...N){return this.check(p6(...N))},length(...N){return this.check(a6(...N))},nonempty(...N){return this.check($6(1,...N))},lowercase(N){return this.check(f4(N))},uppercase(N){return this.check(x4(N))},trim(){return this.check(m4())},normalize(...N){return this.check(c4(...N))},toLowerCase(){return this.check(n4())},toUpperCase(){return this.check(d4())},slugify(){return this.check(l4())}})}),p4=B("ZodString",(_,$)=>{w4.init(_,$),A1.init(_,$),_.email=(U)=>_.check(Zj(J1,U)),_.url=(U)=>_.check(mD(SU,U)),_.jwt=(U)=>_.check(ij(F1,U)),_.emoji=(U)=>_.check(Cj(W1,U)),_.guid=(U)=>_.check(cD(AU,U)),_.uuid=(U)=>_.check(Hj(x$,U)),_.uuidv4=(U)=>_.check(qj(x$,U)),_.uuidv6=(U)=>_.check(kj(x$,U)),_.uuidv7=(U)=>_.check(bj(x$,U)),_.nanoid=(U)=>_.check(wj(S1,U)),_.guid=(U)=>_.check(cD(AU,U)),_.cuid=(U)=>_.check(vj(L1,U)),_.cuid2=(U)=>_.check(fj(P1,U)),_.ulid=(U)=>_.check(xj(O1,U)),_.base64=(U)=>_.check(nj(T1,U)),_.base64url=(U)=>_.check(dj(B1,U)),_.xid=(U)=>_.check(yj(z1,U)),_.ksuid=(U)=>_.check(uj(X1,U)),_.ipv4=(U)=>_.check(hj(R1,U)),_.ipv6=(U)=>_.check(rj(Y1,U)),_.cidrv4=(U)=>_.check(cj(Q1,U)),_.cidrv6=(U)=>_.check(mj(G1,U)),_.e164=(U)=>_.check(lj(V1,U)),_.datetime=(U)=>_.check(VP(U)),_.date=(U)=>_.check(FP(U)),_.time=(U)=>_.check(KP(U)),_.duration=(U)=>_.check(MP(U))});R_=B("ZodStringFormat",(_,$)=>{B_.init(_,$),A1.init(_,$)}),J1=B("ZodEmail",(_,$)=>{lJ.init(_,$),R_.init(_,$)});AU=B("ZodGUID",(_,$)=>{nJ.init(_,$),R_.init(_,$)});x$=B("ZodUUID",(_,$)=>{dJ.init(_,$),R_.init(_,$)});SU=B("ZodURL",(_,$)=>{iJ.init(_,$),R_.init(_,$)});W1=B("ZodEmoji",(_,$)=>{tJ.init(_,$),R_.init(_,$)});S1=B("ZodNanoID",(_,$)=>{oJ.init(_,$),R_.init(_,$)});L1=B("ZodCUID",(_,$)=>{pJ.init(_,$),R_.init(_,$)});P1=B("ZodCUID2",(_,$)=>{aJ.init(_,$),R_.init(_,$)});O1=B("ZodULID",(_,$)=>{eJ.init(_,$),R_.init(_,$)});z1=B("ZodXID",(_,$)=>{sJ.init(_,$),R_.init(_,$)});X1=B("ZodKSUID",(_,$)=>{_W.init(_,$),R_.init(_,$)});R1=B("ZodIPv4",(_,$)=>{jW.init(_,$),R_.init(_,$)});LI=B("ZodMAC",(_,$)=>{EW.init(_,$),R_.init(_,$)});Y1=B("ZodIPv6",(_,$)=>{IW.init(_,$),R_.init(_,$)});Q1=B("ZodCIDRv4",(_,$)=>{AW.init(_,$),R_.init(_,$)});G1=B("ZodCIDRv6",(_,$)=>{JW.init(_,$),R_.init(_,$)});T1=B("ZodBase64",(_,$)=>{SW.init(_,$),R_.init(_,$)});B1=B("ZodBase64URL",(_,$)=>{LW.init(_,$),R_.init(_,$)});V1=B("ZodE164",(_,$)=>{PW.init(_,$),R_.init(_,$)});F1=B("ZodJWT",(_,$)=>{OW.init(_,$),R_.init(_,$)});a4=B("ZodCustomStringFormat",(_,$)=>{zW.init(_,$),R_.init(_,$)});e4=B("ZodNumber",(_,$)=>{Tj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>hL(_,N,D,j),E1(_,"ZodNumber",{gt(N,D){return this.check(v$(N,D))},gte(N,D){return this.check(t_(N,D))},min(N,D){return this.check(t_(N,D))},lt(N,D){return this.check(w$(N,D))},lte(N,D){return this.check(W$(N,D))},max(N,D){return this.check(W$(N,D))},int(N){return this.check(j1(N))},safe(N){return this.check(j1(N))},positive(N){return this.check(v$(0,N))},nonnegative(N){return this.check(t_(0,N))},negative(N){return this.check(w$(0,N))},nonpositive(N){return this.check(W$(0,N))},multipleOf(N,D){return this.check(V6(N,D))},step(N,D){return this.check(V6(N,D))},finite(){return this}});let U=_._zod.bag;_.minValue=Math.max(U.minimum??Number.NEGATIVE_INFINITY,U.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,_.maxValue=Math.min(U.maximum??Number.POSITIVE_INFINITY,U.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,_.isInt=(U.format??"").includes("int")||Number.isSafeInteger(U.multipleOf??0.5),_.isFinite=!0,_.format=U.format??null});U4=B("ZodNumberFormat",(_,$)=>{XW.init(_,$),e4.init(_,$)});s4=B("ZodBoolean",(_,$)=>{CD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>rL(_,U,N,D)});_0=B("ZodBigInt",(_,$)=>{Bj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>cL(_,N,D,j),_.gte=(N,D)=>_.check(t_(N,D)),_.min=(N,D)=>_.check(t_(N,D)),_.gt=(N,D)=>_.check(v$(N,D)),_.gte=(N,D)=>_.check(t_(N,D)),_.min=(N,D)=>_.check(t_(N,D)),_.lt=(N,D)=>_.check(w$(N,D)),_.lte=(N,D)=>_.check(W$(N,D)),_.max=(N,D)=>_.check(W$(N,D)),_.positive=(N)=>_.check(v$(BigInt(0),N)),_.negative=(N)=>_.check(w$(BigInt(0),N)),_.nonpositive=(N)=>_.check(W$(BigInt(0),N)),_.nonnegative=(N)=>_.check(t_(BigInt(0),N)),_.multipleOf=(N,D)=>_.check(V6(N,D));let U=_._zod.bag;_.minValue=U.minimum??null,_.maxValue=U.maximum??null,_.format=U.format??null});K1=B("ZodBigIntFormat",(_,$)=>{RW.init(_,$),_0.init(_,$)});zI=B("ZodSymbol",(_,$)=>{YW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>mL(_,U,N,D)});XI=B("ZodUndefined",(_,$)=>{QW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>dL(_,U,N,D)});RI=B("ZodNull",(_,$)=>{GW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>nL(_,U,N,D)});QI=B("ZodAny",(_,$)=>{TW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>tL(_,U,N,D)});GI=B("ZodUnknown",(_,$)=>{BW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>oL(_,U,N,D)});TI=B("ZodNever",(_,$)=>{VW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>iL(_,U,N,D)});BI=B("ZodVoid",(_,$)=>{FW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>lL(_,U,N,D)});LU=B("ZodDate",(_,$)=>{KW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>pL(_,N,D,j),_.min=(N,D)=>_.check(t_(N,D)),_.max=(N,D)=>_.check(W$(N,D));let U=_._zod.bag;_.minDate=U.minimum?new Date(U.minimum):null,_.maxDate=U.maximum?new Date(U.maximum):null});VI=B("ZodArray",(_,$)=>{MW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>AP(_,U,N,D),_.element=$.element,E1(_,"ZodArray",{min(U,N){return this.check($6(U,N))},nonempty(U){return this.check($6(1,U))},max(U,N){return this.check(p6(U,N))},length(U,N){return this.check(a6(U,N))},unwrap(){return this.element}})});OU=B("ZodObject",(_,$)=>{gW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>JP(_,U,N,D),k.defineLazy(_,"shape",()=>{return $.shape}),E1(_,"ZodObject",{keyof(){return Z1(Object.keys(this._zod.def.shape))},catchall(U){return this.clone({...this._zod.def,catchall:U})},passthrough(){return this.clone({...this._zod.def,catchall:$4()})},loose(){return this.clone({...this._zod.def,catchall:$4()})},strict(){return this.clone({...this._zod.def,catchall:M1()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(U){return k.extend(this,U)},safeExtend(U){return k.safeExtend(this,U)},merge(U){return k.merge(this,U)},pick(U){return k.pick(this,U)},omit(U){return k.omit(this,U)},partial(...U){return k.partial(q1,this,U[0])},required(...U){return k.required(k1,this,U[0])}})});zU=B("ZodUnion",(_,$)=>{wD.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>pj(_,U,N,D),_.options=$.options});FI=B("ZodXor",(_,$)=>{zU.init(_,$),ZW.init(_,$),_._zod.processJSONSchema=(U,N,D)=>pj(_,U,N,D),_.options=$.options});KI=B("ZodDiscriminatedUnion",(_,$)=>{zU.init(_,$),HW.init(_,$)});MI=B("ZodIntersection",(_,$)=>{qW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>WP(_,U,N,D)});ZI=B("ZodTuple",(_,$)=>{Vj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>SP(_,U,N,D),_.rest=(U)=>_.clone({..._._zod.def,rest:U})});t4=B("ZodRecord",(_,$)=>{kW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>LP(_,U,N,D),_.keyType=$.keyType,_.valueType=$.valueType});kI=B("ZodMap",(_,$)=>{bW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>IP(_,U,N,D),_.keyType=$.keyType,_.valueType=$.valueType,_.min=(...U)=>_.check(f$(...U)),_.nonempty=(U)=>_.check(f$(1,U)),_.max=(...U)=>_.check(F6(...U)),_.size=(...U)=>_.check(o6(...U))});bI=B("ZodSet",(_,$)=>{CW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>EP(_,U,N,D),_.min=(...U)=>_.check(f$(...U)),_.nonempty=(U)=>_.check(f$(1,U)),_.max=(...U)=>_.check(F6(...U)),_.size=(...U)=>_.check(o6(...U))});o4=B("ZodEnum",(_,$)=>{wW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(N,D,j)=>aL(_,N,D,j),_.enum=$.entries,_.options=Object.values($.entries);let U=new Set(Object.keys($.entries));_.extract=(N,D)=>{let j={};for(let I of N)if(U.has(I))j[I]=$.entries[I];else throw Error(`Key ${I} not found in enum`);return new o4({...$,checks:[],...k.normalizeParams(D),entries:j})},_.exclude=(N,D)=>{let j={...$.entries};for(let I of N)if(U.has(I))delete j[I];else throw Error(`Key ${I} not found in enum`);return new o4({...$,checks:[],...k.normalizeParams(D),entries:j})}});CI=B("ZodLiteral",(_,$)=>{vW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>eL(_,U,N,D),_.values=new Set($.values),Object.defineProperty(_,"value",{get(){if($.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return $.values[0]}})});wI=B("ZodFile",(_,$)=>{fW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>$P(_,U,N,D),_.min=(U,N)=>_.check(f$(U,N)),_.max=(U,N)=>_.check(F6(U,N)),_.mime=(U,N)=>_.check(r4(Array.isArray(U)?U:[U],N))});vI=B("ZodTransform",(_,$)=>{xW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>jP(_,U,N,D),_._zod.parse=(U,N)=>{if(N.direction==="backward")throw new q4(_.constructor.name);U.addIssue=(j)=>{if(typeof j==="string")U.issues.push(k.issue(j,U.value,$));else{let I=j;if(I.fatal)I.continue=!1;I.code??(I.code="custom"),I.input??(I.input=U.value),I.inst??(I.inst=_),U.issues.push(k.issue(I))}};let D=$.transform(U.value,U);if(D instanceof Promise)return D.then((j)=>{return U.value=j,U.fallback=!0,U});return U.value=D,U.fallback=!0,U}});q1=B("ZodOptional",(_,$)=>{Fj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>aj(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});fI=B("ZodExactOptional",(_,$)=>{yW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>aj(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});yI=B("ZodNullable",(_,$)=>{uW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>PP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});uI=B("ZodDefault",(_,$)=>{hW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>zP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType,_.removeDefault=_.unwrap});rI=B("ZodPrefault",(_,$)=>{rW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>XP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});k1=B("ZodNonOptional",(_,$)=>{cW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>OP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});nI=B("ZodSuccess",(_,$)=>{mW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>UP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});dI=B("ZodCatch",(_,$)=>{nW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>RP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType,_.removeCatch=_.unwrap});iI=B("ZodNaN",(_,$)=>{dW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>sL(_,U,N,D)});XU=B("ZodPipe",(_,$)=>{Kj.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>YP(_,U,N,D),_.in=$.in,_.out=$.out});RU=B("ZodCodec",(_,$)=>{XU.init(_,$),vD.init(_,$)});tI=B("ZodPreprocess",(_,$)=>{XU.init(_,$),lW.init(_,$)}),oI=B("ZodReadonly",(_,$)=>{iW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>QP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});aI=B("ZodTemplateLiteral",(_,$)=>{tW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>_P(_,U,N,D)});eI=B("ZodLazy",(_,$)=>{aW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>TP(_,U,N,D),_.unwrap=()=>_._zod.def.getter()});_2=B("ZodPromise",(_,$)=>{pW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>GP(_,U,N,D),_.unwrap=()=>_._zod.def.innerType});$2=B("ZodFunction",(_,$)=>{oW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>NP(_,U,N,D)});YU=B("ZodCustom",(_,$)=>{eW.init(_,$),e.init(_,$),_._zod.processJSONSchema=(U,N,D)=>DP(_,U,N,D)});yO=vL,uO=fL});function QR(_){C_({customError:_})}function GR(){return C_().customError}var YR,N2;var TR=f(()=>{R$();YR={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(_){})(N2||(N2={}))});function ZH(_,$){let U=_.$schema;if(U==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(U==="http://json-schema.org/draft-07/schema#")return"draft-7";if(U==="http://json-schema.org/draft-04/schema#")return"draft-4";return $??"draft-2020-12"}function HH(_,$){if(!_.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let U=_.slice(1).split("/").filter(Boolean);if(U.length===0)return $.rootSchema;let N=$.version==="draft-2020-12"?"$defs":"definitions";if(U[0]===N){let D=U[1];if(!D||!$.defs[D])throw Error(`Reference not found: ${_}`);return $.defs[D]}throw Error(`Reference not found: ${_}`)}function BR(_,$){if(_.not!==void 0){if(typeof _.not==="object"&&Object.keys(_.not).length===0)return y.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(_.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(_.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(_.if!==void 0||_.then!==void 0||_.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(_.dependentSchemas!==void 0||_.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(_.$ref){let D=_.$ref;if($.refs.has(D))return $.refs.get(D);if($.processing.has(D))return y.lazy(()=>{if(!$.refs.has(D))throw Error(`Circular reference not resolved: ${D}`);return $.refs.get(D)});$.processing.add(D);let j=HH(D,$),I=o_(j,$);return $.refs.set(D,I),$.processing.delete(D),I}if(_.enum!==void 0){let D=_.enum;if($.version==="openapi-3.0"&&_.nullable===!0&&D.length===1&&D[0]===null)return y.null();if(D.length===0)return y.never();if(D.length===1)return y.literal(D[0]);if(D.every((I)=>typeof I==="string"))return y.enum(D);let j=D.map((I)=>y.literal(I));if(j.length<2)return j[0];return y.union([j[0],j[1],...j.slice(2)])}if(_.const!==void 0)return y.literal(_.const);let U=_.type;if(Array.isArray(U)){let D=U.map((j)=>{let I={..._,type:j};return BR(I,$)});if(D.length===0)return y.never();if(D.length===1)return D[0];return y.union(D)}if(!U)return y.any();let N;switch(U){case"string":{let D=y.string();if(_.format){let j=_.format;if(j==="email")D=D.check(y.email());else if(j==="uri"||j==="uri-reference")D=D.check(y.url());else if(j==="uuid"||j==="guid")D=D.check(y.uuid());else if(j==="date-time")D=D.check(y.iso.datetime());else if(j==="date")D=D.check(y.iso.date());else if(j==="time")D=D.check(y.iso.time());else if(j==="duration")D=D.check(y.iso.duration());else if(j==="ipv4")D=D.check(y.ipv4());else if(j==="ipv6")D=D.check(y.ipv6());else if(j==="mac")D=D.check(y.mac());else if(j==="cidr")D=D.check(y.cidrv4());else if(j==="cidr-v6")D=D.check(y.cidrv6());else if(j==="base64")D=D.check(y.base64());else if(j==="base64url")D=D.check(y.base64url());else if(j==="e164")D=D.check(y.e164());else if(j==="jwt")D=D.check(y.jwt());else if(j==="emoji")D=D.check(y.emoji());else if(j==="nanoid")D=D.check(y.nanoid());else if(j==="cuid")D=D.check(y.cuid());else if(j==="cuid2")D=D.check(y.cuid2());else if(j==="ulid")D=D.check(y.ulid());else if(j==="xid")D=D.check(y.xid());else if(j==="ksuid")D=D.check(y.ksuid())}if(typeof _.minLength==="number")D=D.min(_.minLength);if(typeof _.maxLength==="number")D=D.max(_.maxLength);if(_.pattern)D=D.regex(new RegExp(_.pattern));N=D;break}case"number":case"integer":{let D=U==="integer"?y.number().int():y.number();if(typeof _.minimum==="number")D=D.min(_.minimum);if(typeof _.maximum==="number")D=D.max(_.maximum);if(typeof _.exclusiveMinimum==="number")D=D.gt(_.exclusiveMinimum);else if(_.exclusiveMinimum===!0&&typeof _.minimum==="number")D=D.gt(_.minimum);if(typeof _.exclusiveMaximum==="number")D=D.lt(_.exclusiveMaximum);else if(_.exclusiveMaximum===!0&&typeof _.maximum==="number")D=D.lt(_.maximum);if(typeof _.multipleOf==="number")D=D.multipleOf(_.multipleOf);N=D;break}case"boolean":{N=y.boolean();break}case"null":{N=y.null();break}case"object":{let D={},j=_.properties||{},I=new Set(_.required||[]);for(let[J,W]of Object.entries(j)){let S=o_(W,$);D[J]=I.has(J)?S:S.optional()}if(_.propertyNames){let J=o_(_.propertyNames,$),W=_.additionalProperties&&typeof _.additionalProperties==="object"?o_(_.additionalProperties,$):y.any();if(Object.keys(D).length===0){N=y.record(J,W);break}let S=y.object(D).passthrough(),L=y.looseRecord(J,W);N=y.intersection(S,L);break}if(_.patternProperties){let J=_.patternProperties,W=Object.keys(J),S=[];for(let X of W){let z=o_(J[X],$),Y=y.string().regex(new RegExp(X));S.push(y.looseRecord(Y,z))}let L=[];if(Object.keys(D).length>0)L.push(y.object(D).passthrough());if(L.push(...S),L.length===0)N=y.object({}).passthrough();else if(L.length===1)N=L[0];else{let X=y.intersection(L[0],L[1]);for(let z=2;zo_(J,$)),E=j&&typeof j==="object"&&!Array.isArray(j)?o_(j,$):void 0;if(E)N=y.tuple(I).rest(E);else N=y.tuple(I);if(typeof _.minItems==="number")N=N.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")N=N.check(y.maxLength(_.maxItems))}else if(Array.isArray(j)){let I=j.map((J)=>o_(J,$)),E=_.additionalItems&&typeof _.additionalItems==="object"?o_(_.additionalItems,$):void 0;if(E)N=y.tuple(I).rest(E);else N=y.tuple(I);if(typeof _.minItems==="number")N=N.check(y.minLength(_.minItems));if(typeof _.maxItems==="number")N=N.check(y.maxLength(_.maxItems))}else if(j!==void 0){let I=o_(j,$),E=y.array(I);if(typeof _.minItems==="number")E=E.min(_.minItems);if(typeof _.maxItems==="number")E=E.max(_.maxItems);N=E}else N=y.array(y.any());break}default:throw Error(`Unsupported type: ${U}`)}return N}function o_(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U=BR(_,$),N=_.type||_.enum!==void 0||_.const!==void 0;if(_.anyOf&&Array.isArray(_.anyOf)){let E=_.anyOf.map((W)=>o_(W,$)),J=y.union(E);U=N?y.intersection(U,J):J}if(_.oneOf&&Array.isArray(_.oneOf)){let E=_.oneOf.map((W)=>o_(W,$)),J=y.xor(E);U=N?y.intersection(U,J):J}if(_.allOf&&Array.isArray(_.allOf))if(_.allOf.length===0)U=N?U:y.any();else{let E=N?U:o_(_.allOf[0],$),J=N?0:1;for(let W=J;W<_.allOf.length;W++)E=y.intersection(E,o_(_.allOf[W],$));U=E}if(_.nullable===!0&&$.version==="openapi-3.0")U=y.nullable(U);if(_.readOnly===!0)U=y.readonly(U);if(_.default!==void 0)U=U.default(_.default);let D={},j=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let E of j)if(E in _)D[E]=_[E];let I=["contentEncoding","contentMediaType","contentSchema"];for(let E of I)if(E in _)D[E]=_[E];for(let E of Object.keys(_))if(!gH.has(E))D[E]=_[E];if(Object.keys(D).length>0)$.registry.add(U,D);if(_.description)U=U.describe(_.description);return U}function nO(_,$){if(typeof _==="boolean")return _?y.any():y.never();let U;try{U=JSON.parse(JSON.stringify(_))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let N=ZH(U,$?.defaultTarget),D=U.$defs||U.definitions||{},j={version:N,defs:D,refs:new Map,processing:new Set,rootSchema:U,registry:$?.registry??m_};return o_(U,j)}var y,gH;var VR=f(()=>{rD();sj();U1();N1();y={...D1,...ej,iso:i4},gH=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 j2={};i$(j2,{string:()=>qH,number:()=>kH,date:()=>wH,boolean:()=>bH,bigint:()=>CH});function qH(_){return $L(p4,_)}function kH(_){return AL(e4,_)}function bH(_){return zL(s4,_)}function CH(_){return RL(_0,_)}function wH(_){return ZL(LU,_)}var FR=f(()=>{R$();N1()});var I2={};i$(I2,{xor:()=>QO,xid:()=>cP,void:()=>PO,uuidv7:()=>wP,uuidv6:()=>CP,uuidv4:()=>bP,uuid:()=>kP,util:()=>k,url:()=>vP,uppercase:()=>x4,unknown:()=>$4,union:()=>g1,undefined:()=>SO,ulid:()=>rP,uint64:()=>JO,uint32:()=>IO,tuple:()=>HI,trim:()=>m4,treeifyError:()=>sN,transform:()=>H1,toUpperCase:()=>d4,toLowerCase:()=>n4,toJSONSchema:()=>pD,templateLiteral:()=>CO,symbol:()=>WO,superRefine:()=>D2,success:()=>HO,stringbool:()=>rO,stringFormat:()=>sP,string:()=>EU,strictObject:()=>RO,startsWith:()=>u4,slugify:()=>l4,size:()=>o6,setErrorMap:()=>QR,set:()=>FO,safeParseAsync:()=>DI,safeParse:()=>UI,safeEncodeAsync:()=>WI,safeEncode:()=>AI,safeDecodeAsync:()=>SI,safeDecode:()=>JI,registry:()=>hD,regexes:()=>J$,regex:()=>v4,refine:()=>U2,record:()=>qI,readonly:()=>pI,property:()=>tD,promise:()=>wO,prettifyError:()=>_j,preprocess:()=>mO,prefault:()=>cI,positive:()=>nD,pipe:()=>I1,partialRecord:()=>TO,parseAsync:()=>$I,parse:()=>_I,overwrite:()=>M$,optional:()=>JU,object:()=>XO,number:()=>PI,nullish:()=>ZO,nullable:()=>WU,null:()=>YI,normalize:()=>c4,nonpositive:()=>lD,nonoptional:()=>mI,nonnegative:()=>iD,never:()=>M1,negative:()=>dD,nativeEnum:()=>KO,nanoid:()=>yP,nan:()=>qO,multipleOf:()=>V6,minSize:()=>f$,minLength:()=>$6,mime:()=>r4,meta:()=>uO,maxSize:()=>F6,maxLength:()=>p6,map:()=>VO,mac:()=>dP,lte:()=>W$,lt:()=>w$,lowercase:()=>f4,looseRecord:()=>BO,looseObject:()=>YO,locales:()=>NU,literal:()=>MO,length:()=>a6,lazy:()=>sI,ksuid:()=>mP,keyof:()=>zO,jwt:()=>eP,json:()=>cO,iso:()=>i4,ipv6:()=>lP,ipv4:()=>nP,invertCodec:()=>bO,intersection:()=>gI,int64:()=>AO,int32:()=>jO,int:()=>j1,instanceof:()=>hO,includes:()=>y4,httpUrl:()=>fP,hostname:()=>_O,hex:()=>$O,hash:()=>UO,guid:()=>qP,gte:()=>t_,gt:()=>v$,globalRegistry:()=>m_,getErrorMap:()=>GR,function:()=>vO,fromJSONSchema:()=>nO,formatError:()=>a0,float64:()=>NO,float32:()=>DO,flattenError:()=>p0,file:()=>gO,exactOptional:()=>xI,enum:()=>Z1,endsWith:()=>h4,encodeAsync:()=>II,encode:()=>NI,emoji:()=>xP,email:()=>HP,e164:()=>aP,discriminatedUnion:()=>GO,describe:()=>yO,decodeAsync:()=>EI,decode:()=>jI,date:()=>OO,custom:()=>xO,cuid2:()=>hP,cuid:()=>uP,core:()=>U6,config:()=>C_,coerce:()=>j2,codec:()=>kO,clone:()=>i_,cidrv6:()=>tP,cidrv4:()=>iP,check:()=>fO,catch:()=>lI,boolean:()=>OI,bigint:()=>EO,base64url:()=>pP,base64:()=>oP,array:()=>PU,any:()=>LO,_function:()=>vO,_default:()=>hI,_ZodString:()=>A1,ZodXor:()=>FI,ZodXID:()=>z1,ZodVoid:()=>BI,ZodUnknown:()=>GI,ZodUnion:()=>zU,ZodUndefined:()=>XI,ZodUUID:()=>x$,ZodURL:()=>SU,ZodULID:()=>O1,ZodType:()=>e,ZodTuple:()=>ZI,ZodTransform:()=>vI,ZodTemplateLiteral:()=>aI,ZodSymbol:()=>zI,ZodSuccess:()=>nI,ZodStringFormat:()=>R_,ZodString:()=>p4,ZodSet:()=>bI,ZodRecord:()=>t4,ZodRealError:()=>U$,ZodReadonly:()=>oI,ZodPromise:()=>_2,ZodPreprocess:()=>tI,ZodPrefault:()=>rI,ZodPipe:()=>XU,ZodOptional:()=>q1,ZodObject:()=>OU,ZodNumberFormat:()=>U4,ZodNumber:()=>e4,ZodNullable:()=>yI,ZodNull:()=>RI,ZodNonOptional:()=>k1,ZodNever:()=>TI,ZodNanoID:()=>S1,ZodNaN:()=>iI,ZodMap:()=>kI,ZodMAC:()=>LI,ZodLiteral:()=>CI,ZodLazy:()=>eI,ZodKSUID:()=>X1,ZodJWT:()=>F1,ZodIssueCode:()=>YR,ZodIntersection:()=>MI,ZodISOTime:()=>_1,ZodISODuration:()=>$1,ZodISODateTime:()=>eD,ZodISODate:()=>sD,ZodIPv6:()=>Y1,ZodIPv4:()=>R1,ZodGUID:()=>AU,ZodFunction:()=>$2,ZodFirstPartyTypeKind:()=>N2,ZodFile:()=>wI,ZodExactOptional:()=>fI,ZodError:()=>XR,ZodEnum:()=>o4,ZodEmoji:()=>W1,ZodEmail:()=>J1,ZodE164:()=>V1,ZodDiscriminatedUnion:()=>KI,ZodDefault:()=>uI,ZodDate:()=>LU,ZodCustomStringFormat:()=>a4,ZodCustom:()=>YU,ZodCodec:()=>RU,ZodCatch:()=>dI,ZodCUID2:()=>P1,ZodCUID:()=>L1,ZodCIDRv6:()=>G1,ZodCIDRv4:()=>Q1,ZodBoolean:()=>s4,ZodBigIntFormat:()=>K1,ZodBigInt:()=>_0,ZodBase64URL:()=>B1,ZodBase64:()=>T1,ZodArray:()=>VI,ZodAny:()=>QI,TimePrecision:()=>tj,NEVER:()=>oN,$output:()=>Mj,$input:()=>gj,$brand:()=>pN});var dO=f(()=>{R$();R$();JS();R$();aD();VR();eS();U1();U1();FR();N1();sj();gP();ZP();TR();C_(fD())});var KR={};i$(KR,{z:()=>I2,xor:()=>QO,xid:()=>cP,void:()=>PO,uuidv7:()=>wP,uuidv6:()=>CP,uuidv4:()=>bP,uuid:()=>kP,util:()=>k,url:()=>vP,uppercase:()=>x4,unknown:()=>$4,union:()=>g1,undefined:()=>SO,ulid:()=>rP,uint64:()=>JO,uint32:()=>IO,tuple:()=>HI,trim:()=>m4,treeifyError:()=>sN,transform:()=>H1,toUpperCase:()=>d4,toLowerCase:()=>n4,toJSONSchema:()=>pD,templateLiteral:()=>CO,symbol:()=>WO,superRefine:()=>D2,success:()=>HO,stringbool:()=>rO,stringFormat:()=>sP,string:()=>EU,strictObject:()=>RO,startsWith:()=>u4,slugify:()=>l4,size:()=>o6,setErrorMap:()=>QR,set:()=>FO,safeParseAsync:()=>DI,safeParse:()=>UI,safeEncodeAsync:()=>WI,safeEncode:()=>AI,safeDecodeAsync:()=>SI,safeDecode:()=>JI,registry:()=>hD,regexes:()=>J$,regex:()=>v4,refine:()=>U2,record:()=>qI,readonly:()=>pI,property:()=>tD,promise:()=>wO,prettifyError:()=>_j,preprocess:()=>mO,prefault:()=>cI,positive:()=>nD,pipe:()=>I1,partialRecord:()=>TO,parseAsync:()=>$I,parse:()=>_I,overwrite:()=>M$,optional:()=>JU,object:()=>XO,number:()=>PI,nullish:()=>ZO,nullable:()=>WU,null:()=>YI,normalize:()=>c4,nonpositive:()=>lD,nonoptional:()=>mI,nonnegative:()=>iD,never:()=>M1,negative:()=>dD,nativeEnum:()=>KO,nanoid:()=>yP,nan:()=>qO,multipleOf:()=>V6,minSize:()=>f$,minLength:()=>$6,mime:()=>r4,meta:()=>uO,maxSize:()=>F6,maxLength:()=>p6,map:()=>VO,mac:()=>dP,lte:()=>W$,lt:()=>w$,lowercase:()=>f4,looseRecord:()=>BO,looseObject:()=>YO,locales:()=>NU,literal:()=>MO,length:()=>a6,lazy:()=>sI,ksuid:()=>mP,keyof:()=>zO,jwt:()=>eP,json:()=>cO,iso:()=>i4,ipv6:()=>lP,ipv4:()=>nP,invertCodec:()=>bO,intersection:()=>gI,int64:()=>AO,int32:()=>jO,int:()=>j1,instanceof:()=>hO,includes:()=>y4,httpUrl:()=>fP,hostname:()=>_O,hex:()=>$O,hash:()=>UO,guid:()=>qP,gte:()=>t_,gt:()=>v$,globalRegistry:()=>m_,getErrorMap:()=>GR,function:()=>vO,fromJSONSchema:()=>nO,formatError:()=>a0,float64:()=>NO,float32:()=>DO,flattenError:()=>p0,file:()=>gO,exactOptional:()=>xI,enum:()=>Z1,endsWith:()=>h4,encodeAsync:()=>II,encode:()=>NI,emoji:()=>xP,email:()=>HP,e164:()=>aP,discriminatedUnion:()=>GO,describe:()=>yO,default:()=>vH,decodeAsync:()=>EI,decode:()=>jI,date:()=>OO,custom:()=>xO,cuid2:()=>hP,cuid:()=>uP,core:()=>U6,config:()=>C_,coerce:()=>j2,codec:()=>kO,clone:()=>i_,cidrv6:()=>tP,cidrv4:()=>iP,check:()=>fO,catch:()=>lI,boolean:()=>OI,bigint:()=>EO,base64url:()=>pP,base64:()=>oP,array:()=>PU,any:()=>LO,_function:()=>vO,_default:()=>hI,_ZodString:()=>A1,ZodXor:()=>FI,ZodXID:()=>z1,ZodVoid:()=>BI,ZodUnknown:()=>GI,ZodUnion:()=>zU,ZodUndefined:()=>XI,ZodUUID:()=>x$,ZodURL:()=>SU,ZodULID:()=>O1,ZodType:()=>e,ZodTuple:()=>ZI,ZodTransform:()=>vI,ZodTemplateLiteral:()=>aI,ZodSymbol:()=>zI,ZodSuccess:()=>nI,ZodStringFormat:()=>R_,ZodString:()=>p4,ZodSet:()=>bI,ZodRecord:()=>t4,ZodRealError:()=>U$,ZodReadonly:()=>oI,ZodPromise:()=>_2,ZodPreprocess:()=>tI,ZodPrefault:()=>rI,ZodPipe:()=>XU,ZodOptional:()=>q1,ZodObject:()=>OU,ZodNumberFormat:()=>U4,ZodNumber:()=>e4,ZodNullable:()=>yI,ZodNull:()=>RI,ZodNonOptional:()=>k1,ZodNever:()=>TI,ZodNanoID:()=>S1,ZodNaN:()=>iI,ZodMap:()=>kI,ZodMAC:()=>LI,ZodLiteral:()=>CI,ZodLazy:()=>eI,ZodKSUID:()=>X1,ZodJWT:()=>F1,ZodIssueCode:()=>YR,ZodIntersection:()=>MI,ZodISOTime:()=>_1,ZodISODuration:()=>$1,ZodISODateTime:()=>eD,ZodISODate:()=>sD,ZodIPv6:()=>Y1,ZodIPv4:()=>R1,ZodGUID:()=>AU,ZodFunction:()=>$2,ZodFirstPartyTypeKind:()=>N2,ZodFile:()=>wI,ZodExactOptional:()=>fI,ZodError:()=>XR,ZodEnum:()=>o4,ZodEmoji:()=>W1,ZodEmail:()=>J1,ZodE164:()=>V1,ZodDiscriminatedUnion:()=>KI,ZodDefault:()=>uI,ZodDate:()=>LU,ZodCustomStringFormat:()=>a4,ZodCustom:()=>YU,ZodCodec:()=>RU,ZodCatch:()=>dI,ZodCUID2:()=>P1,ZodCUID:()=>L1,ZodCIDRv6:()=>G1,ZodCIDRv4:()=>Q1,ZodBoolean:()=>s4,ZodBigIntFormat:()=>K1,ZodBigInt:()=>_0,ZodBase64URL:()=>B1,ZodBase64:()=>T1,ZodArray:()=>VI,ZodAny:()=>QI,TimePrecision:()=>tj,NEVER:()=>oN,$output:()=>Mj,$input:()=>gj,$brand:()=>pN});var vH;var MR=f(()=>{dO();dO();vH=I2});var NN=X4((Nx)=>{class Nz extends Error{constructor(_,$,U){super(U);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=$,this.exitCode=_,this.nestedError=void 0}}class _7 extends Nz{constructor(_){super(1,"commander.invalidArgument",_);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Nx.CommanderError=Nz;Nx.InvalidArgumentError=_7});var NE=X4((Jx)=>{var{InvalidArgumentError:Ex}=NN();class $7{constructor(_,$){switch(this.description=$||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,_[0]){case"<":this.required=!0,this._name=_.slice(1,-1);break;case"[":this.required=!1,this._name=_.slice(1,-1);break;default:this.required=!0,this._name=_;break}if(this._name.length>3&&this._name.slice(-3)==="...")this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_concatValue(_,$){if($===this.defaultValue||!Array.isArray($))return[_];return $.concat(_)}default(_,$){return this.defaultValue=_,this.defaultValueDescription=$,this}argParser(_){return this.parseArg=_,this}choices(_){return this.argChoices=_.slice(),this.parseArg=($,U)=>{if(!this.argChoices.includes($))throw new Ex(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,U);return $},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Ax(_){let $=_.name()+(_.variadic===!0?"...":"");return _.required?"<"+$+">":"["+$+"]"}Jx.Argument=$7;Jx.humanReadableArgName=Ax});var jz=X4((Px)=>{var{humanReadableArgName:Lx}=NE();class U7{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(_){this.helpWidth=this.helpWidth??_.helpWidth??80}visibleCommands(_){let $=_.commands.filter((N)=>!N._hidden),U=_._getHelpCommand();if(U&&!U._hidden)$.push(U);if(this.sortSubcommands)$.sort((N,D)=>{return N.name().localeCompare(D.name())});return $}compareOptions(_,$){let U=(N)=>{return N.short?N.short.replace(/^-/,""):N.long.replace(/^--/,"")};return U(_).localeCompare(U($))}visibleOptions(_){let $=_.options.filter((N)=>!N.hidden),U=_._getHelpOption();if(U&&!U.hidden){let N=U.short&&_._findOption(U.short),D=U.long&&_._findOption(U.long);if(!N&&!D)$.push(U);else if(U.long&&!D)$.push(_.createOption(U.long,U.description));else if(U.short&&!N)$.push(_.createOption(U.short,U.description))}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleGlobalOptions(_){if(!this.showGlobalOptions)return[];let $=[];for(let U=_.parent;U;U=U.parent){let N=U.options.filter((D)=>!D.hidden);$.push(...N)}if(this.sortOptions)$.sort(this.compareOptions);return $}visibleArguments(_){if(_._argsDescription)_.registeredArguments.forEach(($)=>{$.description=$.description||_._argsDescription[$.name()]||""});if(_.registeredArguments.find(($)=>$.description))return _.registeredArguments;return[]}subcommandTerm(_){let $=_.registeredArguments.map((U)=>Lx(U)).join(" ");return _._name+(_._aliases[0]?"|"+_._aliases[0]:"")+(_.options.length?" [options]":"")+($?" "+$:"")}optionTerm(_){return _.flags}argumentTerm(_){return _.name()}longestSubcommandTermLength(_,$){return $.visibleCommands(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleSubcommandTerm($.subcommandTerm(N))))},0)}longestOptionTermLength(_,$){return $.visibleOptions(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(N))))},0)}longestGlobalOptionTermLength(_,$){return $.visibleGlobalOptions(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleOptionTerm($.optionTerm(N))))},0)}longestArgumentTermLength(_,$){return $.visibleArguments(_).reduce((U,N)=>{return Math.max(U,this.displayWidth($.styleArgumentTerm($.argumentTerm(N))))},0)}commandUsage(_){let $=_._name;if(_._aliases[0])$=$+"|"+_._aliases[0];let U="";for(let N=_.parent;N;N=N.parent)U=N.name()+" "+U;return U+$+" "+_.usage()}commandDescription(_){return _.description()}subcommandDescription(_){return _.summary()||_.description()}optionDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if(_.defaultValue!==void 0){if(_.required||_.optional||_.isBoolean()&&typeof _.defaultValue==="boolean")$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`)}if(_.presetArg!==void 0&&_.optional)$.push(`preset: ${JSON.stringify(_.presetArg)}`);if(_.envVar!==void 0)$.push(`env: ${_.envVar}`);if($.length>0)return`${_.description} (${$.join(", ")})`;return _.description}argumentDescription(_){let $=[];if(_.argChoices)$.push(`choices: ${_.argChoices.map((U)=>JSON.stringify(U)).join(", ")}`);if(_.defaultValue!==void 0)$.push(`default: ${_.defaultValueDescription||JSON.stringify(_.defaultValue)}`);if($.length>0){let U=`(${$.join(", ")})`;if(_.description)return`${_.description} ${U}`;return U}return _.description}formatHelp(_,$){let U=$.padWidth(_,$),N=$.helpWidth??80;function D(S,L){return $.formatItem(S,U,L,$)}let j=[`${$.styleTitle("Usage:")} ${$.styleUsage($.commandUsage(_))}`,""],I=$.commandDescription(_);if(I.length>0)j=j.concat([$.boxWrap($.styleCommandDescription(I),N),""]);let E=$.visibleArguments(_).map((S)=>{return D($.styleArgumentTerm($.argumentTerm(S)),$.styleArgumentDescription($.argumentDescription(S)))});if(E.length>0)j=j.concat([$.styleTitle("Arguments:"),...E,""]);let J=$.visibleOptions(_).map((S)=>{return D($.styleOptionTerm($.optionTerm(S)),$.styleOptionDescription($.optionDescription(S)))});if(J.length>0)j=j.concat([$.styleTitle("Options:"),...J,""]);if($.showGlobalOptions){let S=$.visibleGlobalOptions(_).map((L)=>{return D($.styleOptionTerm($.optionTerm(L)),$.styleOptionDescription($.optionDescription(L)))});if(S.length>0)j=j.concat([$.styleTitle("Global Options:"),...S,""])}let W=$.visibleCommands(_).map((S)=>{return D($.styleSubcommandTerm($.subcommandTerm(S)),$.styleSubcommandDescription($.subcommandDescription(S)))});if(W.length>0)j=j.concat([$.styleTitle("Commands:"),...W,""]);return j.join(` `)}displayWidth(_){return D7(_).length}styleTitle(_){return _}styleUsage(_){return _.split(" ").map(($)=>{if($==="[options]")return this.styleOptionText($);if($==="[command]")return this.styleSubcommandText($);if($[0]==="["||$[0]==="<")return this.styleArgumentText($);return this.styleCommandText($)}).join(" ")}styleCommandDescription(_){return this.styleDescriptionText(_)}styleOptionDescription(_){return this.styleDescriptionText(_)}styleSubcommandDescription(_){return this.styleDescriptionText(_)}styleArgumentDescription(_){return this.styleDescriptionText(_)}styleDescriptionText(_){return _}styleOptionTerm(_){return this.styleOptionText(_)}styleSubcommandTerm(_){return _.split(" ").map(($)=>{if($==="[options]")return this.styleOptionText($);if($[0]==="["||$[0]==="<")return this.styleArgumentText($);return this.styleSubcommandText($)}).join(" ")}styleArgumentTerm(_){return this.styleArgumentText(_)}styleOptionText(_){return _}styleArgumentText(_){return _}styleSubcommandText(_){return _}styleCommandText(_){return _}padWidth(_,$){return Math.max($.longestOptionTermLength(_,$),$.longestGlobalOptionTermLength(_,$),$.longestSubcommandTermLength(_,$),$.longestArgumentTermLength(_,$))}preformatted(_){return/\n[^\S\r\n]/.test(_)}formatItem(_,$,U,N){let j=" ".repeat(2);if(!U)return j+_;let I=_.padEnd($+_.length-N.displayWidth(_)),E=2,W=(this.helpWidth??80)-$-E-2,S;if(W{let I=j.match(N);if(I===null){D.push("");return}let E=[I.shift()],J=this.displayWidth(E[0]);I.forEach((W)=>{let S=this.displayWidth(W);if(J+S<=$){E.push(W),J+=S;return}D.push(E.join(""));let L=W.trimStart();E=[L],J=this.displayWidth(L)}),D.push(E.join(""))}),D.join(` -`)}}function D7(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}Px.Help=U7;Px.stripColor=D7});var I3=X4((Yx)=>{var{InvalidArgumentError:Xx}=NN();class j7{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Rx(_);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(_,$){return this.defaultValue=_,this.defaultValueDescription=$,this}preset(_){return this.presetArg=_,this}conflicts(_){return this.conflictsWith=this.conflictsWith.concat(_),this}implies(_){let $=_;if(typeof _==="string")$={[_]:!0};return this.implied=Object.assign(this.implied||{},$),this}env(_){return this.envVar=_,this}argParser(_){return this.parseArg=_,this}makeOptionMandatory(_=!0){return this.mandatory=!!_,this}hideHelp(_=!0){return this.hidden=!!_,this}_concatValue(_,$){if($===this.defaultValue||!Array.isArray($))return[_];return $.concat(_)}choices(_){return this.argChoices=_.slice(),this.parseArg=($,U)=>{if(!this.argChoices.includes($))throw new Xx(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,U);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return N7(this.name().replace(/^no-/,""));return N7(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class I7{constructor(_){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,_.forEach(($)=>{if($.negate)this.negativeOptions.set($.attributeName(),$);else this.positiveOptions.set($.attributeName(),$)}),this.negativeOptions.forEach(($,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption(_,$){let U=$.attributeName();if(!this.dualOptions.has(U))return!0;let N=this.negativeOptions.get(U).presetArg,D=N!==void 0?N:!1;return $.negate===(D===_)}}function N7(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Rx(_){let $,U,N=/^-[^-]$/,D=/^--[^-]/,j=_.split(/[ |,]+/).concat("guard");if(N.test(j[0]))$=j.shift();if(D.test(j[0]))U=j.shift();if(!$&&N.test(j[0]))$=j.shift();if(!$&&D.test(j[0]))$=U,U=j.shift();if(j[0].startsWith("-")){let I=j[0],E=`option creation failed due to '${I}' in option flags '${_}'`;if(/^-[^-][^-]/.test(I))throw Error(`${E} +`)}}function D7(_){let $=/\x1b\[\d*(;\d*)*m/g;return _.replace($,"")}Px.Help=U7;Px.stripColor=D7});var Iz=X4((Yx)=>{var{InvalidArgumentError:Xx}=NN();class j7{constructor(_,$){this.flags=_,this.description=$||"",this.required=_.includes("<"),this.optional=_.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(_),this.mandatory=!1;let U=Rx(_);if(this.short=U.shortFlag,this.long=U.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(_,$){return this.defaultValue=_,this.defaultValueDescription=$,this}preset(_){return this.presetArg=_,this}conflicts(_){return this.conflictsWith=this.conflictsWith.concat(_),this}implies(_){let $=_;if(typeof _==="string")$={[_]:!0};return this.implied=Object.assign(this.implied||{},$),this}env(_){return this.envVar=_,this}argParser(_){return this.parseArg=_,this}makeOptionMandatory(_=!0){return this.mandatory=!!_,this}hideHelp(_=!0){return this.hidden=!!_,this}_concatValue(_,$){if($===this.defaultValue||!Array.isArray($))return[_];return $.concat(_)}choices(_){return this.argChoices=_.slice(),this.parseArg=($,U)=>{if(!this.argChoices.includes($))throw new Xx(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._concatValue($,U);return $},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return N7(this.name().replace(/^no-/,""));return N7(this.name())}is(_){return this.short===_||this.long===_}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class I7{constructor(_){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,_.forEach(($)=>{if($.negate)this.negativeOptions.set($.attributeName(),$);else this.positiveOptions.set($.attributeName(),$)}),this.negativeOptions.forEach(($,U)=>{if(this.positiveOptions.has(U))this.dualOptions.add(U)})}valueFromOption(_,$){let U=$.attributeName();if(!this.dualOptions.has(U))return!0;let N=this.negativeOptions.get(U).presetArg,D=N!==void 0?N:!1;return $.negate===(D===_)}}function N7(_){return _.split("-").reduce(($,U)=>{return $+U[0].toUpperCase()+U.slice(1)})}function Rx(_){let $,U,N=/^-[^-]$/,D=/^--[^-]/,j=_.split(/[ |,]+/).concat("guard");if(N.test(j[0]))$=j.shift();if(D.test(j[0]))U=j.shift();if(!$&&N.test(j[0]))$=j.shift();if(!$&&D.test(j[0]))$=U,U=j.shift();if(j[0].startsWith("-")){let I=j[0],E=`option creation failed due to '${I}' in option flags '${_}'`;if(/^-[^-][^-]/.test(I))throw Error(`${E} - a short flag is a single dash and a single character - either use a single dash and a single character (for a short flag) - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(N.test(I))throw Error(`${E} @@ -76,27 +76,27 @@ ${j}`)}boxWrap(_,$){if(${function Tx(_,$){if(Math.abs(_.length-$.length)>3)return Math.max(_.length,$.length);let U=[];for(let N=0;N<=_.length;N++)U[N]=[N];for(let N=0;N<=$.length;N++)U[0][N]=N;for(let N=1;N<=$.length;N++)for(let D=1;D<=_.length;D++){let j=1;if(_[D-1]===$[N-1])j=0;else j=1;if(U[D][N]=Math.min(U[D-1][N]+1,U[D][N-1]+1,U[D-1][N-1]+j),D>1&&N>1&&_[D-1]===$[N-2]&&_[D-2]===$[N-1])U[D][N]=Math.min(U[D][N],U[D-2][N-2]+1)}return U[_.length][$.length]}function Bx(_,$){if(!$||$.length===0)return"";$=Array.from(new Set($));let U=_.startsWith("--");if(U)_=_.slice(2),$=$.map((I)=>I.slice(2));let N=[],D=3,j=0.4;if($.forEach((I)=>{if(I.length<=1)return;let E=Tx(_,I),J=Math.max(_.length,I.length);if((J-E)/J>j){if(EI.localeCompare(E)),U)N=N.map((I)=>`--${I}`);if(N.length>1)return` (Did you mean one of ${N.join(", ")}?)`;if(N.length===1)return` -(Did you mean ${N[0]}?)`;return""}Vx.suggestSimilar=Bx});var S7=X4((kx)=>{var Kx=P_("events").EventEmitter,E3=P_("child_process"),w6=P_("path"),jE=P_("fs"),L_=P_("process"),{Argument:Mx,humanReadableArgName:gx}=NE(),{CommanderError:A3}=NN(),{Help:Zx,stripColor:Hx}=j3(),{Option:A7,DualOptions:qx}=I3(),{suggestSimilar:J7}=E7();class W3 extends Kx{constructor(_){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=_||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:($)=>L_.stdout.write($),writeErr:($)=>L_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>L_.stdout.isTTY?L_.stdout.columns:void 0,getErrHelpWidth:()=>L_.stderr.isTTY?L_.stderr.columns:void 0,getOutHasColors:()=>J3()??(L_.stdout.isTTY&&L_.stdout.hasColors?.()),getErrHasColors:()=>J3()??(L_.stderr.isTTY&&L_.stderr.hasColors?.()),stripColor:($)=>Hx($)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings(_){return this._outputConfiguration=_._outputConfiguration,this._helpOption=_._helpOption,this._helpCommand=_._helpCommand,this._helpConfiguration=_._helpConfiguration,this._exitCallback=_._exitCallback,this._storeOptionsAsProperties=_._storeOptionsAsProperties,this._combineFlagAndOptionalValue=_._combineFlagAndOptionalValue,this._allowExcessArguments=_._allowExcessArguments,this._enablePositionalOptions=_._enablePositionalOptions,this._showHelpAfterError=_._showHelpAfterError,this._showSuggestionAfterError=_._showSuggestionAfterError,this}_getCommandAndAncestors(){let _=[];for(let $=this;$;$=$.parent)_.push($);return _}command(_,$,U){let N=$,D=U;if(typeof N==="object"&&N!==null)D=N,N=null;D=D||{};let[,j,I]=_.match(/([^ ]+) *(.*)/),E=this.createCommand(j);if(N)E.description(N),E._executableHandler=!0;if(D.isDefault)this._defaultCommandName=E._name;if(E._hidden=!!(D.noHelp||D.hidden),E._executableFile=D.executableFile||null,I)E.arguments(I);if(this._registerCommand(E),E.parent=this,E.copyInheritedSettings(this),N)return this;return E}createCommand(_){return new W3(_)}createHelp(){return Object.assign(new Zx,this.configureHelp())}configureHelp(_){if(_===void 0)return this._helpConfiguration;return this._helpConfiguration=_,this}configureOutput(_){if(_===void 0)return this._outputConfiguration;return Object.assign(this._outputConfiguration,_),this}showHelpAfterError(_=!0){if(typeof _!=="string")_=!!_;return this._showHelpAfterError=_,this}showSuggestionAfterError(_=!0){return this._showSuggestionAfterError=!!_,this}addCommand(_,$){if(!_._name)throw Error(`Command passed to .addCommand() must have a name +(Did you mean ${N[0]}?)`;return""}Vx.suggestSimilar=Bx});var S7=X4((kx)=>{var Kx=P_("events").EventEmitter,Ez=P_("child_process"),w6=P_("path"),jE=P_("fs"),L_=P_("process"),{Argument:Mx,humanReadableArgName:gx}=NE(),{CommanderError:Az}=NN(),{Help:Zx,stripColor:Hx}=jz(),{Option:A7,DualOptions:qx}=Iz(),{suggestSimilar:J7}=E7();class Wz extends Kx{constructor(_){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=_||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:($)=>L_.stdout.write($),writeErr:($)=>L_.stderr.write($),outputError:($,U)=>U($),getOutHelpWidth:()=>L_.stdout.isTTY?L_.stdout.columns:void 0,getErrHelpWidth:()=>L_.stderr.isTTY?L_.stderr.columns:void 0,getOutHasColors:()=>Jz()??(L_.stdout.isTTY&&L_.stdout.hasColors?.()),getErrHasColors:()=>Jz()??(L_.stderr.isTTY&&L_.stderr.hasColors?.()),stripColor:($)=>Hx($)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={}}copyInheritedSettings(_){return this._outputConfiguration=_._outputConfiguration,this._helpOption=_._helpOption,this._helpCommand=_._helpCommand,this._helpConfiguration=_._helpConfiguration,this._exitCallback=_._exitCallback,this._storeOptionsAsProperties=_._storeOptionsAsProperties,this._combineFlagAndOptionalValue=_._combineFlagAndOptionalValue,this._allowExcessArguments=_._allowExcessArguments,this._enablePositionalOptions=_._enablePositionalOptions,this._showHelpAfterError=_._showHelpAfterError,this._showSuggestionAfterError=_._showSuggestionAfterError,this}_getCommandAndAncestors(){let _=[];for(let $=this;$;$=$.parent)_.push($);return _}command(_,$,U){let N=$,D=U;if(typeof N==="object"&&N!==null)D=N,N=null;D=D||{};let[,j,I]=_.match(/([^ ]+) *(.*)/),E=this.createCommand(j);if(N)E.description(N),E._executableHandler=!0;if(D.isDefault)this._defaultCommandName=E._name;if(E._hidden=!!(D.noHelp||D.hidden),E._executableFile=D.executableFile||null,I)E.arguments(I);if(this._registerCommand(E),E.parent=this,E.copyInheritedSettings(this),N)return this;return E}createCommand(_){return new Wz(_)}createHelp(){return Object.assign(new Zx,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 Mx(_,$)}argument(_,$,U,N){let D=this.createArgument(_,$);if(typeof U==="function")D.default(N).argParser(U);else D.default(U);return this.addArgument(D),this}arguments(_){return _.trim().split(/ +/).forEach(($)=>{this.argument($)}),this}addArgument(_){let $=this.registeredArguments.slice(-1)[0];if($&&$.variadic)throw Error(`only the last argument can be variadic '${$.name()}'`);if(_.required&&_.defaultValue!==void 0&&_.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${_.name()}'`);return this.registeredArguments.push(_),this}helpCommand(_,$){if(typeof _==="boolean")return this._addImplicitHelpCommand=_,this;_=_??"help [command]";let[,U,N]=_.match(/([^ ]+) *(.*)/),D=$??"display help for command",j=this.createCommand(U);if(j.helpOption(!1),N)j.arguments(N);if(D)j.description(D);return this._addImplicitHelpCommand=!0,this._helpCommand=j,this}addHelpCommand(_,$){if(typeof _!=="object")return this.helpCommand(_,$),this;return this._addImplicitHelpCommand=!0,this._helpCommand=_,this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(_,$){let U=["preSubcommand","preAction","postAction"];if(!U.includes(_))throw Error(`Unexpected value for event passed to hook : '${_}'. -Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[_])this._lifeCycleHooks[_].push($);else this._lifeCycleHooks[_]=[$];return this}exitOverride(_){if(_)this._exitCallback=_;else this._exitCallback=($)=>{if($.code!=="commander.executeSubCommandAsync")throw $};return this}_exit(_,$,U){if(this._exitCallback)this._exitCallback(new A3(_,$,U));L_.exit(_)}action(_){let $=(U)=>{let N=this.registeredArguments.length,D=U.slice(0,N);if(this._storeOptionsAsProperties)D[N]=this;else D[N]=this.opts();return D.push(this),_.apply(this,D)};return this._actionHandler=$,this}createOption(_,$){return new A7(_,$)}_callParseArg(_,$,U,N){try{return _.parseArg($,U)}catch(D){if(D.code==="commander.invalidArgument"){let j=`${N} ${D.message}`;this.error(j,{exitCode:D.exitCode,code:D.code})}throw D}}_registerOption(_){let $=_.short&&this._findOption(_.short)||_.long&&this._findOption(_.long);if($){let U=_.long&&this._findOption(_.long)?_.long:_.short;throw Error(`Cannot add option '${_.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' +Expecting one of '${U.join("', '")}'`);if(this._lifeCycleHooks[_])this._lifeCycleHooks[_].push($);else this._lifeCycleHooks[_]=[$];return this}exitOverride(_){if(_)this._exitCallback=_;else this._exitCallback=($)=>{if($.code!=="commander.executeSubCommandAsync")throw $};return this}_exit(_,$,U){if(this._exitCallback)this._exitCallback(new Az(_,$,U));L_.exit(_)}action(_){let $=(U)=>{let N=this.registeredArguments.length,D=U.slice(0,N);if(this._storeOptionsAsProperties)D[N]=this;else D[N]=this.opts();return D.push(this),_.apply(this,D)};return this._actionHandler=$,this}createOption(_,$){return new A7(_,$)}_callParseArg(_,$,U,N){try{return _.parseArg($,U)}catch(D){if(D.code==="commander.invalidArgument"){let j=`${N} ${D.message}`;this.error(j,{exitCode:D.exitCode,code:D.code})}throw D}}_registerOption(_){let $=_.short&&this._findOption(_.short)||_.long&&this._findOption(_.long);if($){let U=_.long&&this._findOption(_.long)?_.long:_.short;throw Error(`Cannot add option '${_.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${U}' - already used by option '${$.flags}'`)}this.options.push(_)}_registerCommand(_){let $=(N)=>{return[N.name()].concat(N.aliases())},U=$(_).find((N)=>this._findCommand(N));if(U){let N=$(this._findCommand(U)).join("|"),D=$(_).join("|");throw Error(`cannot add command '${D}' as already have command '${N}'`)}this.commands.push(_)}addOption(_){this._registerOption(_);let $=_.name(),U=_.attributeName();if(_.negate){let D=_.long.replace(/^--no-/,"--");if(!this._findOption(D))this.setOptionValueWithSource(U,_.defaultValue===void 0?!0:_.defaultValue,"default")}else if(_.defaultValue!==void 0)this.setOptionValueWithSource(U,_.defaultValue,"default");let N=(D,j,I)=>{if(D==null&&_.presetArg!==void 0)D=_.presetArg;let E=this.getOptionValue(U);if(D!==null&&_.parseArg)D=this._callParseArg(_,D,E,j);else if(D!==null&&_.variadic)D=_._concatValue(D,E);if(D==null)if(_.negate)D=!1;else if(_.isBoolean()||_.optional)D=!0;else D="";this.setOptionValueWithSource(U,D,I)};if(this.on("option:"+$,(D)=>{let j=`error: option '${_.flags}' argument '${D}' is invalid.`;N(D,j,"cli")}),_.envVar)this.on("optionEnv:"+$,(D)=>{let j=`error: option '${_.flags}' value '${D}' from env '${_.envVar}' is invalid.`;N(D,j,"env")});return this}_optionEx(_,$,U,N,D){if(typeof $==="object"&&$ instanceof A7)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let j=this.createOption($,U);if(j.makeOptionMandatory(!!_.mandatory),typeof N==="function")j.default(D).argParser(N);else if(N instanceof RegExp){let I=N;N=(E,J)=>{let W=I.exec(E);return W?W[0]:J},j.default(D).argParser(N)}else j.default(N);return this.addOption(j)}option(_,$,U,N){return this._optionEx({},_,$,U,N)}requiredOption(_,$,U,N){return this._optionEx({mandatory:!0},_,$,U,N)}combineFlagAndOptionalValue(_=!0){return this._combineFlagAndOptionalValue=!!_,this}allowUnknownOption(_=!0){return this._allowUnknownOption=!!_,this}allowExcessArguments(_=!0){return this._allowExcessArguments=!!_,this}enablePositionalOptions(_=!0){return this._enablePositionalOptions=!!_,this}passThroughOptions(_=!0){return this._passThroughOptions=!!_,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(_=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!_,this}getOptionValue(_){if(this._storeOptionsAsProperties)return this[_];return this._optionValues[_]}setOptionValue(_,$){return this.setOptionValueWithSource(_,$,void 0)}setOptionValueWithSource(_,$,U){if(this._storeOptionsAsProperties)this[_]=$;else this._optionValues[_]=$;return this._optionValueSources[_]=U,this}getOptionValueSource(_){return this._optionValueSources[_]}getOptionValueSourceWithGlobals(_){let $;return this._getCommandAndAncestors().forEach((U)=>{if(U.getOptionValueSource(_)!==void 0)$=U.getOptionValueSource(_)}),$}_prepareUserArgs(_,$){if(_!==void 0&&!Array.isArray(_))throw Error("first parameter to parse must be array or undefined");if($=$||{},_===void 0&&$.from===void 0){if(L_.versions?.electron)$.from="electron";let N=L_.execArgv??[];if(N.includes("-e")||N.includes("--eval")||N.includes("-p")||N.includes("--print"))$.from="eval"}if(_===void 0)_=L_.argv;this.rawArgs=_.slice();let U;switch($.from){case void 0:case"node":this._scriptPath=_[1],U=_.slice(2);break;case"electron":if(L_.defaultApp)this._scriptPath=_[1],U=_.slice(2);else U=_.slice(1);break;case"user":U=_.slice(0);break;case"eval":U=_.slice(1);break;default:throw Error(`unexpected parse option { from: '${$.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",U}parse(_,$){this._prepareForParse();let U=this._prepareUserArgs(_,$);return this._parseCommand([],U),this}async parseAsync(_,$){this._prepareForParse();let U=this._prepareUserArgs(_,$);return await this._parseCommand([],U),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true. - either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(_,$,U){if(jE.existsSync(_))return;let N=$?`searched for local subcommand relative to directory '${$}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",D=`'${_}' does not exist - if '${U}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead - if the default executable name is not suitable, use the executableFile option to supply a custom name or path - - ${N}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let U=!1,N=[".js",".ts",".tsx",".mjs",".cjs"];function D(W,S){let L=w6.resolve(W,S);if(jE.existsSync(L))return L;if(N.includes(w6.extname(S)))return;let X=N.find((z)=>jE.existsSync(`${L}${z}`));if(X)return`${L}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let j=_._executableFile||`${this._name}-${_._name}`,I=this._executableDir||"";if(this._scriptPath){let W;try{W=jE.realpathSync(this._scriptPath)}catch{W=this._scriptPath}I=w6.resolve(w6.dirname(W),I)}if(I){let W=D(I,j);if(!W&&!_._executableFile&&this._scriptPath){let S=w6.basename(this._scriptPath,w6.extname(this._scriptPath));if(S!==this._name)W=D(I,`${S}-${_._name}`)}j=W||j}U=N.includes(w6.extname(j));let E;if(L_.platform!=="win32")if(U)$.unshift(j),$=W7(L_.execArgv).concat($),E=E3.spawn(L_.argv[0],$,{stdio:"inherit"});else E=E3.spawn(j,$,{stdio:"inherit"});else this._checkForMissingExecutable(j,I,_._name),$.unshift(j),$=W7(L_.execArgv).concat($),E=E3.spawn(L_.execPath,$,{stdio:"inherit"});if(!E.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((S)=>{L_.on(S,()=>{if(E.killed===!1&&E.exitCode===null)E.kill(S)})});let J=this._exitCallback;E.on("close",(W)=>{if(W=W??1,!J)L_.exit(W);else J(new A3(W,"commander.executeSubCommandAsync","(close)"))}),E.on("error",(W)=>{if(W.code==="ENOENT")this._checkForMissingExecutable(j,I,_._name);else if(W.code==="EACCES")throw Error(`'${j}' not executable`);if(!J)L_.exit(1);else{let S=new A3(1,"commander.executeSubCommandAsync","(error)");S.nestedError=W,J(S)}}),this.runningCommand=E}_dispatchSubcommand(_,$,U){let N=this._findCommand(_);if(!N)this.help({error:!0});N._prepareForParse();let D;return D=this._chainOrCallSubCommandHook(D,N,"preSubcommand"),D=this._chainOrCall(D,()=>{if(N._executableHandler)this._executeSubCommand(N,$.concat(U));else return N._parseCommand($,U)}),D}_dispatchHelpCommand(_){if(!_)this.help();let $=this._findCommand(_);if($&&!$._executableHandler)$.help();return this._dispatchSubcommand(_,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((_,$)=>{if(_.required&&this.args[$]==null)this.missingArgument(_.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let _=(U,N,D)=>{let j=N;if(N!==null&&U.parseArg){let I=`error: command-argument value '${N}' is invalid for argument '${U.name()}'.`;j=this._callParseArg(U,N,D,I)}return j};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((U,N)=>{let D=U.defaultValue;if(U.variadic){if(N{return _(U,I,j)},U.defaultValue)}else if(D===void 0)D=[]}else if(N$());return $()}_chainOrCallHooks(_,$){let U=_,N=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((j)=>{N.push({hookedCommand:D,callback:j})})}),$==="postAction")N.reverse();return N.forEach((D)=>{U=this._chainOrCall(U,()=>{return D.callback(D.hookedCommand,this)})}),U}_chainOrCallSubCommandHook(_,$,U){let N=_;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((D)=>{N=this._chainOrCall(N,()=>{return D(this,$)})});return N}_parseCommand(_,$){let U=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),_=_.concat(U.operands),$=U.unknown,this.args=_.concat($),_&&this._findCommand(_[0]))return this._dispatchSubcommand(_[0],_.slice(1),$);if(this._getHelpCommand()&&_[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(_[1]);if(this._defaultCommandName)return this._outputHelpIfRequested($),this._dispatchSubcommand(this._defaultCommandName,_,$);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let N=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},D=`command:${this.name()}`;if(this._actionHandler){N(),this._processArguments();let j;if(j=this._chainOrCallHooks(j,"preAction"),j=this._chainOrCall(j,()=>this._actionHandler(this.processedArgs)),this.parent)j=this._chainOrCall(j,()=>{this.parent.emit(D,_,$)});return j=this._chainOrCallHooks(j,"postAction"),j}if(this.parent&&this.parent.listenerCount(D))N(),this._processArguments(),this.parent.emit(D,_,$);else if(_.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",_,$);if(this.listenerCount("command:*"))this.emit("command:*",_,$);else if(this.commands.length)this.unknownCommand();else N(),this._processArguments()}else if(this.commands.length)N(),this.help({error:!0});else N(),this._processArguments()}_findCommand(_){if(!_)return;return this.commands.find(($)=>$._name===_||$._aliases.includes(_))}_findOption(_){return this.options.find(($)=>$.is(_))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((_)=>{_.options.forEach(($)=>{if($.mandatory&&_.getOptionValue($.attributeName())===void 0)_.missingMandatoryOptionValue($)})})}_checkForConflictingLocalOptions(){let _=this.options.filter((U)=>{let N=U.attributeName();if(this.getOptionValue(N)===void 0)return!1;return this.getOptionValueSource(N)!=="default"});_.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let N=_.find((D)=>U.conflictsWith.includes(D.attributeName()));if(N)this._conflictingOption(U,N)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],U=[],N=$,D=_.slice();function j(E){return E.length>1&&E[0]==="-"}let I=null;while(D.length){let E=D.shift();if(E==="--"){if(N===U)N.push(E);N.push(...D);break}if(I&&!j(E)){this.emit(`option:${I.name()}`,E);continue}if(I=null,j(E)){let J=this._findOption(E);if(J){if(J.required){let W=D.shift();if(W===void 0)this.optionMissingArgument(J);this.emit(`option:${J.name()}`,W)}else if(J.optional){let W=null;if(D.length>0&&!j(D[0]))W=D.shift();this.emit(`option:${J.name()}`,W)}else this.emit(`option:${J.name()}`);I=J.variadic?J:null;continue}}if(E.length>2&&E[0]==="-"&&E[1]!=="-"){let J=this._findOption(`-${E[1]}`);if(J){if(J.required||J.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${J.name()}`,E.slice(2));else this.emit(`option:${J.name()}`),D.unshift(`-${E.slice(2)}`);continue}}if(/^--[^=]+=/.test(E)){let J=E.indexOf("="),W=this._findOption(E.slice(0,J));if(W&&(W.required||W.optional)){this.emit(`option:${W.name()}`,E.slice(J+1));continue}}if(j(E))N=U;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&U.length===0){if(this._findCommand(E)){if($.push(E),D.length>0)U.push(...D);break}else if(this._getHelpCommand()&&E===this._getHelpCommand().name()){if($.push(E),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(U.push(E),D.length>0)U.push(...D);break}}if(this._passThroughOptions){if(N.push(E),D.length>0)N.push(...D);break}N.push(E)}return{operands:$,unknown:U}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let U=0;U<$;U++){let N=this.options[U].attributeName();_[N]=N===this._versionOptionName?this._version:this[N]}return _}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((_,$)=>Object.assign(_,$.opts()),{})}error(_,$){if(this._outputConfiguration.outputError(`${_} + - ${N}`;throw Error(D)}_executeSubCommand(_,$){$=$.slice();let U=!1,N=[".js",".ts",".tsx",".mjs",".cjs"];function D(W,S){let L=w6.resolve(W,S);if(jE.existsSync(L))return L;if(N.includes(w6.extname(S)))return;let X=N.find((z)=>jE.existsSync(`${L}${z}`));if(X)return`${L}${X}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let j=_._executableFile||`${this._name}-${_._name}`,I=this._executableDir||"";if(this._scriptPath){let W;try{W=jE.realpathSync(this._scriptPath)}catch{W=this._scriptPath}I=w6.resolve(w6.dirname(W),I)}if(I){let W=D(I,j);if(!W&&!_._executableFile&&this._scriptPath){let S=w6.basename(this._scriptPath,w6.extname(this._scriptPath));if(S!==this._name)W=D(I,`${S}-${_._name}`)}j=W||j}U=N.includes(w6.extname(j));let E;if(L_.platform!=="win32")if(U)$.unshift(j),$=W7(L_.execArgv).concat($),E=Ez.spawn(L_.argv[0],$,{stdio:"inherit"});else E=Ez.spawn(j,$,{stdio:"inherit"});else this._checkForMissingExecutable(j,I,_._name),$.unshift(j),$=W7(L_.execArgv).concat($),E=Ez.spawn(L_.execPath,$,{stdio:"inherit"});if(!E.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((S)=>{L_.on(S,()=>{if(E.killed===!1&&E.exitCode===null)E.kill(S)})});let J=this._exitCallback;E.on("close",(W)=>{if(W=W??1,!J)L_.exit(W);else J(new Az(W,"commander.executeSubCommandAsync","(close)"))}),E.on("error",(W)=>{if(W.code==="ENOENT")this._checkForMissingExecutable(j,I,_._name);else if(W.code==="EACCES")throw Error(`'${j}' not executable`);if(!J)L_.exit(1);else{let S=new Az(1,"commander.executeSubCommandAsync","(error)");S.nestedError=W,J(S)}}),this.runningCommand=E}_dispatchSubcommand(_,$,U){let N=this._findCommand(_);if(!N)this.help({error:!0});N._prepareForParse();let D;return D=this._chainOrCallSubCommandHook(D,N,"preSubcommand"),D=this._chainOrCall(D,()=>{if(N._executableHandler)this._executeSubCommand(N,$.concat(U));else return N._parseCommand($,U)}),D}_dispatchHelpCommand(_){if(!_)this.help();let $=this._findCommand(_);if($&&!$._executableHandler)$.help();return this._dispatchSubcommand(_,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((_,$)=>{if(_.required&&this.args[$]==null)this.missingArgument(_.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let _=(U,N,D)=>{let j=N;if(N!==null&&U.parseArg){let I=`error: command-argument value '${N}' is invalid for argument '${U.name()}'.`;j=this._callParseArg(U,N,D,I)}return j};this._checkNumberOfArguments();let $=[];this.registeredArguments.forEach((U,N)=>{let D=U.defaultValue;if(U.variadic){if(N{return _(U,I,j)},U.defaultValue)}else if(D===void 0)D=[]}else if(N$());return $()}_chainOrCallHooks(_,$){let U=_,N=[];if(this._getCommandAndAncestors().reverse().filter((D)=>D._lifeCycleHooks[$]!==void 0).forEach((D)=>{D._lifeCycleHooks[$].forEach((j)=>{N.push({hookedCommand:D,callback:j})})}),$==="postAction")N.reverse();return N.forEach((D)=>{U=this._chainOrCall(U,()=>{return D.callback(D.hookedCommand,this)})}),U}_chainOrCallSubCommandHook(_,$,U){let N=_;if(this._lifeCycleHooks[U]!==void 0)this._lifeCycleHooks[U].forEach((D)=>{N=this._chainOrCall(N,()=>{return D(this,$)})});return N}_parseCommand(_,$){let U=this.parseOptions($);if(this._parseOptionsEnv(),this._parseOptionsImplied(),_=_.concat(U.operands),$=U.unknown,this.args=_.concat($),_&&this._findCommand(_[0]))return this._dispatchSubcommand(_[0],_.slice(1),$);if(this._getHelpCommand()&&_[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(_[1]);if(this._defaultCommandName)return this._outputHelpIfRequested($),this._dispatchSubcommand(this._defaultCommandName,_,$);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(U.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let N=()=>{if(U.unknown.length>0)this.unknownOption(U.unknown[0])},D=`command:${this.name()}`;if(this._actionHandler){N(),this._processArguments();let j;if(j=this._chainOrCallHooks(j,"preAction"),j=this._chainOrCall(j,()=>this._actionHandler(this.processedArgs)),this.parent)j=this._chainOrCall(j,()=>{this.parent.emit(D,_,$)});return j=this._chainOrCallHooks(j,"postAction"),j}if(this.parent&&this.parent.listenerCount(D))N(),this._processArguments(),this.parent.emit(D,_,$);else if(_.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",_,$);if(this.listenerCount("command:*"))this.emit("command:*",_,$);else if(this.commands.length)this.unknownCommand();else N(),this._processArguments()}else if(this.commands.length)N(),this.help({error:!0});else N(),this._processArguments()}_findCommand(_){if(!_)return;return this.commands.find(($)=>$._name===_||$._aliases.includes(_))}_findOption(_){return this.options.find(($)=>$.is(_))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((_)=>{_.options.forEach(($)=>{if($.mandatory&&_.getOptionValue($.attributeName())===void 0)_.missingMandatoryOptionValue($)})})}_checkForConflictingLocalOptions(){let _=this.options.filter((U)=>{let N=U.attributeName();if(this.getOptionValue(N)===void 0)return!1;return this.getOptionValueSource(N)!=="default"});_.filter((U)=>U.conflictsWith.length>0).forEach((U)=>{let N=_.find((D)=>U.conflictsWith.includes(D.attributeName()));if(N)this._conflictingOption(U,N)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((_)=>{_._checkForConflictingLocalOptions()})}parseOptions(_){let $=[],U=[],N=$,D=_.slice();function j(E){return E.length>1&&E[0]==="-"}let I=null;while(D.length){let E=D.shift();if(E==="--"){if(N===U)N.push(E);N.push(...D);break}if(I&&!j(E)){this.emit(`option:${I.name()}`,E);continue}if(I=null,j(E)){let J=this._findOption(E);if(J){if(J.required){let W=D.shift();if(W===void 0)this.optionMissingArgument(J);this.emit(`option:${J.name()}`,W)}else if(J.optional){let W=null;if(D.length>0&&!j(D[0]))W=D.shift();this.emit(`option:${J.name()}`,W)}else this.emit(`option:${J.name()}`);I=J.variadic?J:null;continue}}if(E.length>2&&E[0]==="-"&&E[1]!=="-"){let J=this._findOption(`-${E[1]}`);if(J){if(J.required||J.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${J.name()}`,E.slice(2));else this.emit(`option:${J.name()}`),D.unshift(`-${E.slice(2)}`);continue}}if(/^--[^=]+=/.test(E)){let J=E.indexOf("="),W=this._findOption(E.slice(0,J));if(W&&(W.required||W.optional)){this.emit(`option:${W.name()}`,E.slice(J+1));continue}}if(j(E))N=U;if((this._enablePositionalOptions||this._passThroughOptions)&&$.length===0&&U.length===0){if(this._findCommand(E)){if($.push(E),D.length>0)U.push(...D);break}else if(this._getHelpCommand()&&E===this._getHelpCommand().name()){if($.push(E),D.length>0)$.push(...D);break}else if(this._defaultCommandName){if(U.push(E),D.length>0)U.push(...D);break}}if(this._passThroughOptions){if(N.push(E),D.length>0)N.push(...D);break}N.push(E)}return{operands:$,unknown:U}}opts(){if(this._storeOptionsAsProperties){let _={},$=this.options.length;for(let U=0;U<$;U++){let N=this.options[U].attributeName();_[N]=N===this._versionOptionName?this._version:this[N]}return _}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((_,$)=>Object.assign(_,$.opts()),{})}error(_,$){if(this._outputConfiguration.outputError(`${_} `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError} `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(` `),this.outputHelp({error:!0});let U=$||{},N=U.exitCode||1,D=U.code||"commander.error";this._exit(N,D,_)}_parseOptionsEnv(){this.options.forEach((_)=>{if(_.envVar&&_.envVar in L_.env){let $=_.attributeName();if(this.getOptionValue($)===void 0||["default","config","env"].includes(this.getOptionValueSource($)))if(_.required||_.optional)this.emit(`optionEnv:${_.name()}`,L_.env[_.envVar]);else this.emit(`optionEnv:${_.name()}`)}})}_parseOptionsImplied(){let _=new qx(this.options),$=(U)=>{return this.getOptionValue(U)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(U))};this.options.filter((U)=>U.implied!==void 0&&$(U.attributeName())&&_.valueFromOption(this.getOptionValue(U.attributeName()),U)).forEach((U)=>{Object.keys(U.implied).filter((N)=>!$(N)).forEach((N)=>{this.setOptionValueWithSource(N,U.implied[N],"implied")})})}missingArgument(_){let $=`error: missing required argument '${_}'`;this.error($,{code:"commander.missingArgument"})}optionMissingArgument(_){let $=`error: option '${_.flags}' argument missing`;this.error($,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(_){let $=`error: required option '${_.flags}' not specified`;this.error($,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(_,$){let U=(j)=>{let I=j.attributeName(),E=this.getOptionValue(I),J=this.options.find((S)=>S.negate&&I===S.attributeName()),W=this.options.find((S)=>!S.negate&&I===S.attributeName());if(J&&(J.presetArg===void 0&&E===!1||J.presetArg!==void 0&&E===J.presetArg))return J;return W||j},N=(j)=>{let I=U(j),E=I.attributeName();if(this.getOptionValueSource(E)==="env")return`environment variable '${I.envVar}'`;return`option '${I.flags}'`},D=`error: ${N(_)} cannot be used with ${N($)}`;this.error(D,{code:"commander.conflictingOption"})}unknownOption(_){if(this._allowUnknownOption)return;let $="";if(_.startsWith("--")&&this._showSuggestionAfterError){let N=[],D=this;do{let j=D.createHelp().visibleOptions(D).filter((I)=>I.long).map((I)=>I.long);N=N.concat(j),D=D.parent}while(D&&!D._enablePositionalOptions);$=J7(_,N)}let U=`error: unknown option '${_}'${$}`;this.error(U,{code:"commander.unknownOption"})}_excessArguments(_){if(this._allowExcessArguments)return;let $=this.registeredArguments.length,U=$===1?"":"s",D=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${$} argument${U} but got ${_.length}.`;this.error(D,{code:"commander.excessArguments"})}unknownCommand(){let _=this.args[0],$="";if(this._showSuggestionAfterError){let N=[];this.createHelp().visibleCommands(this).forEach((D)=>{if(N.push(D.name()),D.alias())N.push(D.alias())}),$=J7(_,N)}let U=`error: unknown command '${_}'${$}`;this.error(U,{code:"commander.unknownCommand"})}version(_,$,U){if(_===void 0)return this._version;this._version=_,$=$||"-V, --version",U=U||"output the version number";let N=this.createOption($,U);return this._versionOptionName=N.attributeName(),this._registerOption(N),this.on("option:"+N.name(),()=>{this._outputConfiguration.writeOut(`${_} `),this._exit(0,"commander.version",_)}),this}description(_,$){if(_===void 0&&$===void 0)return this._description;if(this._description=_,$)this._argsDescription=$;return this}summary(_){if(_===void 0)return this._summary;return this._summary=_,this}alias(_){if(_===void 0)return this._aliases[0];let $=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)$=this.commands[this.commands.length-1];if(_===$._name)throw Error("Command alias can't be the same as its name");let U=this.parent?._findCommand(_);if(U){let N=[U.name()].concat(U.aliases()).join("|");throw Error(`cannot add alias '${_}' to command '${this.name()}' as already have command '${N}'`)}return $._aliases.push(_),this}aliases(_){if(_===void 0)return this._aliases;return _.forEach(($)=>this.alias($)),this}usage(_){if(_===void 0){if(this._usage)return this._usage;let $=this.registeredArguments.map((U)=>{return gx(U)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?$:[]).join(" ")}return this._usage=_,this}name(_){if(_===void 0)return this._name;return this._name=_,this}nameFromFilename(_){return this._name=w6.basename(_,w6.extname(_)),this}executableDir(_){if(_===void 0)return this._executableDir;return this._executableDir=_,this}helpInformation(_){let $=this.createHelp(),U=this._getOutputContext(_);$.prepareContext({error:U.error,helpWidth:U.helpWidth,outputHasColors:U.hasColors});let N=$.formatHelp(this,$);if(U.hasColors)return N;return this._outputConfiguration.stripColor(N)}_getOutputContext(_){_=_||{};let $=!!_.error,U,N,D;if($)U=(I)=>this._outputConfiguration.writeErr(I),N=this._outputConfiguration.getErrHasColors(),D=this._outputConfiguration.getErrHelpWidth();else U=(I)=>this._outputConfiguration.writeOut(I),N=this._outputConfiguration.getOutHasColors(),D=this._outputConfiguration.getOutHelpWidth();return{error:$,write:(I)=>{if(!N)I=this._outputConfiguration.stripColor(I);return U(I)},hasColors:N,helpWidth:D}}outputHelp(_){let $;if(typeof _==="function")$=_,_=void 0;let U=this._getOutputContext(_),N={error:U.error,write:U.write,command:this};this._getCommandAndAncestors().reverse().forEach((j)=>j.emit("beforeAllHelp",N)),this.emit("beforeHelp",N);let D=this.helpInformation({error:U.error});if($){if(D=$(D),typeof D!=="string"&&!Buffer.isBuffer(D))throw Error("outputHelp callback must return a string or a Buffer")}if(U.write(D),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",N),this._getCommandAndAncestors().forEach((j)=>j.emit("afterAllHelp",N))}helpOption(_,$){if(typeof _==="boolean"){if(_)this._helpOption=this._helpOption??void 0;else this._helpOption=null;return this}return _=_??"-h, --help",$=$??"display help for command",this._helpOption=this.createOption(_,$),this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(_){return this._helpOption=_,this}help(_){this.outputHelp(_);let $=Number(L_.exitCode??0);if($===0&&_&&typeof _!=="function"&&_.error)$=1;this._exit($,"commander.help","(outputHelp)")}addHelpText(_,$){let U=["beforeAll","before","after","afterAll"];if(!U.includes(_))throw Error(`Unexpected value for position to addHelpText. Expecting one of '${U.join("', '")}'`);let N=`${_}Help`;return this.on(N,(D)=>{let j;if(typeof $==="function")j=$({error:D.error,command:D.command});else j=$;if(j)D.write(`${j} -`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((N)=>$.is(N)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function W7(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let U,N="127.0.0.1",D="9229",j;if((j=$.match(/^(--inspect(-brk)?)$/))!==null)U=j[1];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=j[1],/^\d+$/.test(j[3]))D=j[3];else N=j[3];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=j[1],N=j[3],D=j[4];if(U&&D!=="0")return`${U}=${N}:${parseInt(D)+1}`;return $})}function J3(){if(L_.env.NO_COLOR||L_.env.FORCE_COLOR==="0"||L_.env.FORCE_COLOR==="false")return!1;if(L_.env.FORCE_COLOR||L_.env.CLICOLOR_FORCE!==void 0)return!0;return}kx.Command=W3;kx.useColor=J3});var z7=X4((fx)=>{var{Argument:L7}=NE(),{Command:S3}=S7(),{CommanderError:wx,InvalidArgumentError:P7}=NN(),{Help:vx}=j3(),{Option:O7}=I3();fx.program=new S3;fx.createCommand=(_)=>new S3(_);fx.createOption=(_,$)=>new O7(_,$);fx.createArgument=(_,$)=>new L7(_,$);fx.Command=S3;fx.Option=O7;fx.Argument=L7;fx.Help=vx;fx.CommanderError=wx;fx.InvalidArgumentError=P7;fx.InvalidOptionArgumentError=P7});import{chmodSync as q3,closeSync as UD,existsSync as K0,fsyncSync as BE,lstatSync as AT,openSync as VE,readFileSync as DD,renameSync as k3,unlinkSync as FE,writeFileSync as KE}from"fs";import{randomUUID as ND}from"crypto";import{basename as JT,dirname as b3,join as TE}from"path";import{chmodSync as T3,existsSync as DT,mkdirSync as OE,readFileSync as NT,writeFileSync as B3}from"fs";import{homedir as zE}from"os";import{dirname as jT,join as l_,resolve as V3}from"path";var W6=l_(".hasna","knowledge"),F3=l_(".hasna","apps","knowledge"),X_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:W6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function K3(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:X_.s3.bucket,prefix:X_.s3.prefix,region:X_.s3.region,profile:X_.s3.profile,server_side_encryption:X_.s3.server_side_encryption}}}function _D(){return l_(zE(),".open-knowledge","db.json")}function JN(){return l_(zE(),".hasna","knowledge")}function XE(_=process.cwd()){return V3(_,W6)}function IT(){return l_(zE(),F3)}function ET(_=process.cwd()){return V3(_,F3)}function RE(_,$=process.cwd()){if(_==="project"||_==="local")return P$(ET($));return P$(IT())}function P$(_){return{home:_,configPath:l_(_,"config.json"),jsonStorePath:l_(_,"db.json"),knowledgeDbPath:l_(_,"knowledge.db"),artifactsDir:l_(_,"artifacts"),cacheDir:l_(_,"cache"),exportsDir:l_(_,"exports"),indexesDir:l_(_,"indexes"),logsDir:l_(_,"logs"),runsDir:l_(_,"runs"),schemasDir:l_(_,"schemas"),wikiDir:l_(_,"wiki")}}function $D(){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 F0(_){let $=P$(_);OE($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])OE(U,{recursive:!0,mode:448});if(!DT($.configPath))B3($.configPath,`${JSON.stringify($D(),null,2)} -`,{mode:384}),T3($.configPath,384);return $}function WN(_,$=process.cwd()){if(_==="project"||_==="local")return P$(XE($));return P$(JN())}function t$(_){OE(jT(_),{recursive:!0})}function YE(_){let $=NT(_,"utf8");return JSON.parse($)}function M3(_,$){t$(_),B3(_,`${JSON.stringify($,null,2)} -`,{mode:384}),T3(_,384)}function LN(){return P$(JN()).jsonStorePath}function jD(_){if(_===LN()&&K0(_D()))gE();if(!K0(_))t$(_),v3(_,`${JSON.stringify({items:[]},null,2)} +`)}),this}_outputHelpIfRequested(_){let $=this._getHelpOption();if($&&_.find((N)=>$.is(N)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function W7(_){return _.map(($)=>{if(!$.startsWith("--inspect"))return $;let U,N="127.0.0.1",D="9229",j;if((j=$.match(/^(--inspect(-brk)?)$/))!==null)U=j[1];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(U=j[1],/^\d+$/.test(j[3]))D=j[3];else N=j[3];else if((j=$.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)U=j[1],N=j[3],D=j[4];if(U&&D!=="0")return`${U}=${N}:${parseInt(D)+1}`;return $})}function Jz(){if(L_.env.NO_COLOR||L_.env.FORCE_COLOR==="0"||L_.env.FORCE_COLOR==="false")return!1;if(L_.env.FORCE_COLOR||L_.env.CLICOLOR_FORCE!==void 0)return!0;return}kx.Command=Wz;kx.useColor=Jz});var z7=X4((fx)=>{var{Argument:L7}=NE(),{Command:Sz}=S7(),{CommanderError:wx,InvalidArgumentError:P7}=NN(),{Help:vx}=jz(),{Option:O7}=Iz();fx.program=new Sz;fx.createCommand=(_)=>new Sz(_);fx.createOption=(_,$)=>new O7(_,$);fx.createArgument=(_,$)=>new L7(_,$);fx.Command=Sz;fx.Option=O7;fx.Argument=L7;fx.Help=vx;fx.CommanderError=wx;fx.InvalidArgumentError=P7;fx.InvalidOptionArgumentError=P7});import{chmodSync as qz,closeSync as UD,existsSync as K0,fsyncSync as BE,lstatSync as AT,openSync as VE,readFileSync as DD,renameSync as kz,unlinkSync as FE,writeFileSync as KE}from"fs";import{randomUUID as ND}from"crypto";import{basename as JT,dirname as bz,join as TE}from"path";import{chmodSync as Tz,existsSync as DT,mkdirSync as OE,readFileSync as NT,writeFileSync as Bz}from"fs";import{homedir as zE}from"os";import{dirname as jT,join as l_,resolve as Vz}from"path";var W6=l_(".hasna","knowledge"),Fz=l_(".hasna","apps","knowledge"),X_={division:"xyz",app_type:"opensource",app:"knowledge",env:"prod",local_path:W6,s3:{bucket:"example-knowledge-prod",region:"us-east-1",profile:"example-infra",prefix:".hasna/knowledge",server_side_encryption:"AES256"},secrets:{env:"example/knowledge/prod/env",aws:"example/knowledge/prod/aws",s3:"example/knowledge/prod/s3",rds:null,future_rds:"example/knowledge/prod/rds"},source_owner:"open-files",evidence_doc:"docs/canonical-secrets-bootstrap-2026-06-08.md"};function Kz(){return{type:"s3",artifacts_root:"artifacts",s3:{bucket:X_.s3.bucket,prefix:X_.s3.prefix,region:X_.s3.region,profile:X_.s3.profile,server_side_encryption:X_.s3.server_side_encryption}}}function _D(){return l_(zE(),".open-knowledge","db.json")}function JN(){return l_(zE(),".hasna","knowledge")}function XE(_=process.cwd()){return Vz(_,W6)}function IT(){return l_(zE(),Fz)}function ET(_=process.cwd()){return Vz(_,Fz)}function RE(_,$=process.cwd()){if(_==="project"||_==="local")return P$(ET($));return P$(IT())}function P$(_){return{home:_,configPath:l_(_,"config.json"),jsonStorePath:l_(_,"db.json"),knowledgeDbPath:l_(_,"knowledge.db"),artifactsDir:l_(_,"artifacts"),cacheDir:l_(_,"cache"),exportsDir:l_(_,"exports"),indexesDir:l_(_,"indexes"),logsDir:l_(_,"logs"),runsDir:l_(_,"runs"),schemasDir:l_(_,"schemas"),wikiDir:l_(_,"wiki")}}function $D(){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 F0(_){let $=P$(_);OE($.home,{recursive:!0,mode:448});for(let U of[$.artifactsDir,$.cacheDir,$.exportsDir,$.indexesDir,$.logsDir,$.runsDir,$.schemasDir,$.wikiDir])OE(U,{recursive:!0,mode:448});if(!DT($.configPath))Bz($.configPath,`${JSON.stringify($D(),null,2)} +`,{mode:384}),Tz($.configPath,384);return $}function WN(_,$=process.cwd()){if(_==="project"||_==="local")return P$(XE($));return P$(JN())}function t$(_){OE(jT(_),{recursive:!0})}function YE(_){let $=NT(_,"utf8");return JSON.parse($)}function Mz(_,$){t$(_),Bz(_,`${JSON.stringify($,null,2)} +`,{mode:384}),Tz(_,384)}function LN(){return P$(JN()).jsonStorePath}function jD(_){if(_===LN()&&K0(_D()))gE();if(!K0(_))t$(_),vz(_,`${JSON.stringify({items:[]},null,2)} `)}function WT(_){return _.toISOString().replace(/[:.]/g,"-")}function ME(_){let $=[`id:${_.id}`];if(typeof _.short_id==="string"&&_.short_id.length>0)$.push(`short_id:${_.short_id}`);return $}function ST(_){let $=new Set;for(let U of _)for(let N of ME(U))$.add(N);return $}function LT(_,$){return ME($).some((U)=>_.has(U))}function QE(_,$){t$(_),KE(_,`${JSON.stringify($,null,2)} -`,{mode:384}),q3(_,384)}function g3(_){let $=JSON.parse(DD(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},N=0;for(let D of $.items)if(D&&typeof D==="object"&&typeof D.id==="string"&&D.id.length>0)U.items.push(D);else N+=1;return{store:U,skippedInvalid:N}}function gE(_={}){if(_.dryRun===!0)return Z3(_);return o$(LN(),()=>Z3(_),{createParent:!0})}function Z3(_={}){let $=_.dryRun===!0,U=_.now??new Date,N=P$(JN()),D=_D(),j=N.jsonStorePath,I=K0(D),E=K0(j),J={ok:!0,dry_run:$,legacy_path:D,canonical_path:j,legacy_exists:I,canonical_existed:E,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:I?"Legacy global store already imported":"No legacy global store found"};if(!I)return J;let W;try{let Y=g3(D);W=Y.store,J.skipped_invalid=Y.skippedInvalid}catch(Y){return J.ok=!1,J.errors.push(`Could not read legacy store: ${Y instanceof Error?Y.message:String(Y)}`),J.message="Legacy global store import failed",J}let S={items:[]};if(E)try{S=g3(j).store}catch(Y){return J.ok=!1,J.errors.push(`Could not read canonical store: ${Y instanceof Error?Y.message:String(Y)}`),J.message="Legacy global store import failed",J}let L=ST(S.items),X={items:[...S.items]};for(let Y of W.items){if(!Y?.id){J.skipped_invalid+=1;continue}if(LT(L,Y)){J.skipped_existing+=1;continue}X.items.push(Y);for(let P of ME(Y))L.add(P);J.imported+=1}if(J.would_create_canonical=!E&&J.imported>0,J.canonical_created=!$&&J.would_create_canonical,J.message=J.imported>0?`Imported ${J.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||J.imported===0)return J;let z=`${WT(U)}-${ND().slice(0,8)}`;if(E)J.backup_path=TE(N.exportsDir,`legacy-open-knowledge-db-before-import-${z}.json`),QE(J.backup_path,S);return QE(j,X),J.report_path=TE(N.runsDir,`legacy-open-knowledge-import-${z}.json`),QE(J.report_path,J),J}function R4(_){if(!K0(_))return{exists:!1,items:[]};let $=DD(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function PT(_){return`${_}.lock`}var SN=1e4,C3=25,H3=120000,OT=new Int32Array(new SharedArrayBuffer(4));function ZE(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function w3(_){let $=null;try{$=VE(b3(_),"r"),BE($)}catch{}finally{if($!==null)try{UD($)}catch{}}}var GE=new Set;function v3(_,$){t$(_);let U=TE(b3(_),`.${JT(_)}.tmp.${ND()}`),N=null;try{N=VE(U,"wx",384),KE(N,$),BE(N),UD(N),N=null,k3(U,_);try{q3(_,384)}catch{}w3(_)}catch(D){if(N!==null)try{UD(N)}catch{}try{FE(U)}catch{}throw D}}function f3(_){Atomics.wait(OT,0,0,_)}function zT(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return ZE($)!=="ESRCH"}}function x3(_,$){try{let U=DD(_,"utf8"),N=JSON.parse(U);if(typeof N.ts==="number")return $-N.ts>H3&&!zT(N.pid)}catch{}try{return $-AT(_).mtimeMs>H3}catch{return!1}}function XT(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${ND()}`;try{k3(_,U)}catch(N){if(ZE(N)!=="ENOENT")throw N;return}}function RT(_){let $=ND(),U=`${_}.breaker`,N=Date.now();while(Date.now()-N{N=j};while(Date.now()-UHT)return null;U=VT(_,"utf8")}catch{return null}let N=wT(U);for(let D of $){let j=N.get(D)?.trim();if(j)return j}return null}function M0(_,$,U){if(!bT.test(U))return;throw new ED(_,`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 vT=Symbol.for("nodejs.util.inspect.custom");function g0(_){let{apiKey:$,...U}=_,N={...U};return Object.defineProperty(N,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(N,vT,{value:()=>({...U,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),N}function fT(_,$){return M0(_,"explicit apiKey option",$),g0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function d3(_,$){for(let U of $){let N=_[U]?.trim();if(N)return{key:U,value:N}}return null}var l3=Symbol.for("hasna:contracts:credentialDeprecationNotices");function xT(){let _=globalThis,$=_[l3];if($ instanceof Set)return $;let U=new Set;return _[l3]=U,U}function yT(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} -`)}function bE(_,$,U={}){let{apiKeyKeys:N}=p3(_),D=a3(_,$),j=U.apiKey?.trim();if(j)return M0(_,"the explicit apiKey argument",j),g0({apiKey:j,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let I=BT(_),E=$[I];if(E!==void 0){let L=E.trim();if(!L)throw new ED(_,`${I} is set but empty. It is a deliberate override, so it is not resolved around: either give it a real key or unset it to fall back to the credential on disk.`,[I]);return M0(_,I,L),g0({apiKey:L,tier:"override",source:I,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let J=U.profile?.trim()||$[HE]?.trim();if(J){let L=U.profile?.trim()?"explicit profile argument":HE;if(!kT.test(J))throw new ED(_,`Profile name from ${L} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[L]);let X=e3(_,$,J);for(let z of X){let Y=n3(z,N);if(Y)return M0(_,z,Y),g0({apiKey:Y,tier:"profile",source:z,deliberate:!0,deprecated:!1,diskCandidates:X,warning:null})}throw new ED(_,`Profile '${J}' (from ${L}) has no ${N[0]} for '${_}'. Looked in: ${X.join(", ")||""}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${HE}.`,X)}let W=D.map((L)=>({path:L,value:n3(L,N)})).filter((L)=>L.value!==null);if(W.length>0){let L=W[0];M0(_,L.path,L.value);let X=[...W.slice(1).filter((Y)=>Y.value!==L.value).map((Y)=>Y.path),...(()=>{let Y=d3($,N);return Y&&Y.value!==L.value?[Y.key]:[]})()],z=X.length>0?`Credential sources disagree for '${_}': ${L.path} and ${X.join(", ")} hold different keys. ${L.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 g0({apiKey:L.value,tier:"disk",source:L.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:z})}let S=d3($,N);if(S){M0(_,S.key,S.value);let L=D.length>0?`Put the current key in ${D[0]} \u2014 it is re-read on every call, so rotations take effect immediately.`:"This environment has no HOME, so no credential file could be consulted at all; the disk tier is unavailable here and this process will keep using the environment snapshot.",X=`[${_}] DEPRECATED: the API key came from ${S.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. ${L}`,z=U.onDeprecation??yT,Y=xT();if(!Y.has(_))Y.add(_),z(X);return g0({apiKey:S.value,tier:"legacy-env",source:S.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:X})}return null}var f6="HASNA_FLEET_API_DOMAIN",Z0="your-deployment.example",wE=/[\u0000-\u001f\u007f]/,s3=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function PN(_){if(_.length===0||_.length>253||wE.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&s3.test($))}function uT(_){let $=_[f6];if($===void 0)return{domain:Z0,source:"default",misconfigured:!0,warning:`${f6} is not set; using the non-resolving ${Z0} fallback.`};let U=$.trim().toLowerCase();if(wE.test($)||!PN(U))return{domain:Z0,source:f6,misconfigured:!0,warning:`${f6} is blank or invalid; using the non-resolving ${Z0} fallback.`};return{domain:U,source:f6,misconfigured:!1,warning:null}}function _X(_){if(_.length>63||!s3.test(_))throw Error("App name must be one lowercase DNS label.");return _}function hT(_,$){let U=`${_X(_)}.${$}`;if(!PN(U))throw Error("Composed cloud hostname must be a valid DNS domain");return U}function rT(_,$){let U=_X(_),N=uT($),D=`${U}.${N.domain}`;if(PN(D))return{baseUrl:`https://${D}`,source:N.source,misconfigured:N.misconfigured,warning:N.warning};return{baseUrl:`https://${hT(U,Z0)}`,source:N.source,misconfigured:!0,warning:`${f6} cannot form a valid composed cloud hostname for app '${U}'; using the non-resolving ${Z0} fallback.`}}function qE(_,$,U={}){for(let N of $){let D=_[N],j=D?.trim();if(j)return{key:N,value:U.preserveRaw?D:j}}return null}function cT(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let U=_.slice($[0].length),N=U.search(/[/?#]/),D=N===-1?U:U.slice(0,N);if(!D)throw Error("API URL must include a hostname.");return D}function i3(_){if(!/^[0-9]+$/.test(_)||_.length>1&&_.startsWith("0"))throw Error("API URL authority must contain a canonical port between 1 and 65535.");let $=Number(_);if(!Number.isSafeInteger($)||$<1||$>65535)throw Error("API URL authority must contain a canonical port between 1 and 65535.")}function mT(_){let $;if(_.startsWith("[")){let U=_.indexOf("]");if(U===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,U+1);let N=_.slice(U+1);if(N){if(!N.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");i3(N.slice(1))}if(c3($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let U=_.indexOf(":"),N=_.lastIndexOf(":");if(U!==N)throw Error("IPv6 API URL authorities must use brackets.");if(N!==-1){let E=_.slice(N+1);i3(E),$=_.slice(0,N)}else $=_;let D=c3($),I=$.split(".").every((E)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(E));if(D!==4&&I||D!==4&&!PN($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function nT(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function $X(_){if(wE.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),U=cT($);if(U.includes("@")||U.includes("\\")||U.includes("%")||/[^\x00-\x7f]/.test(U))throw Error("API URL authority must be canonical ASCII without credentials.");let N=mT(U),D=new URL($);if(D.protocol!=="http:"&&D.protocol!=="https:")throw Error("API URL must use http or https.");if(D.username||D.password)throw Error("API URL must not include credentials.");if(!D.hostname||D.hostname.endsWith("."))throw Error("API URL must include a canonical hostname.");if(D.hostname.toLowerCase()!==N)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((I)=>I.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!nT(U))throw Error("API URL may use http only for an exact loopback authority.");if(D.search||D.hash)throw Error("API URL must not include a query string or fragment.");let j=D.pathname.replace(/\/+$/,"");if(j.endsWith("/v1"))j=j.slice(0,-3);return D.pathname=`${j}/v1`,D.toString().replace(/\/+$/,"")}function dT(_,$=process.env,U={}){let N=p3(_),D=qE($,N.modeKeys),j=qE($,N.apiUrlKeys,{preserveRaw:!0}),I=qE($,N.apiKeyKeys),E="sqlite",J="default",W=[],S;if(D)E=TT(D.value).mode,J=D.key;else if(j){if(S=bE(_,$,U.credentials),S)E="postgres",J=`${j.key}+${S.source}`}if(E==="sqlite")return{transport:"sqlite",mode:E,modeSource:J,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(I),apiKeySource:I?I.key:null,apiKeyTier:null,misconfigured:!1,warning:W.length>0?W.join(" "):null};if(S===void 0)S=bE(_,$,U.credentials);if(!S){let Y=UX(_,$);return W.push(`${J}=postgres but no API key could be resolved for '${_}'. A client reaches server data over HTTP only; refusing to route. Using the local sqlite store. Looked for a credential file at ${Y}, then for ${N.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:E,modeSource:J,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:W.join(" ")}}if(S.warning)W.push(S.warning);let L=null,X=j?.key??($[f6]===void 0?"default":f6),z;try{if(!j)L=rT(_,$),X=L.source;let Y=j?.value??L.baseUrl;z=$X(Y)}catch(Y){let P=Y instanceof Error?Y.message:String(Y);return W.push(`Invalid API URL from ${X}: ${P}. Using local store.`),{transport:"sqlite",mode:E,modeSource:J,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:S.source,apiKeyTier:S.tier,misconfigured:!0,warning:W.join(" ")}}if(L?.warning)W.push(L.warning);return{transport:"http",mode:E,modeSource:J,baseUrl:z,apiUrlSource:X,apiKeyPresent:!0,apiKeySource:S.source,apiKeyTier:S.tier,misconfigured:L?.misconfigured??!1,warning:W.length>0?W.join(" "):null}}function UX(_,$){let U=a3(_,$);return U.length>0?U.join(" or "):""}class H0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,U,N,D){let j=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${U}${j}`);this.name="HasnaHttpError",this.status=U,this.method=_,this.path=$,this.body=N,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function lT(_,$){if(typeof $==="function")return $();return fT(_,$)}function iT(_){let $=`The API key for this request came from ${_.source}`;if(_.deliberate)return`${$} \u2014 a credential you selected deliberately. It was NOT substituted with any other key: `+"falling back here would authenticate as a different principal than the one you named, which is exactly the failure an override exists to prevent. Rotate that key, or unset the override to use the credential on disk.";if(_.deprecated){let U=_.diskCandidates[0],N=U?`Write the CURRENT key to ${U} \u2014 that file is re-read on every call, so rotations take `+`effect immediately and in every shell. Do not simply unset ${_.source}: nothing was found on disk, so that would leave this client with no credential at all.`:"This environment has no HOME, so no credential file could be consulted; the disk tier is unavailable here and there is nothing to fall back to. Set HOME, or supply the key explicitly.";return`${$}, a variable in this process's environment \u2014 which is a snapshot taken when the process `+`started. A STALE SHELL is the most common cause of this error: this shell exported the key before it was rotated, and will keep sending the old one until it exits. ${N}`}return`${$}, which was re-read from disk on this very call \u2014 so a stale shell is NOT the cause here. `+"The stored credential is genuinely being rejected: rotate it, or re-run the fleet key distribution so this machine gets the current key."}var tT=[408,425,429,500,502,503,504],oT=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),pT=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function t3(_,$){if(!_)return;let U=Object.keys(_).find((N)=>pT.has(N.trim().toLowerCase()));if(U)throw Error(`Authenticated ${$} headers must not set authority header '${U}'.`)}function aT(_,$){if(!$)return _;let U=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,j]of Object.entries($)){if(j===null||j===void 0)continue;if(Array.isArray(j))for(let I of j)U.append(D,String(I));else U.append(D,String(j))}let N=U.toString();if(!N)return _;return`${_}${_.includes("?")?"&":"?"}${N}`}var eT=(_)=>new Promise(($)=>setTimeout($,_));function sT(_){let $=_.fetchImpl??((W,S)=>fetch(W,S)),U=$X(_.baseUrl),N=_.timeoutMs??30000,D=_.sleepImpl??eT,j=_.retry;function I(W){let S=W!==void 0?W:j;if(S===!1)return null;let L=S??{};return{retries:L.retries??2,baseDelayMs:L.baseDelayMs??200,maxDelayMs:L.maxDelayMs??2000,retryStatuses:L.retryStatuses??[...tT]}}async function E(W,S,L,X,z,Y){t3(_.headers,"transport"),t3(z.headers,"request");let P={"x-api-key":Y.apiKey,Authorization:`Bearer ${Y.apiKey}`,Accept:"application/json",..._.headers??{},...z.headers??{}};if(z.idempotencyKey)P["Idempotency-Key"]=z.idempotencyKey;let O={method:W,headers:P,redirect:"manual"};if(X!==void 0)P["Content-Type"]="application/json",O.body=JSON.stringify(X);let R=new AbortController,Q=()=>R.abort();if(z.signal)if(z.signal.aborted)R.abort();else z.signal.addEventListener("abort",Q,{once:!0});let V=setTimeout(()=>R.abort(),z.timeoutMs??N);O.signal=R.signal;let G;try{G=await $(L,O)}catch(M){let q=M instanceof Error?M:Error(String(M));if(z.signal?.aborted)return{ok:!1,retryable:!1,error:q};return{ok:!1,retryable:!0,error:q}}finally{if(clearTimeout(V),z.signal)z.signal.removeEventListener("abort",Q)}let T=await G.text(),F=void 0;if(T.length>0)try{F=JSON.parse(T)}catch{F=T}if(!G.ok){if(G.status>=300&&G.status<400)return{ok:!1,retryable:!1,error:new H0(W,S,G.status,F)};if(G.status===401||G.status===403)return{ok:!1,retryable:!1,error:new H0(W,S,G.status,F,{source:Y.source,tier:Y.tier,guidance:iT(Y)})};let M=I(z.retry);return{ok:!1,retryable:M?M.retryStatuses.includes(G.status):!1,error:new H0(W,S,G.status,F)}}return{ok:!0,value:F}}async function J(W,S,L,X={}){let z=W.toUpperCase(),Y=aT(S.startsWith("/")?S:`/${S}`,X.query),P=`${U}${Y}`,O=I(X.retry),R=oT.has(z)||Boolean(X.idempotencyKey),Q=O&&R?O.retries+1:1,V=lT(_.name,_.apiKey),G=null;for(let T=1;T<=Q;T++){let F=await E(z,Y,P,L,X,V);if(F.ok)return F.value;if(G=F,!(O!==null&&R&&F.retryable&&TJ("GET",W,void 0,S),post:(W,S,L)=>J("POST",W,S,L),put:(W,S,L)=>J("PUT",W,S,L),patch:(W,S,L)=>J("PATCH",W,S,L),del:(W,S,L)=>J("DELETE",W,S,L)}}function _B(_,$=process.env,U){let N=U?.credentials,D=dT(_,$,{...N?{credentials:N}:{}});if(D.misconfigured)throw Error(D.warning??`Client for '${_}' is misconfigured for the API client.`);if(D.transport==="sqlite"||!D.baseUrl)return{transport:"sqlite",client:null,resolution:D};let j=()=>{let I=bE(_,$,N);if(!I)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${UX(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return I};return{transport:"http",client:sT({name:_,baseUrl:D.baseUrl,apiKey:j,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:D}}function CE(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function kE(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${CE(_)}/${encodeURIComponent(String($))}`}function $B(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function UB(_){if(Array.isArray(_))return _;if(_&&typeof _==="object"){let $=_;for(let U of["items","data","results","rows","records"])if(Array.isArray($[U]))return $[U]}return[]}function DB(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function NB(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function jB(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,N={}){let D=await $.get(CE(U),N);return{items:UB(D),total:DB(D),cursor:NB(D),raw:D}},async get(U,N,D={}){try{return await $.get(kE(U,N),D)}catch(j){if(j instanceof H0&&j.status===404)return null;throw j}},async create(U,N,D={}){let{idempotencyKey:j,...I}=D;return $.post(CE(U),N,{...I,idempotencyKey:j??$B()})},async update(U,N,D,j={}){let{method:I="PATCH",idempotencyKey:E,...J}=j;return(I==="PUT"?$.put:$.patch)(kE(U,N),D,{...J,...E?{idempotencyKey:E}:{}})},async delete(U,N,D={}){try{await $.del(kE(U,N),void 0,D)}catch(j){if(j instanceof H0&&j.status===404)return;throw j}}}}function vE(_,$=process.env,U){let N=_B(_,$,U);if(N.transport==="http")return{transport:"http",client:jB(_,N.client)};return{transport:"sqlite",client:null}}function DX(_){return _.toUpperCase().replace(/-/g,"_")}function NX(_){let $=DX(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function jX(_){return`HASNA_${DX(_)}_API_KEY_OVERRIDE`}var IX="HASNA_PROFILE";function AD(_){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 ON(_){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 hu from"pg";class zN extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function q0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function EX(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return $[0]==="127"}function WB(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(EX($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let U=$.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let N=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&EX(N))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function WX(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function AX(_,$=process.env){if(!q0($))return;let U=WX(_),N;try{N=new URL(U)}catch{throw new zN("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(WB(N.hostname))return;throw new zN(`knowledge: refused a non-loopback ${N.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=sqlite) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:N.protocol.replace(":",""),port:N.port})}var SB=new Set([301,302,303,307,308]),JX=5;function LB(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function k0(_,$){if(AX(_),!q0()||$?.redirect!==void 0)return fetch(_,$);let U=WX(_),N=LB(_,$),D=$?.body,j=await fetch(_,{...$??{},redirect:"manual"});for(let I=0;SB.has(j.status);I++){let E=j.headers.get("location");if(!E)return j;let J=new URL(E,U).href;if(AX(J),I>=JX){let S=new URL(J);throw new zN(`knowledge: refused to follow more than ${JX} 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:S.protocol.replace(":",""),port:S.port})}if(j.status===303||(j.status===301||j.status===302)&&N!=="GET"&&N!=="HEAD")N="GET",D=void 0;let W={...$??{},method:N,redirect:"manual"};if(D===void 0)delete W.body;else W.body=D;j=await fetch(J,W),U=J}return j}var JD="knowledge",fE=NX(JD),L6=fE.modeKeys,x6=fE.apiUrlKeys,b0=fE.apiKeyKeys;function XN(_,$){return $.filter((U)=>(_[U]??"").trim().length>0)}function WD(_=process.env){let $=[...XN(_,x6),...XN(_,b0)],U=L6[0];for(let N of L6){let D=_[N]?.trim();if(!D)continue;let j;try{j=ON(D)}catch(E){let J=E instanceof Error?E.message:String(E);throw Error(`knowledge: ${N}=${D} is not a valid mode. ${J} Unset ${N} to use the default sqlite backend, or set ${N}=sqlite or ${N}=postgres.`)}let I=[];if(N!==U)I.push(`Using alias env ${N}; the canonical key is ${U}.`);if(j.mode==="sqlite"&&$.length>0)I.push(`${N}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:j.mode,source:{kind:"env",name:N,value:D},pointer_env_present:$,pointer_ignored:j.mode==="sqlite"&&$.length>0,warning:I.length>0?I.join(" "):null}}return{mode:"sqlite",source:{kind:"default",name:null,value:null},pointer_env_present:$,pointer_ignored:$.length>0,warning:$.length>0?`${$.join(", ")} are set but do NOT select a backend: mode is sqlite by default. Set ${U}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var PB=["postgres"],OB=["sqlite"],SX=new Map;function LX(_,$,U){let N=$===AD;if(N){let D=SX.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),N)SX.set(_,D);return D}catch{}throw Error(`knowledge: no known storage token is accepted by the installed @hasna/contracts (tried ${_.join(", ")}). The storage-mode enum has changed; add the new token to ${U} in src/knowledge-mode.ts.`)}function zB(_=AD){return LX(PB,_,"SERVER_MODE_CANDIDATES")}function XB(_=AD){return LX(OB,_,"LOCAL_MODE_CANDIDATES")}function RB(_,$=AD){return _==="postgres"?zB($):XB($)}function xE(_,$){return{..._,[L6[0]]:RB($)}}class PX extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=L6[0];super(`knowledge: ${_.join(", ")} names an API store, but no mode variable says to use it, so this command would silently read and write the on-box store instead. Set ${$}=postgres to use the API, or ${$}=sqlite to confirm you want the on-box store. Run 'knowledge mode' to see the full resolution.`);this.name="HalfConfiguredKnowledgeClientError"}}function OX(_=process.env,$={}){let U=WD(_);if($.storePathOverridden)return U;if(U.source.kind!=="default")return U;let N=XN(_,x6);if(N.length===0)return U;throw new PX(N)}function zX(_=process.env){let $=WD(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:XN(_,b0).length>0,network_guard_active:q0(_)}}function yE(_){return Boolean(_&&typeof _==="object"&&_.query_capability==="hasna.knowledge.bounded-query.v1")}function XX(_){return{fetchImpl:k0,...q0(_)?{retry:!1}:{}}}var P6="notes";class C0 extends Error{expected;current;code="version_conflict";constructor(_,$){super(`version_conflict: this edit was written against version ${_} but the stored entry is now at version ${$}. Nothing was written. Re-read the entry and re-apply only if the fields you are changing are untouched between the two versions.`);this.expected=_;this.current=$;this.name="KnowledgeVersionConflictError"}}class hE extends Error{operation;fields;code="bounded_query_capability_required";constructor(_,$){super(`bounded_query_capability_required: the Knowledge server did not prove support for ${_} field(s): ${$.join(", ")}. Refusing to accept a possibly unfiltered response; update the server and retry.`);this.operation=_;this.fields=$;this.name="KnowledgeBoundedQueryCapabilityError"}}function YB(_){let $={};if(_.search)$.filter=_.search,$.search=_.search;if(_.tags?.length)$.tags=_.tags;if(_.archive){if($.archive=_.archive,_.archive==="all")$.includeArchived=!0}if(_.sort)$.sort=_.sort;if(_.direction)$.direction=_.direction;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;return $}function QB(_){let $=[];if(_.tags?.length)$.push("tags");if(_.sort!==void 0)$.push("sort");if(_.direction!==void 0)$.push("direction");if(_.archive==="archived")$.push("archive=archived");return $}function RN(_,$,U,N,D){let j=_??$;if(!Number.isFinite(j)||!Number.isInteger(j)||jD)throw Error(`${U} must be an integer between ${N} and ${D}.`);return j}function GB(_){return{baseUrl:_.baseUrl,async list($={}){let U=RN($.limit,200,"limit",1,200),N=RN($.offset,0,"offset",0,1e4),D=YB({...$,limit:U,offset:N}),j=await _.list(P6,{query:D});if(!Number.isInteger(j.total)||Number(j.total)<0)throw Error("knowledge cloud list response is missing a valid producer total.");let I=QB($);if(I.length>0&&!yE(j.raw))throw new hE("list",I);return{items:j.items,total:Number(j.total)}},async search($){let U=RN($.limit,20,"limit",1,200),N=RN($.offset,0,"offset",0,1e4),D=await _.transport.get(`/${P6}/search`,{query:{q:$.query,archive:$.archive??"active",limit:U,offset:N}});if(!Number.isInteger(D.total)||D.total<0||!Array.isArray(D.items)||D.items.some((j)=>!j||typeof j!=="object"||!j.item||typeof j.rank!=="number"||!Number.isFinite(j.rank)))throw Error("knowledge cloud search response is missing producer rank or total evidence.");if(!yE(D))throw new hE("search",["q","rank","total"]);return{items:D.items,total:D.total}},async get($){return _.get(P6,$)},async create($){return _.create(P6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,U,N={}){try{return await _.update(P6,$,U,{...N.expectedVersion!==void 0?{headers:{"if-match":String(N.expectedVersion)}}:{}})}catch(D){if(uE(D))return null;let j=TB(D);if(j)throw j;throw D}},async delete($){let U=await _.get(P6,$);if(!U)return!1;return await _.delete(P6,U.id),!0},async listVersions($,U={}){try{return await _.transport.get(`/${P6}/${encodeURIComponent($)}/versions`,{query:{limit:U.limit,offset:U.offset}})}catch(N){if(uE(N))return null;throw N}},async getVersion($,U){try{return await _.transport.get(`/${P6}/${encodeURIComponent($)}/versions/${U}`)}catch(N){if(uE(N))return null;throw N}}}}function TB(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,N=(typeof $==="string"?BB($):$)??{};if(N.error!=="version_conflict")return null;return new C0(Number(N.expected??0),Number(N.current??0))}function BB(_){try{return JSON.parse(_)}catch{return null}}function uE(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function SD(_=process.env){let $=YX(_);return $?GB($):null}function RX(_=process.env){return YX(_,{guarded:!0})?.transport??null}function VB(_){let $={..._};return delete $.HOME,delete $.USERPROFILE,delete $[IX],delete $[jX(JD)],$}function YX(_,$={}){if(WD(_).mode!=="postgres")return null;let U=$.guarded?VB(_):_,N=vE(JD,xE(U,"postgres"),XX(U));if(N.transport!=="http")return null;return N.client}function p$(_=process.env){if(WD(_).mode!=="postgres")return!1;return vE(JD,xE(_,"postgres"),XX(_)).transport==="http"}async function YN(_){let U=[];for(let N=0;;N+=200){let{items:D}=await _.list({archive:"all",limit:200,offset:N});if(U.push(...D),D.length<200)break;if(N>1e5)break}return U}class cE 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 rE(_,$){return _.id===$||_.short_id===$}function KB(_,$){let U=$.trim().toLowerCase();if(!U)return!0;return _.id.toLowerCase().includes(U)||_.title.toLowerCase().includes(U)||_.content.toLowerCase().includes(U)}function MB(_,$){if($.length===0)return!0;let U=new Set((_.tags??[]).map((N)=>N.toLowerCase()));return $.every((N)=>{let D=N.trim().toLowerCase(),j=N.split(",").map((I)=>I.trim().toLowerCase()).filter(Boolean);return D.length>0&&U.has(D)||j.length>0&&j.every((I)=>U.has(I))})}function gB(_,$,U,N){let D=U==="title"?_.title.localeCompare($.title):_.created_at.localeCompare($.created_at),j=D===0?_.id.localeCompare($.id):D;return N==="desc"?-j:j}function QX(_,$,U,N,D){let j=_??$;if(!Number.isFinite(j)||!Number.isInteger(j)||jD)throw Error(`${U} must be an integer between ${N} and ${D}.`);return j}function ZB(_,$){let U=$.archive??"active",N=$.sort??"created",D=$.direction??"asc",j=QX($.limit,50,"limit",1,200),I=QX($.offset,0,"offset",0,1e4),E=_.filter((J)=>U==="all"||(U==="archived"?J.archived===!0:J.archived!==!0));if($.search)E=E.filter((J)=>KB(J,$.search));if($.tags?.length)E=E.filter((J)=>MB(J,$.tags));return E.sort((J,W)=>gB(J,W,N,D)),{total:E.length,items:E.slice(I,I+j)}}class GX{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new cE(this.storePath)}async getVersion(){throw new cE(this.storePath)}get location(){return this.storePath}get exists(){return FB(this.storePath)}async list(_={}){let $=R4(this.storePath);return{...ZB($.items,_),exists:$.exists}}async listAll(){let _=R4(this.storePath);return{items:_.items,total:_.items.length,exists:_.exists}}async get(_){return R4(this.storePath).items.find((U)=>rE(U,_))??null}async create(_){return o$(this.storePath,()=>{let $=ID(this.storePath),U=new Date().toISOString(),N=_.id??h3(),D={id:N,short_id:r3(N),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U,version:1};return $.items.push(D),S6(this.storePath,$),D},{createParent:!0})}async update(_,$,U={}){return o$(this.storePath,()=>{let N=ID(this.storePath),D=N.items.findIndex((E)=>rE(E,_));if(D===-1)return null;let j=N.items[D],I=j.version??1;if(U.expectedVersion!==void 0&&U.expectedVersion!==I)throw new C0(U.expectedVersion,I);if($.title!==void 0)j.title=$.title;if($.content!==void 0)j.content=$.content;if($.url!==void 0)j.url=$.url;if($.tags!==void 0)j.tags=$.tags;if($.metadata!==void 0)j.metadata=$.metadata;if($.archived!==void 0)j.archived=$.archived;return j.updated_at=new Date().toISOString(),j.version=I+1,N.items[D]=j,S6(this.storePath,N),j},{createParent:!0})}async delete(_){return o$(this.storePath,()=>{let $=ID(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!rE(D,_));let N=U!==$.items.length;if(N)S6(this.storePath,$);return N},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return o$(this.storePath,()=>{let U=ID(this.storePath),N=U.items.length;U.items=U.items.filter((j)=>!$.has(j.id)&&!(j.short_id!=null&&$.has(j.short_id)));let D=N-U.items.length;if(D>0)S6(this.storePath,U);return D},{createParent:!0})}}class TX{cloud;kind="api";exists=!0;supportsVersions=!0;constructor(_){this.cloud=_}async listVersions(_,$={}){return this.cloud.listVersions(_,$)}async getVersion(_,$){return this.cloud.getVersion(_,$)}get location(){return this.cloud.baseUrl}async list(_={}){let $=await this.cloud.list({search:_.search,tags:_.tags,archive:_.archive,sort:_.sort,direction:_.direction,limit:_.limit,offset:_.offset});return{items:$.items,total:$.total,exists:!0}}async listAll(){let _=await YN(this.cloud);return{items:_,total:_.length,exists:!0}}async get(_){return this.cloud.get(_)}async create(_){return this.cloud.create({..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})}async update(_,$,U={}){return this.cloud.update(_,$,{expectedVersion:U.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let U of _)if(await this.cloud.delete(U))$+=1;return $}}function QN(_){let $=_.storePathOverridden?null:SD(_.env??process.env);if($)return new TX($);return new GX(_.storePath)}function BX(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` +`,{mode:384}),qz(_,384)}function gz(_){let $=JSON.parse(DD(_,"utf8"));if(!$||typeof $!=="object"||!Array.isArray($.items))return{store:{items:[]},skippedInvalid:0};let U={items:[]},N=0;for(let D of $.items)if(D&&typeof D==="object"&&typeof D.id==="string"&&D.id.length>0)U.items.push(D);else N+=1;return{store:U,skippedInvalid:N}}function gE(_={}){if(_.dryRun===!0)return Zz(_);return o$(LN(),()=>Zz(_),{createParent:!0})}function Zz(_={}){let $=_.dryRun===!0,U=_.now??new Date,N=P$(JN()),D=_D(),j=N.jsonStorePath,I=K0(D),E=K0(j),J={ok:!0,dry_run:$,legacy_path:D,canonical_path:j,legacy_exists:I,canonical_existed:E,canonical_created:!1,would_create_canonical:!1,imported:0,skipped_existing:0,skipped_invalid:0,backup_path:null,report_path:null,errors:[],message:I?"Legacy global store already imported":"No legacy global store found"};if(!I)return J;let W;try{let Y=gz(D);W=Y.store,J.skipped_invalid=Y.skippedInvalid}catch(Y){return J.ok=!1,J.errors.push(`Could not read legacy store: ${Y instanceof Error?Y.message:String(Y)}`),J.message="Legacy global store import failed",J}let S={items:[]};if(E)try{S=gz(j).store}catch(Y){return J.ok=!1,J.errors.push(`Could not read canonical store: ${Y instanceof Error?Y.message:String(Y)}`),J.message="Legacy global store import failed",J}let L=ST(S.items),X={items:[...S.items]};for(let Y of W.items){if(!Y?.id){J.skipped_invalid+=1;continue}if(LT(L,Y)){J.skipped_existing+=1;continue}X.items.push(Y);for(let P of ME(Y))L.add(P);J.imported+=1}if(J.would_create_canonical=!E&&J.imported>0,J.canonical_created=!$&&J.would_create_canonical,J.message=J.imported>0?`Imported ${J.imported} legacy item(s) into canonical knowledge store`:"Legacy global store already imported",$||J.imported===0)return J;let z=`${WT(U)}-${ND().slice(0,8)}`;if(E)J.backup_path=TE(N.exportsDir,`legacy-open-knowledge-db-before-import-${z}.json`),QE(J.backup_path,S);return QE(j,X),J.report_path=TE(N.runsDir,`legacy-open-knowledge-import-${z}.json`),QE(J.report_path,J),J}function R4(_){if(!K0(_))return{exists:!1,items:[]};let $=DD(_,"utf8"),U=JSON.parse($);if(!U||!Array.isArray(U.items))return{exists:!0,items:[]};return{exists:!0,items:U.items}}function PT(_){return`${_}.lock`}var SN=1e4,Cz=25,Hz=120000,OT=new Int32Array(new SharedArrayBuffer(4));function ZE(_){return typeof _==="object"&&_!==null&&"code"in _?String(_.code):void 0}function wz(_){let $=null;try{$=VE(bz(_),"r"),BE($)}catch{}finally{if($!==null)try{UD($)}catch{}}}var GE=new Set;function vz(_,$){t$(_);let U=TE(bz(_),`.${JT(_)}.tmp.${ND()}`),N=null;try{N=VE(U,"wx",384),KE(N,$),BE(N),UD(N),N=null,kz(U,_);try{qz(_,384)}catch{}wz(_)}catch(D){if(N!==null)try{UD(N)}catch{}try{FE(U)}catch{}throw D}}function fz(_){Atomics.wait(OT,0,0,_)}function zT(_){if(typeof _!=="number"||!Number.isInteger(_)||_<=0)return!1;try{return process.kill(_,0),!0}catch($){return ZE($)!=="ESRCH"}}function xz(_,$){try{let U=DD(_,"utf8"),N=JSON.parse(U);if(typeof N.ts==="number")return $-N.ts>Hz&&!zT(N.pid)}catch{}try{return $-AT(_).mtimeMs>Hz}catch{return!1}}function XT(_){let $=new Date().toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z"),U=`${_}.stale.${$}.${ND()}`;try{kz(_,U)}catch(N){if(ZE(N)!=="ENOENT")throw N;return}}function RT(_){let $=ND(),U=`${_}.breaker`,N=Date.now();while(Date.now()-N{N=j};while(Date.now()-UHT)return null;U=VT(_,"utf8")}catch{return null}let N=wT(U);for(let D of $){let j=N.get(D)?.trim();if(j)return j}return null}function M0(_,$,U){if(!bT.test(U))return;throw new ED(_,`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 vT=Symbol.for("nodejs.util.inspect.custom");function g0(_){let{apiKey:$,...U}=_,N={...U};return Object.defineProperty(N,"apiKey",{value:$,enumerable:!1,writable:!1,configurable:!1}),Object.defineProperty(N,vT,{value:()=>({...U,apiKey:"[redacted]"}),enumerable:!1,writable:!1,configurable:!1}),N}function fT(_,$){return M0(_,"explicit apiKey option",$),g0({apiKey:$,tier:"argument",source:"explicit apiKey option",deliberate:!0,deprecated:!1,diskCandidates:[],warning:null})}function dz(_,$){for(let U of $){let N=_[U]?.trim();if(N)return{key:U,value:N}}return null}var lz=Symbol.for("hasna:contracts:credentialDeprecationNotices");function xT(){let _=globalThis,$=_[lz];if($ instanceof Set)return $;let U=new Set;return _[lz]=U,U}function yT(_){if(typeof process<"u"&&process.stderr)process.stderr.write(`${_} +`)}function bE(_,$,U={}){let{apiKeyKeys:N}=pz(_),D=az(_,$),j=U.apiKey?.trim();if(j)return M0(_,"the explicit apiKey argument",j),g0({apiKey:j,tier:"argument",source:"explicit apiKey argument",deliberate:!0,deprecated:!1,diskCandidates:D,warning:null});let I=BT(_),E=$[I];if(E!==void 0){let L=E.trim();if(!L)throw new ED(_,`${I} is set but empty. It is a deliberate override, so it is not resolved around: either give it a real key or unset it to fall back to the credential on disk.`,[I]);return M0(_,I,L),g0({apiKey:L,tier:"override",source:I,deliberate:!0,deprecated:!1,diskCandidates:D,warning:null})}let J=U.profile?.trim()||$[HE]?.trim();if(J){let L=U.profile?.trim()?"explicit profile argument":HE;if(!kT.test(J))throw new ED(_,`Profile name from ${L} is not usable in a path. Use letters, digits, dot, dash, or underscore.`,[L]);let X=ez(_,$,J);for(let z of X){let Y=nz(z,N);if(Y)return M0(_,z,Y),g0({apiKey:Y,tier:"profile",source:z,deliberate:!0,deprecated:!1,diskCandidates:X,warning:null})}throw new ED(_,`Profile '${J}' (from ${L}) has no ${N[0]} for '${_}'. Looked in: ${X.join(", ")||""}. `+"A profile names WHICH identity to use, so it is never resolved around \u2014 "+`create the profile's credential file or unset ${HE}.`,X)}let W=D.map((L)=>({path:L,value:nz(L,N)})).filter((L)=>L.value!==null);if(W.length>0){let L=W[0];M0(_,L.path,L.value);let X=[...W.slice(1).filter((Y)=>Y.value!==L.value).map((Y)=>Y.path),...(()=>{let Y=dz($,N);return Y&&Y.value!==L.value?[Y.key]:[]})()],z=X.length>0?`Credential sources disagree for '${_}': ${L.path} and ${X.join(", ")} hold different keys. ${L.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 g0({apiKey:L.value,tier:"disk",source:L.path,deliberate:!1,deprecated:!1,diskCandidates:D,warning:z})}let S=dz($,N);if(S){M0(_,S.key,S.value);let L=D.length>0?`Put the current key in ${D[0]} \u2014 it is re-read on every call, so rotations take effect immediately.`:"This environment has no HOME, so no credential file could be consulted at all; the disk tier is unavailable here and this process will keep using the environment snapshot.",X=`[${_}] DEPRECATED: the API key came from ${S.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. ${L}`,z=U.onDeprecation??yT,Y=xT();if(!Y.has(_))Y.add(_),z(X);return g0({apiKey:S.value,tier:"legacy-env",source:S.key,deliberate:!1,deprecated:!0,diskCandidates:D,warning:X})}return null}var f6="HASNA_FLEET_API_DOMAIN",Z0="your-deployment.example",wE=/[\u0000-\u001f\u007f]/,sz=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;function PN(_){if(_.length===0||_.length>253||wE.test(_)||/[^\x00-\x7f]/.test(_))return!1;return _.split(".").every(($)=>$.length<=63&&!$.startsWith("xn--")&&sz.test($))}function uT(_){let $=_[f6];if($===void 0)return{domain:Z0,source:"default",misconfigured:!0,warning:`${f6} is not set; using the non-resolving ${Z0} fallback.`};let U=$.trim().toLowerCase();if(wE.test($)||!PN(U))return{domain:Z0,source:f6,misconfigured:!0,warning:`${f6} is blank or invalid; using the non-resolving ${Z0} fallback.`};return{domain:U,source:f6,misconfigured:!1,warning:null}}function _X(_){if(_.length>63||!sz.test(_))throw Error("App name must be one lowercase DNS label.");return _}function hT(_,$){let U=`${_X(_)}.${$}`;if(!PN(U))throw Error("Composed cloud hostname must be a valid DNS domain");return U}function rT(_,$){let U=_X(_),N=uT($),D=`${U}.${N.domain}`;if(PN(D))return{baseUrl:`https://${D}`,source:N.source,misconfigured:N.misconfigured,warning:N.warning};return{baseUrl:`https://${hT(U,Z0)}`,source:N.source,misconfigured:!0,warning:`${f6} cannot form a valid composed cloud hostname for app '${U}'; using the non-resolving ${Z0} fallback.`}}function qE(_,$,U={}){for(let N of $){let D=_[N],j=D?.trim();if(j)return{key:N,value:U.preserveRaw?D:j}}return null}function cT(_){let $=/^[a-z][a-z0-9+.-]*:\/\//i.exec(_);if(!$)throw Error("API URL must be absolute.");let U=_.slice($[0].length),N=U.search(/[/?#]/),D=N===-1?U:U.slice(0,N);if(!D)throw Error("API URL must include a hostname.");return D}function iz(_){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 mT(_){let $;if(_.startsWith("[")){let U=_.indexOf("]");if(U===-1)throw Error("API URL authority must contain a canonical hostname.");$=_.slice(0,U+1);let N=_.slice(U+1);if(N){if(!N.startsWith(":"))throw Error("API URL authority must contain a canonical hostname and port.");iz(N.slice(1))}if(cz($.slice(1,-1))!==6)throw Error("API URL authority must contain a canonical IPv6 literal.")}else{let U=_.indexOf(":"),N=_.lastIndexOf(":");if(U!==N)throw Error("IPv6 API URL authorities must use brackets.");if(N!==-1){let E=_.slice(N+1);iz(E),$=_.slice(0,N)}else $=_;let D=cz($),I=$.split(".").every((E)=>/^(?:0x[0-9a-f]+|[0-9]+)$/i.test(E));if(D!==4&&I||D!==4&&!PN($.toLowerCase()))throw Error("API URL authority must contain a canonical ASCII hostname.")}return $.toLowerCase()}function nT(_){return/^(?:localhost|127\.0\.0\.1|\[::1\])(?::[0-9]+)?$/i.test(_)}function $X(_){if(wE.test(_))throw Error("API URL must not contain ASCII control characters.");let $=_.trim(),U=cT($);if(U.includes("@")||U.includes("\\")||U.includes("%")||/[^\x00-\x7f]/.test(U))throw Error("API URL authority must be canonical ASCII without credentials.");let N=mT(U),D=new URL($);if(D.protocol!=="http:"&&D.protocol!=="https:")throw Error("API URL must use http or https.");if(D.username||D.password)throw Error("API URL must not include credentials.");if(!D.hostname||D.hostname.endsWith("."))throw Error("API URL must include a canonical hostname.");if(D.hostname.toLowerCase()!==N)throw Error("API URL authority must not rely on parser hostname normalization.");if(D.hostname.split(".").some((I)=>I.toLowerCase().startsWith("xn--")))throw Error("API URL must not use IDN or punycode hostnames.");if(D.protocol==="http:"&&!nT(U))throw Error("API URL may use http only for an exact loopback authority.");if(D.search||D.hash)throw Error("API URL must not include a query string or fragment.");let j=D.pathname.replace(/\/+$/,"");if(j.endsWith("/v1"))j=j.slice(0,-3);return D.pathname=`${j}/v1`,D.toString().replace(/\/+$/,"")}function dT(_,$=process.env,U={}){let N=pz(_),D=qE($,N.modeKeys),j=qE($,N.apiUrlKeys,{preserveRaw:!0}),I=qE($,N.apiKeyKeys),E="sqlite",J="default",W=[],S;if(D)E=TT(D.value).mode,J=D.key;else if(j){if(S=bE(_,$,U.credentials),S)E="postgres",J=`${j.key}+${S.source}`}if(E==="sqlite")return{transport:"sqlite",mode:E,modeSource:J,baseUrl:null,apiUrlSource:null,apiKeyPresent:Boolean(I),apiKeySource:I?I.key:null,apiKeyTier:null,misconfigured:!1,warning:W.length>0?W.join(" "):null};if(S===void 0)S=bE(_,$,U.credentials);if(!S){let Y=UX(_,$);return W.push(`${J}=postgres but no API key could be resolved for '${_}'. A client reaches server data over HTTP only; refusing to route. Using the local sqlite store. Looked for a credential file at ${Y}, then for ${N.apiKeyKeys[0]} in the environment.`),{transport:"sqlite",mode:E,modeSource:J,baseUrl:null,apiUrlSource:null,apiKeyPresent:!1,apiKeySource:null,apiKeyTier:null,misconfigured:!0,warning:W.join(" ")}}if(S.warning)W.push(S.warning);let L=null,X=j?.key??($[f6]===void 0?"default":f6),z;try{if(!j)L=rT(_,$),X=L.source;let Y=j?.value??L.baseUrl;z=$X(Y)}catch(Y){let P=Y instanceof Error?Y.message:String(Y);return W.push(`Invalid API URL from ${X}: ${P}. Using local store.`),{transport:"sqlite",mode:E,modeSource:J,baseUrl:null,apiUrlSource:null,apiKeyPresent:!0,apiKeySource:S.source,apiKeyTier:S.tier,misconfigured:!0,warning:W.join(" ")}}if(L?.warning)W.push(L.warning);return{transport:"http",mode:E,modeSource:J,baseUrl:z,apiUrlSource:X,apiKeyPresent:!0,apiKeySource:S.source,apiKeyTier:S.tier,misconfigured:L?.misconfigured??!1,warning:W.length>0?W.join(" "):null}}function UX(_,$){let U=az(_,$);return U.length>0?U.join(" or "):""}class H0 extends Error{status;method;path;body;credentialSource;credentialTier;constructor(_,$,U,N,D){let j=D?`. ${D.guidance}`:"";super(`Hasna cloud request failed: ${_} ${$} -> ${U}${j}`);this.name="HasnaHttpError",this.status=U,this.method=_,this.path=$,this.body=N,this.credentialSource=D?.source??null,this.credentialTier=D?.tier??null}}function lT(_,$){if(typeof $==="function")return $();return fT(_,$)}function iT(_){let $=`The API key for this request came from ${_.source}`;if(_.deliberate)return`${$} \u2014 a credential you selected deliberately. It was NOT substituted with any other key: `+"falling back here would authenticate as a different principal than the one you named, which is exactly the failure an override exists to prevent. Rotate that key, or unset the override to use the credential on disk.";if(_.deprecated){let U=_.diskCandidates[0],N=U?`Write the CURRENT key to ${U} \u2014 that file is re-read on every call, so rotations take `+`effect immediately and in every shell. Do not simply unset ${_.source}: nothing was found on disk, so that would leave this client with no credential at all.`:"This environment has no HOME, so no credential file could be consulted; the disk tier is unavailable here and there is nothing to fall back to. Set HOME, or supply the key explicitly.";return`${$}, a variable in this process's environment \u2014 which is a snapshot taken when the process `+`started. A STALE SHELL is the most common cause of this error: this shell exported the key before it was rotated, and will keep sending the old one until it exits. ${N}`}return`${$}, which was re-read from disk on this very call \u2014 so a stale shell is NOT the cause here. `+"The stored credential is genuinely being rejected: rotate it, or re-run the fleet key distribution so this machine gets the current key."}var tT=[408,425,429,500,502,503,504],oT=new Set(["GET","HEAD","PUT","DELETE","OPTIONS"]),pT=new Set(["host",":authority","forwarded","x-forwarded-host","x-original-host"]);function tz(_,$){if(!_)return;let U=Object.keys(_).find((N)=>pT.has(N.trim().toLowerCase()));if(U)throw Error(`Authenticated ${$} headers must not set authority header '${U}'.`)}function aT(_,$){if(!$)return _;let U=$ instanceof URLSearchParams?$:new URLSearchParams;if(!($ instanceof URLSearchParams))for(let[D,j]of Object.entries($)){if(j===null||j===void 0)continue;if(Array.isArray(j))for(let I of j)U.append(D,String(I));else U.append(D,String(j))}let N=U.toString();if(!N)return _;return`${_}${_.includes("?")?"&":"?"}${N}`}var eT=(_)=>new Promise(($)=>setTimeout($,_));function sT(_){let $=_.fetchImpl??((W,S)=>fetch(W,S)),U=$X(_.baseUrl),N=_.timeoutMs??30000,D=_.sleepImpl??eT,j=_.retry;function I(W){let S=W!==void 0?W:j;if(S===!1)return null;let L=S??{};return{retries:L.retries??2,baseDelayMs:L.baseDelayMs??200,maxDelayMs:L.maxDelayMs??2000,retryStatuses:L.retryStatuses??[...tT]}}async function E(W,S,L,X,z,Y){tz(_.headers,"transport"),tz(z.headers,"request");let P={"x-api-key":Y.apiKey,Authorization:`Bearer ${Y.apiKey}`,Accept:"application/json",..._.headers??{},...z.headers??{}};if(z.idempotencyKey)P["Idempotency-Key"]=z.idempotencyKey;let O={method:W,headers:P,redirect:"manual"};if(X!==void 0)P["Content-Type"]="application/json",O.body=JSON.stringify(X);let R=new AbortController,Q=()=>R.abort();if(z.signal)if(z.signal.aborted)R.abort();else z.signal.addEventListener("abort",Q,{once:!0});let V=setTimeout(()=>R.abort(),z.timeoutMs??N);O.signal=R.signal;let G;try{G=await $(L,O)}catch(M){let q=M instanceof Error?M:Error(String(M));if(z.signal?.aborted)return{ok:!1,retryable:!1,error:q};return{ok:!1,retryable:!0,error:q}}finally{if(clearTimeout(V),z.signal)z.signal.removeEventListener("abort",Q)}let T=await G.text(),F=void 0;if(T.length>0)try{F=JSON.parse(T)}catch{F=T}if(!G.ok){if(G.status>=300&&G.status<400)return{ok:!1,retryable:!1,error:new H0(W,S,G.status,F)};if(G.status===401||G.status===403)return{ok:!1,retryable:!1,error:new H0(W,S,G.status,F,{source:Y.source,tier:Y.tier,guidance:iT(Y)})};let M=I(z.retry);return{ok:!1,retryable:M?M.retryStatuses.includes(G.status):!1,error:new H0(W,S,G.status,F)}}return{ok:!0,value:F}}async function J(W,S,L,X={}){let z=W.toUpperCase(),Y=aT(S.startsWith("/")?S:`/${S}`,X.query),P=`${U}${Y}`,O=I(X.retry),R=oT.has(z)||Boolean(X.idempotencyKey),Q=O&&R?O.retries+1:1,V=lT(_.name,_.apiKey),G=null;for(let T=1;T<=Q;T++){let F=await E(z,Y,P,L,X,V);if(F.ok)return F.value;if(G=F,!(O!==null&&R&&F.retryable&&TJ("GET",W,void 0,S),post:(W,S,L)=>J("POST",W,S,L),put:(W,S,L)=>J("PUT",W,S,L),patch:(W,S,L)=>J("PATCH",W,S,L),del:(W,S,L)=>J("DELETE",W,S,L)}}function _B(_,$=process.env,U){let N=U?.credentials,D=dT(_,$,{...N?{credentials:N}:{}});if(D.misconfigured)throw Error(D.warning??`Client for '${_}' is misconfigured for the API client.`);if(D.transport==="sqlite"||!D.baseUrl)return{transport:"sqlite",client:null,resolution:D};let j=()=>{let I=bE(_,$,N);if(!I)throw Error(`Client for '${_}' resolved to the http transport but no API key is available any more. Looked at ${UX(_,$)}, then the environment. A credential file that was removed after this client was built is the usual cause.`);return I};return{transport:"http",client:sT({name:_,baseUrl:D.baseUrl,apiKey:j,...U?.fetchImpl?{fetchImpl:U.fetchImpl}:{},...U?.headers?{headers:U.headers}:{},...U?.timeoutMs?{timeoutMs:U.timeoutMs}:{},...U?.retry!==void 0?{retry:U.retry}:{},...U?.sleepImpl?{sleepImpl:U.sleepImpl}:{}}),resolution:D}}function CE(_){let $=_.replace(/^\/+|\/+$/g,"");if(!$)throw Error("resource must be a non-empty path segment");return`/${$}`}function kE(_,$){if($===void 0||$===null||`${$}`.length===0)throw Error("id must be a non-empty string");return`${CE(_)}/${encodeURIComponent(String($))}`}function $B(){let _=globalThis;if(_.crypto?.randomUUID)return _.crypto.randomUUID();return`idmp_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,12)}`}function UB(_){if(Array.isArray(_))return _;if(_&&typeof _==="object"){let $=_;for(let U of["items","data","results","rows","records"])if(Array.isArray($[U]))return $[U]}return[]}function DB(_){if(_&&typeof _==="object"){let $=_;for(let U of["total","count","totalCount","total_count"])if(typeof $[U]==="number")return $[U]}return null}function NB(_){if(_&&typeof _==="object"){let $=_;for(let U of["cursor","nextCursor","next_cursor","next"])if(typeof $[U]==="string")return $[U]}return null}function jB(_,$){return{name:_,baseUrl:$.baseUrl,transport:$,async list(U,N={}){let D=await $.get(CE(U),N);return{items:UB(D),total:DB(D),cursor:NB(D),raw:D}},async get(U,N,D={}){try{return await $.get(kE(U,N),D)}catch(j){if(j instanceof H0&&j.status===404)return null;throw j}},async create(U,N,D={}){let{idempotencyKey:j,...I}=D;return $.post(CE(U),N,{...I,idempotencyKey:j??$B()})},async update(U,N,D,j={}){let{method:I="PATCH",idempotencyKey:E,...J}=j;return(I==="PUT"?$.put:$.patch)(kE(U,N),D,{...J,...E?{idempotencyKey:E}:{}})},async delete(U,N,D={}){try{await $.del(kE(U,N),void 0,D)}catch(j){if(j instanceof H0&&j.status===404)return;throw j}}}}function vE(_,$=process.env,U){let N=_B(_,$,U);if(N.transport==="http")return{transport:"http",client:jB(_,N.client)};return{transport:"sqlite",client:null}}function DX(_){return _.toUpperCase().replace(/-/g,"_")}function NX(_){let $=DX(_);return{modeKeys:[`HASNA_${$}_STORAGE_MODE`,`HASNA_${$}_MODE`,`${$}_STORAGE_MODE`,`${$}_MODE`],apiUrlKeys:[`HASNA_${$}_API_URL`,`${$}_API_URL`],apiKeyKeys:[`HASNA_${$}_API_KEY`,`${$}_API_KEY`]}}function jX(_){return`HASNA_${DX(_)}_API_KEY_OVERRIDE`}var IX="HASNA_PROFILE";function AD(_){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 ON(_){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 hu from"pg";class zN extends Error{scheme;port;constructor(_,$){super(_);this.name="KnowledgeNetworkGuardError",this.scheme=$.scheme,this.port=$.port}}function q0(_=process.env){return(_.NODE_ENV??"").trim().toLowerCase()==="test"}function EX(_){let $=_.split(".");if($.length!==4)return!1;if(!$.every((U)=>/^\d{1,3}$/.test(U)&&Number(U)<=255))return!1;return $[0]==="127"}function WB(_){let $=_.trim().toLowerCase();if($.length===0)return!1;if($==="localhost"||$.endsWith(".localhost"))return!0;if(EX($))return!0;if(!$.startsWith("[")||!$.endsWith("]"))return!1;let U=$.slice(1,-1);if(U==="::1"||/^(0:){7}1$/.test(U))return!0;let N=U.split(":").pop()??"";if(/^(::ffff:|::)/.test(U)&&EX(N))return!0;return/^::(ffff:)?7f[0-9a-f]{2}:[0-9a-f]{1,4}$/.test(U)}function WX(_){if(typeof _==="string")return _;if(_ instanceof URL)return _.href;return _.url}function AX(_,$=process.env){if(!q0($))return;let U=WX(_),N;try{N=new URL(U)}catch{throw new zN("knowledge: refused an outbound request with an unparseable target while NODE_ENV=test. Under test, only loopback requests are permitted.",{scheme:"unknown",port:""})}if(WB(N.hostname))return;throw new zN(`knowledge: refused a non-loopback ${N.protocol.replace(":","")} request while NODE_ENV=test (target host withheld on purpose). This process resolved to the cloud backend under test, which means a read or write was about to leave the machine and reach the live store. Select the mode explicitly (HASNA_KNOWLEDGE_STORAGE_MODE=sqlite) or point the API URL at 127.0.0.1 for a hermetic test.`,{scheme:N.protocol.replace(":",""),port:N.port})}var SB=new Set([301,302,303,307,308]),JX=5;function LB(_,$){if($?.method)return $.method.toUpperCase();if(typeof _!=="string"&&!(_ instanceof URL))return _.method.toUpperCase();return"GET"}async function k0(_,$){if(AX(_),!q0()||$?.redirect!==void 0)return fetch(_,$);let U=WX(_),N=LB(_,$),D=$?.body,j=await fetch(_,{...$??{},redirect:"manual"});for(let I=0;SB.has(j.status);I++){let E=j.headers.get("location");if(!E)return j;let J=new URL(E,U).href;if(AX(J),I>=JX){let S=new URL(J);throw new zN(`knowledge: refused to follow more than ${JX} 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:S.protocol.replace(":",""),port:S.port})}if(j.status===303||(j.status===301||j.status===302)&&N!=="GET"&&N!=="HEAD")N="GET",D=void 0;let W={...$??{},method:N,redirect:"manual"};if(D===void 0)delete W.body;else W.body=D;j=await fetch(J,W),U=J}return j}var JD="knowledge",fE=NX(JD),L6=fE.modeKeys,x6=fE.apiUrlKeys,b0=fE.apiKeyKeys;function XN(_,$){return $.filter((U)=>(_[U]??"").trim().length>0)}function WD(_=process.env){let $=[...XN(_,x6),...XN(_,b0)],U=L6[0];for(let N of L6){let D=_[N]?.trim();if(!D)continue;let j;try{j=ON(D)}catch(E){let J=E instanceof Error?E.message:String(E);throw Error(`knowledge: ${N}=${D} is not a valid mode. ${J} Unset ${N} to use the default sqlite backend, or set ${N}=sqlite or ${N}=postgres.`)}let I=[];if(N!==U)I.push(`Using alias env ${N}; the canonical key is ${U}.`);if(j.mode==="sqlite"&&$.length>0)I.push(`${N}=sqlite pins the on-box store; ${$.join(", ")} are set but ignored.`);return{mode:j.mode,source:{kind:"env",name:N,value:D},pointer_env_present:$,pointer_ignored:j.mode==="sqlite"&&$.length>0,warning:I.length>0?I.join(" "):null}}return{mode:"sqlite",source:{kind:"default",name:null,value:null},pointer_env_present:$,pointer_ignored:$.length>0,warning:$.length>0?`${$.join(", ")} are set but do NOT select a backend: mode is sqlite by default. Set ${U}=postgres to route reads and writes to the API, or unset those vars to silence this note.`:null}}var PB=["postgres"],OB=["sqlite"],SX=new Map;function LX(_,$,U){let N=$===AD;if(N){let D=SX.get(_);if(D!==void 0)return D}for(let D of _)try{if($(D),N)SX.set(_,D);return D}catch{}throw Error(`knowledge: no known storage token is accepted by the installed @hasna/contracts (tried ${_.join(", ")}). The storage-mode enum has changed; add the new token to ${U} in src/knowledge-mode.ts.`)}function zB(_=AD){return LX(PB,_,"SERVER_MODE_CANDIDATES")}function XB(_=AD){return LX(OB,_,"LOCAL_MODE_CANDIDATES")}function RB(_,$=AD){return _==="postgres"?zB($):XB($)}function xE(_,$){return{..._,[L6[0]]:RB($)}}class PX extends Error{code="knowledge_mode_unset_with_api_url";constructor(_){let $=L6[0];super(`knowledge: ${_.join(", ")} names an API store, but no mode variable says to use it, so this command would silently read and write the on-box store instead. Set ${$}=postgres to use the API, or ${$}=sqlite to confirm you want the on-box store. Run 'knowledge mode' to see the full resolution.`);this.name="HalfConfiguredKnowledgeClientError"}}function OX(_=process.env,$={}){let U=WD(_);if($.storePathOverridden)return U;if(U.source.kind!=="default")return U;let N=XN(_,x6);if(N.length===0)return U;throw new PX(N)}function zX(_=process.env){let $=WD(_);return{...$,store_transport:$.mode==="postgres"?"api":"local",api_key_present:XN(_,b0).length>0,network_guard_active:q0(_)}}function yE(_){return Boolean(_&&typeof _==="object"&&_.query_capability==="hasna.knowledge.bounded-query.v1")}function XX(_){return{fetchImpl:k0,...q0(_)?{retry:!1}:{}}}var P6="notes";class C0 extends Error{expected;current;code="version_conflict";constructor(_,$){super(`version_conflict: this edit was written against version ${_} but the stored entry is now at version ${$}. Nothing was written. Re-read the entry and re-apply only if the fields you are changing are untouched between the two versions.`);this.expected=_;this.current=$;this.name="KnowledgeVersionConflictError"}}class hE extends Error{operation;fields;code="bounded_query_capability_required";constructor(_,$){super(`bounded_query_capability_required: the Knowledge server did not prove support for ${_} field(s): ${$.join(", ")}. Refusing to accept a possibly unfiltered response; update the server and retry.`);this.operation=_;this.fields=$;this.name="KnowledgeBoundedQueryCapabilityError"}}function YB(_){let $={};if(_.search)$.filter=_.search,$.search=_.search;if(_.tags?.length)$.tags=_.tags;if(_.archive){if($.archive=_.archive,_.archive==="all")$.includeArchived=!0}if(_.sort)$.sort=_.sort;if(_.direction)$.direction=_.direction;if(_.limit!==void 0)$.limit=_.limit;if(_.offset!==void 0)$.offset=_.offset;return $}function QB(_){let $=[];if(_.tags?.length)$.push("tags");if(_.sort!==void 0)$.push("sort");if(_.direction!==void 0)$.push("direction");if(_.archive==="archived")$.push("archive=archived");return $}function RN(_,$,U,N,D){let j=_??$;if(!Number.isFinite(j)||!Number.isInteger(j)||jD)throw Error(`${U} must be an integer between ${N} and ${D}.`);return j}function GB(_){return{baseUrl:_.baseUrl,async list($={}){let U=RN($.limit,200,"limit",1,200),N=RN($.offset,0,"offset",0,1e4),D=YB({...$,limit:U,offset:N}),j=await _.list(P6,{query:D});if(!Number.isInteger(j.total)||Number(j.total)<0)throw Error("knowledge cloud list response is missing a valid producer total.");let I=QB($);if(I.length>0&&!yE(j.raw))throw new hE("list",I);return{items:j.items,total:Number(j.total)}},async search($){let U=RN($.limit,20,"limit",1,200),N=RN($.offset,0,"offset",0,1e4),D=await _.transport.get(`/${P6}/search`,{query:{q:$.query,archive:$.archive??"active",limit:U,offset:N}});if(!Number.isInteger(D.total)||D.total<0||!Array.isArray(D.items)||D.items.some((j)=>!j||typeof j!=="object"||!j.item||typeof j.rank!=="number"||!Number.isFinite(j.rank)))throw Error("knowledge cloud search response is missing producer rank or total evidence.");if(!yE(D))throw new hE("search",["q","rank","total"]);return{items:D.items,total:D.total}},async get($){return _.get(P6,$)},async create($){return _.create(P6,{...$.id?{id:$.id}:{},title:$.title,content:$.content,url:$.url??null,tags:$.tags??[],...$.metadata?{metadata:$.metadata}:{}})},async update($,U,N={}){try{return await _.update(P6,$,U,{...N.expectedVersion!==void 0?{headers:{"if-match":String(N.expectedVersion)}}:{}})}catch(D){if(uE(D))return null;let j=TB(D);if(j)throw j;throw D}},async delete($){let U=await _.get(P6,$);if(!U)return!1;return await _.delete(P6,U.id),!0},async listVersions($,U={}){try{return await _.transport.get(`/${P6}/${encodeURIComponent($)}/versions`,{query:{limit:U.limit,offset:U.offset}})}catch(N){if(uE(N))return null;throw N}},async getVersion($,U){try{return await _.transport.get(`/${P6}/${encodeURIComponent($)}/versions/${U}`)}catch(N){if(uE(N))return null;throw N}}}}function TB(_){if(!_||typeof _!=="object")return null;if(_.status!==409)return null;let $=_.body,N=(typeof $==="string"?BB($):$)??{};if(N.error!=="version_conflict")return null;return new C0(Number(N.expected??0),Number(N.current??0))}function BB(_){try{return JSON.parse(_)}catch{return null}}function uE(_){return Boolean(_&&typeof _==="object"&&_.status===404)}function SD(_=process.env){let $=YX(_);return $?GB($):null}function RX(_=process.env){return YX(_,{guarded:!0})?.transport??null}function VB(_){let $={..._};return delete $.HOME,delete $.USERPROFILE,delete $[IX],delete $[jX(JD)],$}function YX(_,$={}){if(WD(_).mode!=="postgres")return null;let U=$.guarded?VB(_):_,N=vE(JD,xE(U,"postgres"),XX(U));if(N.transport!=="http")return null;return N.client}function p$(_=process.env){if(WD(_).mode!=="postgres")return!1;return vE(JD,xE(_,"postgres"),XX(_)).transport==="http"}async function YN(_){let U=[];for(let N=0;;N+=200){let{items:D}=await _.list({archive:"all",limit:200,offset:N});if(U.push(...D),D.length<200)break;if(N>1e5)break}return U}class cE 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 rE(_,$){return _.id===$||_.short_id===$}function KB(_,$){let U=$.trim().toLowerCase();if(!U)return!0;return _.id.toLowerCase().includes(U)||_.title.toLowerCase().includes(U)||_.content.toLowerCase().includes(U)}function MB(_,$){if($.length===0)return!0;let U=new Set((_.tags??[]).map((N)=>N.toLowerCase()));return $.every((N)=>{let D=N.trim().toLowerCase(),j=N.split(",").map((I)=>I.trim().toLowerCase()).filter(Boolean);return D.length>0&&U.has(D)||j.length>0&&j.every((I)=>U.has(I))})}function gB(_,$,U,N){let D=U==="title"?_.title.localeCompare($.title):_.created_at.localeCompare($.created_at),j=D===0?_.id.localeCompare($.id):D;return N==="desc"?-j:j}function QX(_,$,U,N,D){let j=_??$;if(!Number.isFinite(j)||!Number.isInteger(j)||jD)throw Error(`${U} must be an integer between ${N} and ${D}.`);return j}function ZB(_,$){let U=$.archive??"active",N=$.sort??"created",D=$.direction??"asc",j=QX($.limit,50,"limit",1,200),I=QX($.offset,0,"offset",0,1e4),E=_.filter((J)=>U==="all"||(U==="archived"?J.archived===!0:J.archived!==!0));if($.search)E=E.filter((J)=>KB(J,$.search));if($.tags?.length)E=E.filter((J)=>MB(J,$.tags));return E.sort((J,W)=>gB(J,W,N,D)),{total:E.length,items:E.slice(I,I+j)}}class GX{storePath;kind="local";supportsVersions=!1;constructor(_){this.storePath=_}async listVersions(){throw new cE(this.storePath)}async getVersion(){throw new cE(this.storePath)}get location(){return this.storePath}get exists(){return FB(this.storePath)}async list(_={}){let $=R4(this.storePath);return{...ZB($.items,_),exists:$.exists}}async listAll(){let _=R4(this.storePath);return{items:_.items,total:_.items.length,exists:_.exists}}async get(_){return R4(this.storePath).items.find((U)=>rE(U,_))??null}async create(_){return o$(this.storePath,()=>{let $=ID(this.storePath),U=new Date().toISOString(),N=_.id??hz(),D={id:N,short_id:rz(N),title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:!1,created_at:U,updated_at:U,version:1};return $.items.push(D),S6(this.storePath,$),D},{createParent:!0})}async update(_,$,U={}){return o$(this.storePath,()=>{let N=ID(this.storePath),D=N.items.findIndex((E)=>rE(E,_));if(D===-1)return null;let j=N.items[D],I=j.version??1;if(U.expectedVersion!==void 0&&U.expectedVersion!==I)throw new C0(U.expectedVersion,I);if($.title!==void 0)j.title=$.title;if($.content!==void 0)j.content=$.content;if($.url!==void 0)j.url=$.url;if($.tags!==void 0)j.tags=$.tags;if($.metadata!==void 0)j.metadata=$.metadata;if($.archived!==void 0)j.archived=$.archived;return j.updated_at=new Date().toISOString(),j.version=I+1,N.items[D]=j,S6(this.storePath,N),j},{createParent:!0})}async delete(_){return o$(this.storePath,()=>{let $=ID(this.storePath),U=$.items.length;$.items=$.items.filter((D)=>!rE(D,_));let N=U!==$.items.length;if(N)S6(this.storePath,$);return N},{createParent:!0})}async deleteMany(_){if(_.length===0)return 0;let $=new Set(_);return o$(this.storePath,()=>{let U=ID(this.storePath),N=U.items.length;U.items=U.items.filter((j)=>!$.has(j.id)&&!(j.short_id!=null&&$.has(j.short_id)));let D=N-U.items.length;if(D>0)S6(this.storePath,U);return D},{createParent:!0})}}class TX{cloud;kind="api";exists=!0;supportsVersions=!0;constructor(_){this.cloud=_}async listVersions(_,$={}){return this.cloud.listVersions(_,$)}async getVersion(_,$){return this.cloud.getVersion(_,$)}get location(){return this.cloud.baseUrl}async list(_={}){let $=await this.cloud.list({search:_.search,tags:_.tags,archive:_.archive,sort:_.sort,direction:_.direction,limit:_.limit,offset:_.offset});return{items:$.items,total:$.total,exists:!0}}async listAll(){let _=await YN(this.cloud);return{items:_,total:_.length,exists:!0}}async get(_){return this.cloud.get(_)}async create(_){return this.cloud.create({..._.id?{id:_.id}:{},title:_.title,content:_.content,url:_.url??null,tags:_.tags??[],..._.metadata?{metadata:_.metadata}:{}})}async update(_,$,U={}){return this.cloud.update(_,$,{expectedVersion:U.expectedVersion})}async delete(_){return this.cloud.delete(_)}async deleteMany(_){let $=0;for(let U of _)if(await this.cloud.delete(U))$+=1;return $}}function QN(_){let $=_.storePathOverridden?null:SD(_.env??process.env);if($)return new TX($);return new GX(_.storePath)}function BX(_){let $=_??"";if($==="")return[];return $.replace(/\n$/,"").split(` `)}var mE=5000;function HB(_,$){let U=BX(_),N=BX($);if(U.length>mE||N.length>mE)throw Error(`Refusing to line-diff ${Math.max(U.length,N.length)} lines (limit ${mE}). Fetch the two versions and diff them with a dedicated tool.`);let D=Array.from({length:U.length+1},()=>Array(N.length+1).fill(0));for(let J=U.length-1;J>=0;J-=1)for(let W=N.length-1;W>=0;W-=1)D[J][W]=U[J]===N[W]?D[J+1][W+1]+1:Math.max(D[J+1][W],D[J][W+1]);let j=[],I=0,E=0;while(I=D[I][E+1])j.push({op:"remove",from_line:I+1,to_line:null,text:U[I]}),I+=1;else j.push({op:"add",from_line:null,to_line:E+1,text:N[E]}),E+=1;while(I{if(!qB(_[E],$[E]))U.push({field:E,from:_[E]??null,to:$[E]??null})};N("title"),N("url"),N("tags"),N("metadata"),N("archived");let D=HB(_.content,$.content),j=D.filter((E)=>E.op==="add").length,I=D.filter((E)=>E.op==="remove").length;return{identical:U.length===0&&j===0&&I===0,fields:U,content:D,added:j,removed:I}}function FX(_,$,U){let N=[`--- ${$}`,`+++ ${U}`];if(_.identical)return N.push("(no changes)"),N.join(` `);for(let D of _.fields)N.push(`~ ${D.field}: ${JSON.stringify(D.from)} -> ${JSON.stringify(D.to)}`);if(_.added===0&&_.removed===0){if(_.fields.length>0)N.push("(content unchanged)")}else{N.push(`@@ content +${_.added} -${_.removed} @@`);for(let D of _.content){let j=D.op==="add"?"+":D.op==="remove"?"-":" ";N.push(`${j}${D.text}`)}}return N.join(` `)}import{Database as KX}from"bun:sqlite";function GN(_="catalog"){if(p$()){let $=L6[0];throw Error(`knowledge: ${_} builds/reads the on-box sqlite RAG catalog (source ingestion, chunk embeddings, wiki compilation, cross-machine sync, machine registry). That local indexing pipeline is not available in cloud mode. In cloud mode the shared corpus is the cloud knowledge-items: 'add/list/get/update/delete' item commands AND 'search/ask/build/context' over that shared corpus all route to the cloud. Set ${$}=local `+"(or unset it \u2014 local is the default) to use the full local catalog pipeline; run 'knowledge mode' to see "+"which variable selected the current backend.")}}var kB="porter unicode61 remove_diacritics 2",MX=` @@ -1009,7 +1009,7 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` 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(N.provider,N.model)}finally{D.close()}}function AY(_){c(_.dbPath);let $=v(_.dbPath);try{let U=$.query("SELECT MAX(version) AS version FROM schema_versions").get()?.version??0,N=$.query("SELECT COUNT(*) AS n FROM chunks").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0,j=EY(_.dbPath,_).length,I=$.query(`SELECT COUNT(*) AS n FROM source_revisions - WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:N,vector_entries:D,missing_embeddings:j,queued:nq(_.dbPath),stale_revisions:I}}finally{$.close()}}function _z(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",N=EY(_.dbPath,_),D=v(_.dbPath),j=0,I=0;try{D.transaction(()=>{for(let J of N){let W=mq("rq",`embedding\x00${J.chunk_id}\x00${U}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",J.chunk_id,U)){I+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) + WHERE metadata_json LIKE '%"reindex_required":true%' OR metadata_json LIKE '%"status":"stale"%'`).get()?.n??0;return{schema_version:U,chunks:N,vector_entries:D,missing_embeddings:j,queued:nq(_.dbPath),stale_revisions:I}}finally{$.close()}}function _3(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=_.reason??"missing_embedding",N=EY(_.dbPath,_),D=v(_.dbPath),j=0,I=0;try{D.transaction(()=>{for(let J of N){let W=mq("rq",`embedding\x00${J.chunk_id}\x00${U}`);if(D.query("SELECT id FROM reindex_queue WHERE kind = ? AND target_id = ? AND reason = ?").get("embedding",J.chunk_id,U)){I+=1;continue}D.run(`INSERT INTO reindex_queue (id, kind, target_id, source_uri, reason, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[W,"embedding",J.chunk_id,J.source_uri,U,"pending",JSON.stringify({source_revision_id:J.source_revision_id}),$,$]),j+=1}})()}finally{D.close()}return{enqueued:j,already_queued:I,reason:U}}function dq(_){let $=v(_);try{let U=$.query("SELECT COUNT(*) AS n FROM chunk_embeddings").get()?.n??0,N=$.query("SELECT COUNT(*) AS n FROM vector_index_entries").get()?.n??0;return $.run("DELETE FROM vector_index_entries"),$.run("DELETE FROM chunk_embeddings"),{embeddings:U,vectorEntries:N}}finally{$.close()}}function lq(_,$,U){let N=K4($.modelRef,$.config),D=c_(N),j=v(_);try{return j.run(`UPDATE reindex_queue SET status = ?, updated_at = ? WHERE kind = ? @@ -1019,13 +1019,13 @@ ${JSON.stringify(_.evidence,null,2)}`].join(` WHERE v.chunk_id = reindex_queue.target_id AND v.provider = ? AND v.model = ? - )`,["completed",U,"embedding","pending",D.provider,D.model]).changes}finally{j.close()}}async function JY(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${IY()}`,N=_.full?dq(_.dbPath):{embeddings:0,vectorEntries:0},D=_z({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),j=v(_.dbPath);try{j.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) + )`,["completed",U,"embedding","pending",D.provider,D.model]).changes}finally{j.close()}}async function JY(_){c(_.dbPath);let $=(_.now??new Date).toISOString(),U=`run_${IY()}`,N=_.full?dq(_.dbPath):{embeddings:0,vectorEntries:0},D=_3({..._,reason:_.full?"full_embedding_rebuild":"missing_embedding"}),j=v(_.dbPath);try{j.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[U,"embedding-refresh",_.full?"full":"incremental","running","local",K4(_.modelRef,_.config),JSON.stringify({full:_.full===!0,queued:D}),$,$])}finally{j.close()}let I=await bN({dbPath:_.dbPath,config:_.config,env:_.env,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake,limit:_.limit,now:_.now}),E=lq(_.dbPath,_,$),J=v(_.dbPath);try{J.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({full:_.full===!0,queued:D,indexed:I,completed_queue_items:E}),$,U]),J.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${IY()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:I,completed_queue_items:E}),$])}finally{J.close()}return{run_id:U,full:_.full===!0,deleted_embeddings:N.embeddings,deleted_vector_entries:N.vectorEntries,queued:D,indexed:I,completed_queue_items:E}}import{createHash as LY}from"crypto";import{existsSync as PY,lstatSync as iq,readdirSync as tq,readFileSync as oq,statSync as pq}from"fs";import{basename as BU,extname as aq,join as eq,relative as sq,resolve as Nz,sep as _k}from"path";import{pathToFileURL as WY}from"url";var $k=100,Uk=25,Dk=262144,Nk=5,jk=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),$z=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),Ik=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),Ek=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,M2=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function Uz(_){return`sha256:${LY("sha256").update(_).digest("hex")}`}function Ak(_){return`sha256:${LY("sha256").update(_).digest("hex")}`}function f1(_){return _.split(_k).join("/")}function Dz(_,$){let U=sq(_,$);return U?f1(U):BU($)}function I4(_){return jk.has(aq(_).toLowerCase())}function SY(_){return f1(_).split("/").some(($)=>Ek.test($))}function OY(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function zY(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function XY(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function Jk(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:(_)=>$z.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=f1(_),U=BU($);if($z.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&I4($))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 $=f1(_);return $==="CLAUDE.md"||/^rules\//.test($)&&I4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=f1(_),U=BU($);if($z.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&I4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>M2.test(_)&&I4(_)}},{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:(_)=>M2.test(_)&&I4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>M2.test(_)&&I4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>M2.test(_)&&I4(_)}}]}function Wk(_,$){let U=new Map;for(let N of Jk()){let D=Nz(_,N.base);if(!PY(D))continue;if(pq(D).isFile()){let I=BU(D);if(N.spec.include(I))U.set(D,{...N.spec,absPath:D});continue}RY({basePath:D,depth:0,maxDepth:N.maxDepth??Nk,spec:N.spec,candidates:U,skipped:$})}return[...U.values()].sort((N,D)=>{if(N.precedence.rank!==D.precedence.rank)return N.precedence.rank-D.precedence.rank;return N.absPath.localeCompare(D.absPath)})}function RY(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of tq(_.basePath,{withFileTypes:!0})){let N=eq(_.basePath,U.name),D=Dz($,N);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(Ik.has(U.name))continue;if(SY(D)){_.skipped.push({source_family:_.spec.family,source_path:N,reason:"sensitive_path"});continue}RY({..._,rootBasePath:$,basePath:N,depth:_.depth+1});continue}if(!U.isFile())continue;let j=Dz(Nz($),N);if(SY(j)){_.skipped.push({source_family:_.spec.family,source_path:N,reason:"sensitive_path"});continue}if(!_.spec.include(j))continue;if(!I4(N))continue;_.candidates.set(N,{..._.spec,absPath:N})}}function Sk(_){if((_.tags??[]).map((N)=>N.toLowerCase()).some((N)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(N)))return!0;let U=`${_.title} -${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function YY(_,$){let U={source_path:_.source_path,source_path_ref:_.source_path_ref,source_ref:_.source_ref,owner:_.owner,scope:_.scope,precedence:_.precedence,source_hash:_.source_hash,content_hash:_.content_hash,discovered_at:_.discovered_at,tags:_.tags,redaction_status:_.redaction_status,citations:_.citations};return{source_ref:_.source_ref,name:_.title,mime:"text/markdown",size:Buffer.byteLength($),hash:_.content_hash,revision:_.content_hash,status:"active",updated_at:_.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:_.source_family,source_path_ref:_.source_path_ref,owner:_.owner,scope:_.scope,precedence:_.precedence,tags:_.tags,redaction_status:_.redaction_status,legacy_json_id:_.legacy_json_id??null,extracted_text:$}}function Lk(_){let $=iq(_.candidate.absPath),U=_.candidate.absPath,N=Dz(_.root,U);if($.size>_.maxBytesPerFile){let z=WY(U).href;return{evidence:{source_family:_.candidate.family,title:BU(U),source_path:U,source_path_ref:N,source_ref:z,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:_.discoveredAt,tags:[..._.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:$.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let D=oq(U),j=D.toString("utf8"),I=d_(j,_.safetyPolicy),J=I.findings.some((z)=>z.severity==="high")?"refused":I.findings.length>0?"redacted":"clean",W=Uz(I.text),S=WY(U).href,L=zY(I.text),X={source_family:_.candidate.family,title:BU(U),source_path:U,source_path_ref:N,source_ref:S,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:Ak(D),content_hash:W,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:J,redactions:I.findings.map((z)=>({type:z.type,severity:z.severity})),citations:[XY({sourceRef:S,sourcePath:U,lineCount:L,contentHash:W})],bytes:D.byteLength,line_count:L,importable:J!=="refused",skipped_reason:J==="refused"?"secret_refused":null,preview:J==="refused"?null:OY(I.text)};return{evidence:X,text:I.text,manifest:X.importable?YY(X,I.text):null}}function Pk(_){let $=d_(_.item.content,_.safetyPolicy),N=$.findings.some((W)=>W.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,j=Uz($.text),I=Uz(_.item.content),E=zY($.text),J={source_family:"legacy_json",title:_.item.title,source_path:_.legacyStorePath,source_path_ref:`legacy-json:${_.item.id}`,source_ref:D,owner:"legacy-json",scope:_.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:I,content_hash:j,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:N,redactions:$.findings.map((W)=>({type:W.type,severity:W.severity})),citations:[XY({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:E,contentHash:j})],bytes:Buffer.byteLength(_.item.content),line_count:E,importable:N!=="refused",skipped_reason:N==="refused"?"secret_refused":null,preview:N==="refused"?null:OY($.text),legacy_json_id:_.item.id};return{evidence:J,text:$.text,manifest:J.importable?YY(J,$.text):null}}function Ok(_){if(!_.legacyStorePath||!PY(_.legacyStorePath))return 0;let $=new Map(_.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if($.size===0)return 0;return o$(_.legacyStorePath,()=>{let U=R4(_.legacyStorePath);if(!U.exists)return 0;let N=0;for(let D of U.items){let j=$.get(D.id);if(!j)continue;let I=D.metadata??{};D.archived=!0,D.metadata={...I,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:j.source_ref,source_hash:j.source_hash,content_hash:j.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,N+=1}if(N>0)S6(_.legacyStorePath,{items:U.items});return N})}async function QY(_={}){let $=Nz(_.root??process.cwd()),U=_.scope??"global",N=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,j=(_.now??new Date).toISOString(),I=Math.max(1,Math.min(_.maxItems??$k,1000)),E=Math.max(1,Math.min(_.limit??Uk,100)),J=Math.max(1024,Math.min(_.maxBytesPerFile??Dk,2097152)),W=[],L=Wk($,W).slice(0,I).map((q)=>Lk({root:$,candidate:{...q,owner:q.owner==="repository"?N:q.owner,scope:U},discoveredAt:j,maxBytesPerFile:J,safetyPolicy:_.safetyPolicy})),z=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:R4(_.legacyStorePath)).items.filter((q)=>q.archived!==!0&&Sk(q)).slice(0,I),Y=z.map((q)=>Pk({item:q,legacyStorePath:_.legacyStorePath,discoveredAt:j,scope:U,safetyPolicy:_.safetyPolicy})),P=[...L,...Y].slice(0,I),O=P.map((q)=>q.evidence),Q=P.filter((q)=>q.manifest).map((q)=>q.manifest),V=O.filter((q)=>q.redaction_status==="refused").length,G=O.slice(0,E),T=W.slice(0,E),F=null,M=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(Q.length>0)F=await T4({dbPath:_.dbPath,items:Q,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:I});if(_.deprecateLegacy!==!1)M=Ok({legacyStorePath:_.legacyStorePath,records:O,now:j})}return{ok:V===0||Q.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:U,owner:N,discovered_at:j,max_items:I,evidence_limit:E,records_seen:O.length,records_importable:Q.length,records_refused:V,records_skipped:W.length,evidence_truncated:O.length>G.length,skipped_truncated:W.length>T.length,evidence:G,skipped:T,import_result:F,legacy:{store_path:_.legacyStorePath??null,candidates:z.length,promoted:Y.filter((q)=>q.manifest).length,deprecated:M,data_loss:!1},message:D?`Discovered ${O.length} rule source(s); ${Q.length} importable, ${V} refused`:`Imported ${F?.items_seen??0} rule source(s); ${M} legacy note(s) deprecated`}}import{createHash as zk,randomUUID as GY}from"crypto";function Xk(_){return`sha256:${zk("sha256").update(_).digest("hex")}`}function TY(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function BY(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function E4(_){return typeof _==="string"&&_.length>0?_:null}function Rk(_){let $=BY(_),U=E4($.url)??E4($.uri)??E4($.sourceUrl);if(!U)return null;return{url:U,title:E4($.title)??E4($.name),snippet:E4($.snippet)??E4($.text)??E4($.description),provider_metadata:$}}function g2(_,$){if(Array.isArray(_)){for(let D of _)g2(D,$);return}let U=Rk(_);if(U)$.set(U.url,U);let N=BY(_);for(let D of["sources","results","citations","annotations","output"])if(N[D])g2(N[D],$)}function Yk(_,$){return Array.from({length:Math.min($,3)},(U,N)=>({url:`https://example.com/knowledge-web-${N+1}`,title:`Fake web source ${N+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:N+1}}))}async function Qk(_){let{generateText:$}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),N=Q6(_.config,"openai"),D=U({apiKey:_.env[N.api_key_env],baseURL:N.base_url}),j=D.tools?.webSearch;if(!j)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:j({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Gk(_){let{generateText:$}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),N=Q6(_.config,"anthropic"),D=U({apiKey:_.env[N.api_key_env],baseURL:N.base_url}),j=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!j)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:j({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function Tk(_,$,U){if(!_.fileResults||$.length===0)return 0;let N=$.map((j)=>{let I=[j.title,j.snippet,j.url].filter(Boolean).join(` + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${IY()}`,U,"info","embedding_refresh_completed",JSON.stringify({queued:D,indexed:I,completed_queue_items:E}),$])}finally{J.close()}return{run_id:U,full:_.full===!0,deleted_embeddings:N.embeddings,deleted_vector_entries:N.vectorEntries,queued:D,indexed:I,completed_queue_items:E}}import{createHash as LY}from"crypto";import{existsSync as PY,lstatSync as iq,readdirSync as tq,readFileSync as oq,statSync as pq}from"fs";import{basename as BU,extname as aq,join as eq,relative as sq,resolve as N3,sep as _k}from"path";import{pathToFileURL as WY}from"url";var $k=100,Uk=25,Dk=262144,Nk=5,jk=new Set([".md",".mdx",".txt",".json",".jsonc",".toml",".yaml",".yml"]),$3=new Set(["CODEWITH.md","AGENTS.md","CLAUDE.md","RULES.md","INSTRUCTIONS.md"]),Ik=new Set([".git","node_modules","dist","build",".codewith-worktrees",".connect",".secrets",".tmp","tmp","auth_profiles","profiles","preserved","backup","backups","cache","logs","runs"]),Ek=/(^|[._-])(secret|secrets|token|tokens|credential|credentials|password|passwd|private[_-]?key|id_rsa)([._-]|$)/i,M2=/(agent|rule|rules|instruction|instructions|global|operating|standard|knowledge)/i;function U3(_){return`sha256:${LY("sha256").update(_).digest("hex")}`}function Ak(_){return`sha256:${LY("sha256").update(_).digest("hex")}`}function f1(_){return _.split(_k).join("/")}function D3(_,$){let U=sq(_,$);return U?f1(U):BU($)}function I4(_){return jk.has(aq(_).toLowerCase())}function SY(_){return f1(_).split("/").some(($)=>Ek.test($))}function OY(_,$=220){let U=_.normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function zY(_){if(!_)return 0;return _.split(/\r\n|\n|\r/).length}function XY(_){return{source_ref:_.sourceRef,source_path:_.sourcePath,line_start:_.lineCount>0?1:0,line_end:_.lineCount,content_hash:_.contentHash}}function Jk(){return[{base:".",maxDepth:0,spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:10,label:"root-rule-doc"},tags:["global-rules","rule-doc"],include:(_)=>$3.has(_)}},{base:".codewith",spec:{family:"codewith",owner:"codewith",scope:"global",precedence:{rank:20,label:"codewith"},tags:["global-rules","codewith","agent-instructions"],include:(_)=>{let $=f1(_),U=BU($);if($3.has(U)||$==="config.toml")return!0;if($.endsWith("/SKILL.md"))return!0;if(/^(rules|instructions|prompts|plans)\//.test($)&&I4($))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 $=f1(_);return $==="CLAUDE.md"||/^rules\//.test($)&&I4($)}}},{base:".codex",spec:{family:"codex",owner:"codex",scope:"global",precedence:{rank:40,label:"codex"},tags:["global-rules","codex","agent-instructions"],include:(_)=>{let $=f1(_),U=BU($);if($3.has(U)||U==="config.toml")return!0;return/^(rules|instructions|prompts)\//.test($)&&I4($)}}},{base:".opencode",spec:{family:"opencode",owner:"opencode",scope:"global",precedence:{rank:50,label:"opencode"},tags:["global-rules","opencode","agent-instructions"],include:(_)=>M2.test(_)&&I4(_)}},{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:(_)=>M2.test(_)&&I4(_)}},{base:".hasna/plans",spec:{family:"plan",owner:"hasna",scope:"global",precedence:{rank:65,label:"selected-plans"},tags:["global-rules","plan"],include:(_)=>M2.test(_)&&I4(_)}},{base:"docs",spec:{family:"rule_doc",owner:"repository",scope:"global",precedence:{rank:70,label:"rule-docs"},tags:["global-rules","rule-doc"],include:(_)=>M2.test(_)&&I4(_)}}]}function Wk(_,$){let U=new Map;for(let N of Jk()){let D=N3(_,N.base);if(!PY(D))continue;if(pq(D).isFile()){let I=BU(D);if(N.spec.include(I))U.set(D,{...N.spec,absPath:D});continue}RY({basePath:D,depth:0,maxDepth:N.maxDepth??Nk,spec:N.spec,candidates:U,skipped:$})}return[...U.values()].sort((N,D)=>{if(N.precedence.rank!==D.precedence.rank)return N.precedence.rank-D.precedence.rank;return N.absPath.localeCompare(D.absPath)})}function RY(_){let $=_.rootBasePath??_.basePath;if(_.depth>_.maxDepth)return;for(let U of tq(_.basePath,{withFileTypes:!0})){let N=eq(_.basePath,U.name),D=D3($,N);if(U.isSymbolicLink())continue;if(U.isDirectory()){if(Ik.has(U.name))continue;if(SY(D)){_.skipped.push({source_family:_.spec.family,source_path:N,reason:"sensitive_path"});continue}RY({..._,rootBasePath:$,basePath:N,depth:_.depth+1});continue}if(!U.isFile())continue;let j=D3(N3($),N);if(SY(j)){_.skipped.push({source_family:_.spec.family,source_path:N,reason:"sensitive_path"});continue}if(!_.spec.include(j))continue;if(!I4(N))continue;_.candidates.set(N,{..._.spec,absPath:N})}}function Sk(_){if((_.tags??[]).map((N)=>N.toLowerCase()).some((N)=>["rule","rules","agent","instructions","global-rules","global-agent-rules"].includes(N)))return!0;let U=`${_.title} +${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction|instructions|codewith|claude|codex|opencode)\b/.test(U)}function YY(_,$){let U={source_path:_.source_path,source_path_ref:_.source_path_ref,source_ref:_.source_ref,owner:_.owner,scope:_.scope,precedence:_.precedence,source_hash:_.source_hash,content_hash:_.content_hash,discovered_at:_.discovered_at,tags:_.tags,redaction_status:_.redaction_status,citations:_.citations};return{source_ref:_.source_ref,name:_.title,mime:"text/markdown",size:Buffer.byteLength($),hash:_.content_hash,revision:_.content_hash,status:"active",updated_at:_.discovered_at,permissions:{mode:"read_only",allowed_purposes:["knowledge_index","knowledge_answer","agent_context"]},rule_provenance:U,source_family:_.source_family,source_path_ref:_.source_path_ref,owner:_.owner,scope:_.scope,precedence:_.precedence,tags:_.tags,redaction_status:_.redaction_status,legacy_json_id:_.legacy_json_id??null,extracted_text:$}}function Lk(_){let $=iq(_.candidate.absPath),U=_.candidate.absPath,N=D3(_.root,U);if($.size>_.maxBytesPerFile){let z=WY(U).href;return{evidence:{source_family:_.candidate.family,title:BU(U),source_path:U,source_path_ref:N,source_ref:z,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:"sha256:skipped-too-large",content_hash:"sha256:skipped-too-large",discovered_at:_.discoveredAt,tags:[..._.candidate.tags,"skipped"],redaction_status:"refused",redactions:[],citations:[],bytes:$.size,line_count:0,importable:!1,skipped_reason:"max_bytes_exceeded",preview:null},text:"",manifest:null}}let D=oq(U),j=D.toString("utf8"),I=d_(j,_.safetyPolicy),J=I.findings.some((z)=>z.severity==="high")?"refused":I.findings.length>0?"redacted":"clean",W=U3(I.text),S=WY(U).href,L=zY(I.text),X={source_family:_.candidate.family,title:BU(U),source_path:U,source_path_ref:N,source_ref:S,owner:_.candidate.owner,scope:_.candidate.scope,precedence:_.candidate.precedence,source_hash:Ak(D),content_hash:W,discovered_at:_.discoveredAt,tags:[..._.candidate.tags],redaction_status:J,redactions:I.findings.map((z)=>({type:z.type,severity:z.severity})),citations:[XY({sourceRef:S,sourcePath:U,lineCount:L,contentHash:W})],bytes:D.byteLength,line_count:L,importable:J!=="refused",skipped_reason:J==="refused"?"secret_refused":null,preview:J==="refused"?null:OY(I.text)};return{evidence:X,text:I.text,manifest:X.importable?YY(X,I.text):null}}function Pk(_){let $=d_(_.item.content,_.safetyPolicy),N=$.findings.some((W)=>W.severity==="high")?"refused":$.findings.length>0?"redacted":"clean",D=`open-files://source/legacy-json/path/${encodeURIComponent(_.item.id)}`,j=U3($.text),I=U3(_.item.content),E=zY($.text),J={source_family:"legacy_json",title:_.item.title,source_path:_.legacyStorePath,source_path_ref:`legacy-json:${_.item.id}`,source_ref:D,owner:"legacy-json",scope:_.scope,precedence:{rank:90,label:"legacy-json-note"},source_hash:I,content_hash:j,discovered_at:_.discoveredAt,tags:[...new Set(["global-rules","legacy-json",..._.item.tags??[]])],redaction_status:N,redactions:$.findings.map((W)=>({type:W.type,severity:W.severity})),citations:[XY({sourceRef:D,sourcePath:_.legacyStorePath,lineCount:E,contentHash:j})],bytes:Buffer.byteLength(_.item.content),line_count:E,importable:N!=="refused",skipped_reason:N==="refused"?"secret_refused":null,preview:N==="refused"?null:OY($.text),legacy_json_id:_.item.id};return{evidence:J,text:$.text,manifest:J.importable?YY(J,$.text):null}}function Ok(_){if(!_.legacyStorePath||!PY(_.legacyStorePath))return 0;let $=new Map(_.records.filter((U)=>U.legacy_json_id&&U.importable).map((U)=>[U.legacy_json_id,U]));if($.size===0)return 0;return o$(_.legacyStorePath,()=>{let U=R4(_.legacyStorePath);if(!U.exists)return 0;let N=0;for(let D of U.items){let j=$.get(D.id);if(!j)continue;let I=D.metadata??{};D.archived=!0,D.metadata={...I,knowledge_rules_import:{status:"deprecated_after_source_backed_promotion",deprecated_at:_.now,source_ref:j.source_ref,source_hash:j.source_hash,content_hash:j.content_hash,data_loss:!1}},D.tags=[...new Set([...D.tags??[],"deprecated:knowledge-rules-import"])],D.updated_at=_.now,N+=1}if(N>0)S6(_.legacyStorePath,{items:U.items});return N})}async function QY(_={}){let $=N3(_.root??process.cwd()),U=_.scope??"global",N=_.owner??"global-agent-rules-standard",D=_.dryRun!==!1,j=(_.now??new Date).toISOString(),I=Math.max(1,Math.min(_.maxItems??$k,1000)),E=Math.max(1,Math.min(_.limit??Uk,100)),J=Math.max(1024,Math.min(_.maxBytesPerFile??Dk,2097152)),W=[],L=Wk($,W).slice(0,I).map((q)=>Lk({root:$,candidate:{...q,owner:q.owner==="repository"?N:q.owner,scope:U},discoveredAt:j,maxBytesPerFile:J,safetyPolicy:_.safetyPolicy})),z=(_.includeLegacy===!1||!_.legacyStorePath?{exists:!1,items:[]}:R4(_.legacyStorePath)).items.filter((q)=>q.archived!==!0&&Sk(q)).slice(0,I),Y=z.map((q)=>Pk({item:q,legacyStorePath:_.legacyStorePath,discoveredAt:j,scope:U,safetyPolicy:_.safetyPolicy})),P=[...L,...Y].slice(0,I),O=P.map((q)=>q.evidence),Q=P.filter((q)=>q.manifest).map((q)=>q.manifest),V=O.filter((q)=>q.redaction_status==="refused").length,G=O.slice(0,E),T=W.slice(0,E),F=null,M=0;if(!D){if(!_.dbPath)throw Error("rules provenance apply mode requires dbPath.");if(Q.length>0)F=await T4({dbPath:_.dbPath,items:Q,sourceLabel:"knowledge://rules-provenance/global-agent-rules",readAction:"rules_provenance_import",allowFileSourceRefs:!0,safetyPolicy:_.safetyPolicy,now:_.now,maxItems:I});if(_.deprecateLegacy!==!1)M=Ok({legacyStorePath:_.legacyStorePath,records:O,now:j})}return{ok:V===0||Q.length>0||D,workflow:"global-rules-provenance-import",dry_run:D,writes_performed:!D,root:$,scope:U,owner:N,discovered_at:j,max_items:I,evidence_limit:E,records_seen:O.length,records_importable:Q.length,records_refused:V,records_skipped:W.length,evidence_truncated:O.length>G.length,skipped_truncated:W.length>T.length,evidence:G,skipped:T,import_result:F,legacy:{store_path:_.legacyStorePath??null,candidates:z.length,promoted:Y.filter((q)=>q.manifest).length,deprecated:M,data_loss:!1},message:D?`Discovered ${O.length} rule source(s); ${Q.length} importable, ${V} refused`:`Imported ${F?.items_seen??0} rule source(s); ${M} legacy note(s) deprecated`}}import{createHash as zk,randomUUID as GY}from"crypto";function Xk(_){return`sha256:${zk("sha256").update(_).digest("hex")}`}function TY(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function BY(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function E4(_){return typeof _==="string"&&_.length>0?_:null}function Rk(_){let $=BY(_),U=E4($.url)??E4($.uri)??E4($.sourceUrl);if(!U)return null;return{url:U,title:E4($.title)??E4($.name),snippet:E4($.snippet)??E4($.text)??E4($.description),provider_metadata:$}}function g2(_,$){if(Array.isArray(_)){for(let D of _)g2(D,$);return}let U=Rk(_);if(U)$.set(U.url,U);let N=BY(_);for(let D of["sources","results","citations","annotations","output"])if(N[D])g2(N[D],$)}function Yk(_,$){return Array.from({length:Math.min($,3)},(U,N)=>({url:`https://example.com/knowledge-web-${N+1}`,title:`Fake web source ${N+1}`,snippet:`Deterministic web-search fixture for "${_}"`,provider_metadata:{fake:!0,rank:N+1}}))}async function Qk(_){let{generateText:$}=await import("ai"),{createOpenAI:U}=await import("@ai-sdk/openai"),N=Q6(_.config,"openai"),D=U({apiKey:_.env[N.api_key_env],baseURL:N.base_url}),j=D.tools?.webSearch;if(!j)throw Error("OpenAI provider does not expose tools.webSearch.");return $({model:D(_.model),prompt:_.query,tools:{web_search:j({externalWebAccess:!0,searchContextSize:"medium",..._.domains.length>0?{allowedDomains:_.domains}:{}})},toolChoice:{type:"tool",toolName:"web_search"}})}async function Gk(_){let{generateText:$}=await import("ai"),{createAnthropic:U}=await import("@ai-sdk/anthropic"),N=Q6(_.config,"anthropic"),D=U({apiKey:_.env[N.api_key_env],baseURL:N.base_url}),j=D.tools?.webSearch_20250305??D.tools?.webSearch;if(!j)throw Error("Anthropic provider does not expose a web search tool.");return $({model:D(_.model),prompt:_.query,tools:{web_search:j({maxUses:_.maxUses,..._.domains.length>0?{allowedDomains:_.domains}:{}})}})}async function Tk(_,$,U){if(!_.fileResults||$.length===0)return 0;let N=$.map((j)=>{let I=[j.title,j.snippet,j.url].filter(Boolean).join(` `),E=Xk(I);return{source_ref:j.url,name:j.title??j.url,url:j.url,mime:"text/plain",hash:E,revision:E,status:"active",updated_at:U,permissions:{mode:"read_only",allowed_purposes:["knowledge_answer","knowledge_index"]},metadata:{source_ref:j.url,content_source:"provider_web_search",provider_metadata:j.provider_metadata},extracted_text:I}});return(await T4({dbPath:_.dbPath,items:N,sourceLabel:`web-search:${_.query}`,readAction:"provider_web_search_file_results",safetyPolicy:_.safetyPolicy,now:new Date(U)})).sources_upserted}async function VY(_){let $=_.query.trim();if(!$)throw Error("Web search query is required.");let U=_.env??process.env,N=(_.now??new Date).toISOString(),D=Math.max(1,Math.min(_.limit??5,20)),j=Math.max(1,Math.min(_.maxUses??3,10)),I=_.domains??[],E=b$(_.modelRef??(_.provider?`${_.provider}:${Q6(_.config,_.provider).default_model}`:"default"),_.config),J=c_(E),W=_.provider??J.provider,S=J.provider===W?J.model:Q6(_.config,W).default_model,L=`run_${GY()}`;if(!_.fake&&_.safetyPolicy)v0(_.safetyPolicy);if(!_.fake&&W!=="openai"&&W!=="anthropic")throw Error(`Provider ${W} does not expose native web search yet.`);if(!_.fake)V4(W,_.config,U);c(_.dbPath);let X=v(_.dbPath);try{X.run(`INSERT INTO runs (id, type, prompt, status, provider, model, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[L,"provider-web-search",$,"running",W,S,JSON.stringify({domains:I,max_uses:j,fake:_.fake===!0}),N,N]),T_(X,{event_type:"source_read",action:_.fake?"fake_provider_web_search":"provider_web_search",target_uri:$,decision:"allow",metadata:{provider:W,model:S,domains:I,max_uses:j},created_at:N})}finally{X.close()}let z="",Y=[],P={input_tokens:TY($),output_tokens:0,cost_usd:0},O=[];if(_.fake)Y=Yk($,D),z=`Fake web search answer for: ${$}`,P.output_tokens=TY(z);else{let V=W==="openai"?await Qk({query:$,model:S,config:_.config,env:U,maxUses:j,domains:I}):await Gk({query:$,model:S,config:_.config,env:U,maxUses:j,domains:I});z=V.text;let G=new Map;g2(V.sources,G),g2(V.toolResults,G),Y=Array.from(G.values()).slice(0,D);let T=F4({provider:W,model:S,usage:V.usage,providerMetadata:V.providerMetadata});P={input_tokens:T.input_tokens,output_tokens:T.output_tokens,cost_usd:T.cost_usd}}let R=await Tk(_,Y,N),Q=v(_.dbPath);try{Q.run("UPDATE runs SET status = ?, metadata_json = ?, updated_at = ? WHERE id = ?",["completed",JSON.stringify({domains:I,max_uses:j,sources:Y.length,filed_sources:R,fake:_.fake===!0}),N,L]),Q.run(`INSERT INTO run_events (id, run_id, level, event, metadata_json, created_at) - VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${GY()}`,L,"info","provider_web_search_completed",JSON.stringify({sources:Y.length,filed_sources:R}),N]),y0(Q,{run_id:L,provider:W,model:S,input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd,metadata:{web_search:!0,sources:Y.length,filed_sources:R},created_at:N})}finally{Q.close()}if(Y.length===0)O.push("no_web_sources_returned");return{run_id:L,query:$,provider:W,model:S,answer:z,sources:Y,filed_sources:R,usage:P,warnings:O}}import{createHash as Bk,randomUUID as Vk}from"crypto";function VU(_,$){return`${_}_${Bk("sha256").update($).digest("hex").slice(0,20)}`}function jz(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Fk(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Kk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function FY(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Mk(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function KY(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function gk(_,$){let U=Math.max(1,Math.min($.limit??10,50)),N=$.sourceRefs??[],D=Mk($.query),j=["c.kind = 'source'"],I=[];if(N.length>0){j.push(`(${N.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let E of N)I.push(E,`%${KY(E)}%`)}if(D.length>0){j.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let E of D)I.push(`%${KY(E)}%`)}return I.push(U),_.query(`SELECT + VALUES (?, ?, ?, ?, ?, ?)`,[`evt_${GY()}`,L,"info","provider_web_search_completed",JSON.stringify({sources:Y.length,filed_sources:R}),N]),y0(Q,{run_id:L,provider:W,model:S,input_tokens:P.input_tokens,output_tokens:P.output_tokens,cost_usd:P.cost_usd,metadata:{web_search:!0,sources:Y.length,filed_sources:R},created_at:N})}finally{Q.close()}if(Y.length===0)O.push("no_web_sources_returned");return{run_id:L,query:$,provider:W,model:S,answer:z,sources:Y,filed_sources:R,usage:P,warnings:O}}import{createHash as Bk,randomUUID as Vk}from"crypto";function VU(_,$){return`${_}_${Bk("sha256").update($).digest("hex").slice(0,20)}`}function j3(_){return _.normalize("NFKC").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)||"knowledge-page"}function Fk(_){return{year:String(_.getUTCFullYear()),month:String(_.getUTCMonth()+1).padStart(2,"0"),day:String(_.getUTCDate()).padStart(2,"0")}}function Kk(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function FY(_){if(!_)return{};try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function Mk(_){return Array.from(new Set((_??"").toLowerCase().match(/[\p{L}\p{N}_]+/gu)??[])).slice(0,12)}function KY(_){return _.replace(/[\\%_]/g,($)=>`\\${$}`)}function gk(_,$){let U=Math.max(1,Math.min($.limit??10,50)),N=$.sourceRefs??[],D=Mk($.query),j=["c.kind = 'source'"],I=[];if(N.length>0){j.push(`(${N.map(()=>"(s.uri = ? OR c.metadata_json LIKE ?)").join(" OR ")})`);for(let E of N)I.push(E,`%${KY(E)}%`)}if(D.length>0){j.push(`(${D.map(()=>"lower(c.text) LIKE ? ESCAPE '\\'").join(" OR ")})`);for(let E of D)I.push(`%${KY(E)}%`)}return I.push(U),_.query(`SELECT c.id AS chunk_id, c.text, c.start_offset, @@ -1044,7 +1044,7 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| LIMIT ?`).all(...I)}function MY(_,$=420){let U=_.replace(/\s+/g," ").trim();return U.length<=$?U:`${U.slice(0,$-1).trim()}...`}function Zk(_,$){if(_.title?.trim())return _.title.trim();if(_.query?.trim())return _.query.trim();return $[0]?.source_title??"Compiled Knowledge"}function Hk(_,$,U){let N=$.map((j,I)=>{return`- [${`S${I+1}`}] ${j.source_title??j.source_uri??"Source"} (${j.source_uri??"unknown"}, revision ${j.revision??"unknown"}, hash ${j.hash??"unknown"})`}),D=$.map((j,I)=>{let E=`S${I+1}`;return[`## ${j.source_title??`Source ${I+1}`}`,"",MY(j.text),"",`Citation: [${E}]`].join(` `)});return[`# ${_}`,"",`Generated at: ${U}`,"","## Sources","",...N,"",...D,""].join(` `)}async function Z2(_,$){let U=await _.put($);return{key:U.key,uri:U.uri,kind:$.key.startsWith("logs/")?"log":"wiki_page",content_type:$.content_type,modified_at:U.modified_at,...w0($.body),metadata:{...$.metadata??{}}}}async function gY(_,$,U){let{year:N,month:D,day:j}=Fk(U),I=`logs/${N}/${D}/${j}.jsonl`,E="";try{E=await _.getText(I)}catch{E=""}return Z2(_,{key:I,body:`${E}${JSON.stringify($)} -`,content_type:"application/x-ndjson",metadata:{provenance:O$({generated_from:String($.event??"wiki_log"),artifact_key:I})}})}function Iz(_,$){_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) +`,content_type:"application/x-ndjson",metadata:{provenance:O$({generated_from:String($.event??"wiki_log"),artifact_key:I})}})}function I3(_,$){_.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, @@ -1059,10 +1059,10 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[VU("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function qk(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function qY(_){let $=_.now??new Date,U=$.toISOString();c(_.dbPath);let N=v(_.dbPath),D;try{D=gk(N,_)}finally{N.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let j=Zk(_,D),E=`wiki/generated/${jz(j)}.md`,J=Hk(j,D,U),W=D.map((F)=>{let M=FY(F.metadata_json);return typeof M.source_ref==="string"?M.source_ref:F.source_uri}).filter((F)=>Boolean(F)),S=O$({generated_from:"wiki_compile",artifact_key:E,source_refs:W}),L=await Z2(_.store,{key:E,body:J,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),X=VU("wiki",E),z=D.map((F)=>({chunk_id:F.chunk_id,source_uri:F.source_uri??"unknown",quote:MY(F.text,240),start_offset:F.start_offset,end_offset:F.end_offset,metadata:{source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,source_ref:FY(F.metadata_json).source_ref??F.source_uri}})),Y=qk(j),P=`wiki/concepts/${jz(Y)}.md`,O=[`# ${Y}`,"",`Related page: [[${E}]]`,""].join(` -`),R=O$({generated_from:"wiki_compile_concept",artifact_key:P,source_refs:W}),Q=await Z2(_.store,{key:P,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),V=VU("wiki",P),G=await gY(_.store,{ts:U,event:"wiki_compile_completed",page_key:E,source_refs:W,chunks_seen:D.length},$),T=v(_.dbPath);try{R6(T,[L,Q,G],$),Iz(T,{pageId:X,path:E,title:j,artifactUri:L.uri,contentHash:L.hash??"",body:J,provenance:S,now:U}),Iz(T,{pageId:V,path:P,title:Y,artifactUri:Q.uri,contentHash:Q.hash??"",body:O,provenance:R,now:U}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) - VALUES (?, ?, ?, ?)`,[X,V,"concept",U]);let F=ZY(T,X,z,U),M=HY(T,{title:j,path:E,artifactUri:L.uri,contentHash:L.hash??"",now:U});return{page_id:X,path:E,artifact_uri:L.uri,content_hash:L.hash??"",chunks_seen:D.length,citations_written:F,concept_page_id:V,indexes_updated:M,log_key:G.key,warnings:[]}}finally{T.close()}}async function kY(_){if(!_.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let $=_.now??new Date,U=$.toISOString(),N=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,j=`wiki/answers/${jz(N)}.md`,I=_.context.citations,E=[`# ${N}`,"",_.answer,"","## Citations","",...I.map((Y,P)=>`- [C${P+1}] ${Y.source_ref??Y.source_uri??Y.artifact_path??Y.artifact_uri??"unknown"} ${Y.hash?`(hash ${Y.hash})`:""}`),""].join(` -`),J=I.map((Y)=>Y.source_ref??Y.source_uri).filter((Y)=>Boolean(Y)),W=O$({generated_from:"knowledge_answer",artifact_key:j,source_refs:J}),S=await Z2(_.store,{key:j,body:E,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),L=await gY(_.store,{ts:U,event:"wiki_answer_filed",page_key:j,prompt:_.prompt,citations:I.length},$),X=VU("wiki",j),z=v(_.dbPath);try{R6(z,[S,L],$),Iz(z,{pageId:X,path:j,title:N,artifactUri:S.uri,contentHash:S.hash??"",body:E,provenance:W,now:U});let Y=ZY(z,X,I.map((P)=>({chunk_id:P.chunk_id,source_uri:P.source_uri??P.artifact_uri??"unknown",quote:P.quote,start_offset:P.start_offset,end_offset:P.end_offset,metadata:{source_ref:P.source_ref,artifact_path:P.artifact_path,revision:P.revision,hash:P.hash}})),U);return HY(z,{title:N,path:j,artifactUri:S.uri,contentHash:S.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:X,path:j,artifact_uri:S.uri,citations_written:Y,log_key:L.key,message:`Filed answer to ${j}`}}finally{z.close()}}function j0(_,$){_.push($)}function bY(_){c(_.dbPath);let $=v(_.dbPath),U=[];try{let N=$.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,j=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,I=$.query(`SELECT wp.id, wp.path + updated_at = excluded.updated_at`,[VU("idx",`wiki-topic\x00${$.path}`),"wiki_topic",$.title,$.artifactUri,$.path,JSON.stringify({artifact_key:$.path,content_hash:$.contentHash}),$.now,$.now]),1}function qk(_){return _.toLowerCase().match(/[a-z0-9][a-z0-9-]{2,}/)?.[0]??"knowledge"}async function qY(_){let $=_.now??new Date,U=$.toISOString();c(_.dbPath);let N=v(_.dbPath),D;try{D=gk(N,_)}finally{N.close()}if(D.length===0)throw Error("No source chunks matched wiki compile input.");let j=Zk(_,D),E=`wiki/generated/${j3(j)}.md`,J=Hk(j,D,U),W=D.map((F)=>{let M=FY(F.metadata_json);return typeof M.source_ref==="string"?M.source_ref:F.source_uri}).filter((F)=>Boolean(F)),S=O$({generated_from:"wiki_compile",artifact_key:E,source_refs:W}),L=await Z2(_.store,{key:E,body:J,content_type:"text/markdown",metadata:{generated_from:"wiki_compile"}}),X=VU("wiki",E),z=D.map((F)=>({chunk_id:F.chunk_id,source_uri:F.source_uri??"unknown",quote:MY(F.text,240),start_offset:F.start_offset,end_offset:F.end_offset,metadata:{source_revision_id:F.source_revision_id,revision:F.revision,hash:F.hash,source_ref:FY(F.metadata_json).source_ref??F.source_uri}})),Y=qk(j),P=`wiki/concepts/${j3(Y)}.md`,O=[`# ${Y}`,"",`Related page: [[${E}]]`,""].join(` +`),R=O$({generated_from:"wiki_compile_concept",artifact_key:P,source_refs:W}),Q=await Z2(_.store,{key:P,body:O,content_type:"text/markdown",metadata:{generated_from:"wiki_compile_concept"}}),V=VU("wiki",P),G=await gY(_.store,{ts:U,event:"wiki_compile_completed",page_key:E,source_refs:W,chunks_seen:D.length},$),T=v(_.dbPath);try{R6(T,[L,Q,G],$),I3(T,{pageId:X,path:E,title:j,artifactUri:L.uri,contentHash:L.hash??"",body:J,provenance:S,now:U}),I3(T,{pageId:V,path:P,title:Y,artifactUri:Q.uri,contentHash:Q.hash??"",body:O,provenance:R,now:U}),T.run(`INSERT OR REPLACE INTO wiki_backlinks (from_page_id, to_page_id, label, created_at) + VALUES (?, ?, ?, ?)`,[X,V,"concept",U]);let F=ZY(T,X,z,U),M=HY(T,{title:j,path:E,artifactUri:L.uri,contentHash:L.hash??"",now:U});return{page_id:X,path:E,artifact_uri:L.uri,content_hash:L.hash??"",chunks_seen:D.length,citations_written:F,concept_page_id:V,indexes_updated:M,log_key:G.key,warnings:[]}}finally{T.close()}}async function kY(_){if(!_.approveWrite)return{approved:!1,durable_writes_performed:!1,page_id:null,path:null,artifact_uri:null,citations_written:0,log_key:null,message:"Dry-run: answer filing requires --approve-write."};let $=_.now??new Date,U=$.toISOString(),N=_.prompt.length>80?`${_.prompt.slice(0,77)}...`:_.prompt,j=`wiki/answers/${j3(N)}.md`,I=_.context.citations,E=[`# ${N}`,"",_.answer,"","## Citations","",...I.map((Y,P)=>`- [C${P+1}] ${Y.source_ref??Y.source_uri??Y.artifact_path??Y.artifact_uri??"unknown"} ${Y.hash?`(hash ${Y.hash})`:""}`),""].join(` +`),J=I.map((Y)=>Y.source_ref??Y.source_uri).filter((Y)=>Boolean(Y)),W=O$({generated_from:"knowledge_answer",artifact_key:j,source_refs:J}),S=await Z2(_.store,{key:j,body:E,content_type:"text/markdown",metadata:{generated_from:"knowledge_answer"}}),L=await gY(_.store,{ts:U,event:"wiki_answer_filed",page_key:j,prompt:_.prompt,citations:I.length},$),X=VU("wiki",j),z=v(_.dbPath);try{R6(z,[S,L],$),I3(z,{pageId:X,path:j,title:N,artifactUri:S.uri,contentHash:S.hash??"",body:E,provenance:W,now:U});let Y=ZY(z,X,I.map((P)=>({chunk_id:P.chunk_id,source_uri:P.source_uri??P.artifact_uri??"unknown",quote:P.quote,start_offset:P.start_offset,end_offset:P.end_offset,metadata:{source_ref:P.source_ref,artifact_path:P.artifact_path,revision:P.revision,hash:P.hash}})),U);return HY(z,{title:N,path:j,artifactUri:S.uri,contentHash:S.hash??"",now:U}),{approved:!0,durable_writes_performed:!0,page_id:X,path:j,artifact_uri:S.uri,citations_written:Y,log_key:L.key,message:`Filed answer to ${j}`}}finally{z.close()}}function j0(_,$){_.push($)}function bY(_){c(_.dbPath);let $=v(_.dbPath),U=[];try{let N=$.query("SELECT COUNT(*) AS n FROM wiki_pages WHERE status = 'active'").get()?.n??0,D=$.query("SELECT COUNT(*) AS n FROM citations").get()?.n??0,j=$.query("SELECT COUNT(*) AS n FROM wiki_backlinks").get()?.n??0,I=$.query(`SELECT wp.id, wp.path FROM wiki_pages wp LEFT JOIN citations c ON c.wiki_page_id = wp.id WHERE wp.status = 'active' AND wp.path LIKE 'wiki/generated/%' @@ -1094,7 +1094,7 @@ ${_.content.slice(0,500)}`.toLowerCase();return/\b(agent|rule|rules|instruction| WHERE c.kind = 'source' GROUP BY c.id HAVING COUNT(cit.id) = 0 - LIMIT 25`).all();for(let z of X)j0(U,{type:"new_article_candidate",severity:"info",chunk_id:z.chunk_id,source_uri:z.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((z)=>z.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:N,citations:D,backlinks:j,new_article_candidates:X.length}}}finally{$.close()}}import{createHash as kk}from"crypto";function bk(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),N=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:N}}function Ez(_,$){return`${_}_${kk("sha256").update($).digest("hex").slice(0,20)}`}function Ck(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function wk(){return`# Knowledge Agent Schema v1 + LIMIT 25`).all();for(let z of X)j0(U,{type:"new_article_candidate",severity:"info",chunk_id:z.chunk_id,source_uri:z.source_uri??void 0,message:"Source chunk is indexed but not cited by any wiki page yet."});return{ok:U.every((z)=>z.severity!=="error"),issue_count:U.length,issues:U,counts:{active_pages:N,citations:D,backlinks:j,new_article_candidates:X.length}}}finally{$.close()}}import{createHash as kk}from"crypto";function bk(_){let $=String(_.getUTCFullYear()),U=String(_.getUTCMonth()+1).padStart(2,"0"),N=String(_.getUTCDate()).padStart(2,"0");return{year:$,month:U,day:N}}function E3(_,$){return`${_}_${kk("sha256").update($).digest("hex").slice(0,20)}`}function Ck(_){let $=_.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil($*1.25))}function wk(){return`# Knowledge Agent Schema v1 ## Source Rules @@ -1140,13 +1140,13 @@ Generated durable knowledge pages live here. Pages should be concise, cited, and organized for both humans and agents. `}async function wY(_,$=new Date){let{year:U,month:N,day:D}=bk($),j="schemas/v1.md",I="indexes/root.md",E="wiki/README.md",J=`logs/${U}/${N}/${D}.jsonl`,W={ts:$.toISOString(),event:"wiki_layout_initialized",schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md"},S=[{key:"schemas/v1.md",body:wk(),content_type:"text/markdown"},{key:"indexes/root.md",body:vk(),content_type:"text/markdown"},{key:"wiki/README.md",body:CY(),content_type:"text/markdown"},{key:J,body:`${JSON.stringify(W)} -`,content_type:"application/x-ndjson"}],L=await Promise.all(S.map(async(X)=>{let z=await _.put(X);return{key:z.key,uri:z.uri,kind:cX(X.key),content_type:X.content_type,modified_at:z.modified_at,metadata:{provenance:O$({generated_from:"wiki_layout_init",artifact_key:X.key,citation_required:X.key.startsWith("wiki/")||X.key.startsWith("indexes/")})},...w0(X.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:J,artifacts:L,written:["schemas/v1.md","indexes/root.md","wiki/README.md",J]}}function Az(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return O$({generated_from:"wiki_layout_init",artifact_key:_.key})}function fk(_,$,U,N,D,j){let I=Az(N),E=Ez("chk",`${$}\x00${N.hash??N.uri}`),J=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let W of J)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.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) +`,content_type:"application/x-ndjson"}],L=await Promise.all(S.map(async(X)=>{let z=await _.put(X);return{key:z.key,uri:z.uri,kind:cX(X.key),content_type:X.content_type,modified_at:z.modified_at,metadata:{provenance:O$({generated_from:"wiki_layout_init",artifact_key:X.key,citation_required:X.key.startsWith("wiki/")||X.key.startsWith("indexes/")})},...w0(X.body)}}));return{schema_key:"schemas/v1.md",root_index_key:"indexes/root.md",wiki_readme_key:"wiki/README.md",log_key:J,artifacts:L,written:["schemas/v1.md","indexes/root.md","wiki/README.md",J]}}function A3(_){let $=_.metadata?.provenance;if($&&typeof $==="object"&&!Array.isArray($))return $;return O$({generated_from:"wiki_layout_init",artifact_key:_.key})}function fk(_,$,U,N,D,j){let I=A3(N),E=E3("chk",`${$}\x00${N.hash??N.uri}`),J=_.query("SELECT id FROM chunks WHERE wiki_page_id = ?").all($);for(let W of J)_.run("DELETE FROM chunks_fts WHERE chunk_id = ?",[W.id]);_.run("DELETE FROM chunks WHERE wiki_page_id = ?",[$]),_.run(`INSERT INTO chunks (id, wiki_page_id, kind, ordinal, text, token_count, start_offset, end_offset, metadata_json, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[E,$,"wiki",0,D,Ck(D),0,D.length,JSON.stringify({artifact_key:N.key,artifact_uri:N.uri,content_hash:N.hash??null,provenance:I}),j]),_.run("INSERT INTO chunks_fts (chunk_id, text, title, source_uri) VALUES (?, ?, ?, ?)",[E,D,U,N.uri])}function vY(_,$,U=new Date){let N=U.toISOString(),D=$.find((I)=>I.key.endsWith("indexes/root.md")),j=$.find((I)=>I.key.endsWith("wiki/README.md"));if(D)_.run(`INSERT INTO knowledge_indexes (id, kind, name, artifact_uri, shard_key, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(kind, name, shard_key) DO UPDATE SET artifact_uri = excluded.artifact_uri, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[Ez("idx","root:indexes/root.md"),"root","root",D.uri,"root",JSON.stringify({artifact_key:D.key,content_hash:D.hash??null,provenance:Az(D)}),N,N]);if(j){let I=Ez("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) + updated_at = excluded.updated_at`,[E3("idx","root:indexes/root.md"),"root","root",D.uri,"root",JSON.stringify({artifact_key:D.key,content_hash:D.hash??null,provenance:A3(D)}),N,N]);if(j){let I=E3("wiki","wiki/README.md");_.run(`INSERT INTO wiki_pages (id, path, title, artifact_uri, content_hash, status, metadata_json, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON CONFLICT(path) DO UPDATE SET title = excluded.title, @@ -1154,9 +1154,9 @@ Pages should be concise, cited, and organized for both humans and agents. content_hash = excluded.content_hash, status = excluded.status, metadata_json = excluded.metadata_json, - updated_at = excluded.updated_at`,[I,"wiki/README.md","Wiki",j.uri,j.hash??null,"active",JSON.stringify({artifact_key:j.key,provenance:Az(j)}),N,N]),fk(_,I,"Wiki",j,CY(),N)}}import{createHash as fY}from"crypto";import{cpSync as zz,chmodSync as Wz,existsSync as u$,lstatSync as rY,mkdirSync as H2,readdirSync as Xz,readFileSync as x1,renameSync as xk,rmSync as k2,writeFileSync as xY}from"fs";import{dirname as Sz,join as q6,relative as yk}from"path";function Lz(_,$=_){if(!u$(_))return[];let U=rY(_);if(U.isFile())return[yk($,_)||"."];if(!U.isDirectory())return[];return Xz(_).flatMap((N)=>Lz(q6(_,N),$)).sort()}function yY(_,$){if($.length===0)return{sha256:null,bytes:0};let U=fY("sha256"),N=0;for(let D of $){let j=q6(_,D),I=x1(j),E=fY("sha256").update(I).digest("hex");N+=I.byteLength,U.update(D),U.update("\x00"),U.update(E),U.update("\x00")}return{sha256:U.digest("hex"),bytes:N}}function uk(_){if(!u$(_))return null;let $=JSON.parse(x1(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function hk(_){if(!u$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=ZX(_);try{let U=$.query("PRAGMA integrity_check").get(),N=U?Object.values(U)[0]??null:null,D=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),j={};for(let I of D){let E=`"${I.name.replaceAll('"','""')}"`,J=$.query(`SELECT COUNT(*) AS n FROM ${E}`).get();j[I.name]=J?.n??0}return{exists:!0,integrity_check:N,table_counts:j}}finally{$.close()}}function a_(_,$={}){let U=Lz(_.home),N=yY(_.home,U),D=Lz(_.artifactsDir),j=yY(_.artifactsDir,D),I=u$(_.knowledgeDbPath);return{path:_.home,exists:u$(_.home),file_count:U.length,total_bytes:N.bytes,tree_sha256:N.sha256,json_items:uk(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:I,integrity_check:null,table_counts:{}}:hk(_.knowledgeDbPath),artifacts:{exists:u$(_.artifactsDir),file_count:D.length,total_bytes:j.bytes,tree_sha256:j.sha256},files:U}}function rk(_,$){if(!$.exists)return!0;if($.files.filter((N)=>N!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(x1(_.configPath,"utf8")))===JSON.stringify($D())}catch{return!1}}function Pz(_,$){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 q2(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function Oz(_){if(Array.isArray(_))return`[${_.map(Oz).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${Oz(U)}`).join(",")}}`;return JSON.stringify(_)}function uY(_){return Oz(_)}function Jz(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function I0(_){if(!u$(_))return{items:[]};let $=JSON.parse(x1(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function hY(_,$){let U=new Map(_.items.map((S)=>[S.id,S])),N=new Map;for(let S of _.items){let L=N.get(S.id);if(L&&L.item.id!==S.id);N.set(S.id,{item:S,keyKind:"id",source:"current"});let X=Jz(S);if(X&&!N.has(X))N.set(X,{item:S,keyKind:"short_id",source:"current"})}let D=[],j=0,I=0,E=0,J=[];for(let S of $.items){let L=U.get(S.id);if(L){if(uY(L)===uY(S))j+=1;else I+=1,D.push({type:"id_conflict",id:S.id,legacy_title:S.title,current_title:L.title});continue}let X=[{key:S.id,keyKind:"id"},...Jz(S)?[{key:Jz(S),keyKind:"short_id"}]:[]],z=!1;for(let{key:Y,keyKind:P}of X){let O=N.get(Y);if(!O)continue;if(P==="id"&&O.keyKind==="id")I+=1,D.push({type:"id_conflict",id:Y,legacy_id:S.id,current_id:O.item.id,legacy_title:S.title,current_title:O.item.title});else E+=1,D.push({type:"short_id_conflict",id:Y,legacy_id:S.id,current_id:O.item.id,legacy_title:S.title,current_title:O.item.title});z=!0}if(z)continue;J.push(S);for(let{key:Y,keyKind:P}of X)N.set(Y,{item:S,keyKind:P,source:"legacy"})}let W={items:[..._.items,...J]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:j,duplicate_ids_conflicting:I,short_id_conflicts:E,stranded_items:J.length,merged_items:D.length===0?J.length:0,expected_total_items:_.items.length+J.length,final_items:null},conflicts:D,mergedStore:W}}function ck(_,$){let U=[...new Set(_)].sort(),N=(D)=>{if(D>=U.length)return $();return o$(U[D],()=>N(D+1),{createParent:!0})};return N(0)}function cY(_){let $=_.now??new Date,U=_.approveWrite!==!0,N=a_(_.legacy),D=a_(_.current),j={legacy_exists:N.exists,legacy_store_exists:u$(_.legacy.jsonStorePath),current_store_exists:u$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},I=[];if(!N.exists||!j.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:N,current_before:D,backup_after:null,current_after:D,merge:{current_items:I0(_.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:I0(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...j,no_conflicts:!0,final_count_matches_expected:!0},warnings:I,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let E=I0(_.current.jsonStorePath),J=I0(_.legacy.jsonStorePath),W=hY(E,J);if(j.no_conflicts=W.conflicts.length===0,W.conflicts.length>0)I.push("merge_conflicts_detected");if(!j.approval_present)I.push("write_approval_required");if(U||!j.approval_present||W.conflicts.length>0)return{ok:W.conflicts.length===0,dry_run:!0,approval_required:!j.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${q2($)}`,legacy_before:N,current_before:D,backup_after:null,current_after:null,merge:W.stats,conflicts:W.conflicts,checks:j,warnings:I,message:W.conflicts.length===0?`Dry run: would merge ${W.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${W.conflicts.length} conflict(s)`};return ck([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let S=I0(_.current.jsonStorePath),L=I0(_.legacy.jsonStorePath),X=hY(S,L);if(j.no_conflicts=X.conflicts.length===0,X.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:null,merge:X.stats,conflicts:X.conflicts,checks:j,warnings:[...I,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${X.conflicts.length} conflict(s)`};if(X.stats.stranded_items===0)return X.stats.final_items=S.items.length,j.final_count_matches_expected=S.items.length===X.stats.expected_total_items,{ok:j.no_conflicts&&j.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:a_(_.current),merge:X.stats,conflicts:[],checks:j,warnings:I,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let z=`${_.legacy.home}.merge-backup-${q2($)}`;H2(Sz(z),{recursive:!0}),zz(_.legacy.home,z,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let Y=P$(z),P=a_(Y);if(j.legacy_backup_written=Pz(a_(_.legacy),P),!j.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${z}`);S6(_.current.jsonStorePath,X.mergedStore);let O=I0(_.current.jsonStorePath);X.stats.final_items=O.items.length,j.final_count_matches_expected=O.items.length===X.stats.expected_total_items;let R=a_(_.current),Q=j.legacy_backup_written&&j.no_conflicts&&j.final_count_matches_expected;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:z,legacy_before:N,current_before:D,backup_after:P,current_after:R,merge:X.stats,conflicts:[],checks:j,warnings:I,message:Q?`Merged ${X.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function mk(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function Rz(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function nk(_){let $;for(let U=0;U<8;U+=1)try{k2(_,{recursive:!0,force:!1});return}catch(N){if($=N,!Rz(N))throw N;mk(50*(U+1))}throw $}function mY(_){if(!u$(_))return;let $=rY(_);if(Wz(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of Xz(_))mY(q6(_,U))}function dk(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function lk(_){for(let $ of Xz(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{k2(q6(_,$),{recursive:!0,force:!1})}catch(U){if(!Rz(U)||!$.startsWith("knowledge.db"))throw U}}}function ik(_,$){try{xk(_,$);return}catch(U){zz(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{nk(_)}catch(N){if(Rz(N)){lk(_);return}throw k2($,{recursive:!0,force:!0}),N}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function tk(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((N)=>!dk(N)))return!1;try{let N=JSON.parse(x1(q6(_.home,"migration.json"),"utf8"));return N.new_path===U&&typeof N.backup_path==="string"}catch{return!1}}function nY(_){let $=_.now??new Date,U=_.approveWrite!==!0,N=a_(_.current),D=rk(_.current,N),j=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!N.exists||D),I=a_(_.legacy,{includeSqlite:!j}),E={legacy_exists:I.exists,current_absent_or_default_scaffold:!N.exists||D,approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},J=[];if(!I.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:null,legacy_before:I,current_before:N,backup_after:null,current_after:null,checks:E,warnings:J,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(E.legacy_is_tombstone=tk(_.legacy,I,_.current.home),E.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:q6(_.legacy.home,"TOMBSTONE.md"),legacy_before:I,current_before:N,backup_after:null,current_after:N,checks:{...E,tombstone_written:!0},warnings:J,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!E.current_absent_or_default_scaffold)J.push("current_workspace_contains_data");if(!E.approval_present)J.push("write_approval_required");if(U||!E.current_absent_or_default_scaffold||!E.approval_present)return{ok:E.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.backup-${q2($)}`,tombstone_path:q6(_.legacy.home,"TOMBSTONE.md"),legacy_before:I,current_before:N,backup_after:null,current_after:null,checks:E,warnings:J,message:E.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let W=`${_.legacy.home}.backup-${q2($)}`;H2(Sz(_.current.home),{recursive:!0}),H2(Sz(W),{recursive:!0}),zz(_.legacy.home,W,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),mY(W);let S=P$(W),L=a_(S,{includeSqlite:!1});if(E.backup_matches_legacy=Pz(I,L),!E.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${W}`);if(N.exists&&D)k2(_.current.home,{recursive:!0,force:!0});ik(_.legacy.home,_.current.home);let X=a_(_.current,{includeSqlite:!1});E.migrated_matches_backup=Pz(L,X);let z=a_(S),Y=a_(_.current),P={...z,path:_.legacy.home};H2(_.legacy.home,{recursive:!0});let O=q6(_.legacy.home,"TOMBSTONE.md");xY(O,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${W}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` -`),{mode:384}),Wz(O,384);let R=q6(_.legacy.home,"migration.json");xY(R,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:W,legacy_before:P,backup_after:z,current_after:Y},null,2)} -`,{mode:384}),Wz(R,384),E.tombstone_written=u$(O);let Q=E.backup_matches_legacy&&E.migrated_matches_backup&&E.tombstone_written;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:W,tombstone_path:O,legacy_before:P,current_before:N,backup_after:z,current_after:Y,checks:E,warnings:J,message:Q?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}import{createHash as iY}from"crypto";var h$="knowledge.project-registration.v1",w2="knowledge.project-resources.v1",ok=1,E0="explicit_collection_binding",pk=1;class i extends Error{code;details;constructor(_,$,U={}){super($);this.code=_;this.details=U;this.name="KnowledgeProjectLinksError"}}class tY{db;kind="sqlite";tail=Promise.resolve();closed=!1;constructor(_){this.db=_}async close(){if(await this.tail,this.closed)return;this.closed=!0,this.db.close()}async get(_,$=[]){return this.db.query(_).get(...$)??null}async many(_,$=[]){return this.db.query(_).all(...$)}async run(_,$=[]){let U=this.db.query(_).run(...$);return{changes:Number(U.changes)}}async lock(_){}transaction(_){let $=this.tail.then(async()=>{this.db.exec("BEGIN IMMEDIATE");try{let U=await _(this);return this.db.exec("COMMIT"),U}catch(U){throw this.db.exec("ROLLBACK"),U}});return this.tail=$.then(()=>{return},()=>{return}),$}}function ak(){return` + updated_at = excluded.updated_at`,[I,"wiki/README.md","Wiki",j.uri,j.hash??null,"active",JSON.stringify({artifact_key:j.key,provenance:A3(j)}),N,N]),fk(_,I,"Wiki",j,CY(),N)}}import{createHash as fY}from"crypto";import{cpSync as z3,chmodSync as W3,existsSync as u$,lstatSync as rY,mkdirSync as H2,readdirSync as X3,readFileSync as x1,renameSync as xk,rmSync as k2,writeFileSync as xY}from"fs";import{dirname as S3,join as q6,relative as yk}from"path";function L3(_,$=_){if(!u$(_))return[];let U=rY(_);if(U.isFile())return[yk($,_)||"."];if(!U.isDirectory())return[];return X3(_).flatMap((N)=>L3(q6(_,N),$)).sort()}function yY(_,$){if($.length===0)return{sha256:null,bytes:0};let U=fY("sha256"),N=0;for(let D of $){let j=q6(_,D),I=x1(j),E=fY("sha256").update(I).digest("hex");N+=I.byteLength,U.update(D),U.update("\x00"),U.update(E),U.update("\x00")}return{sha256:U.digest("hex"),bytes:N}}function uk(_){if(!u$(_))return null;let $=JSON.parse(x1(_,"utf8"));return Array.isArray($.items)?$.items.length:null}function hk(_){if(!u$(_))return{exists:!1,integrity_check:null,table_counts:{}};let $=ZX(_);try{let U=$.query("PRAGMA integrity_check").get(),N=U?Object.values(U)[0]??null:null,D=$.query("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all(),j={};for(let I of D){let E=`"${I.name.replaceAll('"','""')}"`,J=$.query(`SELECT COUNT(*) AS n FROM ${E}`).get();j[I.name]=J?.n??0}return{exists:!0,integrity_check:N,table_counts:j}}finally{$.close()}}function a_(_,$={}){let U=L3(_.home),N=yY(_.home,U),D=L3(_.artifactsDir),j=yY(_.artifactsDir,D),I=u$(_.knowledgeDbPath);return{path:_.home,exists:u$(_.home),file_count:U.length,total_bytes:N.bytes,tree_sha256:N.sha256,json_items:uk(_.jsonStorePath),sqlite:$.includeSqlite===!1?{exists:I,integrity_check:null,table_counts:{}}:hk(_.knowledgeDbPath),artifacts:{exists:u$(_.artifactsDir),file_count:D.length,total_bytes:j.bytes,tree_sha256:j.sha256},files:U}}function rk(_,$){if(!$.exists)return!0;if($.files.filter((N)=>N!=="config.json").length>0)return!1;if(!$.files.includes("config.json"))return!0;try{return JSON.stringify(JSON.parse(x1(_.configPath,"utf8")))===JSON.stringify($D())}catch{return!1}}function P3(_,$){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 q2(_){return _.toISOString().replace(/[-:]/g,"").replace(/\.\d{3}Z$/,"Z")}function O3(_){if(Array.isArray(_))return`[${_.map(O3).join(",")}]`;if(_&&typeof _==="object")return`{${Object.entries(_).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>`${JSON.stringify($)}:${O3(U)}`).join(",")}}`;return JSON.stringify(_)}function uY(_){return O3(_)}function J3(_){return typeof _.short_id==="string"&&_.short_id.trim().length>0?_.short_id:null}function I0(_){if(!u$(_))return{items:[]};let $=JSON.parse(x1(_,"utf8"));if(!$||!Array.isArray($.items))throw Error(`Invalid knowledge JSON store shape at ${_}`);return{items:$.items}}function hY(_,$){let U=new Map(_.items.map((S)=>[S.id,S])),N=new Map;for(let S of _.items){let L=N.get(S.id);if(L&&L.item.id!==S.id);N.set(S.id,{item:S,keyKind:"id",source:"current"});let X=J3(S);if(X&&!N.has(X))N.set(X,{item:S,keyKind:"short_id",source:"current"})}let D=[],j=0,I=0,E=0,J=[];for(let S of $.items){let L=U.get(S.id);if(L){if(uY(L)===uY(S))j+=1;else I+=1,D.push({type:"id_conflict",id:S.id,legacy_title:S.title,current_title:L.title});continue}let X=[{key:S.id,keyKind:"id"},...J3(S)?[{key:J3(S),keyKind:"short_id"}]:[]],z=!1;for(let{key:Y,keyKind:P}of X){let O=N.get(Y);if(!O)continue;if(P==="id"&&O.keyKind==="id")I+=1,D.push({type:"id_conflict",id:Y,legacy_id:S.id,current_id:O.item.id,legacy_title:S.title,current_title:O.item.title});else E+=1,D.push({type:"short_id_conflict",id:Y,legacy_id:S.id,current_id:O.item.id,legacy_title:S.title,current_title:O.item.title});z=!0}if(z)continue;J.push(S);for(let{key:Y,keyKind:P}of X)N.set(Y,{item:S,keyKind:P,source:"legacy"})}let W={items:[..._.items,...J]};return{stats:{current_items:_.items.length,legacy_items:$.items.length,duplicate_ids_identical:j,duplicate_ids_conflicting:I,short_id_conflicts:E,stranded_items:J.length,merged_items:D.length===0?J.length:0,expected_total_items:_.items.length+J.length,final_items:null},conflicts:D,mergedStore:W}}function ck(_,$){let U=[...new Set(_)].sort(),N=(D)=>{if(D>=U.length)return $();return o$(U[D],()=>N(D+1),{createParent:!0})};return N(0)}function cY(_){let $=_.now??new Date,U=_.approveWrite!==!0,N=a_(_.legacy),D=a_(_.current),j={legacy_exists:N.exists,legacy_store_exists:u$(_.legacy.jsonStorePath),current_store_exists:u$(_.current.jsonStorePath),approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_backup_written:!1,no_conflicts:!1,final_count_matches_expected:!1},I=[];if(!N.exists||!j.legacy_store_exists)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:N,current_before:D,backup_after:null,current_after:D,merge:{current_items:I0(_.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:I0(_.current.jsonStorePath).items.length,final_items:D.json_items},conflicts:[],checks:{...j,no_conflicts:!0,final_count_matches_expected:!0},warnings:I,message:`No legacy knowledge JSON store found at ${_.legacy.jsonStorePath}`};let E=I0(_.current.jsonStorePath),J=I0(_.legacy.jsonStorePath),W=hY(E,J);if(j.no_conflicts=W.conflicts.length===0,W.conflicts.length>0)I.push("merge_conflicts_detected");if(!j.approval_present)I.push("write_approval_required");if(U||!j.approval_present||W.conflicts.length>0)return{ok:W.conflicts.length===0,dry_run:!0,approval_required:!j.approval_present,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.merge-backup-${q2($)}`,legacy_before:N,current_before:D,backup_after:null,current_after:null,merge:W.stats,conflicts:W.conflicts,checks:j,warnings:I,message:W.conflicts.length===0?`Dry run: would merge ${W.stats.stranded_items} legacy item(s) into ${_.current.jsonStorePath}`:`Refusing legacy merge with ${W.conflicts.length} conflict(s)`};return ck([_.current.jsonStorePath,_.legacy.jsonStorePath],()=>{let S=I0(_.current.jsonStorePath),L=I0(_.legacy.jsonStorePath),X=hY(S,L);if(j.no_conflicts=X.conflicts.length===0,X.conflicts.length>0)return{ok:!1,dry_run:!0,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:null,merge:X.stats,conflicts:X.conflicts,checks:j,warnings:[...I,"merge_conflicts_detected_after_lock"],message:`Refusing legacy merge with ${X.conflicts.length} conflict(s)`};if(X.stats.stranded_items===0)return X.stats.final_items=S.items.length,j.final_count_matches_expected=S.items.length===X.stats.expected_total_items,{ok:j.no_conflicts&&j.final_count_matches_expected,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,legacy_before:a_(_.legacy),current_before:a_(_.current),backup_after:null,current_after:a_(_.current),merge:X.stats,conflicts:[],checks:j,warnings:I,message:`Legacy merge already up to date for ${_.current.jsonStorePath}`};let z=`${_.legacy.home}.merge-backup-${q2($)}`;H2(S3(z),{recursive:!0}),z3(_.legacy.home,z,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});let Y=P$(z),P=a_(Y);if(j.legacy_backup_written=P3(a_(_.legacy),P),!j.legacy_backup_written)throw Error(`Legacy knowledge merge backup verification failed: ${z}`);S6(_.current.jsonStorePath,X.mergedStore);let O=I0(_.current.jsonStorePath);X.stats.final_items=O.items.length,j.final_count_matches_expected=O.items.length===X.stats.expected_total_items;let R=a_(_.current),Q=j.legacy_backup_written&&j.no_conflicts&&j.final_count_matches_expected;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:z,legacy_before:N,current_before:D,backup_after:P,current_after:R,merge:X.stats,conflicts:[],checks:j,warnings:I,message:Q?`Merged ${X.stats.merged_items} legacy item(s) into ${_.current.jsonStorePath}`:`Merged legacy knowledge store, but verification failed for ${_.current.jsonStorePath}`}})}function mk(_){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,_)}function R3(_){return _ instanceof Error&&/\b(EBUSY|EPERM)\b/.test(_.message)}function nk(_){let $;for(let U=0;U<8;U+=1)try{k2(_,{recursive:!0,force:!1});return}catch(N){if($=N,!R3(N))throw N;mk(50*(U+1))}throw $}function mY(_){if(!u$(_))return;let $=rY(_);if(W3(_,$.isDirectory()?448:384),!$.isDirectory())return;for(let U of X3(_))mY(q6(_,U))}function dk(_){return _==="TOMBSTONE.md"||_==="migration.json"||_==="knowledge.db"||_==="knowledge.db-shm"||_==="knowledge.db-wal"||_==="knowledge.db-journal"}function lk(_){for(let $ of X3(_)){if($==="TOMBSTONE.md"||$==="migration.json")continue;try{k2(q6(_,$),{recursive:!0,force:!1})}catch(U){if(!R3(U)||!$.startsWith("knowledge.db"))throw U}}}function ik(_,$){try{xk(_,$);return}catch(U){z3(_,$,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0});try{nk(_)}catch(N){if(R3(N)){lk(_);return}throw k2($,{recursive:!0,force:!0}),N}if(U instanceof Error&&U.message.includes("EXDEV"))return}}function tk(_,$,U){if(!$.exists)return!1;if(!$.files.includes("TOMBSTONE.md")||!$.files.includes("migration.json"))return!1;if($.files.some((N)=>!dk(N)))return!1;try{let N=JSON.parse(x1(q6(_.home,"migration.json"),"utf8"));return N.new_path===U&&typeof N.backup_path==="string"}catch{return!1}}function nY(_){let $=_.now??new Date,U=_.approveWrite!==!0,N=a_(_.current),D=rk(_.current,N),j=_.approveWrite===!0&&Boolean(_.approvedBy)&&(!N.exists||D),I=a_(_.legacy,{includeSqlite:!j}),E={legacy_exists:I.exists,current_absent_or_default_scaffold:!N.exists||D,approval_present:_.approveWrite===!0&&Boolean(_.approvedBy),legacy_is_tombstone:!1,backup_matches_legacy:!1,migrated_matches_backup:!1,tombstone_written:!1},J=[];if(!I.exists)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:null,legacy_before:I,current_before:N,backup_after:null,current_after:null,checks:E,warnings:J,message:`No legacy knowledge workspace found at ${_.legacy.home}`};if(E.legacy_is_tombstone=tk(_.legacy,I,_.current.home),E.legacy_is_tombstone)return{ok:!0,dry_run:U,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:null,tombstone_path:q6(_.legacy.home,"TOMBSTONE.md"),legacy_before:I,current_before:N,backup_after:null,current_after:N,checks:{...E,tombstone_written:!0},warnings:J,message:`Legacy knowledge workspace already migrated to ${_.current.home}`};if(!E.current_absent_or_default_scaffold)J.push("current_workspace_contains_data");if(!E.approval_present)J.push("write_approval_required");if(U||!E.current_absent_or_default_scaffold||!E.approval_present)return{ok:E.current_absent_or_default_scaffold,dry_run:!0,approval_required:!0,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:`${_.legacy.home}.backup-${q2($)}`,tombstone_path:q6(_.legacy.home,"TOMBSTONE.md"),legacy_before:I,current_before:N,backup_after:null,current_after:null,checks:E,warnings:J,message:E.current_absent_or_default_scaffold?`Dry run: would migrate ${_.legacy.home} to ${_.current.home}`:`Cannot migrate while ${_.current.home} contains data`};let W=`${_.legacy.home}.backup-${q2($)}`;H2(S3(_.current.home),{recursive:!0}),H2(S3(W),{recursive:!0}),z3(_.legacy.home,W,{recursive:!0,force:!1,errorOnExist:!0,preserveTimestamps:!0}),mY(W);let S=P$(W),L=a_(S,{includeSqlite:!1});if(E.backup_matches_legacy=P3(I,L),!E.backup_matches_legacy)throw Error(`Legacy knowledge backup verification failed: ${W}`);if(N.exists&&D)k2(_.current.home,{recursive:!0,force:!0});ik(_.legacy.home,_.current.home);let X=a_(_.current,{includeSqlite:!1});E.migrated_matches_backup=P3(L,X);let z=a_(S),Y=a_(_.current),P={...z,path:_.legacy.home};H2(_.legacy.home,{recursive:!0});let O=q6(_.legacy.home,"TOMBSTONE.md");xY(O,["# Migrated OpenKnowledge Workspace","",`Migrated at: ${$.toISOString()}`,`Approved by: ${_.approvedBy}`,`New path: ${_.current.home}`,`Backup path: ${W}`,"","This directory is a diagnostic tombstone only. OpenKnowledge reads and writes the canonical .hasna/knowledge workspace.",""].join(` +`),{mode:384}),W3(O,384);let R=q6(_.legacy.home,"migration.json");xY(R,`${JSON.stringify({migrated_at:$.toISOString(),approved_by:_.approvedBy,new_path:_.current.home,backup_path:W,legacy_before:P,backup_after:z,current_after:Y},null,2)} +`,{mode:384}),W3(R,384),E.tombstone_written=u$(O);let Q=E.backup_matches_legacy&&E.migrated_matches_backup&&E.tombstone_written;return{ok:Q,dry_run:!1,approval_required:!1,scope:_.scope,current_home:_.current.home,legacy_home:_.legacy.home,backup_home:W,tombstone_path:O,legacy_before:P,current_before:N,backup_after:z,current_after:Y,checks:E,warnings:J,message:Q?`Migrated legacy knowledge workspace to ${_.current.home}`:`Migrated legacy knowledge workspace, but verification failed for ${_.current.home}`}}import{createHash as iY}from"crypto";var h$="knowledge.project-registration.v1",w2="knowledge.project-resources.v1",ok=1,E0="explicit_collection_binding",pk=1;class i extends Error{code;details;constructor(_,$,U={}){super($);this.code=_;this.details=U;this.name="KnowledgeProjectLinksError"}}class tY{db;kind="sqlite";tail=Promise.resolve();closed=!1;constructor(_){this.db=_}async close(){if(await this.tail,this.closed)return;this.closed=!0,this.db.close()}async get(_,$=[]){return this.db.query(_).get(...$)??null}async many(_,$=[]){return this.db.query(_).all(...$)}async run(_,$=[]){let U=this.db.query(_).run(...$);return{changes:Number(U.changes)}}async lock(_){}transaction(_){let $=this.tail.then(async()=>{this.db.exec("BEGIN IMMEDIATE");try{let U=await _(this);return this.db.exec("COMMIT"),U}catch(U){throw this.db.exec("ROLLBACK"),U}});return this.tail=$.then(()=>{return},()=>{return}),$}}function ak(){return` PRAGMA foreign_keys = ON; CREATE TABLE IF NOT EXISTS knowledge_projects ( authority_id TEXT NOT NULL, @@ -1331,7 +1331,7 @@ Pages should be concise, cited, and organized for both humans and agents. $$`,`DROP TRIGGER IF EXISTS knowledge_project_link_receipts_immutable ON knowledge_project_link_receipts`,`CREATE TRIGGER knowledge_project_link_receipts_immutable BEFORE UPDATE OR DELETE ON knowledge_project_link_receipts - FOR EACH ROW EXECUTE FUNCTION knowledge_project_link_receipts_immutable()`]}function Yz(_){if(Array.isArray(_))return _.map(Yz);if(_&&typeof _==="object")return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>[$,Yz(U)]));return _}function A4(_){return JSON.stringify(Yz(_))}function Z_(_){return iY("sha256").update(A4(_)).digest("hex")}function y1(_){let $=iY("sha256").update(_).digest("hex").slice(0,32).split("");$[12]="5",$[16]=(Number.parseInt($[16],16)&3|8).toString(16);let U=$.join("");return`${U.slice(0,8)}-${U.slice(8,12)}-${U.slice(12,16)}-${U.slice(16,20)}-${U.slice(20)}`}function v_(_,$){if(typeof _!=="string"||_.trim().length===0)throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`${$} must be a non-empty string.`);return _.trim()}function ek(_){let $=_??100;if(!Number.isInteger($)||$<1||$>200)throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","limit must be an integer between 1 and 200.");return $}function sk(_){let $=["project","collection","item","taxonomy"];if(!_||_.length===0)return $;let U=[...new Set(_)];for(let N of U)if(!$.includes(N))throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`unsupported project resource kind: ${N}`);return U.sort((N,D)=>$.indexOf(N)-$.indexOf(D))}function dY(_){return{receipt_id:_.receipt_id,authority:"knowledge",route:h$,package_version:_.package_version,authority_id:_.authority_id,tenant_id:_.tenant_id,corpus_id:_.corpus_id,operation_id:_.operation_id,step_id:_.step_id,action:_.action,resource_kind:_.resource_kind,direction:_.direction,idempotency_key:_.idempotency_key,request_digest:_.request_digest,precondition_digest:_.precondition_digest,outcome:_.outcome,reason:_.reason,source_project_id:_.source_project_id,project_id:_.project_id,collection_id:_.collection_id,item_id:_.item_id,result_revision:_.result_revision,result_digest:_.result_digest,accepted_receipt_id:_.accepted_receipt_id,created_by_operation:Number(_.created_by_operation)===1,created_at:_.created_at}}function lY(_){let $={source_project_id:_.source_project_id,project_id:_.project_id,project_slug:_.project_slug,project_name:_.project_name,collection_id:_.collection_id,collection_slug:_.collection_slug,collection_name:_.collection_name,membership_rule:E0,revision:`r${Number(_.revision)}`,created_at:_.created_at,updated_at:_.updated_at};return{...$,digest:Z_($)}}function b2(_){return[_.receipt_id,_.authority,_.route,_.package_version,_.authority_id,_.tenant_id,_.corpus_id,_.operation_id,_.step_id,_.action,_.resource_kind,_.direction,_.idempotency_key,_.request_digest,_.precondition_digest,_.outcome,_.reason,_.source_project_id,_.project_id,_.collection_id,_.item_id,_.result_revision,_.result_digest,_.accepted_receipt_id,_.created_by_operation?1:0,_.created_at]}var C2=`INSERT INTO knowledge_project_link_receipts ( + FOR EACH ROW EXECUTE FUNCTION knowledge_project_link_receipts_immutable()`]}function Y3(_){if(Array.isArray(_))return _.map(Y3);if(_&&typeof _==="object")return Object.fromEntries(Object.entries(_).filter(([,$])=>$!==void 0).sort(([$],[U])=>$.localeCompare(U)).map(([$,U])=>[$,Y3(U)]));return _}function A4(_){return JSON.stringify(Y3(_))}function Z_(_){return iY("sha256").update(A4(_)).digest("hex")}function y1(_){let $=iY("sha256").update(_).digest("hex").slice(0,32).split("");$[12]="5",$[16]=(Number.parseInt($[16],16)&3|8).toString(16);let U=$.join("");return`${U.slice(0,8)}-${U.slice(8,12)}-${U.slice(12,16)}-${U.slice(16,20)}-${U.slice(20)}`}function v_(_,$){if(typeof _!=="string"||_.trim().length===0)throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`${$} must be a non-empty string.`);return _.trim()}function ek(_){let $=_??100;if(!Number.isInteger($)||$<1||$>200)throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","limit must be an integer between 1 and 200.");return $}function sk(_){let $=["project","collection","item","taxonomy"];if(!_||_.length===0)return $;let U=[...new Set(_)];for(let N of U)if(!$.includes(N))throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT",`unsupported project resource kind: ${N}`);return U.sort((N,D)=>$.indexOf(N)-$.indexOf(D))}function dY(_){return{receipt_id:_.receipt_id,authority:"knowledge",route:h$,package_version:_.package_version,authority_id:_.authority_id,tenant_id:_.tenant_id,corpus_id:_.corpus_id,operation_id:_.operation_id,step_id:_.step_id,action:_.action,resource_kind:_.resource_kind,direction:_.direction,idempotency_key:_.idempotency_key,request_digest:_.request_digest,precondition_digest:_.precondition_digest,outcome:_.outcome,reason:_.reason,source_project_id:_.source_project_id,project_id:_.project_id,collection_id:_.collection_id,item_id:_.item_id,result_revision:_.result_revision,result_digest:_.result_digest,accepted_receipt_id:_.accepted_receipt_id,created_by_operation:Number(_.created_by_operation)===1,created_at:_.created_at}}function lY(_){let $={source_project_id:_.source_project_id,project_id:_.project_id,project_slug:_.project_slug,project_name:_.project_name,collection_id:_.collection_id,collection_slug:_.collection_slug,collection_name:_.collection_name,membership_rule:E0,revision:`r${Number(_.revision)}`,created_at:_.created_at,updated_at:_.updated_at};return{...$,digest:Z_($)}}function b2(_){return[_.receipt_id,_.authority,_.route,_.package_version,_.authority_id,_.tenant_id,_.corpus_id,_.operation_id,_.step_id,_.action,_.resource_kind,_.direction,_.idempotency_key,_.request_digest,_.precondition_digest,_.outcome,_.reason,_.source_project_id,_.project_id,_.collection_id,_.item_id,_.result_revision,_.result_digest,_.accepted_receipt_id,_.created_by_operation?1:0,_.created_at]}var C2=`INSERT INTO knowledge_project_link_receipts ( receipt_id, authority, route, package_version, authority_id, tenant_id, corpus_id, operation_id, step_id, action, resource_kind, direction, idempotency_key, request_digest, precondition_digest, outcome, reason, source_project_id, @@ -1519,11 +1519,11 @@ Pages should be concise, cited, and organized for both humans and agents. ORDER BY taxonomy_id ASC LIMIT ${Y-P.length}`,[...j,D.collection_id,T]);for(let M of F)O(this.taxonomyResource(D,M.normalized_tag,{label:M.label,itemCount:Number(M.item_count),memberDigest:M.member_digest}))}let R=(N.includes("collection")?1:0)+(N.includes("item")?E:0)+(N.includes("project")?1:0)+(N.includes("taxonomy")?S:0),Q=P.slice(0,U),V=P.length>Q.length,G=V&&Q.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:L,population_digest:X,kinds:N,after:Q.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:w2,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:L,population_digest:X,resource_kinds:N,resources:Q,count:Q.length,total:R,limit:U,cursor:$.cursor??null,next_cursor:G,has_more:V,complete:!V,truncated:!1}}async buildResources(_){let $=await this.getAggregateByProject(this.sql,v_(_,"project_id"));if(!$)throw new i("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project aggregate was not found by source or stable project id.");let U=await this.sql.many(`SELECT * FROM knowledge_project_collection_memberships WHERE authority_id = ? AND tenant_id = ? AND corpus_id = ? AND collection_id = ? - ORDER BY item_id ASC`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id]),N=await Promise.all(U.map(async(S)=>{let L=await this.itemResolver(S.item_id);if(!L||L.id!==S.item_id)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing Knowledge item; refusing a partial resource population.",{collection_id:$.collection_id,item_id:S.item_id});return L})),D=`r${Number($.revision)}`,j={project_id:$.project_id,source_project_id:$.source_project_id,collection_id:$.collection_id,revision:D},I=[],E={...j,kind:"project",id:$.project_id,title:$.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${$.project_id}`},metadata:{source_project_id:$.source_project_id,slug:$.project_slug,collection_count:1}};I.push({...E,key:`project:${$.project_id}`,digest:Z_(E)});let J={...j,kind:"collection",id:$.collection_id,title:$.collection_name,locator:{kind:"external_uuid",value:$.collection_id},metadata:{slug:$.collection_slug,membership_rule:E0,member_count:N.length}};I.push({...J,key:`collection:${$.collection_id}`,digest:Z_(J)});for(let S of N){let L={...j,kind:"item",id:S.id,revision:`v${S.version??1}`,title:S.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent(S.id)}`},metadata:{tags:[...S.tags??[]],archived:S.archived===!0,updated_at:S.updated_at}};I.push({...L,key:`item:${S.id}`,digest:Z_(L)})}let W=new Map;for(let S of N)for(let L of S.tags??[]){let X=L.trim().toLowerCase();if(!X)continue;let z=W.get(X)??{label:L.trim(),itemIds:[]};z.itemIds.push(S.id),W.set(X,z)}for(let[S,L]of[...W.entries()].sort(([X],[z])=>X.localeCompare(z))){let X=y1(`${$.collection_id}\x00taxonomy\x00${S}`),z={...j,kind:"taxonomy",id:X,title:L.label,locator:{kind:"external_uuid",value:X},metadata:{tag:L.label,normalized_tag:S,item_count:L.itemIds.length,member_digest:Z_([...L.itemIds].sort())}};I.push({...z,key:`taxonomy:${X}`,digest:Z_(z)})}return I.sort((S,L)=>S.key.localeCompare(L.key)),{aggregate:$,resources:I}}async listProjectResources(_,$={}){let U=ek($.limit),N=sk($.kinds);if(this.sql.kind==="postgres")return this.listPostgresProjectResources(_,$,U,N);let{aggregate:D,resources:j}=await this.buildResources(_),I=`r${Number(D.revision)}`,E=j.filter((Y)=>N.includes(Y.kind)),J=Z_(E.map((Y)=>({key:Y.key,digest:Y.digest}))),W="";if($.cursor){let Y;try{Y=JSON.parse(Buffer.from($.cursor,"base64url").toString("utf8"))}catch{throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if(Y.version!==1||Y.project_id!==D.project_id||Y.collection_id!==D.collection_id||Y.collection_revision!==I||Y.population_digest!==J||A4(Y.kinds)!==A4(N)||typeof Y.after!=="string")throw new i("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");W=Y.after}let S=W?E.filter((Y)=>Y.key>W):E,L=S.slice(0,U),X=S.length>L.length,z=X&&L.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:I,population_digest:J,kinds:N,after:L.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:w2,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:I,population_digest:J,resource_kinds:N,resources:L,count:L.length,total:E.length,limit:U,cursor:$.cursor??null,next_cursor:z,has_more:X,complete:!X,truncated:!1}}async readProjectResource(_,$,U){let{resources:N}=await this.buildResources(_),D=N.find((j)=>j.kind===$&&j.id===U);if(!D)throw new i("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project resource was not found by exact kind and id.");return D}async readAllProjectResources(_,$={}){let U=[],N=new Set,D=null,j=null;do{let I=await this.listProjectResources(_,{...$,cursor:D}),E={project_id:I.project_id,collection_id:I.collection_id,collection_revision:I.collection_revision,population_digest:I.population_digest,total:I.total,kinds:A4(I.resource_kinds)};if(j&&A4(j)!==A4(E))throw new i("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete population was being read.");j??=E;for(let J of I.resources){if(N.has(J.key))throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource pagination returned a duplicate stable resource key.",{key:J.key});N.add(J.key),U.push(J)}if(I.has_more&&!I.next_cursor)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource page claims more data without a continuation cursor.");D=I.next_cursor}while(D);if(!j||U.length!==j.total)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete project resource enumeration did not match the producer total.",{expected_total:j?.total??null,received:U.length});return U}}function v2(_){if(_.databasePath!==":memory:")t$(_.databasePath);let $=import.meta.require;if(typeof $!=="function")throw new i("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the local Knowledge project-links authority requires the Bun runtime.");let{Database:U}=$("bun:sqlite"),N=new U(_.databasePath,{create:!0});return N.exec(ak()),new pY(new tY(N),(D)=>_.itemStore.get(D),_.options)}var _b=new Set(["KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","KNOWLEDGE_PROJECT_LINKS_IDEMPOTENCY_MISMATCH","KNOWLEDGE_PROJECT_LINKS_CONFLICT","KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","KNOWLEDGE_PROJECT_LINKS_INVALID_RESPONSE"]);function FU(_){return Boolean(_)&&typeof _==="object"&&!Array.isArray(_)}function aY(_){return _==="project"||_==="collection"||_==="item"||_==="taxonomy"}function S$(_,$={}){throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_RESPONSE",_,$)}function eY(_,$){if(!FU(_))S$(`${$} is not an object.`);let U=["key","id","project_id","source_project_id","collection_id","revision","digest","title"];for(let N of U)if(typeof _[N]!=="string")S$(`${$}.${N} is not a string.`);if(!aY(_.kind))S$(`${$}.kind is not a supported resource kind.`);if(!FU(_.locator)||_.locator.kind!=="external_uuid"&&_.locator.kind!=="canonical_uri"||typeof _.locator.value!=="string")S$(`${$}.locator is not a valid stable locator.`);if(!FU(_.metadata))S$(`${$}.metadata is not an object.`);return _}function $b(_){if(!FU(_))S$("Knowledge project-resources response is not an object.");if(_.schema!=="knowledge.project-resources.page.v1"||_.authority!=="knowledge"||_.route!==w2)S$("Knowledge project-resources response does not carry the expected producer contract.");for(let U of["authority_id","tenant_id","corpus_id","project_id","source_project_id","collection_id","collection_revision","population_digest"])if(typeof _[U]!=="string")S$(`Knowledge project-resources response.${U} is not a string.`);if(!Array.isArray(_.resource_kinds)||!_.resource_kinds.every(aY))S$("Knowledge project-resources response.resource_kinds is invalid.");if(!Array.isArray(_.resources))S$("Knowledge project-resources response.resources is not an array.");let $=_.resources.map((U,N)=>eY(U,`Knowledge project-resources response.resources[${N}]`));if(!Number.isInteger(_.count)||_.count!==$.length||!Number.isInteger(_.total)||Number(_.total)<$.length||!Number.isInteger(_.limit)||Number(_.limit)<1)S$("Knowledge project-resources response pagination counts are invalid.");if(_.cursor!==null&&typeof _.cursor!=="string"||_.next_cursor!==null&&typeof _.next_cursor!=="string"||typeof _.has_more!=="boolean"||typeof _.complete!=="boolean"||_.truncated!==!1)S$("Knowledge project-resources response pagination state is invalid.");if(_.has_more&&(typeof _.next_cursor!=="string"||_.next_cursor.length===0))S$("Knowledge project-resources response claims more data without a continuation cursor.");return{..._,resources:$}}class sY{options;fetchImpl;root;constructor(_){this.options=_;this.fetchImpl=_.fetch??k0,this.root=_.baseUrl.replace(/\/+$/,"")}async close(){}headers(_={}){let $=new Headers(this.options.headers);if($.set("accept","application/json"),this.options.apiKey)$.set("x-api-key",this.options.apiKey);for(let[U,N]of Object.entries(_))$.set(U,N);return $}async request(_,$={}){let U=await this.fetchImpl(`${this.root}${_}`,{...$,headers:this.headers($.body?{"content-type":"application/json"}:{})}),N=await U.json().catch(()=>({}));if(!U.ok){let D=typeof N.error==="string"?N.error:null,j=D&&_b.has(D)?D:U.status===404?"KNOWLEDGE_PROJECT_LINKS_NOT_FOUND":"KNOWLEDGE_PROJECT_LINKS_CONFLICT";throw new i(j,typeof N.message==="string"?N.message:`Knowledge project-links HTTP ${U.status}`,{...FU(N.details)?N.details:{},http_status:U.status,...D&&D!==j?{upstream_error:D}:{}})}return N}async capability(){return(await this.request("/v1/project-registration/capability")).capability}async registerCollection(_){return(await this.request("/v1/project-registration/create",{method:"POST",body:JSON.stringify(_)})).receipt}async readCollection(_){return(await this.request("/v1/project-registration/read-exact",{method:"POST",body:JSON.stringify({collection_id:_})})).record}async lookupReceipt(_){return(await this.request("/v1/project-registration/receipts/lookup",{method:"POST",body:JSON.stringify(_)})).receipt}async compensateRegistration(_){return(await this.request("/v1/project-registration/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyRegistrationInverse(_){return(await this.request("/v1/project-registration/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async bindItem(_){return(await this.request("/v1/project-registration/items/bind",{method:"POST",body:JSON.stringify(_)})).receipt}async readItemBinding(_,$){return(await this.request("/v1/project-registration/items/read-exact",{method:"POST",body:JSON.stringify({collection_id:_,item_id:$})})).record}async compensateItemBinding(_){return(await this.request("/v1/project-registration/items/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyItemBindingInverse(_){return(await this.request("/v1/project-registration/items/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async listProjectResources(_,$={}){let U=new URLSearchParams;if($.limit!==void 0)U.set("limit",String($.limit));if($.cursor)U.set("cursor",$.cursor);for(let D of $.kinds??[])U.append("kind",D);let N=U.size>0?`?${U.toString()}`:"";return $b(await this.request(`/v1/projects/${encodeURIComponent(_)}/resources${N}`))}async readProjectResource(_,$,U){let N=await this.request(`/v1/projects/${encodeURIComponent(_)}/resources/${$}/${encodeURIComponent(U)}`);if(!FU(N)||!Object.hasOwn(N,"resource"))S$("Knowledge project-resource response does not contain a resource envelope.");return eY(N.resource,"Knowledge project-resource response.resource")}async readAllProjectResources(_,$={}){let U=[],N=new Set,D=null,j=null,I=null,E=null;do{let J=await this.listProjectResources(_,{...$,cursor:D});if(j??=J.total,I??=J.collection_revision,E??=J.population_digest,J.total!==j||J.collection_revision!==I||J.population_digest!==E)throw new i("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete HTTP population was being read.");for(let W of J.resources){if(N.has(W.key))throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP pagination returned a duplicate stable key.");N.add(W.key),U.push(W)}if(J.has_more&&!J.next_cursor)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP page claims more data without a cursor.");D=J.next_cursor}while(D);if(j===null||U.length!==j)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete HTTP resource enumeration did not match the producer total.");return U}}function _Q(_){return new sY(_)}var L$={name:"@hasna/knowledge",version:"0.2.104",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/live-private-query.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs","live:private-query":"bun scripts/live-private-query.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","contracts:conformance":"contracts conformance fixtures",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bunx tsc -p tsconfig.build.json",prepublishOnly:"bun run contracts:conformance && contracts no-cloud-scan . && bun run build && node scripts/validate-public-package.mjs"},keywords:["knowledge","cli","agents","json","notes","local","store"],license:"Apache-2.0",publishConfig:{registry:"https://registry.npmjs.org",access:"public"},repository:{type:"git",url:"git+https://github.com/hasna/knowledge.git"},bugs:{url:"https://github.com/hasna/knowledge/issues"},author:"Hasna Inc. ",engines:{bun:">=1.0",node:">=18"},dependencies:{"@ai-sdk/anthropic":"^3.0.81","@ai-sdk/deepseek":"^2.0.35","@ai-sdk/openai":"^3.0.68","@aws-sdk/client-s3":"^3.1063.0","@aws-sdk/credential-providers":"^3.1063.0","@hasna/events":"^0.1.3","@modelcontextprotocol/sdk":"^1.29.0","@types/json-schema":"^7.0.15",ai:"^6.0.197",commander:"^13.1.0",pg:"^8.16.3",zod:"^4.3.6"},devDependencies:{"@electric-sql/pglite":"^0.5.4","@hasna/contracts":"0.8.5","@types/bun":"^1.3.14","@types/pg":"^8.15.6"}};function Ib(_){let $=zQ(_);if(Q_($Q($,"knowledge.db"))||Q_($Q($,"config.json")))return F0($);return F0(P$(XE($)).home)}function Qz(_){return`${jb()}:${h1("sha256").update(_.home).digest("hex").slice(0,12)}`}function Bz(_){return`'${_.replace(/'/g,"'\\''")}'`}function Eb(_){return["knowledge",..._].map(Bz).join(" ")}function UQ(_,$){return`cd ${Bz(_)} && knowledge ${$.map(Bz).join(" ")}`}function XQ(_){return!_||_==="local"||_==="localhost"}function u1(_,$){return{source:_.source,adapter:_.adapter,project_root:$,project_root_source:_.project_root_source,workspace_root:_.workspace_root,workspace_root_source:_.workspace_root_source,open_files_root:_.open_files_root,open_files_root_source:_.open_files_root_source,trust_status:_.trust_status,auth_status:_.auth_status,current:_.current,primary:_.primary,diagnostics:_.diagnostics,repair_hints:_.repair_hints,evidence:_.evidence,cacheability:_.cacheability,warnings:_.warnings}}function Gz(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function Ab(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function r1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function f_(_){return typeof _==="string"&&_.length>0?_:null}function Jb(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function f2(_){return typeof _==="boolean"?_:null}function Wb(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function RQ(_,$,U){let N=r1(_),D=f_(N.observed_at)??f_($[`${U}_observed_at`]),j=f_(N.source_authority)??f_($[`${U}_source_authority`]);if(!D||!j)return null;return{observed_at:D,verified_at:f_(N.verified_at),expires_at:f_(N.expires_at)??f_($[`${U}_expires_at`]),ttl_ms:Jb(N.ttl_ms),source_authority:j,confidence:f_(N.confidence)??(U==="route"?f_($.route_confidence):null),cacheable:f2(N.cacheable)??f2($[`${U}_cacheable`])??!1,stale:f2(N.stale)??f2($[`${U}_stale`])??!1,reasons:Wb(N.reasons)}}function Sb(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||Ab(_.tailscale_ips_json).includes($)}function DQ(_,$){return kA(_).find((U)=>Sb(U,$))??null}function YQ(_){return r1(A0(_.metadata_json).resolver_evidence)}function c1(_){return r1(A0(_.capabilities_json).resolver)}function QQ(_){let $=c1(_),U=f_($.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if(_.tailscale_dns&&_.ssh_target===_.tailscale_dns)return"tailscale";return _.ssh_target?"ssh":"unknown"}function Lb(_){let $=c1(_),U=f_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return QQ(_)}function Pb(_){return f_(c1(_).route_confidence)??"medium"}function NQ(_,$,U){let N=YQ(_),D=r1(N.route),j=c1(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:QQ(_),targetKind:Lb(_),confidence:Pb(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:RQ(D.cacheability,j,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function jQ(_,$,U){if(!_.workspace_home)return null;let N=YQ(_),D=r1(N.workspace),j=c1(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:f_(D.project_id)??U.project_id,repo_name:f_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:f_(j.project_root_source)??"registry",workspace_root:f_(D.workspace_root),workspace_root_source:f_(j.workspace_root_source)??"registry",open_files_root:f_(D.open_files_root),open_files_root_source:f_(j.open_files_root_source)??"registry",trust_status:f_(j.trust_status)??"unknown",auth_status:f_(j.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,workspace:D},cacheability:RQ(D.cacheability,j,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function IQ(_){if(!_)return null;let $=_.diagnostics.filter((N)=>N.severity!=="ok"),U=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!U)return null;return[$.length?`workspace diagnostics: ${$.map((N)=>`${N.id}=${N.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function x2(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:Eb(_.args)}}function y2(_,$){let U=v(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function Ob(_,$){let U=y2(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),N=y2(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=y2(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),j=y2(_,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),I=j===0;return{ok:I,source_of_truth:"open-files",configured_root:$?.open_files_root??null,configured_root_source:$?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:N},extracted_text_artifacts:D,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:j,message:I?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${j} raw source payload metadata sentinel(s) found`}}var zb=new Set(["raw","raw_bytes","raw_content","content_base64","source_bytes","source_content","body","body_bytes"]);function Vz(_,$=0){if($>8)return!1;if(!_||typeof _!=="object")return!1;if(Array.isArray(_))return _.some((U)=>Vz(U,$+1));for(let[U,N]of Object.entries(_)){if(zb.has(U.toLowerCase()))return!0;if(Vz(N,$+1))return!0}return!1}function A0(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function EQ(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function Xb(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function g$(_,$=["metadata_json"]){return _.map((U)=>{let N={...U};for(let D of $){let j=N[D];if(typeof j==="string"){let I=D.endsWith("_json")?D.slice(0,-5):D;N[I]=A0(j),delete N[D]}}return N})}function h2(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function Fz(_){if(typeof _!=="string")return{};return A0(_)}function Rb(_){let $={..._};return $.source_refs=h2($.source_refs_json),$.evidence_refs=h2($.evidence_refs_json),$.requires_approval=$.requires_approval===1||$.requires_approval===!0,$.checks=Fz($.checks_json),$.metadata=Fz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.checks_json,delete $.metadata_json,$}function Yb(_){let $={..._};return $.source_refs=h2($.source_refs_json),$.evidence_refs=h2($.evidence_refs_json),$.metadata=Fz($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function D$(_,$,U=[]){return _.query($).all(...U)}function Qb(_){if(!Q_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(Nb(_,"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 AQ(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:Xb(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function JQ(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0,promotion_candidates:0,durable_records:0}}function GQ(_,$,U=!1){return{query:_,limit:$,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Gb(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Tb(_,$,U=!1){let N=GQ(_,$,U);return{query:_,normalized_query:Gb(_),created_at:new Date().toISOString(),mode:N.mode,warnings:N.warnings,search_counts:N.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function Tz(_,$,U){let N=U??$.jsonStorePath;if(Q_(N))return N;if(_==="global"){let D=_D();if(Q_(D))return D}return N}function Bb(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function Kz(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function WQ(_,$,U){let N=d_(Kz(_,U),$);return{text:N.text,redactions:N.findings.length}}function SQ(_,$,U){let N=_.now??new Date,D=_.source??"search",j=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),I=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),E=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),J=Math.max(500,Math.min(_.maxTokens??6000,1e5)),W=0,S=$.citations.slice(0,Math.max(E*2,E)).map((Q,V)=>{let G=WQ(Q.quote,U,V<3?220:140);W+=G.redactions;let T=Q.source_ref??Q.source_uri??Q.artifact_path??Q.artifact_uri??Q.id;return{id:`cite_${h1("sha256").update(`${Q.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:Q.artifact_uri||Q.artifact_path?"artifact":"source",ref:T,source_ref:Q.source_ref,source_uri:Q.source_uri,artifact_uri:Q.artifact_uri,artifact_path:Q.artifact_path,run_id:null,run_event_id:null,revision:Q.revision,hash:Q.hash,chunk_id:Q.chunk_id,offsets:{start:Q.start_offset,end:Q.end_offset},quote_preview:G.text}}),L=new Map($.citations.map((Q,V)=>[Q.id,S[V]])),X=$.excerpts.slice(0,Math.max(E*2,E)).map((Q)=>{let V=$.results.find((F)=>F.id===Q.result_id),G=Q.citation_id?L.get(Q.citation_id):void 0,T=WQ(Q.text,U,520);return W+=T.redactions,{id:`ev_${h1("sha256").update(`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`).digest("hex").slice(0,14)}`,kind:Q.kind,title:Kz(V?.title??G?.ref??Q.kind,100),text_preview:T.text,score:Number(Q.score.toFixed(6)),citation_ids:G?[G.id]:[],provenance:{source:D,record_ref:`${Q.kind}:${Q.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((Q,V)=>V.score-Q.score||Q.id.localeCompare(V.id)).slice(0,E),z=new Set(X.flatMap((Q)=>Q.citation_ids)),Y=S.filter((Q)=>z.has(Q.id)),P=Array.from(new Set($.warnings)),O=`ctx_${h1("sha256").update([D,j,I,P.join(","),X.map((Q)=>Q.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,R={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:N.toISOString(),source:D,purpose:j,query:I,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:O,budgets:{max_tokens:J,estimated_tokens:0,max_items:E,items_included:X.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-X.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:W,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:Y,evidence:X,duplicate_candidates:[],outline:{title:I?`Knowledge context: ${Kz(I,80)}`:"Knowledge context",bullets:X.length>0?X.slice(0,5).map((Q)=>`${Q.id}: ${Q.title}`):["No matching bounded evidence was found."],evidence_ids:X.slice(0,8).map((Q)=>Q.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:P,message:`${X.length} bounded evidence item(s), estimated under ${J} token(s)`};return R.budgets.estimated_tokens=Bb(R),R.budgets.token_budget_exceeded=R.budgets.estimated_tokens>J,R.message=`${R.evidence.length} bounded evidence item(s), estimated ${R.budgets.estimated_tokens}/${J} token(s)`,R}function Vb(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Fb(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Kb(_){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 LQ(_){let $=_.now??new Date,U=_.source??"search",N=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=(_.query??_.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),j=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),I=Math.max(500,Math.min(_.maxTokens??6000,1e5)),E=`ctx_${h1("sha256").update(["empty",U,N,D,_.topic??"",_.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:N,query:D,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:E,budgets:{max_tokens:I,estimated_tokens:0,max_items:j,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:D?`Context for ${D}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${I} token(s)`}}function Mz(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Mb(_,$){let U=v(_);try{let N=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY item_id ASC`,[this.identity.authority_id,this.identity.tenant_id,this.identity.corpus_id,$.collection_id]),N=await Promise.all(U.map(async(S)=>{let L=await this.itemResolver(S.item_id);if(!L||L.id!==S.item_id)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","collection membership points at a missing Knowledge item; refusing a partial resource population.",{collection_id:$.collection_id,item_id:S.item_id});return L})),D=`r${Number($.revision)}`,j={project_id:$.project_id,source_project_id:$.source_project_id,collection_id:$.collection_id,revision:D},I=[],E={...j,kind:"project",id:$.project_id,title:$.project_name,locator:{kind:"canonical_uri",value:`knowledge:project:${$.project_id}`},metadata:{source_project_id:$.source_project_id,slug:$.project_slug,collection_count:1}};I.push({...E,key:`project:${$.project_id}`,digest:Z_(E)});let J={...j,kind:"collection",id:$.collection_id,title:$.collection_name,locator:{kind:"external_uuid",value:$.collection_id},metadata:{slug:$.collection_slug,membership_rule:E0,member_count:N.length}};I.push({...J,key:`collection:${$.collection_id}`,digest:Z_(J)});for(let S of N){let L={...j,kind:"item",id:S.id,revision:`v${S.version??1}`,title:S.title,locator:{kind:"canonical_uri",value:`knowledge:item:${encodeURIComponent(S.id)}`},metadata:{tags:[...S.tags??[]],archived:S.archived===!0,updated_at:S.updated_at}};I.push({...L,key:`item:${S.id}`,digest:Z_(L)})}let W=new Map;for(let S of N)for(let L of S.tags??[]){let X=L.trim().toLowerCase();if(!X)continue;let z=W.get(X)??{label:L.trim(),itemIds:[]};z.itemIds.push(S.id),W.set(X,z)}for(let[S,L]of[...W.entries()].sort(([X],[z])=>X.localeCompare(z))){let X=y1(`${$.collection_id}\x00taxonomy\x00${S}`),z={...j,kind:"taxonomy",id:X,title:L.label,locator:{kind:"external_uuid",value:X},metadata:{tag:L.label,normalized_tag:S,item_count:L.itemIds.length,member_digest:Z_([...L.itemIds].sort())}};I.push({...z,key:`taxonomy:${X}`,digest:Z_(z)})}return I.sort((S,L)=>S.key.localeCompare(L.key)),{aggregate:$,resources:I}}async listProjectResources(_,$={}){let U=ek($.limit),N=sk($.kinds);if(this.sql.kind==="postgres")return this.listPostgresProjectResources(_,$,U,N);let{aggregate:D,resources:j}=await this.buildResources(_),I=`r${Number(D.revision)}`,E=j.filter((Y)=>N.includes(Y.kind)),J=Z_(E.map((Y)=>({key:Y.key,digest:Y.digest}))),W="";if($.cursor){let Y;try{Y=JSON.parse(Buffer.from($.cursor,"base64url").toString("utf8"))}catch{throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","cursor is not a valid Knowledge project-resources cursor.")}if(Y.version!==1||Y.project_id!==D.project_id||Y.collection_id!==D.collection_id||Y.collection_revision!==I||Y.population_digest!==J||A4(Y.kinds)!==A4(N)||typeof Y.after!=="string")throw new i("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed or the cursor belongs to a different project/kind selection; restart from the first page.");W=Y.after}let S=W?E.filter((Y)=>Y.key>W):E,L=S.slice(0,U),X=S.length>L.length,z=X&&L.length>0?Buffer.from(JSON.stringify({version:1,project_id:D.project_id,collection_id:D.collection_id,collection_revision:I,population_digest:J,kinds:N,after:L.at(-1).key})).toString("base64url"):null;return{schema:"knowledge.project-resources.page.v1",authority:"knowledge",route:w2,...this.identity,project_id:D.project_id,source_project_id:D.source_project_id,collection_id:D.collection_id,collection_revision:I,population_digest:J,resource_kinds:N,resources:L,count:L.length,total:E.length,limit:U,cursor:$.cursor??null,next_cursor:z,has_more:X,complete:!X,truncated:!1}}async readProjectResource(_,$,U){let{resources:N}=await this.buildResources(_),D=N.find((j)=>j.kind===$&&j.id===U);if(!D)throw new i("KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","Knowledge project resource was not found by exact kind and id.");return D}async readAllProjectResources(_,$={}){let U=[],N=new Set,D=null,j=null;do{let I=await this.listProjectResources(_,{...$,cursor:D}),E={project_id:I.project_id,collection_id:I.collection_id,collection_revision:I.collection_revision,population_digest:I.population_digest,total:I.total,kinds:A4(I.resource_kinds)};if(j&&A4(j)!==A4(E))throw new i("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete population was being read.");j??=E;for(let J of I.resources){if(N.has(J.key))throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource pagination returned a duplicate stable resource key.",{key:J.key});N.add(J.key),U.push(J)}if(I.has_more&&!I.next_cursor)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resource page claims more data without a continuation cursor.");D=I.next_cursor}while(D);if(!j||U.length!==j.total)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete project resource enumeration did not match the producer total.",{expected_total:j?.total??null,received:U.length});return U}}function v2(_){if(_.databasePath!==":memory:")t$(_.databasePath);let $=import.meta.require;if(typeof $!=="function")throw new i("KNOWLEDGE_PROJECT_LINKS_CONFLICT","the local Knowledge project-links authority requires the Bun runtime.");let{Database:U}=$("bun:sqlite"),N=new U(_.databasePath,{create:!0});return N.exec(ak()),new pY(new tY(N),(D)=>_.itemStore.get(D),_.options)}var _b=new Set(["KNOWLEDGE_PROJECT_LINKS_INVALID_INPUT","KNOWLEDGE_PROJECT_LINKS_CAPABILITY_MISMATCH","KNOWLEDGE_PROJECT_LINKS_DIGEST_MISMATCH","KNOWLEDGE_PROJECT_LINKS_IDEMPOTENCY_MISMATCH","KNOWLEDGE_PROJECT_LINKS_CONFLICT","KNOWLEDGE_PROJECT_LINKS_NOT_FOUND","KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","KNOWLEDGE_PROJECT_LINKS_INVALID_RESPONSE"]);function FU(_){return Boolean(_)&&typeof _==="object"&&!Array.isArray(_)}function aY(_){return _==="project"||_==="collection"||_==="item"||_==="taxonomy"}function S$(_,$={}){throw new i("KNOWLEDGE_PROJECT_LINKS_INVALID_RESPONSE",_,$)}function eY(_,$){if(!FU(_))S$(`${$} is not an object.`);let U=["key","id","project_id","source_project_id","collection_id","revision","digest","title"];for(let N of U)if(typeof _[N]!=="string")S$(`${$}.${N} is not a string.`);if(!aY(_.kind))S$(`${$}.kind is not a supported resource kind.`);if(!FU(_.locator)||_.locator.kind!=="external_uuid"&&_.locator.kind!=="canonical_uri"||typeof _.locator.value!=="string")S$(`${$}.locator is not a valid stable locator.`);if(!FU(_.metadata))S$(`${$}.metadata is not an object.`);return _}function $b(_){if(!FU(_))S$("Knowledge project-resources response is not an object.");if(_.schema!=="knowledge.project-resources.page.v1"||_.authority!=="knowledge"||_.route!==w2)S$("Knowledge project-resources response does not carry the expected producer contract.");for(let U of["authority_id","tenant_id","corpus_id","project_id","source_project_id","collection_id","collection_revision","population_digest"])if(typeof _[U]!=="string")S$(`Knowledge project-resources response.${U} is not a string.`);if(!Array.isArray(_.resource_kinds)||!_.resource_kinds.every(aY))S$("Knowledge project-resources response.resource_kinds is invalid.");if(!Array.isArray(_.resources))S$("Knowledge project-resources response.resources is not an array.");let $=_.resources.map((U,N)=>eY(U,`Knowledge project-resources response.resources[${N}]`));if(!Number.isInteger(_.count)||_.count!==$.length||!Number.isInteger(_.total)||Number(_.total)<$.length||!Number.isInteger(_.limit)||Number(_.limit)<1)S$("Knowledge project-resources response pagination counts are invalid.");if(_.cursor!==null&&typeof _.cursor!=="string"||_.next_cursor!==null&&typeof _.next_cursor!=="string"||typeof _.has_more!=="boolean"||typeof _.complete!=="boolean"||_.truncated!==!1)S$("Knowledge project-resources response pagination state is invalid.");if(_.has_more&&(typeof _.next_cursor!=="string"||_.next_cursor.length===0))S$("Knowledge project-resources response claims more data without a continuation cursor.");return{..._,resources:$}}class sY{options;fetchImpl;root;constructor(_){this.options=_;this.fetchImpl=_.fetch??k0,this.root=_.baseUrl.replace(/\/+$/,"")}async close(){}headers(_={}){let $=new Headers(this.options.headers);if($.set("accept","application/json"),this.options.apiKey)$.set("x-api-key",this.options.apiKey);for(let[U,N]of Object.entries(_))$.set(U,N);return $}async request(_,$={}){let U=await this.fetchImpl(`${this.root}${_}`,{...$,headers:this.headers($.body?{"content-type":"application/json"}:{})}),N=await U.json().catch(()=>({}));if(!U.ok){let D=typeof N.error==="string"?N.error:null,j=D&&_b.has(D)?D:U.status===404?"KNOWLEDGE_PROJECT_LINKS_NOT_FOUND":"KNOWLEDGE_PROJECT_LINKS_CONFLICT";throw new i(j,typeof N.message==="string"?N.message:`Knowledge project-links HTTP ${U.status}`,{...FU(N.details)?N.details:{},http_status:U.status,...D&&D!==j?{upstream_error:D}:{}})}return N}async capability(){return(await this.request("/v1/project-registration/capability")).capability}async registerCollection(_){return(await this.request("/v1/project-registration/create",{method:"POST",body:JSON.stringify(_)})).receipt}async readCollection(_){return(await this.request("/v1/project-registration/read-exact",{method:"POST",body:JSON.stringify({collection_id:_})})).record}async lookupReceipt(_){return(await this.request("/v1/project-registration/receipts/lookup",{method:"POST",body:JSON.stringify(_)})).receipt}async compensateRegistration(_){return(await this.request("/v1/project-registration/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyRegistrationInverse(_){return(await this.request("/v1/project-registration/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async bindItem(_){return(await this.request("/v1/project-registration/items/bind",{method:"POST",body:JSON.stringify(_)})).receipt}async readItemBinding(_,$){return(await this.request("/v1/project-registration/items/read-exact",{method:"POST",body:JSON.stringify({collection_id:_,item_id:$})})).record}async compensateItemBinding(_){return(await this.request("/v1/project-registration/items/compensate",{method:"POST",body:JSON.stringify(_)})).receipt}async verifyItemBindingInverse(_){return(await this.request("/v1/project-registration/items/verify-inverse",{method:"POST",body:JSON.stringify(_)})).verification}async listProjectResources(_,$={}){let U=new URLSearchParams;if($.limit!==void 0)U.set("limit",String($.limit));if($.cursor)U.set("cursor",$.cursor);for(let D of $.kinds??[])U.append("kind",D);let N=U.size>0?`?${U.toString()}`:"";return $b(await this.request(`/v1/projects/${encodeURIComponent(_)}/resources${N}`))}async readProjectResource(_,$,U){let N=await this.request(`/v1/projects/${encodeURIComponent(_)}/resources/${$}/${encodeURIComponent(U)}`);if(!FU(N)||!Object.hasOwn(N,"resource"))S$("Knowledge project-resource response does not contain a resource envelope.");return eY(N.resource,"Knowledge project-resource response.resource")}async readAllProjectResources(_,$={}){let U=[],N=new Set,D=null,j=null,I=null,E=null;do{let J=await this.listProjectResources(_,{...$,cursor:D});if(j??=J.total,I??=J.collection_revision,E??=J.population_digest,J.total!==j||J.collection_revision!==I||J.population_digest!==E)throw new i("KNOWLEDGE_PROJECT_LINKS_CURSOR_STALE","project resources changed while the complete HTTP population was being read.");for(let W of J.resources){if(N.has(W.key))throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP pagination returned a duplicate stable key.");N.add(W.key),U.push(W)}if(J.has_more&&!J.next_cursor)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","project resources HTTP page claims more data without a cursor.");D=J.next_cursor}while(D);if(j===null||U.length!==j)throw new i("KNOWLEDGE_PROJECT_LINKS_INCOMPLETE_POPULATION","complete HTTP resource enumeration did not match the producer total.");return U}}function _Q(_){return new sY(_)}var L$={name:"@hasna/knowledge",version:"0.2.105",description:"Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions",type:"module",exports:{".":{import:"./dist/index.js",types:"./dist/index.d.ts"},"./storage":{import:"./dist/storage.js",types:"./dist/storage.d.ts"},"./serve":{import:"./dist/serve.js",types:"./dist/serve.d.ts"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{knowledge:"bin/knowledge.js","knowledge-mcp":"bin/knowledge-mcp.js","knowledge-serve":"bin/knowledge-serve.js"},files:["bin","dist","scripts/apply-cloud-migrations.mjs","scripts/live-private-query.mjs","scripts/lib/remote-temp-dir.mjs","scripts/smoke-machine-sync-release.mjs","scripts/smoke-machines-adapter.mjs","scripts/smoke-open-files-installed-boundary.mjs","scripts/strip-generated-trailing-whitespace.mjs","scripts/verify-generated-artifacts.mjs","docs/architecture/ai-native-knowledge-base.md","docs/architecture/hosted-wrapper-responsibilities.md","docs/architecture/hybrid-semantic-search.md","docs/architecture/machine-sync-schema.md","docs/examples/app-project-wiki-standard.md","docs/examples/company-wiki-workflow.md","docs/migration/global-rules-provenance-import.md","docs/migration/json-to-sqlite.md","LICENSE","README.md"],scripts:{test:"bun test","test:cli":"bun test tests/cli.test.ts","test:package":"bun test tests/package-release.test.ts","release:pack:check":"node scripts/validate-public-package.mjs","smoke:machines-adapter":"bun scripts/smoke-machines-adapter.mjs","smoke:machine-sync-release":"bun scripts/smoke-machine-sync-release.mjs","smoke:open-files-installed-boundary":"bun scripts/smoke-open-files-installed-boundary.mjs","migrate:cloud":"bun scripts/apply-cloud-migrations.mjs","live:private-query":"bun scripts/live-private-query.mjs",serve:"bun src/serve-entry.ts","verify:generated":"bun scripts/verify-generated-artifacts.mjs","contracts:conformance":"contracts conformance fixtures",build:"rm -rf dist && bun build --target=bun --outfile=bin/knowledge.js --minify --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/cli.ts && bun build --target=bun --outfile=bin/knowledge-mcp.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @modelcontextprotocol/sdk --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/mcp.js && bun build --target=bun --outfile=bin/knowledge-serve.js --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek src/serve-entry.ts && bun build ./src/index.ts ./src/storage.ts ./src/serve.ts --outdir ./dist --target bun --external pg --external @hasna/machines --external @hasna/machines/consumer --external @aws-sdk/client-s3 --external @aws-sdk/credential-providers --external ai --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/deepseek && bun scripts/strip-generated-trailing-whitespace.mjs && bun run 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",typescript:"5.9.3"}};function Ib(_){let $=zQ(_);if(Q_($Q($,"knowledge.db"))||Q_($Q($,"config.json")))return F0($);return F0(P$(XE($)).home)}function Q3(_){return`${jb()}:${h1("sha256").update(_.home).digest("hex").slice(0,12)}`}function B3(_){return`'${_.replace(/'/g,"'\\''")}'`}function Eb(_){return["knowledge",..._].map(B3).join(" ")}function UQ(_,$){return`cd ${B3(_)} && knowledge ${$.map(B3).join(" ")}`}function XQ(_){return!_||_==="local"||_==="localhost"}function u1(_,$){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 G3(_){return{source:_.source,adapter:_.adapter,target:_.target,route:_.route,target_kind:_.targetKind,confidence:_.confidence,evidence:_.evidence,cacheability:_.cacheability}}function Ab(_){try{let $=JSON.parse(_);return Array.isArray($)?$.filter((U)=>typeof U==="string"):[]}catch{return[]}}function r1(_){return _&&typeof _==="object"&&!Array.isArray(_)?_:{}}function f_(_){return typeof _==="string"&&_.length>0?_:null}function Jb(_){return typeof _==="number"&&Number.isFinite(_)?_:null}function f2(_){return typeof _==="boolean"?_:null}function Wb(_){return Array.isArray(_)?_.filter(($)=>typeof $==="string"):[]}function RQ(_,$,U){let N=r1(_),D=f_(N.observed_at)??f_($[`${U}_observed_at`]),j=f_(N.source_authority)??f_($[`${U}_source_authority`]);if(!D||!j)return null;return{observed_at:D,verified_at:f_(N.verified_at),expires_at:f_(N.expires_at)??f_($[`${U}_expires_at`]),ttl_ms:Jb(N.ttl_ms),source_authority:j,confidence:f_(N.confidence)??(U==="route"?f_($.route_confidence):null),cacheable:f2(N.cacheable)??f2($[`${U}_cacheable`])??!1,stale:f2(N.stale)??f2($[`${U}_stale`])??!1,reasons:Wb(N.reasons)}}function Sb(_,$){return _.machine_id===$||_.hostname===$||_.ssh_target===$||_.tailscale_dns===$||Ab(_.tailscale_ips_json).includes($)}function DQ(_,$){return kA(_).find((U)=>Sb(U,$))??null}function YQ(_){return r1(A0(_.metadata_json).resolver_evidence)}function c1(_){return r1(A0(_.capabilities_json).resolver)}function QQ(_){let $=c1(_),U=f_($.route_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;if(_.tailscale_dns&&_.ssh_target===_.tailscale_dns)return"tailscale";return _.ssh_target?"ssh":"unknown"}function Lb(_){let $=c1(_),U=f_($.route_target_kind);if(U==="local"||U==="lan"||U==="tailscale"||U==="ssh"||U==="unknown")return U;return QQ(_)}function Pb(_){return f_(c1(_).route_confidence)??"medium"}function NQ(_,$,U){let N=YQ(_),D=r1(N.route),j=c1(_);return{target:_.ssh_target??_.tailscale_dns??_.hostname??_.machine_id,route:QQ(_),targetKind:Lb(_),confidence:Pb(_),source:"registry",adapter:U.adapter,evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,route:D},cacheability:RQ(D.cacheability,j,"route")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_route_fallback"])]}}function jQ(_,$,U){if(!_.workspace_home)return null;let N=YQ(_),D=r1(N.workspace),j=c1(_);return{ok:!0,source:"registry",adapter:U.adapter,requested_machine_id:$,machine_id:_.machine_id,project_id:f_(D.project_id)??U.project_id,repo_name:f_(D.repo_name)??U.repo_name,project_root:_.workspace_home,project_root_source:f_(j.project_root_source)??"registry",workspace_root:f_(D.workspace_root),workspace_root_source:f_(j.workspace_root_source)??"registry",open_files_root:f_(D.open_files_root),open_files_root_source:f_(j.open_files_root_source)??"registry",trust_status:f_(j.trust_status)??"unknown",auth_status:f_(j.auth_status)??"unknown",current:!1,primary:!1,diagnostics:[],repair_hints:[],evidence:{registry:!0,requested_machine_id:$,machine_id:_.machine_id,recorded_at:_.updated_at,workspace:D},cacheability:RQ(D.cacheability,j,"workspace")??U.cacheability,warnings:[...new Set([...U.warnings,"registry_workspace_fallback"])]}}function IQ(_){if(!_)return null;let $=_.diagnostics.filter((N)=>N.severity!=="ok"),U=_.repair_hints[0];if(!$.length&&!_.warnings.length&&!U)return null;return[$.length?`workspace diagnostics: ${$.map((N)=>`${N.id}=${N.status}`).join(", ")}`:null,_.warnings.length?`warnings: ${_.warnings.join(", ")}`:null,U?`repair: ${U.shell_command}`:null].filter(Boolean).join("; ")}function x2(_){return{id:_.id,reason:_.reason,command:["knowledge",..._.args],shell_command:Eb(_.args)}}function y2(_,$){let U=v(_);try{return Number(U.query($).get()?.count??0)}finally{U.close()}}function Ob(_,$){let U=y2(_,"SELECT COUNT(*) AS count FROM sources WHERE uri LIKE 'open-files://%'"),N=y2(_,"SELECT COUNT(*) AS count FROM sources WHERE metadata_json LIKE '%open-files://%' OR metadata_json LIKE '%source_ref%'"),D=y2(_,"SELECT COUNT(*) AS count FROM source_revisions WHERE extracted_text_uri IS NOT NULL"),j=y2(_,["SELECT COUNT(*) AS count FROM sources","WHERE metadata_json LIKE '%raw_bytes%'","OR metadata_json LIKE '%raw_content%'","OR metadata_json LIKE '%content_base64%'","OR metadata_json LIKE '%source_bytes%'"].join(" ")),I=j===0;return{ok:I,source_of_truth:"open-files",configured_root:$?.open_files_root??null,configured_root_source:$?.open_files_root_source??null,source_refs:{open_files:U,metadata_mentions:N},extracted_text_artifacts:D,raw_source_bytes_owned_by:"open-files",raw_payload_sentinel_hits:j,message:I?`${U} open-files source ref(s); raw source bytes remain owned by open-files`:`${j} raw source payload metadata sentinel(s) found`}}var zb=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((U)=>V3(U,$+1));for(let[U,N]of Object.entries(_)){if(zb.has(U.toLowerCase()))return!0;if(V3(N,$+1))return!0}return!1}function A0(_){try{let $=JSON.parse(_);return $&&typeof $==="object"&&!Array.isArray($)?$:{}}catch{return{}}}function EQ(_,$=20,U=200){if(!Number.isFinite(_)||_<=0)return $;return Math.min(Math.floor(_),U)}function Xb(_,$=220){let U=_??"";return U.length>$?`${U.slice(0,$)}...`:U}function g$(_,$=["metadata_json"]){return _.map((U)=>{let N={...U};for(let D of $){let j=N[D];if(typeof j==="string"){let I=D.endsWith("_json")?D.slice(0,-5):D;N[I]=A0(j),delete N[D]}}return N})}function h2(_){if(typeof _!=="string")return[];try{let $=JSON.parse(_);return Array.isArray($)?$:[]}catch{return[]}}function F3(_){if(typeof _!=="string")return{};return A0(_)}function Rb(_){let $={..._};return $.source_refs=h2($.source_refs_json),$.evidence_refs=h2($.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 Yb(_){let $={..._};return $.source_refs=h2($.source_refs_json),$.evidence_refs=h2($.evidence_refs_json),$.metadata=F3($.metadata_json),delete $.source_refs_json,delete $.evidence_refs_json,delete $.metadata_json,$}function D$(_,$,U=[]){return _.query($).all(...U)}function Qb(_){if(!Q_(_))return{exists:!1,read_error:null,items:[]};try{let $=JSON.parse(Nb(_,"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 AQ(_){return{id:_.id,short_id:_.short_id??null,title:_.title,content_preview:Xb(_.content),url:_.url??null,tags:_.tags??[],metadata:_.metadata??{},archived:_.archived===!0,created_at:_.created_at,updated_at:_.updated_at}}function JQ(){return{schema_version:0,sources:0,source_revisions:0,chunks:0,wiki_pages:0,citations:0,indexes:0,runs:0,run_events:0,redaction_findings:0,audit_events:0,approval_gates:0,storage_objects:0,embeddings:0,vector_entries:0,reindex_queue:0,knowledge_machines:0,sync_snapshots:0,sync_changes:0,sync_conflicts:0,sync_table_clocks:0,sync_imports:0,promotion_candidates:0,durable_records:0}}function GQ(_,$,U=!1){return{query:_,limit:$,offset:0,mode:{keyword:!0,catalog:!0,semantic:U},semantic_provider:null,semantic_model:null,semantic_dimensions:null,counts:{keyword_results:0,catalog_results:0,semantic_results:0,merged_results:0},warnings:["knowledge_db_missing"],results:[]}}function Gb(_){return _.normalize("NFKC").trim().replace(/\s+/g," ").toLowerCase()}function Tb(_,$,U=!1){let N=GQ(_,$,U);return{query:_,normalized_query:Gb(_),created_at:new Date().toISOString(),mode:N.mode,warnings:N.warnings,search_counts:N.counts,results:[],citations:[],excerpts:[],graph:{citations:[],backlinks:[]},notes:{permissions:[],freshness:[]}}}function T3(_,$,U){let N=U??$.jsonStorePath;if(Q_(N))return N;if(_==="global"){let D=_D();if(Q_(D))return D}return N}function Bb(_){let $=JSON.stringify(_);return Math.max(1,Math.ceil($.length/4))}function K3(_,$){let U=(_??"").normalize("NFKC").trim().replace(/\s+/g," ");if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-1)).trim()}...`}function WQ(_,$,U){let N=d_(K3(_,U),$);return{text:N.text,redactions:N.findings.length}}function SQ(_,$,U){let N=_.now??new Date,D=_.source??"search",j=_.purpose??(D==="loops"||D==="runs"?"proposal":"agent_context"),I=(_.query??_.topic??$.query).normalize("NFKC").trim().replace(/\s+/g," "),E=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),J=Math.max(500,Math.min(_.maxTokens??6000,1e5)),W=0,S=$.citations.slice(0,Math.max(E*2,E)).map((Q,V)=>{let G=WQ(Q.quote,U,V<3?220:140);W+=G.redactions;let T=Q.source_ref??Q.source_uri??Q.artifact_path??Q.artifact_uri??Q.id;return{id:`cite_${h1("sha256").update(`${Q.id}\x00${T}`).digest("hex").slice(0,12)}`,kind:Q.artifact_uri||Q.artifact_path?"artifact":"source",ref:T,source_ref:Q.source_ref,source_uri:Q.source_uri,artifact_uri:Q.artifact_uri,artifact_path:Q.artifact_path,run_id:null,run_event_id:null,revision:Q.revision,hash:Q.hash,chunk_id:Q.chunk_id,offsets:{start:Q.start_offset,end:Q.end_offset},quote_preview:G.text}}),L=new Map($.citations.map((Q,V)=>[Q.id,S[V]])),X=$.excerpts.slice(0,Math.max(E*2,E)).map((Q)=>{let V=$.results.find((F)=>F.id===Q.result_id),G=Q.citation_id?L.get(Q.citation_id):void 0,T=WQ(Q.text,U,520);return W+=T.redactions,{id:`ev_${h1("sha256").update(`${Q.kind}\x00${Q.result_id}\x00${Q.citation_id??""}`).digest("hex").slice(0,14)}`,kind:Q.kind,title:K3(V?.title??G?.ref??Q.kind,100),text_preview:T.text,score:Number(Q.score.toFixed(6)),citation_ids:G?[G.id]:[],provenance:{source:D,record_ref:`${Q.kind}:${Q.result_id}`,created_at:$.created_at,updated_at:null,metadata_keys:[]}}}).sort((Q,V)=>V.score-Q.score||Q.id.localeCompare(V.id)).slice(0,E),z=new Set(X.flatMap((Q)=>Q.citation_ids)),Y=S.filter((Q)=>z.has(Q.id)),P=Array.from(new Set($.warnings)),O=`ctx_${h1("sha256").update([D,j,I,P.join(","),X.map((Q)=>Q.id).join(",")].join("\x00")).digest("hex").slice(0,20)}`,R={ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:N.toISOString(),source:D,purpose:j,query:I,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:O,budgets:{max_tokens:J,estimated_tokens:0,max_items:E,items_included:X.length,items_available:$.excerpts.length,items_truncated:Math.max(0,$.excerpts.length-X.length),token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:W,reminders:["This pack is read-only and performs no durable writes.","Legacy JSON note evidence is bounded and redacted before inclusion."]},citations:Y,evidence:X,duplicate_candidates:[],outline:{title:I?`Knowledge context: ${K3(I,80)}`:"Knowledge context",bullets:X.length>0?X.slice(0,5).map((Q)=>`${Q.id}: ${Q.title}`):["No matching bounded evidence was found."],evidence_ids:X.slice(0,8).map((Q)=>Q.id),duplicate_candidate_ids:[],next_actions:["Use evidence_ids and citation_ids in prompts instead of raw excerpts when possible.","Inspect cited refs only if the bounded preview is insufficient.","Use knowledge build/file-answer only with explicit approval for durable writes."]},warnings:P,message:`${X.length} bounded evidence item(s), estimated under ${J} token(s)`};return R.budgets.estimated_tokens=Bb(R),R.budgets.token_budget_exceeded=R.budgets.estimated_tokens>J,R.message=`${R.evidence.length} bounded evidence item(s), estimated ${R.budgets.estimated_tokens}/${J} token(s)`,R}function Vb(){return{schema_version:0,chunks:0,vector_entries:0,missing_embeddings:0,queued:{},stale_revisions:0}}function Fb(){return{total_embeddings:0,total_vector_entries:0,indexes:[]}}function Kb(_){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 LQ(_){let $=_.now??new Date,U=_.source??"search",N=_.purpose??(U==="loops"||U==="runs"?"proposal":"agent_context"),D=(_.query??_.topic??"").normalize("NFKC").trim().replace(/\s+/g," "),j=Math.max(1,Math.min(_.maxItems??_.limit??8,50)),I=Math.max(500,Math.min(_.maxTokens??6000,1e5)),E=`ctx_${h1("sha256").update(["empty",U,N,D,_.topic??"",_.since??""].join("\x00")).digest("hex").slice(0,20)}`;return{ok:!0,format:"knowledge-agent-context-pack",version:1,created_at:$.toISOString(),source:U,purpose:N,query:D,topic:_.topic??null,since:_.since??null,dry_run:!0,idempotency_key:E,budgets:{max_tokens:I,estimated_tokens:0,max_items:j,items_included:0,items_available:0,items_truncated:0,token_budget_exceeded:!1},safety:{raw_artifact_content_included:!1,durable_writes_performed:!1,redactions:0,reminders:["This pack is read-only and performs no durable writes.","No knowledge.db exists for this scope yet."]},citations:[],evidence:[],duplicate_candidates:[],outline:{title:D?`Context for ${D}`:"Knowledge context",bullets:[],evidence_ids:[],duplicate_candidate_ids:[],next_actions:[]},warnings:["knowledge_db_missing"],message:`0 bounded evidence item(s), estimated 0/${I} token(s)`}}function M3(_){let $=_.artifact_store.s3?.prefix?.replace(/^\/+|\/+$/g,"");return $?`${$}/`:null}function Mb(_,$){let U=v(_);try{let N=U.query(`SELECT artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),D=new Map,j=0,I=0,E=0,J=0,W=0,S=0,L=0,X=0,z=0,Y=0,P=0,O=0,R=new Map,Q=[],V=[],G=[],T=[],F=$.artifact_store.uri_prefix,M=Mz($);for(let j_ of N){if(D.set(j_.kind,(D.get(j_.kind)??0)+1),j_.hash?.startsWith("sha256:"))j+=1;if(typeof j_.size_bytes==="number"&&j_.size_bytes>=0)I+=1,E+=j_.size_bytes;if(j_.artifact_uri.startsWith(F))J+=1;else if(Q.length<5)Q.push(j_.artifact_uri);let u_=A0(j_.metadata_json);if(Vz(u_))L+=1;let V0=typeof u_.key==="string"?u_.key:null;if(!V0)W+=1;else if(M&&V0.startsWith(M)){if(S+=1,V.length<5)V.push(V0)}let Q3=typeof u_.artifact_modified_at==="string"?u_.artifact_modified_at:null;if(Q3)if(Number.isNaN(Date.parse(Q3))){if(z+=1,G.length<5)G.push(j_.artifact_uri)}else X+=1;let sU=u_.provenance&&typeof u_.provenance==="object"&&!Array.isArray(u_.provenance)?u_.provenance:null;if(sU){Y+=1;let LE=typeof sU.artifact_key==="string"?sU.artifact_key:null,G3=typeof sU.generated_from==="string"?sU.generated_from:"unknown";if(R.set(G3,(R.get(G3)??0)+1),LE){if(P+=1,V0&&LE!==V0){if(O+=1,T.length<5)T.push(`${j_.artifact_uri}:provenance.artifact_key=${LE}:key=${V0}`)}}else if(T.length<5)T.push(`${j_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${j_.artifact_uri}:missing_provenance`)}let q=N.length-j,x=N.length-I,l=N.length-X-z,D_=N.length-Y,I_=Y-P,I$=N.length-J,G_=[q>0?`artifact_manifest_missing_hash:${q}`:null,x>0?`artifact_manifest_missing_size:${x}`:null,W>0?`artifact_manifest_missing_key:${W}`:null,I$>0?`artifact_manifest_uri_prefix_mismatch:${I$}`:null,S>0?`artifact_manifest_s3_key_contains_storage_prefix:${S}`:null,z>0?`artifact_manifest_invalid_modified_at:${z}`:null,D_>0?`artifact_manifest_missing_provenance:${D_}`:null,I_>0?`artifact_manifest_missing_provenance_artifact_key:${I_}`:null,O>0?`artifact_manifest_provenance_key_mismatch:${O}`:null,L>0?`artifact_manifest_raw_payload_sentinels:${L}`:null].filter((j_)=>Boolean(j_)),k$=G_.length===0;return{ok:k$,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:F,s3:$.artifact_store.s3,artifacts:{total:N.length,by_kind:[...D.entries()].map(([j_,u_])=>({kind:j_,count:u_})).sort((j_,u_)=>j_.kind.localeCompare(u_.kind)),with_hash:j,missing_hash:q,with_size:I,missing_size:x,total_size_bytes:E},modified_time:{with_modified_at:X,missing_modified_at:l,invalid_modified_at:z,examples:G},provenance:{with_provenance:Y,missing_provenance:D_,with_artifact_key:P,missing_artifact_key:I_,artifact_key_mismatches:O,generated_from:[...R.entries()].map(([j_,u_])=>({value:j_,count:u_})).sort((j_,u_)=>j_.value.localeCompare(u_.value)),examples:T},uri_prefix:{matching:J,mismatched:I$,examples:Q},keys:{with_key:N.length-W,missing_key:W,prefixed_with_storage_prefix:S,prefixed_examples:V},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:S===0&&W===0,tracks_modified_time:X>0&&z===0,preserves_provenance:D_===0&&I_===0&&O===0},raw_payload_sentinel_hits:L,warnings:G_,message:k$?`${N.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${G_.join(", ")}`}}finally{U.close()}}function gb(_,$){let U=Mz($);if(!U)return[];let N=v(_);try{let D=N.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json + ORDER BY artifact_uri ASC`).all(),D=new Map,j=0,I=0,E=0,J=0,W=0,S=0,L=0,X=0,z=0,Y=0,P=0,O=0,R=new Map,Q=[],V=[],G=[],T=[],F=$.artifact_store.uri_prefix,M=M3($);for(let j_ of N){if(D.set(j_.kind,(D.get(j_.kind)??0)+1),j_.hash?.startsWith("sha256:"))j+=1;if(typeof j_.size_bytes==="number"&&j_.size_bytes>=0)I+=1,E+=j_.size_bytes;if(j_.artifact_uri.startsWith(F))J+=1;else if(Q.length<5)Q.push(j_.artifact_uri);let u_=A0(j_.metadata_json);if(V3(u_))L+=1;let V0=typeof u_.key==="string"?u_.key:null;if(!V0)W+=1;else if(M&&V0.startsWith(M)){if(S+=1,V.length<5)V.push(V0)}let Qz=typeof u_.artifact_modified_at==="string"?u_.artifact_modified_at:null;if(Qz)if(Number.isNaN(Date.parse(Qz))){if(z+=1,G.length<5)G.push(j_.artifact_uri)}else X+=1;let sU=u_.provenance&&typeof u_.provenance==="object"&&!Array.isArray(u_.provenance)?u_.provenance:null;if(sU){Y+=1;let LE=typeof sU.artifact_key==="string"?sU.artifact_key:null,Gz=typeof sU.generated_from==="string"?sU.generated_from:"unknown";if(R.set(Gz,(R.get(Gz)??0)+1),LE){if(P+=1,V0&&LE!==V0){if(O+=1,T.length<5)T.push(`${j_.artifact_uri}:provenance.artifact_key=${LE}:key=${V0}`)}}else if(T.length<5)T.push(`${j_.artifact_uri}:missing_provenance_artifact_key`)}else if(T.length<5)T.push(`${j_.artifact_uri}:missing_provenance`)}let q=N.length-j,x=N.length-I,l=N.length-X-z,D_=N.length-Y,I_=Y-P,I$=N.length-J,G_=[q>0?`artifact_manifest_missing_hash:${q}`:null,x>0?`artifact_manifest_missing_size:${x}`:null,W>0?`artifact_manifest_missing_key:${W}`:null,I$>0?`artifact_manifest_uri_prefix_mismatch:${I$}`:null,S>0?`artifact_manifest_s3_key_contains_storage_prefix:${S}`:null,z>0?`artifact_manifest_invalid_modified_at:${z}`:null,D_>0?`artifact_manifest_missing_provenance:${D_}`:null,I_>0?`artifact_manifest_missing_provenance_artifact_key:${I_}`:null,O>0?`artifact_manifest_provenance_key_mismatch:${O}`:null,L>0?`artifact_manifest_raw_payload_sentinels:${L}`:null].filter((j_)=>Boolean(j_)),k$=G_.length===0;return{ok:k$,read_only:!0,storage_type:$.storage_type,artifact_uri_prefix:F,s3:$.artifact_store.s3,artifacts:{total:N.length,by_kind:[...D.entries()].map(([j_,u_])=>({kind:j_,count:u_})).sort((j_,u_)=>j_.kind.localeCompare(u_.kind)),with_hash:j,missing_hash:q,with_size:I,missing_size:x,total_size_bytes:E},modified_time:{with_modified_at:X,missing_modified_at:l,invalid_modified_at:z,examples:G},provenance:{with_provenance:Y,missing_provenance:D_,with_artifact_key:P,missing_artifact_key:I_,artifact_key_mismatches:O,generated_from:[...R.entries()].map(([j_,u_])=>({value:j_,count:u_})).sort((j_,u_)=>j_.value.localeCompare(u_.value)),examples:T},uri_prefix:{matching:J,mismatched:I$,examples:Q},keys:{with_key:N.length-W,missing_key:W,prefixed_with_storage_prefix:S,prefixed_examples:V},sync_manifest:{copied_by_sync:!0,generated_artifacts_only:!0,includes_raw_source_bytes:!1,hash_algorithm:"sha256",portable_keys:S===0&&W===0,tracks_modified_time:X>0&&z===0,preserves_provenance:D_===0&&I_===0&&O===0},raw_payload_sentinel_hits:L,warnings:G_,message:k$?`${N.length} generated artifact manifest row(s) ready for ${$.storage_type} sync`:`Generated artifact manifest needs attention: ${G_.join(", ")}`}}finally{U.close()}}function gb(_,$){let U=M3($);if(!U)return[];let N=v(_);try{let D=N.query(`SELECT id, artifact_uri, kind, hash, size_bytes, metadata_json FROM storage_objects - ORDER BY artifact_uri ASC`).all(),j=[];for(let I of D){let E=A0(I.metadata_json),J=typeof E.key==="string"?E.key:null;if(!J?.startsWith(U))continue;let W=J.slice(U.length);if(!W)continue;j.push({id:I.id,artifact_uri:I.artifact_uri,kind:I.kind,current_key:J,repaired_key:a$(W),hash:I.hash,size_bytes:I.size_bytes})}return j}finally{N.close()}}function Zb(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],N=[x2({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!XQ(_.machine))N.push(x2({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",_.machine,..._.peerWorkspace?["--peer-workspace",_.peerWorkspace]:[],...U,...$]}));else if(_.peerWorkspace)N.push(x2({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",_.peerWorkspace,...U,...$]}));for(let D of _.resolvedWorkspace?.repair_hints??[])N.push({id:D.id,reason:D.reason,command:D.command,shell_command:D.shell_command});if(_.openConflicts>0)N.push(x2({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return N}function Hb(){let _=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",$=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!$)return{command:_,argsPrefix:[]};let U;try{U=JSON.parse($)}catch(N){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${N instanceof Error?N.message:String(N)}`)}if(!Array.isArray(U)||!U.every((N)=>typeof N==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:U}}function PQ(_,$,U,N){let D=Hb(),j=Db(D.command,[...D.argsPrefix,N.target,$],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((j.status??1)!==0){let I=N.source==="open-machines"?` via ${N.route??"resolved"}:${N.target}`:"";throw Error(`ssh ${_}${I} failed: ${(j.stderr||j.stdout||String(j.status)).trim()}`)}return j.stdout||""}function OQ(_,$,U){try{return JSON.parse(U)}catch(N){let D=U.trim().slice(0,240);throw Error(`Remote knowledge ${$} on ${_} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${D||String(N)}`)}}function qb(_,$){if(typeof $!=="object"||$===null||!("format"in $)||$.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${_} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:N}=$;if(typeof U!=="number"||typeof N!=="number"||Um6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function kb(_,$){if(typeof $!=="object"||$===null||!("ok"in $)||!("target"in $)||!("tables"in $)||!("artifacts"in $)||!("conflicts_created"in $))throw Error(`Remote knowledge sync import on ${_} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:N}=$;if(typeof U!=="number"||typeof N!=="number"||Um6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function bb(_){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 u2 extends Error{code="semantic_query_unavailable";constructor(){super("semantic_query_unavailable: the hosted Knowledge item store has no configured vector index.");this.name="KnowledgeSemanticSearchUnavailableError"}}class TQ{options;ensuredWorkspace;cachedConfig;cachedProjectLinksAuthority;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??WN(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=F0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return QN({storePath:_.jsonStorePath,storePathOverridden:!1})}projectLinksAuthority(){if(this.options.projectLinksAuthority)return this.options.projectLinksAuthority;if(this.cachedProjectLinksAuthority)return this.cachedProjectLinksAuthority;if(p$()){let{apiKey:$}=pE(process.env);if(!$)throw Error("Knowledge project links require the configured API credential in postgres mode.");return this.cachedProjectLinksAuthority=_Q({baseUrl:TN(this.config(),process.env),apiKey:$}),this.cachedProjectLinksAuthority}let _=this.ensureWorkspace();return this.cachedProjectLinksAuthority=v2({databasePath:_.knowledgeDbPath,itemStore:this.itemStore(),options:{packageVersion:L$.version,authorityId:this.options.projectLinksIdentity?.authorityId??process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:this.options.projectLinksIdentity?.tenantId??process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:this.options.projectLinksIdentity?.corpusId??process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),this.cachedProjectLinksAuthority}async close(){let _=this.cachedProjectLinksAuthority;this.cachedProjectLinksAuthority=void 0,await _?.close()}async listItems(_={}){return this.itemStore().list(_)}async getItem(_){return this.itemStore().get(_)}async createItem(_){return this.itemStore().create(_)}async updateItem(_,$){return this.itemStore().update(_,$)}async deleteItem(_){return this.itemStore().delete(_)}async deleteItems(_){return this.itemStore().deleteMany(_)}async resolveInventory(_={}){if(this.isApiMode())return this.cloudInventory(_);return this.inventory(_)}config(_={}){let $=_.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||_.ensure||Q_($.configPath))this.cachedConfig=Q_($.configPath)?YE($.configPath):$D();return this.cachedConfig}safetyPolicy(){return oX(this.config(),this.workspace)}artifactStore(){return tE(this.config(),this.ensureWorkspace())}storageContract(){return VN(this.config(),this.workspace,this.scope)}validateStorage(){return eE(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=RE(this.options.scope,this.options.cwd),N=nY({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!N.dry_run&&N.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return N}mergeLegacyPath(_={}){let $=this.workspace,U=RE(this.options.scope,this.options.cwd),N=cY({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!N.dry_run&&N.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return N}setup(_={}){let $=this.ensureWorkspace(),U=this.config({ensure:!0}),N=bb(_.mode)??U.mode,D=_.apiUrl?X6(_.apiUrl):U.hosted?.api_url?X6(U.hosted.api_url):null,j={...U,mode:N,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?K3():U.storage};M3($.configPath,j),this.cachedConfig=j;let I=VN(j,$,this.scope);return{ok:!0,mode:N,api_url:j.hosted?.api_url??null,storage_type:j.storage.type,artifact_uri_prefix:I.artifact_store.uri_prefix,canonical_example:I.canonical_example,config_path:$.configPath,next:N==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${N}`}}authStatus(_=process.env){return xX(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return vX({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return fX(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:Q_(_.home),config_path:_.configPath,config_exists:Q_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:Q_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:Q_(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,runs_dir:_.runsDir,schemas_dir:_.schemasDir,wiki_dir:_.wikiDir,config:this.config(),message:_.home}}initDb(){return c(this.ensureWorkspace().knowledgeDbPath)}dbStats(){GN("reading knowledge.db stats");let _=this.workspace;if(!Q_(_.knowledgeDbPath))return JQ();return dE(_.knowledgeDbPath)}enqueuePromotion(_){return sR(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return $Y(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return _Y(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return UY(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return DY(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return NY(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return jY(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:N,includeArchived:D,storePath:j,storeExists:I,storeReadError:E}=_,J=U.filter((X)=>X.archived!==!0),W=D?U:J,S=JQ(),L={legacy_items:U.length,active_items:J.length,archived_items:U.length-J.length,schema_version:S.schema_version,sources:S.sources,source_revisions:S.source_revisions,chunks:S.chunks,wiki_pages:S.wiki_pages,citations:S.citations,indexes:S.indexes,runs:S.runs,run_events:S.run_events,storage_objects:S.storage_objects,embeddings:S.embeddings,vector_entries:S.vector_entries,reindex_queue:S.reindex_queue,redaction_findings:S.redaction_findings,audit_events:S.audit_events,approval_gates:S.approval_gates,knowledge_machines:S.knowledge_machines,sync_snapshots:S.sync_snapshots,sync_changes:S.sync_changes,sync_conflicts:S.sync_conflicts,sync_table_clocks:S.sync_table_clocks,sync_imports:S.sync_imports,promotion_candidates:S.promotion_candidates,durable_records:S.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:N,paths:{json_store_path:$.jsonStorePath,json_store_exists:Q_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:Q_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:L,legacy_store:{path:j,exists:I,read_error:E,total_items:U.length,active_items:J.length,archived_items:U.length-J.length,items_returned:Math.min(W.length,N)},items:W.slice(0,N).map(AQ),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],promotion_candidates:[],durable_records:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=EQ(_.limit),U=await this.fetchCloudItems(),N=SD();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:N?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=EQ(_.limit),N=_.storePath??$.jsonStorePath,D=Qb(N),j=D.items.filter((S)=>S.archived!==!0),I=_.includeArchived?D.items:j;if(!Q_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:U,includeArchived:_.includeArchived??!1,storePath:N,storeExists:D.exists,storeReadError:D.read_error});c($.knowledgeDbPath);let J=dE($.knowledgeDbPath),W=v($.knowledgeDbPath);try{let S=g$(D$(W,` + ORDER BY artifact_uri ASC`).all(),j=[];for(let I of D){let E=A0(I.metadata_json),J=typeof E.key==="string"?E.key:null;if(!J?.startsWith(U))continue;let W=J.slice(U.length);if(!W)continue;j.push({id:I.id,artifact_uri:I.artifact_uri,kind:I.kind,current_key:J,repaired_key:a$(W),hash:I.hash,size_bytes:I.size_bytes})}return j}finally{N.close()}}function Zb(_){let $=["--scope",_.scope,"--json"],U=_.tables?.length?["--tables",_.tables.join(",")]:[],N=[x2({id:"sync_status",reason:"Inspect local sync registry, clocks, snapshots, and conflicts.",args:["sync","status",...$]})];if(_.machine&&!XQ(_.machine))N.push(x2({id:"sync_dry_run_remote",reason:"Preview remote machine sync before changing either workspace.",args:["sync","dry-run","--machine",_.machine,..._.peerWorkspace?["--peer-workspace",_.peerWorkspace]:[],...U,...$]}));else if(_.peerWorkspace)N.push(x2({id:"sync_dry_run_peer",reason:"Preview local peer sync before changing either workspace.",args:["sync","dry-run","--peer-workspace",_.peerWorkspace,...U,...$]}));for(let D of _.resolvedWorkspace?.repair_hints??[])N.push({id:D.id,reason:D.reason,command:D.command,shell_command:D.shell_command});if(_.openConflicts>0)N.push(x2({id:"sync_conflicts",reason:"Review open conflicts before relying on bidirectional sync.",args:["sync","conflicts",...$]}));return N}function Hb(){let _=process.env.KNOWLEDGE_SSH_COMMAND?.trim()||"ssh",$=process.env.KNOWLEDGE_SSH_COMMAND_ARGS_JSON;if(!$)return{command:_,argsPrefix:[]};let U;try{U=JSON.parse($)}catch(N){throw Error(`KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array: ${N instanceof Error?N.message:String(N)}`)}if(!Array.isArray(U)||!U.every((N)=>typeof N==="string"))throw Error("KNOWLEDGE_SSH_COMMAND_ARGS_JSON must be a JSON string array.");return{command:_,argsPrefix:U}}function PQ(_,$,U,N){let D=Hb(),j=Db(D.command,[...D.argsPrefix,N.target,$],{encoding:"utf8",env:process.env,input:U,maxBuffer:67108864});if((j.status??1)!==0){let I=N.source==="open-machines"?` via ${N.route??"resolved"}:${N.target}`:"";throw Error(`ssh ${_}${I} failed: ${(j.stderr||j.stdout||String(j.status)).trim()}`)}return j.stdout||""}function OQ(_,$,U){try{return JSON.parse(U)}catch(N){let D=U.trim().slice(0,240);throw Error(`Remote knowledge ${$} on ${_} did not return JSON. Install a compatible @hasna/knowledge CLI on the remote machine. Output: ${D||String(N)}`)}}function qb(_,$){if(typeof $!=="object"||$===null||!("format"in $)||$.format!=="knowledge-sync-bundle")throw Error(`Remote knowledge sync export on ${_} did not return a knowledge sync bundle. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:N}=$;if(typeof U!=="number"||typeof N!=="number"||Um6)throw Error(`Remote knowledge sync export on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function kb(_,$){if(typeof $!=="object"||$===null||!("ok"in $)||!("target"in $)||!("tables"in $)||!("artifacts"in $)||!("conflicts_created"in $))throw Error(`Remote knowledge sync import on ${_} did not return a sync import result. Install @hasna/knowledge 0.2.32 or newer on the remote machine.`);let{protocol_version:U,min_protocol_version:N}=$;if(typeof U!=="number"||typeof N!=="number"||Um6)throw Error(`Remote knowledge sync import on ${_} uses an unsupported sync protocol. Install @hasna/knowledge 0.2.32 or newer on both machines.`)}function bb(_){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 u2 extends Error{code="semantic_query_unavailable";constructor(){super("semantic_query_unavailable: the hosted Knowledge item store has no configured vector index.");this.name="KnowledgeSemanticSearchUnavailableError"}}class TQ{options;ensuredWorkspace;cachedConfig;cachedProjectLinksAuthority;constructor(_={}){this.options=_}get scope(){return this.options.scope??"global"}get workspace(){return this.ensuredWorkspace??WN(this.options.scope,this.options.cwd)}ensureWorkspace(){if(!this.ensuredWorkspace)this.ensuredWorkspace=F0(this.workspace.home);return this.ensuredWorkspace}jsonStorePath(){return this.ensureWorkspace().jsonStorePath}itemStore(){let _=this.ensureWorkspace();return QN({storePath:_.jsonStorePath,storePathOverridden:!1})}projectLinksAuthority(){if(this.options.projectLinksAuthority)return this.options.projectLinksAuthority;if(this.cachedProjectLinksAuthority)return this.cachedProjectLinksAuthority;if(p$()){let{apiKey:$}=pE(process.env);if(!$)throw Error("Knowledge project links require the configured API credential in postgres mode.");return this.cachedProjectLinksAuthority=_Q({baseUrl:TN(this.config(),process.env),apiKey:$}),this.cachedProjectLinksAuthority}let _=this.ensureWorkspace();return this.cachedProjectLinksAuthority=v2({databasePath:_.knowledgeDbPath,itemStore:this.itemStore(),options:{packageVersion:L$.version,authorityId:this.options.projectLinksIdentity?.authorityId??process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:this.options.projectLinksIdentity?.tenantId??process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:this.options.projectLinksIdentity?.corpusId??process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),this.cachedProjectLinksAuthority}async close(){let _=this.cachedProjectLinksAuthority;this.cachedProjectLinksAuthority=void 0,await _?.close()}async listItems(_={}){return this.itemStore().list(_)}async getItem(_){return this.itemStore().get(_)}async createItem(_){return this.itemStore().create(_)}async updateItem(_,$){return this.itemStore().update(_,$)}async deleteItem(_){return this.itemStore().delete(_)}async deleteItems(_){return this.itemStore().deleteMany(_)}async resolveInventory(_={}){if(this.isApiMode())return this.cloudInventory(_);return this.inventory(_)}config(_={}){let $=_.ensure?this.ensureWorkspace():this.workspace;if(!this.cachedConfig||_.ensure||Q_($.configPath))this.cachedConfig=Q_($.configPath)?YE($.configPath):$D();return this.cachedConfig}safetyPolicy(){return oX(this.config(),this.workspace)}artifactStore(){return tE(this.config(),this.ensureWorkspace())}storageContract(){return VN(this.config(),this.workspace,this.scope)}validateStorage(){return eE(this.config(),this.workspace)}assertStorageValid(_){let $=this.validateStorage();if(!$.ok)throw Error(`Storage contract invalid before ${_}: ${$.errors.join("; ")}`)}migrateLegacyPath(_={}){let $=this.workspace,U=RE(this.options.scope,this.options.cwd),N=nY({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!N.dry_run&&N.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return N}mergeLegacyPath(_={}){let $=this.workspace,U=RE(this.options.scope,this.options.cwd),N=cY({scope:this.scope,current:$,legacy:U,approveWrite:_.approveWrite,approvedBy:_.approvedBy});if(!N.dry_run&&N.ok)this.ensuredWorkspace=void 0,this.cachedConfig=void 0;return N}setup(_={}){let $=this.ensureWorkspace(),U=this.config({ensure:!0}),N=bb(_.mode)??U.mode,D=_.apiUrl?X6(_.apiUrl):U.hosted?.api_url?X6(U.hosted.api_url):null,j={...U,mode:N,hosted:{...U.hosted??{},...D?{api_url:D}:{}},storage:_.canonicalExample?Kz():U.storage};Mz($.configPath,j),this.cachedConfig=j;let I=VN(j,$,this.scope);return{ok:!0,mode:N,api_url:j.hosted?.api_url??null,storage_type:j.storage.type,artifact_uri_prefix:I.artifact_store.uri_prefix,canonical_example:I.canonical_example,config_path:$.configPath,next:N==="hosted"?["knowledge auth login --api-key ","knowledge storage status --json"]:["knowledge search ","knowledge "],message:`Set knowledge mode to ${N}`}}authStatus(_=process.env){return xX(this.config(),_)}saveAuth(_,$=process.env){let U=_.apiUrl??this.config().hosted?.api_url;return vX({api_key:_.apiKey,email:_.email,org_id:_.orgId,org_slug:_.orgSlug,user_id:_.userId,api_url:U},$)}clearAuth(_=process.env){return fX(_)}paths(){let _=this.workspace;return{ok:!0,scope:this.scope,home:_.home,exists:Q_(_.home),config_path:_.configPath,config_exists:Q_(_.configPath),json_store_path:_.jsonStorePath,json_store_exists:Q_(_.jsonStorePath),knowledge_db_path:_.knowledgeDbPath,knowledge_db_exists:Q_(_.knowledgeDbPath),artifacts_dir:_.artifactsDir,indexes_dir:_.indexesDir,logs_dir:_.logsDir,runs_dir:_.runsDir,schemas_dir:_.schemasDir,wiki_dir:_.wikiDir,config:this.config(),message:_.home}}initDb(){return c(this.ensureWorkspace().knowledgeDbPath)}dbStats(){GN("reading knowledge.db stats");let _=this.workspace;if(!Q_(_.knowledgeDbPath))return JQ();return dE(_.knowledgeDbPath)}enqueuePromotion(_){return sR(this.ensureWorkspace().knowledgeDbPath,_)}promotionInbox(_={}){return $Y(this.ensureWorkspace().knowledgeDbPath,_)}getPromotion(_){return _Y(this.ensureWorkspace().knowledgeDbPath,_)}reviewPromotion(_,$){return UY(this.ensureWorkspace().knowledgeDbPath,_,$)}promoteCandidate(_,$={}){return DY(this.ensureWorkspace().knowledgeDbPath,_,$)}rejectPromotion(_,$={}){return NY(this.ensureWorkspace().knowledgeDbPath,_,$)}durableRecords(_={}){return jY(this.ensureWorkspace().knowledgeDbPath,_)}itemOnlyInventory(_){let $=this.workspace,{items:U,limit:N,includeArchived:D,storePath:j,storeExists:I,storeReadError:E}=_,J=U.filter((X)=>X.archived!==!0),W=D?U:J,S=JQ(),L={legacy_items:U.length,active_items:J.length,archived_items:U.length-J.length,schema_version:S.schema_version,sources:S.sources,source_revisions:S.source_revisions,chunks:S.chunks,wiki_pages:S.wiki_pages,citations:S.citations,indexes:S.indexes,runs:S.runs,run_events:S.run_events,storage_objects:S.storage_objects,embeddings:S.embeddings,vector_entries:S.vector_entries,reindex_queue:S.reindex_queue,redaction_findings:S.redaction_findings,audit_events:S.audit_events,approval_gates:S.approval_gates,knowledge_machines:S.knowledge_machines,sync_snapshots:S.sync_snapshots,sync_changes:S.sync_changes,sync_conflicts:S.sync_conflicts,sync_table_clocks:S.sync_table_clocks,sync_imports:S.sync_imports,promotion_candidates:S.promotion_candidates,durable_records:S.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:N,paths:{json_store_path:$.jsonStorePath,json_store_exists:Q_($.jsonStorePath),knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:Q_($.knowledgeDbPath),artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:L,legacy_store:{path:j,exists:I,read_error:E,total_items:U.length,active_items:J.length,archived_items:U.length-J.length,items_returned:Math.min(W.length,N)},items:W.slice(0,N).map(AQ),sources:[],source_revisions:[],chunks:[],wiki_pages:[],indexes:[],storage_objects:[],runs:[],vector_indexes:[],reindex_queue:[],machines:[],sync_conflicts:[],approval_gates:[],audit_events:[],promotion_candidates:[],durable_records:[],message:`${U.length} item(s), 0 source(s), 0 chunk(s), 0 wiki page(s), 0 artifact(s)`}}async cloudInventory(_={}){let $=EQ(_.limit),U=await this.fetchCloudItems(),N=SD();return this.itemOnlyInventory({items:U,limit:$,includeArchived:_.includeArchived??!1,storePath:N?.baseUrl??"cloud",storeExists:!0,storeReadError:null})}inventory(_={}){let $=this.workspace,U=EQ(_.limit),N=_.storePath??$.jsonStorePath,D=Qb(N),j=D.items.filter((S)=>S.archived!==!0),I=_.includeArchived?D.items:j;if(!Q_($.knowledgeDbPath))return this.itemOnlyInventory({items:D.items,limit:U,includeArchived:_.includeArchived??!1,storePath:N,storeExists:D.exists,storeReadError:D.read_error});c($.knowledgeDbPath);let J=dE($.knowledgeDbPath),W=v($.knowledgeDbPath);try{let S=g$(D$(W,` SELECT s.id, s.uri, @@ -1709,9 +1709,9 @@ Pages should be concise, cited, and organized for both humans and agents. FROM durable_knowledge_records ORDER BY updated_at DESC, created_at DESC LIMIT ? - `,[U]).map(Yb),x={legacy_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,schema_version:J.schema_version,sources:J.sources,source_revisions:J.source_revisions,chunks:J.chunks,wiki_pages:J.wiki_pages,citations:J.citations,indexes:J.indexes,runs:J.runs,run_events:J.run_events,storage_objects:J.storage_objects,embeddings:J.embeddings,vector_entries:J.vector_entries,reindex_queue:J.reindex_queue,redaction_findings:J.redaction_findings,audit_events:J.audit_events,approval_gates:J.approval_gates,knowledge_machines:J.knowledge_machines,sync_snapshots:J.sync_snapshots,sync_changes:J.sync_changes,sync_conflicts:J.sync_conflicts,sync_table_clocks:J.sync_table_clocks,sync_imports:J.sync_imports,promotion_candidates:J.promotion_candidates,durable_records:J.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:U,paths:{json_store_path:N,json_store_exists:D.exists,knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:x,legacy_store:{path:N,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,items_returned:Math.min(I.length,U)},items:I.slice(0,U).map(AQ),sources:S,source_revisions:L,chunks:X,wiki_pages:z,indexes:Y,storage_objects:P,runs:O,vector_indexes:R,reindex_queue:Q,machines:V,sync_conflicts:G,approval_gates:T,audit_events:F,promotion_candidates:M,durable_records:q,message:`${D.items.length} item(s), ${J.sources} source(s), ${J.chunks} chunk(s), ${J.wiki_pages} wiki page(s), ${J.storage_objects} artifact(s)`}}finally{W.close()}}assertAppWikiWrite(_){LD({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return P5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return O5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal,title:_.title,content:_.content,tags:_.tags,sourceRefs:_.sourceRefs,path:_.path,metadata:_.metadata})}listAppWikiNotes(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return[];return z5({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!Q_(U.knowledgeDbPath))return null;return X5({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return R5({scope:this.scope,workspace:$,sourceRef:_.sourceRef,purpose:_.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async searchAppWiki(_){return this.search(_)}async queryAppWiki(_){return this.retrieveContext(_)}async initWiki(){let _=this.ensureWorkspace();c(_.knowledgeDbPath);let $=await wY(this.artifactStore()),U=v(_.knowledgeDbPath);try{R6(U,$.artifacts),vY(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return qY({..._,dbPath:$.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer(_){let $=this.ensureWorkspace(),U=await this.retrieveContext({query:_.prompt,limit:_.limit,semantic:_.semantic,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake});return kY({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return bY({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return A5({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return HN({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return QY({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let U=this.ensureWorkspace();return MN({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return kR({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return Vb();return AY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return _z({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return JY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return B5(this.config(),_)}modelRegistry(){return JA(this.config())}embeddingStatus(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return Fb();return Z5(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return bN({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return p$()}cloudStore(){let _=SD();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return _}async fetchCloudItems(){return YN(this.cloudStore())}async semanticSearch(_){let $=this.workspace;if(this.isApiMode())throw new u2;if(!Q_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return CN({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new u2;let N=await this.cloudStore().search({query:_.query,archive:"active",limit:_.limit,offset:_.offset});return XA(N.items,_,[],N.total)}let U=Tz(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){if(Q_(U))return xN({..._,legacyStorePath:U,config:this.config()});return GQ(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return fN({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let N=await this.search(_);return G6(N,{contextChars:_.contextChars})}let U=Tz(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){if(Q_(U)){let N=await xN({..._,legacyStorePath:U,config:this.config()});return G6(N,{contextChars:_.contextChars})}return Tb(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return r0({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let N=(_.query??_.topic??"").trim();if(N&&_.source!=="loops"&&_.source!=="runs"){let D=await this.search({..._,query:N}),j=G6(D,{contextChars:_.contextChars});return SQ(_,j,this.safetyPolicy())}return LQ(_)}let U=Tz(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){let N=(_.query??_.topic??"").trim();if(N&&_.source!=="loops"&&_.source!=="runs"&&Q_(U)){let D=await xN({..._,query:N,legacyStorePath:U,config:this.config()}),j=G6(D,{contextChars:_.contextChars});return SQ(_,j,this.safetyPolicy())}return LQ(_)}return N9({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new u2;let N=await this.cloudStore().search({query:_.prompt,archive:"active",limit:_.limit,offset:_.offset}),D=XA(N.items,{query:_.prompt,limit:_.limit,offset:_.offset,semantic:!1},[],N.total);return o5(N.items.map((j)=>j.item),{..._,config:this.config()},D)}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)jD(U);return t5({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return VY({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return lR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return oR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return Kb({scope:this.scope,workspaceHome:_.home});return g9({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.syncStatus(),N=this.storageContract(),D=this.validateStorage(),j=Mb($.knowledgeDbPath,N),I=_.machine?.trim()||null,E=_.peerWorkspace?.trim()||null,J=[],W=null,S=null;if(I&&!XQ(I)){let P=await oO({machineId:I,includeTailscale:_.includeTailscale});W=Gz(P),J.push(...P.warnings)}if(I||E){let P=await F2({machineId:I??Qz($),peerWorkspace:E,includeTailscale:_.includeTailscale});if(I&&!E&&(W?.source==="raw"||!P.ok||!P.project_root)){let O=DQ($.knowledgeDbPath,I);if(O){if(W?.source==="raw"&&O.ssh_target)W=Gz(NQ(O,I,{target:W.target,route:W.route,targetKind:W.target_kind,confidence:W.confidence,source:W.source,adapter:W.adapter,evidence:W.evidence,cacheability:W.cacheability,warnings:[]}));if(!P.ok||!P.project_root){let R=jQ(O,I,P);if(R)S=u1(R,R.project_root),J.push(...R.warnings)}}}S=P.ok&&P.project_root?u1(P,P.project_root):S??{...u1(P,E??""),project_root:P.project_root??E??""},J.push(...P.warnings)}if(!D.ok)J.push(...D.errors.map((P)=>`storage:${P}`));let L=Ob($.knowledgeDbPath,S);if(!L.ok)J.push("open_files_boundary_raw_payload_sentinels");if(!j.ok)J.push(...j.warnings);let X=S?.diagnostics.filter((P)=>P.severity==="fail")??[],z=D.ok&&j.ok&&L.ok&&X.length===0&&(S?.project_root!==""||!S),Y=Zb({scope:this.scope,machine:I,peerWorkspace:E,tables:_.tables,resolvedWorkspace:S,openConflicts:U.conflicts.open});return{ok:z,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:$.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:N,validation:D,artifact_manifest:j},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:L,resolved_route:W,resolved_workspace:S,recommended_commands:Y,warnings:[...new Set(J)],message:z?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(J)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.storageContract(),N=Mz(U),D=gb($.knowledgeDbPath,U),j=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:j,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if(_.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:0,audit_event_id:null,message:`Would repair ${D.length} legacy S3 artifact manifest key(s)`};if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let I=v($.knowledgeDbPath);try{let E=new Date().toISOString();I.transaction((S)=>{let L=I.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),X=I.query("SELECT id, metadata_json FROM storage_objects").all(),z=new Map(X.map((Y)=>[Y.id,A0(Y.metadata_json)]));for(let Y of S){let P=z.get(Y.id)??{};P.key=Y.repaired_key,L.run(JSON.stringify(P),E,Y.id)}})(D);let W=T_(I,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${$.home}/storage_objects`,decision:"allow",metadata:{approved_by:_.approvedBy,repaired:D.length,storage_type:U.storage_type,storage_prefix:N,artifact_uris:D.map((S)=>S.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:D.length,audit_event_id:W,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{I.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return M9({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return[];return Z9($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=tN($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return BD($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return HR({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=BD($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by "};let N=k9($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let j=T_(D,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:N.entity_kind,entity_id:N.entity_id,strategy:N.resolution_strategy,approved_by:N.approved_by,proposed_patch_uri:N.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:N,audit_event_id:j,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return[];return kA(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),c($.knowledgeDbPath),TD({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.recordClocks!==!1})}async importSyncBundle(_){let $=this.ensureWorkspace();return this.assertStorageValid("sync import"),c($.knowledgeDbPath),iN({targetDbPath:$.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:$.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:_.bundle,direction:_.direction??"import",dryRun:_.dryRun,localMachineId:_.machineId??null})}async syncRemotePeer(_){let $=_.direction??"both",U=_.dryRun===!0,N=this.ensureWorkspace();c(N.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],j=_.includeArtifactContent===!1?["--no-artifact-content"]:[],I=["--scope",this.scope,"--json"],E=await oO({machineId:_.machine,includeTailscale:_.includeTailscale}),J=await F2({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&E.source==="raw"||!J.ok||!J.project_root){let z=DQ(N.knowledgeDbPath,_.machine);if(z){if(!_.peerWorkspace&&E.source==="raw"&&z.ssh_target)E=NQ(z,_.machine,E);if(!J.ok||!J.project_root){let Y=jQ(z,_.machine,J);if(Y)J=Y}}}if(!J.ok||!J.project_root)throw Error([`Unable to resolve peer workspace for ${_.machine}.`,"Pass --peer-workspace or configure workspace path mapping in machines.",J.warnings.length?`Warnings: ${J.warnings.join(", ")}`:null].filter(Boolean).join(" "));let W=J.project_root,S={ok:!0,dry_run:U,direction:$,transport:"ssh",machine:_.machine,resolved_machine:E.target,resolved_route:Gz(E),resolved_workspace:u1(J,J.project_root),peer_workspace:W,message:""},L=!1,X=()=>{if(U||L)return;V9(N.knowledgeDbPath,{machineId:_.machine,route:E,workspace:J}),L=!0};if($==="pull"||$==="both"){let z=UQ(W,["sync","export",...I,...D,...j]),Y=PQ(_.machine,z,void 0,E),P=OQ(_.machine,"sync export",Y);qb(_.machine,P),S.pull=await this.importSyncBundle({bundle:P,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){X();let z=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),Y=UQ(W,["sync","import",...I,...U?["--dry-run"]:[]]),P=OQ(_.machine,"sync import",PQ(_.machine,Y,JSON.stringify(z),E));kb(_.machine,P),S.push=P}return S.ok=(S.pull?.ok??!0)&&(S.push?.ok??!0),X(),S.message=[IQ(S.resolved_workspace),S.pull?`pull: ${S.pull.message}`:null,S.push?`push: ${S.push.message}`:null].filter(Boolean).join("; "),S}async syncPeer(_){let $=_.direction??"both",U=this.ensureWorkspace();c(U.knowledgeDbPath);let N=zQ(_.peerWorkspace),D=Ib(N);c(D.knowledgeDbPath);let j=YE(D.configPath),I=VN(j,D,this.scope),E=tE(j,D),J=_.machineId??Qz(U),W=Qz(D),S=await F2({machineId:_.machineId??W,peerWorkspace:N,includeTailscale:!1}),L=()=>TD({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:J,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),X=()=>TD({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:I,machineId:W,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),z={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:u1(S,S.project_root??N),message:""};if($==="pull"||$==="both")z.pull=await iN({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:X(),targetBundle:L(),direction:"pull",dryRun:_.dryRun,localMachineId:J});if($==="push"||$==="both")z.push=await iN({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:I,targetStore:E,bundle:L(),targetBundle:X(),direction:"push",dryRun:_.dryRun,localMachineId:W});return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),z.message=[IQ(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}}function r2(_={}){return new TQ(_)}import{createHash as BQ}from"crypto";var Cb=Object.defineProperty,wb=(_)=>_;function vb(_,$){this[_]=wb.bind(null,$)}var fb=(_,$)=>{for(var U in $)Cb(_,U,{get:$[U],enumerable:!0,configurable:!0,set:vb.bind($,U)})},A={};fb(A,{void:()=>GC,util:()=>E_,unknown:()=>YC,union:()=>FC,undefined:()=>zC,tuple:()=>gC,transformer:()=>KQ,symbol:()=>OC,string:()=>uQ,strictObject:()=>VC,setErrorMap:()=>ub,set:()=>qC,record:()=>ZC,quotelessJson:()=>xb,promise:()=>fC,preprocess:()=>uC,pipeline:()=>hC,ostring:()=>rC,optional:()=>xC,onumber:()=>cC,oboolean:()=>mC,objectUtil:()=>Hz,object:()=>BC,number:()=>hQ,nullable:()=>yC,null:()=>XC,never:()=>QC,nativeEnum:()=>vC,nan:()=>SC,map:()=>HC,makeIssue:()=>n2,literal:()=>CC,lazy:()=>bC,late:()=>JC,isValid:()=>J0,isDirty:()=>kz,isAsync:()=>m1,isAborted:()=>qz,intersection:()=>MC,instanceof:()=>WC,getParsedType:()=>b6,getErrorMap:()=>m2,function:()=>kC,enum:()=>wC,effect:()=>KQ,discriminatedUnion:()=>KC,defaultErrorMap:()=>kU,datetimeRegex:()=>fQ,date:()=>PC,custom:()=>yQ,coerce:()=>nC,boolean:()=>rQ,bigint:()=>LC,array:()=>TC,any:()=>RC,addIssueToContext:()=>u,ZodVoid:()=>d1,ZodUnknown:()=>J4,ZodUnion:()=>vU,ZodUndefined:()=>CU,ZodType:()=>$_,ZodTuple:()=>j6,ZodTransformer:()=>q$,ZodSymbol:()=>n1,ZodString:()=>r$,ZodSet:()=>L0,ZodSchema:()=>$_,ZodRecord:()=>l1,ZodReadonly:()=>cU,ZodPromise:()=>P0,ZodPipeline:()=>o1,ZodParsedType:()=>r,ZodOptional:()=>m$,ZodObject:()=>w_,ZodNumber:()=>W4,ZodNullable:()=>C6,ZodNull:()=>wU,ZodNever:()=>N6,ZodNativeEnum:()=>uU,ZodNaN:()=>t1,ZodMap:()=>i1,ZodLiteral:()=>yU,ZodLazy:()=>xU,ZodIssueCode:()=>C,ZodIntersection:()=>fU,ZodFunction:()=>HU,ZodFirstPartyTypeKind:()=>o,ZodError:()=>Q$,ZodEnum:()=>L4,ZodEffects:()=>q$,ZodDiscriminatedUnion:()=>i2,ZodDefault:()=>hU,ZodDate:()=>W0,ZodCatch:()=>rU,ZodBranded:()=>t2,ZodBoolean:()=>bU,ZodBigInt:()=>S4,ZodArray:()=>c$,ZodAny:()=>S0,Schema:()=>$_,ParseStatus:()=>e_,OK:()=>j$,NEVER:()=>dC,INVALID:()=>t,EMPTY_PATH:()=>hb,DIRTY:()=>ZU,BRAND:()=>AC});var E_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let j={};for(let I of D)j[I]=I;return j},_.getValidEnumValues=(D)=>{let j=_.objectKeys(D).filter((E)=>typeof D[D[E]]!=="number"),I={};for(let E of j)I[E]=D[E];return _.objectValues(I)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(j){return D[j]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let j=[];for(let I in D)if(Object.prototype.hasOwnProperty.call(D,I))j.push(I);return j},_.find=(D,j)=>{for(let I of D)if(j(I))return I;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function N(D,j=" | "){return D.map((I)=>typeof I==="string"?`'${I}'`:I).join(j)}_.joinValues=N,_.jsonStringifyReplacer=(D,j)=>{if(typeof j==="bigint")return j.toString();return j}})(E_||(E_={}));var Hz;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(Hz||(Hz={}));var r=E_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),b6=(_)=>{switch(typeof _){case"undefined":return r.undefined;case"string":return r.string;case"number":return Number.isNaN(_)?r.nan:r.number;case"boolean":return r.boolean;case"function":return r.function;case"bigint":return r.bigint;case"symbol":return r.symbol;case"object":if(Array.isArray(_))return r.array;if(_===null)return r.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return r.promise;if(typeof Map<"u"&&_ instanceof Map)return r.map;if(typeof Set<"u"&&_ instanceof Set)return r.set;if(typeof Date<"u"&&_ instanceof Date)return r.date;return r.object;default:return r.unknown}},C=E_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),xb=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class Q$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=_}format(_){let $=_||function(D){return D.message},U={_errors:[]},N=(D)=>{for(let j of D.issues)if(j.code==="invalid_union")j.unionErrors.map(N);else if(j.code==="invalid_return_type")N(j.returnTypeError);else if(j.code==="invalid_arguments")N(j.argumentsError);else if(j.path.length===0)U._errors.push($(j));else{let I=U,E=0;while(E$.message){let $={},U=[];for(let N of this.issues)if(N.path.length>0){let D=N.path[0];$[D]=$[D]||[],$[D].push(_(N))}else U.push(_(N));return{formErrors:U,fieldErrors:$}}get formErrors(){return this.flatten()}}Q$.create=(_)=>{return new Q$(_)};var yb=(_,$)=>{let U;switch(_.code){case C.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,E_.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${E_.joinValues(_.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${E_.joinValues(_.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${E_.joinValues(_.options)}, received '${_.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else E_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case C.too_small:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else U="Invalid input";break;case C.too_big:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")U=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=$.defaultError,E_.assertNever(_)}return{message:U}},kU=yb,CQ=kU;function ub(_){CQ=_}function m2(){return CQ}var n2=(_)=>{let{data:$,path:U,errorMaps:N,issueData:D}=_,j=[...U,...D.path||[]],I={...D,path:j};if(D.message!==void 0)return{...D,path:j,message:D.message};let E="",J=N.filter((W)=>!!W).slice().reverse();for(let W of J)E=W(I,{data:$,defaultError:E}).message;return{...D,path:j,message:E}},hb=[];function u(_,$){let U=m2(),N=n2({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===kU?void 0:kU].filter((D)=>!!D)});_.common.issues.push(N)}class e_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let U=[];for(let N of $){if(N.status==="aborted")return t;if(N.status==="dirty")_.dirty();U.push(N.value)}return{status:_.value,value:U}}static async mergeObjectAsync(_,$){let U=[];for(let N of $){let D=await N.key,j=await N.value;U.push({key:D,value:j})}return e_.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let N of $){let{key:D,value:j}=N;if(D.status==="aborted")return t;if(j.status==="aborted")return t;if(D.status==="dirty")_.dirty();if(j.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof j.value<"u"||N.alwaysSet))U[D.value]=j.value}return{status:_.value,value:U}}}var t=Object.freeze({status:"aborted"}),ZU=(_)=>({status:"dirty",value:_}),j$=(_)=>({status:"valid",value:_}),qz=(_)=>_.status==="aborted",kz=(_)=>_.status==="dirty",J0=(_)=>_.status==="valid",m1=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class n${constructor(_,$,U,N){this._cachedPath=[],this.parent=_,this.data=$,this._path=U,this._key=N}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var VQ=(_,$)=>{if(J0($))return{success:!0,data:$.value};else{if(!_.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new Q$(_.common.issues);return this._error=U,this._error}}}};function s(_){if(!_)return{};let{errorMap:$,invalid_type_error:U,required_error:N,description:D}=_;if($&&(U||N))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};return{errorMap:(I,E)=>{let{message:J}=_;if(I.code==="invalid_enum_value")return{message:J??E.defaultError};if(typeof E.data>"u")return{message:J??N??E.defaultError};if(I.code!=="invalid_type")return{message:E.defaultError};return{message:J??U??E.defaultError}},description:D}}class $_{get description(){return this._def.description}_getType(_){return b6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:b6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new e_,ctx:{common:_.parent.common,data:_.data,parsedType:b6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(m1($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let U=this.safeParse(_,$);if(U.success)return U.data;throw U.error}safeParse(_,$){let U={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:b6(_)},N=this._parseSync({data:_,path:U.path,parent:U});return VQ(U,N)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:b6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return J0(U)?{value:U.value}:{issues:$.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((U)=>J0(U)?{value:U.value}:{issues:$.common.issues})}async parseAsync(_,$){let U=await this.safeParseAsync(_,$);if(U.success)return U.data;throw U.error}async safeParseAsync(_,$){let U={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:b6(_)},N=this._parse({data:_,path:U.path,parent:U}),D=await(m1(N)?N:Promise.resolve(N));return VQ(U,D)}refine(_,$){let U=(N)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(N);else return $};return this._refinement((N,D)=>{let j=_(N),I=()=>D.addIssue({code:C.custom,...U(N)});if(typeof Promise<"u"&&j instanceof Promise)return j.then((E)=>{if(!E)return I(),!1;else return!0});if(!j)return I(),!1;else return!0})}refinement(_,$){return this._refinement((U,N)=>{if(!_(U))return N.addIssue(typeof $==="function"?$(U,N):$),!1;else return!0})}_refinement(_){return new q$({schema:this,typeName:o.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 m$.create(this,this._def)}nullable(){return C6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return c$.create(this)}promise(){return P0.create(this,this._def)}or(_){return vU.create([this,_],this._def)}and(_){return fU.create(this,_,this._def)}transform(_){return new q$({...s(this._def),schema:this,typeName:o.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new hU({...s(this._def),innerType:this,defaultValue:$,typeName:o.ZodDefault})}brand(){return new t2({typeName:o.ZodBranded,type:this,...s(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new rU({...s(this._def),innerType:this,catchValue:$,typeName:o.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return o1.create(this,_)}readonly(){return cU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var rb=/^c[^\s-]{8,}$/i,cb=/^[0-9a-z]+$/,mb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nb=/^[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,db=/^[a-z0-9_-]{21}$/i,lb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ib=/^[-+]?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)?)??$/,tb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ob="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",gz,pb=/^(?:(?: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])$/,ab=/^(?:(?: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])$/,eb=/^(([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]))$/,sb=/^(([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])$/,_C=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$C=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wQ="((\\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])))",UC=new RegExp(`^${wQ}$`);function vQ(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let U=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${U}`}function DC(_){return new RegExp(`^${vQ(_)}$`)}function fQ(_){let $=`${wQ}T${vQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function NC(_,$){if(($==="v4"||!$)&&pb.test(_))return!0;if(($==="v6"||!$)&&eb.test(_))return!0;return!1}function jC(_,$){if(!lb.test(_))return!1;try{let[U]=_.split(".");if(!U)return!1;let N=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),D=JSON.parse(atob(N));if(typeof D!=="object"||D===null)return!1;if("typ"in D&&D?.typ!=="JWT")return!1;if(!D.alg)return!1;if($&&D.alg!==$)return!1;return!0}catch{return!1}}function IC(_,$){if(($==="v4"||!$)&&ab.test(_))return!0;if(($==="v6"||!$)&&sb.test(_))return!0;return!1}class r$ extends $_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.string,received:D.parsedType}),t}let U=new e_,N=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)N=this._getOrReturnCtx(_,N),u(N,{code:C.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="length"){let j=_.data.length>D.value,I=_.data.length_.test(N),{validation:$,code:C.invalid_string,...n.errToObj(U)})}_addCheck(_){return new r$({...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 r$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r$({...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 _}}r$.create=(_)=>{return new r$({checks:[],typeName:o.ZodString,coerce:_?.coerce??!1,...s(_)})};function EC(_,$){let U=(_.toString().split(".")[1]||"").length,N=($.toString().split(".")[1]||"").length,D=U>N?U:N,j=Number.parseInt(_.toFixed(D).replace(".","")),I=Number.parseInt($.toFixed(D).replace(".",""));return j%I/10**D}class W4 extends $_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(_){if(this._def.coerce)_.data=Number(_.data);if(this._getType(_)!==r.number){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.number,received:D.parsedType}),t}let U=void 0,N=new e_;for(let D of this._def.checks)if(D.kind==="int"){if(!E_.isInteger(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:C.invalid_type,expected:"integer",received:"float",message:D.message}),N.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),N.dirty()}else if(D.kind==="multipleOf"){if(EC(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),u(U,{code:C.not_multiple_of,multipleOf:D.value,message:D.message}),N.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:C.not_finite,message:D.message}),N.dirty()}else E_.assertNever(D);return{status:N.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,N){return new W4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(N)}]})}_addCheck(_){return new W4({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:n.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.toString($)})}finite(_){return this._addCheck({kind:"finite",message:n.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:n.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:n.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&E_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if($===null||U.value>$)$=U.value}else if(U.kind==="max"){if(_===null||U.value<_)_=U.value}return Number.isFinite($)&&Number.isFinite(_)}}W4.create=(_)=>{return new W4({checks:[],typeName:o.ZodNumber,coerce:_?.coerce||!1,...s(_)})};class S4 extends $_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(_){if(this._def.coerce)try{_.data=BigInt(_.data)}catch{return this._getInvalidInput(_)}if(this._getType(_)!==r.bigint)return this._getInvalidInput(_);let U=void 0,N=new e_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),N.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))U=this._getOrReturnCtx(_,U),u(U,{code:C.not_multiple_of,multipleOf:D.value,message:D.message}),N.dirty()}else E_.assertNever(D);return{status:N.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:r.bigint,received:$.parsedType}),t}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,N){return new S4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(N)}]})}_addCheck(_){return new S4({...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 _}}S4.create=(_)=>{return new S4({checks:[],typeName:o.ZodBigInt,coerce:_?.coerce??!1,...s(_)})};class bU extends $_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.boolean,received:U.parsedType}),t}return j$(_.data)}}bU.create=(_)=>{return new bU({typeName:o.ZodBoolean,coerce:_?.coerce||!1,...s(_)})};class W0 extends $_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==r.date){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.date,received:D.parsedType}),t}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_date}),t}let U=new e_,N=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)N=this._getOrReturnCtx(_,N),u(N,{code:C.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else E_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new W0({...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}}W0.create=(_)=>{return new W0({checks:[],coerce:_?.coerce||!1,typeName:o.ZodDate,...s(_)})};class n1 extends $_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.symbol,received:U.parsedType}),t}return j$(_.data)}}n1.create=(_)=>{return new n1({typeName:o.ZodSymbol,...s(_)})};class CU extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.undefined,received:U.parsedType}),t}return j$(_.data)}}CU.create=(_)=>{return new CU({typeName:o.ZodUndefined,...s(_)})};class wU extends $_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.null,received:U.parsedType}),t}return j$(_.data)}}wU.create=(_)=>{return new wU({typeName:o.ZodNull,...s(_)})};class S0 extends $_{constructor(){super(...arguments);this._any=!0}_parse(_){return j$(_.data)}}S0.create=(_)=>{return new S0({typeName:o.ZodAny,...s(_)})};class J4 extends $_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return j$(_.data)}}J4.create=(_)=>{return new J4({typeName:o.ZodUnknown,...s(_)})};class N6 extends $_{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:r.never,received:$.parsedType}),t}}N6.create=(_)=>{return new N6({typeName:o.ZodNever,...s(_)})};class d1 extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.void,received:U.parsedType}),t}return j$(_.data)}}d1.create=(_)=>{return new d1({typeName:o.ZodVoid,...s(_)})};class c$ extends $_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),N=this._def;if($.parsedType!==r.array)return u($,{code:C.invalid_type,expected:r.array,received:$.parsedType}),t;if(N.exactLength!==null){let j=$.data.length>N.exactLength.value,I=$.data.lengthN.maxLength.value)u($,{code:C.too_big,maximum:N.maxLength.value,type:"array",inclusive:!0,exact:!1,message:N.maxLength.message}),U.dirty()}if($.common.async)return Promise.all([...$.data].map((j,I)=>{return N.type._parseAsync(new n$($,j,$.path,I))})).then((j)=>{return e_.mergeArray(U,j)});let D=[...$.data].map((j,I)=>{return N.type._parseSync(new n$($,j,$.path,I))});return e_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new c$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new c$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new c$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}c$.create=(_,$)=>{return new c$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:o.ZodArray,...s($)})};function MU(_){if(_ instanceof w_){let $={};for(let U in _.shape){let N=_.shape[U];$[U]=m$.create(MU(N))}return new w_({..._._def,shape:()=>$})}else if(_ instanceof c$)return new c$({..._._def,type:MU(_.element)});else if(_ instanceof m$)return m$.create(MU(_.unwrap()));else if(_ instanceof C6)return C6.create(MU(_.unwrap()));else if(_ instanceof j6)return j6.create(_.items.map(($)=>MU($)));else return _}class w_ extends $_{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=E_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==r.object){let J=this._getOrReturnCtx(_);return u(J,{code:C.invalid_type,expected:r.object,received:J.parsedType}),t}let{status:U,ctx:N}=this._processInputParams(_),{shape:D,keys:j}=this._getCached(),I=[];if(!(this._def.catchall instanceof N6&&this._def.unknownKeys==="strip")){for(let J in N.data)if(!j.includes(J))I.push(J)}let E=[];for(let J of j){let W=D[J],S=N.data[J];E.push({key:{status:"valid",value:J},value:W._parse(new n$(N,S,N.path,J)),alwaysSet:J in N.data})}if(this._def.catchall instanceof N6){let J=this._def.unknownKeys;if(J==="passthrough")for(let W of I)E.push({key:{status:"valid",value:W},value:{status:"valid",value:N.data[W]}});else if(J==="strict"){if(I.length>0)u(N,{code:C.unrecognized_keys,keys:I}),U.dirty()}else if(J==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let J=this._def.catchall;for(let W of I){let S=N.data[W];E.push({key:{status:"valid",value:W},value:J._parse(new n$(N,S,N.path,W)),alwaysSet:W in N.data})}}if(N.common.async)return Promise.resolve().then(async()=>{let J=[];for(let W of E){let S=await W.key,L=await W.value;J.push({key:S,value:L,alwaysSet:W.alwaysSet})}return J}).then((J)=>{return e_.mergeObjectSync(U,J)});else return e_.mergeObjectSync(U,E)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new w_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let N=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??N};return{message:N}}}:{}})}strip(){return new w_({...this._def,unknownKeys:"strip"})}passthrough(){return new w_({...this._def,unknownKeys:"passthrough"})}extend(_){return new w_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new w_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:o.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new w_({...this._def,catchall:_})}pick(_){let $={};for(let U of E_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new w_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of E_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new w_({...this._def,shape:()=>$})}deepPartial(){return MU(this)}partial(_){let $={};for(let U of E_.objectKeys(this.shape)){let N=this.shape[U];if(_&&!_[U])$[U]=N;else $[U]=N.optional()}return new w_({...this._def,shape:()=>$})}required(_){let $={};for(let U of E_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof m$)D=D._def.innerType;$[U]=D}return new w_({...this._def,shape:()=>$})}keyof(){return xQ(E_.objectKeys(this.shape))}}w_.create=(_,$)=>{return new w_({shape:()=>_,unknownKeys:"strip",catchall:N6.create(),typeName:o.ZodObject,...s($)})};w_.strictCreate=(_,$)=>{return new w_({shape:()=>_,unknownKeys:"strict",catchall:N6.create(),typeName:o.ZodObject,...s($)})};w_.lazycreate=(_,$)=>{return new w_({shape:_,unknownKeys:"strip",catchall:N6.create(),typeName:o.ZodObject,...s($)})};class vU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function N(D){for(let I of D)if(I.result.status==="valid")return I.result;for(let I of D)if(I.result.status==="dirty")return $.common.issues.push(...I.ctx.common.issues),I.result;let j=D.map((I)=>new Q$(I.ctx.common.issues));return u($,{code:C.invalid_union,unionErrors:j}),t}if($.common.async)return Promise.all(U.map(async(D)=>{let j={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:j}),ctx:j}})).then(N);else{let D=void 0,j=[];for(let E of U){let J={...$,common:{...$.common,issues:[]},parent:null},W=E._parseSync({data:$.data,path:$.path,parent:J});if(W.status==="valid")return W;else if(W.status==="dirty"&&!D)D={result:W,ctx:J};if(J.common.issues.length)j.push(J.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let I=j.map((E)=>new Q$(E));return u($,{code:C.invalid_union,unionErrors:I}),t}}get options(){return this._def.options}}vU.create=(_,$)=>{return new vU({options:_,typeName:o.ZodUnion,...s($)})};var k6=(_)=>{if(_ instanceof xU)return k6(_.schema);else if(_ instanceof q$)return k6(_.innerType());else if(_ instanceof yU)return[_.value];else if(_ instanceof L4)return _.options;else if(_ instanceof uU)return E_.objectValues(_.enum);else if(_ instanceof hU)return k6(_._def.innerType);else if(_ instanceof CU)return[void 0];else if(_ instanceof wU)return[null];else if(_ instanceof m$)return[void 0,...k6(_.unwrap())];else if(_ instanceof C6)return[null,...k6(_.unwrap())];else if(_ instanceof t2)return k6(_.unwrap());else if(_ instanceof cU)return k6(_.unwrap());else if(_ instanceof rU)return k6(_._def.innerType);else return[]};class i2 extends $_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return u($,{code:C.invalid_type,expected:r.object,received:$.parsedType}),t;let U=this.discriminator,N=$.data[U],D=this.optionsMap.get(N);if(!D)return u($,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),t;if($.common.async)return D._parseAsync({data:$.data,path:$.path,parent:$});else return D._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(_,$,U){let N=new Map;for(let D of $){let j=k6(D.shape[_]);if(!j.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let I of j){if(N.has(I))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(I)}`);N.set(I,D)}}return new i2({typeName:o.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:N,...s(U)})}}function bz(_,$){let U=b6(_),N=b6($);if(_===$)return{valid:!0,data:_};else if(U===r.object&&N===r.object){let D=E_.objectKeys($),j=E_.objectKeys(_).filter((E)=>D.indexOf(E)!==-1),I={..._,...$};for(let E of j){let J=bz(_[E],$[E]);if(!J.valid)return{valid:!1};I[E]=J.data}return{valid:!0,data:I}}else if(U===r.array&&N===r.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let j=0;j<_.length;j++){let I=_[j],E=$[j],J=bz(I,E);if(!J.valid)return{valid:!1};D.push(J.data)}return{valid:!0,data:D}}else if(U===r.date&&N===r.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class fU extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),N=(D,j)=>{if(qz(D)||qz(j))return t;let I=bz(D.value,j.value);if(!I.valid)return u(U,{code:C.invalid_intersection_types}),t;if(kz(D)||kz(j))$.dirty();return{status:$.value,value:I.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([D,j])=>N(D,j));else return N(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}fU.create=(_,$,U)=>{return new fU({left:_,right:$,typeName:o.ZodIntersection,...s(U)})};class j6 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return u(U,{code:C.invalid_type,expected:r.array,received:U.parsedType}),t;if(U.data.lengththis._def.items.length)u(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((j,I)=>{let E=this._def.items[I]||this._def.rest;if(!E)return null;return E._parse(new n$(U,j,U.path,I))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return e_.mergeArray($,j)});else return e_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new j6({...this._def,rest:_})}}j6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new j6({items:_,typeName:o.ZodTuple,rest:null,...s($)})};class l1 extends $_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.object)return u(U,{code:C.invalid_type,expected:r.object,received:U.parsedType}),t;let N=[],D=this._def.keyType,j=this._def.valueType;for(let I in U.data)N.push({key:D._parse(new n$(U,I,U.path,I)),value:j._parse(new n$(U,U.data[I],U.path,I)),alwaysSet:I in U.data});if(U.common.async)return e_.mergeObjectAsync($,N);else return e_.mergeObjectSync($,N)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof $_)return new l1({keyType:_,valueType:$,typeName:o.ZodRecord,...s(U)});return new l1({keyType:r$.create(),valueType:_,typeName:o.ZodRecord,...s($)})}}class i1 extends $_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.map)return u(U,{code:C.invalid_type,expected:r.map,received:U.parsedType}),t;let N=this._def.keyType,D=this._def.valueType,j=[...U.data.entries()].map(([I,E],J)=>{return{key:N._parse(new n$(U,I,U.path,[J,"key"])),value:D._parse(new n$(U,E,U.path,[J,"value"]))}});if(U.common.async){let I=new Map;return Promise.resolve().then(async()=>{for(let E of j){let J=await E.key,W=await E.value;if(J.status==="aborted"||W.status==="aborted")return t;if(J.status==="dirty"||W.status==="dirty")$.dirty();I.set(J.value,W.value)}return{status:$.value,value:I}})}else{let I=new Map;for(let E of j){let{key:J,value:W}=E;if(J.status==="aborted"||W.status==="aborted")return t;if(J.status==="dirty"||W.status==="dirty")$.dirty();I.set(J.value,W.value)}return{status:$.value,value:I}}}}i1.create=(_,$,U)=>{return new i1({valueType:$,keyType:_,typeName:o.ZodMap,...s(U)})};class L0 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.set)return u(U,{code:C.invalid_type,expected:r.set,received:U.parsedType}),t;let N=this._def;if(N.minSize!==null){if(U.data.sizeN.maxSize.value)u(U,{code:C.too_big,maximum:N.maxSize.value,type:"set",inclusive:!0,exact:!1,message:N.maxSize.message}),$.dirty()}let D=this._def.valueType;function j(E){let J=new Set;for(let W of E){if(W.status==="aborted")return t;if(W.status==="dirty")$.dirty();J.add(W.value)}return{status:$.value,value:J}}let I=[...U.data.values()].map((E,J)=>D._parse(new n$(U,E,U.path,J)));if(U.common.async)return Promise.all(I).then((E)=>j(E));else return j(I)}min(_,$){return new L0({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new L0({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}L0.create=(_,$)=>{return new L0({valueType:_,minSize:null,maxSize:null,typeName:o.ZodSet,...s($)})};class HU extends $_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return u($,{code:C.invalid_type,expected:r.function,received:$.parsedType}),t;function U(I,E){return n2({data:I,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,m2(),kU].filter((J)=>!!J),issueData:{code:C.invalid_arguments,argumentsError:E}})}function N(I,E){return n2({data:I,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,m2(),kU].filter((J)=>!!J),issueData:{code:C.invalid_return_type,returnTypeError:E}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof P0){let I=this;return j$(async function(...E){let J=new Q$([]),W=await I._def.args.parseAsync(E,D).catch((X)=>{throw J.addIssue(U(E,X)),J}),S=await Reflect.apply(j,this,W);return await I._def.returns._def.type.parseAsync(S,D).catch((X)=>{throw J.addIssue(N(S,X)),J})})}else{let I=this;return j$(function(...E){let J=I._def.args.safeParse(E,D);if(!J.success)throw new Q$([U(E,J.error)]);let W=Reflect.apply(j,this,J.data),S=I._def.returns.safeParse(W,D);if(!S.success)throw new Q$([N(W,S.error)]);return S.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new HU({...this._def,args:j6.create(_).rest(J4.create())})}returns(_){return new HU({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new HU({args:_?_:j6.create([]).rest(J4.create()),returns:$||J4.create(),typeName:o.ZodFunction,...s(U)})}}class xU extends $_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}xU.create=(_,$)=>{return new xU({getter:_,typeName:o.ZodLazy,...s($)})};class yU extends $_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:C.invalid_literal,expected:this._def.value}),t}return{status:"valid",value:_.data}}get value(){return this._def.value}}yU.create=(_,$)=>{return new yU({value:_,typeName:o.ZodLiteral,...s($)})};function xQ(_,$){return new L4({values:_,typeName:o.ZodEnum,...s($)})}class L4 extends $_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{expected:E_.joinValues(U),received:$.parsedType,code:C.invalid_type}),t}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{received:$.data,code:C.invalid_enum_value,options:U}),t}return j$(_.data)}get options(){return this._def.values}get enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Values(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}extract(_,$=this._def){return L4.create(_,{...this._def,...$})}exclude(_,$=this._def){return L4.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}L4.create=xQ;class uU extends $_{_parse(_){let $=E_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==r.string&&U.parsedType!==r.number){let N=E_.objectValues($);return u(U,{expected:E_.joinValues(N),received:U.parsedType,code:C.invalid_type}),t}if(!this._cache)this._cache=new Set(E_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let N=E_.objectValues($);return u(U,{received:U.data,code:C.invalid_enum_value,options:N}),t}return j$(_.data)}get enum(){return this._def.values}}uU.create=(_,$)=>{return new uU({values:_,typeName:o.ZodNativeEnum,...s($)})};class P0 extends $_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.promise&&$.common.async===!1)return u($,{code:C.invalid_type,expected:r.promise,received:$.parsedType}),t;let U=$.parsedType===r.promise?$.data:Promise.resolve($.data);return j$(U.then((N)=>{return this._def.type.parseAsync(N,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}P0.create=(_,$)=>{return new P0({type:_,typeName:o.ZodPromise,...s($)})};class q$ extends $_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===o.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),N=this._def.effect||null,D={addIssue:(j)=>{if(u(U,j),j.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),N.type==="preprocess"){let j=N.transform(U.data,D);if(U.common.async)return Promise.resolve(j).then(async(I)=>{if($.value==="aborted")return t;let E=await this._def.schema._parseAsync({data:I,path:U.path,parent:U});if(E.status==="aborted")return t;if(E.status==="dirty")return ZU(E.value);if($.value==="dirty")return ZU(E.value);return E});else{if($.value==="aborted")return t;let I=this._def.schema._parseSync({data:j,path:U.path,parent:U});if(I.status==="aborted")return t;if(I.status==="dirty")return ZU(I.value);if($.value==="dirty")return ZU(I.value);return I}}if(N.type==="refinement"){let j=(I)=>{let E=N.refinement(I,D);if(U.common.async)return Promise.resolve(E);if(E instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return I};if(U.common.async===!1){let I=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(I.status==="aborted")return t;if(I.status==="dirty")$.dirty();return j(I.value),{status:$.value,value:I.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((I)=>{if(I.status==="aborted")return t;if(I.status==="dirty")$.dirty();return j(I.value).then(()=>{return{status:$.value,value:I.value}})})}if(N.type==="transform")if(U.common.async===!1){let j=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!J0(j))return t;let I=N.transform(j.value,D);if(I instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:I}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((j)=>{if(!J0(j))return t;return Promise.resolve(N.transform(j.value,D)).then((I)=>({status:$.value,value:I}))});E_.assertNever(N)}}q$.create=(_,$,U)=>{return new q$({schema:_,typeName:o.ZodEffects,effect:$,...s(U)})};q$.createWithPreprocess=(_,$,U)=>{return new q$({schema:$,effect:{type:"preprocess",transform:_},typeName:o.ZodEffects,...s(U)})};class m$ extends $_{_parse(_){if(this._getType(_)===r.undefined)return j$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}m$.create=(_,$)=>{return new m$({innerType:_,typeName:o.ZodOptional,...s($)})};class C6 extends $_{_parse(_){if(this._getType(_)===r.null)return j$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}C6.create=(_,$)=>{return new C6({innerType:_,typeName:o.ZodNullable,...s($)})};class hU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;if($.parsedType===r.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}hU.create=(_,$)=>{return new hU({innerType:_,typeName:o.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...s($)})};class rU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},N=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(m1(N))return N.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new Q$(U.common.issues)},input:U.data})}});else return{status:"valid",value:N.status==="valid"?N.value:this._def.catchValue({get error(){return new Q$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}rU.create=(_,$)=>{return new rU({innerType:_,typeName:o.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...s($)})};class t1 extends $_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.nan,received:U.parsedType}),t}return{status:"valid",value:_.data}}}t1.create=(_)=>{return new t1({typeName:o.ZodNaN,...s(_)})};var AC=Symbol("zod_brand");class t2 extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class o1 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(D.status==="aborted")return t;if(D.status==="dirty")return $.dirty(),ZU(D.value);else return this._def.out._parseAsync({data:D.value,path:U.path,parent:U})})();else{let N=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(N.status==="aborted")return t;if(N.status==="dirty")return $.dirty(),{status:"dirty",value:N.value};else return this._def.out._parseSync({data:N.value,path:U.path,parent:U})}}static create(_,$){return new o1({in:_,out:$,typeName:o.ZodPipeline})}}class cU extends $_{_parse(_){let $=this._def.innerType._parse(_),U=(N)=>{if(J0(N))N.value=Object.freeze(N.value);return N};return m1($)?$.then((N)=>U(N)):U($)}unwrap(){return this._def.innerType}}cU.create=(_,$)=>{return new cU({innerType:_,typeName:o.ZodReadonly,...s($)})};function FQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function yQ(_,$={},U){if(_)return S0.create().superRefine((N,D)=>{let j=_(N);if(j instanceof Promise)return j.then((I)=>{if(!I){let E=FQ($,N),J=E.fatal??U??!0;D.addIssue({code:"custom",...E,fatal:J})}});if(!j){let I=FQ($,N),E=I.fatal??U??!0;D.addIssue({code:"custom",...I,fatal:E})}return});return S0.create()}var JC={object:w_.lazycreate},o;(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"})(o||(o={}));var WC=(_,$={message:`Input not instance of ${_.name}`})=>yQ((U)=>U instanceof _,$),uQ=r$.create,hQ=W4.create,SC=t1.create,LC=S4.create,rQ=bU.create,PC=W0.create,OC=n1.create,zC=CU.create,XC=wU.create,RC=S0.create,YC=J4.create,QC=N6.create,GC=d1.create,TC=c$.create,BC=w_.create,VC=w_.strictCreate,FC=vU.create,KC=i2.create,MC=fU.create,gC=j6.create,ZC=l1.create,HC=i1.create,qC=L0.create,kC=HU.create,bC=xU.create,CC=yU.create,wC=L4.create,vC=uU.create,fC=P0.create,KQ=q$.create,xC=m$.create,yC=C6.create,uC=q$.createWithPreprocess,hC=o1.create,rC=()=>uQ().optional(),cC=()=>hQ().optional(),mC=()=>rQ().optional(),nC={string:(_)=>r$.create({..._,coerce:!0}),number:(_)=>W4.create({..._,coerce:!0}),boolean:(_)=>bU.create({..._,coerce:!0}),bigint:(_)=>S4.create({..._,coerce:!0}),date:(_)=>W0.create({..._,coerce:!0})},dC=t;var h={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",taskToPrProjection:"hasna.task_to_pr_projection.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",secureLocalStorePolicy:"hasna.secure_local_store_policy.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},wz=A.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),q_=A.string().datetime(),a=A.string().trim().min(1),d$=a.refine((_)=>_.startsWith("artifact://")||_.startsWith("repo://")||_.startsWith("project://")||_.startsWith("dashboard://")||_.startsWith("render://")||_.startsWith("integration://")||_.startsWith("task://")||_.startsWith("todo://")||_.startsWith("file://")||_.startsWith("files://")||_.startsWith("mailery://")||_.startsWith("conversation://")||_.startsWith("knowledge://")||_.startsWith("memento://")||_.startsWith("https://")||_.startsWith("http://")||_.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),cQ=A.string().regex(/^[a-fA-F0-9]{64}$/),mQ=A.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),P4=A.record(A.unknown()),dU=A.array(A.string().min(1)).default([]),O0=q_.nullable().optional(),lC=new Set(["succeeded","failed","cancelled","blocked","skipped"]),R0=A.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function z_(_){return A.object({schema:A.literal(_),id:A.string().min(1),createdAt:q_,updatedAt:O0,metadata:P4.optional()}).strict()}var Di=A.object({schema:wz,id:A.string().min(1),createdAt:q_,updatedAt:O0,metadata:P4.optional()}).strict(),nQ=A.enum(["agent","human","service","model","workflow","system"]),iC=z_(h.actorRef).extend({kind:nQ,name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional(),capabilities:A.array(A.string().min(1)).default([])}).strict(),I6=A.object({kind:nQ,id:A.string().min(1),name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional()}).strict(),dQ=A.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),tC=z_(h.resourceRef).extend({kind:dQ,name:A.string().min(1).optional(),uri:d$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:dU}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),__=A.object({kind:dQ,id:A.string().min(1),name:A.string().min(1).optional(),uri:d$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:dU}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),vz=A.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),oC=A.enum(["none","partial","full","unknown"]),pC=z_(h.evidenceRef).extend({kind:vz,uri:d$,sha256:cQ.optional(),summary:A.string().min(1).optional(),contentType:A.string().min(1).optional(),sizeBytes:A.number().int().nonnegative().optional(),redaction:oC.default("unknown"),producer:I6.optional(),resourceRefs:A.array(__).default([]),tags:dU}).strict(),K_=A.object({id:A.string().min(1),kind:vz.optional(),uri:d$.optional(),sha256:cQ.optional(),summary:A.string().min(1).optional()}).strict(),p1=z_(h.costEstimate).extend({currency:A.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:A.number().int().nonnegative(),provider:A.string().min(1).optional(),model:A.string().min(1).optional(),accountId:A.string().min(1).optional(),promptTokens:A.number().int().nonnegative().optional(),completionTokens:A.number().int().nonnegative().optional(),totalTokens:A.number().int().nonnegative().optional(),basis:A.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:A.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),aC=A.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),lQ=z_(h.decisionEnvelope).extend({decisionType:A.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:aC,actor:I6.optional(),traceId:A.string().min(1).optional(),inputHash:mQ.optional(),policyBundleId:A.string().min(1).optional(),selected:A.array(__).default([]),skipped:A.array(__).default([]),reason:A.string().min(1),obligations:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),costEstimate:p1.optional(),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),eC=z_(h.capabilityCard).extend({kind:A.enum(["model","tool","machine","agent","lane","connector","service"]),name:A.string().min(1),version:A.string().min(1).optional(),status:A.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:A.array(A.string().min(1)).default([]),limitations:A.array(A.string().min(1)).default([]),riskLevel:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:p1.optional(),evidenceRefs:A.array(K_).default([])}).strict(),mU=A.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),sC=A.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),_w=A.object({refName:a,requiredForModes:A.array(mU).min(1),allowedSecretInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:a,revocationCheck:A.boolean().default(!0)}).strict(),$w=A.object({operation:a,supportedModes:A.array(mU).min(1),sideEffectClass:sC,requiresApproval:A.boolean().default(!1),requiresIdempotencyKey:A.boolean().default(!1),requiresSandboxEvidence:A.boolean().default(!1),requiresRollbackOrRevocation:A.boolean().default(!1),rollbackOrRevocation:a.optional(),noSideEffectSmoke:a.optional(),reconciliation:a.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),Uw=A.object({providerId:a,appId:a,adapterId:a,ownerPackage:a,modes:A.array(mU).min(1),defaultMode:mU,credentialRequirements:A.array(_w).default([]),operations:A.array($w).min(1),rateLimitPosture:a,costPosture:a.optional(),auditEvents:A.array(a).default([]),redactionRules:A.array(a).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:A.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set(_.operations.flatMap((N)=>N.supportedModes));for(let N of U)if(!_.modes.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`operation mode ${N} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),Dw=A.object({appId:a,repo:a,priority:A.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:A.array(a).min(1),firstOperations:A.array(a).min(1),blockedUntil:A.array(a).default([])}).strict(),Nw=z_(h.providerLiveModeStandard).extend({name:a,version:a,modes:A.array(mU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:A.array(a).min(1),liveMutationGate:A.object({requiredMode:A.literal("live_mutating"),requiredChecks:A.array(a).min(1),forbiddenBypassSignals:A.array(a).min(1),disabledLiveSmoke:a}).strict(),noSideEffectSmoke:A.object({requiredForModes:A.array(mU).min(1),commandEvidence:A.array(a).min(1),secretOutputScan:A.boolean().default(!0)}).strict(),credentialPolicy:A.object({acceptedInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:A.literal(!1),missingCredentialBehavior:A.literal("fail_closed"),revocationCheckRequired:A.boolean().default(!0)}).strict(),operationCards:A.array(Uw).min(1),firstAdoptionTargets:A.array(Dw).min(1),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),N=new Set(_.operationCards.map((D)=>D.appId));for(let D of U)if(!N.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),jw=A.object({id:A.string().min(1),title:A.string().min(1).optional(),summary:A.string().min(1),text:A.string().optional(),tokens:A.number().int().nonnegative().optional(),source:K_,resourceRefs:A.array(__).default([])}).strict(),iQ=z_(h.contextPack).extend({objective:A.string().min(1),budget:A.object({maxTokens:A.number().int().positive().optional(),maxBytes:A.number().int().positive().optional()}).strict().optional(),items:A.array(jw).default([]),citations:A.array(K_).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),permissions:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),conflicts:A.array(A.string().min(1)).default([]),uncertainty:A.string().min(1).optional()}).strict(),Z$=a.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),z0=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),Iw=A.enum(["public","internal","private","sensitive"]),Ew=A.enum(["draft","active","paused","archived"]),fz=A.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),tQ=z_(h.integrationRef).extend({kind:fz,name:A.string().min(1),projectId:z0.optional(),sourcePackage:a.optional(),externalId:a.optional(),uri:d$.optional(),enabled:A.boolean().default(!0),readOnly:A.boolean().default(!0),capabilities:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:__.optional(),evidenceRefs:A.array(K_).default([]),config:P4.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),Aw=A.object({schemaRoot:Z$.default(".hasna/project"),dashboardManifest:Z$.default(".hasna/project/dashboard.render.json"),snapshotsDir:Z$.default(".hasna/project/snapshots"),documentsDir:Z$.default("documents"),reportsDir:Z$.default("reports"),evidenceDir:Z$.default(".hasna/project/evidence"),privateDir:Z$.default(".hasna/project/private")}).strict(),Jw=z_(h.projectManifest).extend({projectId:z0,slug:z0,name:A.string().min(1),summary:A.string().min(1).optional(),status:Ew.default("active"),classification:Iw.default("private"),owner:I6.optional(),layout:Aw.default({}),integrations:A.array(tQ).default([]),renderManifests:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),tags:dU}).strict().superRefine((_,$)=>{let U=new Set,N=new Set;if(_.projectId!==_.slug)$.addIssue({code:A.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,j]of _.integrations.entries()){if(U.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(U.add(j.id),j.projectId&&j.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,j]of _.renderManifests.entries()){if(j.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(N.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});N.add(j.id)}}),Ww=A.enum(["local","package","provider","url"]),xz=A.object({id:A.string().min(1),kind:Ww,specifier:A.string().min(1),path:Z$.optional(),packageName:A.string().min(1).optional(),uri:d$.optional(),provider:fz.optional(),schemaId:wz.optional(),integrity:mQ.optional(),resourceRef:__.optional(),optional:A.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:A.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:A.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:A.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),Sw=A.enum(["dashboard","canvas","panel","report","document","custom"]),Lw=A.object({id:A.string().min(1),title:A.string().min(1),kind:Sw,default:A.boolean().default(!1),entry:Z$.optional(),imports:A.array(xz).default([]),panelRefs:A.array(__).default([]),dataRefs:A.array(__).default([]),layout:P4.optional()}).strict(),Pw=z_(h.renderManifest).extend({projectId:z0,name:A.string().min(1),version:A.string().min(1),manifestPath:Z$.default(".hasna/project/dashboard.render.json"),renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:A.array(Lw).min(1),imports:A.array(xz).default([]),theme:P4.optional(),compatibility:A.object({minProjectsVersion:A.string().min(1).optional(),minContractsVersion:A.string().min(1).optional()}).strict().optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((j)=>j.default),N=new Set,D=new Set;if(U.length>1)$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[j,I]of _.imports.entries()){if(D.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",j,"id"]});D.add(I.id)}for(let[j,I]of _.views.entries()){if(N.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",j,"id"]});N.add(I.id);let E=new Set;for(let[J,W]of I.imports.entries()){if(E.has(W.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",j,"imports",J,"id"]});E.add(W.id)}for(let[J,W]of I.panelRefs.entries())if(W.kind!=="panel")$.addIssue({code:A.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",j,"panelRefs",J,"kind"]})}}),Ow=A.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),zw=A.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Xw=A.object({id:A.string().min(1),label:A.string().min(1),value:A.union([A.string(),A.number(),A.boolean()]),unit:A.string().min(1).optional(),status:A.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:A.array(__).default([])}).strict(),Rw=A.object({id:A.string().min(1),title:A.string().min(1),summary:A.string().min(1).optional(),status:A.string().min(1).optional(),priority:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:q_.optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),metadata:P4.optional()}).strict(),Yw=A.object({renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:A.string().min(1).optional(),entry:Z$.optional(),imports:A.array(xz).default([]),spec:P4.default({})}).strict(),oQ=z_(h.projectPanel).extend({projectId:z0,provider:A.object({kind:fz,id:A.string().min(1),name:A.string().min(1).optional(),sourcePackage:a.optional(),externalId:a.optional()}).strict(),kind:zw,title:A.string().min(1),summary:A.string().min(1).optional(),state:Ow.default("ready"),stateReason:A.string().min(1).optional(),generatedAt:q_,freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),metrics:A.array(Xw).default([]),items:A.array(Rw).default([]),actions:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),renderFragment:Yw.optional(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set(["error","auth_required","unavailable","stale"]),N=new Set,D=new Set;if(U.has(_.state)&&!_.stateReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:A.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[j,I]of _.metrics.entries()){if(N.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",j,"id"]});N.add(I.id)}for(let[j,I]of _.items.entries()){if(D.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",j,"id"]});D.add(I.id)}for(let[j,I]of _.actions.entries())if(I.kind!=="action")$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",j,"kind"]})}),Qw=z_(h.projectSnapshot).extend({projectId:z0,generatedAt:q_,status:R0.default("unknown"),manifestRef:__,renderManifestRef:__.optional(),panels:A.array(oQ).default([]),contextPacks:A.array(iQ).default([]),proofBundleRefs:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),warnings:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,N=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,j]of _.proofBundleRefs.entries())if(j.kind!=="proof_bundle")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,j]of _.panels.entries()){if(j.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});U.add(j.id)}for(let[D,j]of _.contextPacks.entries()){if(N.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});N.add(j.id)}}),pQ=A.object({id:A.string().min(1),kind:A.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),expected:A.string().min(1).optional(),timeoutMs:A.number().int().positive().optional(),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:A.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Gw=z_(h.validationPlan).extend({objective:A.string().min(1),subject:__.optional(),checks:A.array(pQ).min(1),verifier:I6.optional(),requiredEvidenceKinds:A.array(vz).default([])}).strict(),Tw=A.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Bw=A.enum(["draft","active","deprecated","archived"]),Vw=A.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Fw=A.object({key:A.string().regex(/^[A-Z][A-Z0-9_]*$/),description:A.string().min(1),required:A.boolean().default(!1),["secret"]:A.boolean().default(!1),group:A.string().min(1).optional(),default:A.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Kw=A.object({name:A.string().min(1),command:A.string().min(1),description:A.string().min(1).optional(),required:A.boolean().default(!1)}).strict(),Mw=A.object({packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:A.array(A.string().min(1)).default([]),requiredFiles:A.array(A.string().min(1)).default([]),requiredDirectories:A.array(A.string().min(1)).default([]),optionalDirectories:A.array(A.string().min(1)).default([])}).strict(),gw=z_(h.scaffoldManifest).extend({name:A.string().min(1),version:A.string().min(1),summary:A.string().min(1),type:Tw,status:Bw.default("draft"),capabilities:A.array(Vw).default([]),techStack:A.array(A.string().min(1)).default([]),tags:dU,source:__.optional(),output:Mw,env:A.array(Fw).default([]),scripts:A.array(Kw).default([]),validationChecks:A.array(pQ).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:A.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Zw=A.enum(["installed","failed","cancelled","partial","unknown"]),Hw=z_(h.scaffoldInstallRecord).extend({scaffoldId:A.string().min(1),scaffoldVersion:A.string().min(1).optional(),manifestRef:__.optional(),target:__,status:Zw,installedAt:q_.optional(),installer:I6.optional(),packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:P4.optional(),generatedFiles:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if((_.status==="failed"||_.status==="partial")&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),nU=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),yz=A.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),aQ=A.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),qw=A.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),kw=a.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),bw=A.enum(["active","stub","deprecated","archived"]),Cw=A.enum(["stable","beta","canary","internal"]),ww=A.object({transport:A.enum(["http","stdio"]).default("http"),bin:A.string().min(1).optional(),url:d$.optional()}).strict(),vw=A.object({healthPath:A.string().min(1).default("/health"),port:A.number().int().positive().optional(),baseUrl:d$.optional()}).strict(),fw=A.object({bins:A.array(A.string().min(1)).default([]),mcp:ww.optional(),http:vw.optional()}).strict(),xw=z_(h.app).extend({appId:nU,npmName:yz,repoFolder:nU,githubUrl:kw,projectSlug:z0,surfaces:fw.default({}),lifecycle:bw,releaseChannel:Cw.default("stable"),summary:A.string().min(1).optional(),tags:dU}).strict().superRefine((_,$)=>{let U=new Set;for(let[N,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",N]});U.add(D)}}),yw=A.enum(["skill","ci","backfilled"]),uw=z_(h.release).extend({appId:nU,package:yz,version:aQ,gitSha:qw,publishedAt:q_,publishPath:yw,changelogRef:__.optional(),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),hw=A.enum(["install","update","rollback","freeze-blocked"]),rw=A.object({cliVersion:A.string().min(1).optional(),mcpHealth:A.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),cw=z_(h.rolloutRecord).extend({appId:nU,package:yz,version:aQ,machine:a,action:hw,result:R0,verifiedBy:rw.optional(),at:q_,evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:A.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",N=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||N&&!U))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),mw=A.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),nw=A.enum(["pending","queued","sent","failed","skipped","suppressed"]),dw=A.object({channel:mw,status:nw,deliveredAt:q_.optional(),detail:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),lw=z_(h.announcement).extend({campaignId:a,appId:nU.optional(),releaseRef:__.optional(),channels:A.array(dw).min(1),audienceRef:__,sentAt:q_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),iw=A.enum(["tag","attribute","group"]),tw=A.enum(["eq","neq","in","not_in","exists","not_exists"]),MQ=A.union([A.string(),A.number(),A.boolean()]),ow=A.object({kind:iw,key:A.string().min(1).optional(),op:tw.default("eq"),value:MQ.optional(),values:A.array(MQ).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:A.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),pw=A.object({match:A.enum(["all","any"]).default("all"),predicates:A.array(ow).min(1)}).strict(),aw=A.enum(["opt_in","opt_out","transactional","none"]),ew=z_(h.audience).extend({audienceId:nU,name:a,definition:pw,consentPolicy:aw,suppressionSyncedAt:O0}).strict(),c2=["@hasna/cloud","open-cloud"],sw=A.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),_v=A.object({id:A.string().min(1),provider:sw,kind:A.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:A.string().min(1),region:A.string().min(1).optional(),accountId:A.string().min(1).optional(),uri:d$.optional(),machineScoped:A.boolean().default(!1)}).strict(),eQ=z_(h.appCloudManifest).extend({packageName:A.string().min(1),packageVersion:A.string().min(1).optional(),appId:A.string().min(1),repository:__.optional(),storageMode:A.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:A.enum(["none","app_owned","external_service","local_cache"]),cloudResources:A.array(_v).default([]),localCache:A.object({path:A.string().min(1).optional(),pullMode:A.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:A.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:A.array(A.string().min(1)).default([...c2]),dependencies:A.array(A.string().min(1)).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...c2,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:A.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let N of c2)if(!_.forbiddenSharedRuntimes.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${N}`,path:["forbiddenSharedRuntimes"]});for(let N of U)if(_.dependencies.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${N}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:A.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:A.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if((_.storageMode==="app_owned_cloud"||_.storageMode==="hybrid_local_cache")&&_.cloudResources.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((N,D)=>{if(N.ownerPackage!==_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),sQ=A.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),$v=A.enum(["low","medium","high","critical"]),_G=A.object({id:A.string().min(1),kind:sQ,severity:$v,path:A.string().min(1).optional(),packageName:A.string().min(1).optional(),pattern:A.string().min(1),message:A.string().min(1),evidenceRefs:A.array(K_).default([])}).strict(),Uv=A.object({id:A.string().min(1),kind:sQ,status:R0,target:A.string().min(1),command:A.string().min(1).optional(),evidenceRefs:A.array(K_).default([]),findings:A.array(_G).default([])}).strict(),Dv=z_(h.noCloudEvidencePack).extend({subject:__,packageName:A.string().min(1).optional(),packageVersion:A.string().min(1).optional(),generatedBy:I6.optional(),scanMode:A.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:R0,verdict:A.enum(["passed","failed","warning","not_run"]),appCloudManifest:eQ.optional(),checks:A.array(Uv).min(1),findings:A.array(_G).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=[..._.findings,..._.checks.flatMap((D)=>D.findings)],N=U.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(N.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,j)=>{let I=D.findings.filter((E)=>E.severity==="high"||E.severity==="critical");if(D.status==="succeeded"&&I.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",j,"findings"]})})}),Nv=A.object({checkId:A.string().min(1),status:R0,summary:A.string().min(1).optional(),startedAt:O0,finishedAt:O0,evidenceRefs:A.array(K_).default([])}).strict(),jv=z_(h.proofBundle).extend({subject:__,validationPlanRef:__.optional(),status:R0,verdict:A.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:A.array(Nv).default([]),verifier:I6.optional(),evidenceRefs:A.array(K_).default([]),residualRisks:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((N,D)=>{if(N.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((N)=>N.evidenceRefs.length>0)))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((U)=>U.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),Iv=z_(h.workRun).extend({objective:A.string().min(1),status:R0,actor:I6,traceId:A.string().min(1).optional(),startedAt:O0,finishedAt:O0,constraints:A.array(A.string().min(1)).default([]),resourceRefs:A.array(__).default([]),decisions:A.array(lQ).default([]),costEstimates:A.array(p1).default([]),evidenceRefs:A.array(K_).default([]),validationPlanRefs:A.array(__).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!U&&_.decisions.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),Ev=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"])}),Av=A.enum(["work_run","root_request","pr_group","leaf_task","attempt","writer_generation","writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","repo","worktree","branch","event_stream","replay_cursor","handoff","pull_request","commit","review","reviewer","review_run","proof_bundle","repair_cycle","merge_guard","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","recovery","cancellation","cleanup_eligibility","cleanup_outcome","rollback_plan","rollback_outcome","terminal_disposition","openloops_invocation","adapter_extension"]),Jv=A.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),X0=A.string().regex(/^[a-f0-9]{64}$/),o2=A.string().trim().min(3).max(256),$G=/^[a-f0-9]{32}$/;function Wv(_,$,U){return`${_}:${$}:opaque-${U.slice(0,32)}`}function Sv(_){return`evidence:opaque-${_.slice(0,32)}`}var UG=o2.refine((_)=>{let U=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return $G.test(U)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),uz=o2.refine((_)=>{let U=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return $G.test(U)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),Lv=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"]),hz=A.object({role:Av,authority:Jv,id:o2,digest:X0,redaction:A.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let U=Ev[_.role];if(!U.includes(_.authority))$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${U.join(" or ")}`,path:["authority"]});if(Lv.has(_.role)&&_.redaction==="none")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let N=Wv(_.role,_.authority,_.digest);if(_.id!==N)$.addIssue({code:A.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),H$=A.object({id:o2,digest:X0,redaction:A.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==Sv(_.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function DG(_,$,U,N){if(_.id===$.id||_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:N})}function H(_){return hz.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function H_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function rz(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function qU(_,$,U,N,D){if(rz(_,$))U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:N});if(_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:N})}function d2(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function N$(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var F_=A.object({algorithm:A.enum(["sha1","sha256"]),value:A.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let U=_.algorithm==="sha1"?40:64;if(_.value.length!==U)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${U} lowercase hex characters`,path:["value"]})});function gQ(_){if(_.canonicalizationVersion===1){let U=JSON.stringify(["hasna.task_to_pr_projection.binding.v1",_.canonicalizationVersion,_.rootRequestRef.id,_.rootRequestRef.digest,_.prGroupRef.id,_.prGroupRef.digest,_.leafTaskRef.id,_.leafTaskRef.digest,_.repoRef.id,_.repoRef.digest,_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return BQ("sha256").update(U,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((U)=>[U.role,U.authority,U.id,U.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return BQ("sha256").update($,"utf8").digest("hex")}var Pv=A.object({ref:H("attempt"),nonce:uz,admissionRef:H("admission"),admissionWriterGenerationRef:H("writer_generation"),workerActorRef:H("worker_actor"),workerRef:H("worker"),runtimeRef:H("runtime"),writerGenerationRef:H("writer_generation"),writerLeaseRef:H("writer_lease"),writerFenceRef:H("writer_fence"),providerProfileRef:H("provider_profile"),providerRouteRef:H("provider_route")}).strict(),Ov=A.object({repoRef:H("repo"),worktreeRef:H("worktree"),branchRef:H("branch"),baseHead:F_,branchHead:F_}).strict(),zv=A.object({streamRef:H("event_stream"),replayCursorRef:H("replay_cursor"),sequence:A.number().int().safe().nonnegative(),prefixDigest:X0}).strict(),Xv=A.object({ref:H("handoff"),previousAttemptRef:H("attempt"),nextAttemptRef:H("attempt"),previousWriterGenerationRef:H("writer_generation"),nextWriterGenerationRef:H("writer_generation"),stoppedWorkRunRef:H("work_run"),stopEvidenceRef:H$,leaseRevocationEvidenceRef:H$}).strict().superRefine((_,$)=>{qU(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),qU(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),DG(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Rv=A.object({ref:H("review"),pullRequestRef:H("pull_request"),base:F_,head:F_,reviewerRef:H("reviewer"),reviewRunRef:H("review_run"),proofBundleRef:H("proof_bundle"),verdict:A.enum(["approved","changes_requested","blocked"]),reviewedAt:q_}).strict(),Yv=A.object({pullRequestRef:H("pull_request"),remoteBranchRef:H("branch"),expectedBase:F_,providerPullRequestBase:F_,localHead:F_,remoteHead:F_,providerPullRequestHead:F_,equalityProofRef:H("proof_bundle"),ciProofBundleRefs:A.array(H("proof_bundle")).min(1),verifiedAt:q_}).strict().superRefine((_,$)=>{if(!N$(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!N$(_.localHead,_.remoteHead)||!N$(_.localHead,_.providerPullRequestHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let U=_.ciProofBundleRefs.map(d2);if(new Set(U).size!==U.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let N=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(N).size!==N.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>rz(D,_.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical identities",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>D.digest===_.equalityProofRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),Qv=A.object({ref:H("repair_cycle"),cycle:A.number().int().min(0).max(2),cap:A.literal(2),exhausted:A.boolean(),latestRepairRef:H("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&rz(_.ref,_.latestRepairRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),Gv=A.object({ref:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:F_,expectedHead:F_,reviewRefs:A.array(H("review")).min(1),proofBundleRefs:A.array(H("proof_bundle")).min(1),operatorRef:H("merge_operator"),operatorRunRef:H("merge_operator_run"),providerGuardReceiptRef:H("merge_guard_receipt"),mechanism:A.enum(["compare_and_swap","queue_expected_head"]),decision:A.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:q_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((j)=>j.id)).size!==_.reviewRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(d2)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((j)=>j.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),Tv=A.object({ref:H("merge_outcome"),guardRef:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:F_,observedBase:F_,expectedHead:F_,observedHead:F_,status:A.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:H("commit").optional(),finishedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict().superRefine((_,$)=>{let U=N$(_.expectedBase,_.observedBase),N=N$(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!U||!N)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!U?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&N)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&U)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!N)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!N&&_.status!=="head_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!U&&_.status!=="base_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),Bv=A.object({guard:Gv,outcome:Tv.optional()}).strict(),Vv=A.object({ref:H("recovery"),priorAttemptRef:H("attempt"),priorWriterGenerationRef:H("writer_generation"),priorWorkRunRef:H("work_run"),successorAttemptNonce:uz,successorWriterGenerationRef:H("writer_generation"),preservedStateRefs:A.array(hz).min(1),stopEvidenceRef:H$,leaseRevocationEvidenceRef:H$}).strict().superRefine((_,$)=>{qU(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),DG(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Fv=A.object({ref:H("cancellation"),cancelledAttemptRef:H("attempt"),preservedStateRefs:A.array(hz).min(1),evidenceRefs:A.array(H$).min(1)}).strict(),Kv=A.object({ref:H("cleanup_eligibility"),status:A.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:H("worktree"),eventCursorRef:H("replay_cursor"),terminalDispositionRef:H("terminal_disposition"),writerLeaseRef:H("writer_lease"),leaseRevocationEvidenceRef:H$,consumedEventEvidenceRef:H$,evaluatedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),Mv=A.object({ref:H("cleanup_outcome"),eligibilityRef:H("cleanup_eligibility"),targetWorktreeRef:H("worktree"),status:A.enum(["preserved","deleted","failed","skipped"]),finishedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict(),gv=A.object({eligibility:Kv,outcome:Mv.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!H_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!H_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility and outcome must bind the same target worktree",path:["outcome","targetWorktreeRef"]});if(_.outcome?.status==="deleted"&&_.eligibility.status!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),Zv=A.object({plan:A.object({ref:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),createdAt:q_}).strict(),outcome:A.object({ref:H("rollback_outcome"),planRef:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),status:A.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!H_(_.outcome.planRef,_.plan.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!H_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback target",path:["outcome","targetRef"]});if(_.outcome&&Date.parse(_.outcome.finishedAt)({category:"ci_proof",ref:$,base:_.exactHead.expectedBase,head:_.exactHead.localHead}))]:[],..._.reviews.flatMap(($)=>[{category:"review_proof",ref:$.proofBundleRef,base:$.base,head:$.head},{category:"review_record",ref:$.ref,base:$.base,head:$.head},{category:"review_run",ref:$.reviewRunRef,base:$.base,head:$.head}]),..._.merge?[{category:"merge_guard",ref:_.merge.guard.ref},{category:"provider_guard_receipt",ref:_.merge.guard.providerGuardReceiptRef,base:_.merge.guard.expectedBase,head:_.merge.guard.expectedHead}]:[],..._.cleanup?[{category:"cleanup_eligibility",ref:_.cleanup.eligibility.ref}]:[],..._.rollback?[{category:"rollback_plan",ref:_.rollback.plan.ref}]:[],..._.terminalDispositionRef?[{category:"terminal_disposition",ref:_.terminalDispositionRef}]:[]]}function kv(_,$){if(_.category!==$.category)return!1;if(_.category==="projection_id"&&$.category==="projection_id")return _.projectionId===$.projectionId;if(_.category==="attempt_nonce"&&$.category==="attempt_nonce")return _.nonce===$.nonce;if(_.category==="replay_prefix"&&$.category==="replay_prefix")return _.sequence===$.sequence&&_.prefixDigest===$.prefixDigest;if(!("ref"in _)||!("ref"in $))return!1;return H_(_.ref,$.ref)&&(("head"in _)&&("head"in $)&&("base"in _)&&("base"in $)&&N$(_.base,$.base)&&N$(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var bv="hasna.task_to_pr_adapter_extension.",Cv=A.object({mode:A.enum(["local","cloud"]),schema:wz,ref:H("adapter_extension"),digest:X0}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(bv))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),wv=A.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),ZQ=new Set(["admitted","running","handed_off"]),HQ=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),vv={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"])},fv=A.object({schema:A.literal(h.taskToPrProjection),id:UG,createdAt:q_,canonicalizationVersion:A.union([A.literal(1),A.literal(2)]),identityDigest:X0,frozenScopeDigest:X0,state:wv,workRunRef:H("work_run"),rootRequestRef:H("root_request"),prGroupRef:H("pr_group"),leafTaskRef:H("leaf_task"),attempt:Pv,repository:Ov,events:zv,openLoopsInvocationRef:H("openloops_invocation").optional(),pullRequestRef:H("pull_request").optional(),exactHead:Yv.optional(),handoff:Xv.optional(),reviews:A.array(Rv).default([]),repair:Qv,merge:Bv.optional(),recovery:Vv.optional(),cancellation:Fv.optional(),cleanup:gv.optional(),rollback:Zv.optional(),terminalDispositionRef:H("terminal_disposition").optional(),provenanceLedger:A.array(Hv),adapterExtensions:A.array(Cv).default([]),evidenceRefs:A.array(H$).default([])}).strict().superRefine((_,$)=>{let U=_.canonicalizationVersion===1?gQ({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):gQ({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==U)$.addIssue({code:A.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let N=new Set,D=new Set,j=new Set,I=new Set,E=new Set,J=new Set;for(let[T,F]of _.provenanceLedger.entries()){if("ref"in F){if(N.has(F.ref.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(N.add(F.ref.id),D.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(F.ref.digest);continue}if(F.category==="projection_id"){if(j.has(F.projectionId))$.addIssue({code:A.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});j.add(F.projectionId);continue}if(F.category==="attempt_nonce"){if(I.has(F.nonce))$.addIssue({code:A.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});I.add(F.nonce);continue}if(E.has(F.prefixDigest))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(E.add(F.prefixDigest),J.has(F.sequence))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});J.add(F.sequence)}for(let T of qv(_))if(!_.provenanceLedger.some((F)=>kv(F,T)))$.addIssue({code:A.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let W=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],S=(T,F,M,q)=>{let x=new Set(F.map((D_)=>D_.role)),l=new Set;for(let[D_,I_]of T.entries()){if(!x.has(I_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} cannot preserve an unrecognized ${I_.role} role`,path:[...M,D_]});if(l.has(I_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve exactly one canonical ref per role`,path:[...M,D_]});l.add(I_.role)}if(T.length!==F.length)$.addIssue({code:A.ZodIssueCode.custom,message:`${q} preservation refs must exactly equal the required canonical role set`,path:M});for(let D_ of F)if(!T.some((I_)=>H_(I_,D_)))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve ${D_.role}`,path:M})};if(_.handoff&&!H_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next generation must be the current attempt writer generation",path:["handoff","nextWriterGenerationRef"]});if(_.handoff&&!H_(_.handoff.nextAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)qU(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!H_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});qU(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),qU(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),S(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...W],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!H_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)S(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...W],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the handoff and recovery snapshot",path:["recovery"]});if(_.cleanup&&!H_(_.cleanup.eligibility.eventCursorRef,_.events.replayCursorRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the current canonical replay cursor",path:["cleanup","eligibility","eventCursorRef"]});if(_.cleanup&&(!_.terminalDispositionRef||!H_(_.cleanup.eligibility.terminalDispositionRef,_.terminalDispositionRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact durable terminal owner fact",path:["cleanup","eligibility","terminalDispositionRef"]});if(_.cleanup&&!H_(_.cleanup.eligibility.writerLeaseRef,_.attempt.writerLeaseRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact writer lease being revoked",path:["cleanup","eligibility","writerLeaseRef"]});if(_.cleanup&&!H_(_.cleanup.eligibility.targetWorktreeRef,_.repository.worktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!H_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,F]of _.reviews.entries())if(!H_(F.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!H_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard must bind the canonical pull request ref",path:["merge","guard","pullRequestRef"]});if(_.merge?.outcome&&!H_(_.merge.outcome.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the canonical pull request ref",path:["merge","outcome","pullRequestRef"]})}else if(_.exactHead||_.reviews.length>0||_.merge)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!N$(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!N$(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head expected base must equal the canonical repository base",path:["exactHead","expectedBase"]});if(_.exactHead&&!H_(_.exactHead.remoteBranchRef,_.repository.branchRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head remote branch ref must equal the canonical repository branch ref",path:["exactHead","remoteBranchRef"]});if(_.exactHead&&Date.parse(_.exactHead.verifiedAt)0&&!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews require local/remote/provider exact-head proof",path:["exactHead"]});if(_.exactHead){let T=[{ref:_.exactHead.equalityProofRef,path:["exactHead","equalityProofRef"]},..._.exactHead.ciProofBundleRefs.map((q,x)=>({ref:q,path:["exactHead","ciProofBundleRefs",x]})),..._.reviews.map((q,x)=>({ref:q.proofBundleRef,path:["reviews",x,"proofBundleRef"]}))],F=new Set,M=new Set;for(let q of T){let x=d2(q.ref);if(F.has(x))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:q.path});if(F.add(x),M.has(q.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:q.path});M.add(q.ref.digest)}}let L=new Set,X=new Set,z=new Set,Y=new Set,P=new Set,O=new Set,R=new Set,Q=new Set;for(let[T,F]of _.reviews.entries()){if(!N$(F.base,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!N$(F.head,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[q,x,l]of[[F.ref.id,L,"ref"],[F.reviewerRef.id,z,"reviewerRef"],[F.reviewRunRef.id,P,"reviewRunRef"]]){if(x.has(q))$.addIssue({code:A.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,l]});x.add(q)}if(X.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(X.add(F.ref.digest),Y.has(F.reviewerRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(Y.add(F.reviewerRef.digest),O.has(F.reviewRunRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});O.add(F.reviewRunRef.digest);let M=d2(F.proofBundleRef);if(R.has(M))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(R.add(M),Q.has(F.proofBundleRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(Q.add(F.proofBundleRef.digest),F.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(F.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(F.reviewedAt)Date.parse(_.merge.guard.evaluatedAt)T.verdict!=="approved"))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards require at least one review and all reviews approved",path:["merge","guard","decision"]});if(_.merge.guard.reviewRefs.length!==_.reviews.length||_.merge.guard.reviewRefs.some((T)=>!_.reviews.some((F)=>H_(T,F.ref))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guard review refs must exactly equal the projected approved review refs as a canonical set",path:["merge","guard","reviewRefs"]});for(let T of _.reviews)if(!_.merge.guard.proofBundleRefs.some((F)=>H_(F,T.proofBundleRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>H_(T,_.exactHead.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind the exact-head equality proof",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&_.exactHead.ciProofBundleRefs.some((T)=>!_.merge.guard.proofBundleRefs.some((F)=>H_(F,T))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact-head CI proof",path:["merge","guard","proofBundleRefs"]})}}if(_.merge?.outcome){if(!H_(_.merge.outcome.guardRef,_.merge.guard.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!N$(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!N$(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:A.ZodIssueCode.custom,message:"Every merge outcome requires an explicitly consumed merge guard",path:["merge","guard","decision"]});if(Date.parse(_.merge.outcome.finishedAt)0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((ZQ.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let V=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!vv[_.state].has(V))$.addIssue({code:A.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${V}`,path:["merge"]});if(HQ.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!HQ.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Repairing projections require a non-zero repair cycle",path:["repair","cycle"]});if(_.merge&&(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed")&&!H_(_.attempt.admissionWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge eligibility requires admission from the current writer generation",path:["attempt","admissionWriterGenerationRef"]});if(_.state==="merge_ready"&&_.merge?.guard.decision!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:A.ZodIssueCode.custom,message:"Merged projections require a merged immutable outcome",path:["merge"]});if(_.state==="closed_unmerged"&&!_.merge?.outcome?.status.match(/^(closed_unmerged|refused|head_drift|base_drift)$/))$.addIssue({code:A.ZodIssueCode.custom,message:"Closed-unmerged projections require a non-merged terminal outcome",path:["merge"]});if(_.state==="cleanup_complete"&&(!_.cleanup?.outcome||!["deleted","preserved","skipped"].includes(_.cleanup.outcome.status)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed and blocked projections require redacted evidence refs",path:["evidenceRefs"]});if(["admitted","running","handed_off","reviewing","repairing","merge_ready","recovering"].includes(_.state)&&(_.merge?.outcome||_.cancellation||_.cleanup?.outcome||_.rollback?.outcome))$.addIssue({code:A.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let G=new Set;for(let[T,F]of _.adapterExtensions.entries()){let M=`${F.mode}:${F.schema}`;if(G.has(M))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});G.add(M)}});var xv=A.object({id:A.string().min(1),at:q_,kind:A.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:A.string().min(1),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),costEstimate:p1.optional()}).strict(),yv=z_(h.agentTrajectory).extend({actor:I6,workRunRef:__.optional(),events:A.array(xv).default([]),outcome:A.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:__.optional()}).strict(),uv="v1",hv=A.enum(["library","cli-with-store","service","saas"]),rv=["user-hosted","hasna-saas"],cv=A.enum(rv),mv=["api","sdk","mcp","cli"],NG=A.enum(mv),nv=A.enum(["supported","deferred","unsupported"]),dv=A.enum(["none","local-only","api-key","session","service-token","custom"]),Zz=A.object({method:A.enum(["GET","POST","PUT","PATCH","DELETE"]),path:A.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:A.boolean().default(!1),description:A.string().min(1).optional()}).strict(),lv=A.object({id:A.string().min(1),kind:A.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),evidenceRef:K_.optional(),status:A.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),iv=A.object({name:A.string().min(1),kind:NG.optional(),status:nv,bin:A.string().min(1).optional(),mcpBin:A.string().min(1).optional(),authMode:dv,health:Zz.optional(),readiness:Zz.optional(),version:Zz.optional(),apiBasePath:A.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:A.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:A.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:A.string().min(1).optional(),readinessGates:A.array(lv).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),tv=["sqlite","postgres"],jG=A.enum(tv),IG=["sqlite","postgres"],ov=A.enum(IG),Cz=["postgres"],pv=A.object({kind:NG,reason:A.string().trim().min(1)}).strict(),cz=500,mz=200,l2=(_)=>A.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),av=["domain","host","ip","email"],ev=A.object({kind:A.enum(av),reason:l2(cz),reviewedBy:l2(mz),expiresAt:q_}).strict(),sv=A.object({engine:A.enum(Cz),reason:l2(cz),reviewedBy:l2(mz).optional(),expiresAt:q_.optional()}).strict();function _f(_){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 $f=A.object({conformance:A.object({waivedSurfaces:A.array(pv).default([]),waiverProfile:A.literal("non-node-monorepo").optional(),waivedStorageEngines:A.array(sv).default([]),waivedAssetInventories:A.array(ev).default([])}).catchall(A.unknown()).optional(),release:A.object({artifactScan:A.object({script:A.string().trim().min(1)}).strict().optional()}).catchall(A.unknown()).optional()}).catchall(A.unknown()),Uf=A.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Df=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Nf(_){return Df.map(($)=>`${_}${$}`)}function qQ(_){return`hasna/oss/${_}/database-url`}var jf=A.object({mode:jG,engines:A.array(ov).min(1).optional(),envPrefix:A.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:A.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:A.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:A.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:A.object({envVar:A.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:A.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA__DATABASE_URL contract",path:["envPrefix"]})}),EG=A.enum(["0600"]),AG=A.enum(["0700"]),JG=A.enum([".hasna",".codewith"]),If=A.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),gU=Z$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),Ef=A.object({id:A.string().min(1),source:A.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:A.string().min(1).optional(),column:A.string().min(1).optional(),description:A.string().min(1),required:A.boolean().default(!0)}).strict(),Af=A.object({safeWhen:A.enum(["exclusive_access","offline_only","never"]),operations:A.array(A.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),Jf=A.object({id:A.string().min(1),description:A.string().min(1),ttlDays:A.number().int().nonnegative().optional(),artifactClasses:A.array(If).min(1),allowlistGlobs:A.array(gU).min(1),activeRecordExclusions:A.array(Ef).default([]),sqliteMaintenance:Af.optional()}).strict(),Wf=A.object({storeId:A.string().regex(/^[a-z][a-z0-9-]*$/),packageName:A.string().min(1),displayName:A.string().min(1),root:JG,relativePath:gU,directoryMode:AG.default("0700"),fileMode:EG.default("0600"),sqliteDatabaseGlobs:A.array(gU).default([]),sensitiveFileGlobs:A.array(gU).default([]),backupGlobs:A.array(gU).default([]),exportGlobs:A.array(gU).default([]),retentionAdapters:A.array(Jf).default([]),notes:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:A.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let U=new Set;for(let[N,D]of _.retentionAdapters.entries()){if(U.has(D.id))$.addIssue({code:A.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",N,"id"]});U.add(D.id)}}),WG=z_(h.secureLocalStorePolicy).extend({version:A.string().min(1),scope:A.array(JG).min(1),defaults:A.object({directoryMode:AG.default("0700"),fileMode:EG.default("0600"),dryRunDefault:A.literal(!0),requireExplicitApply:A.literal(!0),includeSqliteSidecars:A.literal(!0),redactedEvidenceOnly:A.literal(!0)}).strict(),stores:A.array(Wf).min(1),lifecycle:A.object({retentionDryRunDefault:A.literal(!0),requireActiveRecordExclusionProof:A.literal(!0),requireArtifactAllowlist:A.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:A.literal(!0)}).strict(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set;for(let[N,D]of _.stores.entries()){if(U.has(D.storeId))$.addIssue({code:A.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",N,"storeId"]});if(U.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:A.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",N,"root"]})}}),Sf=A.object({$schema:A.string().min(1).optional(),schema:A.literal(h.serviceContract),name:Uf,class:hv,contractVersion:A.literal(uv),kitVersion:A.string().min(1),description:A.string().min(1).optional(),bins:A.array(A.string().min(1)).default([]),storage:jf.optional(),hosting:A.array(cv).min(1).default(["user-hosted"]),serviceSurfaces:A.array(iv).default([]),metadata:$f.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:A.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let U=new Set(Nf(_.name)),N=new Set;for(let[W,S]of _.bins.entries()){if(N.has(S))$.addIssue({code:A.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",W]});if(N.add(S),!U.has(S))$.addIssue({code:A.ZodIssueCode.custom,message:`Bin "${S}" is not allowlisted for app "${_.name}"; allowed: ${[...U].join(", ")}`,path:["bins",W]})}let D=(W)=>N.has(`${_.name}${W}`);if(_.storage){let W=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${W}_`)$.addIssue({code:A.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${W}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==qQ(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${qQ(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:A.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let W=new Set(_.storage.engines),S=_.metadata?.conformance?.waivedStorageEngines??[],L=_f({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),X=new Set(L?[]:S.map((Y)=>Y.engine)),z=IG.filter((Y)=>!W.has(Y)&&!X.has(Y));if(z.length>0){let Y=L&&S.length>0?`; declared waiver ignored: ${L}`:"";$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${z.join(", ")}${Y}`,path:["storage","engines"]})}}}if(!N.has(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:A.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[W,S]of _.serviceSurfaces.entries()){if(S.bin&&!N.has(S.bin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface bin "${S.bin}" must be declared in bins`,path:["serviceSurfaces",W,"bin"]});if(S.mcpBin&&!N.has(S.mcpBin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface MCP bin "${S.mcpBin}" must be declared in bins`,path:["serviceSurfaces",W,"mcpBin"]})}let j=_.metadata?.conformance?.waivedSurfaces??[],I=new Set;for(let[W,S]of j.entries()){if(I.has(S.kind))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${S.kind}`,path:["metadata","conformance","waivedSurfaces",W,"kind"]});I.add(S.kind)}let E=_.metadata?.conformance?.waivedStorageEngines??[],J=new Set;for(let[W,S]of E.entries()){if(J.has(S.engine))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${S.engine}`,path:["metadata","conformance","waivedStorageEngines",W,"engine"]});J.add(S.engine)}}),Ni=A.object({status:A.enum(["ok","degraded","unavailable"]),version:A.string().min(1),mode:jG}).strict(),ji=A.object({ready:A.boolean(),reason:A.string().min(1).optional()}).strict(),Ii=A.object({version:A.string().min(1)}).strict(),Lf=A.enum(["info","notice","breaking","critical"]),Pf=A.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),Of=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],zf=A.enum(Of);var Xf=A.enum(["fleet","package","machine"]),SG=z_(h.commsEventEnvelope).extend({type:Pf,severity:Lf,scope:Xf,summary:A.string().min(1).optional(),source:I6.optional(),affected_packages:A.array(a).default([]),affected_machines:A.array(a).default([]),action_required:A.boolean().default(!1),ack_by:q_.optional(),dedupe_key:a,resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if(_.type==="fleet.freeze"||_.type==="fleet.unfreeze"){if(_.severity!=="critical")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Rf=A.enum(["fleet","package","product","loop-lane","initiative","personal"]),Yf=A.enum(["quiet","work","firehose"]),Qf=a.refine((_)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(_),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),Gf=z_(h.commsChannelMetadata).extend({class:Rf,noise:Yf.optional(),owner:a.optional(),until:Qf.optional(),successor:a.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),kQ={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}},Tf=z_(h.commsMessageMetadata).extend({tag:zf,envelope:SG}).strict().superRefine((_,$)=>{let U=kQ[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[N,D]of Object.entries(kQ))if(D.requiredEventType===_.envelope.type&&_.tag!==N)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${N}] tag`,path:["tag"]})});var Bf={[h.actorRef]:iC,[h.resourceRef]:tC,[h.evidenceRef]:pC,[h.workRun]:Iv,[h.taskToPrProjection]:fv,[h.decisionEnvelope]:lQ,[h.costEstimate]:p1,[h.capabilityCard]:eC,[h.providerLiveModeStandard]:Nw,[h.contextPack]:iQ,[h.integrationRef]:tQ,[h.projectManifest]:Jw,[h.projectPanel]:oQ,[h.projectSnapshot]:Qw,[h.renderManifest]:Pw,[h.agentTrajectory]:yv,[h.validationPlan]:Gw,[h.proofBundle]:jv,[h.scaffoldManifest]:gw,[h.scaffoldInstallRecord]:Hw,[h.appCloudManifest]:eQ,[h.noCloudEvidencePack]:Dv,[h.secureLocalStorePolicy]:WG,[h.serviceContract]:Sf,[h.commsEventEnvelope]:SG,[h.commsChannelMetadata]:Gf,[h.commsMessageMetadata]:Tf,[h.app]:xw,[h.release]:uw,[h.rolloutRecord]:cw,[h.announcement]:lw,[h.audience]:ew};class LG extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function PG(_,$){let N=Bf[_].safeParse($);if(!N.success)throw new LG(_,N.error.issues);return N.data}var Ei=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var nz=[{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"}],Ai=nz.filter((_)=>("checkKind"in _)),Vf=nz.filter((_)=>_.kind==="module"),Ji=[...new Set([...c2,...Vf.map((_)=>_.pattern)])],Wi=nz.filter((_)=>_.kind==="config");var bQ="^[^\\u0000-\\u001f\\u007f]*$",Si={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Hosting story, product surfaces, and storage capabilities are separate declarations; the storage backend (sqlite | postgres) is the only runtime switch.",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],allOf:[{if:{required:["class"],properties:{class:{const:"saas"}}},then:{required:["storage"],properties:{storage:{required:["mode","envPrefix"],properties:{mode:{const:"postgres"}}}}}}],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:h.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: , -cli, -mcp, -serve, -worker, -runner, -daemon, -migrate, -doctor."},hosting:{type:"array",items:{enum:["user-hosted","hasna-saas"]},minItems:1,uniqueItems:!0,description:"Customer-facing product stories. Public OSS cores include user-hosted; add hasna-saas only when a managed control plane exists."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode"],allOf:[{if:{required:["status"],properties:{status:{const:"supported"},kind:{const:"api"}}},then:{required:["bin","health","readiness","version"]}}],properties:{name:{type:"string",minLength:1},kind:{enum:["api","sdk","mcp","cli"]},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},exportSubpath:{type:"string",pattern:"^\\.(?:\\/[A-Za-z0-9_.-]+(?:\\/[A-Za-z0-9_.-]+)*)?$",description:"SDK package export key such as . or ./sdk."},generatedFrom:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$",description:"OpenAPI path used to generate the SDK."},clientClassName:{type:"string",pattern:"^[A-Za-z_$][A-Za-z0-9_$]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared API, SDK, MCP, and CLI product surfaces. Legacy entries without kind remain parseable; new manifests declare kind explicitly."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["sqlite","postgres"],description:"Active data backend. sqlite|postgres ONLY \u2014 the single runtime switch."},engines:{type:"array",items:{enum:["sqlite","postgres"]},minItems:1,uniqueItems:!0,description:"Supported storage engines; capability metadata independent of the active backend."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Legacy/private-tier database secret ref. Public conformance rejects this field."},sqlitePath:{type:"string",pattern:"\\.db$",description:"Local sqlite path (~/.hasna//.db)."},pgTestGate:{type:"object",additionalProperties:!1,required:["envVar","command"],properties:{envVar:{type:"string",pattern:"^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$"},command:{type:"string",minLength:1}},description:"Environment-gated live PostgreSQL test command."}}},metadata:{type:"object",additionalProperties:!0,properties:{conformance:{type:"object",additionalProperties:!0,properties:{waiverProfile:{const:"non-node-monorepo",description:"Explicit surface-waiver eligibility for exceptional non-Node monorepos. Libraries are eligible for API/MCP waivers without this profile."},waivedSurfaces:{type:"array",uniqueItems:!0,items:{type:"object",additionalProperties:!1,required:["kind","reason"],properties:{kind:{enum:["api","sdk","mcp","cli"]},reason:{type:"string",minLength:1}}}},waivedStorageEngines:{type:"array",uniqueItems:!0,maxItems:Cz.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...Cz]},reason:{type:"string",minLength:1,maxLength:cz,allOf:[{pattern:"\\S"},{pattern:bQ}]},reviewedBy:{type:"string",minLength:1,maxLength:mz,allOf:[{pattern:"\\S"},{pattern:bQ}]},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 Ff="2026-07-06";function D6(_,$,U,N,D,j=[],I){return{id:_,description:$,ttlDays:U,artifactClasses:N,allowlistGlobs:D,activeRecordExclusions:j.map((E)=>({...E,required:E.required??!0})),sqliteMaintenance:I}}var Li=WG.parse({schema:h.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Ff,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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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 Kf=64,Pi=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Kf-1}}$`),KU="[0-9a-fA-F]",Oi=new RegExp(`^\\{?(?:${KU}{8}-${KU}{4}-${KU}{4}-${KU}{4}-${KU}{12}|${KU}{32})\\}?$`);var Mf=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var zi=new RegExp(Mf.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var OG="@hasna/knowledge";function gf(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Zf(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function a1(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function h_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function e1(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function lU(_){if(typeof _!=="string"||_.length===0)return;let $=_.includes("T")?_:`${_.replace(" ","T")}Z`,U=new Date($);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function p2(_){return d$.safeParse(_).success}function l$(_,$,U,N,D=[]){return{kind:_,id:$,name:U,uri:N&&p2(N)?N:void 0,externalId:$,sourcePackage:OG,tags:D}}function Hf(_){return[..._.items.flatMap((U)=>[U.updated_at,U.created_at]),..._.sources.flatMap((U)=>[U.updated_at,U.created_at]),..._.chunks.map((U)=>U.created_at),..._.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),..._.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),..._.runs.flatMap((U)=>[U.updated_at,U.created_at]),..._.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),..._.sync_conflicts.map((U)=>U.created_at),..._.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(lU).filter(Boolean).sort((U,N)=>N.localeCompare(U))[0]}function qf(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function kf(_){let $=(U)=>{let N=String(U??"").toLowerCase();return N!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(N)};return _.reindex_queue.filter((U)=>$(U.status)).length+_.sync_conflicts.filter((U)=>$(U.status)).length+_.approval_gates.filter((U)=>$(U.status)).length}function bf(_,$){let U=[];for(let N of _.items.slice(0,$))U.push({id:`item_${N.id}`,title:N.title,summary:a1(N.content_preview),status:N.archived?"archived":"active",priority:"medium",timestamp:lU(N.updated_at??N.created_at),resourceRefs:[l$("knowledge",N.id,N.title,`knowledge://item/${encodeURIComponent(N.id)}`,N.tags)],evidenceRefs:N.url&&p2(N.url)?[{id:`url_${N.id}`,kind:"url",uri:N.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:N.archived,tags:N.tags,url:N.url||void 0}});for(let N of _.sources.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,h_(N.uri,"source")),j=h_(N.title,h_(N.uri,D)),I=h_(N.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:j,summary:a1(`${e1(N.chunks)} chunk(s), ${e1(N.revisions)} revision(s)`),status:e1(N.chunks)>0?"indexed":"source",priority:"medium",timestamp:lU(N.updated_at??N.created_at),resourceRefs:[l$("document",D,j,I)],evidenceRefs:p2(I)?[{id:`source_${D}`,kind:"url",uri:I,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:N.kind,chunks:e1(N.chunks),revisions:e1(N.revisions)}})}for(let N of _.chunks.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"chunk"),j=h_(N.source_uri);U.push({id:`chunk_${D}`,title:h_(N.wiki_title,j?`Chunk from ${j}`:`Knowledge chunk ${D}`),summary:a1(N.text_preview),status:"chunk",priority:"low",timestamp:lU(N.created_at),resourceRefs:[l$("context_pack",D,h_(N.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:j&&p2(j)?[{id:`chunk_source_${D}`,kind:"url",uri:j,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:j||void 0,token_count:N.token_count,ordinal:N.ordinal}})}for(let N of _.sync_conflicts.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${h_(N.entity_kind,"entity")}/${h_(N.entity_id,D)}`,summary:a1(`Status ${h_(N.status,"unknown")}; strategy ${h_(N.resolution_strategy,"none")}.`),status:h_(N.status,"unknown"),priority:"critical",timestamp:lU(N.created_at),resourceRefs:[l$("finding",D,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:N.local_machine_id,remote_machine_id:N.remote_machine_id}})}for(let N of _.reindex_queue.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${h_(N.kind,"item")}: ${h_(N.target_id,D)}`,summary:a1(N.reason),status:h_(N.status,"unknown"),priority:h_(N.status).toLowerCase()==="failed"?"high":"medium",timestamp:lU(N.updated_at??N.created_at),resourceRefs:[l$("action",D,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:N.attempts,source_uri:N.source_uri}})}return U.slice(0,$)}async function zG(_,$={}){let U=gf($.limit),N=new Date().toISOString(),D=Zf(_),I=await($.service??r2({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),E=Hf(I),J=qf(E),W=I.summary.active_items+I.summary.sources+I.summary.chunks+I.summary.wiki_pages+I.summary.storage_objects,S=kf(I),L=W===0?"empty":J==="stale"?"stale":"ready",X=bf(I,U),z={schema:h.projectPanel,id:`knowledge_panel_${D}`,createdAt:N,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:OG,externalId:I.home},kind:"knowledge",title:"Knowledge",summary:L==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${I.summary.active_items} active note(s), ${I.summary.sources} source(s), ${I.summary.chunks} chunk(s), and ${I.summary.wiki_pages} wiki page(s).`,state:L,stateReason:L==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:N,freshness:J,metrics:[{id:"active_items",label:"Active notes",value:I.summary.active_items,status:I.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:I.summary.sources,status:I.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:I.summary.chunks,status:I.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:I.summary.wiki_pages,status:I.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:I.summary.storage_objects,status:I.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:I.summary.vector_entries,status:I.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:S,status:S>0?"warning":"good"}],items:X,actions:[l$("action","knowledge:inventory","Inspect knowledge inventory"),l$("action","knowledge:context-pack","Build cited context pack"),l$("action","knowledge:ingest","Ingest project source")],resourceRefs:[l$("project",D,_,`project://${D}`),l$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),l$("artifact",`db_${D}`,"Knowledge database",`knowledge://db/${encodeURIComponent(D)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:I.scope,home:I.home,json_store_exists:I.paths.json_store_exists,latest_activity_at:E}};return PG(h.projectPanel,z)}function XG(_){let $=[`${_.title}: ${_.state}`,_.summary??"",..._.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if(_.items.length>0){$.push("Items:");for(let U of _.items.slice(0,10))if($.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)$.push(` ${U.summary}`)}return $.join(` -`)}import{fstatSync as lf,readlinkSync as tf,readSync as of,writeSync as pf}from"fs";import{TextDecoder as af}from"util";import{createHash as YG,randomUUID as lz}from"crypto";var M_="FCAME-1",Cf="hasna.knowledge.private-input.v1";var wf="hasna.knowledge.private-query.v1",vf="hasna.knowledge.private-result.v1";var dz=Object.freeze({submission:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:1e4}),reconciliation:Object.freeze({max_calls:1,max_items:1,max_bytes:262144,wall_time_ms:5000}),readback:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:5000})}),a2=4194304,e2=30000,tU=3600000,QG=new WeakMap,ff=new WeakMap,GG=new WeakMap,TG=new WeakMap;function n_(_,$,U,N=U){if(!_||typeof _!=="object"||Array.isArray(_))throw Error(`${$} must be an object.`);let D=Object.keys(_),j=D.filter((E)=>!U.includes(E)),I=N.filter((E)=>!D.includes(E));if(j.length>0||I.length>0)throw Error(`${$} keys must match its FCAME-1 schema${j.length>0?`; unexpected: ${j.sort().join(",")}`:""}${I.length>0?`; missing: ${I.sort().join(",")}`:""}.`)}function A_(_,$,U=512){if(typeof _!=="string"||_.length===0||_.length>U||_.trim()!==_||/[\u0000-\u001f\u007f]/.test(_))throw Error(`${$} must be a non-empty, trimmed string without control characters.`)}function E6(_){if(n_(_,"binding",["authority","tenant_id","scope","parent_id"]),n_(_.authority,"binding.authority",["classification","authority_id"]),!["user_hosted","hasna_saas"].includes(_.authority.classification))throw Error("binding.authority.classification must be user_hosted or hasna_saas.");A_(_.authority.authority_id,"binding.authority.authority_id"),A_(_.tenant_id,"binding.tenant_id",64),A_(_.scope,"binding.scope"),A_(_.parent_id,"binding.parent_id")}function _E(_,$){if(!["create","update"].includes(_))throw Error("verb must be create or update.");if(_==="create"){if(n_($,"precondition",["kind"]),!$||$.kind!=="absent")throw Error("create requires the create-if-absent precondition.");return}if(n_($,"precondition",["kind","expected_version"]),!$||$.kind!=="version"||!Number.isInteger($.expected_version)||$.expected_version<1)throw Error("update requires a positive compare-and-swap expected_version.")}function BG(_){if(n_(_,"manifest",["manifest_id","ordinal","phase","compensates_receipt_id"]),A_(_.manifest_id,"manifest.manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("manifest.ordinal must be a non-negative integer.");if(!["primary","recovery"].includes(_.phase))throw Error("manifest.phase must be primary or recovery.");if(_.phase==="primary"&&_.compensates_receipt_id!==null)throw Error("a primary manifest step cannot compensate a receipt.");if(_.compensates_receipt_id!==null&&(typeof _.compensates_receipt_id!=="string"||!/^kwr_[0-9a-f]{64}$/.test(_.compensates_receipt_id)))throw Error("manifest.compensates_receipt_id must be null or an immutable guarded receipt id.")}function G$(_,$="limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(_.max_items!==1)throw Error(`${$}.max_items must be exactly 1.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>a2)throw Error(`${$}.max_bytes must be a positive integer no greater than ${a2}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>e2)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${e2}.`)}function VG(_,$="query limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(!Number.isInteger(_.max_items)||_.max_items<1||_.max_items>50)throw Error(`${$}.max_items must be an integer between 1 and 50.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>a2)throw Error(`${$}.max_bytes must be a positive integer no greater than ${a2}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>e2)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${e2}.`)}function iz(_,$){if(n_(_,"query page",["limit","offset"]),!Number.isInteger(_.limit)||_.limit<1||_.limit>$.max_items)throw Error("query page.limit must be a positive integer no greater than limits.max_items.");if(!Number.isInteger(_.offset)||_.offset<0||_.offset>1e4)throw Error("query page.offset must be an integer between 0 and 10000.")}function xf(_){if(!_||typeof _!=="object"||Array.isArray(_))throw Error("private query selector must be an object.");switch(_.kind){case"exact_title":n_(_,"private query selector",["kind","title"]),A_(_.title,"private query selector.title",2048);return;case"lexical_overlap":case"semantic_overlap":n_(_,"private query selector",["kind","query"]),A_(_.query,"private query selector.query",4096);return;case"supersession":n_(_,"private query selector",["kind","supersedes_item_id"]),A_(_.supersedes_item_id,"private query selector.supersedes_item_id");return;case"current_version":n_(_,"private query selector",["kind","item_id"]),A_(_.item_id,"private query selector.item_id");return;case"historical_version":if(n_(_,"private query selector",["kind","item_id","version"]),A_(_.item_id,"private query selector.item_id"),!Number.isInteger(_.version)||_.version<1)throw Error("private query selector.version must be a positive integer.");return;case"canonical_pointer":n_(_,"private query selector",["kind","canonical_item_id"]),A_(_.canonical_item_id,"private query selector.canonical_item_id");return;default:throw Error("private query selector.kind is unsupported.")}}function $E(_={}){if(n_(_,"limits",["submission","reconciliation","readback"],[]),_.submission!==void 0)G$(_.submission,"limits.submission");if(_.reconciliation!==void 0)G$(_.reconciliation,"limits.reconciliation");if(_.readback!==void 0)G$(_.readback,"limits.readback");let $={submission:{...dz.submission,..._.submission},reconciliation:{...dz.reconciliation,..._.reconciliation},readback:{...dz.readback,..._.readback}};return G$($.submission,"limits.submission"),G$($.reconciliation,"limits.reconciliation"),G$($.readback,"limits.readback"),Object.freeze({submission:Object.freeze($.submission),reconciliation:Object.freeze($.reconciliation),readback:Object.freeze($.readback)})}function s2(_,$){if(_===null||typeof _==="string"||typeof _==="boolean")return _;if(typeof _==="number"){if(!Number.isFinite(_))throw Error(`${$} contains a non-finite number.`);return _}if(Array.isArray(_))return _.map((D,j)=>s2(D,`${$}[${j}]`));if(typeof _!=="object")throw Error(`${$} must contain only JSON values.`);let U=Object.getPrototypeOf(_);if(U!==Object.prototype&&U!==null)throw Error(`${$} must contain plain JSON objects.`);let N={};for(let D of Object.keys(_).sort()){let j=_[D];if(j===void 0)throw Error(`${$}.${D} must not be undefined.`);N[D]=s2(j,`${$}.${D}`)}return N}function tz(_){if(_!==null&&typeof _==="object"){for(let $ of Object.values(_))tz($);Object.freeze(_)}return _}function x_(_){return JSON.stringify(s2(_,"value"))}function y_(_){return YG("sha256").update(x_(_),"utf8").digest("hex")}function iU(_){if(typeof _!=="string")throw Error("content must be a string.");return YG("sha256").update(_,"utf8").digest("hex")}function oz(_){if(!["adopt","rollback"].includes(_.action))throw Error("adoption action must be adopt or rollback.");if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),!Number.isInteger(_.expected_version)||_.expected_version<1)throw Error("expected_version must be a positive integer.");if(!/^[0-9a-f]{64}$/.test(_.expected_content_sha256))throw Error("expected_content_sha256 must be a lowercase sha256 hex digest.");let $=_.adoption_receipt_id??null;if(_.action==="adopt"&&$!==null)throw Error("adopt must not reference an adoption receipt.");if(_.action==="rollback"&&(typeof $!=="string"||!/^kar_[0-9a-f]{64}$/.test($)))throw Error("rollback requires an immutable adoption receipt id.");return`fcame1_adoption_${y_({contract:M_,action:_.action,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:_.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:$})}`}function UE(_){if(E6(_.binding),A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),!/^[0-9a-f]{64}$/.test(_.payload_digest))throw Error("payload_digest must be a lowercase sha256 hex digest.");if(_E(_.verb,_.precondition),_.manifest)BG(_.manifest);return`fcame1_${y_({contract:M_,authority:_.binding.authority,tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest??null})}`}function yf(_){if(A_(_.manifest_id,"manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("ordinal must be a non-negative integer.");if(!/^fcame1_[0-9a-f]{64}$/.test(_.step_deterministic_key))throw Error("step_deterministic_key must be an FCAME-1 deterministic key.");A_(_.operation_id,"recovery.operation_id"),A_(_.step_id,"recovery.step_id"),A_(_.target_id,"recovery.target_id"),E6(_.binding),_E(_.verb,_.precondition);let $=$E(_.limits);if(x_($)!==x_(_.limits))throw Error("recovery.limits must be explicit and complete.");if(!/^[0-9a-f]{64}$/.test(_.semantic_digest))throw Error("recovery.semantic_digest must be a lowercase sha256 hex digest.");if(!["forward_repair","receipt_scoped_compensation"].includes(_.strategy))throw Error("recovery.strategy must be forward_repair or receipt_scoped_compensation.");if(_.strategy==="receipt_scoped_compensation"&&_.receipt_scope!=="accepted_step_receipt"||_.strategy==="forward_repair"&&_.receipt_scope!==null)throw Error("receipt_scoped_compensation requires accepted_step_receipt; forward_repair requires null receipt_scope.");let U=uf(_.step_deterministic_key);if(_.strategy==="receipt_scoped_compensation"&&_.compensates_receipt_id!==U||_.strategy==="forward_repair"&&_.compensates_receipt_id!==null)throw Error("receipt-scoped compensation must bind the deterministic accepted-step receipt; forward repair must not bind one.");return UE({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.semantic_digest,precondition:_.precondition,manifest:{manifest_id:_.manifest_id,ordinal:_.ordinal,phase:"recovery",compensates_receipt_id:_.compensates_receipt_id}})}function uf(_){if(!/^fcame1_[0-9a-f]{64}$/.test(_))throw Error("deterministicKey must be an FCAME-1 write key.");return`kwr_${_.slice(7)}`}function hf(_,$){return E6(_),A_($,"operation_id"),`kmf_${y_({contract:M_,maintainer:_,operation_id:$})}`}function rf(_,$,U){if(n_($,`steps[${U}]`,["ordinal","operation_id","step_id","deterministic_key","verb","target_id","binding","semantic_digest","precondition","dependencies","limits","recovery"]),n_($.recovery,`steps[${U}].recovery`,["strategy","operation_id","step_id","deterministic_key","verb","target_id","semantic_digest","precondition","binding","limits","receipt_scope","compensates_receipt_id"]),$.ordinal!==U)throw Error(`manifest steps must be ordered contiguously from zero; expected ordinal ${U}.`);if(A_($.operation_id,`steps[${U}].operation_id`),A_($.step_id,`steps[${U}].step_id`),A_($.target_id,`steps[${U}].target_id`),E6($.binding),_E($.verb,$.precondition),!/^[0-9a-f]{64}$/.test($.semantic_digest))throw Error(`steps[${U}].semantic_digest must be a lowercase sha256 digest.`);let N=$E($.limits);if(x_(N)!==x_($.limits))throw Error(`steps[${U}].limits must be explicit and complete.`);let D=Array.from({length:U},(E,J)=>J);if(!Array.isArray($.dependencies)||x_($.dependencies)!==x_(D))throw Error(`steps[${U}].dependencies must name every prior ordinal in order.`);let j=UE({binding:$.binding,operation_id:$.operation_id,step_id:$.step_id,verb:$.verb,target_id:$.target_id,payload_digest:$.semantic_digest,precondition:$.precondition,manifest:{manifest_id:_,ordinal:$.ordinal,phase:"primary",compensates_receipt_id:null}});if($.deterministic_key!==j)throw Error(`steps[${U}].deterministic_key does not match its frozen tuple.`);let I=yf({manifest_id:_,ordinal:$.ordinal,step_deterministic_key:$.deterministic_key,strategy:$.recovery.strategy,operation_id:$.recovery.operation_id,step_id:$.recovery.step_id,verb:$.recovery.verb,target_id:$.recovery.target_id,semantic_digest:$.recovery.semantic_digest,precondition:$.recovery.precondition,binding:$.recovery.binding,limits:$.recovery.limits,receipt_scope:$.recovery.receipt_scope,compensates_receipt_id:$.recovery.compensates_receipt_id});if($.recovery.deterministic_key!==I)throw Error(`steps[${U}].recovery.deterministic_key does not match its frozen tuple.`)}function cf(_,$){E6(_),n_($,"manifest",["manifest_id","operation_id","steps"]),A_($.manifest_id,"manifest_id"),A_($.operation_id,"operation_id");let U=hf(_,$.operation_id);if($.manifest_id!==U)throw Error("manifest_id must be the deterministic FCAME-1 id for its maintainer and workflow operation.");if(!Array.isArray($.steps)||$.steps.length<2||$.steps.length>64)throw Error("a guarded workflow manifest must contain between 2 and 64 ordered steps.");let N=new Set,D=new Set;$.steps.forEach((j,I)=>{if(rf($.manifest_id,j,I),j.binding.tenant_id!==_.tenant_id||j.recovery.binding.tenant_id!==_.tenant_id)throw Error(`manifest step ${I} crosses tenants without an authority delegation contract.`);for(let E of[j,j.recovery]){let J=`${E.binding.authority.classification}\x00${E.binding.authority.authority_id}\x00${E.binding.tenant_id}\x00${E.binding.scope}\x00${E.binding.parent_id}\x00${E.operation_id}\x00${E.step_id}`;if(N.has(J))throw Error(`manifest step ${I} repeats an operation/step identity.`);if(N.add(J),D.has(E.deterministic_key))throw Error(`manifest step ${I} repeats a deterministic action key.`);D.add(E.deterministic_key)}})}function mf(_,$){return cf(_,$),y_({contract:M_,manifest_id:$.manifest_id,operation_id:$.operation_id,maintainer:_,steps:$.steps})}function FG(_,$){return`fcame1_manifest_${mf(_,$)}`}function nf(_,$){if(!$||typeof $!=="object"||Array.isArray($))throw Error("payload must be a JSON object.");if(s2($,"payload"),_==="create"){let N=$.title;if(typeof N!=="string"||N.trim().length===0)throw Error("create payload.title is required.")}let U=_==="create"?new Set(["title","content","url","tags","metadata"]):new Set(["title","content","url","tags","metadata","archived"]);for(let N of Object.keys($))if(!U.has(N))throw Error(`payload.${N} is not allowed for ${_}.`);if("title"in $&&$.title!==void 0)A_($.title,"payload.title",2048);if("content"in $&&$.content!==void 0&&typeof $.content!=="string")throw Error("payload.content must be a string.");if("url"in $&&$.url!==void 0&&$.url!==null&&(typeof $.url!=="string"||$.url.length>8192||/[\u0000-\u001f\u007f]/.test($.url)))throw Error("payload.url must be null or a string without control characters.");if("tags"in $&&$.tags!==void 0){if(!Array.isArray($.tags)||$.tags.length>256)throw Error("payload.tags must be an array of strings.");$.tags.forEach((N,D)=>A_(N,`payload.tags[${D}]`,256))}if("archived"in $&&$.archived!==void 0&&typeof $.archived!=="boolean")throw Error("payload.archived must be a boolean.");if("metadata"in $&&$.metadata!==void 0){if($.metadata===null||typeof $.metadata!=="object"||Array.isArray($.metadata))throw Error("payload.metadata must be a JSON object.")}if(_==="update"&&Object.keys($).length===0)throw Error("update payload must change at least one field.")}function KG(_){if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),_E(_.verb,_.precondition),_.manifest)BG(_.manifest);nf(_.verb,_.payload);let $=_.expires_in_ms??300000;if(!Number.isInteger($)||$<1||$>tU)throw Error(`expires_in_ms must be between 1 and ${tU}.`);let U=tz(JSON.parse(x_(_.payload))),N=y_(U),D=y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:N,manifest:_.manifest??null}),j=new Date(Date.now()+$).toISOString(),I=Object.freeze({contract:M_,schema:Cf,descriptor_id:`kpv_${lz()}`,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:N,binding_digest:D,precondition:Object.freeze({..._.precondition}),binding:Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),manifest:_.manifest?Object.freeze({manifest_id:_.manifest.manifest_id,ordinal:_.manifest.ordinal,phase:_.manifest.phase,compensates_receipt_id:_.manifest.compensates_receipt_id}):null,expires_at:j}),E=Object.freeze({...I,toJSON:()=>I});return QG.set(E,{payload:U,revoked:!1}),E}function pz(_){let $=QG.get(_);if(!$)throw Error("private input descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private input descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private input descriptor has expired.");return $.payload}function MG(_){let $=ff.get(_);if(!$)throw Error("private title lookup descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private title lookup descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private title lookup descriptor has expired.");if(iU($.title)!==_.title_digest)throw Error("private title lookup descriptor digest changed after freeze.");return $.title}function gG(_){A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),E6(_.binding),xf(_.selector);let $=_.archive??"active";if(!["active","archived","all"].includes($))throw Error("archive must be active, archived, or all.");let U=_.limit??10,N=_.offset??0;iz({limit:U,offset:N},{max_calls:1,max_items:50,max_bytes:1048576,wall_time_ms:1e4});let j=_.expires_in_ms??300000;if(!Number.isInteger(j)||j<1||j>tU)throw Error(`expires_in_ms must be between 1 and ${tU}.`);let I=tz(JSON.parse(x_(_.selector))),E=y_(I),J=Object.freeze({limit:U,offset:N}),W=Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),S=y_({binding:W,operation_id:_.operation_id,step_id:_.step_id,query_kind:I.kind,selector_digest:E,archive:$,page:J}),L=Object.freeze({contract:M_,schema:wf,operation_id:_.operation_id,step_id:_.step_id,query_kind:I.kind,selector_digest:E,binding_digest:S,binding:W,archive:$,page:J,expires_at:new Date(Date.now()+j).toISOString()}),X={...L,toJSON:()=>L};return Object.defineProperty(X,"descriptor_id",{value:`kpq_${lz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(X),GG.set(X,{selector:I,revoked:!1}),X}function az(_){let $=GG.get(_);if(!$)throw Error("private query descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private query descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private query descriptor has expired.");if(y_($.selector)!==_.selector_digest)throw Error("private query descriptor selector digest changed after freeze.");return $.selector}function RG(_){return Object.freeze({id:_.id,version:Number(_.version??1),title_sha256:iU(_.title),content_sha256:iU(_.content),url_sha256:_.url===null||_.url===void 0?null:iU(_.url),tags_sha256:y_(_.tags??[]),metadata_sha256:y_(_.metadata??{}),archived:_.archived===!0})}function s1(_,$=300000){if(!Number.isInteger($)||$<1||$>tU)throw Error(`expires_in_ms must be between 1 and ${tU}.`);let U=_.kind==="title_lookup"||_.kind==="query"?_.value.item_count:1,N=Object.freeze({contract:M_,schema:vf,kind:_.kind,result_digest:y_(_.value),item_count:U,expires_at:new Date(Date.now()+$).toISOString()}),D={...N,toJSON:()=>N};return Object.defineProperty(D,"descriptor_id",{value:`kpr_${lz()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(D),TG.set(D,{result:_,revoked:!1}),D}function _N(_){let $=TG.get(_);if(!$)throw Error("private result descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private result descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private result descriptor has expired.");if(y_($.result.value)!==_.result_digest)throw Error("private result descriptor digest changed after freeze.");if($.result.kind==="write")return Object.freeze({kind:"write",item_count:1,items:Object.freeze([RG($.result.value.readback.item)]),deterministic_key:$.result.value.deterministic_key,receipt_id:$.result.value.receipt.receipt_id,duplicate:$.result.value.duplicate});if($.result.kind==="readback")return Object.freeze({kind:"readback",item_count:1,items:Object.freeze([RG($.result.value.item)])});if($.result.kind==="query")return Object.freeze({kind:"query",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items]),query_kind:$.result.value.query_kind,status:$.result.value.status,code:$.result.value.code,total:$.result.value.total,page:Object.freeze({...$.result.value.page})});return Object.freeze({kind:"title_lookup",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items])})}function ZG(_,$){if(_.contract!==M_||_.deterministic_key!==$.deterministic_key||_.operation_id!==$.operation_id||_.step_id!==$.step_id||_.exact!==!0||_.bounded!==!0||_.receipt_count!==1||_.terminal_complete!==!0||_.receipt===null)throw Error("terminal_completeness_failed: exact bounded reconciliation did not yield one terminal receipt.");if(_.receipt.deterministic_key!==$.deterministic_key||_.receipt.operation_id!==$.operation_id||_.receipt.step_id!==$.step_id)throw Error("terminal_completeness_failed: receipt identity does not match the frozen operation.");return _.receipt}function T$(_){return Buffer.byteLength(JSON.stringify(_),"utf8")}class CG extends Error{receipt;reconciliation;code="guarded_write_rejected";constructor(_,$){super(`guarded_write_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedWriteRejectedError"}}class ez extends Error{receipt;code="guarded_operation_conflict";constructor(_){super("guarded_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedOperationConflictError"}}class wG extends Error{code="private_title_lookup_ambiguous";constructor(){super("private_title_lookup_ambiguous: more than one exact title exists in the frozen binding.");this.name="KnowledgePrivateTitleLookupAmbiguousError"}}class Y0 extends Error{code="private_query_response_invalid";constructor(){super("private_query_response_invalid: the bounded private query response was unavailable or malformed.");this.name="KnowledgePrivateQueryResponseError"}}class UN extends Error{code="guarded_readback_response_invalid";constructor(){super("guarded_readback_response_invalid: the exact guarded readback was unavailable or malformed.");this.name="KnowledgeGuardedReadbackError"}}class DE extends Error{manifest;code="guarded_manifest_conflict";constructor(_){super("guarded_manifest_conflict: this manifest id is already bound to a different immutable ordered workflow.");this.manifest=_;this.name="KnowledgeGuardedManifestConflictError"}}class sz extends Error{deterministic_key;reason;code="guarded_manifest_step_refused";constructor(_,$){super(`guarded_manifest_step_refused: ${$}`);this.deterministic_key=_;this.reason=$;this.name="KnowledgeGuardedManifestStepRefusedError"}}class _3 extends Error{deterministic_key;code="guarded_manifest_terminal_state_unavailable";constructor(_){super("guarded_manifest_terminal_state_unavailable: manifest submission did not yield an exact immutable readback; the producer did not retry creation.");this.deterministic_key=_;this.name="KnowledgeGuardedManifestUncertainError"}}class oU extends Error{deterministic_key;code="guarded_write_terminal_state_unavailable";constructor(_){super("guarded_write_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not retry the mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedWriteUncertainError"}}class vG extends Error{receipt;reconciliation;code="guarded_adoption_rejected";constructor(_,$){super(`guarded_adoption_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedAdoptionRejectedError"}}class $3 extends Error{receipt;code="guarded_adoption_operation_conflict";constructor(_){super("guarded_adoption_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedAdoptionOperationConflictError"}}class pU extends Error{deterministic_key;code="guarded_adoption_terminal_state_unavailable";constructor(_){super("guarded_adoption_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not attempt an unguarded mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedAdoptionUncertainError"}}function A6(_){return{"x-knowledge-max-calls":String(_.max_calls),"x-knowledge-max-items":String(_.max_items),"x-knowledge-max-bytes":String(_.max_bytes),"x-knowledge-wall-time-ms":String(_.wall_time_ms)}}function $N(_){return{authority_classification:_.authority.classification,authority_id:_.authority.authority_id,tenant_id:_.tenant_id,scope:_.scope,parent_id:_.parent_id}}function O4(_,$){return x_(_)===x_($)}function df(_){switch(_.kind){case"exact_title":return _.title;case"lexical_overlap":case"semantic_overlap":return _.query;case"supersession":return _.supersedes_item_id;case"current_version":case"historical_version":return _.item_id;case"canonical_pointer":return _.canonical_item_id}}function aU(_){if(!_||typeof _!=="object")return null;let $=_.body;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $&&typeof $==="object"?$:null}function HG(_){let $=aU(_);if($?.error!=="operation_binding_conflict")return null;let U=$.receipt;return U&&typeof U==="object"?U:null}function qG(_){let $=aU(_);if($?.error!=="manifest_binding_conflict")return null;let U=$.manifest;return U&&typeof U==="object"?U:null}function kG(_){let U=aU(_)?.message;if(typeof U!=="string")return null;return["guarded manifest","guarded write does not match its immutable manifest step","manifest_","external_authority_receipt_verifier_required"].some((D)=>U.startsWith(D))?U:null}function bG(_){let $=aU(_);if($?.error!=="adoption_operation_conflict")return;let U=$.receipt;return U&&typeof U==="object"?U:null}class fG{transport;require_manifest;binding;limits;constructor(_,$,U,N){this.transport=_;this.require_manifest=N;this.binding=Object.freeze({authority:Object.freeze({...$.authority}),tenant_id:$.tenant_id,scope:$.scope,parent_id:$.parent_id}),this.limits=U}async execute(_){if(this.require_manifest&&!_.manifest)throw Error("guarded_manifest_required: this writer is configured for multi-step work and refuses an unmanifested write.");if(!O4(_.binding,this.binding))throw Error("private input descriptor binding does not match this guarded writer.");let $=pz(_);if(y_($)!==_.payload_digest)throw Error("private input descriptor payload digest changed after freeze.");if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:_.payload_digest,manifest:_.manifest})!==_.binding_digest)throw Error("private input descriptor binding digest changed after freeze.");let N=UE({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest}),D={contract:M_,descriptor:_.toJSON(),deterministic_key:N,limits:this.limits,payload:$};if(T$(D)>this.limits.submission.max_bytes)throw Error("guarded_write_request_exceeds_submission_byte_cap.");let j=null,I=null;try{j=await this.transport.post("/guarded-writes",D,{headers:{...A6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:N,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(S){I=S}let E;try{E=await this.reconcile(N,_.operation_id,_.step_id)}catch{let S=HG(I);if(S)throw new ez(S);let L=_.manifest?kG(I):null;if(L)throw new sz(N,L);throw new oU(N)}if(E.receipt_count===0||E.receipt===null){let S=HG(I);if(S)throw new ez(S);let L=_.manifest?kG(I):null;if(L)throw new sz(N,L);throw new oU(N)}let J=ZG(E,{deterministic_key:N,operation_id:_.operation_id,step_id:_.step_id});if(j&&(j.deterministic_key!==N||j.receipt.receipt_id!==J.receipt_id))throw new oU(N);if(J.status!=="accepted")throw new CG(J,E);if(J.effect_count!==1||J.result_id!==_.target_id)throw new oU(N);let W=await this.readback(J.result_id);if(W.item.id!==_.target_id||!O4(W.binding,this.binding)||W.item.version!==J.result_version)throw new oU(N);return{deterministic_key:N,duplicate:j?.duplicate??!1,receipt:J,reconciliation:E,readback:W}}async executePrivate(_){let $=await this.execute(_);return s1({kind:"write",value:$})}async lookupTitle(_){if(!O4(_.binding,this.binding))throw Error("private title lookup descriptor binding does not match this guarded writer.");let $=MG(_);if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,title_digest:_.title_digest})!==_.binding_digest)throw Error("private title lookup descriptor binding digest changed after freeze.");let N={contract:M_,descriptor:_.toJSON(),title:$,limits:this.limits.readback};if(T$(N)>this.limits.readback.max_bytes)throw Error("private_title_lookup_request_exceeds_byte_cap.");let D;try{D=await this.transport.post("/guarded-writes/lookups/title",N,{headers:{...A6(this.limits.readback),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:this.limits.readback.wall_time_ms,retry:!1})}catch(j){if(aU(j)?.error==="private_title_lookup_ambiguous")throw new wG;throw j}if(T$(D)>this.limits.readback.max_bytes||D.contract!==M_||D.exact!==!0||D.bounded!==!0||D.title_digest!==_.title_digest||!O4(D.binding,this.binding)||D.item_count!==D.items.length||D.item_count>1||D.items.some((j)=>j.title_sha256!==_.title_digest))throw Error("private_title_lookup_exact_bounded_readback_failed.");return s1({kind:"title_lookup",value:D})}async query(_,$={max_calls:1,max_items:_.page.limit,max_bytes:this.limits.readback.max_bytes,wall_time_ms:this.limits.readback.wall_time_ms}){if(VG($),iz(_.page,$),!O4(_.binding,this.binding))throw Error("private query descriptor binding does not match this guarded writer.");let U=az(_);if(U.kind!==_.query_kind)throw Error("private query descriptor kind changed after freeze.");if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,query_kind:_.query_kind,selector_digest:_.selector_digest,archive:_.archive,page:_.page})!==_.binding_digest)throw Error("private query descriptor binding digest changed after freeze.");let D={contract:M_,descriptor:_.toJSON(),selector:U,limits:$};if(T$(D)>$.max_bytes)throw Error("private_query_request_exceeds_byte_cap.");let j;try{let E=await this.transport.post("/guarded-writes/queries",D,{headers:{...A6($),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:$.wall_time_ms,retry:!1});if(!E||typeof E!=="object"||Array.isArray(E))throw new Y0;j=E}catch(E){if(E instanceof Y0)throw E;throw new Y0}let I=iU(df(U));if(T$(j)>$.max_bytes||j.contract!==M_||j.exact!==!0||j.bounded!==!0||j.private!==!0||j.query_kind!==_.query_kind||j.selector_digest!==_.selector_digest||!O4(j.binding,this.binding)||j.item_count!==j.items.length||j.item_count!==j.page.returned||j.item_count>_.page.limit||j.page.limit!==_.page.limit||j.page.offset!==_.page.offset||j.totalE.matched_value_sha256!==I))throw new Y0;if(_.query_kind==="semantic_overlap"&&(j.status!=="unavailable"||j.code!=="semantic_query_unavailable"||j.item_count!==0||j.total!==0))throw new Y0;if(_.query_kind!=="semantic_overlap"&&(j.status!=="available"||j.code!==null))throw new Y0;return s1({kind:"query",value:j})}async createManifest(_,$=this.limits.submission){G$($,"manifest submission bounds");let U=FG(this.binding,_),N={contract:M_,maintainer:this.binding,manifest:_,deterministic_key:U};if(T$(N)>$.max_bytes)throw Error("guarded_manifest_request_exceeds_byte_cap.");let D=null,j=null;try{D=await this.transport.post("/guarded-manifests",N,{headers:{...A6($),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:U,timeoutMs:$.wall_time_ms,retry:!1})}catch(E){let J=qG(E);if(J)throw new DE(J);j=E}let I;try{I=await this.reconcileManifest(_.manifest_id,$)}catch{let E=qG(j);if(E)throw new DE(E);throw new _3(U)}if(I.manifest.deterministic_key!==U)throw new DE(I.manifest);if(D&&(D.contract!==M_||D.deterministic_key!==U||D.manifest.manifest_receipt_id!==I.manifest.manifest_receipt_id))throw new _3(U);return D??{contract:M_,deterministic_key:U,manifest:I.manifest,duplicate:!0}}async reconcileManifest(_,$=this.limits.reconciliation){G$($,"manifest reconciliation bounds");let U=await this.transport.get(`/guarded-manifests/${encodeURIComponent(_)}`,{query:{...$N(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:A6($),timeoutMs:$.wall_time_ms,retry:!1});if(T$(U)>$.max_bytes)throw Error("guarded_manifest_response_exceeds_byte_cap.");if(U.contract!==M_||U.manifest.manifest_id!==_||U.exact!==!0||U.bounded!==!0)throw Error("guarded_manifest_exact_reconciliation_failed.");return U}async reconcile(_,$,U,N=this.limits.reconciliation){G$(N,"write reconciliation bounds");let D=await this.transport.get(`/guarded-writes/receipts/${encodeURIComponent(_)}`,{query:{...$N(this.binding),operation_id:$,step_id:U,max_calls:N.max_calls,max_items:N.max_items,max_bytes:N.max_bytes,wall_time_ms:N.wall_time_ms},headers:A6(N),timeoutMs:N.wall_time_ms,retry:!1});if(T$(D)>N.max_bytes)throw Error("guarded_reconciliation_response_exceeds_byte_cap.");return D}async reconcileAdoption(_,$,U,N=this.limits.reconciliation){G$(N,"adoption reconciliation bounds");let D=await this.transport.get(`/guarded-adoptions/receipts/${encodeURIComponent(_)}`,{query:{...$N(this.binding),operation_id:$,step_id:U,max_calls:N.max_calls,max_items:N.max_items,max_bytes:N.max_bytes,wall_time_ms:N.wall_time_ms},headers:A6(N),timeoutMs:N.wall_time_ms,retry:!1});if(T$(D)>N.max_bytes)throw Error("guarded_adoption_reconciliation_response_exceeds_byte_cap.");return D}async readBindingState(_,$=this.limits.readback){G$($,"binding-state readback bounds");let U=await this.transport.get(`/guarded-adoptions/items/${encodeURIComponent(_)}/binding-state`,{query:{...$N(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:A6($),timeoutMs:$.wall_time_ms,retry:!1});if(T$(U)>$.max_bytes||U.contract!==M_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||U.target_id!==_)throw Error("guarded_binding_state_exact_readback_failed.");return U}async submitAdoption(_){if(T$(_)>this.limits.submission.max_bytes)throw Error("guarded_adoption_request_exceeds_submission_byte_cap.");let $=null,U=null;try{$=await this.transport.post("/guarded-adoptions",_,{headers:{...A6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:_.deterministic_key,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(j){if(aU(j)?.error==="not_found")throw j;U=j}let N;try{N=await this.reconcileAdoption(_.deterministic_key,_.operation_id,_.step_id)}catch{let j=bG(U);if(j!==void 0)throw new $3(j);throw new pU(_.deterministic_key)}if(!N.terminal_complete||N.receipt_count!==1||!N.receipt){let j=bG(U);if(j!==void 0)throw new $3(j);throw new pU(_.deterministic_key)}let D=N.receipt;if(D.deterministic_key!==_.deterministic_key||D.operation_id!==_.operation_id||D.step_id!==_.step_id)throw new pU(_.deterministic_key);if(D.status!=="accepted")throw new vG(D,N);return{submission:$,receipt:D,reconciliation:N}}async adoptLegacy(_){let $=oz({action:"adopt",..._,binding:this.binding,adoption_receipt_id:null}),U={contract:M_,action:"adopt",deterministic_key:$,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:this.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:null,limits:this.limits},N=await this.submitAdoption(U),D=await this.readBindingState(_.target_id),j=await this.readback(_.target_id);if(D.state!=="bound_to_requested"||D.item_version!==N.receipt.result_version||D.content_sha256!==N.receipt.result_content_sha256||j.item.version!==N.receipt.result_version)throw new pU($);return{deterministic_key:$,duplicate:N.submission?.duplicate??!1,receipt:N.receipt,reconciliation:N.reconciliation,binding_state:D,readback:j}}async rollbackLegacyAdoption(_){let $=_.adoption_receipt;if($.action!=="adopt"||$.status!=="accepted"||$.effect_count!==1||!O4($.binding,this.binding)||$.result_version===null||$.result_content_sha256===null)throw Error("rollback requires an accepted adoption receipt for this guarded writer binding.");let U=oz({action:"rollback",operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id}),N={contract:M_,action:"rollback",deterministic_key:U,operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id,limits:this.limits},D=await this.submitAdoption(N),j=await this.readBindingState($.target_id);if(j.state!=="legacy_unbound"||j.item_version!==D.receipt.result_version||j.content_sha256!==D.receipt.result_content_sha256)throw new pU(U);return{deterministic_key:U,duplicate:D.submission?.duplicate??!1,receipt:D.receipt,reconciliation:D.reconciliation,binding_state:j}}async readback(_,$=this.limits.readback){G$($,"readback bounds");let U;try{let N=await this.transport.get(`/guarded-writes/items/${encodeURIComponent(_)}`,{query:{...$N(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:A6($),timeoutMs:$.wall_time_ms,retry:!1});if(!N||typeof N!=="object"||Array.isArray(N))throw new UN;U=N}catch(N){if(N instanceof UN)throw N;if(N&&typeof N==="object"&&typeof N.status==="number")throw N;throw new UN}if(T$(U)>$.max_bytes||U.contract!==M_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||!U.item||U.item.id!==_||!O4(U.binding,this.binding)||x_(U.limits)!==x_($))throw new UN;return U}async readbackPrivate(_,$=this.limits.readback){let U=await this.readback(_,$);return s1({kind:"readback",value:U})}}function xG(_){E6(_.binding);let $=RX(_.env??process.env);if(!$)throw Error("FCAME-1 guarded writes require the authenticated postgres/API transport; local JSON, SQLite, and raw-store fallbacks are refused.");return new fG($,_.binding,$E(_.limits),_.require_manifest===!0)}var ef="knowledge.guarded-cli-request.v1",U3="knowledge.guarded-cli-result.v1",DN=1048576;class S_ extends Error{code;constructor(_){super(_);this.code=_;this.name="KnowledgeGuardedCliDescriptorError"}}function yG(_,$,U){let N=Object.keys(_).sort(),D=[...$].sort();if(N.length!==D.length||N.some((j,I)=>j!==D[I]))throw new S_(`${U}_shape_invalid`)}function uG(_,$){if(!Number.isInteger(_)||_<3)throw new S_(`${$}_must_be_inherited_private_fd`);let U;try{U=lf(_)}catch{throw new S_(`${$}_unavailable`)}if(!U.isFIFO()&&!U.isSocket())throw new S_(`${$}_must_be_anonymous_pipe_or_socket`);if(U.isFIFO()){if(process.platform!=="linux")throw new S_(`${$}_must_be_anonymous_pipe_or_socket`);let N;try{N=tf(`/proc/self/fd/${_}`)}catch{throw new S_(`${$}_must_be_anonymous_pipe_or_socket`)}if(!/^pipe:\[\d+\]$/.test(N))throw new S_(`${$}_must_be_anonymous_pipe_or_socket`)}}function sf(_){let $=[],U=0;while(!0){let N=Buffer.allocUnsafe(Math.min(65536,DN+1-U)),D=of(_,N,0,N.length,null);if(D===0)break;if(U+=D,U>DN)throw new S_("private_request_byte_cap_exceeded");$.push(N.subarray(0,D))}try{return new af("utf-8",{fatal:!0}).decode(Buffer.concat($,U))}catch{throw new S_("private_request_invalid_utf8")}}function hG(_,$){let U=Buffer.from(`${x_($)} -`,"utf8");if(U.byteLength>DN)throw new S_("private_result_byte_cap_exceeded");let N=0;while(N{let U=()=>{process.off("message",N),process.off("disconnect",D)},N=(j)=>{if(U(),typeof j!=="string"){$(new S_("private_request_schema_invalid"));return}if(Buffer.byteLength(j,"utf8")>DN){$(new S_("private_request_byte_cap_exceeded"));return}_(j)},D=()=>{U(),$(new S_("guarded_descriptor_private_ipc_disconnected"))};process.once("message",N),process.once("disconnect",D)})}function cG(_){if(typeof process.send!=="function"||!process.connected)throw new S_("guarded_descriptor_private_ipc_required");let $=x_(_);if(Buffer.byteLength($,"utf8")>DN)throw new S_("private_result_byte_cap_exceeded");return new Promise((U,N)=>{process.send($,(D)=>{if(D){N(new S_("private_result_write_failed"));return}U()})})}async function iG(_=process.env){if(typeof process.send!=="function"||!process.connected)throw new S_("guarded_descriptor_private_ipc_required");try{let $=await dG(nG(await _x()),_,"process_ipc");await cG($);let{proof:U,...N}=$;return N}catch($){let U={schema:U3,ok:!1,contract:M_,transport:"process_ipc",code:mG($)};try{await cG(U)}catch{}throw new S_(U.code)}finally{if(process.connected&&typeof process.disconnect==="function")process.disconnect()}}var pG=["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 aG="HASNA_KNOWLEDGE_STORAGE_MODE",eG="KNOWLEDGE_STORAGE_MODE";function tG(_){return process.env[_]?.trim()||void 0}function oG(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function $x(_={}){let $=F0(WN(_.scope,_.cwd).home);return c($.knowledgeDbPath),{db:v($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function sG(){let _=oG(tG(aG))??oG(tG(eG));if(_)return _;return"sqlite"}function D3(_={}){let $=$x(_);try{Ux($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:sG(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:pG,sync:U}}finally{$.db.close()}}function Ux(_){_.exec(` + `,[U]).map(Yb),x={legacy_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,schema_version:J.schema_version,sources:J.sources,source_revisions:J.source_revisions,chunks:J.chunks,wiki_pages:J.wiki_pages,citations:J.citations,indexes:J.indexes,runs:J.runs,run_events:J.run_events,storage_objects:J.storage_objects,embeddings:J.embeddings,vector_entries:J.vector_entries,reindex_queue:J.reindex_queue,redaction_findings:J.redaction_findings,audit_events:J.audit_events,approval_gates:J.approval_gates,knowledge_machines:J.knowledge_machines,sync_snapshots:J.sync_snapshots,sync_changes:J.sync_changes,sync_conflicts:J.sync_conflicts,sync_table_clocks:J.sync_table_clocks,sync_imports:J.sync_imports,promotion_candidates:J.promotion_candidates,durable_records:J.durable_records};return{ok:!0,scope:this.scope,home:$.home,limit:U,paths:{json_store_path:N,json_store_exists:D.exists,knowledge_db_path:$.knowledgeDbPath,knowledge_db_exists:!0,artifacts_dir:$.artifactsDir,indexes_dir:$.indexesDir,logs_dir:$.logsDir,wiki_dir:$.wikiDir},summary:x,legacy_store:{path:N,exists:D.exists,read_error:D.read_error,total_items:D.items.length,active_items:j.length,archived_items:D.items.length-j.length,items_returned:Math.min(I.length,U)},items:I.slice(0,U).map(AQ),sources:S,source_revisions:L,chunks:X,wiki_pages:z,indexes:Y,storage_objects:P,runs:O,vector_indexes:R,reindex_queue:Q,machines:V,sync_conflicts:G,approval_gates:T,audit_events:F,promotion_candidates:M,durable_records:q,message:`${D.items.length} item(s), ${J.sources} source(s), ${J.chunks} chunk(s), ${J.wiki_pages} wiki page(s), ${J.storage_objects} artifact(s)`}}finally{W.close()}}assertAppWikiWrite(_){LD({scope:this.scope,workspace:this.workspace,safetyPolicy:this.safetyPolicy(),allowGlobal:_})}async initAppWiki(_={}){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return P5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async addAppWikiNote(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return O5({scope:this.scope,workspace:$,store:this.artifactStore(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal,title:_.title,content:_.content,tags:_.tags,sourceRefs:_.sourceRefs,path:_.path,metadata:_.metadata})}listAppWikiNotes(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return[];return z5({dbPath:$.knowledgeDbPath,limit:_.limit})}async getAppWikiNote(_,$={}){let U=this.workspace;if(!Q_(U.knowledgeDbPath))return null;return X5({dbPath:U.knowledgeDbPath,store:this.artifactStore(),id:_,includeContent:$.includeContent})}async addAppWikiSourceRef(_){this.assertAppWikiWrite(_.allowGlobal);let $=this.ensureWorkspace();return R5({scope:this.scope,workspace:$,sourceRef:_.sourceRef,purpose:_.purpose,config:this.config(),safetyPolicy:this.safetyPolicy(),allowGlobal:_.allowGlobal})}async searchAppWiki(_){return this.search(_)}async queryAppWiki(_){return this.retrieveContext(_)}async initWiki(){let _=this.ensureWorkspace();c(_.knowledgeDbPath);let $=await wY(this.artifactStore()),U=v(_.knowledgeDbPath);try{R6(U,$.artifacts),vY(U,$.artifacts)}finally{U.close()}return $}async compileWiki(_={}){let $=this.ensureWorkspace();return qY({..._,dbPath:$.knowledgeDbPath,store:this.artifactStore()})}async fileAnswer(_){let $=this.ensureWorkspace(),U=await this.retrieveContext({query:_.prompt,limit:_.limit,semantic:_.semantic,modelRef:_.modelRef,dimensions:_.dimensions,fake:_.fake});return kY({dbPath:$.knowledgeDbPath,store:this.artifactStore(),prompt:_.prompt,answer:_.answer,context:U,approveWrite:_.approveWrite})}lintWiki(){let _=this.ensureWorkspace();return bY({dbPath:_.knowledgeDbPath})}async ingestManifest(_){let $=this.ensureWorkspace();return A5({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}async ingestSource(_,$){let U=this.ensureWorkspace();return HN({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$,config:this.config(),safetyPolicy:this.safetyPolicy()})}async importRulesProvenance(_={}){let $=_.dryRun!==!1,U=$?this.workspace:this.ensureWorkspace();return QY({root:_.root??this.options.cwd??process.cwd(),scope:this.scope,owner:_.owner,dryRun:$,deprecateLegacy:_.deprecateLegacy,includeLegacy:_.includeLegacy,legacyStorePath:U.jsonStorePath,dbPath:U.knowledgeDbPath,safetyPolicy:this.safetyPolicy(),maxItems:_.maxItems,limit:_.limit})}async resolveSource(_,$={}){let U=this.ensureWorkspace();return MN({dbPath:U.knowledgeDbPath,sourceRef:_,purpose:$.purpose,limit:$.limit,safetyPolicy:this.safetyPolicy()})}async consumeOutbox(_){let $=this.ensureWorkspace();return kR({dbPath:$.knowledgeDbPath,input:_,config:this.config(),safetyPolicy:this.safetyPolicy()})}reindexHealth(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return Vb();return AY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}enqueueReindex(_={}){let $=this.ensureWorkspace();return _3({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async refreshEmbeddings(_={}){let $=this.ensureWorkspace();return JY({..._,dbPath:$.knowledgeDbPath,config:this.config()})}providerStatus(_=process.env){return B5(this.config(),_)}modelRegistry(){return JA(this.config())}embeddingStatus(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return Fb();return Z5(_.knowledgeDbPath)}async indexEmbeddings(_={}){let $=this.ensureWorkspace();return bN({..._,dbPath:$.knowledgeDbPath,config:this.config()})}isApiMode(){return p$()}cloudStore(){let _=SD();if(!_)throw Error("knowledge: cloud store requested but not resolvable (check HASNA_KNOWLEDGE_API_URL + HASNA_KNOWLEDGE_API_KEY).");return _}async fetchCloudItems(){return YN(this.cloudStore())}async semanticSearch(_){let $=this.workspace;if(this.isApiMode())throw new u2;if(!Q_($.knowledgeDbPath))return{provider:"openai",model:"text-embedding-3-small",dimensions:_.dimensions??1536,query:_.query,results:[]};return CN({..._,dbPath:$.knowledgeDbPath,config:this.config()})}async search(_){let $=this.workspace;if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new u2;let N=await this.cloudStore().search({query:_.query,archive:"active",limit:_.limit,offset:_.offset});return XA(N.items,_,[],N.total)}let U=T3(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){if(Q_(U))return xN({..._,legacyStorePath:U,config:this.config()});return GQ(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return fN({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async retrieveContext(_){let $=this.workspace;if(this.isApiMode()){let N=await this.search(_);return G6(N,{contextChars:_.contextChars})}let U=T3(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){if(Q_(U)){let N=await xN({..._,legacyStorePath:U,config:this.config()});return G6(N,{contextChars:_.contextChars})}return Tb(_.query,Math.max(1,Math.min(_.limit??10,100)),_.semantic===!0||_.fake===!0||Boolean(_.modelRef))}return r0({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async contextPack(_){let $=this.workspace;if(this.isApiMode()){let N=(_.query??_.topic??"").trim();if(N&&_.source!=="loops"&&_.source!=="runs"){let D=await this.search({..._,query:N}),j=G6(D,{contextChars:_.contextChars});return SQ(_,j,this.safetyPolicy())}return LQ(_)}let U=T3(this.scope,$,_.legacyStorePath);if(!Q_($.knowledgeDbPath)){let N=(_.query??_.topic??"").trim();if(N&&_.source!=="loops"&&_.source!=="runs"&&Q_(U)){let D=await xN({..._,query:N,legacyStorePath:U,config:this.config()}),j=G6(D,{contextChars:_.contextChars});return SQ(_,j,this.safetyPolicy())}return LQ(_)}return N9({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config(),safetyPolicy:this.safetyPolicy()})}async runPrompt(_){if(this.isApiMode()){if(_.semantic===!0||_.fake===!0||Boolean(_.modelRef))throw new u2;let N=await this.cloudStore().search({query:_.prompt,archive:"active",limit:_.limit,offset:_.offset}),D=XA(N.items,{query:_.prompt,limit:_.limit,offset:_.offset,semantic:!1},[],N.total);return o5(N.items.map((j)=>j.item),{..._,config:this.config()},D)}let $=this.ensureWorkspace(),U=_.legacyStorePath??$.jsonStorePath;if(!_.legacyStorePath)jD(U);return t5({..._,dbPath:$.knowledgeDbPath,legacyStorePath:U,config:this.config()})}async webSearch(_){let $=this.ensureWorkspace();return VY({..._,dbPath:$.knowledgeDbPath,config:this.config(),safetyPolicy:this.safetyPolicy()})}async machineTopology(_={}){let $=this.workspace;return lR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}async machinePreflight(_={}){let $=this.workspace;return oR({..._,knowledge:{scope:this.scope,workspace_home:$.home}})}syncStatus(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return Kb({scope:this.scope,workspaceHome:_.home});return g9({dbPath:_.knowledgeDbPath,scope:this.scope,workspaceHome:_.home})}async syncDoctor(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.syncStatus(),N=this.storageContract(),D=this.validateStorage(),j=Mb($.knowledgeDbPath,N),I=_.machine?.trim()||null,E=_.peerWorkspace?.trim()||null,J=[],W=null,S=null;if(I&&!XQ(I)){let P=await oO({machineId:I,includeTailscale:_.includeTailscale});W=G3(P),J.push(...P.warnings)}if(I||E){let P=await F2({machineId:I??Q3($),peerWorkspace:E,includeTailscale:_.includeTailscale});if(I&&!E&&(W?.source==="raw"||!P.ok||!P.project_root)){let O=DQ($.knowledgeDbPath,I);if(O){if(W?.source==="raw"&&O.ssh_target)W=G3(NQ(O,I,{target:W.target,route:W.route,targetKind:W.target_kind,confidence:W.confidence,source:W.source,adapter:W.adapter,evidence:W.evidence,cacheability:W.cacheability,warnings:[]}));if(!P.ok||!P.project_root){let R=jQ(O,I,P);if(R)S=u1(R,R.project_root),J.push(...R.warnings)}}}S=P.ok&&P.project_root?u1(P,P.project_root):S??{...u1(P,E??""),project_root:P.project_root??E??""},J.push(...P.warnings)}if(!D.ok)J.push(...D.errors.map((P)=>`storage:${P}`));let L=Ob($.knowledgeDbPath,S);if(!L.ok)J.push("open_files_boundary_raw_payload_sentinels");if(!j.ok)J.push(...j.warnings);let X=S?.diagnostics.filter((P)=>P.severity==="fail")??[],z=D.ok&&j.ok&&L.ok&&X.length===0&&(S?.project_root!==""||!S),Y=Zb({scope:this.scope,machine:I,peerWorkspace:E,tables:_.tables,resolvedWorkspace:S,openConflicts:U.conflicts.open});return{ok:z,read_only:!0,generated_at:new Date().toISOString(),scope:this.scope,workspace_home:$.home,database:{sqlite_schema_version:U.sqlite_schema_version,table_counts:U.table_counts},storage:{contract:N,validation:D,artifact_manifest:j},sync:{machines:U.machines.total,snapshots:U.snapshots.total,clocks:U.clocks.total,imports:U.imports.total,open_conflicts:U.conflicts.open,table_clocks:U.clocks.rows},open_files:L,resolved_route:W,resolved_workspace:S,recommended_commands:Y,warnings:[...new Set(J)],message:z?`Sync readiness ok: ${U.clocks.total} table clock(s), ${U.conflicts.open} open conflict(s)`:`Sync readiness needs attention: ${[...new Set(J)].join(", ")||"workspace diagnostics failed"}`}}repairArtifactManifestKeys(_={}){let $=this.ensureWorkspace();c($.knowledgeDbPath);let U=this.storageContract(),N=M3(U),D=gb($.knowledgeDbPath,U),j=_.dryRun===!0||_.approveWrite!==!0;if(D.length===0)return{ok:!0,dry_run:j,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:0,audit_event_id:null,message:"No legacy S3 artifact manifest keys found"};if(_.dryRun===!0)return{ok:!0,dry_run:!0,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:0,audit_event_id:null,message:`Would repair ${D.length} legacy S3 artifact manifest key(s)`};if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,dry_run:!0,approval_required:!0,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:0,audit_event_id:null,message:"Artifact key repair requires --approve-write and --approved-by "};let I=v($.knowledgeDbPath);try{let E=new Date().toISOString();I.transaction((S)=>{let L=I.query("UPDATE storage_objects SET metadata_json = ?, updated_at = ? WHERE id = ?"),X=I.query("SELECT id, metadata_json FROM storage_objects").all(),z=new Map(X.map((Y)=>[Y.id,A0(Y.metadata_json)]));for(let Y of S){let P=z.get(Y.id)??{};P.key=Y.repaired_key,L.run(JSON.stringify(P),E,Y.id)}})(D);let W=T_(I,{event_type:"artifact_manifest_key_repair",action:"storage.artifact_manifest.repair_keys",target_uri:`knowledge-storage://${$.home}/storage_objects`,decision:"allow",metadata:{approved_by:_.approvedBy,repaired:D.length,storage_type:U.storage_type,storage_prefix:N,artifact_uris:D.map((S)=>S.artifact_uri)}});return{ok:!0,dry_run:!1,approval_required:!1,storage_type:U.storage_type,storage_prefix:N,candidates:D,repaired:D.length,audit_event_id:W,message:`Repaired ${D.length} legacy S3 artifact manifest key(s)`}}finally{I.close()}}async createSyncSnapshot(_={}){let $=this.ensureWorkspace(),U=await this.machineTopology({includeTailscale:_.includeTailscale!==!1});return M9({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),topology:U,machineId:_.machineId})}syncConflicts(_={}){let $=this.workspace;if(!Q_($.knowledgeDbPath))return[];return Z9($.knowledgeDbPath,_)}syncConflict(_){let $=this.ensureWorkspace(),U=tN($.knowledgeDbPath,_);if(!U)throw Error(`Sync conflict not found: ${_}`);return U}proposeSyncConflictResolution(_){let $=this.ensureWorkspace();return BD($.knowledgeDbPath,_)}async proposeSyncConflictResolutionWithAi(_){let $=this.ensureWorkspace();return HR({dbPath:$.knowledgeDbPath,id:_.id,config:this.config(),modelRef:_.modelRef,fake:_.fake,env:_.env})}resolveSyncConflict(_){let $=this.ensureWorkspace(),U=BD($.knowledgeDbPath,_.id);if(_.approveWrite!==!0||!_.approvedBy)return{ok:!1,approval_required:!0,conflict:U.conflict,proposal:U,message:"Sync conflict resolution requires --approve-write and --approved-by "};let N=k9($.knowledgeDbPath,{id:_.id,strategy:_.strategy??U.proposed_strategy,approvedBy:_.approvedBy,proposedPatchUri:_.proposedPatchUri}),D=v($.knowledgeDbPath);try{let j=T_(D,{event_type:"sync_conflict_resolution",action:"sync.conflict.resolve",target_uri:`knowledge-sync-conflict://${_.id}`,decision:"allow",metadata:{conflict_id:_.id,entity_kind:N.entity_kind,entity_id:N.entity_id,strategy:N.resolution_strategy,approved_by:N.approved_by,proposed_patch_uri:N.proposed_patch_uri}});return{ok:!0,approval_required:!1,conflict:N,audit_event_id:j,message:`Resolved sync conflict ${_.id}`}}finally{D.close()}}syncMachines(){let _=this.workspace;if(!Q_(_.knowledgeDbPath))return[];return kA(_.knowledgeDbPath)}exportSyncBundle(_={}){let $=this.ensureWorkspace();return this.assertStorageValid("sync export"),c($.knowledgeDbPath),TD({dbPath:$.knowledgeDbPath,scope:this.scope,workspaceHome:$.home,storage:this.storageContract(),machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.recordClocks!==!1})}async importSyncBundle(_){let $=this.ensureWorkspace();return this.assertStorageValid("sync import"),c($.knowledgeDbPath),iN({targetDbPath:$.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:$.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:_.bundle,direction:_.direction??"import",dryRun:_.dryRun,localMachineId:_.machineId??null})}async syncRemotePeer(_){let $=_.direction??"both",U=_.dryRun===!0,N=this.ensureWorkspace();c(N.knowledgeDbPath);let D=_.tables?.length?["--tables",_.tables.join(",")]:[],j=_.includeArtifactContent===!1?["--no-artifact-content"]:[],I=["--scope",this.scope,"--json"],E=await oO({machineId:_.machine,includeTailscale:_.includeTailscale}),J=await F2({machineId:_.machine,peerWorkspace:_.peerWorkspace,includeTailscale:_.includeTailscale});if(!_.peerWorkspace&&E.source==="raw"||!J.ok||!J.project_root){let z=DQ(N.knowledgeDbPath,_.machine);if(z){if(!_.peerWorkspace&&E.source==="raw"&&z.ssh_target)E=NQ(z,_.machine,E);if(!J.ok||!J.project_root){let Y=jQ(z,_.machine,J);if(Y)J=Y}}}if(!J.ok||!J.project_root)throw Error([`Unable to resolve peer workspace for ${_.machine}.`,"Pass --peer-workspace or configure workspace path mapping in machines.",J.warnings.length?`Warnings: ${J.warnings.join(", ")}`:null].filter(Boolean).join(" "));let W=J.project_root,S={ok:!0,dry_run:U,direction:$,transport:"ssh",machine:_.machine,resolved_machine:E.target,resolved_route:G3(E),resolved_workspace:u1(J,J.project_root),peer_workspace:W,message:""},L=!1,X=()=>{if(U||L)return;V9(N.knowledgeDbPath,{machineId:_.machine,route:E,workspace:J}),L=!0};if($==="pull"||$==="both"){let z=UQ(W,["sync","export",...I,...D,...j]),Y=PQ(_.machine,z,void 0,E),P=OQ(_.machine,"sync export",Y);qb(_.machine,P),S.pull=await this.importSyncBundle({bundle:P,dryRun:U,direction:"pull",machineId:_.machineId??null})}if($==="push"||$==="both"){X();let z=this.exportSyncBundle({machineId:_.machineId??null,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:!U}),Y=UQ(W,["sync","import",...I,...U?["--dry-run"]:[]]),P=OQ(_.machine,"sync import",PQ(_.machine,Y,JSON.stringify(z),E));kb(_.machine,P),S.push=P}return S.ok=(S.pull?.ok??!0)&&(S.push?.ok??!0),X(),S.message=[IQ(S.resolved_workspace),S.pull?`pull: ${S.pull.message}`:null,S.push?`push: ${S.push.message}`:null].filter(Boolean).join("; "),S}async syncPeer(_){let $=_.direction??"both",U=this.ensureWorkspace();c(U.knowledgeDbPath);let N=zQ(_.peerWorkspace),D=Ib(N);c(D.knowledgeDbPath);let j=YE(D.configPath),I=VN(j,D,this.scope),E=tE(j,D),J=_.machineId??Q3(U),W=Q3(D),S=await F2({machineId:_.machineId??W,peerWorkspace:N,includeTailscale:!1}),L=()=>TD({dbPath:U.knowledgeDbPath,scope:this.scope,workspaceHome:U.home,storage:this.storageContract(),machineId:J,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),X=()=>TD({dbPath:D.knowledgeDbPath,scope:this.scope,workspaceHome:D.home,storage:I,machineId:W,tables:_.tables,includeArtifactContent:_.includeArtifactContent,recordClocks:_.dryRun!==!0}),z={ok:!0,dry_run:_.dryRun===!0,direction:$,resolved_workspace:u1(S,S.project_root??N),message:""};if($==="pull"||$==="both")z.pull=await iN({targetDbPath:U.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:U.home,targetStorage:this.storageContract(),targetStore:this.artifactStore(),bundle:X(),targetBundle:L(),direction:"pull",dryRun:_.dryRun,localMachineId:J});if($==="push"||$==="both")z.push=await iN({targetDbPath:D.knowledgeDbPath,targetScope:this.scope,targetWorkspaceHome:D.home,targetStorage:I,targetStore:E,bundle:L(),targetBundle:X(),direction:"push",dryRun:_.dryRun,localMachineId:W});return z.ok=(z.pull?.ok??!0)&&(z.push?.ok??!0),z.message=[IQ(z.resolved_workspace),z.pull?`pull: ${z.pull.message}`:null,z.push?`push: ${z.push.message}`:null].filter(Boolean).join("; "),z}}function r2(_={}){return new TQ(_)}import{createHash as BQ}from"crypto";var Cb=Object.defineProperty,wb=(_)=>_;function vb(_,$){this[_]=wb.bind(null,$)}var fb=(_,$)=>{for(var U in $)Cb(_,U,{get:$[U],enumerable:!0,configurable:!0,set:vb.bind($,U)})},A={};fb(A,{void:()=>GC,util:()=>E_,unknown:()=>YC,union:()=>FC,undefined:()=>zC,tuple:()=>gC,transformer:()=>KQ,symbol:()=>OC,string:()=>uQ,strictObject:()=>VC,setErrorMap:()=>ub,set:()=>qC,record:()=>ZC,quotelessJson:()=>xb,promise:()=>fC,preprocess:()=>uC,pipeline:()=>hC,ostring:()=>rC,optional:()=>xC,onumber:()=>cC,oboolean:()=>mC,objectUtil:()=>H3,object:()=>BC,number:()=>hQ,nullable:()=>yC,null:()=>XC,never:()=>QC,nativeEnum:()=>vC,nan:()=>SC,map:()=>HC,makeIssue:()=>n2,literal:()=>CC,lazy:()=>bC,late:()=>JC,isValid:()=>J0,isDirty:()=>k3,isAsync:()=>m1,isAborted:()=>q3,intersection:()=>MC,instanceof:()=>WC,getParsedType:()=>b6,getErrorMap:()=>m2,function:()=>kC,enum:()=>wC,effect:()=>KQ,discriminatedUnion:()=>KC,defaultErrorMap:()=>kU,datetimeRegex:()=>fQ,date:()=>PC,custom:()=>yQ,coerce:()=>nC,boolean:()=>rQ,bigint:()=>LC,array:()=>TC,any:()=>RC,addIssueToContext:()=>u,ZodVoid:()=>d1,ZodUnknown:()=>J4,ZodUnion:()=>vU,ZodUndefined:()=>CU,ZodType:()=>$_,ZodTuple:()=>j6,ZodTransformer:()=>q$,ZodSymbol:()=>n1,ZodString:()=>r$,ZodSet:()=>L0,ZodSchema:()=>$_,ZodRecord:()=>l1,ZodReadonly:()=>cU,ZodPromise:()=>P0,ZodPipeline:()=>o1,ZodParsedType:()=>r,ZodOptional:()=>m$,ZodObject:()=>w_,ZodNumber:()=>W4,ZodNullable:()=>C6,ZodNull:()=>wU,ZodNever:()=>N6,ZodNativeEnum:()=>uU,ZodNaN:()=>t1,ZodMap:()=>i1,ZodLiteral:()=>yU,ZodLazy:()=>xU,ZodIssueCode:()=>C,ZodIntersection:()=>fU,ZodFunction:()=>HU,ZodFirstPartyTypeKind:()=>o,ZodError:()=>Q$,ZodEnum:()=>L4,ZodEffects:()=>q$,ZodDiscriminatedUnion:()=>i2,ZodDefault:()=>hU,ZodDate:()=>W0,ZodCatch:()=>rU,ZodBranded:()=>t2,ZodBoolean:()=>bU,ZodBigInt:()=>S4,ZodArray:()=>c$,ZodAny:()=>S0,Schema:()=>$_,ParseStatus:()=>e_,OK:()=>j$,NEVER:()=>dC,INVALID:()=>t,EMPTY_PATH:()=>hb,DIRTY:()=>ZU,BRAND:()=>AC});var E_;(function(_){_.assertEqual=(D)=>{};function $(D){}_.assertIs=$;function U(D){throw Error()}_.assertNever=U,_.arrayToEnum=(D)=>{let j={};for(let I of D)j[I]=I;return j},_.getValidEnumValues=(D)=>{let j=_.objectKeys(D).filter((E)=>typeof D[D[E]]!=="number"),I={};for(let E of j)I[E]=D[E];return _.objectValues(I)},_.objectValues=(D)=>{return _.objectKeys(D).map(function(j){return D[j]})},_.objectKeys=typeof Object.keys==="function"?(D)=>Object.keys(D):(D)=>{let j=[];for(let I in D)if(Object.prototype.hasOwnProperty.call(D,I))j.push(I);return j},_.find=(D,j)=>{for(let I of D)if(j(I))return I;return},_.isInteger=typeof Number.isInteger==="function"?(D)=>Number.isInteger(D):(D)=>typeof D==="number"&&Number.isFinite(D)&&Math.floor(D)===D;function N(D,j=" | "){return D.map((I)=>typeof I==="string"?`'${I}'`:I).join(j)}_.joinValues=N,_.jsonStringifyReplacer=(D,j)=>{if(typeof j==="bigint")return j.toString();return j}})(E_||(E_={}));var H3;(function(_){_.mergeShapes=($,U)=>{return{...$,...U}}})(H3||(H3={}));var r=E_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),b6=(_)=>{switch(typeof _){case"undefined":return r.undefined;case"string":return r.string;case"number":return Number.isNaN(_)?r.nan:r.number;case"boolean":return r.boolean;case"function":return r.function;case"bigint":return r.bigint;case"symbol":return r.symbol;case"object":if(Array.isArray(_))return r.array;if(_===null)return r.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return r.promise;if(typeof Map<"u"&&_ instanceof Map)return r.map;if(typeof Set<"u"&&_ instanceof Set)return r.set;if(typeof Date<"u"&&_ instanceof Date)return r.date;return r.object;default:return r.unknown}},C=E_.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),xb=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class Q$ extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(U)=>{this.issues=[...this.issues,U]},this.addIssues=(U=[])=>{this.issues=[...this.issues,...U]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=_}format(_){let $=_||function(D){return D.message},U={_errors:[]},N=(D)=>{for(let j of D.issues)if(j.code==="invalid_union")j.unionErrors.map(N);else if(j.code==="invalid_return_type")N(j.returnTypeError);else if(j.code==="invalid_arguments")N(j.argumentsError);else if(j.path.length===0)U._errors.push($(j));else{let I=U,E=0;while(E$.message){let $={},U=[];for(let N of this.issues)if(N.path.length>0){let D=N.path[0];$[D]=$[D]||[],$[D].push(_(N))}else U.push(_(N));return{formErrors:U,fieldErrors:$}}get formErrors(){return this.flatten()}}Q$.create=(_)=>{return new Q$(_)};var yb=(_,$)=>{let U;switch(_.code){case C.invalid_type:if(_.received===r.undefined)U="Required";else U=`Expected ${_.expected}, received ${_.received}`;break;case C.invalid_literal:U=`Invalid literal value, expected ${JSON.stringify(_.expected,E_.jsonStringifyReplacer)}`;break;case C.unrecognized_keys:U=`Unrecognized key(s) in object: ${E_.joinValues(_.keys,", ")}`;break;case C.invalid_union:U="Invalid input";break;case C.invalid_union_discriminator:U=`Invalid discriminator value. Expected ${E_.joinValues(_.options)}`;break;case C.invalid_enum_value:U=`Invalid enum value. Expected ${E_.joinValues(_.options)}, received '${_.received}'`;break;case C.invalid_arguments:U="Invalid function arguments";break;case C.invalid_return_type:U="Invalid function return type";break;case C.invalid_date:U="Invalid date";break;case C.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(U=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")U=`${U} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)U=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)U=`Invalid input: must end with "${_.validation.endsWith}"`;else E_.assertNever(_.validation);else if(_.validation!=="regex")U=`Invalid ${_.validation}`;else U="Invalid";break;case C.too_small:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")U=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else U="Invalid input";break;case C.too_big:if(_.type==="array")U=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")U=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")U=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")U=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")U=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else U="Invalid input";break;case C.custom:U="Invalid input";break;case C.invalid_intersection_types:U="Intersection results could not be merged";break;case C.not_multiple_of:U=`Number must be a multiple of ${_.multipleOf}`;break;case C.not_finite:U="Number must be finite";break;default:U=$.defaultError,E_.assertNever(_)}return{message:U}},kU=yb,CQ=kU;function ub(_){CQ=_}function m2(){return CQ}var n2=(_)=>{let{data:$,path:U,errorMaps:N,issueData:D}=_,j=[...U,...D.path||[]],I={...D,path:j};if(D.message!==void 0)return{...D,path:j,message:D.message};let E="",J=N.filter((W)=>!!W).slice().reverse();for(let W of J)E=W(I,{data:$,defaultError:E}).message;return{...D,path:j,message:E}},hb=[];function u(_,$){let U=m2(),N=n2({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,U,U===kU?void 0:kU].filter((D)=>!!D)});_.common.issues.push(N)}class e_{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let U=[];for(let N of $){if(N.status==="aborted")return t;if(N.status==="dirty")_.dirty();U.push(N.value)}return{status:_.value,value:U}}static async mergeObjectAsync(_,$){let U=[];for(let N of $){let D=await N.key,j=await N.value;U.push({key:D,value:j})}return e_.mergeObjectSync(_,U)}static mergeObjectSync(_,$){let U={};for(let N of $){let{key:D,value:j}=N;if(D.status==="aborted")return t;if(j.status==="aborted")return t;if(D.status==="dirty")_.dirty();if(j.status==="dirty")_.dirty();if(D.value!=="__proto__"&&(typeof j.value<"u"||N.alwaysSet))U[D.value]=j.value}return{status:_.value,value:U}}}var t=Object.freeze({status:"aborted"}),ZU=(_)=>({status:"dirty",value:_}),j$=(_)=>({status:"valid",value:_}),q3=(_)=>_.status==="aborted",k3=(_)=>_.status==="dirty",J0=(_)=>_.status==="valid",m1=(_)=>typeof Promise<"u"&&_ instanceof Promise,n;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(n||(n={}));class n${constructor(_,$,U,N){this._cachedPath=[],this.parent=_,this.data=$,this._path=U,this._key=N}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var VQ=(_,$)=>{if(J0($))return{success:!0,data:$.value};else{if(!_.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let U=new Q$(_.common.issues);return this._error=U,this._error}}}};function s(_){if(!_)return{};let{errorMap:$,invalid_type_error:U,required_error:N,description:D}=_;if($&&(U||N))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:D};return{errorMap:(I,E)=>{let{message:J}=_;if(I.code==="invalid_enum_value")return{message:J??E.defaultError};if(typeof E.data>"u")return{message:J??N??E.defaultError};if(I.code!=="invalid_type")return{message:E.defaultError};return{message:J??U??E.defaultError}},description:D}}class $_{get description(){return this._def.description}_getType(_){return b6(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:b6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new e_,ctx:{common:_.parent.common,data:_.data,parsedType:b6(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(m1($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let U=this.safeParse(_,$);if(U.success)return U.data;throw U.error}safeParse(_,$){let U={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:b6(_)},N=this._parseSync({data:_,path:U.path,parent:U});return VQ(U,N)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:b6(_)};if(!this["~standard"].async)try{let U=this._parseSync({data:_,path:[],parent:$});return J0(U)?{value:U.value}:{issues:$.common.issues}}catch(U){if(U?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((U)=>J0(U)?{value:U.value}:{issues:$.common.issues})}async parseAsync(_,$){let U=await this.safeParseAsync(_,$);if(U.success)return U.data;throw U.error}async safeParseAsync(_,$){let U={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:b6(_)},N=this._parse({data:_,path:U.path,parent:U}),D=await(m1(N)?N:Promise.resolve(N));return VQ(U,D)}refine(_,$){let U=(N)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(N);else return $};return this._refinement((N,D)=>{let j=_(N),I=()=>D.addIssue({code:C.custom,...U(N)});if(typeof Promise<"u"&&j instanceof Promise)return j.then((E)=>{if(!E)return I(),!1;else return!0});if(!j)return I(),!1;else return!0})}refinement(_,$){return this._refinement((U,N)=>{if(!_(U))return N.addIssue(typeof $==="function"?$(U,N):$),!1;else return!0})}_refinement(_){return new q$({schema:this,typeName:o.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 m$.create(this,this._def)}nullable(){return C6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return c$.create(this)}promise(){return P0.create(this,this._def)}or(_){return vU.create([this,_],this._def)}and(_){return fU.create(this,_,this._def)}transform(_){return new q$({...s(this._def),schema:this,typeName:o.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new hU({...s(this._def),innerType:this,defaultValue:$,typeName:o.ZodDefault})}brand(){return new t2({typeName:o.ZodBranded,type:this,...s(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new rU({...s(this._def),innerType:this,catchValue:$,typeName:o.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return o1.create(this,_)}readonly(){return cU.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var rb=/^c[^\s-]{8,}$/i,cb=/^[0-9a-z]+$/,mb=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nb=/^[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,db=/^[a-z0-9_-]{21}$/i,lb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ib=/^[-+]?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)?)??$/,tb=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ob="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",g3,pb=/^(?:(?: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])$/,ab=/^(?:(?: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])$/,eb=/^(([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]))$/,sb=/^(([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])$/,_C=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$C=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,wQ="((\\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])))",UC=new RegExp(`^${wQ}$`);function vQ(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let U=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${U}`}function DC(_){return new RegExp(`^${vQ(_)}$`)}function fQ(_){let $=`${wQ}T${vQ(_)}`,U=[];if(U.push(_.local?"Z?":"Z"),_.offset)U.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${U.join("|")})`,new RegExp(`^${$}$`)}function NC(_,$){if(($==="v4"||!$)&&pb.test(_))return!0;if(($==="v6"||!$)&&eb.test(_))return!0;return!1}function jC(_,$){if(!lb.test(_))return!1;try{let[U]=_.split(".");if(!U)return!1;let N=U.replace(/-/g,"+").replace(/_/g,"/").padEnd(U.length+(4-U.length%4)%4,"="),D=JSON.parse(atob(N));if(typeof D!=="object"||D===null)return!1;if("typ"in D&&D?.typ!=="JWT")return!1;if(!D.alg)return!1;if($&&D.alg!==$)return!1;return!0}catch{return!1}}function IC(_,$){if(($==="v4"||!$)&&ab.test(_))return!0;if(($==="v6"||!$)&&sb.test(_))return!0;return!1}class r$ extends $_{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==r.string){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.string,received:D.parsedType}),t}let U=new e_,N=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.lengthD.value)N=this._getOrReturnCtx(_,N),u(N,{code:C.too_big,maximum:D.value,type:"string",inclusive:!0,exact:!1,message:D.message}),U.dirty()}else if(D.kind==="length"){let j=_.data.length>D.value,I=_.data.length_.test(N),{validation:$,code:C.invalid_string,...n.errToObj(U)})}_addCheck(_){return new r$({...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 r$({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new r$({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new r$({...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 _}}r$.create=(_)=>{return new r$({checks:[],typeName:o.ZodString,coerce:_?.coerce??!1,...s(_)})};function EC(_,$){let U=(_.toString().split(".")[1]||"").length,N=($.toString().split(".")[1]||"").length,D=U>N?U:N,j=Number.parseInt(_.toFixed(D).replace(".","")),I=Number.parseInt($.toFixed(D).replace(".",""));return j%I/10**D}class W4 extends $_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(_){if(this._def.coerce)_.data=Number(_.data);if(this._getType(_)!==r.number){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.number,received:D.parsedType}),t}let U=void 0,N=new e_;for(let D of this._def.checks)if(D.kind==="int"){if(!E_.isInteger(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:C.invalid_type,expected:"integer",received:"float",message:D.message}),N.dirty()}else if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_big,maximum:D.value,type:"number",inclusive:D.inclusive,exact:!1,message:D.message}),N.dirty()}else if(D.kind==="multipleOf"){if(EC(_.data,D.value)!==0)U=this._getOrReturnCtx(_,U),u(U,{code:C.not_multiple_of,multipleOf:D.value,message:D.message}),N.dirty()}else if(D.kind==="finite"){if(!Number.isFinite(_.data))U=this._getOrReturnCtx(_,U),u(U,{code:C.not_finite,message:D.message}),N.dirty()}else E_.assertNever(D);return{status:N.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,N){return new W4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(N)}]})}_addCheck(_){return new W4({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:n.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:n.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:n.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:n.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:n.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:n.toString($)})}finite(_){return this._addCheck({kind:"finite",message:n.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:n.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:n.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&E_.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let U of this._def.checks)if(U.kind==="finite"||U.kind==="int"||U.kind==="multipleOf")return!0;else if(U.kind==="min"){if($===null||U.value>$)$=U.value}else if(U.kind==="max"){if(_===null||U.value<_)_=U.value}return Number.isFinite($)&&Number.isFinite(_)}}W4.create=(_)=>{return new W4({checks:[],typeName:o.ZodNumber,coerce:_?.coerce||!1,...s(_)})};class S4 extends $_{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(_){if(this._def.coerce)try{_.data=BigInt(_.data)}catch{return this._getInvalidInput(_)}if(this._getType(_)!==r.bigint)return this._getInvalidInput(_);let U=void 0,N=new e_;for(let D of this._def.checks)if(D.kind==="min"){if(D.inclusive?_.dataD.value:_.data>=D.value)U=this._getOrReturnCtx(_,U),u(U,{code:C.too_big,type:"bigint",maximum:D.value,inclusive:D.inclusive,message:D.message}),N.dirty()}else if(D.kind==="multipleOf"){if(_.data%D.value!==BigInt(0))U=this._getOrReturnCtx(_,U),u(U,{code:C.not_multiple_of,multipleOf:D.value,message:D.message}),N.dirty()}else E_.assertNever(D);return{status:N.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:r.bigint,received:$.parsedType}),t}gte(_,$){return this.setLimit("min",_,!0,n.toString($))}gt(_,$){return this.setLimit("min",_,!1,n.toString($))}lte(_,$){return this.setLimit("max",_,!0,n.toString($))}lt(_,$){return this.setLimit("max",_,!1,n.toString($))}setLimit(_,$,U,N){return new S4({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:U,message:n.toString(N)}]})}_addCheck(_){return new S4({...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 _}}S4.create=(_)=>{return new S4({checks:[],typeName:o.ZodBigInt,coerce:_?.coerce??!1,...s(_)})};class bU extends $_{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==r.boolean){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.boolean,received:U.parsedType}),t}return j$(_.data)}}bU.create=(_)=>{return new bU({typeName:o.ZodBoolean,coerce:_?.coerce||!1,...s(_)})};class W0 extends $_{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==r.date){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_type,expected:r.date,received:D.parsedType}),t}if(Number.isNaN(_.data.getTime())){let D=this._getOrReturnCtx(_);return u(D,{code:C.invalid_date}),t}let U=new e_,N=void 0;for(let D of this._def.checks)if(D.kind==="min"){if(_.data.getTime()D.value)N=this._getOrReturnCtx(_,N),u(N,{code:C.too_big,message:D.message,inclusive:!0,exact:!1,maximum:D.value,type:"date"}),U.dirty()}else E_.assertNever(D);return{status:U.value,value:new Date(_.data.getTime())}}_addCheck(_){return new W0({...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}}W0.create=(_)=>{return new W0({checks:[],coerce:_?.coerce||!1,typeName:o.ZodDate,...s(_)})};class n1 extends $_{_parse(_){if(this._getType(_)!==r.symbol){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.symbol,received:U.parsedType}),t}return j$(_.data)}}n1.create=(_)=>{return new n1({typeName:o.ZodSymbol,...s(_)})};class CU extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.undefined,received:U.parsedType}),t}return j$(_.data)}}CU.create=(_)=>{return new CU({typeName:o.ZodUndefined,...s(_)})};class wU extends $_{_parse(_){if(this._getType(_)!==r.null){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.null,received:U.parsedType}),t}return j$(_.data)}}wU.create=(_)=>{return new wU({typeName:o.ZodNull,...s(_)})};class S0 extends $_{constructor(){super(...arguments);this._any=!0}_parse(_){return j$(_.data)}}S0.create=(_)=>{return new S0({typeName:o.ZodAny,...s(_)})};class J4 extends $_{constructor(){super(...arguments);this._unknown=!0}_parse(_){return j$(_.data)}}J4.create=(_)=>{return new J4({typeName:o.ZodUnknown,...s(_)})};class N6 extends $_{_parse(_){let $=this._getOrReturnCtx(_);return u($,{code:C.invalid_type,expected:r.never,received:$.parsedType}),t}}N6.create=(_)=>{return new N6({typeName:o.ZodNever,...s(_)})};class d1 extends $_{_parse(_){if(this._getType(_)!==r.undefined){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.void,received:U.parsedType}),t}return j$(_.data)}}d1.create=(_)=>{return new d1({typeName:o.ZodVoid,...s(_)})};class c$ extends $_{_parse(_){let{ctx:$,status:U}=this._processInputParams(_),N=this._def;if($.parsedType!==r.array)return u($,{code:C.invalid_type,expected:r.array,received:$.parsedType}),t;if(N.exactLength!==null){let j=$.data.length>N.exactLength.value,I=$.data.lengthN.maxLength.value)u($,{code:C.too_big,maximum:N.maxLength.value,type:"array",inclusive:!0,exact:!1,message:N.maxLength.message}),U.dirty()}if($.common.async)return Promise.all([...$.data].map((j,I)=>{return N.type._parseAsync(new n$($,j,$.path,I))})).then((j)=>{return e_.mergeArray(U,j)});let D=[...$.data].map((j,I)=>{return N.type._parseSync(new n$($,j,$.path,I))});return e_.mergeArray(U,D)}get element(){return this._def.type}min(_,$){return new c$({...this._def,minLength:{value:_,message:n.toString($)}})}max(_,$){return new c$({...this._def,maxLength:{value:_,message:n.toString($)}})}length(_,$){return new c$({...this._def,exactLength:{value:_,message:n.toString($)}})}nonempty(_){return this.min(1,_)}}c$.create=(_,$)=>{return new c$({type:_,minLength:null,maxLength:null,exactLength:null,typeName:o.ZodArray,...s($)})};function MU(_){if(_ instanceof w_){let $={};for(let U in _.shape){let N=_.shape[U];$[U]=m$.create(MU(N))}return new w_({..._._def,shape:()=>$})}else if(_ instanceof c$)return new c$({..._._def,type:MU(_.element)});else if(_ instanceof m$)return m$.create(MU(_.unwrap()));else if(_ instanceof C6)return C6.create(MU(_.unwrap()));else if(_ instanceof j6)return j6.create(_.items.map(($)=>MU($)));else return _}class w_ extends $_{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=E_.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==r.object){let J=this._getOrReturnCtx(_);return u(J,{code:C.invalid_type,expected:r.object,received:J.parsedType}),t}let{status:U,ctx:N}=this._processInputParams(_),{shape:D,keys:j}=this._getCached(),I=[];if(!(this._def.catchall instanceof N6&&this._def.unknownKeys==="strip")){for(let J in N.data)if(!j.includes(J))I.push(J)}let E=[];for(let J of j){let W=D[J],S=N.data[J];E.push({key:{status:"valid",value:J},value:W._parse(new n$(N,S,N.path,J)),alwaysSet:J in N.data})}if(this._def.catchall instanceof N6){let J=this._def.unknownKeys;if(J==="passthrough")for(let W of I)E.push({key:{status:"valid",value:W},value:{status:"valid",value:N.data[W]}});else if(J==="strict"){if(I.length>0)u(N,{code:C.unrecognized_keys,keys:I}),U.dirty()}else if(J==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let J=this._def.catchall;for(let W of I){let S=N.data[W];E.push({key:{status:"valid",value:W},value:J._parse(new n$(N,S,N.path,W)),alwaysSet:W in N.data})}}if(N.common.async)return Promise.resolve().then(async()=>{let J=[];for(let W of E){let S=await W.key,L=await W.value;J.push({key:S,value:L,alwaysSet:W.alwaysSet})}return J}).then((J)=>{return e_.mergeObjectSync(U,J)});else return e_.mergeObjectSync(U,E)}get shape(){return this._def.shape()}strict(_){return n.errToObj,new w_({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,U)=>{let N=this._def.errorMap?.($,U).message??U.defaultError;if($.code==="unrecognized_keys")return{message:n.errToObj(_).message??N};return{message:N}}}:{}})}strip(){return new w_({...this._def,unknownKeys:"strip"})}passthrough(){return new w_({...this._def,unknownKeys:"passthrough"})}extend(_){return new w_({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new w_({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:o.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new w_({...this._def,catchall:_})}pick(_){let $={};for(let U of E_.objectKeys(_))if(_[U]&&this.shape[U])$[U]=this.shape[U];return new w_({...this._def,shape:()=>$})}omit(_){let $={};for(let U of E_.objectKeys(this.shape))if(!_[U])$[U]=this.shape[U];return new w_({...this._def,shape:()=>$})}deepPartial(){return MU(this)}partial(_){let $={};for(let U of E_.objectKeys(this.shape)){let N=this.shape[U];if(_&&!_[U])$[U]=N;else $[U]=N.optional()}return new w_({...this._def,shape:()=>$})}required(_){let $={};for(let U of E_.objectKeys(this.shape))if(_&&!_[U])$[U]=this.shape[U];else{let D=this.shape[U];while(D instanceof m$)D=D._def.innerType;$[U]=D}return new w_({...this._def,shape:()=>$})}keyof(){return xQ(E_.objectKeys(this.shape))}}w_.create=(_,$)=>{return new w_({shape:()=>_,unknownKeys:"strip",catchall:N6.create(),typeName:o.ZodObject,...s($)})};w_.strictCreate=(_,$)=>{return new w_({shape:()=>_,unknownKeys:"strict",catchall:N6.create(),typeName:o.ZodObject,...s($)})};w_.lazycreate=(_,$)=>{return new w_({shape:_,unknownKeys:"strip",catchall:N6.create(),typeName:o.ZodObject,...s($)})};class vU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=this._def.options;function N(D){for(let I of D)if(I.result.status==="valid")return I.result;for(let I of D)if(I.result.status==="dirty")return $.common.issues.push(...I.ctx.common.issues),I.result;let j=D.map((I)=>new Q$(I.ctx.common.issues));return u($,{code:C.invalid_union,unionErrors:j}),t}if($.common.async)return Promise.all(U.map(async(D)=>{let j={...$,common:{...$.common,issues:[]},parent:null};return{result:await D._parseAsync({data:$.data,path:$.path,parent:j}),ctx:j}})).then(N);else{let D=void 0,j=[];for(let E of U){let J={...$,common:{...$.common,issues:[]},parent:null},W=E._parseSync({data:$.data,path:$.path,parent:J});if(W.status==="valid")return W;else if(W.status==="dirty"&&!D)D={result:W,ctx:J};if(J.common.issues.length)j.push(J.common.issues)}if(D)return $.common.issues.push(...D.ctx.common.issues),D.result;let I=j.map((E)=>new Q$(E));return u($,{code:C.invalid_union,unionErrors:I}),t}}get options(){return this._def.options}}vU.create=(_,$)=>{return new vU({options:_,typeName:o.ZodUnion,...s($)})};var k6=(_)=>{if(_ instanceof xU)return k6(_.schema);else if(_ instanceof q$)return k6(_.innerType());else if(_ instanceof yU)return[_.value];else if(_ instanceof L4)return _.options;else if(_ instanceof uU)return E_.objectValues(_.enum);else if(_ instanceof hU)return k6(_._def.innerType);else if(_ instanceof CU)return[void 0];else if(_ instanceof wU)return[null];else if(_ instanceof m$)return[void 0,...k6(_.unwrap())];else if(_ instanceof C6)return[null,...k6(_.unwrap())];else if(_ instanceof t2)return k6(_.unwrap());else if(_ instanceof cU)return k6(_.unwrap());else if(_ instanceof rU)return k6(_._def.innerType);else return[]};class i2 extends $_{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.object)return u($,{code:C.invalid_type,expected:r.object,received:$.parsedType}),t;let U=this.discriminator,N=$.data[U],D=this.optionsMap.get(N);if(!D)return u($,{code:C.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[U]}),t;if($.common.async)return D._parseAsync({data:$.data,path:$.path,parent:$});else return D._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(_,$,U){let N=new Map;for(let D of $){let j=k6(D.shape[_]);if(!j.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let I of j){if(N.has(I))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(I)}`);N.set(I,D)}}return new i2({typeName:o.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:N,...s(U)})}}function b3(_,$){let U=b6(_),N=b6($);if(_===$)return{valid:!0,data:_};else if(U===r.object&&N===r.object){let D=E_.objectKeys($),j=E_.objectKeys(_).filter((E)=>D.indexOf(E)!==-1),I={..._,...$};for(let E of j){let J=b3(_[E],$[E]);if(!J.valid)return{valid:!1};I[E]=J.data}return{valid:!0,data:I}}else if(U===r.array&&N===r.array){if(_.length!==$.length)return{valid:!1};let D=[];for(let j=0;j<_.length;j++){let I=_[j],E=$[j],J=b3(I,E);if(!J.valid)return{valid:!1};D.push(J.data)}return{valid:!0,data:D}}else if(U===r.date&&N===r.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class fU extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_),N=(D,j)=>{if(q3(D)||q3(j))return t;let I=b3(D.value,j.value);if(!I.valid)return u(U,{code:C.invalid_intersection_types}),t;if(k3(D)||k3(j))$.dirty();return{status:$.value,value:I.data}};if(U.common.async)return Promise.all([this._def.left._parseAsync({data:U.data,path:U.path,parent:U}),this._def.right._parseAsync({data:U.data,path:U.path,parent:U})]).then(([D,j])=>N(D,j));else return N(this._def.left._parseSync({data:U.data,path:U.path,parent:U}),this._def.right._parseSync({data:U.data,path:U.path,parent:U}))}}fU.create=(_,$,U)=>{return new fU({left:_,right:$,typeName:o.ZodIntersection,...s(U)})};class j6 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.array)return u(U,{code:C.invalid_type,expected:r.array,received:U.parsedType}),t;if(U.data.lengththis._def.items.length)u(U,{code:C.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let D=[...U.data].map((j,I)=>{let E=this._def.items[I]||this._def.rest;if(!E)return null;return E._parse(new n$(U,j,U.path,I))}).filter((j)=>!!j);if(U.common.async)return Promise.all(D).then((j)=>{return e_.mergeArray($,j)});else return e_.mergeArray($,D)}get items(){return this._def.items}rest(_){return new j6({...this._def,rest:_})}}j6.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new j6({items:_,typeName:o.ZodTuple,rest:null,...s($)})};class l1 extends $_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.object)return u(U,{code:C.invalid_type,expected:r.object,received:U.parsedType}),t;let N=[],D=this._def.keyType,j=this._def.valueType;for(let I in U.data)N.push({key:D._parse(new n$(U,I,U.path,I)),value:j._parse(new n$(U,U.data[I],U.path,I)),alwaysSet:I in U.data});if(U.common.async)return e_.mergeObjectAsync($,N);else return e_.mergeObjectSync($,N)}get element(){return this._def.valueType}static create(_,$,U){if($ instanceof $_)return new l1({keyType:_,valueType:$,typeName:o.ZodRecord,...s(U)});return new l1({keyType:r$.create(),valueType:_,typeName:o.ZodRecord,...s($)})}}class i1 extends $_{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.map)return u(U,{code:C.invalid_type,expected:r.map,received:U.parsedType}),t;let N=this._def.keyType,D=this._def.valueType,j=[...U.data.entries()].map(([I,E],J)=>{return{key:N._parse(new n$(U,I,U.path,[J,"key"])),value:D._parse(new n$(U,E,U.path,[J,"value"]))}});if(U.common.async){let I=new Map;return Promise.resolve().then(async()=>{for(let E of j){let J=await E.key,W=await E.value;if(J.status==="aborted"||W.status==="aborted")return t;if(J.status==="dirty"||W.status==="dirty")$.dirty();I.set(J.value,W.value)}return{status:$.value,value:I}})}else{let I=new Map;for(let E of j){let{key:J,value:W}=E;if(J.status==="aborted"||W.status==="aborted")return t;if(J.status==="dirty"||W.status==="dirty")$.dirty();I.set(J.value,W.value)}return{status:$.value,value:I}}}}i1.create=(_,$,U)=>{return new i1({valueType:$,keyType:_,typeName:o.ZodMap,...s(U)})};class L0 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.parsedType!==r.set)return u(U,{code:C.invalid_type,expected:r.set,received:U.parsedType}),t;let N=this._def;if(N.minSize!==null){if(U.data.sizeN.maxSize.value)u(U,{code:C.too_big,maximum:N.maxSize.value,type:"set",inclusive:!0,exact:!1,message:N.maxSize.message}),$.dirty()}let D=this._def.valueType;function j(E){let J=new Set;for(let W of E){if(W.status==="aborted")return t;if(W.status==="dirty")$.dirty();J.add(W.value)}return{status:$.value,value:J}}let I=[...U.data.values()].map((E,J)=>D._parse(new n$(U,E,U.path,J)));if(U.common.async)return Promise.all(I).then((E)=>j(E));else return j(I)}min(_,$){return new L0({...this._def,minSize:{value:_,message:n.toString($)}})}max(_,$){return new L0({...this._def,maxSize:{value:_,message:n.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}L0.create=(_,$)=>{return new L0({valueType:_,minSize:null,maxSize:null,typeName:o.ZodSet,...s($)})};class HU extends $_{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.function)return u($,{code:C.invalid_type,expected:r.function,received:$.parsedType}),t;function U(I,E){return n2({data:I,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,m2(),kU].filter((J)=>!!J),issueData:{code:C.invalid_arguments,argumentsError:E}})}function N(I,E){return n2({data:I,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,m2(),kU].filter((J)=>!!J),issueData:{code:C.invalid_return_type,returnTypeError:E}})}let D={errorMap:$.common.contextualErrorMap},j=$.data;if(this._def.returns instanceof P0){let I=this;return j$(async function(...E){let J=new Q$([]),W=await I._def.args.parseAsync(E,D).catch((X)=>{throw J.addIssue(U(E,X)),J}),S=await Reflect.apply(j,this,W);return await I._def.returns._def.type.parseAsync(S,D).catch((X)=>{throw J.addIssue(N(S,X)),J})})}else{let I=this;return j$(function(...E){let J=I._def.args.safeParse(E,D);if(!J.success)throw new Q$([U(E,J.error)]);let W=Reflect.apply(j,this,J.data),S=I._def.returns.safeParse(W,D);if(!S.success)throw new Q$([N(W,S.error)]);return S.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new HU({...this._def,args:j6.create(_).rest(J4.create())})}returns(_){return new HU({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,U){return new HU({args:_?_:j6.create([]).rest(J4.create()),returns:$||J4.create(),typeName:o.ZodFunction,...s(U)})}}class xU extends $_{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}xU.create=(_,$)=>{return new xU({getter:_,typeName:o.ZodLazy,...s($)})};class yU extends $_{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return u($,{received:$.data,code:C.invalid_literal,expected:this._def.value}),t}return{status:"valid",value:_.data}}get value(){return this._def.value}}yU.create=(_,$)=>{return new yU({value:_,typeName:o.ZodLiteral,...s($)})};function xQ(_,$){return new L4({values:_,typeName:o.ZodEnum,...s($)})}class L4 extends $_{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{expected:E_.joinValues(U),received:$.parsedType,code:C.invalid_type}),t}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),U=this._def.values;return u($,{received:$.data,code:C.invalid_enum_value,options:U}),t}return j$(_.data)}get options(){return this._def.values}get enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Values(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}extract(_,$=this._def){return L4.create(_,{...this._def,...$})}exclude(_,$=this._def){return L4.create(this.options.filter((U)=>!_.includes(U)),{...this._def,...$})}}L4.create=xQ;class uU extends $_{_parse(_){let $=E_.getValidEnumValues(this._def.values),U=this._getOrReturnCtx(_);if(U.parsedType!==r.string&&U.parsedType!==r.number){let N=E_.objectValues($);return u(U,{expected:E_.joinValues(N),received:U.parsedType,code:C.invalid_type}),t}if(!this._cache)this._cache=new Set(E_.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let N=E_.objectValues($);return u(U,{received:U.data,code:C.invalid_enum_value,options:N}),t}return j$(_.data)}get enum(){return this._def.values}}uU.create=(_,$)=>{return new uU({values:_,typeName:o.ZodNativeEnum,...s($)})};class P0 extends $_{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==r.promise&&$.common.async===!1)return u($,{code:C.invalid_type,expected:r.promise,received:$.parsedType}),t;let U=$.parsedType===r.promise?$.data:Promise.resolve($.data);return j$(U.then((N)=>{return this._def.type.parseAsync(N,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}P0.create=(_,$)=>{return new P0({type:_,typeName:o.ZodPromise,...s($)})};class q$ extends $_{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===o.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:U}=this._processInputParams(_),N=this._def.effect||null,D={addIssue:(j)=>{if(u(U,j),j.fatal)$.abort();else $.dirty()},get path(){return U.path}};if(D.addIssue=D.addIssue.bind(D),N.type==="preprocess"){let j=N.transform(U.data,D);if(U.common.async)return Promise.resolve(j).then(async(I)=>{if($.value==="aborted")return t;let E=await this._def.schema._parseAsync({data:I,path:U.path,parent:U});if(E.status==="aborted")return t;if(E.status==="dirty")return ZU(E.value);if($.value==="dirty")return ZU(E.value);return E});else{if($.value==="aborted")return t;let I=this._def.schema._parseSync({data:j,path:U.path,parent:U});if(I.status==="aborted")return t;if(I.status==="dirty")return ZU(I.value);if($.value==="dirty")return ZU(I.value);return I}}if(N.type==="refinement"){let j=(I)=>{let E=N.refinement(I,D);if(U.common.async)return Promise.resolve(E);if(E instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return I};if(U.common.async===!1){let I=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(I.status==="aborted")return t;if(I.status==="dirty")$.dirty();return j(I.value),{status:$.value,value:I.value}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((I)=>{if(I.status==="aborted")return t;if(I.status==="dirty")$.dirty();return j(I.value).then(()=>{return{status:$.value,value:I.value}})})}if(N.type==="transform")if(U.common.async===!1){let j=this._def.schema._parseSync({data:U.data,path:U.path,parent:U});if(!J0(j))return t;let I=N.transform(j.value,D);if(I instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:I}}else return this._def.schema._parseAsync({data:U.data,path:U.path,parent:U}).then((j)=>{if(!J0(j))return t;return Promise.resolve(N.transform(j.value,D)).then((I)=>({status:$.value,value:I}))});E_.assertNever(N)}}q$.create=(_,$,U)=>{return new q$({schema:_,typeName:o.ZodEffects,effect:$,...s(U)})};q$.createWithPreprocess=(_,$,U)=>{return new q$({schema:$,effect:{type:"preprocess",transform:_},typeName:o.ZodEffects,...s(U)})};class m$ extends $_{_parse(_){if(this._getType(_)===r.undefined)return j$(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}m$.create=(_,$)=>{return new m$({innerType:_,typeName:o.ZodOptional,...s($)})};class C6 extends $_{_parse(_){if(this._getType(_)===r.null)return j$(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}C6.create=(_,$)=>{return new C6({innerType:_,typeName:o.ZodNullable,...s($)})};class hU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;if($.parsedType===r.undefined)U=this._def.defaultValue();return this._def.innerType._parse({data:U,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}hU.create=(_,$)=>{return new hU({innerType:_,typeName:o.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...s($)})};class rU extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U={...$,common:{...$.common,issues:[]}},N=this._def.innerType._parse({data:U.data,path:U.path,parent:{...U}});if(m1(N))return N.then((D)=>{return{status:"valid",value:D.status==="valid"?D.value:this._def.catchValue({get error(){return new Q$(U.common.issues)},input:U.data})}});else return{status:"valid",value:N.status==="valid"?N.value:this._def.catchValue({get error(){return new Q$(U.common.issues)},input:U.data})}}removeCatch(){return this._def.innerType}}rU.create=(_,$)=>{return new rU({innerType:_,typeName:o.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...s($)})};class t1 extends $_{_parse(_){if(this._getType(_)!==r.nan){let U=this._getOrReturnCtx(_);return u(U,{code:C.invalid_type,expected:r.nan,received:U.parsedType}),t}return{status:"valid",value:_.data}}}t1.create=(_)=>{return new t1({typeName:o.ZodNaN,...s(_)})};var AC=Symbol("zod_brand");class t2 extends $_{_parse(_){let{ctx:$}=this._processInputParams(_),U=$.data;return this._def.type._parse({data:U,path:$.path,parent:$})}unwrap(){return this._def.type}}class o1 extends $_{_parse(_){let{status:$,ctx:U}=this._processInputParams(_);if(U.common.async)return(async()=>{let D=await this._def.in._parseAsync({data:U.data,path:U.path,parent:U});if(D.status==="aborted")return t;if(D.status==="dirty")return $.dirty(),ZU(D.value);else return this._def.out._parseAsync({data:D.value,path:U.path,parent:U})})();else{let N=this._def.in._parseSync({data:U.data,path:U.path,parent:U});if(N.status==="aborted")return t;if(N.status==="dirty")return $.dirty(),{status:"dirty",value:N.value};else return this._def.out._parseSync({data:N.value,path:U.path,parent:U})}}static create(_,$){return new o1({in:_,out:$,typeName:o.ZodPipeline})}}class cU extends $_{_parse(_){let $=this._def.innerType._parse(_),U=(N)=>{if(J0(N))N.value=Object.freeze(N.value);return N};return m1($)?$.then((N)=>U(N)):U($)}unwrap(){return this._def.innerType}}cU.create=(_,$)=>{return new cU({innerType:_,typeName:o.ZodReadonly,...s($)})};function FQ(_,$){let U=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof U==="string"?{message:U}:U}function yQ(_,$={},U){if(_)return S0.create().superRefine((N,D)=>{let j=_(N);if(j instanceof Promise)return j.then((I)=>{if(!I){let E=FQ($,N),J=E.fatal??U??!0;D.addIssue({code:"custom",...E,fatal:J})}});if(!j){let I=FQ($,N),E=I.fatal??U??!0;D.addIssue({code:"custom",...I,fatal:E})}return});return S0.create()}var JC={object:w_.lazycreate},o;(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"})(o||(o={}));var WC=(_,$={message:`Input not instance of ${_.name}`})=>yQ((U)=>U instanceof _,$),uQ=r$.create,hQ=W4.create,SC=t1.create,LC=S4.create,rQ=bU.create,PC=W0.create,OC=n1.create,zC=CU.create,XC=wU.create,RC=S0.create,YC=J4.create,QC=N6.create,GC=d1.create,TC=c$.create,BC=w_.create,VC=w_.strictCreate,FC=vU.create,KC=i2.create,MC=fU.create,gC=j6.create,ZC=l1.create,HC=i1.create,qC=L0.create,kC=HU.create,bC=xU.create,CC=yU.create,wC=L4.create,vC=uU.create,fC=P0.create,KQ=q$.create,xC=m$.create,yC=C6.create,uC=q$.createWithPreprocess,hC=o1.create,rC=()=>uQ().optional(),cC=()=>hQ().optional(),mC=()=>rQ().optional(),nC={string:(_)=>r$.create({..._,coerce:!0}),number:(_)=>W4.create({..._,coerce:!0}),boolean:(_)=>bU.create({..._,coerce:!0}),bigint:(_)=>S4.create({..._,coerce:!0}),date:(_)=>W0.create({..._,coerce:!0})},dC=t;var h={actorRef:"hasna.actor_ref.v1",resourceRef:"hasna.resource_ref.v1",evidenceRef:"hasna.evidence_ref.v1",workRun:"hasna.work_run.v1",taskToPrProjection:"hasna.task_to_pr_projection.v1",decisionEnvelope:"hasna.decision_envelope.v1",costEstimate:"hasna.cost_estimate.v1",capabilityCard:"hasna.capability_card.v1",providerLiveModeStandard:"hasna.provider_live_mode_standard.v1",contextPack:"hasna.context_pack.v1",integrationRef:"hasna.integration_ref.v1",projectManifest:"hasna.project_manifest.v1",projectPanel:"hasna.project_panel.v1",projectSnapshot:"hasna.project_snapshot.v1",renderManifest:"hasna.render_manifest.v1",agentTrajectory:"hasna.agent_trajectory.v1",validationPlan:"hasna.validation_plan.v1",proofBundle:"hasna.proof_bundle.v1",scaffoldManifest:"hasna.scaffold_manifest.v1",scaffoldInstallRecord:"hasna.scaffold_install_record.v1",appCloudManifest:"hasna.app_cloud_manifest.v1",noCloudEvidencePack:"hasna.no_cloud_evidence_pack.v1",secureLocalStorePolicy:"hasna.secure_local_store_policy.v1",serviceContract:"hasna.service_contract.v1",commsEventEnvelope:"hasna.comms_event_envelope.v1",commsChannelMetadata:"hasna.comms_channel_metadata.v1",commsMessageMetadata:"hasna.comms_message_metadata.v1",app:"hasna.app.v1",release:"hasna.release.v1",rolloutRecord:"hasna.rollout_record.v1",announcement:"hasna.announcement.v1",audience:"hasna.audience.v1"},w3=A.string().regex(/^hasna\.[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*\.v[0-9]+$/),q_=A.string().datetime(),a=A.string().trim().min(1),d$=a.refine((_)=>_.startsWith("artifact://")||_.startsWith("repo://")||_.startsWith("project://")||_.startsWith("dashboard://")||_.startsWith("render://")||_.startsWith("integration://")||_.startsWith("task://")||_.startsWith("todo://")||_.startsWith("file://")||_.startsWith("files://")||_.startsWith("mailery://")||_.startsWith("conversation://")||_.startsWith("knowledge://")||_.startsWith("memento://")||_.startsWith("https://")||_.startsWith("http://")||_.startsWith("git+https://"),"URI must use artifact://, repo://, project://, dashboard://, render://, integration://, task://, todo://, file://, files://, mailery://, conversation://, knowledge://, memento://, http(s)://, or git+https://"),cQ=A.string().regex(/^[a-fA-F0-9]{64}$/),mQ=A.string().regex(/^(sha256:)?[a-fA-F0-9]{64}$/),P4=A.record(A.unknown()),dU=A.array(A.string().min(1)).default([]),O0=q_.nullable().optional(),lC=new Set(["succeeded","failed","cancelled","blocked","skipped"]),R0=A.enum(["pending","running","succeeded","failed","cancelled","blocked","skipped","unknown"]);function z_(_){return A.object({schema:A.literal(_),id:A.string().min(1),createdAt:q_,updatedAt:O0,metadata:P4.optional()}).strict()}var Di=A.object({schema:w3,id:A.string().min(1),createdAt:q_,updatedAt:O0,metadata:P4.optional()}).strict(),nQ=A.enum(["agent","human","service","model","workflow","system"]),iC=z_(h.actorRef).extend({kind:nQ,name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional(),capabilities:A.array(A.string().min(1)).default([])}).strict(),I6=A.object({kind:nQ,id:A.string().min(1),name:A.string().min(1).optional(),provider:A.string().min(1).optional(),accountId:A.string().min(1).optional(),machineId:A.string().min(1).optional()}).strict(),dQ=A.enum(["task","project","repo","run","loop","workflow","action","event","integration","session","machine","model","tool","file","document","url","artifact","knowledge","email","conversation","dashboard","render","panel","report","commit","branch","pull_request","issue","comment","verification","finding","context_pack","proof_bundle","memento","eval","budget","cost","alert","incident","app","release","rollout","announcement","audience","feedback","unknown"]),tC=z_(h.resourceRef).extend({kind:dQ,name:A.string().min(1).optional(),uri:d$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:dU}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.externalId&&_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource refs require uri or both sourcePackage and externalId",path:["uri"]})}),__=A.object({kind:dQ,id:A.string().min(1),name:A.string().min(1).optional(),uri:d$.optional(),externalId:a.optional(),sourcePackage:a.optional(),tags:dU}).strict().superRefine((_,$)=>{if(!_.uri&&Boolean(_.externalId)!==Boolean(_.sourcePackage))$.addIssue({code:A.ZodIssueCode.custom,message:"Resource pointers with external package locators require both sourcePackage and externalId",path:_.externalId?["sourcePackage"]:["externalId"]})}),v3=A.enum(["file","command_output","screenshot","log","diff","report","artifact","url","video","har","test_result","metric","trace","other"]),oC=A.enum(["none","partial","full","unknown"]),pC=z_(h.evidenceRef).extend({kind:v3,uri:d$,sha256:cQ.optional(),summary:A.string().min(1).optional(),contentType:A.string().min(1).optional(),sizeBytes:A.number().int().nonnegative().optional(),redaction:oC.default("unknown"),producer:I6.optional(),resourceRefs:A.array(__).default([]),tags:dU}).strict(),K_=A.object({id:A.string().min(1),kind:v3.optional(),uri:d$.optional(),sha256:cQ.optional(),summary:A.string().min(1).optional()}).strict(),p1=z_(h.costEstimate).extend({currency:A.string().regex(/^[A-Z]{3}$/).default("USD"),amountMicros:A.number().int().nonnegative(),provider:A.string().min(1).optional(),model:A.string().min(1).optional(),accountId:A.string().min(1).optional(),promptTokens:A.number().int().nonnegative().optional(),completionTokens:A.number().int().nonnegative().optional(),totalTokens:A.number().int().nonnegative().optional(),basis:A.enum(["actual","estimated","budget","limit"]).default("estimated"),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.promptTokens!==void 0&&_.completionTokens!==void 0&&_.totalTokens!==void 0&&_.totalTokens!==_.promptTokens+_.completionTokens)$.addIssue({code:A.ZodIssueCode.custom,message:"totalTokens must equal promptTokens plus completionTokens when all are present",path:["totalTokens"]})}),aC=A.enum(["allowed","denied","warned","approval_required","selected","skipped","unknown"]),lQ=z_(h.decisionEnvelope).extend({decisionType:A.enum(["guardrail","model_route","tool_select","budget","secret_access","approval","policy","other"]),status:aC,actor:I6.optional(),traceId:A.string().min(1).optional(),inputHash:mQ.optional(),policyBundleId:A.string().min(1).optional(),selected:A.array(__).default([]),skipped:A.array(__).default([]),reason:A.string().min(1),obligations:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),costEstimate:p1.optional(),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.status==="selected"&&_.selected.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Selected decisions require at least one selected resource",path:["selected"]});if(_.status==="skipped"&&_.skipped.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Skipped decisions require at least one skipped resource",path:["skipped"]});if(_.status==="denied"){if(_.selected.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions cannot include selected resources",path:["selected"]});if(!_.policyBundleId&&_.evidenceRefs.length===0&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Denied decisions require policy, evidence, or obligations",path:["policyBundleId"]})}if(_.status==="approval_required"&&_.obligations.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Approval-required decisions require actionable obligations",path:["obligations"]})}),eC=z_(h.capabilityCard).extend({kind:A.enum(["model","tool","machine","agent","lane","connector","service"]),name:A.string().min(1),version:A.string().min(1).optional(),status:A.enum(["available","unavailable","degraded","unknown"]).default("unknown"),capabilities:A.array(A.string().min(1)).default([]),limitations:A.array(A.string().min(1)).default([]),riskLevel:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),costEstimate:p1.optional(),evidenceRefs:A.array(K_).default([])}).strict(),mU=A.enum(["mock","fixture","sandbox","read_only_live","live_mutating"]),sC=A.enum(["none","read_only","external_notification","external_mutation","money_movement","dns_or_domain_change","bulk_message_or_call","legal_or_filing","compute_or_infra_mutation","irreversible"]),_w=A.object({refName:a,requiredForModes:A.array(mU).min(1),allowedSecretInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1).default(["credential_ref"]),failClosedDiagnostic:a,revocationCheck:A.boolean().default(!0)}).strict(),$w=A.object({operation:a,supportedModes:A.array(mU).min(1),sideEffectClass:sC,requiresApproval:A.boolean().default(!1),requiresIdempotencyKey:A.boolean().default(!1),requiresSandboxEvidence:A.boolean().default(!1),requiresRollbackOrRevocation:A.boolean().default(!1),rollbackOrRevocation:a.optional(),noSideEffectSmoke:a.optional(),reconciliation:a.optional()}).strict().superRefine((_,$)=>{if(_.supportedModes.includes("live_mutating")){if(_.sideEffectClass==="none"||_.sideEffectClass==="read_only")$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations must declare a side-effecting class",path:["sideEffectClass"]});if(!_.requiresApproval)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require approval",path:["requiresApproval"]});if(!_.requiresIdempotencyKey)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require idempotency keys",path:["requiresIdempotencyKey"]});if(!_.requiresSandboxEvidence)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require sandbox evidence before live proof",path:["requiresSandboxEvidence"]});if(!_.requiresRollbackOrRevocation||!_.rollbackOrRevocation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require rollback or revocation instructions",path:["rollbackOrRevocation"]});if(!_.reconciliation)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating operations require reconciliation behavior",path:["reconciliation"]})}}),Uw=A.object({providerId:a,appId:a,adapterId:a,ownerPackage:a,modes:A.array(mU).min(1),defaultMode:mU,credentialRequirements:A.array(_w).default([]),operations:A.array($w).min(1),rateLimitPosture:a,costPosture:a.optional(),auditEvents:A.array(a).default([]),redactionRules:A.array(a).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(!_.modes.includes(_.defaultMode))$.addIssue({code:A.ZodIssueCode.custom,message:"defaultMode must be one of modes",path:["defaultMode"]});let U=new Set(_.operations.flatMap((N)=>N.supportedModes));for(let N of U)if(!_.modes.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`operation mode ${N} is not declared in provider modes`,path:["operations"]});if(U.has("live_mutating")){if(!_.credentialRequirements.some((D)=>D.requiredForModes.includes("live_mutating")))$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require at least one live credential reference requirement",path:["credentialRequirements"]});if(_.auditEvents.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"live_mutating providers require audit events",path:["auditEvents"]})}}),Dw=A.object({appId:a,repo:a,priority:A.enum(["p0","p1","p2"]).default("p1"),requiredEvidence:A.array(a).min(1),firstOperations:A.array(a).min(1),blockedUntil:A.array(a).default([])}).strict(),Nw=z_(h.providerLiveModeStandard).extend({name:a,version:a,modes:A.array(mU).refine((_)=>["mock","fixture","sandbox","read_only_live","live_mutating"].every(($)=>_.includes($)),"provider live-mode standard must include every canonical provider mode"),requiredCapabilityFields:A.array(a).min(1),liveMutationGate:A.object({requiredMode:A.literal("live_mutating"),requiredChecks:A.array(a).min(1),forbiddenBypassSignals:A.array(a).min(1),disabledLiveSmoke:a}).strict(),noSideEffectSmoke:A.object({requiredForModes:A.array(mU).min(1),commandEvidence:A.array(a).min(1),secretOutputScan:A.boolean().default(!0)}).strict(),credentialPolicy:A.object({acceptedInputs:A.array(A.enum(["credential_ref","lease_ref"])).min(1),rawSecretInputsAllowed:A.literal(!1),missingCredentialBehavior:A.literal("fail_closed"),revocationCheckRequired:A.boolean().default(!0)}).strict(),operationCards:A.array(Uw).min(1),firstAdoptionTargets:A.array(Dw).min(1),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=new Set(_.firstAdoptionTargets.map((D)=>D.appId)),N=new Set(_.operationCards.map((D)=>D.appId));for(let D of U)if(!N.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:`first adoption target ${D} requires a provider capability card`,path:["firstAdoptionTargets"]})}),jw=A.object({id:A.string().min(1),title:A.string().min(1).optional(),summary:A.string().min(1),text:A.string().optional(),tokens:A.number().int().nonnegative().optional(),source:K_,resourceRefs:A.array(__).default([])}).strict(),iQ=z_(h.contextPack).extend({objective:A.string().min(1),budget:A.object({maxTokens:A.number().int().positive().optional(),maxBytes:A.number().int().positive().optional()}).strict().optional(),items:A.array(jw).default([]),citations:A.array(K_).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),permissions:A.array(A.string().min(1)).default([]),redactions:A.array(A.string().min(1)).default([]),conflicts:A.array(A.string().min(1)).default([]),uncertainty:A.string().min(1).optional()}).strict(),Z$=a.refine((_)=>!_.startsWith("/")&&!_.includes("\\")&&!_.split("/").includes(".."),"Project paths must be relative and cannot contain parent-directory segments"),z0=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"Project slugs must be lowercase dashed identifiers"),Iw=A.enum(["public","internal","private","sensitive"]),Ew=A.enum(["draft","active","paused","archived"]),f3=A.enum(["todos","files","mailery","conversations","knowledge","mementos","reports","actions","render","contracts","custom"]),tQ=z_(h.integrationRef).extend({kind:f3,name:A.string().min(1),projectId:z0.optional(),sourcePackage:a.optional(),externalId:a.optional(),uri:d$.optional(),enabled:A.boolean().default(!0),readOnly:A.boolean().default(!0),capabilities:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),resourceRef:__.optional(),evidenceRefs:A.array(K_).default([]),config:P4.optional()}).strict().superRefine((_,$)=>{if(!_.uri&&!(_.sourcePackage&&_.externalId)&&!_.resourceRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration refs require uri, resourceRef, or both sourcePackage and externalId",path:["uri"]})}),Aw=A.object({schemaRoot:Z$.default(".hasna/project"),dashboardManifest:Z$.default(".hasna/project/dashboard.render.json"),snapshotsDir:Z$.default(".hasna/project/snapshots"),documentsDir:Z$.default("documents"),reportsDir:Z$.default("reports"),evidenceDir:Z$.default(".hasna/project/evidence"),privateDir:Z$.default(".hasna/project/private")}).strict(),Jw=z_(h.projectManifest).extend({projectId:z0,slug:z0,name:A.string().min(1),summary:A.string().min(1).optional(),status:Ew.default("active"),classification:Iw.default("private"),owner:I6.optional(),layout:Aw.default({}),integrations:A.array(tQ).default([]),renderManifests:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),tags:dU}).strict().superRefine((_,$)=>{let U=new Set,N=new Set;if(_.projectId!==_.slug)$.addIssue({code:A.ZodIssueCode.custom,message:"projectId and slug must match for canonical project manifests",path:["slug"]});for(let[D,j]of _.integrations.entries()){if(U.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project manifest integration ids must be unique",path:["integrations",D,"id"]});if(U.add(j.id),j.projectId&&j.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Integration projectId must match the manifest projectId",path:["integrations",D,"projectId"]})}for(let[D,j]of _.renderManifests.entries()){if(j.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifests must use resource kind render",path:["renderManifests",D,"kind"]});if(N.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project renderManifest refs must be unique",path:["renderManifests",D,"id"]});N.add(j.id)}}),Ww=A.enum(["local","package","provider","url"]),x3=A.object({id:A.string().min(1),kind:Ww,specifier:A.string().min(1),path:Z$.optional(),packageName:A.string().min(1).optional(),uri:d$.optional(),provider:f3.optional(),schemaId:w3.optional(),integrity:mQ.optional(),resourceRef:__.optional(),optional:A.boolean().default(!1)}).strict().superRefine((_,$)=>{if(_.kind==="local"&&!_.path)$.addIssue({code:A.ZodIssueCode.custom,message:"Local render imports require path",path:["path"]});if(_.kind==="package"&&!_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Package render imports require packageName",path:["packageName"]});if(_.kind==="provider"&&!_.provider)$.addIssue({code:A.ZodIssueCode.custom,message:"Provider render imports require provider",path:["provider"]});if(_.kind==="url"&&!_.uri)$.addIssue({code:A.ZodIssueCode.custom,message:"URL render imports require uri",path:["uri"]})}),Sw=A.enum(["dashboard","canvas","panel","report","document","custom"]),Lw=A.object({id:A.string().min(1),title:A.string().min(1),kind:Sw,default:A.boolean().default(!1),entry:Z$.optional(),imports:A.array(x3).default([]),panelRefs:A.array(__).default([]),dataRefs:A.array(__).default([]),layout:P4.optional()}).strict(),Pw=z_(h.renderManifest).extend({projectId:z0,name:A.string().min(1),version:A.string().min(1),manifestPath:Z$.default(".hasna/project/dashboard.render.json"),renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),views:A.array(Lw).min(1),imports:A.array(x3).default([]),theme:P4.optional(),compatibility:A.object({minProjectsVersion:A.string().min(1).optional(),minContractsVersion:A.string().min(1).optional()}).strict().optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=_.views.filter((j)=>j.default),N=new Set,D=new Set;if(U.length>1)$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifests can have at most one default view",path:["views"]});for(let[j,I]of _.imports.entries()){if(D.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest import ids must be unique",path:["imports",j,"id"]});D.add(I.id)}for(let[j,I]of _.views.entries()){if(N.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render manifest view ids must be unique",path:["views",j,"id"]});N.add(I.id);let E=new Set;for(let[J,W]of I.imports.entries()){if(E.has(W.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Render view import ids must be unique",path:["views",j,"imports",J,"id"]});E.add(W.id)}for(let[J,W]of I.panelRefs.entries())if(W.kind!=="panel")$.addIssue({code:A.ZodIssueCode.custom,message:"Render view panelRefs must use resource kind panel",path:["views",j,"panelRefs",J,"kind"]})}}),Ow=A.enum(["ready","empty","loading","error","auth_required","unavailable","stale"]),zw=A.enum(["overview","tasks","files","mailery","conversations","knowledge","mementos","reports","actions","timeline","risks","documents","custom"]),Xw=A.object({id:A.string().min(1),label:A.string().min(1),value:A.union([A.string(),A.number(),A.boolean()]),unit:A.string().min(1).optional(),status:A.enum(["good","warning","critical","unknown"]).default("unknown"),resourceRefs:A.array(__).default([])}).strict(),Rw=A.object({id:A.string().min(1),title:A.string().min(1),summary:A.string().min(1).optional(),status:A.string().min(1).optional(),priority:A.enum(["low","medium","high","critical","unknown"]).default("unknown"),timestamp:q_.optional(),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),metadata:P4.optional()}).strict(),Yw=A.object({renderer:A.enum(["json_render","react_flow","markdown","html","custom"]).default("json_render"),title:A.string().min(1).optional(),entry:Z$.optional(),imports:A.array(x3).default([]),spec:P4.default({})}).strict(),oQ=z_(h.projectPanel).extend({projectId:z0,provider:A.object({kind:f3,id:A.string().min(1),name:A.string().min(1).optional(),sourcePackage:a.optional(),externalId:a.optional()}).strict(),kind:zw,title:A.string().min(1),summary:A.string().min(1).optional(),state:Ow.default("ready"),stateReason:A.string().min(1).optional(),generatedAt:q_,freshness:A.enum(["fresh","stale","unknown"]).default("unknown"),metrics:A.array(Xw).default([]),items:A.array(Rw).default([]),actions:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),renderFragment:Yw.optional(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set(["error","auth_required","unavailable","stale"]),N=new Set,D=new Set;if(U.has(_.state)&&!_.stateReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-ready provider states require stateReason",path:["stateReason"]});if(_.state==="ready"&&_.metrics.length===0&&_.items.length===0&&!_.renderFragment)$.addIssue({code:A.ZodIssueCode.custom,message:"Ready panels require metrics, items, or a renderFragment; use state=empty for empty panels",path:["state"]});for(let[j,I]of _.metrics.entries()){if(N.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel metric ids must be unique",path:["metrics",j,"id"]});N.add(I.id)}for(let[j,I]of _.items.entries()){if(D.has(I.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel item ids must be unique",path:["items",j,"id"]});D.add(I.id)}for(let[j,I]of _.actions.entries())if(I.kind!=="action")$.addIssue({code:A.ZodIssueCode.custom,message:"Project panel actions must use resource kind action",path:["actions",j,"kind"]})}),Qw=z_(h.projectSnapshot).extend({projectId:z0,generatedAt:q_,status:R0.default("unknown"),manifestRef:__,renderManifestRef:__.optional(),panels:A.array(oQ).default([]),contextPacks:A.array(iQ).default([]),proofBundleRefs:A.array(__).default([]),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),warnings:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{let U=new Set,N=new Set;if(_.manifestRef.kind!=="project")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot manifestRef must use resource kind project",path:["manifestRef","kind"]});if(_.renderManifestRef&&_.renderManifestRef.kind!=="render")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot renderManifestRef must use resource kind render",path:["renderManifestRef","kind"]});for(let[D,j]of _.proofBundleRefs.entries())if(j.kind!=="proof_bundle")$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot proofBundleRefs must use resource kind proof_bundle",path:["proofBundleRefs",D,"kind"]});for(let[D,j]of _.panels.entries()){if(j.projectId!==_.projectId)$.addIssue({code:A.ZodIssueCode.custom,message:"Panel projectId must match snapshot projectId",path:["panels",D,"projectId"]});if(U.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot panel ids must be unique",path:["panels",D,"id"]});U.add(j.id)}for(let[D,j]of _.contextPacks.entries()){if(N.has(j.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Project snapshot context pack ids must be unique",path:["contextPacks",D,"id"]});N.add(j.id)}}),pQ=A.object({id:A.string().min(1),kind:A.enum(["command","test","typecheck","lint","eval","security","review","deploy","smoke","manual","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),expected:A.string().min(1).optional(),timeoutMs:A.number().int().positive().optional(),resourceRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(new Set(["command","test","typecheck","lint","smoke","eval"]).has(_.kind)&&!_.command&&!_.expected)$.addIssue({code:A.ZodIssueCode.custom,message:"Actionable validation checks require command or expected",path:["command"]})}),Gw=z_(h.validationPlan).extend({objective:A.string().min(1),subject:__.optional(),checks:A.array(pQ).min(1),verifier:I6.optional(),requiredEvidenceKinds:A.array(v3).default([])}).strict(),Tw=A.enum(["open_source","internal_app","platform","app","agent","content","overlay","other"]),Bw=A.enum(["draft","active","deprecated","archived"]),Vw=A.enum(["cli","mcp","library","sdk","rest_api","dashboard","database","auth","billing","worker","daemon","native","browser_extension","ai_provider","media_pipeline","data_pipeline","tests","ci","deployment","docs","other"]),Fw=A.object({key:A.string().regex(/^[A-Z][A-Z0-9_]*$/),description:A.string().min(1),required:A.boolean().default(!1),["secret"]:A.boolean().default(!1),group:A.string().min(1).optional(),default:A.string().optional()}).strict().superRefine((_,$)=>{if(_.secret&&_.default!==void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Secret scaffold env vars cannot include defaults",path:["default"]})}),Kw=A.object({name:A.string().min(1),command:A.string().min(1),description:A.string().min(1).optional(),required:A.boolean().default(!1)}).strict(),Mw=A.object({packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),languages:A.array(A.string().min(1)).default([]),requiredFiles:A.array(A.string().min(1)).default([]),requiredDirectories:A.array(A.string().min(1)).default([]),optionalDirectories:A.array(A.string().min(1)).default([])}).strict(),gw=z_(h.scaffoldManifest).extend({name:A.string().min(1),version:A.string().min(1),summary:A.string().min(1),type:Tw,status:Bw.default("draft"),capabilities:A.array(Vw).default([]),techStack:A.array(A.string().min(1)).default([]),tags:dU,source:__.optional(),output:Mw,env:A.array(Fw).default([]),scripts:A.array(Kw).default([]),validationChecks:A.array(pQ).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.source?.uri?.startsWith("file://"))$.addIssue({code:A.ZodIssueCode.custom,message:"Public scaffold manifest source refs cannot use local file:// URIs",path:["source","uri"]});if(_.status==="active"&&_.validationChecks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require validation checks",path:["validationChecks"]});if(_.status==="active"&&_.output.requiredFiles.length===0&&_.output.requiredDirectories.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Active scaffold manifests require at least one required file or directory",path:["output"]})}),Zw=A.enum(["installed","failed","cancelled","partial","unknown"]),Hw=z_(h.scaffoldInstallRecord).extend({scaffoldId:A.string().min(1),scaffoldVersion:A.string().min(1).optional(),manifestRef:__.optional(),target:__,status:Zw,installedAt:q_.optional(),installer:I6.optional(),packageManager:A.enum(["bun","npm","pnpm","yarn","cargo","pip","other"]).optional(),options:P4.optional(),generatedFiles:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.status==="installed"&&!_.installedAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require installedAt",path:["installedAt"]});if(_.status==="installed"&&_.generatedFiles.length===0&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Installed scaffold records require generated files, evidence, or proof bundle refs",path:["generatedFiles"]});if((_.status==="failed"||_.status==="partial")&&_.evidenceRefs.length===0&&_.proofBundleRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed or partial scaffold records require evidence or proof bundle refs",path:["evidenceRefs"]})}),nU=A.string().regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/,"App ids must be lowercase dashed identifiers"),y3=A.string().regex(/^(@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,"Must be a valid npm package name"),aQ=A.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/,"Must be a semver version"),qw=A.string().regex(/^[0-9a-f]{7,40}$/,"Must be a lowercase git sha (7-40 hex chars)"),kw=a.refine((_)=>_.startsWith("https://github.com/")||_.startsWith("git+https://github.com/"),"GitHub URLs must start with https://github.com/ or git+https://github.com/"),bw=A.enum(["active","stub","deprecated","archived"]),Cw=A.enum(["stable","beta","canary","internal"]),ww=A.object({transport:A.enum(["http","stdio"]).default("http"),bin:A.string().min(1).optional(),url:d$.optional()}).strict(),vw=A.object({healthPath:A.string().min(1).default("/health"),port:A.number().int().positive().optional(),baseUrl:d$.optional()}).strict(),fw=A.object({bins:A.array(A.string().min(1)).default([]),mcp:ww.optional(),http:vw.optional()}).strict(),xw=z_(h.app).extend({appId:nU,npmName:y3,repoFolder:nU,githubUrl:kw,projectSlug:z0,surfaces:fw.default({}),lifecycle:bw,releaseChannel:Cw.default("stable"),summary:A.string().min(1).optional(),tags:dU}).strict().superRefine((_,$)=>{let U=new Set;for(let[N,D]of _.surfaces.bins.entries()){if(U.has(D))$.addIssue({code:A.ZodIssueCode.custom,message:"App surface bins must be unique",path:["surfaces","bins",N]});U.add(D)}}),yw=A.enum(["skill","ci","backfilled"]),uw=z_(h.release).extend({appId:nU,package:y3,version:aQ,gitSha:qw,publishedAt:q_,publishPath:yw,changelogRef:__.optional(),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.publishPath!=="backfilled"&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"skill and ci releases require publish evidence; only backfilled releases may omit it",path:["evidenceRefs"]})}),hw=A.enum(["install","update","rollback","freeze-blocked"]),rw=A.object({cliVersion:A.string().min(1).optional(),mcpHealth:A.enum(["ok","degraded","unavailable","not_checked"]).optional()}).strict().superRefine((_,$)=>{if(!_.cliVersion&&_.mcpHealth===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"Rollout verification requires at least one concrete verifier field"})}),cw=z_(h.rolloutRecord).extend({appId:nU,package:y3,version:aQ,machine:a,action:hw,result:R0,verifiedBy:rw.optional(),at:q_,evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.action==="freeze-blocked"&&_.result!=="blocked"&&_.result!=="skipped")$.addIssue({code:A.ZodIssueCode.custom,message:"freeze-blocked rollout records must report result blocked or skipped",path:["result"]});let U=Boolean(_.verifiedBy?.cliVersion)||_.verifiedBy?.mcpHealth!==void 0&&_.verifiedBy.mcpHealth!=="not_checked",N=_.verifiedBy?Object.keys(_.verifiedBy).length>0:!1;if((_.action==="install"||_.action==="update")&&_.result==="succeeded"&&(!_.verifiedBy||N&&!U))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded install/update rollout records require concrete verification",path:["verifiedBy"]})}),mw=A.enum(["email","telegram","slack","discord","x","blog","rss","webhook","github","other"]),nw=A.enum(["pending","queued","sent","failed","skipped","suppressed"]),dw=A.object({channel:mw,status:nw,deliveredAt:q_.optional(),detail:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if(_.status==="sent"&&!_.deliveredAt)$.addIssue({code:A.ZodIssueCode.custom,message:"Sent announcement channels require deliveredAt",path:["deliveredAt"]});if(_.status==="failed"&&!_.detail)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed announcement channels require detail",path:["detail"]})}),lw=z_(h.announcement).extend({campaignId:a,appId:nU.optional(),releaseRef:__.optional(),channels:A.array(dw).min(1),audienceRef:__,sentAt:q_}).strict().superRefine((_,$)=>{if(_.releaseRef&&_.releaseRef.kind!=="release")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement releaseRef must use resource kind release",path:["releaseRef","kind"]});if(_.audienceRef.kind!=="audience")$.addIssue({code:A.ZodIssueCode.custom,message:"Announcement audienceRef must use resource kind audience",path:["audienceRef","kind"]})}),iw=A.enum(["tag","attribute","group"]),tw=A.enum(["eq","neq","in","not_in","exists","not_exists"]),MQ=A.union([A.string(),A.number(),A.boolean()]),ow=A.object({kind:iw,key:A.string().min(1).optional(),op:tw.default("eq"),value:MQ.optional(),values:A.array(MQ).default([])}).strict().superRefine((_,$)=>{if(_.kind==="attribute"&&!_.key)$.addIssue({code:A.ZodIssueCode.custom,message:"Attribute predicates require key",path:["key"]});if((_.op==="eq"||_.op==="neq")&&_.value===void 0)$.addIssue({code:A.ZodIssueCode.custom,message:"eq/neq predicates require value",path:["value"]});if((_.op==="in"||_.op==="not_in")&&_.values.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"in/not_in predicates require values",path:["values"]})}),pw=A.object({match:A.enum(["all","any"]).default("all"),predicates:A.array(ow).min(1)}).strict(),aw=A.enum(["opt_in","opt_out","transactional","none"]),ew=z_(h.audience).extend({audienceId:nU,name:a,definition:pw,consentPolicy:aw,suppressionSyncedAt:O0}).strict(),c2=["@hasna/cloud","open-cloud"],sw=A.enum(["aws","gcp","azure","cloudflare","vercel","neon","supabase","postgres","s3","rds","other"]),_v=A.object({id:A.string().min(1),provider:sw,kind:A.enum(["database","bucket","queue","secret","function","worker","cache","topic","scheduler","object_store","other"]),ownerPackage:A.string().min(1),region:A.string().min(1).optional(),accountId:A.string().min(1).optional(),uri:d$.optional(),machineScoped:A.boolean().default(!1)}).strict(),eQ=z_(h.appCloudManifest).extend({packageName:A.string().min(1),packageVersion:A.string().min(1).optional(),appId:A.string().min(1),repository:__.optional(),storageMode:A.enum(["local_only","app_owned_cloud","hybrid_local_cache","external_service"]),cloudBoundary:A.enum(["none","app_owned","external_service","local_cache"]),cloudResources:A.array(_v).default([]),localCache:A.object({path:A.string().min(1).optional(),pullMode:A.enum(["manual","daemon","ci","none"]).default("manual"),conflictPolicy:A.enum(["cloud_wins","local_wins","merge","manual_review"]).default("manual_review")}).strict().optional(),forbiddenSharedRuntimes:A.array(A.string().min(1)).default([...c2]),dependencies:A.array(A.string().min(1)).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=new Set([...c2,..._.forbiddenSharedRuntimes]);if(U.has(_.packageName))$.addIssue({code:A.ZodIssueCode.custom,message:"App-owned cloud manifests cannot be for a forbidden runtime",path:["packageName"]});for(let N of c2)if(!_.forbiddenSharedRuntimes.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`forbiddenSharedRuntimes must include ${N}`,path:["forbiddenSharedRuntimes"]});for(let N of U)if(_.dependencies.includes(N))$.addIssue({code:A.ZodIssueCode.custom,message:`App-owned cloud manifests cannot depend on ${N}`,path:["dependencies"]});if(_.storageMode==="local_only"&&_.cloudBoundary!=="none")$.addIssue({code:A.ZodIssueCode.custom,message:"local_only storage requires cloudBoundary none",path:["cloudBoundary"]});if(_.storageMode==="app_owned_cloud"&&_.cloudBoundary!=="app_owned")$.addIssue({code:A.ZodIssueCode.custom,message:"app_owned_cloud storage requires cloudBoundary app_owned",path:["cloudBoundary"]});if(_.storageMode==="hybrid_local_cache"){if(_.cloudBoundary!=="local_cache")$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires cloudBoundary local_cache",path:["cloudBoundary"]});if(!_.localCache)$.addIssue({code:A.ZodIssueCode.custom,message:"hybrid_local_cache storage requires localCache settings",path:["localCache"]})}if(_.storageMode==="external_service"){if(_.cloudBoundary!=="external_service")$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage requires cloudBoundary external_service",path:["cloudBoundary"]});if(_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"external_service storage must not declare app-owned cloudResources",path:["cloudResources"]})}if((_.storageMode==="app_owned_cloud"||_.storageMode==="hybrid_local_cache")&&_.cloudResources.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud-backed storage modes require explicit app-owned cloudResources",path:["cloudResources"]});if(_.cloudBoundary==="none"&&_.cloudResources.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"cloudBoundary none cannot declare cloudResources",path:["cloudResources"]});_.cloudResources.forEach((N,D)=>{if(N.ownerPackage!==_.packageName)$.addIssue({code:A.ZodIssueCode.custom,message:"Cloud resources must be owned by the app package that declares the manifest",path:["cloudResources",D,"ownerPackage"]})})}),sQ=A.enum(["package_manifest","lockfile","source_import","runtime_config","packed_artifact","published_metadata","app_cloud_manifest","remote_config","boundary_doc","other"]),$v=A.enum(["low","medium","high","critical"]),_G=A.object({id:A.string().min(1),kind:sQ,severity:$v,path:A.string().min(1).optional(),packageName:A.string().min(1).optional(),pattern:A.string().min(1),message:A.string().min(1),evidenceRefs:A.array(K_).default([])}).strict(),Uv=A.object({id:A.string().min(1),kind:sQ,status:R0,target:A.string().min(1),command:A.string().min(1).optional(),evidenceRefs:A.array(K_).default([]),findings:A.array(_G).default([])}).strict(),Dv=z_(h.noCloudEvidencePack).extend({subject:__,packageName:A.string().min(1).optional(),packageVersion:A.string().min(1).optional(),generatedBy:I6.optional(),scanMode:A.enum(["source_tree","packed_artifact","published_metadata","runtime_config","workspace","ci"]),status:R0,verdict:A.enum(["passed","failed","warning","not_run"]),appCloudManifest:eQ.optional(),checks:A.array(Uv).min(1),findings:A.array(_G).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{let U=[..._.findings,..._.checks.flatMap((D)=>D.findings)],N=U.filter((D)=>D.severity==="high"||D.severity==="critical");if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires succeeded status",path:["status"]});if(N.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence cannot include high or critical findings",path:["findings"]});if(_.checks.some((D)=>D.status!=="succeeded"))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed no-cloud evidence requires every check to be succeeded",path:["checks"]})}if(_.verdict==="failed"&&U.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed no-cloud evidence requires findings",path:["findings"]});if(_.status==="succeeded"&&_.checks.some((D)=>D.status==="failed"))$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud evidence cannot contain failed checks",path:["checks"]});_.checks.forEach((D,j)=>{let I=D.findings.filter((E)=>E.severity==="high"||E.severity==="critical");if(D.status==="succeeded"&&I.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded no-cloud checks cannot contain high or critical findings",path:["checks",j,"findings"]})})}),Nv=A.object({checkId:A.string().min(1),status:R0,summary:A.string().min(1).optional(),startedAt:O0,finishedAt:O0,evidenceRefs:A.array(K_).default([])}).strict(),jv=z_(h.proofBundle).extend({subject:__,validationPlanRef:__.optional(),status:R0,verdict:A.enum(["passed","failed","inconclusive","not_run"]).default("inconclusive"),checks:A.array(Nv).default([]),verifier:I6.optional(),evidenceRefs:A.array(K_).default([]),residualRisks:A.array(A.string().min(1)).default([]),freshness:A.enum(["fresh","stale","unknown"]).default("unknown")}).strict().superRefine((_,$)=>{if(_.verdict==="passed"){if(_.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles must have status succeeded",path:["status"]});if(_.checks.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require at least one check result",path:["checks"]});if(_.checks.forEach((N,D)=>{if(N.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require all checks to have status succeeded",path:["checks",D,"status"]})}),!(_.evidenceRefs.length>0||_.checks.some((N)=>N.evidenceRefs.length>0)))$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require evidence",path:["evidenceRefs"]});if(!_.verifier)$.addIssue({code:A.ZodIssueCode.custom,message:"Passed proof bundles require a verifier",path:["verifier"]})}if(_.verdict==="not_run"&&_.checks.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"Not-run proof bundles cannot include check results",path:["checks"]});if(_.verdict==="failed"&&!_.checks.some((U)=>U.status==="failed")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed proof bundles require a failed check or evidence",path:["checks"]})}),Iv=z_(h.workRun).extend({objective:A.string().min(1),status:R0,actor:I6,traceId:A.string().min(1).optional(),startedAt:O0,finishedAt:O0,constraints:A.array(A.string().min(1)).default([]),resourceRefs:A.array(__).default([]),decisions:A.array(lQ).default([]),costEstimates:A.array(p1).default([]),evidenceRefs:A.array(K_).default([]),validationPlanRefs:A.array(__).default([]),proofBundleRefs:A.array(__).default([])}).strict().superRefine((_,$)=>{if(_.startedAt&&_.finishedAt&&Date.parse(_.finishedAt)0||_.proofBundleRefs.length>0;if(_.status==="succeeded"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Succeeded work runs require evidence or a proof bundle",path:["evidenceRefs"]});if((_.status==="failed"||_.status==="blocked")&&!U&&_.decisions.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed or blocked work runs require evidence, a proof bundle, or a decision record",path:["evidenceRefs"]})}),Ev=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"])}),Av=A.enum(["work_run","root_request","pr_group","leaf_task","attempt","writer_generation","writer_lease","writer_fence","provider_profile","provider_route","admission","worker_actor","worker","runtime","repo","worktree","branch","event_stream","replay_cursor","handoff","pull_request","commit","review","reviewer","review_run","proof_bundle","repair_cycle","merge_guard","merge_operator","merge_operator_run","merge_guard_receipt","merge_outcome","recovery","cancellation","cleanup_eligibility","cleanup_outcome","rollback_plan","rollback_outcome","terminal_disposition","openloops_invocation","adapter_extension"]),Jv=A.enum(["todos","codewith","repos","review","merge_provider","openloops","adapter"]),X0=A.string().regex(/^[a-f0-9]{64}$/),o2=A.string().trim().min(3).max(256),$G=/^[a-f0-9]{32}$/;function Wv(_,$,U){return`${_}:${$}:opaque-${U.slice(0,32)}`}function Sv(_){return`evidence:opaque-${_.slice(0,32)}`}var UG=o2.refine((_)=>{let U=_.startsWith("task_to_pr_projection:opaque-")?_.slice(29):"";return $G.test(U)},"Projection ids must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),u3=o2.refine((_)=>{let U=_.startsWith("attempt_nonce:opaque-")?_.slice(21):"";return $G.test(U)},"Attempt nonces must use a nonsemantic 128-bit lowercase hexadecimal surrogate"),Lv=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"]),h3=A.object({role:Av,authority:Jv,id:o2,digest:X0,redaction:A.enum(["none","partial","full"])}).strict().superRefine((_,$)=>{let U=Ev[_.role];if(!U.includes(_.authority))$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be owned by ${U.join(" or ")}`,path:["authority"]});if(Lv.has(_.role)&&_.redaction==="none")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.role} refs must be redacted and cannot carry a raw locator or credential`,path:["redaction"]});let N=Wv(_.role,_.authority,_.digest);if(_.id!==N)$.addIssue({code:A.ZodIssueCode.custom,message:"Reference ids must be nonsemantic authority-bound surrogates derived from the canonical role, authority, and owner-record digest",path:["id"]})}),H$=A.object({id:o2,digest:X0,redaction:A.enum(["partial","full"])}).strict().superRefine((_,$)=>{if(_.id!==Sv(_.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Evidence ids must be nonsemantic owner-resolvable surrogates derived from their canonical digest",path:["id"]})});function DG(_,$,U,N){if(_.id===$.id||_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:"Stop and lease-revocation facts require distinct evidence identities and digests",path:N})}function H(_){return h3.refine(($)=>$.role===_,{message:`Reference must use role ${_}`,path:["role"]})}function H_(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id&&_.digest===$.digest&&_.redaction===$.redaction}function r3(_,$){return _.role===$.role&&_.authority===$.authority&&_.id===$.id}function qU(_,$,U,N,D){if(r3(_,$))U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical role/authority/id`,path:N});if(_.digest===$.digest)U.addIssue({code:A.ZodIssueCode.custom,message:`${D} requires a fresh canonical digest`,path:N})}function d2(_){return`${_.role}\x00${_.authority}\x00${_.id}`}function N$(_,$){return _.algorithm===$.algorithm&&_.value===$.value}var F_=A.object({algorithm:A.enum(["sha1","sha256"]),value:A.string().regex(/^[a-f0-9]+$/)}).strict().superRefine((_,$)=>{let U=_.algorithm==="sha1"?40:64;if(_.value.length!==U)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.algorithm} object ids must contain exactly ${U} lowercase hex characters`,path:["value"]})});function gQ(_){if(_.canonicalizationVersion===1){let U=JSON.stringify(["hasna.task_to_pr_projection.binding.v1",_.canonicalizationVersion,_.rootRequestRef.id,_.rootRequestRef.digest,_.prGroupRef.id,_.prGroupRef.digest,_.leafTaskRef.id,_.leafTaskRef.digest,_.repoRef.id,_.repoRef.digest,_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return BQ("sha256").update(U,"utf8").digest("hex")}let $=JSON.stringify(["hasna.task_to_pr_projection.binding.v2",_.canonicalizationVersion,...[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repoRef,_.worktreeRef,_.branchRef].flatMap((U)=>[U.role,U.authority,U.id,U.digest]),_.baseHead.algorithm,_.baseHead.value,_.frozenScopeDigest]);return BQ("sha256").update($,"utf8").digest("hex")}var Pv=A.object({ref:H("attempt"),nonce:u3,admissionRef:H("admission"),admissionWriterGenerationRef:H("writer_generation"),workerActorRef:H("worker_actor"),workerRef:H("worker"),runtimeRef:H("runtime"),writerGenerationRef:H("writer_generation"),writerLeaseRef:H("writer_lease"),writerFenceRef:H("writer_fence"),providerProfileRef:H("provider_profile"),providerRouteRef:H("provider_route")}).strict(),Ov=A.object({repoRef:H("repo"),worktreeRef:H("worktree"),branchRef:H("branch"),baseHead:F_,branchHead:F_}).strict(),zv=A.object({streamRef:H("event_stream"),replayCursorRef:H("replay_cursor"),sequence:A.number().int().safe().nonnegative(),prefixDigest:X0}).strict(),Xv=A.object({ref:H("handoff"),previousAttemptRef:H("attempt"),nextAttemptRef:H("attempt"),previousWriterGenerationRef:H("writer_generation"),nextWriterGenerationRef:H("writer_generation"),stoppedWorkRunRef:H("work_run"),stopEvidenceRef:H$,leaseRevocationEvidenceRef:H$}).strict().superRefine((_,$)=>{qU(_.previousAttemptRef,_.nextAttemptRef,$,["nextAttemptRef"],"Handoff attempt rotation"),qU(_.previousWriterGenerationRef,_.nextWriterGenerationRef,$,["nextWriterGenerationRef"],"Handoff writer-generation rotation"),DG(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Rv=A.object({ref:H("review"),pullRequestRef:H("pull_request"),base:F_,head:F_,reviewerRef:H("reviewer"),reviewRunRef:H("review_run"),proofBundleRef:H("proof_bundle"),verdict:A.enum(["approved","changes_requested","blocked"]),reviewedAt:q_}).strict(),Yv=A.object({pullRequestRef:H("pull_request"),remoteBranchRef:H("branch"),expectedBase:F_,providerPullRequestBase:F_,localHead:F_,remoteHead:F_,providerPullRequestHead:F_,equalityProofRef:H("proof_bundle"),ciProofBundleRefs:A.array(H("proof_bundle")).min(1),verifiedAt:q_}).strict().superRefine((_,$)=>{if(!N$(_.expectedBase,_.providerPullRequestBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Expected and provider-observed pull-request bases must be exactly equal",path:["providerPullRequestBase"]});if(!N$(_.localHead,_.remoteHead)||!N$(_.localHead,_.providerPullRequestHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Local, remote, and provider pull-request heads must be exactly equal",path:["providerPullRequestHead"]});let U=_.ciProofBundleRefs.map(d2);if(new Set(U).size!==U.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical identities",path:["ciProofBundleRefs"]});let N=_.ciProofBundleRefs.map((D)=>D.digest);if(new Set(N).size!==N.length)$.addIssue({code:A.ZodIssueCode.custom,message:"CI proof bundle refs must have unique canonical digests",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>r3(D,_.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical identities",path:["ciProofBundleRefs"]});if(_.ciProofBundleRefs.some((D)=>D.digest===_.equalityProofRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Head-equality and CI proof refs must have distinct canonical digests",path:["ciProofBundleRefs"]})}),Qv=A.object({ref:H("repair_cycle"),cycle:A.number().int().min(0).max(2),cap:A.literal(2),exhausted:A.boolean(),latestRepairRef:H("repair_cycle").optional()}).strict().superRefine((_,$)=>{if(_.exhausted!==(_.cycle===_.cap))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair exhaustion must equal the cumulative cycle cap",path:["exhausted"]});if(_.cycle===0&&_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Cycle zero cannot reference a repair",path:["latestRepairRef"]});if(_.cycle>0&&!_.latestRepairRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Non-zero repair state requires the latest immutable repair ref",path:["latestRepairRef"]});if(_.latestRepairRef&&r3(_.ref,_.latestRepairRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must be distinct canonical records",path:["latestRepairRef"]});if(_.latestRepairRef&&_.ref.digest===_.latestRepairRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Repair-state and latest-repair refs must have distinct canonical digests",path:["latestRepairRef"]})}),Gv=A.object({ref:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:F_,expectedHead:F_,reviewRefs:A.array(H("review")).min(1),proofBundleRefs:A.array(H("proof_bundle")).min(1),operatorRef:H("merge_operator"),operatorRunRef:H("merge_operator_run"),providerGuardReceiptRef:H("merge_guard_receipt"),mechanism:A.enum(["compare_and_swap","queue_expected_head"]),decision:A.enum(["eligible","denied","consumed","revoked"]),evaluatedAt:q_}).strict().superRefine((_,$)=>{if(new Set(_.reviewRefs.map((j)=>j.id)).size!==_.reviewRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard review refs must be unique",path:["reviewRefs"]});if(new Set(_.proofBundleRefs.map(d2)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical identities",path:["proofBundleRefs"]});if(new Set(_.proofBundleRefs.map((j)=>j.digest)).size!==_.proofBundleRefs.length)$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard proof refs must have unique canonical digests",path:["proofBundleRefs"]})}),Tv=A.object({ref:H("merge_outcome"),guardRef:H("merge_guard"),pullRequestRef:H("pull_request"),expectedBase:F_,observedBase:F_,expectedHead:F_,observedHead:F_,status:A.enum(["merged","closed_unmerged","refused","head_drift","base_drift"]),mergeCommitRef:H("commit").optional(),finishedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict().superRefine((_,$)=>{let U=N$(_.expectedBase,_.observedBase),N=N$(_.expectedHead,_.observedHead);if(_.status==="merged"){if(!U||!N)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require observed base and head to equal the guarded values",path:[!U?"observedBase":"observedHead"]});if(!_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Merged outcomes require an immutable merge commit ref",path:["mergeCommitRef"]})}else if(_.mergeCommitRef)$.addIssue({code:A.ZodIssueCode.custom,message:"Unmerged outcomes cannot claim a merge commit",path:["mergeCommitRef"]});if(_.status==="head_drift"&&N)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes require distinct expected and observed heads",path:["observedHead"]});if(_.status==="head_drift"&&!U)$.addIssue({code:A.ZodIssueCode.custom,message:"Head-drift outcomes cannot also carry an unclassified base drift",path:["observedBase"]});if(_.status==="base_drift"&&U)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes require distinct expected and observed bases",path:["observedBase"]});if(_.status==="base_drift"&&!N)$.addIssue({code:A.ZodIssueCode.custom,message:"Base-drift outcomes cannot also carry an unclassified head drift",path:["observedHead"]});if(!N&&_.status!=="head_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a head_drift outcome may record an observed head that differs from the expected head",path:["observedHead"]});if(!U&&_.status!=="base_drift")$.addIssue({code:A.ZodIssueCode.custom,message:"Only a base_drift outcome may record an observed base that differs from the expected base",path:["observedBase"]})}),Bv=A.object({guard:Gv,outcome:Tv.optional()}).strict(),Vv=A.object({ref:H("recovery"),priorAttemptRef:H("attempt"),priorWriterGenerationRef:H("writer_generation"),priorWorkRunRef:H("work_run"),successorAttemptNonce:u3,successorWriterGenerationRef:H("writer_generation"),preservedStateRefs:A.array(h3).min(1),stopEvidenceRef:H$,leaseRevocationEvidenceRef:H$}).strict().superRefine((_,$)=>{qU(_.priorWriterGenerationRef,_.successorWriterGenerationRef,$,["successorWriterGenerationRef"],"Recovery writer-generation rotation"),DG(_.stopEvidenceRef,_.leaseRevocationEvidenceRef,$,["leaseRevocationEvidenceRef"])}),Fv=A.object({ref:H("cancellation"),cancelledAttemptRef:H("attempt"),preservedStateRefs:A.array(h3).min(1),evidenceRefs:A.array(H$).min(1)}).strict(),Kv=A.object({ref:H("cleanup_eligibility"),status:A.enum(["not_ready","preserved","blocked","eligible"]),targetWorktreeRef:H("worktree"),eventCursorRef:H("replay_cursor"),terminalDispositionRef:H("terminal_disposition"),writerLeaseRef:H("writer_lease"),leaseRevocationEvidenceRef:H$,consumedEventEvidenceRef:H$,evaluatedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict().superRefine((_,$)=>{if(_.leaseRevocationEvidenceRef.id===_.consumedEventEvidenceRef.id||_.leaseRevocationEvidenceRef.digest===_.consumedEventEvidenceRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup lease-revocation and consumed-event facts require distinct evidence identities and digests",path:["consumedEventEvidenceRef"]})}),Mv=A.object({ref:H("cleanup_outcome"),eligibilityRef:H("cleanup_eligibility"),targetWorktreeRef:H("worktree"),status:A.enum(["preserved","deleted","failed","skipped"]),finishedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict(),gv=A.object({eligibility:Kv,outcome:Mv.optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!H_(_.outcome.eligibilityRef,_.eligibility.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup outcomes must bind the exact eligibility decision",path:["outcome","eligibilityRef"]});if(_.outcome&&!H_(_.outcome.targetWorktreeRef,_.eligibility.targetWorktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility and outcome must bind the same target worktree",path:["outcome","targetWorktreeRef"]});if(_.outcome?.status==="deleted"&&_.eligibility.status!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Deletion requires an eligible cleanup decision",path:["outcome","status"]})}),Zv=A.object({plan:A.object({ref:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),createdAt:q_}).strict(),outcome:A.object({ref:H("rollback_outcome"),planRef:H("rollback_plan"),targetRef:A.union([H("commit"),H("branch")]),status:A.enum(["not_run","succeeded","failed","cancelled"]),finishedAt:q_,evidenceRefs:A.array(H$).min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.outcome&&!H_(_.outcome.planRef,_.plan.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback plan",path:["outcome","planRef"]});if(_.outcome&&!H_(_.outcome.targetRef,_.plan.targetRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Rollback outcomes must bind the exact rollback target",path:["outcome","targetRef"]});if(_.outcome&&Date.parse(_.outcome.finishedAt)({category:"ci_proof",ref:$,base:_.exactHead.expectedBase,head:_.exactHead.localHead}))]:[],..._.reviews.flatMap(($)=>[{category:"review_proof",ref:$.proofBundleRef,base:$.base,head:$.head},{category:"review_record",ref:$.ref,base:$.base,head:$.head},{category:"review_run",ref:$.reviewRunRef,base:$.base,head:$.head}]),..._.merge?[{category:"merge_guard",ref:_.merge.guard.ref},{category:"provider_guard_receipt",ref:_.merge.guard.providerGuardReceiptRef,base:_.merge.guard.expectedBase,head:_.merge.guard.expectedHead}]:[],..._.cleanup?[{category:"cleanup_eligibility",ref:_.cleanup.eligibility.ref}]:[],..._.rollback?[{category:"rollback_plan",ref:_.rollback.plan.ref}]:[],..._.terminalDispositionRef?[{category:"terminal_disposition",ref:_.terminalDispositionRef}]:[]]}function kv(_,$){if(_.category!==$.category)return!1;if(_.category==="projection_id"&&$.category==="projection_id")return _.projectionId===$.projectionId;if(_.category==="attempt_nonce"&&$.category==="attempt_nonce")return _.nonce===$.nonce;if(_.category==="replay_prefix"&&$.category==="replay_prefix")return _.sequence===$.sequence&&_.prefixDigest===$.prefixDigest;if(!("ref"in _)||!("ref"in $))return!1;return H_(_.ref,$.ref)&&(("head"in _)&&("head"in $)&&("base"in _)&&("base"in $)&&N$(_.base,$.base)&&N$(_.head,$.head)||!("head"in _)&&!("head"in $)&&!("base"in _)&&!("base"in $))}var bv="hasna.task_to_pr_adapter_extension.",Cv=A.object({mode:A.enum(["local","cloud"]),schema:w3,ref:H("adapter_extension"),digest:X0}).strict().superRefine((_,$)=>{if(!_.schema.startsWith(bv))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extension schema ids must use the permanently reserved task-to-PR adapter-extension namespace",path:["schema"]})}),wv=A.enum(["admitted","running","handed_off","reviewing","repairing","merge_ready","merged","closed_unmerged","failed","blocked","cancelled","recovering","cleanup_complete","rolled_back"]),ZQ=new Set(["admitted","running","handed_off"]),HQ=new Set(["merged","closed_unmerged","failed","blocked","cancelled","cleanup_complete","rolled_back"]),vv={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"])},fv=A.object({schema:A.literal(h.taskToPrProjection),id:UG,createdAt:q_,canonicalizationVersion:A.union([A.literal(1),A.literal(2)]),identityDigest:X0,frozenScopeDigest:X0,state:wv,workRunRef:H("work_run"),rootRequestRef:H("root_request"),prGroupRef:H("pr_group"),leafTaskRef:H("leaf_task"),attempt:Pv,repository:Ov,events:zv,openLoopsInvocationRef:H("openloops_invocation").optional(),pullRequestRef:H("pull_request").optional(),exactHead:Yv.optional(),handoff:Xv.optional(),reviews:A.array(Rv).default([]),repair:Qv,merge:Bv.optional(),recovery:Vv.optional(),cancellation:Fv.optional(),cleanup:gv.optional(),rollback:Zv.optional(),terminalDispositionRef:H("terminal_disposition").optional(),provenanceLedger:A.array(Hv),adapterExtensions:A.array(Cv).default([]),evidenceRefs:A.array(H$).default([])}).strict().superRefine((_,$)=>{let U=_.canonicalizationVersion===1?gQ({canonicalizationVersion:1,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest}):gQ({canonicalizationVersion:2,rootRequestRef:_.rootRequestRef,prGroupRef:_.prGroupRef,leafTaskRef:_.leafTaskRef,repoRef:_.repository.repoRef,worktreeRef:_.repository.worktreeRef,branchRef:_.repository.branchRef,baseHead:_.repository.baseHead,frozenScopeDigest:_.frozenScopeDigest});if(_.identityDigest!==U)$.addIssue({code:A.ZodIssueCode.custom,message:"identityDigest must equal the selected v1 compatibility or v2 branch/worktree-bound canonical identity digest",path:["identityDigest"]});let N=new Set,D=new Set,j=new Set,I=new Set,E=new Set,J=new Set;for(let[T,F]of _.provenanceLedger.entries()){if("ref"in F){if(N.has(F.ref.id))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical owner id across categories or generations",path:["provenanceLedger",T,"ref","id"]});if(N.add(F.ref.id),D.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Provenance entries cannot reuse a canonical digest across categories or generations",path:["provenanceLedger",T,"ref","digest"]});D.add(F.ref.digest);continue}if(F.category==="projection_id"){if(j.has(F.projectionId))$.addIssue({code:A.ZodIssueCode.custom,message:"Projection identity provenance tombstones must be globally unique",path:["provenanceLedger",T,"projectionId"]});j.add(F.projectionId);continue}if(F.category==="attempt_nonce"){if(I.has(F.nonce))$.addIssue({code:A.ZodIssueCode.custom,message:"Attempt nonce provenance tombstones must be globally unique",path:["provenanceLedger",T,"nonce"]});I.add(F.nonce);continue}if(E.has(F.prefixDigest))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance tombstones must be globally unique",path:["provenanceLedger",T,"prefixDigest"]});if(E.add(F.prefixDigest),J.has(F.sequence))$.addIssue({code:A.ZodIssueCode.custom,message:"Replay prefix provenance entries must bind globally unique replay sequences",path:["provenanceLedger",T,"sequence"]});J.add(F.sequence)}for(let T of qv(_))if(!_.provenanceLedger.some((F)=>kv(F,T)))$.addIssue({code:A.ZodIssueCode.custom,message:`The active ${T.category} identity must be represented exactly in the monotonic provenance ledger`,path:["provenanceLedger"]});let W=[_.rootRequestRef,_.prGroupRef,_.leafTaskRef,_.repository.repoRef,_.repository.worktreeRef,_.repository.branchRef,_.events.streamRef,..._.pullRequestRef?[_.pullRequestRef]:[]],S=(T,F,M,q)=>{let x=new Set(F.map((D_)=>D_.role)),l=new Set;for(let[D_,I_]of T.entries()){if(!x.has(I_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} cannot preserve an unrecognized ${I_.role} role`,path:[...M,D_]});if(l.has(I_.role))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve exactly one canonical ref per role`,path:[...M,D_]});l.add(I_.role)}if(T.length!==F.length)$.addIssue({code:A.ZodIssueCode.custom,message:`${q} preservation refs must exactly equal the required canonical role set`,path:M});for(let D_ of F)if(!T.some((I_)=>H_(I_,D_)))$.addIssue({code:A.ZodIssueCode.custom,message:`${q} must preserve ${D_.role}`,path:M})};if(_.handoff&&!H_(_.handoff.nextWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next generation must be the current attempt writer generation",path:["handoff","nextWriterGenerationRef"]});if(_.handoff&&!H_(_.handoff.nextAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Handoff next attempt must be the current attempt",path:["handoff","nextAttemptRef"]});if(_.handoff)qU(_.handoff.stoppedWorkRunRef,_.workRunRef,$,["handoff","stoppedWorkRunRef"],"Handoff WorkRun rotation");if(_.recovery){if(_.recovery.successorAttemptNonce!==_.attempt.nonce)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor nonce must equal the current attempt nonce",path:["recovery","successorAttemptNonce"]});if(!H_(_.recovery.successorWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Recovery successor generation must equal the current writer generation",path:["recovery","successorWriterGenerationRef"]});qU(_.recovery.priorAttemptRef,_.attempt.ref,$,["recovery","priorAttemptRef"],"Recovery attempt rotation"),qU(_.recovery.priorWorkRunRef,_.workRunRef,$,["recovery","priorWorkRunRef"],"Recovery WorkRun rotation"),S(_.recovery.preservedStateRefs,[_.recovery.priorWorkRunRef,...W],["recovery","preservedStateRefs"],"Recovery")}if(_.cancellation&&!H_(_.cancellation.cancelledAttemptRef,_.attempt.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation must bind the current attempt",path:["cancellation","cancelledAttemptRef"]});if(_.cancellation)S(_.cancellation.preservedStateRefs,[_.workRunRef,_.attempt.ref,...W],["cancellation","preservedStateRefs"],"Cancellation");if(_.cancellation&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the cancellation and recovery snapshot",path:["recovery"]});if(_.handoff&&_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"A projection cannot be both the handoff and recovery snapshot",path:["recovery"]});if(_.cleanup&&!H_(_.cleanup.eligibility.eventCursorRef,_.events.replayCursorRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the current canonical replay cursor",path:["cleanup","eligibility","eventCursorRef"]});if(_.cleanup&&(!_.terminalDispositionRef||!H_(_.cleanup.eligibility.terminalDispositionRef,_.terminalDispositionRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact durable terminal owner fact",path:["cleanup","eligibility","terminalDispositionRef"]});if(_.cleanup&&!H_(_.cleanup.eligibility.writerLeaseRef,_.attempt.writerLeaseRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the exact writer lease being revoked",path:["cleanup","eligibility","writerLeaseRef"]});if(_.cleanup&&!H_(_.cleanup.eligibility.targetWorktreeRef,_.repository.worktreeRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup eligibility must bind the canonical worktree",path:["cleanup","eligibility","targetWorktreeRef"]});if(_.pullRequestRef){if(_.exactHead&&!H_(_.exactHead.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head proof must bind the canonical pull request ref",path:["exactHead","pullRequestRef"]});for(let[T,F]of _.reviews.entries())if(!H_(F.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Every review must bind the canonical pull request ref",path:["reviews",T,"pullRequestRef"]});if(_.merge&&!H_(_.merge.guard.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge guard must bind the canonical pull request ref",path:["merge","guard","pullRequestRef"]});if(_.merge?.outcome&&!H_(_.merge.outcome.pullRequestRef,_.pullRequestRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the canonical pull request ref",path:["merge","outcome","pullRequestRef"]})}else if(_.exactHead||_.reviews.length>0||_.merge)$.addIssue({code:A.ZodIssueCode.custom,message:"Review and merge state require a canonical pull request ref",path:["pullRequestRef"]});if(_.exactHead&&!N$(_.exactHead.localHead,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact local head must equal the canonical branch head",path:["exactHead","localHead"]});if(_.exactHead&&!N$(_.exactHead.expectedBase,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head expected base must equal the canonical repository base",path:["exactHead","expectedBase"]});if(_.exactHead&&!H_(_.exactHead.remoteBranchRef,_.repository.branchRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head remote branch ref must equal the canonical repository branch ref",path:["exactHead","remoteBranchRef"]});if(_.exactHead&&Date.parse(_.exactHead.verifiedAt)0&&!_.exactHead)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviews require local/remote/provider exact-head proof",path:["exactHead"]});if(_.exactHead){let T=[{ref:_.exactHead.equalityProofRef,path:["exactHead","equalityProofRef"]},..._.exactHead.ciProofBundleRefs.map((q,x)=>({ref:q,path:["exactHead","ciProofBundleRefs",x]})),..._.reviews.map((q,x)=>({ref:q.proofBundleRef,path:["reviews",x,"proofBundleRef"]}))],F=new Set,M=new Set;for(let q of T){let x=d2(q.ref);if(F.has(x))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical identities",path:q.path});if(F.add(x),M.has(q.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Exact-head equality, CI, and review proof obligations require globally unique canonical digests",path:q.path});M.add(q.ref.digest)}}let L=new Set,X=new Set,z=new Set,Y=new Set,P=new Set,O=new Set,R=new Set,Q=new Set;for(let[T,F]of _.reviews.entries()){if(!N$(F.base,_.repository.baseHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review base must equal the exact canonical pull-request base",path:["reviews",T,"base"]});if(!N$(F.head,_.repository.branchHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Review head must equal the exact canonical branch head",path:["reviews",T,"head"]});for(let[q,x,l]of[[F.ref.id,L,"ref"],[F.reviewerRef.id,z,"reviewerRef"],[F.reviewRunRef.id,P,"reviewRunRef"]]){if(x.has(q))$.addIssue({code:A.ZodIssueCode.custom,message:"Review, reviewer, and review-run refs must each be unique",path:["reviews",T,l]});x.add(q)}if(X.has(F.ref.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review refs must resolve to distinct canonical record digests",path:["reviews",T,"ref"]});if(X.add(F.ref.digest),Y.has(F.reviewerRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewer refs must resolve to distinct canonical actor digests",path:["reviews",T,"reviewerRef"]});if(Y.add(F.reviewerRef.digest),O.has(F.reviewRunRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review-run refs must resolve to distinct canonical run digests",path:["reviews",T,"reviewRunRef"]});O.add(F.reviewRunRef.digest);let M=d2(F.proofBundleRef);if(R.has(M))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical identities",path:["reviews",T,"proofBundleRef"]});if(R.add(M),Q.has(F.proofBundleRef.digest))$.addIssue({code:A.ZodIssueCode.custom,message:"Review proof bundles must have unique canonical digests",path:["reviews",T,"proofBundleRef"]});if(Q.add(F.proofBundleRef.digest),F.reviewerRef.digest===_.attempt.workerRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker and reviewer identities must resolve to distinct canonical digests",path:["reviews",T,"reviewerRef"]});if(F.reviewRunRef.digest===_.attempt.runtimeRef.digest)$.addIssue({code:A.ZodIssueCode.custom,message:"Worker runtime and review run must resolve to distinct canonical digests",path:["reviews",T,"reviewRunRef"]});if(_.exactHead&&Date.parse(F.reviewedAt)Date.parse(_.merge.guard.evaluatedAt)T.verdict!=="approved"))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards require at least one review and all reviews approved",path:["merge","guard","decision"]});if(_.merge.guard.reviewRefs.length!==_.reviews.length||_.merge.guard.reviewRefs.some((T)=>!_.reviews.some((F)=>H_(T,F.ref))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guard review refs must exactly equal the projected approved review refs as a canonical set",path:["merge","guard","reviewRefs"]});for(let T of _.reviews)if(!_.merge.guard.proofBundleRefs.some((F)=>H_(F,T.proofBundleRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact review proof bundle",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&!_.merge.guard.proofBundleRefs.some((T)=>H_(T,_.exactHead.equalityProofRef)))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind the exact-head equality proof",path:["merge","guard","proofBundleRefs"]});if(_.exactHead&&_.exactHead.ciProofBundleRefs.some((T)=>!_.merge.guard.proofBundleRefs.some((F)=>H_(F,T))))$.addIssue({code:A.ZodIssueCode.custom,message:"Eligible merge guards must bind every exact-head CI proof",path:["merge","guard","proofBundleRefs"]})}}if(_.merge?.outcome){if(!H_(_.merge.outcome.guardRef,_.merge.guard.ref))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome must bind the exact immutable merge guard",path:["merge","outcome","guardRef"]});if(!N$(_.merge.outcome.expectedHead,_.merge.guard.expectedHead))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected head must equal the guarded expected head",path:["merge","outcome","expectedHead"]});if(!N$(_.merge.outcome.expectedBase,_.merge.guard.expectedBase))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge outcome expected base must equal the guarded expected base",path:["merge","outcome","expectedBase"]});if(_.merge.guard.decision!=="consumed")$.addIssue({code:A.ZodIssueCode.custom,message:"Every merge outcome requires an explicitly consumed merge guard",path:["merge","guard","decision"]});if(Date.parse(_.merge.outcome.finishedAt)0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry review bindings before review authority is active`,path:["reviews"]});if((ZQ.has(_.state)||_.state==="recovering")&&(_.merge?.guard.reviewRefs.length??0)>0)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot hide review bindings in a merge guard before review authority is active`,path:["merge","guard","reviewRefs"]});let V=_.merge?`${_.merge.guard.decision}:${_.merge.outcome?.status??"none"}`:"absent";if(!vv[_.state].has(V))$.addIssue({code:A.ZodIssueCode.custom,message:`State ${_.state} is incompatible with merge authority ${V}`,path:["merge"]});if(HQ.has(_.state)&&!_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections require a durable Todos terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(!HQ.has(_.state)&&_.terminalDispositionRef)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.state} projections cannot carry a terminal-disposition owner ref`,path:["terminalDispositionRef"]});if(_.state==="reviewing"&&_.reviews.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Reviewing projections require review refs",path:["reviews"]});if(_.state==="cancelled"&&!_.cancellation)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancelled projections require preservation state",path:["cancellation"]});if(_.cancellation&&_.merge?.outcome)$.addIssue({code:A.ZodIssueCode.custom,message:"Cancellation cannot coexist with a terminal merge outcome",path:["cancellation"]});if(_.state==="recovering"&&!_.recovery)$.addIssue({code:A.ZodIssueCode.custom,message:"Recovering projections require recovery state",path:["recovery"]});if(_.state==="repairing"&&_.repair.cycle===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Repairing projections require a non-zero repair cycle",path:["repair","cycle"]});if(_.merge&&(_.merge.guard.decision==="eligible"||_.merge.guard.decision==="consumed")&&!H_(_.attempt.admissionWriterGenerationRef,_.attempt.writerGenerationRef))$.addIssue({code:A.ZodIssueCode.custom,message:"Merge eligibility requires admission from the current writer generation",path:["attempt","admissionWriterGenerationRef"]});if(_.state==="merge_ready"&&_.merge?.guard.decision!=="eligible")$.addIssue({code:A.ZodIssueCode.custom,message:"Merge-ready projections require an eligible guard",path:["merge"]});if(_.state==="merged"&&_.merge?.outcome?.status!=="merged")$.addIssue({code:A.ZodIssueCode.custom,message:"Merged projections require a merged immutable outcome",path:["merge"]});if(_.state==="closed_unmerged"&&!_.merge?.outcome?.status.match(/^(closed_unmerged|refused|head_drift|base_drift)$/))$.addIssue({code:A.ZodIssueCode.custom,message:"Closed-unmerged projections require a non-merged terminal outcome",path:["merge"]});if(_.state==="cleanup_complete"&&(!_.cleanup?.outcome||!["deleted","preserved","skipped"].includes(_.cleanup.outcome.status)))$.addIssue({code:A.ZodIssueCode.custom,message:"Cleanup-complete projections require an immutable cleanup outcome",path:["cleanup"]});if(_.state==="rolled_back"&&_.rollback?.outcome?.status!=="succeeded")$.addIssue({code:A.ZodIssueCode.custom,message:"Rolled-back projections require a successful rollback outcome",path:["rollback"]});if((_.state==="failed"||_.state==="blocked")&&_.evidenceRefs.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Failed and blocked projections require redacted evidence refs",path:["evidenceRefs"]});if(["admitted","running","handed_off","reviewing","repairing","merge_ready","recovering"].includes(_.state)&&(_.merge?.outcome||_.cancellation||_.cleanup?.outcome||_.rollback?.outcome))$.addIssue({code:A.ZodIssueCode.custom,message:"Non-terminal projections cannot carry terminal owner outcomes",path:["state"]});let G=new Set;for(let[T,F]of _.adapterExtensions.entries()){let M=`${F.mode}:${F.schema}`;if(G.has(M))$.addIssue({code:A.ZodIssueCode.custom,message:"Adapter extensions must be unique per local/cloud mode and schema",path:["adapterExtensions",T]});G.add(M)}});var xv=A.object({id:A.string().min(1),at:q_,kind:A.enum(["message","tool_call","command","file_change","error","test","decision","verification","status","other"]),summary:A.string().min(1),resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([]),costEstimate:p1.optional()}).strict(),yv=z_(h.agentTrajectory).extend({actor:I6,workRunRef:__.optional(),events:A.array(xv).default([]),outcome:A.enum(["succeeded","failed","cancelled","blocked","unknown"]).default("unknown"),proofBundleRef:__.optional()}).strict(),uv="v1",hv=A.enum(["library","cli-with-store","service","saas"]),rv=["user-hosted","hasna-saas"],cv=A.enum(rv),mv=["api","sdk","mcp","cli"],NG=A.enum(mv),nv=A.enum(["supported","deferred","unsupported"]),dv=A.enum(["none","local-only","api-key","session","service-token","custom"]),Z3=A.object({method:A.enum(["GET","POST","PUT","PATCH","DELETE"]),path:A.string().regex(/^\/[A-Za-z0-9_./:*-]*$/,"Endpoint paths must be absolute HTTP paths"),public:A.boolean().default(!1),description:A.string().min(1).optional()}).strict(),lv=A.object({id:A.string().min(1),kind:A.enum(["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]),required:A.boolean().default(!0),command:A.string().min(1).optional(),evidenceRef:K_.optional(),status:A.enum(["pending","passed","failed","blocked","deferred"]).default("pending"),summary:A.string().min(1).optional()}).strict().superRefine((_,$)=>{if((_.status==="passed"||_.status==="failed"||_.status==="blocked")&&!_.command&&!_.evidenceRef&&!_.summary)$.addIssue({code:A.ZodIssueCode.custom,message:"Terminal readiness gates require command, evidenceRef, or summary",path:["status"]})}),iv=A.object({name:A.string().min(1),kind:NG.optional(),status:nv,bin:A.string().min(1).optional(),mcpBin:A.string().min(1).optional(),authMode:dv,health:Z3.optional(),readiness:Z3.optional(),version:Z3.optional(),apiBasePath:A.string().regex(/^\/v[0-9]+$/,"Stable API base path must be /vN").optional(),openApiPath:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/).optional(),exportSubpath:A.string().regex(/^\.(?:\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*)?$/,"SDK export subpaths must be package export keys such as . or ./sdk").optional(),generatedFrom:A.string().regex(/^\/[A-Za-z0-9_./:-]*$/,"SDK generatedFrom must reference an absolute OpenAPI path").optional(),clientClassName:A.string().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/).optional(),deferReason:A.string().min(1).optional(),readinessGates:A.array(lv).default([])}).strict().superRefine((_,$)=>{if(_.status==="supported"){if(!_.kind||_.kind==="api"){if(!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a serve bin",path:["bin"]});if(!_.health)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a health endpoint",path:["health"]});if(!_.readiness)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a readiness endpoint",path:["readiness"]});if(!_.version)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported API surfaces require a version endpoint",path:["version"]})}if(_.kind==="cli"&&!_.bin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported CLI surfaces require a bin",path:["bin"]});if(_.kind==="mcp"&&!_.mcpBin)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported MCP surfaces require an mcpBin",path:["mcpBin"]});if(_.kind==="sdk"&&!_.exportSubpath)$.addIssue({code:A.ZodIssueCode.custom,message:"Supported SDK surfaces require an exportSubpath",path:["exportSubpath"]})}if((_.status==="deferred"||_.status==="unsupported")&&!_.deferReason)$.addIssue({code:A.ZodIssueCode.custom,message:"Deferred or unsupported service surfaces require a deferReason",path:["deferReason"]});if(_.health&&_.health.path!=="/health")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must be /health",path:["health","path"]});if(_.health&&_.health.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Health endpoint must use GET",path:["health","method"]});if(_.readiness&&_.readiness.path!=="/ready")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must be /ready",path:["readiness","path"]});if(_.readiness&&_.readiness.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Readiness endpoint must use GET",path:["readiness","method"]});if(_.version&&_.version.path!=="/version")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must be /version",path:["version","path"]});if(_.version&&_.version.method!=="GET")$.addIssue({code:A.ZodIssueCode.custom,message:"Version endpoint must use GET",path:["version","method"]})}),tv=["sqlite","postgres"],jG=A.enum(tv),IG=["sqlite","postgres"],ov=A.enum(IG),C3=["postgres"],pv=A.object({kind:NG,reason:A.string().trim().min(1)}).strict(),c3=500,m3=200,l2=(_)=>A.string().trim().min(1).max(_).regex(/^[^\u0000-\u001f\u007f]+$/,"Waiver text must not contain control characters"),av=["domain","host","ip","email"],ev=A.object({kind:A.enum(av),reason:l2(c3),reviewedBy:l2(m3),expiresAt:q_}).strict(),sv=A.object({engine:A.enum(C3),reason:l2(c3),reviewedBy:l2(m3).optional(),expiresAt:q_.optional()}).strict();function _f(_){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 $f=A.object({conformance:A.object({waivedSurfaces:A.array(pv).default([]),waiverProfile:A.literal("non-node-monorepo").optional(),waivedStorageEngines:A.array(sv).default([]),waivedAssetInventories:A.array(ev).default([])}).catchall(A.unknown()).optional(),release:A.object({artifactScan:A.object({script:A.string().trim().min(1)}).strict().optional()}).catchall(A.unknown()).optional()}).catchall(A.unknown()),Uf=A.string().regex(/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/,"App names must be lowercase dashed identifiers"),Df=["","-cli","-mcp","-serve","-worker","-runner","-daemon","-migrate","-doctor"];function Nf(_){return Df.map(($)=>`${_}${$}`)}function qQ(_){return`hasna/oss/${_}/database-url`}var jf=A.object({mode:jG,engines:A.array(ov).min(1).optional(),envPrefix:A.string().regex(/^HASNA_[A-Z][A-Z0-9]*_$/).optional(),aliasEnvPrefix:A.string().regex(/^[A-Z][A-Z0-9]*_$/).optional(),databaseUrlSecretRef:A.string().regex(/^hasna\/oss\/[a-z0-9-]+\/database-url$/).optional(),sqlitePath:A.string().min(1).endsWith(".db","storage.sqlitePath must end in .db").optional(),pgTestGate:A.object({envVar:A.string().regex(/^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$/),command:A.string().trim().min(1)}).strict().optional()}).strict().superRefine((_,$)=>{if(_.engines&&new Set(_.engines).size!==_.engines.length)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines must not contain duplicates",path:["engines"]});if(_.engines?.includes("postgres")&&!_.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"storage.engines containing postgres requires envPrefix for the HASNA__DATABASE_URL contract",path:["envPrefix"]})}),EG=A.enum(["0600"]),AG=A.enum(["0700"]),JG=A.enum([".hasna",".codewith"]),If=A.enum(["directory","file","sqlite_db","sqlite_wal","sqlite_shm","backup","export","report","tmp","log","session","snapshot"]),gU=Z$.refine((_)=>!_.startsWith("~"),"Local store path patterns must be relative to their declared root"),Ef=A.object({id:A.string().min(1),source:A.enum(["sqlite","manifest","index","runtime","package_adapter"]),table:A.string().min(1).optional(),column:A.string().min(1).optional(),description:A.string().min(1),required:A.boolean().default(!0)}).strict(),Af=A.object({safeWhen:A.enum(["exclusive_access","offline_only","never"]),operations:A.array(A.enum(["wal_checkpoint_truncate","incremental_vacuum","optimize","vacuum"])).default([])}).strict().superRefine((_,$)=>{if(_.safeWhen==="never"&&_.operations.length>0)$.addIssue({code:A.ZodIssueCode.custom,message:"sqliteMaintenance.safeWhen=never cannot declare operations",path:["operations"]})}),Jf=A.object({id:A.string().min(1),description:A.string().min(1),ttlDays:A.number().int().nonnegative().optional(),artifactClasses:A.array(If).min(1),allowlistGlobs:A.array(gU).min(1),activeRecordExclusions:A.array(Ef).default([]),sqliteMaintenance:Af.optional()}).strict(),Wf=A.object({storeId:A.string().regex(/^[a-z][a-z0-9-]*$/),packageName:A.string().min(1),displayName:A.string().min(1),root:JG,relativePath:gU,directoryMode:AG.default("0700"),fileMode:EG.default("0600"),sqliteDatabaseGlobs:A.array(gU).default([]),sensitiveFileGlobs:A.array(gU).default([]),backupGlobs:A.array(gU).default([]),exportGlobs:A.array(gU).default([]),retentionAdapters:A.array(Jf).default([]),notes:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{if(_.relativePath.includes("*"))$.addIssue({code:A.ZodIssueCode.custom,message:"store relativePath must be a concrete directory; use glob fields for files",path:["relativePath"]});let U=new Set;for(let[N,D]of _.retentionAdapters.entries()){if(U.has(D.id))$.addIssue({code:A.ZodIssueCode.custom,message:"retention adapter ids must be unique within a store",path:["retentionAdapters",N,"id"]});U.add(D.id)}}),WG=z_(h.secureLocalStorePolicy).extend({version:A.string().min(1),scope:A.array(JG).min(1),defaults:A.object({directoryMode:AG.default("0700"),fileMode:EG.default("0600"),dryRunDefault:A.literal(!0),requireExplicitApply:A.literal(!0),includeSqliteSidecars:A.literal(!0),redactedEvidenceOnly:A.literal(!0)}).strict(),stores:A.array(Wf).min(1),lifecycle:A.object({retentionDryRunDefault:A.literal(!0),requireActiveRecordExclusionProof:A.literal(!0),requireArtifactAllowlist:A.literal(!0),sqliteMaintenanceRequiresExclusiveAccess:A.literal(!0)}).strict(),warnings:A.array(A.string().min(1)).default([])}).strict().superRefine((_,$)=>{let U=new Set;for(let[N,D]of _.stores.entries()){if(U.has(D.storeId))$.addIssue({code:A.ZodIssueCode.custom,message:"store ids must be unique",path:["stores",N,"storeId"]});if(U.add(D.storeId),!_.scope.includes(D.root))$.addIssue({code:A.ZodIssueCode.custom,message:"store root must be listed in policy scope",path:["stores",N,"root"]})}}),Sf=A.object({$schema:A.string().min(1).optional(),schema:A.literal(h.serviceContract),name:Uf,class:hv,contractVersion:A.literal(uv),kitVersion:A.string().min(1),description:A.string().min(1).optional(),bins:A.array(A.string().min(1)).default([]),storage:jf.optional(),hosting:A.array(cv).min(1).default(["user-hosted"]),serviceSurfaces:A.array(iv).default([]),metadata:$f.optional()}).strict().superRefine((_,$)=>{if(new Set(_.hosting).size!==_.hosting.length)$.addIssue({code:A.ZodIssueCode.custom,message:"hosting must not contain duplicates",path:["hosting"]});let U=new Set(Nf(_.name)),N=new Set;for(let[W,S]of _.bins.entries()){if(N.has(S))$.addIssue({code:A.ZodIssueCode.custom,message:"Duplicate bin declaration",path:["bins",W]});if(N.add(S),!U.has(S))$.addIssue({code:A.ZodIssueCode.custom,message:`Bin "${S}" is not allowlisted for app "${_.name}"; allowed: ${[...U].join(", ")}`,path:["bins",W]})}let D=(W)=>N.has(`${_.name}${W}`);if(_.storage){let W=_.name.toUpperCase().replace(/-/g,"_");if(_.storage.envPrefix&&_.storage.envPrefix!==`HASNA_${W}_`)$.addIssue({code:A.ZodIssueCode.custom,message:`storage.envPrefix must be HASNA_${W}_`,path:["storage","envPrefix"]});if(_.storage.databaseUrlSecretRef&&_.storage.databaseUrlSecretRef!==qQ(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`storage.databaseUrlSecretRef must be ${qQ(_.name)}`,path:["storage","databaseUrlSecretRef"]})}if(_.class==="library"){if(_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not declare storage",path:["storage"]});if(D("-serve")||D("-mcp"))$.addIssue({code:A.ZodIssueCode.custom,message:"library repos must not ship a -serve or -mcp bin",path:["bins"]})}if(_.class==="cli-with-store"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"cli-with-store repos must declare storage",path:["storage"]});else{if(_.storage.mode==="sqlite"&&!_.storage.sqlitePath)$.addIssue({code:A.ZodIssueCode.custom,message:"sqlite cli-with-store storage requires sqlitePath (~/.hasna//.db)",path:["storage","sqlitePath"]});if(_.storage.engines){let W=new Set(_.storage.engines),S=_.metadata?.conformance?.waivedStorageEngines??[],L=_f({class:_.class,name:_.name,bins:_.bins,hosting:_.hosting,storageMode:_.storage.mode}),X=new Set(L?[]:S.map((Y)=>Y.engine)),z=IG.filter((Y)=>!W.has(Y)&&!X.has(Y));if(z.length>0){let Y=L&&S.length>0?`; declared waiver ignored: ${L}`:"";$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store storage.engines must declare both sqlite and postgres unless the engine carries a metadata.conformance.waivedStorageEngines waiver; missing: ${z.join(", ")}${Y}`,path:["storage","engines"]})}}}if(!N.has(_.name))$.addIssue({code:A.ZodIssueCode.custom,message:`cli-with-store repos must ship the "${_.name}" bin`,path:["bins"]})}if(_.class==="service"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare storage",path:["storage"]});else if(_.storage.engines&&(!_.storage.engines.includes("sqlite")||!_.storage.engines.includes("postgres")))$.addIssue({code:A.ZodIssueCode.custom,message:"service storage.engines must declare both sqlite and postgres",path:["storage","engines"]});if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`service repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"service repos must declare at least one service surface",path:["serviceSurfaces"]})}if(_.class==="saas"){if(!_.storage)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare storage",path:["storage"]});else{if(_.storage.mode!=="postgres")$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must use the postgres storage backend",path:["storage","mode"]});if(!_.storage.envPrefix)$.addIssue({code:A.ZodIssueCode.custom,message:"saas storage requires envPrefix for the public DATABASE_URL contract",path:["storage","envPrefix"]})}if(!D("-serve"))$.addIssue({code:A.ZodIssueCode.custom,message:`saas repos must ship the "${_.name}-serve" bin`,path:["bins"]});if(_.serviceSurfaces.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"saas repos must declare at least one service surface",path:["serviceSurfaces"]})}for(let[W,S]of _.serviceSurfaces.entries()){if(S.bin&&!N.has(S.bin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface bin "${S.bin}" must be declared in bins`,path:["serviceSurfaces",W,"bin"]});if(S.mcpBin&&!N.has(S.mcpBin))$.addIssue({code:A.ZodIssueCode.custom,message:`Service surface MCP bin "${S.mcpBin}" must be declared in bins`,path:["serviceSurfaces",W,"mcpBin"]})}let j=_.metadata?.conformance?.waivedSurfaces??[],I=new Set;for(let[W,S]of j.entries()){if(I.has(S.kind))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate conformance waiver for ${S.kind}`,path:["metadata","conformance","waivedSurfaces",W,"kind"]});I.add(S.kind)}let E=_.metadata?.conformance?.waivedStorageEngines??[],J=new Set;for(let[W,S]of E.entries()){if(J.has(S.engine))$.addIssue({code:A.ZodIssueCode.custom,message:`Duplicate storage-engine waiver for ${S.engine}`,path:["metadata","conformance","waivedStorageEngines",W,"engine"]});J.add(S.engine)}}),Ni=A.object({status:A.enum(["ok","degraded","unavailable"]),version:A.string().min(1),mode:jG}).strict(),ji=A.object({ready:A.boolean(),reason:A.string().min(1).optional()}).strict(),Ii=A.object({version:A.string().min(1)}).strict(),Lf=A.enum(["info","notice","breaking","critical"]),Pf=A.string().regex(/^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*){1,3}$/,"Comms event types must be 2-4 lowercase dot-separated segments (..)"),Of=["FREEZE","UNFREEZE","BREAKING","CUTOVER","POLICY","RELEASE"],zf=A.enum(Of);var Xf=A.enum(["fleet","package","machine"]),SG=z_(h.commsEventEnvelope).extend({type:Pf,severity:Lf,scope:Xf,summary:A.string().min(1).optional(),source:I6.optional(),affected_packages:A.array(a).default([]),affected_machines:A.array(a).default([]),action_required:A.boolean().default(!1),ack_by:q_.optional(),dedupe_key:a,resourceRefs:A.array(__).default([]),evidenceRefs:A.array(K_).default([])}).strict().superRefine((_,$)=>{if(_.scope==="package"&&_.affected_packages.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Package-scoped comms events require affected_packages",path:["affected_packages"]});if(_.scope==="machine"&&_.affected_machines.length===0)$.addIssue({code:A.ZodIssueCode.custom,message:"Machine-scoped comms events require affected_machines",path:["affected_machines"]});if(_.ack_by&&!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:"Comms events with an ack_by deadline require action_required",path:["action_required"]});if(_.type==="fleet.freeze"||_.type==="fleet.unfreeze"){if(_.severity!=="critical")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always critical`,path:["severity"]});if(_.scope!=="fleet")$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events are always fleet-scoped`,path:["scope"]});if(!_.action_required)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.type} events require action_required`,path:["action_required"]})}}),Rf=A.enum(["fleet","package","product","loop-lane","initiative","personal"]),Yf=A.enum(["quiet","work","firehose"]),Qf=a.refine((_)=>/^(?:\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z)?|gate:[0-9a-f][0-9a-f-]{7,35})$/.test(_),"until must be an ISO date (YYYY-MM-DD), a UTC timestamp, or a gate id (gate:)"),Gf=z_(h.commsChannelMetadata).extend({class:Rf,noise:Yf.optional(),owner:a.optional(),until:Qf.optional(),successor:a.optional()}).strict().superRefine((_,$)=>{if(_.class==="initiative"){if(!_.owner)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an owner",path:["owner"]});if(!_.until)$.addIssue({code:A.ZodIssueCode.custom,message:"Initiative channels require an until horizon (date or gate id)",path:["until"]})}}),kQ={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}},Tf=z_(h.commsMessageMetadata).extend({tag:zf,envelope:SG}).strict().superRefine((_,$)=>{let U=kQ[_.tag];if(!U.allowedSeverities.includes(_.envelope.severity))$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts allow severities ${U.allowedSeverities.join(", ")}`,path:["envelope","severity"]});if(U.requiredEventType&&_.envelope.type!==U.requiredEventType)$.addIssue({code:A.ZodIssueCode.custom,message:`[${_.tag}] posts require event type ${U.requiredEventType}`,path:["envelope","type"]});for(let[N,D]of Object.entries(kQ))if(D.requiredEventType===_.envelope.type&&_.tag!==N)$.addIssue({code:A.ZodIssueCode.custom,message:`${_.envelope.type} events must use the [${N}] tag`,path:["tag"]})});var Bf={[h.actorRef]:iC,[h.resourceRef]:tC,[h.evidenceRef]:pC,[h.workRun]:Iv,[h.taskToPrProjection]:fv,[h.decisionEnvelope]:lQ,[h.costEstimate]:p1,[h.capabilityCard]:eC,[h.providerLiveModeStandard]:Nw,[h.contextPack]:iQ,[h.integrationRef]:tQ,[h.projectManifest]:Jw,[h.projectPanel]:oQ,[h.projectSnapshot]:Qw,[h.renderManifest]:Pw,[h.agentTrajectory]:yv,[h.validationPlan]:Gw,[h.proofBundle]:jv,[h.scaffoldManifest]:gw,[h.scaffoldInstallRecord]:Hw,[h.appCloudManifest]:eQ,[h.noCloudEvidencePack]:Dv,[h.secureLocalStorePolicy]:WG,[h.serviceContract]:Sf,[h.commsEventEnvelope]:SG,[h.commsChannelMetadata]:Gf,[h.commsMessageMetadata]:Tf,[h.app]:xw,[h.release]:uw,[h.rolloutRecord]:cw,[h.announcement]:lw,[h.audience]:ew};class LG extends Error{schemaId;issues;constructor(_,$){super(`Contract validation failed for ${_}`);this.name="ContractValidationError",this.schemaId=_,this.issues=$}}function PG(_,$){let N=Bf[_].safeParse($);if(!N.success)throw new LG(_,N.error.issues);return N.data}var Ei=String.raw`(?:^|[^\w$])(?:_*(?:import|require)|createRequire|Module\s*\.\s*_load)`;var n3=[{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"}],Ai=n3.filter((_)=>("checkKind"in _)),Vf=n3.filter((_)=>_.kind==="module"),Ji=[...new Set([...c2,...Vf.map((_)=>_.pattern)])],Wi=n3.filter((_)=>_.kind==="config");var bQ="^[^\\u0000-\\u001f\\u007f]*$",Si={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://github.com/hasna/contracts/schema/hasna.service_contract.v1.json",title:"Hasna Service Contract v1",description:"Repo self-description (hasna.contract.json) for the Hasna Service Contract v1. Hosting story, product surfaces, and storage capabilities are separate declarations; the storage backend (sqlite | postgres) is the only runtime switch.",type:"object",additionalProperties:!1,required:["schema","name","class","contractVersion","kitVersion"],allOf:[{if:{required:["class"],properties:{class:{const:"saas"}}},then:{required:["storage"],properties:{storage:{required:["mode","envPrefix"],properties:{mode:{const:"postgres"}}}}}}],properties:{$schema:{type:"string",description:"Optional editor hint pointing at this JSON Schema."},schema:{const:h.serviceContract},name:{type:"string",pattern:"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",description:"Lowercase dashed app short-name, e.g. todos, mailery, loops."},class:{enum:["library","cli-with-store","service","saas"]},contractVersion:{const:"v1"},kitVersion:{type:"string",minLength:1,description:"Version of @hasna/contracts (the contract kit) the repo tracks."},description:{type:"string",minLength:1},bins:{type:"array",items:{type:"string",minLength:1},description:"Declared bins. Allowlisted: , -cli, -mcp, -serve, -worker, -runner, -daemon, -migrate, -doctor."},hosting:{type:"array",items:{enum:["user-hosted","hasna-saas"]},minItems:1,uniqueItems:!0,description:"Customer-facing product stories. Public OSS cores include user-hosted; add hasna-saas only when a managed control plane exists."},serviceSurfaces:{type:"array",items:{type:"object",additionalProperties:!1,required:["name","status","authMode"],allOf:[{if:{required:["status"],properties:{status:{const:"supported"},kind:{const:"api"}}},then:{required:["bin","health","readiness","version"]}}],properties:{name:{type:"string",minLength:1},kind:{enum:["api","sdk","mcp","cli"]},status:{enum:["supported","deferred","unsupported"]},bin:{type:"string",minLength:1},mcpBin:{type:"string",minLength:1},authMode:{enum:["none","local-only","api-key","session","service-token","custom"]},health:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},readiness:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},version:{type:"object",additionalProperties:!1,required:["method","path"],properties:{method:{const:"GET"},path:{type:"string",pattern:"^/[A-Za-z0-9_./:*-]*$"},public:{type:"boolean"},description:{type:"string",minLength:1}}},apiBasePath:{type:"string",pattern:"^/v[0-9]+$"},openApiPath:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$"},exportSubpath:{type:"string",pattern:"^\\.(?:\\/[A-Za-z0-9_.-]+(?:\\/[A-Za-z0-9_.-]+)*)?$",description:"SDK package export key such as . or ./sdk."},generatedFrom:{type:"string",pattern:"^/[A-Za-z0-9_./:-]*$",description:"OpenAPI path used to generate the SDK."},clientClassName:{type:"string",pattern:"^[A-Za-z_$][A-Za-z0-9_$]*$"},deferReason:{type:"string",minLength:1},readinessGates:{type:"array",items:{type:"object",additionalProperties:!1,required:["id","kind"],properties:{id:{type:"string",minLength:1},kind:{enum:["auth","storage","secret-ref","migration","health","readiness","redaction","smoke","operator","other"]},required:{type:"boolean"},command:{type:"string",minLength:1},evidenceRef:{type:"object"},status:{enum:["pending","passed","failed","blocked","deferred"]},summary:{type:"string",minLength:1}}}}}},description:"Declared API, SDK, MCP, and CLI product surfaces. Legacy entries without kind remain parseable; new manifests declare kind explicitly."},storage:{type:"object",additionalProperties:!1,required:["mode"],properties:{mode:{enum:["sqlite","postgres"],description:"Active data backend. sqlite|postgres ONLY \u2014 the single runtime switch."},engines:{type:"array",items:{enum:["sqlite","postgres"]},minItems:1,uniqueItems:!0,description:"Supported storage engines; capability metadata independent of the active backend."},envPrefix:{type:"string",pattern:"^HASNA_[A-Z][A-Z0-9]*_$",description:"Primary env prefix, e.g. HASNA_TODOS_."},aliasEnvPrefix:{type:"string",pattern:"^[A-Z][A-Z0-9]*_$",description:"Optional short alias env prefix, e.g. TODOS_."},databaseUrlSecretRef:{type:"string",pattern:"^hasna/oss/[a-z0-9-]+/database-url$",description:"Legacy/private-tier database secret ref. Public conformance rejects this field."},sqlitePath:{type:"string",pattern:"\\.db$",description:"Local sqlite path (~/.hasna//.db)."},pgTestGate:{type:"object",additionalProperties:!1,required:["envVar","command"],properties:{envVar:{type:"string",pattern:"^[A-Z][A-Z0-9_]*_TEST_DATABASE_URL$"},command:{type:"string",minLength:1}},description:"Environment-gated live PostgreSQL test command."}}},metadata:{type:"object",additionalProperties:!0,properties:{conformance:{type:"object",additionalProperties:!0,properties:{waiverProfile:{const:"non-node-monorepo",description:"Explicit surface-waiver eligibility for exceptional non-Node monorepos. Libraries are eligible for API/MCP waivers without this profile."},waivedSurfaces:{type:"array",uniqueItems:!0,items:{type:"object",additionalProperties:!1,required:["kind","reason"],properties:{kind:{enum:["api","sdk","mcp","cli"]},reason:{type:"string",minLength:1}}}},waivedStorageEngines:{type:"array",uniqueItems:!0,maxItems:C3.length,items:{type:"object",additionalProperties:!1,required:["engine","reason"],properties:{engine:{enum:[...C3]},reason:{type:"string",minLength:1,maxLength:c3,allOf:[{pattern:"\\S"},{pattern:bQ}]},reviewedBy:{type:"string",minLength:1,maxLength:m3,allOf:[{pattern:"\\S"},{pattern:bQ}]},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 Ff="2026-07-06";function D6(_,$,U,N,D,j=[],I){return{id:_,description:$,ttlDays:U,artifactClasses:N,allowlistGlobs:D,activeRecordExclusions:j.map((E)=>({...E,required:E.required??!0})),sqliteMaintenance:I}}var Li=WG.parse({schema:h.secureLocalStorePolicy,id:"hasna-secure-local-store-defaults",createdAt:"2026-07-06T00:00:00.000Z",version:Ff,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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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:[D6("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 Kf=64,Pi=new RegExp(`^[A-Za-z0-9][A-Za-z0-9._-]{0,${Kf-1}}$`),KU="[0-9a-fA-F]",Oi=new RegExp(`^\\{?(?:${KU}{8}-${KU}{4}-${KU}{4}-${KU}{4}-${KU}{12}|${KU}{32})\\}?$`);var Mf=/^hasna_([a-z][a-z0-9-]*)_([A-Za-z0-9_-]+)\.([A-Za-z0-9_-]+)$/;var zi=new RegExp(Mf.source.replace(/^\^/,"\\b").replace(/\$$/,"\\b"));var OG="@hasna/knowledge";function gf(_){if(!Number.isFinite(_??0))return 20;return Math.max(1,Math.min(100,Math.trunc(_??20)))}function Zf(_){return _.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"project"}function a1(_,$=180){let U=String(_??"").replace(/\s+/g," ").trim();if(U.length<=$)return U;return`${U.slice(0,Math.max(0,$-3))}...`}function h_(_,$=""){return typeof _==="string"&&_.length>0?_:$}function e1(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function lU(_){if(typeof _!=="string"||_.length===0)return;let $=_.includes("T")?_:`${_.replace(" ","T")}Z`,U=new Date($);return Number.isNaN(U.valueOf())?void 0:U.toISOString()}function p2(_){return d$.safeParse(_).success}function l$(_,$,U,N,D=[]){return{kind:_,id:$,name:U,uri:N&&p2(N)?N:void 0,externalId:$,sourcePackage:OG,tags:D}}function Hf(_){return[..._.items.flatMap((U)=>[U.updated_at,U.created_at]),..._.sources.flatMap((U)=>[U.updated_at,U.created_at]),..._.chunks.map((U)=>U.created_at),..._.wiki_pages.flatMap((U)=>[U.updated_at,U.created_at]),..._.storage_objects.flatMap((U)=>[U.updated_at,U.created_at]),..._.runs.flatMap((U)=>[U.updated_at,U.created_at]),..._.reindex_queue.flatMap((U)=>[U.updated_at,U.created_at]),..._.sync_conflicts.map((U)=>U.created_at),..._.approval_gates.flatMap((U)=>[U.updated_at,U.created_at])].map(lU).filter(Boolean).sort((U,N)=>N.localeCompare(U))[0]}function qf(_){if(!_)return"unknown";let $=Date.now()-new Date(_).valueOf();if(!Number.isFinite($))return"unknown";return $>2592000000?"stale":"fresh"}function kf(_){let $=(U)=>{let N=String(U??"").toLowerCase();return N!==""&&!["done","complete","completed","resolved","succeeded","skipped"].includes(N)};return _.reindex_queue.filter((U)=>$(U.status)).length+_.sync_conflicts.filter((U)=>$(U.status)).length+_.approval_gates.filter((U)=>$(U.status)).length}function bf(_,$){let U=[];for(let N of _.items.slice(0,$))U.push({id:`item_${N.id}`,title:N.title,summary:a1(N.content_preview),status:N.archived?"archived":"active",priority:"medium",timestamp:lU(N.updated_at??N.created_at),resourceRefs:[l$("knowledge",N.id,N.title,`knowledge://item/${encodeURIComponent(N.id)}`,N.tags)],evidenceRefs:N.url&&p2(N.url)?[{id:`url_${N.id}`,kind:"url",uri:N.url,summary:"Source URL for this knowledge item."}]:[],metadata:{source:"legacy_store",archived:N.archived,tags:N.tags,url:N.url||void 0}});for(let N of _.sources.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,h_(N.uri,"source")),j=h_(N.title,h_(N.uri,D)),I=h_(N.uri,`knowledge://source/${encodeURIComponent(D)}`);U.push({id:`source_${D}`,title:j,summary:a1(`${e1(N.chunks)} chunk(s), ${e1(N.revisions)} revision(s)`),status:e1(N.chunks)>0?"indexed":"source",priority:"medium",timestamp:lU(N.updated_at??N.created_at),resourceRefs:[l$("document",D,j,I)],evidenceRefs:p2(I)?[{id:`source_${D}`,kind:"url",uri:I,summary:"Source reference."}]:[],metadata:{source:"knowledge_db.sources",kind:N.kind,chunks:e1(N.chunks),revisions:e1(N.revisions)}})}for(let N of _.chunks.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"chunk"),j=h_(N.source_uri);U.push({id:`chunk_${D}`,title:h_(N.wiki_title,j?`Chunk from ${j}`:`Knowledge chunk ${D}`),summary:a1(N.text_preview),status:"chunk",priority:"low",timestamp:lU(N.created_at),resourceRefs:[l$("context_pack",D,h_(N.wiki_title,D),`knowledge://chunk/${encodeURIComponent(D)}`)],evidenceRefs:j&&p2(j)?[{id:`chunk_source_${D}`,kind:"url",uri:j,summary:"Chunk source reference."}]:[],metadata:{source:"knowledge_db.chunks",source_uri:j||void 0,token_count:N.token_count,ordinal:N.ordinal}})}for(let N of _.sync_conflicts.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"sync_conflict");U.push({id:`sync_conflict_${D}`,title:`Sync conflict: ${h_(N.entity_kind,"entity")}/${h_(N.entity_id,D)}`,summary:a1(`Status ${h_(N.status,"unknown")}; strategy ${h_(N.resolution_strategy,"none")}.`),status:h_(N.status,"unknown"),priority:"critical",timestamp:lU(N.created_at),resourceRefs:[l$("finding",D,"Knowledge sync conflict",`knowledge://sync-conflict/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.sync_conflicts",local_machine_id:N.local_machine_id,remote_machine_id:N.remote_machine_id}})}for(let N of _.reindex_queue.slice(0,Math.max(0,$-U.length))){let D=h_(N.id,"reindex");U.push({id:`reindex_${D}`,title:`Reindex ${h_(N.kind,"item")}: ${h_(N.target_id,D)}`,summary:a1(N.reason),status:h_(N.status,"unknown"),priority:h_(N.status).toLowerCase()==="failed"?"high":"medium",timestamp:lU(N.updated_at??N.created_at),resourceRefs:[l$("action",D,"Knowledge reindex work item",`knowledge://reindex/${encodeURIComponent(D)}`)],metadata:{source:"knowledge_db.reindex_queue",attempts:N.attempts,source_uri:N.source_uri}})}return U.slice(0,$)}async function zG(_,$={}){let U=gf($.limit),N=new Date().toISOString(),D=Zf(_),I=await($.service??r2({scope:$.scope??"project",cwd:$.cwd})).resolveInventory({limit:U,storePath:$.storePath,includeArchived:$.includeArchived}),E=Hf(I),J=qf(E),W=I.summary.active_items+I.summary.sources+I.summary.chunks+I.summary.wiki_pages+I.summary.storage_objects,S=kf(I),L=W===0?"empty":J==="stale"?"stale":"ready",X=bf(I,U),z={schema:h.projectPanel,id:`knowledge_panel_${D}`,createdAt:N,projectId:D,provider:{kind:"knowledge",id:`knowledge_${D}`,name:"Knowledge",sourcePackage:OG,externalId:I.home},kind:"knowledge",title:"Knowledge",summary:L==="empty"?"No project knowledge items, sources, chunks, or wiki pages are available yet.":`${I.summary.active_items} active note(s), ${I.summary.sources} source(s), ${I.summary.chunks} chunk(s), and ${I.summary.wiki_pages} wiki page(s).`,state:L,stateReason:L==="stale"?"Latest indexed knowledge activity is older than 30 days.":void 0,generatedAt:N,freshness:J,metrics:[{id:"active_items",label:"Active notes",value:I.summary.active_items,status:I.summary.active_items>0?"good":"unknown"},{id:"sources",label:"Sources",value:I.summary.sources,status:I.summary.sources>0?"good":"unknown"},{id:"chunks",label:"Chunks",value:I.summary.chunks,status:I.summary.chunks>0?"good":"unknown"},{id:"wiki_pages",label:"Wiki pages",value:I.summary.wiki_pages,status:I.summary.wiki_pages>0?"good":"unknown"},{id:"artifacts",label:"Artifacts",value:I.summary.storage_objects,status:I.summary.storage_objects>0?"good":"unknown"},{id:"vector_entries",label:"Vector entries",value:I.summary.vector_entries,status:I.summary.vector_entries>0?"good":"unknown"},{id:"unresolved",label:"Unresolved",value:S,status:S>0?"warning":"good"}],items:X,actions:[l$("action","knowledge:inventory","Inspect knowledge inventory"),l$("action","knowledge:context-pack","Build cited context pack"),l$("action","knowledge:ingest","Ingest project source")],resourceRefs:[l$("project",D,_,`project://${D}`),l$("knowledge",`home_${D}`,"Knowledge workspace",`knowledge://workspace/${encodeURIComponent(D)}`),l$("artifact",`db_${D}`,"Knowledge database",`knowledge://db/${encodeURIComponent(D)}`)],renderFragment:{renderer:"json_render",title:"Knowledge",spec:{component:"project.knowledge.summary",metrics:["active_items","sources","chunks","wiki_pages","unresolved"],itemLimit:U}},metadata:{scope:I.scope,home:I.home,json_store_exists:I.paths.json_store_exists,latest_activity_at:E}};return PG(h.projectPanel,z)}function XG(_){let $=[`${_.title}: ${_.state}`,_.summary??"",..._.metrics.map((U)=>`${U.label}: ${U.value}`)].filter(Boolean);if(_.items.length>0){$.push("Items:");for(let U of _.items.slice(0,10))if($.push(`- ${U.title}${U.status?` [${U.status}]`:""}`),U.summary)$.push(` ${U.summary}`)}return $.join(` +`)}import{fstatSync as lf,readlinkSync as tf,readSync as of,writeSync as pf}from"fs";import{TextDecoder as af}from"util";import{createHash as YG,randomUUID as l3}from"crypto";var M_="FCAME-1",Cf="hasna.knowledge.private-input.v1";var wf="hasna.knowledge.private-query.v1",vf="hasna.knowledge.private-result.v1";var d3=Object.freeze({submission:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:1e4}),reconciliation:Object.freeze({max_calls:1,max_items:1,max_bytes:262144,wall_time_ms:5000}),readback:Object.freeze({max_calls:1,max_items:1,max_bytes:1048576,wall_time_ms:5000})}),a2=4194304,e2=30000,tU=3600000,QG=new WeakMap,ff=new WeakMap,GG=new WeakMap,TG=new WeakMap;function n_(_,$,U,N=U){if(!_||typeof _!=="object"||Array.isArray(_))throw Error(`${$} must be an object.`);let D=Object.keys(_),j=D.filter((E)=>!U.includes(E)),I=N.filter((E)=>!D.includes(E));if(j.length>0||I.length>0)throw Error(`${$} keys must match its FCAME-1 schema${j.length>0?`; unexpected: ${j.sort().join(",")}`:""}${I.length>0?`; missing: ${I.sort().join(",")}`:""}.`)}function A_(_,$,U=512){if(typeof _!=="string"||_.length===0||_.length>U||_.trim()!==_||/[\u0000-\u001f\u007f]/.test(_))throw Error(`${$} must be a non-empty, trimmed string without control characters.`)}function E6(_){if(n_(_,"binding",["authority","tenant_id","scope","parent_id"]),n_(_.authority,"binding.authority",["classification","authority_id"]),!["user_hosted","hasna_saas"].includes(_.authority.classification))throw Error("binding.authority.classification must be user_hosted or hasna_saas.");A_(_.authority.authority_id,"binding.authority.authority_id"),A_(_.tenant_id,"binding.tenant_id",64),A_(_.scope,"binding.scope"),A_(_.parent_id,"binding.parent_id")}function _E(_,$){if(!["create","update"].includes(_))throw Error("verb must be create or update.");if(_==="create"){if(n_($,"precondition",["kind"]),!$||$.kind!=="absent")throw Error("create requires the create-if-absent precondition.");return}if(n_($,"precondition",["kind","expected_version"]),!$||$.kind!=="version"||!Number.isInteger($.expected_version)||$.expected_version<1)throw Error("update requires a positive compare-and-swap expected_version.")}function BG(_){if(n_(_,"manifest",["manifest_id","ordinal","phase","compensates_receipt_id"]),A_(_.manifest_id,"manifest.manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("manifest.ordinal must be a non-negative integer.");if(!["primary","recovery"].includes(_.phase))throw Error("manifest.phase must be primary or recovery.");if(_.phase==="primary"&&_.compensates_receipt_id!==null)throw Error("a primary manifest step cannot compensate a receipt.");if(_.compensates_receipt_id!==null&&(typeof _.compensates_receipt_id!=="string"||!/^kwr_[0-9a-f]{64}$/.test(_.compensates_receipt_id)))throw Error("manifest.compensates_receipt_id must be null or an immutable guarded receipt id.")}function G$(_,$="limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(_.max_items!==1)throw Error(`${$}.max_items must be exactly 1.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>a2)throw Error(`${$}.max_bytes must be a positive integer no greater than ${a2}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>e2)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${e2}.`)}function VG(_,$="query limits"){if(n_(_,$,["max_calls","max_items","max_bytes","wall_time_ms"]),_.max_calls!==1)throw Error(`${$}.max_calls must be exactly 1.`);if(!Number.isInteger(_.max_items)||_.max_items<1||_.max_items>50)throw Error(`${$}.max_items must be an integer between 1 and 50.`);if(!Number.isInteger(_.max_bytes)||_.max_bytes<1||_.max_bytes>a2)throw Error(`${$}.max_bytes must be a positive integer no greater than ${a2}.`);if(!Number.isInteger(_.wall_time_ms)||_.wall_time_ms<1||_.wall_time_ms>e2)throw Error(`${$}.wall_time_ms must be a positive integer no greater than ${e2}.`)}function i3(_,$){if(n_(_,"query page",["limit","offset"]),!Number.isInteger(_.limit)||_.limit<1||_.limit>$.max_items)throw Error("query page.limit must be a positive integer no greater than limits.max_items.");if(!Number.isInteger(_.offset)||_.offset<0||_.offset>1e4)throw Error("query page.offset must be an integer between 0 and 10000.")}function xf(_){if(!_||typeof _!=="object"||Array.isArray(_))throw Error("private query selector must be an object.");switch(_.kind){case"exact_title":n_(_,"private query selector",["kind","title"]),A_(_.title,"private query selector.title",2048);return;case"lexical_overlap":case"semantic_overlap":n_(_,"private query selector",["kind","query"]),A_(_.query,"private query selector.query",4096);return;case"supersession":n_(_,"private query selector",["kind","supersedes_item_id"]),A_(_.supersedes_item_id,"private query selector.supersedes_item_id");return;case"current_version":n_(_,"private query selector",["kind","item_id"]),A_(_.item_id,"private query selector.item_id");return;case"historical_version":if(n_(_,"private query selector",["kind","item_id","version"]),A_(_.item_id,"private query selector.item_id"),!Number.isInteger(_.version)||_.version<1)throw Error("private query selector.version must be a positive integer.");return;case"canonical_pointer":n_(_,"private query selector",["kind","canonical_item_id"]),A_(_.canonical_item_id,"private query selector.canonical_item_id");return;default:throw Error("private query selector.kind is unsupported.")}}function $E(_={}){if(n_(_,"limits",["submission","reconciliation","readback"],[]),_.submission!==void 0)G$(_.submission,"limits.submission");if(_.reconciliation!==void 0)G$(_.reconciliation,"limits.reconciliation");if(_.readback!==void 0)G$(_.readback,"limits.readback");let $={submission:{...d3.submission,..._.submission},reconciliation:{...d3.reconciliation,..._.reconciliation},readback:{...d3.readback,..._.readback}};return G$($.submission,"limits.submission"),G$($.reconciliation,"limits.reconciliation"),G$($.readback,"limits.readback"),Object.freeze({submission:Object.freeze($.submission),reconciliation:Object.freeze($.reconciliation),readback:Object.freeze($.readback)})}function s2(_,$){if(_===null||typeof _==="string"||typeof _==="boolean")return _;if(typeof _==="number"){if(!Number.isFinite(_))throw Error(`${$} contains a non-finite number.`);return _}if(Array.isArray(_))return _.map((D,j)=>s2(D,`${$}[${j}]`));if(typeof _!=="object")throw Error(`${$} must contain only JSON values.`);let U=Object.getPrototypeOf(_);if(U!==Object.prototype&&U!==null)throw Error(`${$} must contain plain JSON objects.`);let N={};for(let D of Object.keys(_).sort()){let j=_[D];if(j===void 0)throw Error(`${$}.${D} must not be undefined.`);N[D]=s2(j,`${$}.${D}`)}return N}function t3(_){if(_!==null&&typeof _==="object"){for(let $ of Object.values(_))t3($);Object.freeze(_)}return _}function x_(_){return JSON.stringify(s2(_,"value"))}function y_(_){return YG("sha256").update(x_(_),"utf8").digest("hex")}function iU(_){if(typeof _!=="string")throw Error("content must be a string.");return YG("sha256").update(_,"utf8").digest("hex")}function o3(_){if(!["adopt","rollback"].includes(_.action))throw Error("adoption action must be adopt or rollback.");if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),!Number.isInteger(_.expected_version)||_.expected_version<1)throw Error("expected_version must be a positive integer.");if(!/^[0-9a-f]{64}$/.test(_.expected_content_sha256))throw Error("expected_content_sha256 must be a lowercase sha256 hex digest.");let $=_.adoption_receipt_id??null;if(_.action==="adopt"&&$!==null)throw Error("adopt must not reference an adoption receipt.");if(_.action==="rollback"&&(typeof $!=="string"||!/^kar_[0-9a-f]{64}$/.test($)))throw Error("rollback requires an immutable adoption receipt id.");return`fcame1_adoption_${y_({contract:M_,action:_.action,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:_.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:$})}`}function UE(_){if(E6(_.binding),A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),!/^[0-9a-f]{64}$/.test(_.payload_digest))throw Error("payload_digest must be a lowercase sha256 hex digest.");if(_E(_.verb,_.precondition),_.manifest)BG(_.manifest);return`fcame1_${y_({contract:M_,authority:_.binding.authority,tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest??null})}`}function yf(_){if(A_(_.manifest_id,"manifest_id"),!Number.isInteger(_.ordinal)||_.ordinal<0)throw Error("ordinal must be a non-negative integer.");if(!/^fcame1_[0-9a-f]{64}$/.test(_.step_deterministic_key))throw Error("step_deterministic_key must be an FCAME-1 deterministic key.");A_(_.operation_id,"recovery.operation_id"),A_(_.step_id,"recovery.step_id"),A_(_.target_id,"recovery.target_id"),E6(_.binding),_E(_.verb,_.precondition);let $=$E(_.limits);if(x_($)!==x_(_.limits))throw Error("recovery.limits must be explicit and complete.");if(!/^[0-9a-f]{64}$/.test(_.semantic_digest))throw Error("recovery.semantic_digest must be a lowercase sha256 hex digest.");if(!["forward_repair","receipt_scoped_compensation"].includes(_.strategy))throw Error("recovery.strategy must be forward_repair or receipt_scoped_compensation.");if(_.strategy==="receipt_scoped_compensation"&&_.receipt_scope!=="accepted_step_receipt"||_.strategy==="forward_repair"&&_.receipt_scope!==null)throw Error("receipt_scoped_compensation requires accepted_step_receipt; forward_repair requires null receipt_scope.");let U=uf(_.step_deterministic_key);if(_.strategy==="receipt_scoped_compensation"&&_.compensates_receipt_id!==U||_.strategy==="forward_repair"&&_.compensates_receipt_id!==null)throw Error("receipt-scoped compensation must bind the deterministic accepted-step receipt; forward repair must not bind one.");return UE({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.semantic_digest,precondition:_.precondition,manifest:{manifest_id:_.manifest_id,ordinal:_.ordinal,phase:"recovery",compensates_receipt_id:_.compensates_receipt_id}})}function uf(_){if(!/^fcame1_[0-9a-f]{64}$/.test(_))throw Error("deterministicKey must be an FCAME-1 write key.");return`kwr_${_.slice(7)}`}function hf(_,$){return E6(_),A_($,"operation_id"),`kmf_${y_({contract:M_,maintainer:_,operation_id:$})}`}function rf(_,$,U){if(n_($,`steps[${U}]`,["ordinal","operation_id","step_id","deterministic_key","verb","target_id","binding","semantic_digest","precondition","dependencies","limits","recovery"]),n_($.recovery,`steps[${U}].recovery`,["strategy","operation_id","step_id","deterministic_key","verb","target_id","semantic_digest","precondition","binding","limits","receipt_scope","compensates_receipt_id"]),$.ordinal!==U)throw Error(`manifest steps must be ordered contiguously from zero; expected ordinal ${U}.`);if(A_($.operation_id,`steps[${U}].operation_id`),A_($.step_id,`steps[${U}].step_id`),A_($.target_id,`steps[${U}].target_id`),E6($.binding),_E($.verb,$.precondition),!/^[0-9a-f]{64}$/.test($.semantic_digest))throw Error(`steps[${U}].semantic_digest must be a lowercase sha256 digest.`);let N=$E($.limits);if(x_(N)!==x_($.limits))throw Error(`steps[${U}].limits must be explicit and complete.`);let D=Array.from({length:U},(E,J)=>J);if(!Array.isArray($.dependencies)||x_($.dependencies)!==x_(D))throw Error(`steps[${U}].dependencies must name every prior ordinal in order.`);let j=UE({binding:$.binding,operation_id:$.operation_id,step_id:$.step_id,verb:$.verb,target_id:$.target_id,payload_digest:$.semantic_digest,precondition:$.precondition,manifest:{manifest_id:_,ordinal:$.ordinal,phase:"primary",compensates_receipt_id:null}});if($.deterministic_key!==j)throw Error(`steps[${U}].deterministic_key does not match its frozen tuple.`);let I=yf({manifest_id:_,ordinal:$.ordinal,step_deterministic_key:$.deterministic_key,strategy:$.recovery.strategy,operation_id:$.recovery.operation_id,step_id:$.recovery.step_id,verb:$.recovery.verb,target_id:$.recovery.target_id,semantic_digest:$.recovery.semantic_digest,precondition:$.recovery.precondition,binding:$.recovery.binding,limits:$.recovery.limits,receipt_scope:$.recovery.receipt_scope,compensates_receipt_id:$.recovery.compensates_receipt_id});if($.recovery.deterministic_key!==I)throw Error(`steps[${U}].recovery.deterministic_key does not match its frozen tuple.`)}function cf(_,$){E6(_),n_($,"manifest",["manifest_id","operation_id","steps"]),A_($.manifest_id,"manifest_id"),A_($.operation_id,"operation_id");let U=hf(_,$.operation_id);if($.manifest_id!==U)throw Error("manifest_id must be the deterministic FCAME-1 id for its maintainer and workflow operation.");if(!Array.isArray($.steps)||$.steps.length<2||$.steps.length>64)throw Error("a guarded workflow manifest must contain between 2 and 64 ordered steps.");let N=new Set,D=new Set;$.steps.forEach((j,I)=>{if(rf($.manifest_id,j,I),j.binding.tenant_id!==_.tenant_id||j.recovery.binding.tenant_id!==_.tenant_id)throw Error(`manifest step ${I} crosses tenants without an authority delegation contract.`);for(let E of[j,j.recovery]){let J=`${E.binding.authority.classification}\x00${E.binding.authority.authority_id}\x00${E.binding.tenant_id}\x00${E.binding.scope}\x00${E.binding.parent_id}\x00${E.operation_id}\x00${E.step_id}`;if(N.has(J))throw Error(`manifest step ${I} repeats an operation/step identity.`);if(N.add(J),D.has(E.deterministic_key))throw Error(`manifest step ${I} repeats a deterministic action key.`);D.add(E.deterministic_key)}})}function mf(_,$){return cf(_,$),y_({contract:M_,manifest_id:$.manifest_id,operation_id:$.operation_id,maintainer:_,steps:$.steps})}function FG(_,$){return`fcame1_manifest_${mf(_,$)}`}function nf(_,$){if(!$||typeof $!=="object"||Array.isArray($))throw Error("payload must be a JSON object.");if(s2($,"payload"),_==="create"){let N=$.title;if(typeof N!=="string"||N.trim().length===0)throw Error("create payload.title is required.")}let U=_==="create"?new Set(["title","content","url","tags","metadata"]):new Set(["title","content","url","tags","metadata","archived"]);for(let N of Object.keys($))if(!U.has(N))throw Error(`payload.${N} is not allowed for ${_}.`);if("title"in $&&$.title!==void 0)A_($.title,"payload.title",2048);if("content"in $&&$.content!==void 0&&typeof $.content!=="string")throw Error("payload.content must be a string.");if("url"in $&&$.url!==void 0&&$.url!==null&&(typeof $.url!=="string"||$.url.length>8192||/[\u0000-\u001f\u007f]/.test($.url)))throw Error("payload.url must be null or a string without control characters.");if("tags"in $&&$.tags!==void 0){if(!Array.isArray($.tags)||$.tags.length>256)throw Error("payload.tags must be an array of strings.");$.tags.forEach((N,D)=>A_(N,`payload.tags[${D}]`,256))}if("archived"in $&&$.archived!==void 0&&typeof $.archived!=="boolean")throw Error("payload.archived must be a boolean.");if("metadata"in $&&$.metadata!==void 0){if($.metadata===null||typeof $.metadata!=="object"||Array.isArray($.metadata))throw Error("payload.metadata must be a JSON object.")}if(_==="update"&&Object.keys($).length===0)throw Error("update payload must change at least one field.")}function KG(_){if(A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),A_(_.target_id,"target_id"),E6(_.binding),_E(_.verb,_.precondition),_.manifest)BG(_.manifest);nf(_.verb,_.payload);let $=_.expires_in_ms??300000;if(!Number.isInteger($)||$<1||$>tU)throw Error(`expires_in_ms must be between 1 and ${tU}.`);let U=t3(JSON.parse(x_(_.payload))),N=y_(U),D=y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:N,manifest:_.manifest??null}),j=new Date(Date.now()+$).toISOString(),I=Object.freeze({contract:M_,schema:Cf,descriptor_id:`kpv_${l3()}`,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:N,binding_digest:D,precondition:Object.freeze({..._.precondition}),binding:Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),manifest:_.manifest?Object.freeze({manifest_id:_.manifest.manifest_id,ordinal:_.manifest.ordinal,phase:_.manifest.phase,compensates_receipt_id:_.manifest.compensates_receipt_id}):null,expires_at:j}),E=Object.freeze({...I,toJSON:()=>I});return QG.set(E,{payload:U,revoked:!1}),E}function p3(_){let $=QG.get(_);if(!$)throw Error("private input descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private input descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private input descriptor has expired.");return $.payload}function MG(_){let $=ff.get(_);if(!$)throw Error("private title lookup descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private title lookup descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private title lookup descriptor has expired.");if(iU($.title)!==_.title_digest)throw Error("private title lookup descriptor digest changed after freeze.");return $.title}function gG(_){A_(_.operation_id,"operation_id"),A_(_.step_id,"step_id"),E6(_.binding),xf(_.selector);let $=_.archive??"active";if(!["active","archived","all"].includes($))throw Error("archive must be active, archived, or all.");let U=_.limit??10,N=_.offset??0;i3({limit:U,offset:N},{max_calls:1,max_items:50,max_bytes:1048576,wall_time_ms:1e4});let j=_.expires_in_ms??300000;if(!Number.isInteger(j)||j<1||j>tU)throw Error(`expires_in_ms must be between 1 and ${tU}.`);let I=t3(JSON.parse(x_(_.selector))),E=y_(I),J=Object.freeze({limit:U,offset:N}),W=Object.freeze({authority:Object.freeze({..._.binding.authority}),tenant_id:_.binding.tenant_id,scope:_.binding.scope,parent_id:_.binding.parent_id}),S=y_({binding:W,operation_id:_.operation_id,step_id:_.step_id,query_kind:I.kind,selector_digest:E,archive:$,page:J}),L=Object.freeze({contract:M_,schema:wf,operation_id:_.operation_id,step_id:_.step_id,query_kind:I.kind,selector_digest:E,binding_digest:S,binding:W,archive:$,page:J,expires_at:new Date(Date.now()+j).toISOString()}),X={...L,toJSON:()=>L};return Object.defineProperty(X,"descriptor_id",{value:`kpq_${l3()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(X),GG.set(X,{selector:I,revoked:!1}),X}function a3(_){let $=GG.get(_);if(!$)throw Error("private query descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private query descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private query descriptor has expired.");if(y_($.selector)!==_.selector_digest)throw Error("private query descriptor selector digest changed after freeze.");return $.selector}function RG(_){return Object.freeze({id:_.id,version:Number(_.version??1),title_sha256:iU(_.title),content_sha256:iU(_.content),url_sha256:_.url===null||_.url===void 0?null:iU(_.url),tags_sha256:y_(_.tags??[]),metadata_sha256:y_(_.metadata??{}),archived:_.archived===!0})}function s1(_,$=300000){if(!Number.isInteger($)||$<1||$>tU)throw Error(`expires_in_ms must be between 1 and ${tU}.`);let U=_.kind==="title_lookup"||_.kind==="query"?_.value.item_count:1,N=Object.freeze({contract:M_,schema:vf,kind:_.kind,result_digest:y_(_.value),item_count:U,expires_at:new Date(Date.now()+$).toISOString()}),D={...N,toJSON:()=>N};return Object.defineProperty(D,"descriptor_id",{value:`kpr_${l3()}`,enumerable:!1,configurable:!1,writable:!1}),Object.freeze(D),TG.set(D,{result:_,revoked:!1}),D}function _N(_){let $=TG.get(_);if(!$)throw Error("private result descriptor was not created by @hasna/knowledge.");if($.revoked)throw Error("private result descriptor has been revoked.");if(Date.parse(_.expires_at)<=Date.now())throw Error("private result descriptor has expired.");if(y_($.result.value)!==_.result_digest)throw Error("private result descriptor digest changed after freeze.");if($.result.kind==="write")return Object.freeze({kind:"write",item_count:1,items:Object.freeze([RG($.result.value.readback.item)]),deterministic_key:$.result.value.deterministic_key,receipt_id:$.result.value.receipt.receipt_id,duplicate:$.result.value.duplicate});if($.result.kind==="readback")return Object.freeze({kind:"readback",item_count:1,items:Object.freeze([RG($.result.value.item)])});if($.result.kind==="query")return Object.freeze({kind:"query",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items]),query_kind:$.result.value.query_kind,status:$.result.value.status,code:$.result.value.code,total:$.result.value.total,page:Object.freeze({...$.result.value.page})});return Object.freeze({kind:"title_lookup",item_count:$.result.value.item_count,items:Object.freeze([...$.result.value.items])})}function ZG(_,$){if(_.contract!==M_||_.deterministic_key!==$.deterministic_key||_.operation_id!==$.operation_id||_.step_id!==$.step_id||_.exact!==!0||_.bounded!==!0||_.receipt_count!==1||_.terminal_complete!==!0||_.receipt===null)throw Error("terminal_completeness_failed: exact bounded reconciliation did not yield one terminal receipt.");if(_.receipt.deterministic_key!==$.deterministic_key||_.receipt.operation_id!==$.operation_id||_.receipt.step_id!==$.step_id)throw Error("terminal_completeness_failed: receipt identity does not match the frozen operation.");return _.receipt}function T$(_){return Buffer.byteLength(JSON.stringify(_),"utf8")}class CG extends Error{receipt;reconciliation;code="guarded_write_rejected";constructor(_,$){super(`guarded_write_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedWriteRejectedError"}}class e3 extends Error{receipt;code="guarded_operation_conflict";constructor(_){super("guarded_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedOperationConflictError"}}class wG extends Error{code="private_title_lookup_ambiguous";constructor(){super("private_title_lookup_ambiguous: more than one exact title exists in the frozen binding.");this.name="KnowledgePrivateTitleLookupAmbiguousError"}}class Y0 extends Error{code="private_query_response_invalid";constructor(){super("private_query_response_invalid: the bounded private query response was unavailable or malformed.");this.name="KnowledgePrivateQueryResponseError"}}class UN extends Error{code="guarded_readback_response_invalid";constructor(){super("guarded_readback_response_invalid: the exact guarded readback was unavailable or malformed.");this.name="KnowledgeGuardedReadbackError"}}class DE extends Error{manifest;code="guarded_manifest_conflict";constructor(_){super("guarded_manifest_conflict: this manifest id is already bound to a different immutable ordered workflow.");this.manifest=_;this.name="KnowledgeGuardedManifestConflictError"}}class s3 extends Error{deterministic_key;reason;code="guarded_manifest_step_refused";constructor(_,$){super(`guarded_manifest_step_refused: ${$}`);this.deterministic_key=_;this.reason=$;this.name="KnowledgeGuardedManifestStepRefusedError"}}class _z extends Error{deterministic_key;code="guarded_manifest_terminal_state_unavailable";constructor(_){super("guarded_manifest_terminal_state_unavailable: manifest submission did not yield an exact immutable readback; the producer did not retry creation.");this.deterministic_key=_;this.name="KnowledgeGuardedManifestUncertainError"}}class oU extends Error{deterministic_key;code="guarded_write_terminal_state_unavailable";constructor(_){super("guarded_write_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not retry the mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedWriteUncertainError"}}class vG extends Error{receipt;reconciliation;code="guarded_adoption_rejected";constructor(_,$){super(`guarded_adoption_rejected: ${_.code}; no unguarded retry was attempted.`);this.receipt=_;this.reconciliation=$;this.name="KnowledgeGuardedAdoptionRejectedError"}}class $z extends Error{receipt;code="guarded_adoption_operation_conflict";constructor(_){super("guarded_adoption_operation_conflict: this authority/tenant/scope/parent operation and step are already bound to a different deterministic key.");this.receipt=_;this.name="KnowledgeGuardedAdoptionOperationConflictError"}}class pU extends Error{deterministic_key;code="guarded_adoption_terminal_state_unavailable";constructor(_){super("guarded_adoption_terminal_state_unavailable: submission did not yield one exact terminal receipt; the producer did not attempt an unguarded mutation.");this.deterministic_key=_;this.name="KnowledgeGuardedAdoptionUncertainError"}}function A6(_){return{"x-knowledge-max-calls":String(_.max_calls),"x-knowledge-max-items":String(_.max_items),"x-knowledge-max-bytes":String(_.max_bytes),"x-knowledge-wall-time-ms":String(_.wall_time_ms)}}function $N(_){return{authority_classification:_.authority.classification,authority_id:_.authority.authority_id,tenant_id:_.tenant_id,scope:_.scope,parent_id:_.parent_id}}function O4(_,$){return x_(_)===x_($)}function df(_){switch(_.kind){case"exact_title":return _.title;case"lexical_overlap":case"semantic_overlap":return _.query;case"supersession":return _.supersedes_item_id;case"current_version":case"historical_version":return _.item_id;case"canonical_pointer":return _.canonical_item_id}}function aU(_){if(!_||typeof _!=="object")return null;let $=_.body;if(typeof $==="string")try{return JSON.parse($)}catch{return null}return $&&typeof $==="object"?$:null}function HG(_){let $=aU(_);if($?.error!=="operation_binding_conflict")return null;let U=$.receipt;return U&&typeof U==="object"?U:null}function qG(_){let $=aU(_);if($?.error!=="manifest_binding_conflict")return null;let U=$.manifest;return U&&typeof U==="object"?U:null}function kG(_){let U=aU(_)?.message;if(typeof U!=="string")return null;return["guarded manifest","guarded write does not match its immutable manifest step","manifest_","external_authority_receipt_verifier_required"].some((D)=>U.startsWith(D))?U:null}function bG(_){let $=aU(_);if($?.error!=="adoption_operation_conflict")return;let U=$.receipt;return U&&typeof U==="object"?U:null}class fG{transport;require_manifest;binding;limits;constructor(_,$,U,N){this.transport=_;this.require_manifest=N;this.binding=Object.freeze({authority:Object.freeze({...$.authority}),tenant_id:$.tenant_id,scope:$.scope,parent_id:$.parent_id}),this.limits=U}async execute(_){if(this.require_manifest&&!_.manifest)throw Error("guarded_manifest_required: this writer is configured for multi-step work and refuses an unmanifested write.");if(!O4(_.binding,this.binding))throw Error("private input descriptor binding does not match this guarded writer.");let $=p3(_);if(y_($)!==_.payload_digest)throw Error("private input descriptor payload digest changed after freeze.");if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,precondition:_.precondition,payload_digest:_.payload_digest,manifest:_.manifest})!==_.binding_digest)throw Error("private input descriptor binding digest changed after freeze.");let N=UE({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,verb:_.verb,target_id:_.target_id,payload_digest:_.payload_digest,precondition:_.precondition,manifest:_.manifest}),D={contract:M_,descriptor:_.toJSON(),deterministic_key:N,limits:this.limits,payload:$};if(T$(D)>this.limits.submission.max_bytes)throw Error("guarded_write_request_exceeds_submission_byte_cap.");let j=null,I=null;try{j=await this.transport.post("/guarded-writes",D,{headers:{...A6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:N,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(S){I=S}let E;try{E=await this.reconcile(N,_.operation_id,_.step_id)}catch{let S=HG(I);if(S)throw new e3(S);let L=_.manifest?kG(I):null;if(L)throw new s3(N,L);throw new oU(N)}if(E.receipt_count===0||E.receipt===null){let S=HG(I);if(S)throw new e3(S);let L=_.manifest?kG(I):null;if(L)throw new s3(N,L);throw new oU(N)}let J=ZG(E,{deterministic_key:N,operation_id:_.operation_id,step_id:_.step_id});if(j&&(j.deterministic_key!==N||j.receipt.receipt_id!==J.receipt_id))throw new oU(N);if(J.status!=="accepted")throw new CG(J,E);if(J.effect_count!==1||J.result_id!==_.target_id)throw new oU(N);let W=await this.readback(J.result_id);if(W.item.id!==_.target_id||!O4(W.binding,this.binding)||W.item.version!==J.result_version)throw new oU(N);return{deterministic_key:N,duplicate:j?.duplicate??!1,receipt:J,reconciliation:E,readback:W}}async executePrivate(_){let $=await this.execute(_);return s1({kind:"write",value:$})}async lookupTitle(_){if(!O4(_.binding,this.binding))throw Error("private title lookup descriptor binding does not match this guarded writer.");let $=MG(_);if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,title_digest:_.title_digest})!==_.binding_digest)throw Error("private title lookup descriptor binding digest changed after freeze.");let N={contract:M_,descriptor:_.toJSON(),title:$,limits:this.limits.readback};if(T$(N)>this.limits.readback.max_bytes)throw Error("private_title_lookup_request_exceeds_byte_cap.");let D;try{D=await this.transport.post("/guarded-writes/lookups/title",N,{headers:{...A6(this.limits.readback),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:this.limits.readback.wall_time_ms,retry:!1})}catch(j){if(aU(j)?.error==="private_title_lookup_ambiguous")throw new wG;throw j}if(T$(D)>this.limits.readback.max_bytes||D.contract!==M_||D.exact!==!0||D.bounded!==!0||D.title_digest!==_.title_digest||!O4(D.binding,this.binding)||D.item_count!==D.items.length||D.item_count>1||D.items.some((j)=>j.title_sha256!==_.title_digest))throw Error("private_title_lookup_exact_bounded_readback_failed.");return s1({kind:"title_lookup",value:D})}async query(_,$={max_calls:1,max_items:_.page.limit,max_bytes:this.limits.readback.max_bytes,wall_time_ms:this.limits.readback.wall_time_ms}){if(VG($),i3(_.page,$),!O4(_.binding,this.binding))throw Error("private query descriptor binding does not match this guarded writer.");let U=a3(_);if(U.kind!==_.query_kind)throw Error("private query descriptor kind changed after freeze.");if(y_({binding:_.binding,operation_id:_.operation_id,step_id:_.step_id,query_kind:_.query_kind,selector_digest:_.selector_digest,archive:_.archive,page:_.page})!==_.binding_digest)throw Error("private query descriptor binding digest changed after freeze.");let D={contract:M_,descriptor:_.toJSON(),selector:U,limits:$};if(T$(D)>$.max_bytes)throw Error("private_query_request_exceeds_byte_cap.");let j;try{let E=await this.transport.post("/guarded-writes/queries",D,{headers:{...A6($),"x-knowledge-tenant-id":this.binding.tenant_id},timeoutMs:$.wall_time_ms,retry:!1});if(!E||typeof E!=="object"||Array.isArray(E))throw new Y0;j=E}catch(E){if(E instanceof Y0)throw E;throw new Y0}let I=iU(df(U));if(T$(j)>$.max_bytes||j.contract!==M_||j.exact!==!0||j.bounded!==!0||j.private!==!0||j.query_kind!==_.query_kind||j.selector_digest!==_.selector_digest||!O4(j.binding,this.binding)||j.item_count!==j.items.length||j.item_count!==j.page.returned||j.item_count>_.page.limit||j.page.limit!==_.page.limit||j.page.offset!==_.page.offset||j.totalE.matched_value_sha256!==I))throw new Y0;if(_.query_kind==="semantic_overlap"&&(j.status!=="unavailable"||j.code!=="semantic_query_unavailable"||j.item_count!==0||j.total!==0))throw new Y0;if(_.query_kind!=="semantic_overlap"&&(j.status!=="available"||j.code!==null))throw new Y0;return s1({kind:"query",value:j})}async createManifest(_,$=this.limits.submission){G$($,"manifest submission bounds");let U=FG(this.binding,_),N={contract:M_,maintainer:this.binding,manifest:_,deterministic_key:U};if(T$(N)>$.max_bytes)throw Error("guarded_manifest_request_exceeds_byte_cap.");let D=null,j=null;try{D=await this.transport.post("/guarded-manifests",N,{headers:{...A6($),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:U,timeoutMs:$.wall_time_ms,retry:!1})}catch(E){let J=qG(E);if(J)throw new DE(J);j=E}let I;try{I=await this.reconcileManifest(_.manifest_id,$)}catch{let E=qG(j);if(E)throw new DE(E);throw new _z(U)}if(I.manifest.deterministic_key!==U)throw new DE(I.manifest);if(D&&(D.contract!==M_||D.deterministic_key!==U||D.manifest.manifest_receipt_id!==I.manifest.manifest_receipt_id))throw new _z(U);return D??{contract:M_,deterministic_key:U,manifest:I.manifest,duplicate:!0}}async reconcileManifest(_,$=this.limits.reconciliation){G$($,"manifest reconciliation bounds");let U=await this.transport.get(`/guarded-manifests/${encodeURIComponent(_)}`,{query:{...$N(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:A6($),timeoutMs:$.wall_time_ms,retry:!1});if(T$(U)>$.max_bytes)throw Error("guarded_manifest_response_exceeds_byte_cap.");if(U.contract!==M_||U.manifest.manifest_id!==_||U.exact!==!0||U.bounded!==!0)throw Error("guarded_manifest_exact_reconciliation_failed.");return U}async reconcile(_,$,U,N=this.limits.reconciliation){G$(N,"write reconciliation bounds");let D=await this.transport.get(`/guarded-writes/receipts/${encodeURIComponent(_)}`,{query:{...$N(this.binding),operation_id:$,step_id:U,max_calls:N.max_calls,max_items:N.max_items,max_bytes:N.max_bytes,wall_time_ms:N.wall_time_ms},headers:A6(N),timeoutMs:N.wall_time_ms,retry:!1});if(T$(D)>N.max_bytes)throw Error("guarded_reconciliation_response_exceeds_byte_cap.");return D}async reconcileAdoption(_,$,U,N=this.limits.reconciliation){G$(N,"adoption reconciliation bounds");let D=await this.transport.get(`/guarded-adoptions/receipts/${encodeURIComponent(_)}`,{query:{...$N(this.binding),operation_id:$,step_id:U,max_calls:N.max_calls,max_items:N.max_items,max_bytes:N.max_bytes,wall_time_ms:N.wall_time_ms},headers:A6(N),timeoutMs:N.wall_time_ms,retry:!1});if(T$(D)>N.max_bytes)throw Error("guarded_adoption_reconciliation_response_exceeds_byte_cap.");return D}async readBindingState(_,$=this.limits.readback){G$($,"binding-state readback bounds");let U=await this.transport.get(`/guarded-adoptions/items/${encodeURIComponent(_)}/binding-state`,{query:{...$N(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:A6($),timeoutMs:$.wall_time_ms,retry:!1});if(T$(U)>$.max_bytes||U.contract!==M_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||U.target_id!==_)throw Error("guarded_binding_state_exact_readback_failed.");return U}async submitAdoption(_){if(T$(_)>this.limits.submission.max_bytes)throw Error("guarded_adoption_request_exceeds_submission_byte_cap.");let $=null,U=null;try{$=await this.transport.post("/guarded-adoptions",_,{headers:{...A6(this.limits.submission),"x-knowledge-tenant-id":this.binding.tenant_id},idempotencyKey:_.deterministic_key,timeoutMs:this.limits.submission.wall_time_ms,retry:!1})}catch(j){if(aU(j)?.error==="not_found")throw j;U=j}let N;try{N=await this.reconcileAdoption(_.deterministic_key,_.operation_id,_.step_id)}catch{let j=bG(U);if(j!==void 0)throw new $z(j);throw new pU(_.deterministic_key)}if(!N.terminal_complete||N.receipt_count!==1||!N.receipt){let j=bG(U);if(j!==void 0)throw new $z(j);throw new pU(_.deterministic_key)}let D=N.receipt;if(D.deterministic_key!==_.deterministic_key||D.operation_id!==_.operation_id||D.step_id!==_.step_id)throw new pU(_.deterministic_key);if(D.status!=="accepted")throw new vG(D,N);return{submission:$,receipt:D,reconciliation:N}}async adoptLegacy(_){let $=o3({action:"adopt",..._,binding:this.binding,adoption_receipt_id:null}),U={contract:M_,action:"adopt",deterministic_key:$,operation_id:_.operation_id,step_id:_.step_id,target_id:_.target_id,binding:this.binding,expected_version:_.expected_version,expected_content_sha256:_.expected_content_sha256,adoption_receipt_id:null,limits:this.limits},N=await this.submitAdoption(U),D=await this.readBindingState(_.target_id),j=await this.readback(_.target_id);if(D.state!=="bound_to_requested"||D.item_version!==N.receipt.result_version||D.content_sha256!==N.receipt.result_content_sha256||j.item.version!==N.receipt.result_version)throw new pU($);return{deterministic_key:$,duplicate:N.submission?.duplicate??!1,receipt:N.receipt,reconciliation:N.reconciliation,binding_state:D,readback:j}}async rollbackLegacyAdoption(_){let $=_.adoption_receipt;if($.action!=="adopt"||$.status!=="accepted"||$.effect_count!==1||!O4($.binding,this.binding)||$.result_version===null||$.result_content_sha256===null)throw Error("rollback requires an accepted adoption receipt for this guarded writer binding.");let U=o3({action:"rollback",operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id}),N={contract:M_,action:"rollback",deterministic_key:U,operation_id:_.operation_id,step_id:_.step_id,target_id:$.target_id,binding:this.binding,expected_version:$.result_version,expected_content_sha256:$.result_content_sha256,adoption_receipt_id:$.receipt_id,limits:this.limits},D=await this.submitAdoption(N),j=await this.readBindingState($.target_id);if(j.state!=="legacy_unbound"||j.item_version!==D.receipt.result_version||j.content_sha256!==D.receipt.result_content_sha256)throw new pU(U);return{deterministic_key:U,duplicate:D.submission?.duplicate??!1,receipt:D.receipt,reconciliation:D.reconciliation,binding_state:j}}async readback(_,$=this.limits.readback){G$($,"readback bounds");let U;try{let N=await this.transport.get(`/guarded-writes/items/${encodeURIComponent(_)}`,{query:{...$N(this.binding),max_calls:$.max_calls,max_items:$.max_items,max_bytes:$.max_bytes,wall_time_ms:$.wall_time_ms},headers:A6($),timeoutMs:$.wall_time_ms,retry:!1});if(!N||typeof N!=="object"||Array.isArray(N))throw new UN;U=N}catch(N){if(N instanceof UN)throw N;if(N&&typeof N==="object"&&typeof N.status==="number")throw N;throw new UN}if(T$(U)>$.max_bytes||U.contract!==M_||U.exact!==!0||U.bounded!==!0||U.item_count!==1||!U.item||U.item.id!==_||!O4(U.binding,this.binding)||x_(U.limits)!==x_($))throw new UN;return U}async readbackPrivate(_,$=this.limits.readback){let U=await this.readback(_,$);return s1({kind:"readback",value:U})}}function xG(_){E6(_.binding);let $=RX(_.env??process.env);if(!$)throw Error("FCAME-1 guarded writes require the authenticated postgres/API transport; local JSON, SQLite, and raw-store fallbacks are refused.");return new fG($,_.binding,$E(_.limits),_.require_manifest===!0)}var ef="knowledge.guarded-cli-request.v1",Uz="knowledge.guarded-cli-result.v1",DN=1048576;class S_ extends Error{code;constructor(_){super(_);this.code=_;this.name="KnowledgeGuardedCliDescriptorError"}}function yG(_,$,U){let N=Object.keys(_).sort(),D=[...$].sort();if(N.length!==D.length||N.some((j,I)=>j!==D[I]))throw new S_(`${U}_shape_invalid`)}function uG(_,$){if(!Number.isInteger(_)||_<3)throw new S_(`${$}_must_be_inherited_private_fd`);let U;try{U=lf(_)}catch{throw new S_(`${$}_unavailable`)}if(!U.isFIFO()&&!U.isSocket())throw new S_(`${$}_must_be_anonymous_pipe_or_socket`);if(U.isFIFO()){if(process.platform!=="linux")throw new S_(`${$}_must_be_anonymous_pipe_or_socket`);let N;try{N=tf(`/proc/self/fd/${_}`)}catch{throw new S_(`${$}_must_be_anonymous_pipe_or_socket`)}if(!/^pipe:\[\d+\]$/.test(N))throw new S_(`${$}_must_be_anonymous_pipe_or_socket`)}}function sf(_){let $=[],U=0;while(!0){let N=Buffer.allocUnsafe(Math.min(65536,DN+1-U)),D=of(_,N,0,N.length,null);if(D===0)break;if(U+=D,U>DN)throw new S_("private_request_byte_cap_exceeded");$.push(N.subarray(0,D))}try{return new af("utf-8",{fatal:!0}).decode(Buffer.concat($,U))}catch{throw new S_("private_request_invalid_utf8")}}function hG(_,$){let U=Buffer.from(`${x_($)} +`,"utf8");if(U.byteLength>DN)throw new S_("private_result_byte_cap_exceeded");let N=0;while(N{let U=()=>{process.off("message",N),process.off("disconnect",D)},N=(j)=>{if(U(),typeof j!=="string"){$(new S_("private_request_schema_invalid"));return}if(Buffer.byteLength(j,"utf8")>DN){$(new S_("private_request_byte_cap_exceeded"));return}_(j)},D=()=>{U(),$(new S_("guarded_descriptor_private_ipc_disconnected"))};process.once("message",N),process.once("disconnect",D)})}function cG(_){if(typeof process.send!=="function"||!process.connected)throw new S_("guarded_descriptor_private_ipc_required");let $=x_(_);if(Buffer.byteLength($,"utf8")>DN)throw new S_("private_result_byte_cap_exceeded");return new Promise((U,N)=>{process.send($,(D)=>{if(D){N(new S_("private_result_write_failed"));return}U()})})}async function iG(_=process.env){if(typeof process.send!=="function"||!process.connected)throw new S_("guarded_descriptor_private_ipc_required");try{let $=await dG(nG(await _x()),_,"process_ipc");await cG($);let{proof:U,...N}=$;return N}catch($){let U={schema:Uz,ok:!1,contract:M_,transport:"process_ipc",code:mG($)};try{await cG(U)}catch{}throw new S_(U.code)}finally{if(process.connected&&typeof process.disconnect==="function")process.disconnect()}}var pG=["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 aG="HASNA_KNOWLEDGE_STORAGE_MODE",eG="KNOWLEDGE_STORAGE_MODE";function tG(_){return process.env[_]?.trim()||void 0}function oG(_){let $=_?.trim().toLowerCase().replace(/-/g,"_");if($==="sqlite")return"sqlite";if($==="postgres"||$==="postgresql")return"postgres";return}function $x(_={}){let $=F0(WN(_.scope,_.cwd).home);return c($.knowledgeDbPath),{db:v($.knowledgeDbPath),path:$.knowledgeDbPath,scope:_.scope??"global"}}function sG(){let _=oG(tG(aG))??oG(tG(eG));if(_)return _;return"sqlite"}function Dz(_={}){let $=$x(_);try{Ux($.db);let U=$.db.query("SELECT table_name, last_synced_at, direction FROM _knowledge_sync_meta ORDER BY table_name, direction").all();return{mode:sG(),service:"knowledge",scope:$.scope,databasePath:$.path,tables:pG,sync:U}}finally{$.db.close()}}function Ux(_){_.exec(` CREATE TABLE IF NOT EXISTS _knowledge_sync_meta ( table_name TEXT NOT NULL, last_synced_at TEXT, @@ -2874,9 +2874,9 @@ Pages should be concise, cited, and organized for both humans and agents. archived, id ) WHERE metadata #>> '{hasna_knowledge_relations,schema}' - = 'hasna.knowledge.relations.v1'`,...oY()];var X7=_T(z7(),1),{program:St,createCommand:Lt,createArgument:Pt,createOption:Ot,CommanderError:zt,InvalidArgumentError:Xt,InvalidOptionArgumentError:Rt,Command:R7,Argument:Yt,Option:Qt,Help:Gt}=X7.default;import{chmod as L3,mkdir as Uy,readFile as Dy,rename as Ny,writeFile as T7}from"fs/promises";import{Buffer as H7}from"buffer";import{existsSync as q7}from"fs";import{homedir as jy}from"os";import{join as EN}from"path";import{createHmac as Sy,timingSafeEqual as Zt}from"crypto";import{randomUUID as Oy}from"crypto";import{spawn as zy}from"child_process";import{randomUUID as Ty}from"crypto";function tx(_,$){return $.split(".").reduce((U,N)=>{if(U&&typeof U==="object"&&N in U)return U[N];return},_)}function ox(_,$){let U=[],N=(j)=>{if(!U.some((I)=>Object.is(I,j)))U.push(j)};if($.includes(".")&&$ in _)N(_[$]);let D=tx(_,$);if(D!==void 0||!$.includes("."))N(D);return U}function px(_,$={}){let U="";for(let N=0;N<_.length;N+=1){let D=_[N];if(D==="*")if(_[N+1]==="*")U+=".*",N+=1;else U+=$.segmentSafe?"[^/]*":".*";else U+=D.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function jN(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>px(D,U).test(_))}function Y7(_,$){if(!$)return!0;return Object.entries($).every(([U,N])=>{let D=ox(_,U);return ax(D,N,U)})}function ax(_,$,U){if(_y($))return!_.some((N)=>Q7(N,$.not,U));return _.some((N)=>Q7(N,$,U))}function Q7(_,$,U){if(typeof $==="string"||Array.isArray($))return ex(_).some((N)=>jN(N,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((N)=>N===$);return _===$}function ex(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>sx($)?[String($)]:[]);return[String(_)]}function sx(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function _y(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function $y(_,$){return jN(_.source,$.source)&&jN(_.type,$.type)&&jN(_.subject,$.subject)&&jN(_.severity,$.severity)&&Y7(_.data,$.data)&&Y7(_.metadata,$.metadata)}function G7(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>$y($,U))}var EE="HASNA_EVENTS_DIR",AE="HASNA_EVENTS_HOME",X3="local-json-v1:",Iy=100,Ey=1000;function k7(_){return _||process.env[EE]||process.env[AE]||EN(jy(),".hasna","events")}function Ay(){if(process.env[EE])return EE;if(process.env[AE])return AE;return null}class JE{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=k7()){this.dataDir=_,this.runtime=Jy(_),this.channelsPath=EN(_,"channels.json"),this.eventsPath=EN(_,"events.json"),this.deliveriesPath=EN(_,"deliveries.json")}async init(){await Uy(this.dataDir,{recursive:!0,mode:448}),await L3(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),U=$.findIndex((N)=>N.id===_.id);if(U>=0)$[U]={..._,createdAt:$[U].createdAt,updatedAt:new Date().toISOString()};else $.push(_);return await this.writeJson(this.channelsPath,$),U>=0?$[U]:_}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel(_){return(await this.listChannels()).find((U)=>U.id===_)}async removeChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),U=$.filter((N)=>N.id!==_);return await this.writeJson(this.channelsPath,U),U.length!==$.length}async appendEvent(_){await this.init();let $=await this.readJson(this.eventsPath,[]);return $.push(_),await this.writeJson(this.eventsPath,$),_}async appendEventOnce(_,$={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if($.dedupe!==!1){let D=V7(U,{id:_.id,dedupeKey:_.dedupeKey});if(D)return{event:D,stored:!1,deduped:!0,identity:{id:D.id,dedupeKey:D.dedupeKey}}}return U.push(_),await this.writeJson(this.eventsPath,U),{event:_,stored:!0,deduped:!1,identity:{id:_.id,dedupeKey:_.dedupeKey}}}async listEvents(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]);return B7($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=B7($,{eventId:_.eventId,source:_.source,type:_.type}),N=WE(_.cursor,_),D=SE(_.limit),j=U.slice(N,N+D),I=N+j.length,E=I{return})}async readJson(_,$){try{let U=await Dy(_,"utf-8");if(!U.trim())return $;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return $;throw U}}async writeJson(_,$){let U=`${_}.${process.pid}.${Date.now()}.tmp`;await T7(U,`${JSON.stringify($,null,2)} -`,{encoding:"utf-8",mode:384}),await Ny(U,_),await L3(_,384).catch(()=>{return})}}function Jy(_=k7()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${_}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function b7(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${X3}${H7.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function WE(_,$={}){if(!_)return 0;if(!_.startsWith(X3))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(X3.length),N;try{N=JSON.parse(H7.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let D=N.offset;if(!Number.isInteger(D)||D<0)throw Error(`Invalid local JSON event cursor: ${_}`);return P3("eventId",N.eventId,$.eventId),P3("source",N.source,$.source),P3("type",N.type,$.type),D}function SE(_){if(_===void 0)return Iy;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,Ey)}function B7(_,$){let U=_;if($.eventId)U=U.filter((N)=>N.id===$.eventId);if($.source)U=U.filter((N)=>N.source===$.source);if($.type)U=U.filter((N)=>N.type===$.type);if($.cursor){let N=WE($.cursor,$);U=U.slice(N)}if($.limit!==void 0)U=U.slice(0,SE($.limit));return U}function P3(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function V7(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function Wy(_){let $=new JE(_);await $.init();let[U,N,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),j=U.reduce((I,E)=>{return I[E.transport]=(I[E.transport]??0)+1,I},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:EE,fallback:AE,active:Ay()},files:{channels:O3($.dataDir,"channels.json",U.length),events:O3($.dataDir,"events.json",N.length),deliveries:O3($.dataDir,"deliveries.json",D.length)},counts:{channels:U.length,enabledChannels:U.filter((I)=>I.enabled).length,disabledChannels:U.filter((I)=>!I.enabled).length,events:N.length,deliveries:D.length},transports:j,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function O3(_,$,U){let N=EN(_,$);return{path:N,exists:q7(N),records:U}}function Ly(_,$){return`${_}.${$}`}function Py(_,$,U){return`sha256=${Sy("sha256",_).update(Ly($,U)).digest("hex")}`}function J6(){return new Date().toISOString()}function IN(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Xy(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let U=JSON.stringify(_),N=_.time,D={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":N,...$.webhook.headers};if($.webhook.secret)D["X-Hasna-Signature"]=Py($.webhook.secret,N,U);return{body:U,headers:D}}async function Ry(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let N=J6(),{body:D,headers:j}=Xy(_,$),I=new AbortController,E=setTimeout(()=>I.abort(),$.webhook.timeoutMs??15000);try{let J=await(U.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:j,body:D,signal:I.signal}),W=IN(await J.text());return{attempt:1,status:J.ok?"success":"failed",startedAt:N,completedAt:J6(),responseStatus:J.status,responseBody:W,error:J.ok?void 0:`Webhook returned HTTP ${J.status}`}}catch(J){return{attempt:1,status:"failed",startedAt:N,completedAt:J6(),error:J instanceof Error?J.message:String(J)}}finally{clearTimeout(E)}}async function Yy(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=J6(),N=JSON.stringify(_),D={...process.env,...$.command.env,HASNA_CHANNEL_ID:$.id,HASNA_EVENT_ID:_.id,HASNA_EVENT_TYPE:_.type,HASNA_EVENT_SOURCE:_.source,HASNA_EVENT_SUBJECT:_.subject??"",HASNA_EVENT_SEVERITY:_.severity,HASNA_EVENT_TIME:_.time,HASNA_EVENT_DEDUPE_KEY:_.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:_.schemaVersion,HASNA_EVENT_JSON:N};return new Promise((j)=>{let I=zy($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),E="",J="",W=setTimeout(()=>I.kill("SIGTERM"),$.command.timeoutMs??15000);I.stdin.end(N),I.stdout.on("data",(S)=>{E+=S.toString()}),I.stderr.on("data",(S)=>{J+=S.toString()}),I.on("error",(S)=>{clearTimeout(W),j({attempt:1,status:"failed",startedAt:U,completedAt:J6(),stdout:IN(E),stderr:IN(J),error:S.message})}),I.on("close",(S,L)=>{clearTimeout(W);let X=S===0;j({attempt:1,status:X?"success":"failed",startedAt:U,completedAt:J6(),stdout:IN(E),stderr:IN(J),error:X?void 0:`Command exited with ${L?`signal ${L}`:`code ${S}`}`})})})}async function Qy(_,$,U={}){if($.transport==="webhook")return Ry(_,$,U);if($.transport==="command")return Yy(_,$);return{attempt:1,status:"skipped",startedAt:J6(),completedAt:J6(),error:`Unsupported transport: ${$.transport}`}}function F7(_,$,U){let N=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Oy(),eventId:_.id,channelId:$.id,transport:$.transport,status:N,attempts:U,createdAt:U[0]?.startedAt??J6(),completedAt:U.at(-1)?.completedAt??J6()}}class C7 extends Error{eventType;issues;constructor(_,$){let U=$.map((N)=>`${N.path||""}: ${N.message}`).join("; ");super(`Event validation failed for type "${_}": ${U}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class w7{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 C7(_.type,$.issues)}}var Gy=new w7;function z3(_){return{id:_.id??Ty(),source:_.source,type:_.type,time:My(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class v7{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new JE(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Gy,this.validateCatalogTypes=_.validateCatalogTypes??!1}async addChannel(_){let $=new Date().toISOString();return this.store.addChannel({..._,createdAt:_.createdAt??$,updatedAt:_.updatedAt??$})}async listChannels(){return this.store.listChannels()}async removeChannel(_){return this.store.removeChannel(_)}async emit(_,$={}){let U=$.redactSensitiveData===!1?z3(_):Fy(z3(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let N=await this.appendEvent(U,{dedupe:$.dedupe!==!1});if(N.deduped)return{event:N.event,deliveries:[],deduped:!0};let D=$.deliver===!1?[]:await this.deliver(N.event);return{event:N.event,deliveries:D,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return K7(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=K7(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=WE(_.cursor,_),N=SE(_.limit),D=$.slice(U,U+N),j=U+D.length,I=j<$.length;return{events:D,cursor:_.cursor,nextCursor:I?b7(j,_):void 0,hasMore:I}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>G7(D,_)),N=[];for(let D of U){let j=await this.applyRedaction(_,D),I=await this.deliverWithRetry(j,D);await this.store.appendDelivery(I),N.push(I)}return N}async matchChannel(_,$={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let N=z3({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=G7(U,N);return{channelId:U.id,matched:D,event:N,filters:U.filters,reason:D?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},U={}){let N=await this.store.getChannel(_);if(!N)throw Error(`Channel not found: ${_}`);let D=await this.matchChannel(_,$),j=D.event;if(U.honorFilters&&!D.matched){let J=new Date().toISOString(),W=F7(j,N,[{attempt:1,status:"skipped",startedAt:J,completedAt:J,error:D.reason}]);return W.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(W),W}let I=await this.applyRedaction(j,N),E=await this.deliverWithRetry(I,N);return await this.store.appendDelivery(E),E}async replay(_={}){let $=_.cursor||_.limit!==void 0?await this.listEventsPage(_):{events:await this.listEvents(_),hasMore:!1};if(_.dryRun)return{events:$.events,deliveries:[],cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore};let U=[];for(let N of $.events)U.push(...await this.deliver(N));return{events:$.events,deliveries:U,cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore}}async appendEvent(_,$){if(this.store.appendEventOnce)return this.store.appendEventOnce(_,{dedupe:$.dedupe});if($.dedupe){let N=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(N)return{event:N,stored:!1,deduped:!0,identity:{id:N.id,dedupeKey:N.dedupeKey}}}let U=await this.store.appendEvent(_);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction(_,$){let U=By(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let N of this.redactors)U=await N(U,$);return U}async deliverWithRetry(_,$){let U=gy($.retry),N=[];for(let D=0;D[U,x7(U)?"[REDACTED]":N]));return $}function Vy(_){return _.map(f7)}function Fy(_,$="[REDACTED]"){return R3(_,$)}function x7(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function R3(_,$){if(Array.isArray(_))return _.map((U)=>R3(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,N])=>[U,x7(U)?$:R3(N,$)]))}function Ky(_,$,U){let N=$.split("."),D=_;for(let I of N.slice(0,-1)){let E=D[I];if(!E||typeof E!=="object")return;D=E}let j=N.at(-1);if(j&&j in D)D[j]=U}function K7(_,$){let U=_;if($.eventId)U=U.filter((N)=>N.id===$.eventId);if($.source)U=U.filter((N)=>N.source===$.source);if($.type)U=U.filter((N)=>N.type===$.type);if($.cursor)U=U.slice(WE($.cursor,$));if($.limit!==void 0)U=U.slice(0,SE($.limit));return U}function My(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function gy(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function IE(_,$,U=!1){if(!_?.length)return;let N={};for(let D of _){let j=qy(D,$),I=j.path;if(I in N)throw Error(`Duplicate ${$} filter path: ${I}`);let E=U?Hy(j.rawValue,$):j.rawValue;N[I]=j.negated?{not:E}:E}return N}function Zy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=M7(IE(_.data,"data"),IE(_.dataJson,"data-json",!0)),N=M7(IE(_.metadata,"metadata"),IE(_.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)$.data=U;if(Object.keys(N).length>0)$.metadata=N;return Object.keys($).length>0?[$]:void 0}function M7(..._){let $={};for(let U of _){if(!U)continue;for(let[N,D]of Object.entries(U)){if(N in $)throw Error(`Duplicate filter path: ${N}`);$[N]=D}}return $}function Hy(_,$){let U=JSON.parse(_);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((N)=>typeof N==="string"))return U;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function qy(_,$){let U=_.indexOf("!=");if(U>0)return{path:_.slice(0,U),rawValue:_.slice(U+2),negated:!0};let N=_.indexOf("=");if(N<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,N),rawValue:_.slice(N+1),negated:!1}}var ky=100;function eU(_,$){if(!_)return $;let U=JSON.parse(_);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function by(_){if(!_?.length)return;let $={};for(let U of _){let N=U.indexOf("=");if(N===-1)throw Error(`Invalid header, expected name=value: ${U}`);$[U.slice(0,N)]=U.slice(N+1)}return $}function z4(_){if(_.createClient)return _.createClient();return new v7({store:new JE(_.dataDir)})}function G0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function g7(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function Z7(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function v6(_,$){return Z7(_)||Z7($)}function Cy(_,$){let U=_.command($.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("","Webhook URL or command binary").requiredOption("--id ","Channel identifier").option("--transport ","Transport kind: webhook or command","webhook").option("--name ","Display name").option("--type ","Event type filter, e.g. todos.task.*").option("--source ","Event source filter").option("--subject ","Event subject filter").option("--severity ","Event severity filter").option("--data ","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",Q0,[]).option("--metadata ","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",Q0,[]).option("--data-json ","Event data field filter with typed JSON value; path!=json negatives supported",Q0,[]).option("--metadata-json ","Event metadata field filter with typed JSON value; path!=json negatives supported",Q0,[]).option("--secret ","Webhook HMAC secret").option("--header ","Webhook header",Q0,[]).option("--arg ","Command argument",Q0,[]).option("--timeout-ms ","Transport timeout in milliseconds",AN).option("--retry-attempts ","Maximum delivery attempts",AN).option("--retry-backoff-ms ","Initial retry backoff in milliseconds",AN).option("--redact ","Event field path to redact before delivery",Q0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=new Date().toISOString(),E={id:D.id,name:D.name,enabled:!D.disabled,transport:D.transport,filters:Zy(D),retry:D.retryAttempts||D.retryBackoffMs?{maxAttempts:D.retryAttempts,backoffMs:D.retryBackoffMs}:void 0,redact:D.redact?.length?{paths:D.redact}:void 0,createdAt:I,updatedAt:I};if(D.transport==="webhook")E.webhook={url:N,secret:D.secret,headers:by(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")E.command={command:N,args:D.arg??[],timeoutMs:D.timeoutMs};else throw Error(`Transport ${D.transport} is reserved for future use and cannot be added yet`);let J=await z4($).addChannel(E);G0(f7(J),v6(D,j),`Added ${J.transport} channel ${J.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(N,D)=>{let j=await z4($).listChannels();if(v6(N,D)){console.log(JSON.stringify(Vy(j),null,2));return}if(!j.length){console.log("No channels configured.");return}for(let I of j)console.log(`${I.id} ${I.enabled?"enabled":"disabled"} ${I.transport} ${I.webhook?.url??I.command?.command??I.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(N,D)=>{let j=await Wy($.dataDir);G0(j,v6(N,D),`events dataDir: ${j.dataDir}`)}),U.command("remove").description("Remove a channel").argument("","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=await z4($).removeChannel(N);G0({removed:I},v6(D,j),I?`Removed ${N}`:`Channel not found: ${N}`)}),U.command("test").description("Send a test event to one channel").argument("","Channel identifier").option("--source ","Event source override").option("--type ","Event type","events.test").option("--subject ","Event subject").option("--message ","Event message","Hasna events test delivery").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=v6(D,j);try{let E=await z4($).testChannel(N,{source:D.source??$.source,type:D.type,subject:D.subject??N,message:D.message,data:eU(D.data,{test:!0}),metadata:eU(D.metadata,{})},{honorFilters:D.honorFilters});G0(E,I,`${E.status}: ${E.channelId}`)}catch(E){g7(E,I)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("","Channel identifier").option("--source ","Event source override").option("--type ","Event type","events.test").option("--subject ","Event subject").option("--message ","Event message","Hasna events match preview").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=v6(D,j);try{let E=await z4($).matchChannel(N,{source:D.source??$.source,type:D.type,subject:D.subject??N,message:D.message,data:eU(D.data,{test:!0}),metadata:eU(D.metadata,{})});G0(E,I,`${E.matched?"matched":"skipped"}: ${E.channelId}`)}catch(E){g7(E,I)}}),U}function wy(_,$){let U=_.command($.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("","Event type").option("--source ","Event source override").option("--subject ","Event subject").option("--severity ","Event severity","info").option("--message ","Event message").option("--dedupe-key ","Dedupe key").option("--data ","Event data JSON object").option("--metadata ","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(D,j,I)=>{let E=await z4($).emit({source:j.source??$.source,type:D,subject:j.subject,severity:j.severity,message:j.message,dedupeKey:j.dedupeKey,data:eU(j.data,{}),metadata:eU(j.metadata,{})},{deliver:j.deliver,dedupe:j.dedupe});G0(E,v6(j,I),`${E.deduped?"Deduped":"Emitted"} ${E.event.id} to ${E.deliveries.length} channel(s)`)});let N=$.defaultEventListLimit??ky;return U.command("list").description("List recorded events").option("--source ","Filter by source").option("--type ","Filter by type").option("--limit ",`Limit to the most recent events (default ${N}; use 0 for all)`,AN,N).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let I=await z4($).listEvents();if(D.source)I=I.filter((E)=>E.source===D.source);if(D.type)I=I.filter((E)=>E.type===D.type);if(D.limit)I=I.slice(-D.limit);if(v6(D,j)){console.log(JSON.stringify(I,null,2));return}if(!I.length){console.log("No events recorded.");return}for(let E of I)console.log(`${E.time} ${E.id} ${E.source} ${E.type} ${E.severity}`)}),U.command("replay").description("Replay recorded events").option("--id ","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",AN).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let I=await z4($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});G0(I,v6(D,j),vy(I.events.length,I.deliveries.length,I.nextCursor))}),U}function y7(_,$){Cy(_,$),wy(_,$)}function AN(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function Q0(_,$){return $.push(_),$}function vy(_,$,U){let N=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${N}`}import{basename as fy,dirname as xy,join as yy}from"path";var u7={debug:0,info:1,warn:2,error:3},uy=()=>{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 B0(_,$,U){if(u7[_]N.toLowerCase()));return $.filter((N)=>!U.has(N.toLowerCase()))}function Y3(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function my(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <content> -t <tag> -t <tag>");let U=$.split(",").map((N)=>N.trim()).filter((N)=>N.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify($)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return cy([..._??[],...U])}function ny(_){let $=[],U={},N=_.indexOf("guarded"),D=N>=0&&_.indexOf("execute-descriptor",N+1)>=0,j=!1;for(let I=0;I<_.length;I+=1){let E=_[I];if(j){$.push(E);continue}if(E==="--"){j=!0;continue}if(!E.startsWith("-")||$[0]==="add"&&$.length===2&&E.startsWith("---")){$.push(E);continue}switch(E){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number(_[I+1]),I+=1;break;case"--limit":case"-l":U.limit=Number(_[I+1]),I+=1;break;case"--search":case"-s":U.search=_[I+1],I+=1;break;case"--sort":U.sort=_[I+1],I+=1;break;case"--id":U.id=_[I+1],I+=1;break;case"--store":U.store=_[I+1],I+=1;break;case"--title":U.title=_[I+1],I+=1;break;case"--content":U.content=_[I+1],I+=1;break;case"--url":U.url=_[I+1],I+=1;break;case"--tag":case"-t":U.tag=my(U.tag,_[I+1]),U.tagRaw=[...U.tagRaw??[],_[I+1]],I+=1;break;case"--format":U.format=_[I+1],I+=1;break;case"--completions":U.completions=_[I+1],I+=1;break;case"--purpose":U.purpose=_[I+1],I+=1;break;case"--model":U.model=_[I+1],I+=1;break;case"--strategy":U.strategy=_[I+1],I+=1;break;case"--dimensions":U.dimensions=Number(_[I+1]),I+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number(_[I+1]),I+=1;break;case"--max-items":U.maxItems=Number(_[I+1]),I+=1;break;case"--from":U.from=_[I+1],I+=1;break;case"--to":U.to=_[I+1],I+=1;break;case"--rev":U.rev=Number(_[I+1]),I+=1;break;case"--if-version":U.ifVersion=Number(_[I+1]),I+=1;break;case"--since":U.since=_[I+1],I+=1;break;case"--topic":U.topic=_[I+1],I+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=_[I+1],I+=1;break;case"--mode":U.mode=_[I+1],I+=1;break;case"--machine":U.machine=_[I+1],I+=1;break;case"--workspace":U.workspace=_[I+1],I+=1;break;case"--api-url":U.apiUrl=_[I+1],I+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=_[I+1],I+=1;break;case"--email":U.email=_[I+1],I+=1;break;case"--org":U.org=_[I+1],I+=1;break;case"--org-id":U.orgId=_[I+1],I+=1;break;case"--user-id":U.userId=_[I+1],I+=1;break;case"--owner":U.owner=_[I+1],I+=1;break;case"--approved-by":U.approvedBy=_[I+1],I+=1;break;case"--patch-uri":U.patchUri=_[I+1],I+=1;break;case"--domain":U.domain=[...U.domain??[],_[I+1]],I+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=_[I+1],I+=1;break;case"--tables":U.tables=_[I+1],I+=1;break;case"--peer-workspace":U.peerWorkspace=_[I+1],I+=1;break;case"--older-than":U.olderThan=Number(_[I+1]),I+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=_[I+1],I+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],_[I+1]],I+=1;break;case"--allow-global":U.allowGlobal=!0;break;case"--operation-id":U.operationId=_[I+1],I+=1;break;case"--step-id":U.stepId=_[I+1],I+=1;break;case"--idempotency-key":U.idempotencyKey=_[I+1],I+=1;break;case"--collection-id":U.collectionId=_[I+1],I+=1;break;case"--item-id":U.itemId=_[I+1],I+=1;break;case"--receipt-id":U.receiptId=_[I+1],I+=1;break;case"--cursor":U.cursor=_[I+1],I+=1;break;case"--kind":U.kind=[...U.kind??[],_[I+1]],I+=1;break;case"--all":U.all=!0;break;case"--slug":U.slug=_[I+1],I+=1;break;case"--name":U.name=_[I+1],I+=1;break;case"--collection-slug":U.collectionSlug=_[I+1],I+=1;break;case"--collection-name":U.collectionName=_[I+1],I+=1;break;case"--request-fd":U.requestFd=Number(_[I+1]),I+=1;break;case"--result-fd":U.resultFd=Number(_[I+1]),I+=1;break;case"--ipc":U.ipc=!0;break;default:if(D)throw Error("guarded_descriptor_public_input_refused");throw Error(`Unknown flag: ${E}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:U}}function dy(_){if(!_)return"";return l7[_]??_}function ly(_,$){let U=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let N=0;N<=_.length;N+=1)U[N][0]=N;for(let N=0;N<=$.length;N+=1)U[0][N]=N;for(let N=1;N<=_.length;N+=1)for(let D=1;D<=$.length;D+=1){let j=_[N-1]===$[D-1]?0:1;U[N][D]=Math.min(U[N-1][D]+1,U[N][D-1]+1,U[N-1][D-1]+j)}return U[_.length][$.length]}function iy(_){if(!_)return"";let $=[...d7,...Object.keys(l7)],U="",N=Number.POSITIVE_INFINITY;for(let D of $){let j=ly(_,D);if(j<N)N=j,U=D}return N<=3?U:""}function ty(){return fy(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function oy(_){if(!n7.includes(_[0]??""))return!1;let $=new R7;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),y7($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function py(){console.log(`knowledge - local agent knowledge store + = 'hasna.knowledge.relations.v1'`,...oY()];var X7=_T(z7(),1),{program:St,createCommand:Lt,createArgument:Pt,createOption:Ot,CommanderError:zt,InvalidArgumentError:Xt,InvalidOptionArgumentError:Rt,Command:R7,Argument:Yt,Option:Qt,Help:Gt}=X7.default;import{chmod as Lz,mkdir as Uy,readFile as Dy,rename as Ny,writeFile as T7}from"fs/promises";import{Buffer as H7}from"buffer";import{existsSync as q7}from"fs";import{homedir as jy}from"os";import{join as EN}from"path";import{createHmac as Sy,timingSafeEqual as Zt}from"crypto";import{randomUUID as Oy}from"crypto";import{spawn as zy}from"child_process";import{randomUUID as Ty}from"crypto";function tx(_,$){return $.split(".").reduce((U,N)=>{if(U&&typeof U==="object"&&N in U)return U[N];return},_)}function ox(_,$){let U=[],N=(j)=>{if(!U.some((I)=>Object.is(I,j)))U.push(j)};if($.includes(".")&&$ in _)N(_[$]);let D=tx(_,$);if(D!==void 0||!$.includes("."))N(D);return U}function px(_,$={}){let U="";for(let N=0;N<_.length;N+=1){let D=_[N];if(D==="*")if(_[N+1]==="*")U+=".*",N+=1;else U+=$.segmentSafe?"[^/]*":".*";else U+=D.replace(/[|\\{}()[\]^$+?.]/g,"\\$&")}return new RegExp(`^${U}$`)}function jN(_,$,U={}){if($===void 0)return!0;if(_===void 0)return!1;return(Array.isArray($)?$:[$]).some((D)=>px(D,U).test(_))}function Y7(_,$){if(!$)return!0;return Object.entries($).every(([U,N])=>{let D=ox(_,U);return ax(D,N,U)})}function ax(_,$,U){if(_y($))return!_.some((N)=>Q7(N,$.not,U));return _.some((N)=>Q7(N,$,U))}function Q7(_,$,U){if(typeof $==="string"||Array.isArray($))return ex(_).some((N)=>jN(N,$,{segmentSafe:U.endsWith("_path")||U.endsWith(".path")}));if(Array.isArray(_))return _.some((N)=>N===$);return _===$}function ex(_){if(_===void 0)return[];if(Array.isArray(_))return _.flatMap(($)=>sx($)?[String($)]:[]);return[String(_)]}function sx(_){return _===null||typeof _==="string"||typeof _==="number"||typeof _==="boolean"}function _y(_){return Boolean(_&&typeof _==="object"&&!Array.isArray(_)&&"not"in _)}function $y(_,$){return jN(_.source,$.source)&&jN(_.type,$.type)&&jN(_.subject,$.subject)&&jN(_.severity,$.severity)&&Y7(_.data,$.data)&&Y7(_.metadata,$.metadata)}function G7(_,$){if(!_.enabled)return!1;if(!_.filters||_.filters.length===0)return!0;return _.filters.some((U)=>$y($,U))}var EE="HASNA_EVENTS_DIR",AE="HASNA_EVENTS_HOME",Xz="local-json-v1:",Iy=100,Ey=1000;function k7(_){return _||process.env[EE]||process.env[AE]||EN(jy(),".hasna","events")}function Ay(){if(process.env[EE])return EE;if(process.env[AE])return AE;return null}class JE{dataDir;runtime;channelsPath;eventsPath;deliveriesPath;constructor(_=k7()){this.dataDir=_,this.runtime=Jy(_),this.channelsPath=EN(_,"channels.json"),this.eventsPath=EN(_,"events.json"),this.deliveriesPath=EN(_,"deliveries.json")}async init(){await Uy(this.dataDir,{recursive:!0,mode:448}),await Lz(this.dataDir,448).catch(()=>{return}),await this.ensureArrayFile(this.channelsPath),await this.ensureArrayFile(this.eventsPath),await this.ensureArrayFile(this.deliveriesPath)}async addChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),U=$.findIndex((N)=>N.id===_.id);if(U>=0)$[U]={..._,createdAt:$[U].createdAt,updatedAt:new Date().toISOString()};else $.push(_);return await this.writeJson(this.channelsPath,$),U>=0?$[U]:_}async listChannels(){return await this.init(),this.readJson(this.channelsPath,[])}async getChannel(_){return(await this.listChannels()).find((U)=>U.id===_)}async removeChannel(_){await this.init();let $=await this.readJson(this.channelsPath,[]),U=$.filter((N)=>N.id!==_);return await this.writeJson(this.channelsPath,U),U.length!==$.length}async appendEvent(_){await this.init();let $=await this.readJson(this.eventsPath,[]);return $.push(_),await this.writeJson(this.eventsPath,$),_}async appendEventOnce(_,$={}){await this.init();let U=await this.readJson(this.eventsPath,[]);if($.dedupe!==!1){let D=V7(U,{id:_.id,dedupeKey:_.dedupeKey});if(D)return{event:D,stored:!1,deduped:!0,identity:{id:D.id,dedupeKey:D.dedupeKey}}}return U.push(_),await this.writeJson(this.eventsPath,U),{event:_,stored:!0,deduped:!1,identity:{id:_.id,dedupeKey:_.dedupeKey}}}async listEvents(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]);return B7($,_)}async listEventsPage(_={}){await this.init();let $=await this.readJson(this.eventsPath,[]),U=B7($,{eventId:_.eventId,source:_.source,type:_.type}),N=WE(_.cursor,_),D=SE(_.limit),j=U.slice(N,N+D),I=N+j.length,E=I<U.length;return{events:j,cursor:_.cursor,nextCursor:E?b7(I,_):void 0,hasMore:E}}async findEventByIdentity(_){let $=await this.listEvents();return V7($,_)}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(!q7(_))await T7(_,`[] +`,{encoding:"utf-8",mode:384});await Lz(_,384).catch(()=>{return})}async readJson(_,$){try{let U=await Dy(_,"utf-8");if(!U.trim())return $;return JSON.parse(U)}catch(U){if(U.code==="ENOENT")return $;throw U}}async writeJson(_,$){let U=`${_}.${process.pid}.${Date.now()}.tmp`;await T7(U,`${JSON.stringify($,null,2)} +`,{encoding:"utf-8",mode:384}),await Ny(U,_),await Lz(_,384).catch(()=>{return})}}function Jy(_=k7()){return{mode:"local-files",name:"json-events-store",remote:!1,localFiles:!0,localSqlite:!1,postgres:!1,s3:!1,aws:!1,durable:!0,idempotency:"best-effort-local",replayCursors:!0,description:`Local JSON files in ${_}; no SQLite, Postgres, S3, or AWS runtime is configured by this store.`}}function b7(_,$={}){if(!Number.isInteger(_)||_<0)throw Error(`Invalid event cursor offset: ${_}`);let U={offset:_,eventId:$.eventId,source:$.source,type:$.type};return`${Xz}${H7.from(JSON.stringify(U),"utf-8").toString("base64url")}`}function WE(_,$={}){if(!_)return 0;if(!_.startsWith(Xz))throw Error(`Invalid local JSON event cursor: ${_}`);let U=_.slice(Xz.length),N;try{N=JSON.parse(H7.from(U,"base64url").toString("utf-8"))}catch{throw Error(`Invalid local JSON event cursor: ${_}`)}let D=N.offset;if(!Number.isInteger(D)||D<0)throw Error(`Invalid local JSON event cursor: ${_}`);return Pz("eventId",N.eventId,$.eventId),Pz("source",N.source,$.source),Pz("type",N.type,$.type),D}function SE(_){if(_===void 0)return Iy;if(!Number.isInteger(_)||_<1)throw Error(`Event page limit must be a positive integer, got ${_}`);return Math.min(_,Ey)}function B7(_,$){let U=_;if($.eventId)U=U.filter((N)=>N.id===$.eventId);if($.source)U=U.filter((N)=>N.source===$.source);if($.type)U=U.filter((N)=>N.type===$.type);if($.cursor){let N=WE($.cursor,$);U=U.slice(N)}if($.limit!==void 0)U=U.slice(0,SE($.limit));return U}function Pz(_,$,U){if($!==U)throw Error(`Local JSON event cursor ${_} filter mismatch`)}function V7(_,$){return _.find((U)=>$.id!==void 0&&U.id===$.id||$.dedupeKey!==void 0&&U.dedupeKey===$.dedupeKey)}async function Wy(_){let $=new JE(_);await $.init();let[U,N,D]=await Promise.all([$.listChannels(),$.listEvents(),$.listDeliveries()]),j=U.reduce((I,E)=>{return I[E.transport]=(I[E.transport]??0)+1,I},{});return{service:"events",schemaVersion:"1.0",dataDir:$.dataDir,storage:$.runtime,env:{primary:EE,fallback:AE,active:Ay()},files:{channels:Oz($.dataDir,"channels.json",U.length),events:Oz($.dataDir,"events.json",N.length),deliveries:Oz($.dataDir,"deliveries.json",D.length)},counts:{channels:U.length,enabledChannels:U.filter((I)=>I.enabled).length,disabledChannels:U.filter((I)=>!I.enabled).length,events:N.length,deliveries:D.length},transports:j,safety:{includesEventPayloads:!1,includesWebhookSecrets:!1,listOutputsRedactSecrets:!0,statusOutputIsMetadataOnly:!0}}}function Oz(_,$,U){let N=EN(_,$);return{path:N,exists:q7(N),records:U}}function Ly(_,$){return`${_}.${$}`}function Py(_,$,U){return`sha256=${Sy("sha256",_).update(Ly($,U)).digest("hex")}`}function J6(){return new Date().toISOString()}function IN(_,$=4096){return _.length>$?`${_.slice(0,$)}...`:_}function Xy(_,$){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let U=JSON.stringify(_),N=_.time,D={"Content-Type":"application/json","User-Agent":"@hasna/events","X-Hasna-Event-Id":_.id,"X-Hasna-Event-Type":_.type,"X-Hasna-Timestamp":N,...$.webhook.headers};if($.webhook.secret)D["X-Hasna-Signature"]=Py($.webhook.secret,N,U);return{body:U,headers:D}}async function Ry(_,$,U={}){if(!$.webhook)throw Error(`Channel ${$.id} has no webhook config`);let N=J6(),{body:D,headers:j}=Xy(_,$),I=new AbortController,E=setTimeout(()=>I.abort(),$.webhook.timeoutMs??15000);try{let J=await(U.fetchImpl??fetch)($.webhook.url,{method:"POST",headers:j,body:D,signal:I.signal}),W=IN(await J.text());return{attempt:1,status:J.ok?"success":"failed",startedAt:N,completedAt:J6(),responseStatus:J.status,responseBody:W,error:J.ok?void 0:`Webhook returned HTTP ${J.status}`}}catch(J){return{attempt:1,status:"failed",startedAt:N,completedAt:J6(),error:J instanceof Error?J.message:String(J)}}finally{clearTimeout(E)}}async function Yy(_,$){if(!$.command)throw Error(`Channel ${$.id} has no command config`);let U=J6(),N=JSON.stringify(_),D={...process.env,...$.command.env,HASNA_CHANNEL_ID:$.id,HASNA_EVENT_ID:_.id,HASNA_EVENT_TYPE:_.type,HASNA_EVENT_SOURCE:_.source,HASNA_EVENT_SUBJECT:_.subject??"",HASNA_EVENT_SEVERITY:_.severity,HASNA_EVENT_TIME:_.time,HASNA_EVENT_DEDUPE_KEY:_.dedupeKey??"",HASNA_EVENT_SCHEMA_VERSION:_.schemaVersion,HASNA_EVENT_JSON:N};return new Promise((j)=>{let I=zy($.command.command,$.command.args??[],{cwd:$.command.cwd,env:D,stdio:["pipe","pipe","pipe"]}),E="",J="",W=setTimeout(()=>I.kill("SIGTERM"),$.command.timeoutMs??15000);I.stdin.end(N),I.stdout.on("data",(S)=>{E+=S.toString()}),I.stderr.on("data",(S)=>{J+=S.toString()}),I.on("error",(S)=>{clearTimeout(W),j({attempt:1,status:"failed",startedAt:U,completedAt:J6(),stdout:IN(E),stderr:IN(J),error:S.message})}),I.on("close",(S,L)=>{clearTimeout(W);let X=S===0;j({attempt:1,status:X?"success":"failed",startedAt:U,completedAt:J6(),stdout:IN(E),stderr:IN(J),error:X?void 0:`Command exited with ${L?`signal ${L}`:`code ${S}`}`})})})}async function Qy(_,$,U={}){if($.transport==="webhook")return Ry(_,$,U);if($.transport==="command")return Yy(_,$);return{attempt:1,status:"skipped",startedAt:J6(),completedAt:J6(),error:`Unsupported transport: ${$.transport}`}}function F7(_,$,U){let N=U.some((D)=>D.status==="success")?"success":U.every((D)=>D.status==="skipped")?"skipped":"failed";return{id:Oy(),eventId:_.id,channelId:$.id,transport:$.transport,status:N,attempts:U,createdAt:U[0]?.startedAt??J6(),completedAt:U.at(-1)?.completedAt??J6()}}class C7 extends Error{eventType;issues;constructor(_,$){let U=$.map((N)=>`${N.path||"<root>"}: ${N.message}`).join("; ");super(`Event validation failed for type "${_}": ${U}`);this.name="EventValidationError",this.eventType=_,this.issues=$}}class w7{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 C7(_.type,$.issues)}}var Gy=new w7;function zz(_){return{id:_.id??Ty(),source:_.source,type:_.type,time:My(_.time),subject:_.subject,severity:_.severity??"info",data:_.data??{},message:_.message,dedupeKey:_.dedupeKey,schemaVersion:_.schemaVersion??"1.0",metadata:_.metadata??{}}}class v7{store;redactors;transportOptions;catalog;validateCatalogTypes;constructor(_={}){this.store=_.store??new JE(_.dataDir),this.redactors=_.redactors??[],this.transportOptions={fetchImpl:_.fetchImpl},this.catalog=_.catalog??Gy,this.validateCatalogTypes=_.validateCatalogTypes??!1}async addChannel(_){let $=new Date().toISOString();return this.store.addChannel({..._,createdAt:_.createdAt??$,updatedAt:_.updatedAt??$})}async listChannels(){return this.store.listChannels()}async removeChannel(_){return this.store.removeChannel(_)}async emit(_,$={}){let U=$.redactSensitiveData===!1?zz(_):Fy(zz(_));if($.validate??this.validateCatalogTypes)this.catalog.assertEventValid(U);let N=await this.appendEvent(U,{dedupe:$.dedupe!==!1});if(N.deduped)return{event:N.event,deliveries:[],deduped:!0};let D=$.deliver===!1?[]:await this.deliver(N.event);return{event:N.event,deliveries:D,deduped:!1}}async listEvents(_={}){if(Object.keys(_).length===0)return this.store.listEvents();return K7(await this.store.listEvents(),_)}async listEventsPage(_={}){if(this.store.listEventsPage)return this.store.listEventsPage(_);let $=K7(await this.store.listEvents(),{eventId:_.eventId,source:_.source,type:_.type}),U=WE(_.cursor,_),N=SE(_.limit),D=$.slice(U,U+N),j=U+D.length,I=j<$.length;return{events:D,cursor:_.cursor,nextCursor:I?b7(j,_):void 0,hasMore:I}}async listDeliveries(){return this.store.listDeliveries()}async deliver(_){let U=(await this.store.listChannels()).filter((D)=>G7(D,_)),N=[];for(let D of U){let j=await this.applyRedaction(_,D),I=await this.deliverWithRetry(j,D);await this.store.appendDelivery(I),N.push(I)}return N}async matchChannel(_,$={}){let U=await this.store.getChannel(_);if(!U)throw Error(`Channel not found: ${_}`);let N=zz({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=G7(U,N);return{channelId:U.id,matched:D,event:N,filters:U.filters,reason:D?void 0:U.enabled?"event did not match channel filters":"channel is disabled"}}async testChannel(_,$={},U={}){let N=await this.store.getChannel(_);if(!N)throw Error(`Channel not found: ${_}`);let D=await this.matchChannel(_,$),j=D.event;if(U.honorFilters&&!D.matched){let J=new Date().toISOString(),W=F7(j,N,[{attempt:1,status:"skipped",startedAt:J,completedAt:J,error:D.reason}]);return W.metadata={reason:"filter_mismatch"},await this.store.appendDelivery(W),W}let I=await this.applyRedaction(j,N),E=await this.deliverWithRetry(I,N);return await this.store.appendDelivery(E),E}async replay(_={}){let $=_.cursor||_.limit!==void 0?await this.listEventsPage(_):{events:await this.listEvents(_),hasMore:!1};if(_.dryRun)return{events:$.events,deliveries:[],cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore};let U=[];for(let N of $.events)U.push(...await this.deliver(N));return{events:$.events,deliveries:U,cursor:$.cursor,nextCursor:$.nextCursor,hasMore:$.hasMore}}async appendEvent(_,$){if(this.store.appendEventOnce)return this.store.appendEventOnce(_,{dedupe:$.dedupe});if($.dedupe){let N=await this.store.findEventByIdentity({id:_.id,dedupeKey:_.dedupeKey});if(N)return{event:N,stored:!1,deduped:!0,identity:{id:N.id,dedupeKey:N.dedupeKey}}}let U=await this.store.appendEvent(_);return{event:U,stored:!0,deduped:!1,identity:{id:U.id,dedupeKey:U.dedupeKey}}}async applyRedaction(_,$){let U=By(_,$.redact?.paths??[],$.redact?.replacement??"[REDACTED]");for(let N of this.redactors)U=await N(U,$);return U}async deliverWithRetry(_,$){let U=gy($.retry),N=[];for(let D=0;D<U.maxAttempts;D+=1){let j=await Qy(_,$,this.transportOptions);if(j.attempt=D+1,j.status==="failed"&&D+1<U.maxAttempts)j.nextBackoffMs=Math.round(U.backoffMs*U.multiplier**D);if(N.push(j),j.status!=="failed")break;if(j.nextBackoffMs)await Bun.sleep(j.nextBackoffMs)}return F7(_,$,N)}}function By(_,$,U="[REDACTED]"){if($.length===0)return _;let N=structuredClone(_);for(let D of $)Ky(N,D,U);return N}function f7(_){let $=structuredClone(_);if($.webhook?.secret)$.webhook.secret="[REDACTED]";if($.command?.env)$.command.env=Object.fromEntries(Object.entries($.command.env).map(([U,N])=>[U,x7(U)?"[REDACTED]":N]));return $}function Vy(_){return _.map(f7)}function Fy(_,$="[REDACTED]"){return Rz(_,$)}function x7(_){return/secret|token|password|api[_-]?key|authorization/i.test(_)}function Rz(_,$){if(Array.isArray(_))return _.map((U)=>Rz(U,$));if(!_||typeof _!=="object")return _;return Object.fromEntries(Object.entries(_).map(([U,N])=>[U,x7(U)?$:Rz(N,$)]))}function Ky(_,$,U){let N=$.split("."),D=_;for(let I of N.slice(0,-1)){let E=D[I];if(!E||typeof E!=="object")return;D=E}let j=N.at(-1);if(j&&j in D)D[j]=U}function K7(_,$){let U=_;if($.eventId)U=U.filter((N)=>N.id===$.eventId);if($.source)U=U.filter((N)=>N.source===$.source);if($.type)U=U.filter((N)=>N.type===$.type);if($.cursor)U=U.slice(WE($.cursor,$));if($.limit!==void 0)U=U.slice(0,SE($.limit));return U}function My(_){if(!_)return new Date().toISOString();return _ instanceof Date?_.toISOString():_}function gy(_){return{maxAttempts:Math.max(1,_?.maxAttempts??1),backoffMs:Math.max(0,_?.backoffMs??250),multiplier:Math.max(1,_?.multiplier??2)}}function IE(_,$,U=!1){if(!_?.length)return;let N={};for(let D of _){let j=qy(D,$),I=j.path;if(I in N)throw Error(`Duplicate ${$} filter path: ${I}`);let E=U?Hy(j.rawValue,$):j.rawValue;N[I]=j.negated?{not:E}:E}return N}function Zy(_){let $={};if(_.source)$.source=_.source;if(_.type)$.type=_.type;if(_.subject)$.subject=_.subject;if(_.severity)$.severity=_.severity;let U=M7(IE(_.data,"data"),IE(_.dataJson,"data-json",!0)),N=M7(IE(_.metadata,"metadata"),IE(_.metadataJson,"metadata-json",!0));if(Object.keys(U).length>0)$.data=U;if(Object.keys(N).length>0)$.metadata=N;return Object.keys($).length>0?[$]:void 0}function M7(..._){let $={};for(let U of _){if(!U)continue;for(let[N,D]of Object.entries(U)){if(N in $)throw Error(`Duplicate filter path: ${N}`);$[N]=D}}return $}function Hy(_,$){let U=JSON.parse(_);if(U===null||typeof U==="string"||typeof U==="number"||typeof U==="boolean"||Array.isArray(U)&&U.every((N)=>typeof N==="string"))return U;throw Error(`${$} filter JSON values must be string, string[], number, boolean, or null`)}function qy(_,$){let U=_.indexOf("!=");if(U>0)return{path:_.slice(0,U),rawValue:_.slice(U+2),negated:!0};let N=_.indexOf("=");if(N<=0)throw Error(`Invalid ${$} filter, expected path=value or path!=value: ${_}`);return{path:_.slice(0,N),rawValue:_.slice(N+1),negated:!1}}var ky=100;function eU(_,$){if(!_)return $;let U=JSON.parse(_);if(!U||typeof U!=="object"||Array.isArray(U))throw Error("Expected a JSON object");return U}function by(_){if(!_?.length)return;let $={};for(let U of _){let N=U.indexOf("=");if(N===-1)throw Error(`Invalid header, expected name=value: ${U}`);$[U.slice(0,N)]=U.slice(N+1)}return $}function z4(_){if(_.createClient)return _.createClient();return new v7({store:new JE(_.dataDir)})}function G0(_,$,U){if($)console.log(JSON.stringify(_,null,2));else console.log(U)}function g7(_,$){let U=_ instanceof Error?_.message:String(_);if($)console.log(JSON.stringify({error:U},null,2));else console.error(U);process.exitCode=1}function Z7(_){return Boolean(_?.json||_?.opts?.().json||_?.optsWithGlobals?.().json||_?.parent?.opts?.().json||_?.parent?.optsWithGlobals?.().json)}function v6(_,$){return Z7(_)||Z7($)}function Cy(_,$){let U=_.command($.channelsCommandName??"channels").description("Manage Hasna event channels");return U.command("add").description("Add or replace a channel").argument("<target>","Webhook URL or command binary").requiredOption("--id <id>","Channel identifier").option("--transport <kind>","Transport kind: webhook or command","webhook").option("--name <name>","Display name").option("--type <pattern>","Event type filter, e.g. todos.task.*").option("--source <pattern>","Event source filter").option("--subject <pattern>","Event subject filter").option("--severity <pattern>","Event severity filter").option("--data <path=value...>","Event data field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",Q0,[]).option("--metadata <path=value...>","Event metadata field filter; string values, path!=value negatives, array-member matching, dot paths, * segment wildcard, ** recursive wildcard",Q0,[]).option("--data-json <path=json...>","Event data field filter with typed JSON value; path!=json negatives supported",Q0,[]).option("--metadata-json <path=json...>","Event metadata field filter with typed JSON value; path!=json negatives supported",Q0,[]).option("--secret <secret>","Webhook HMAC secret").option("--header <name=value...>","Webhook header",Q0,[]).option("--arg <arg...>","Command argument",Q0,[]).option("--timeout-ms <ms>","Transport timeout in milliseconds",AN).option("--retry-attempts <n>","Maximum delivery attempts",AN).option("--retry-backoff-ms <ms>","Initial retry backoff in milliseconds",AN).option("--redact <path...>","Event field path to redact before delivery",Q0,[]).option("--disabled","Create channel disabled",!1).option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=new Date().toISOString(),E={id:D.id,name:D.name,enabled:!D.disabled,transport:D.transport,filters:Zy(D),retry:D.retryAttempts||D.retryBackoffMs?{maxAttempts:D.retryAttempts,backoffMs:D.retryBackoffMs}:void 0,redact:D.redact?.length?{paths:D.redact}:void 0,createdAt:I,updatedAt:I};if(D.transport==="webhook")E.webhook={url:N,secret:D.secret,headers:by(D.header),timeoutMs:D.timeoutMs};else if(D.transport==="command")E.command={command:N,args:D.arg??[],timeoutMs:D.timeoutMs};else throw Error(`Transport ${D.transport} is reserved for future use and cannot be added yet`);let J=await z4($).addChannel(E);G0(f7(J),v6(D,j),`Added ${J.transport} channel ${J.id}`)}),U.command("list").description("List configured channels").option("-j, --json","Print JSON output",!1).action(async(N,D)=>{let j=await z4($).listChannels();if(v6(N,D)){console.log(JSON.stringify(Vy(j),null,2));return}if(!j.length){console.log("No channels configured.");return}for(let I of j)console.log(`${I.id} ${I.enabled?"enabled":"disabled"} ${I.transport} ${I.webhook?.url??I.command?.command??I.transport}`)}),U.command("status").description("Show events channel storage status").option("-j, --json","Print JSON output",!1).action(async(N,D)=>{let j=await Wy($.dataDir);G0(j,v6(N,D),`events dataDir: ${j.dataDir}`)}),U.command("remove").description("Remove a channel").argument("<id>","Channel identifier").option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=await z4($).removeChannel(N);G0({removed:I},v6(D,j),I?`Removed ${N}`:`Channel not found: ${N}`)}),U.command("test").description("Send a test event to one channel").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events test delivery").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--honor-filters","Skip delivery when the sample event does not match channel filters",!1).option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=v6(D,j);try{let E=await z4($).testChannel(N,{source:D.source??$.source,type:D.type,subject:D.subject??N,message:D.message,data:eU(D.data,{test:!0}),metadata:eU(D.metadata,{})},{honorFilters:D.honorFilters});G0(E,I,`${E.status}: ${E.channelId}`)}catch(E){g7(E,I)}}),U.command("match").description("Check whether a sample event matches one channel without delivering").argument("<id>","Channel identifier").option("--source <source>","Event source override").option("--type <type>","Event type","events.test").option("--subject <subject>","Event subject").option("--message <message>","Event message","Hasna events match preview").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("-j, --json","Print JSON output",!1).action(async(N,D,j)=>{let I=v6(D,j);try{let E=await z4($).matchChannel(N,{source:D.source??$.source,type:D.type,subject:D.subject??N,message:D.message,data:eU(D.data,{test:!0}),metadata:eU(D.metadata,{})});G0(E,I,`${E.matched?"matched":"skipped"}: ${E.channelId}`)}catch(E){g7(E,I)}}),U}function wy(_,$){let U=_.command($.eventsCommandName??"events").description("Emit, list, and replay Hasna events");U.command("emit").description("Emit an event from this app").argument("<type>","Event type").option("--source <source>","Event source override").option("--subject <subject>","Event subject").option("--severity <severity>","Event severity","info").option("--message <message>","Event message").option("--dedupe-key <key>","Dedupe key").option("--data <json>","Event data JSON object").option("--metadata <json>","Event metadata JSON object").option("--no-deliver","Record without delivering").option("--no-dedupe","Allow duplicate id/dedupeKey events").option("-j, --json","Print JSON output",!1).action(async(D,j,I)=>{let E=await z4($).emit({source:j.source??$.source,type:D,subject:j.subject,severity:j.severity,message:j.message,dedupeKey:j.dedupeKey,data:eU(j.data,{}),metadata:eU(j.metadata,{})},{deliver:j.deliver,dedupe:j.dedupe});G0(E,v6(j,I),`${E.deduped?"Deduped":"Emitted"} ${E.event.id} to ${E.deliveries.length} channel(s)`)});let N=$.defaultEventListLimit??ky;return U.command("list").description("List recorded events").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--limit <n>",`Limit to the most recent <n> events (default ${N}; use 0 for all)`,AN,N).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let I=await z4($).listEvents();if(D.source)I=I.filter((E)=>E.source===D.source);if(D.type)I=I.filter((E)=>E.type===D.type);if(D.limit)I=I.slice(-D.limit);if(v6(D,j)){console.log(JSON.stringify(I,null,2));return}if(!I.length){console.log("No events recorded.");return}for(let E of I)console.log(`${E.time} ${E.id} ${E.source} ${E.type} ${E.severity}`)}),U.command("replay").description("Replay recorded events").option("--id <id>","Replay one event id").option("--source <source>","Filter by source").option("--type <type>","Filter by type").option("--cursor <cursor>","Opaque replay cursor from a previous page").option("--limit <n>","Maximum events to replay",AN).option("--dry-run","Preview without delivery",!1).option("-j, --json","Print JSON output",!1).action(async(D,j)=>{let I=await z4($).replay({eventId:D.id,source:D.source,type:D.type,cursor:D.cursor,limit:D.limit,dryRun:D.dryRun});G0(I,v6(D,j),vy(I.events.length,I.deliveries.length,I.nextCursor))}),U}function y7(_,$){Cy(_,$),wy(_,$)}function AN(_){let $=Number(_);if(!Number.isFinite($))throw Error(`Expected a number, got ${_}`);return $}function Q0(_,$){return $.push(_),$}function vy(_,$,U){let N=U?`, next cursor: ${U}`:"";return`Replayed ${_} event(s), ${$} delivery result(s)${N}`}import{basename as fy,dirname as xy,join as yy}from"path";var u7={debug:0,info:1,warn:2,error:3},uy=()=>{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 B0(_,$,U){if(u7[_]<u7[uy()])return;let N={debug:"[DEBUG]",info:"[INFO]",warn:"[WARN]",error:"[ERROR]"}[_],D=U?`${N} ${$} ${JSON.stringify(U)}`:`${N} ${$}`;if(_==="error")console.error(D);else console.error(D)}var n7=["events","webhooks"],d7=["add","list","get","delete","update","archive","restore","upsert","untag","versions","diff","export","prune","dedupe","stats","inventory","project-panel","project-registration","project-membership","project-resources","project-resource","paths","mode","guarded","setup","auth","storage","machines","sync","db","wiki","app-wiki","source","ingest","reindex","search","context","proposals","web","ask","build","embeddings","providers","safety","help",...n7],l7={ls:"list",rm:"delete",edit:"update",unarchive:"restore"},hy=/^k_[A-Za-z0-9][A-Za-z0-9_-]*$/;async function ry(_,$,U){if(/\s/.test($))return!0;if(_.length<=1)return!1;let N=_[1]??"";if(hy.test(N))return!1;return await U.get(N)===null}function cy(_){let $=new Set,U=[];for(let N of _){let D=N.toLowerCase();if($.has(D))continue;$.add(D),U.push(N)}return U}function h7(_,$){let U=new Set((_??[]).map((N)=>N.toLowerCase()));return $.filter((N)=>!U.has(N.toLowerCase()))}function Yz(_,$,U){if(U===void 0)return{..._,message:$};return{..._,added:U.length,message:`${$} (added ${U.length} tag${U.length===1?"":"s"})`}}function my(_,$){if($===void 0)throw Error("Missing value for --tag. Example: knowledge add <title> <content> -t <tag> -t <tag>");let U=$.split(",").map((N)=>N.trim()).filter((N)=>N.length>0);if(U.length===0)throw Error(`Invalid --tag value ${JSON.stringify($)}: no tag name found. Example: knowledge add <title> <content> -t <tag> -t <tag>`);return cy([..._??[],...U])}function ny(_){let $=[],U={},N=_.indexOf("guarded"),D=N>=0&&_.indexOf("execute-descriptor",N+1)>=0,j=!1;for(let I=0;I<_.length;I+=1){let E=_[I];if(j){$.push(E);continue}if(E==="--"){j=!0;continue}if(!E.startsWith("-")||$[0]==="add"&&$.length===2&&E.startsWith("---")){$.push(E);continue}switch(E){case"--json":U.json=!0;break;case"--verbose":U.verbose=!0;break;case"--yes":case"-y":U.yes=!0;break;case"--help":case"-h":U.help=!0;break;case"--version":case"-v":U.version=!0;break;case"--desc":U.desc=!0;break;case"--page":case"-p":U.page=Number(_[I+1]),I+=1;break;case"--limit":case"-l":U.limit=Number(_[I+1]),I+=1;break;case"--search":case"-s":U.search=_[I+1],I+=1;break;case"--sort":U.sort=_[I+1],I+=1;break;case"--id":U.id=_[I+1],I+=1;break;case"--store":U.store=_[I+1],I+=1;break;case"--title":U.title=_[I+1],I+=1;break;case"--content":U.content=_[I+1],I+=1;break;case"--url":U.url=_[I+1],I+=1;break;case"--tag":case"-t":U.tag=my(U.tag,_[I+1]),U.tagRaw=[...U.tagRaw??[],_[I+1]],I+=1;break;case"--format":U.format=_[I+1],I+=1;break;case"--completions":U.completions=_[I+1],I+=1;break;case"--purpose":U.purpose=_[I+1],I+=1;break;case"--model":U.model=_[I+1],I+=1;break;case"--strategy":U.strategy=_[I+1],I+=1;break;case"--dimensions":U.dimensions=Number(_[I+1]),I+=1;break;case"--semantic":U.semantic=!0;break;case"--context":U.context=!0;break;case"--max-tokens":U.maxTokens=Number(_[I+1]),I+=1;break;case"--max-items":U.maxItems=Number(_[I+1]),I+=1;break;case"--from":U.from=_[I+1],I+=1;break;case"--to":U.to=_[I+1],I+=1;break;case"--rev":U.rev=Number(_[I+1]),I+=1;break;case"--if-version":U.ifVersion=Number(_[I+1]),I+=1;break;case"--since":U.since=_[I+1],I+=1;break;case"--topic":U.topic=_[I+1],I+=1;break;case"--dedupe":U.dedupe=!0;break;case"--generate":U.generate=!0;break;case"--approve-write":U.approveWrite=!0;break;case"--provider":U.provider=_[I+1],I+=1;break;case"--mode":U.mode=_[I+1],I+=1;break;case"--machine":U.machine=_[I+1],I+=1;break;case"--workspace":U.workspace=_[I+1],I+=1;break;case"--api-url":U.apiUrl=_[I+1],I+=1;break;case"--canonical-example":U.canonicalExample=!0;break;case"--api-key":U.apiKey=_[I+1],I+=1;break;case"--email":U.email=_[I+1],I+=1;break;case"--org":U.org=_[I+1],I+=1;break;case"--org-id":U.orgId=_[I+1],I+=1;break;case"--user-id":U.userId=_[I+1],I+=1;break;case"--owner":U.owner=_[I+1],I+=1;break;case"--approved-by":U.approvedBy=_[I+1],I+=1;break;case"--patch-uri":U.patchUri=_[I+1],I+=1;break;case"--domain":U.domain=[...U.domain??[],_[I+1]],I+=1;break;case"--file-results":U.fileResults=!0;break;case"--full":U.full=!0;break;case"--dry-run":U.dryRun=!0;break;case"--fake":U.fake=!0;break;case"--no-tailscale":U.tailscale=!1;break;case"--no-artifact-content":U.artifactContent=!1;break;case"--no-color":U.noColor=!0;break;case"--scope":U.scope=_[I+1],I+=1;break;case"--tables":U.tables=_[I+1],I+=1;break;case"--peer-workspace":U.peerWorkspace=_[I+1],I+=1;break;case"--older-than":U.olderThan=Number(_[I+1]),I+=1;break;case"--empty":U.empty=!0;break;case"--archived":U.archived=!0;break;case"--include-archived":U.includeArchived=!0;break;case"--project":U.project=_[I+1],I+=1;break;case"--contract":U.contract=!0;break;case"--source-ref":U.sourceRef=[...U.sourceRef??[],_[I+1]],I+=1;break;case"--allow-global":U.allowGlobal=!0;break;case"--operation-id":U.operationId=_[I+1],I+=1;break;case"--step-id":U.stepId=_[I+1],I+=1;break;case"--idempotency-key":U.idempotencyKey=_[I+1],I+=1;break;case"--collection-id":U.collectionId=_[I+1],I+=1;break;case"--item-id":U.itemId=_[I+1],I+=1;break;case"--receipt-id":U.receiptId=_[I+1],I+=1;break;case"--cursor":U.cursor=_[I+1],I+=1;break;case"--kind":U.kind=[...U.kind??[],_[I+1]],I+=1;break;case"--all":U.all=!0;break;case"--slug":U.slug=_[I+1],I+=1;break;case"--name":U.name=_[I+1],I+=1;break;case"--collection-slug":U.collectionSlug=_[I+1],I+=1;break;case"--collection-name":U.collectionName=_[I+1],I+=1;break;case"--request-fd":U.requestFd=Number(_[I+1]),I+=1;break;case"--result-fd":U.resultFd=Number(_[I+1]),I+=1;break;case"--ipc":U.ipc=!0;break;default:if(D)throw Error("guarded_descriptor_public_input_refused");throw Error(`Unknown flag: ${E}. Run 'knowledge --help' for valid options.`)}}return{positional:$,flags:U}}function dy(_){if(!_)return"";return l7[_]??_}function ly(_,$){let U=Array.from({length:_.length+1},()=>Array($.length+1).fill(0));for(let N=0;N<=_.length;N+=1)U[N][0]=N;for(let N=0;N<=$.length;N+=1)U[0][N]=N;for(let N=1;N<=_.length;N+=1)for(let D=1;D<=$.length;D+=1){let j=_[N-1]===$[D-1]?0:1;U[N][D]=Math.min(U[N-1][D]+1,U[N][D-1]+1,U[N-1][D-1]+j)}return U[_.length][$.length]}function iy(_){if(!_)return"";let $=[...d7,...Object.keys(l7)],U="",N=Number.POSITIVE_INFINITY;for(let D of $){let j=ly(_,D);if(j<N)N=j,U=D}return N<=3?U:""}function ty(){return fy(process.argv[1]??"").replace(/\.(?:js|ts|mjs|cjs)$/,"")==="knowledge"}async function oy(_){if(!n7.includes(_[0]??""))return!1;let $=new R7;return $.name("knowledge").description("Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions"),y7($,{source:"knowledge"}),await $.parseAsync(_,{from:"user"}),!0}function py(){console.log(`knowledge - local agent knowledge store Usage: knowledge <command> [options] @@ -3099,4 +3099,4 @@ ${s_()}`:sy(_))}function s_(_="full details"){return`Hint: use --verbose for ${_ `)}function zu(_,$){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 m7(_){return!_||_==="local"||_==="localhost"}function T0(_){if(!_.id)throw Error("Missing required --id. Example: knowledge get --id <id>")}function Xu(_,$){let U=$.sort??"created";if(U!=="created"&&U!=="title")throw Error("Invalid --sort value. Use 'created' or 'title'.");let N=[..._].sort((D,j)=>{if(U==="title")return D.title.localeCompare(j.title);return D.created_at.localeCompare(j.created_at)});if($.desc)N.reverse();return{sorted:N,sort:U,direction:$.desc?"desc":"asc"}}async function Ru(_){if(await oy(_))return;let{positional:$,flags:U}=ny(_);if(B0("debug","CLI invoked",{command:$[0],flags:{json:U.json,store:U.store}}),U.version){console.log(U.json?JSON.stringify({name:L$.name,version:L$.version},null,2):`${L$.name} ${L$.version}`);return}if(U.completions){let W=U.completions;if(W==="bash")console.log('_knowledge() { local cur; cur="${COMP_WORDS[COMP_CWORD]}"; COMPREPLY=($(compgen -W "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive --json --verbose --yes --help --version --desc --page --limit --search --sort --id --store --title --content --url --tag --rev --to --format --completions --purpose --model --dimensions --semantic --context --max-tokens --max-items --from --since --topic --dedupe --generate --approve-write --provider --mode --machine --workspace --peer-workspace --api-url --canonical-example --api-key --email --org --org-id --user-id --owner --domain --file-results --full --dry-run --fake --no-tailscale --no-artifact-content --no-color --scope --tables --archived --include-archived --project --operation-id --step-id --idempotency-key --slug --name --collection-id --collection-slug --collection-name --item-id --receipt-id --cursor --kind --all --contract --source-ref --allow-global" -- "$cur")); }; complete -F _knowledge knowledge');else if(W==="zsh")console.log(`#compdef knowledge _knowledge() { _arguments -C "1: :(add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive)" "(--json)--json" "(--verbose)--verbose" "(--yes)-y" "(--help)--help" "(--version)--version" "(--desc)--desc" "(--archived)--archived" "(--include-archived)--include-archived" "(--semantic)--semantic" "(--context)--context" "(--dedupe)--dedupe" "(--generate)--generate" "(--approve-write)--approve-write" "(--canonical-example)--canonical-example" "(--file-results)--file-results" "(--full)--full" "(--dry-run)--dry-run" "(--fake)--fake" "(--no-tailscale)--no-tailscale" "(--no-artifact-content)--no-artifact-content" "(--all)--all" "(--contract)--contract" "(--allow-global)--allow-global" "(-p --page)"{-p,--page}"[page number]:number:" "(-l --limit)"{-l,--limit}"[items per page]:number:" "(--search)--search[search text]:text:" "(--sort)--sort"{created,title}:" "(--id)--id[item id]:id:" "(--store)--store[store path]:path:" "(--title)--title[new title]:" "(--content)--content[new content]:" "(--url)--url[source url]:" "(-t --tag)"{-t,--tag}"[tag]:tag:" "(--format)--format[json|jsonl]:" "(--completions)--completions[output completions]:shell:(bash zsh fish):" "(--purpose)--purpose[purpose]:" "(--model)--model[model ref]:" "(--dimensions)--dimensions[embedding dimensions]:number:" "(--max-tokens)--max-tokens[token budget]:number:" "(--max-items)--max-items[item budget]:number:" "(--from)--from"{search,loops,runs}:" "(--to)--to[diff target: version number or current]:" "(--rev)--rev[entry version for diff]:number:" "(--since)--since[duration or ISO time]:" "(--topic)--topic[topic text]:" "(--provider)--provider[provider]:" "(--mode)--mode"{local,hosted}:" "(--machine)--machine[machine id or SSH alias]:" "(--workspace)--workspace[repo workspace path]:path:" "(--peer-workspace)--peer-workspace[peer repo or knowledge home path]:path:" "(--api-url)--api-url[hosted API URL]:" "(--api-key)--api-key[hosted API key]:" "(--email)--email[email]:" "(--org)--org[org slug]:" "(--org-id)--org-id[org id]:" "(--user-id)--user-id[user id]:" "(--owner)--owner[provenance owner]:" "(--domain)--domain[domain]:" "(--project)--project[project id/name/slug]:" "(--operation-id)--operation-id[registration operation id]:" "(--step-id)--step-id[registration step id]:" "(--idempotency-key)--idempotency-key[caller idempotency key]:" "(--slug)--slug[project slug]:" "(--name)--name[project name]:" "(--collection-id)--collection-id[exact collection id]:" "(--collection-slug)--collection-slug[collection slug]:" "(--collection-name)--collection-name[collection name]:" "(--item-id)--item-id[exact item id]:" "(--receipt-id)--receipt-id[exact receipt id]:" "(--cursor)--cursor[resource cursor]:" "(--kind)--kind[resource kind]:(project collection item taxonomy):" "(--source-ref)--source-ref[source ref]:" "(--no-color)--no-color[disable color]" "(--scope)--scope"{local,global,project}:" "(--tables)--tables[comma-separated DB sync tables]:" }; _knowledge`);else if(W==="fish")console.log('complete -c knowledge -f; complete -c knowledge -a "add list get update archive restore upsert untag versions diff delete export prune dedupe stats inventory project-panel project-registration project-membership project-resources project-resource paths mode guarded setup auth storage machines sync db wiki app-wiki source ingest reindex search context proposals web ask build embeddings providers safety events webhooks help ls rm edit unarchive"; complete -c knowledge -l json; complete -c knowledge -l verbose; complete -c knowledge -l yes -s y; complete -c knowledge -l help -s h; complete -c knowledge -l version -s v; complete -c knowledge -l desc; complete -c knowledge -l archived; complete -c knowledge -l include-archived; complete -c knowledge -l semantic; complete -c knowledge -l context; complete -c knowledge -l max-tokens; complete -c knowledge -l max-items; complete -c knowledge -l from -a "search loops runs"; complete -c knowledge -l to; complete -c knowledge -l rev; complete -c knowledge -l since; complete -c knowledge -l topic; complete -c knowledge -l dedupe; complete -c knowledge -l generate; complete -c knowledge -l approve-write; complete -c knowledge -l allow-global; complete -c knowledge -l canonical-example; complete -c knowledge -l provider; complete -c knowledge -l mode; complete -c knowledge -l machine; complete -c knowledge -l workspace; complete -c knowledge -l peer-workspace; complete -c knowledge -l api-url; complete -c knowledge -l api-key; complete -c knowledge -l email; complete -c knowledge -l org; complete -c knowledge -l org-id; complete -c knowledge -l user-id; complete -c knowledge -l owner; complete -c knowledge -l domain; complete -c knowledge -l project; complete -c knowledge -l operation-id; complete -c knowledge -l step-id; complete -c knowledge -l idempotency-key; complete -c knowledge -l slug; complete -c knowledge -l name; complete -c knowledge -l collection-id; complete -c knowledge -l collection-slug; complete -c knowledge -l collection-name; complete -c knowledge -l item-id; complete -c knowledge -l receipt-id; complete -c knowledge -l cursor; complete -c knowledge -l kind -a "project collection item taxonomy"; complete -c knowledge -l all; complete -c knowledge -l contract; complete -c knowledge -l source-ref; complete -c knowledge -l file-results; complete -c knowledge -l full; complete -c knowledge -l dry-run; complete -c knowledge -l fake; complete -c knowledge -l no-tailscale; complete -c knowledge -l no-artifact-content; complete -c knowledge -s p -l page; complete -c knowledge -s l -l limit; complete -c knowledge -s s -l search; complete -c knowledge -l sort; complete -c knowledge -l id; complete -c knowledge -l store; complete -c knowledge -l title; complete -c knowledge -l content; complete -c knowledge -l url; complete -c knowledge -s t -l tag; complete -c knowledge -l format; complete -c knowledge -l completions; complete -c knowledge -l purpose; complete -c knowledge -l model; complete -c knowledge -l dimensions; complete -c knowledge -l no-color; complete -c knowledge -l scope -a "local global project"; complete -c knowledge -l tables');else throw Error("Invalid --completions value. Use 'bash', 'zsh', or 'fish'.");return}let N=dy($[0]),D=1,j=ty()&&N&&!d7.includes(N);if(!N||U.help||N==="help"){let W=N==="help"?$[1]:N||$[1];ay(W);return}if(N==="mode"){let W=zX(process.env);b(U.json||U.verbose?{ok:!0,...W}:_u(W),U.json,U);return}if(N==="guarded"){let W=$[1]??"capabilities";if(W==="capabilities"){b({ok:!0,contract:"FCAME-1",private_input:!0,private_result:!0,exact_title_lookup:!0,private_transport_body_output:!1,private_cli_descriptor_transport:!0,private_cli_transport:"process_ipc",guarded_actions:["create","update","query","readback"]},U.json,U);return}if(W!=="execute-descriptor")throw Error("Usage: knowledge guarded capabilities|execute-descriptor [--json]");let S=[U.title,U.content,U.url,U.tag,U.tagRaw,U.id,U.itemId,U.operationId,U.stepId,U.idempotencyKey,U.sourceRef,U.search,U.topic,U.project,U.collectionId,U.collectionSlug,U.collectionName].some((L)=>L!==void 0);if($.length!==2||S)throw Error("guarded_descriptor_public_input_refused");if(U.ipc){if(U.requestFd!==void 0||U.resultFd!==void 0)throw Error("guarded_descriptor_private_transport_ambiguous");b({ok:!0,...await iG(process.env)},U.json,U);return}if(!Number.isInteger(U.requestFd)||!Number.isInteger(U.resultFd)||U.requestFd<3||U.resultFd<3)throw Error("guarded_descriptor_private_fds_required");b({ok:!0,...await lG(U.requestFd,U.resultFd,process.env)},U.json,U);return}OX(process.env,{storePathOverridden:Boolean(U.store)});let I=N==="project-panel"||N==="app-wiki"?U.scope??"project":U.scope,E=r2({scope:I}),J;try{if(N==="storage"){let P=$[1]??"status";if(P==="import-legacy"){if(U.scope&&U.scope!=="global")throw Error("knowledge storage import-legacy only supports --scope global because ~/.open-knowledge is a global legacy store.");let O=gE({dryRun:U.dryRun});if(b(O,U.json),!O.ok)process.exitCode=1;return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=E.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=E.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}}let W=Boolean(U.store),S=U.store;if(!S)if(I==="project"||I==="local")S=E.workspace.jsonStorePath;else S=LN();let L=QN({storePath:S,storePathOverridden:W});if(j&&await ry($,N,L))N="ask",D=0;if(!W&&(N==="ask"||N==="build")&&!p$())jD(S);let X=()=>{if(!W||p$())return E.projectLinksAuthority();return J??=v2({databasePath:yy(xy(S),"knowledge.db"),itemStore:L,options:{packageVersion:L$.version,authorityId:process.env.HASNA_KNOWLEDGE_PROJECT_AUTHORITY_ID??"knowledge",tenantId:process.env.HASNA_KNOWLEDGE_PROJECT_TENANT_ID??"local",corpusId:process.env.HASNA_KNOWLEDGE_PROJECT_CORPUS_ID??"knowledge"}}),J};if(N==="project-registration"){let P=$[1]??"capability",O=X();if(P==="capability"){b({ok:!0,capability:await O.capability()},U.json,U);return}if(P==="create"){let R=await O.capability(),Q=U.project,V=U.slug,G=U.name;if(!U.operationId||!U.stepId||!U.idempotencyKey||!Q||!V||!G)throw Error("Usage: knowledge project-registration create --operation-id <id> --step-id <id> --idempotency-key <key> --project <id> --slug <slug> --name <name> [--collection-slug <slug>] [--collection-name <name>] [--json]");let T={collection_slug:U.collectionSlug??`${V}-knowledge`,collection_name:U.collectionName??`${G} Knowledge`},F=Z_({action:"register_collection",source_project_id:Q,project_slug:V,project_name:G,collection_slug:T.collection_slug,collection_name:T.collection_name,membership_rule:"explicit_collection_binding"}),M=await O.registerCollection({operation_id:U.operationId,step_id:U.stepId,resource_kind:"collection",direction:"forward",authority_route:h$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,target_selector:Q,idempotency_key:U.idempotencyKey,request_digest:F,precondition_digest:Z_({source_project_id:Q,expected:"absent_or_exact_match"}),project_id:Q,project_slug:V,project_name:G,desired:T});b({ok:M.outcome==="accepted",receipt:M},U.json,U);return}if(P==="read-exact"){if(!U.collectionId)throw Error("Usage: knowledge project-registration read-exact --collection-id <uuid> [--json]");b({ok:!0,record:await O.readCollection(U.collectionId)},U.json,U);return}if(P==="receipt"){let R=$[2],Q=$[3];if(!U.operationId||!U.stepId||!U.idempotencyKey||!R||!Q)throw Error("Usage: knowledge project-registration receipt <register_collection|bind_item> <forward|inverse> --operation-id <id> --step-id <id> --idempotency-key <key> [--json]");let V=await O.capability(),G=await O.lookupReceipt({authority_id:V.authority_id,tenant_id:V.tenant_id,corpus_id:V.corpus_id,operation_id:U.operationId,step_id:U.stepId,action:R,direction:Q,idempotency_key:U.idempotencyKey,max_items:1});b({ok:!0,receipt:G},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-registration ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let R=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:h$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},V=P==="compensate"?{receipt:await O.compensateRegistration(Q)}:{verification:await O.verifyRegistrationInverse(Q)};b({ok:!0,...V},U.json,U);return}throw Error("Invalid project-registration action. Use capability, create, read-exact, receipt, compensate, or verify-inverse.")}if(N==="project-membership"){let P=$[1]??"read-exact",O=X();if(P==="bind"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership bind --operation-id <id> --step-id <id> --idempotency-key <key> --collection-id <uuid> --item-id <id> [--json]");let R=await O.capability(),Q=await O.bindItem({operation_id:U.operationId,step_id:U.stepId,direction:"forward",authority_route:h$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,idempotency_key:U.idempotencyKey,request_digest:Z_({action:"bind_item",collection_id:U.collectionId,item_id:U.itemId}),precondition_digest:Z_({collection_id:U.collectionId,item_id:U.itemId,expected:"unbound_or_exact_membership"}),collection_id:U.collectionId,item_id:U.itemId});b({ok:Q.outcome==="accepted",receipt:Q},U.json,U);return}if(P==="read-exact"){if(!U.collectionId||!U.itemId)throw Error("Usage: knowledge project-membership read-exact --collection-id <uuid> --item-id <id> [--json]");b({ok:!0,record:await O.readItemBinding(U.collectionId,U.itemId)},U.json,U);return}if(P==="compensate"||P==="verify-inverse"){if(!U.operationId||!U.stepId||!U.idempotencyKey||!U.receiptId)throw Error(`Usage: knowledge project-membership ${P} --operation-id <id> --step-id <id> --idempotency-key <key> --receipt-id <accepted-receipt-id> [--json]`);let R=await O.capability(),Q={operation_id:U.operationId,step_id:U.stepId,authority_route:h$,package_version:R.package_version,authority_id:R.authority_id,tenant_id:R.tenant_id,corpus_id:R.corpus_id,idempotency_key:U.idempotencyKey,accepted_receipt_id:U.receiptId},V=P==="compensate"?{receipt:await O.compensateItemBinding(Q)}:{verification:await O.verifyItemBindingInverse(Q)};b({ok:!0,...V},U.json,U);return}throw Error("Invalid project-membership action. Use bind, read-exact, compensate, or verify-inverse.")}if(N==="project-resources"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-resources <project-id> [--kind <kind>]... [--limit <n>] [--cursor <cursor>] [--all] [--json]");let O=X(),R=U.kind,Q=U.all?{resources:await O.readAllProjectResources(P,{limit:U.limit,kinds:R})}:await O.listProjectResources(P,{limit:U.limit,cursor:U.cursor,kinds:R});b({ok:!0,...Q},U.json,U);return}if(N==="project-resource"){let P=U.project??$[1],O=$[2],R=$[3];if(!P||!O||!R)throw Error("Usage: knowledge project-resource <project-id> <project|collection|item|taxonomy> <resource-id> [--json]");b({ok:!0,resource:await X().readProjectResource(P,O,R)},U.json,U);return}if(N==="inventory"){let P=await E.resolveInventory({limit:U.limit,includeArchived:U.includeArchived||U.archived,storePath:p$()?void 0:S});b(U.json||U.verbose?P:Uu(P),U.json,U);return}if(N==="project-panel"){let P=U.project??$[1];if(!P)throw Error("Usage: knowledge project-panel --project <id|name|slug> [--json|--contract]");let O=await zG(P,{service:E,limit:U.limit,storePath:p$()?void 0:S,includeArchived:U.includeArchived||U.archived});b(U.json||U.contract?O:XG(O),U.json||U.contract);return}if(N==="paths"){let P=E.paths();b(U.json||U.verbose?P:$u(P),U.json,U);return}if(N==="setup"){let P=E.setup({mode:U.mode,apiUrl:U.apiUrl,canonicalExample:U.canonicalExample});b(P,U.json,U);return}if(N==="auth"){let P=$[1]??"whoami";if(P==="whoami"||P==="status"){let O=E.authStatus(process.env);b({ok:!0,...O,message:O.authenticated?`Authenticated via ${O.source}`:"Not authenticated"},U.json,U);return}if(P==="login"){let O=U.apiKey??process.env.KNOWLEDGE_API_KEY??process.env.HASNA_KNOWLEDGE_API_KEY;if(!O)throw Error("Usage: knowledge auth login --api-key <key> [--email <email>]");let R=E.saveAuth({apiKey:O,email:U.email,orgSlug:U.org,orgId:U.orgId,userId:U.userId,apiUrl:U.apiUrl},process.env);b({ok:!0,authenticated:!0,email:R.email??null,org_slug:R.org_slug??null,api_url:R.api_url??E.authStatus(process.env).api_url,auth_path:E.authStatus(process.env).auth_path,message:`Saved hosted credentials for ${R.email??"API key"}`},U.json,U);return}if(P==="logout"){let O=E.clearAuth(process.env);b({ok:!0,removed:O,message:O?"Removed hosted credentials":"No hosted credentials found"},U.json,U);return}throw Error("Invalid auth action. Use 'login', 'whoami', or 'logout'.")}if(N==="storage"){let P=$[1]??"status";if(P==="status"){let O=E.storageContract(),R=E.validateStorage();b({ok:R.ok,...O,validation:R,message:`${O.storage_type} artifact storage at ${O.artifact_store.uri_prefix}`},U.json,U);return}if(P==="validate"){let O=E.validateStorage();if(b({ok:O.ok,validation:O,message:O.ok?"Storage contract valid":`Storage contract invalid: ${O.errors.join("; ")}`},U.json,U),!O.ok)process.exitCode=1;return}if(P==="repair-artifact-keys"||P==="repair-keys"){let O=E.repairArtifactManifestKeys({approveWrite:U.approveWrite,approvedBy:U.approvedBy,dryRun:U.dryRun});b(O,U.json,U);return}if(P==="migrate-legacy-path"||P==="migrate-legacy"||P==="migrate-path"){let O=E.migrateLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}if(P==="merge-legacy-path"||P==="merge-legacy"||P==="merge-path"){let O=E.mergeLegacyPath({approveWrite:U.approveWrite,approvedBy:U.approvedBy});if(b(O,U.json),!O.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid storage action. Use 'status', 'validate', 'repair-artifact-keys', 'migrate-legacy-path', 'merge-legacy-path', or 'import-legacy'.")}if(N==="machines"){let P=$[1]??"topology";if(P==="topology"||P==="status"){let O=await E.machineTopology({includeTailscale:U.tailscale!==!1});b(U.json||U.verbose?O:Eu(O),U.json,U);return}if(P==="preflight"||P==="check"){let O=$[2]??U.machine??"local",R=U.workspace??process.cwd(),Q=await E.machinePreflight({machineId:O,commands:[{command:"bun",required:!0},{command:"knowledge",required:!0}],packages:[{name:L$.name,command:"knowledge",expectedVersion:L$.version,required:!0},{name:"@hasna/machines",command:"machines",required:!1}],workspaces:[{label:"open-knowledge",path:R,expectedPackageName:L$.name,expectedVersion:L$.version,required:!0}]});if(b(U.json||U.verbose?Q:Au(Q),U.json,U),!Q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid machines action. Use 'topology' or 'preflight'.")}if(N==="sync"){let P=$[1]??"status",O=U.tables?U.tables.split(",").map((R)=>R.trim()).filter(Boolean):void 0;if(P==="status"){let R=E.syncStatus();b(U.json||U.verbose?R:Ju(R),U.json,U);return}if(P==="doctor"||P==="readiness"||P==="preflight"){let R=await E.syncDoctor({machine:U.machine??null,peerWorkspace:U.peerWorkspace??null,includeTailscale:U.tailscale!==!1,tables:O}),Q={package:{name:L$.name,version:L$.version},...R};if(b(U.json||U.verbose?Q:Wu(Q),U.json,U),!R.ok&&!U.json)process.exitCode=1;return}if(P==="snapshot"||P==="record"){let R=await E.createSyncSnapshot({includeTailscale:U.tailscale!==!1,machineId:U.machine});b(U.json||U.verbose?R:Su(R),U.json,U);return}if(P==="conflicts"||P==="conflict"){let R=$[2];if(R==="show"||R==="get"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts show <id>");let T=E.syncConflict(G);b({ok:!0,conflict:T,message:`Sync conflict ${G}`},U.json,U);return}if(R==="propose"||R==="proposal"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts propose <id>");b(U.mode==="ai"?await E.proposeSyncConflictResolutionWithAi({id:G,modelRef:U.model,fake:U.fake}):E.proposeSyncConflictResolution(G),U.json,U);return}if(R==="resolve"){let G=$[3]??U.id;if(!G)throw Error("Usage: knowledge sync conflicts resolve <id> --approve-write --approved-by <name> [--strategy <name>]");let T=E.resolveSyncConflict({id:G,strategy:U.strategy,approvedBy:U.approvedBy,approveWrite:U.approveWrite,proposedPatchUri:U.patchUri});if(b(T,U.json,U),!T.ok&&!U.json)process.exitCode=1;return}let Q=E.syncConflicts({status:R,limit:U.limit}),V={ok:!0,conflicts:Q,message:`${Q.length} sync conflict(s)`};b(U.json||U.verbose?V:Lu(V),U.json,U);return}if(P==="machines"||P==="registry"){let R=E.syncMachines(),Q={ok:!0,machines:R,message:`${R.length} registered sync machine(s)`};b(U.json||U.verbose?Q:Pu(Q),U.json,U);return}if(P==="export"){let R=E.exportSyncBundle({machineId:U.machine??null,tables:O,includeArtifactContent:U.artifactContent!==!1});b(R,!0);return}if(P==="import"){let R=await Bun.stdin.text();if(!R.trim())throw Error("Usage: knowledge sync import < bundle.json");let Q=await E.importSyncBundle({bundle:JSON.parse(R),dryRun:U.dryRun,direction:"import",machineId:U.machine??null});b(U.json||U.verbose?Q:c7(Q,P),U.json,U);return}if(P==="dry-run"||P==="pull"||P==="push"||P==="sync"){if(!U.peerWorkspace&&m7(U.machine))throw Error(`Usage: knowledge sync ${P} --peer-workspace <repo-or-knowledge-home> [--scope project] -Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let R=P==="dry-run"?"both":P==="sync"?"both":P,Q=!m7(U.machine)?await E.syncRemotePeer({direction:R,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:O,dryRun:U.dryRun===!0||P==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await E.syncPeer({peerWorkspace:U.peerWorkspace,direction:R,dryRun:U.dryRun===!0||P==="dry-run",tables:O,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(b(U.json||U.verbose?Q:c7(Q,P),U.json,U),!Q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(N==="db"){let P=$[1]??"init";if(P==="init"){let O=E.initDb();b({ok:!0,...O,message:`Initialized ${O.path}`},U.json,U);return}if(P==="stats"){let O=E.dbStats();b({ok:!0,path:E.workspace.knowledgeDbPath,...O,message:`knowledge.db schema v${O.schema_version}`},U.json,U);return}if(P==="storage"){if(($[2]??"status")==="status"){let R=D3({scope:U.scope});b({ok:!0,...R,message:`knowledge.db storage mode ${R.mode}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(N==="app-wiki"){let P=$[1]??"init";if(P==="paths"||P==="status"){b({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...E.paths()},U.json);return}if(P==="init"||P==="open"){let O=await E.initAppWiki({allowGlobal:U.allowGlobal});b(O,U.json);return}if(P==="note"||P==="notes"){let O=$[2]??"list";if(O==="add"||O==="create"){let R=U.title??$[3],Q=U.content??$.slice(4).join(" ");if(!R||!Q)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let V=await E.addAppWikiNote({title:R,content:Q,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});b(V,U.json);return}if(O==="list"||O==="ls"){let R=E.listAppWikiNotes({limit:U.limit});b({ok:!0,scope:E.scope,home:E.workspace.home,notes:R,message:`${R.length} app wiki note(s)`},U.json);return}if(O==="get"||O==="show"){let R=$[3]??U.id;if(!R)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let Q=await E.getAppWikiNote(R,{includeContent:!0});if(!Q)throw Error(`App wiki note not found: ${R}`);b(Q,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(P==="source"||P==="sources"){let O=$[2]??"add";if(O!=="add"&&O!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let R=$[3]??U.sourceRef?.[0];if(!R)throw Error("Usage: knowledge app-wiki source add <source-ref>");let Q=await E.addAppWikiSourceRef({sourceRef:R,purpose:U.purpose,allowGlobal:U.allowGlobal});b({ok:!0,...Q,message:`Added app wiki source ${Q.source_ref}`},U.json);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki search <query>");let R=await E.searchAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R,message:`${R.results.length} app wiki result(s)`},U.json);return}if(P==="query"||P==="context"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki query <query>");let R=await E.queryAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R,message:`${R.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(N==="wiki"){let P=$[1]??"init";if(P==="init"){let O=await E.initWiki();b({ok:!0,...O,message:`Initialized wiki layout in ${E.workspace.home}`},U.json,U);return}if(P==="compile"){let O=$.slice(2),R=O.filter((G)=>/^(open-files|file|s3|https?):\/\//.test(G)),Q=O.filter((G)=>!/^(open-files|file|s3|https?):\/\//.test(G)).join(" "),V=await E.compileWiki({title:U.title,query:Q||U.search,sourceRefs:R.length>0?R:void 0,limit:U.limit});b({ok:!0,...V,message:`Compiled wiki page ${V.path}`},U.json,U);return}if(P==="file-answer"||P==="answer"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let R=await E.fileAnswer({prompt:O,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R},U.json,U);return}if(P==="lint"){let O=E.lintWiki();b({ok:O.ok,...O,message:O.ok?"Wiki lint passed":`Wiki lint found ${O.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(N==="safety"){let P=$[1]??"status",O=E.ensureWorkspace(),R=E.safetyPolicy();E.initDb();let Q=v(O.knowledgeDbPath);try{if(P==="status"){b({ok:!0,mode:R.mode,workspace:O.home,allow_write_roots:R.allowWriteRoots,read_only_source_access:R.readOnlySourceAccess,network:R.network,redaction:R.redaction,approvals:R.approvals,message:`Safety policy: ${R.mode}`},U.json,U);return}if(P==="check"){let V=$[2]??"generated_write",G=$[3]??null,T;try{if(V==="web_search")v0(R),T={action:V,target_uri:G,approval_required:!1,approved:!0,decision:"allow"};else if(V==="s3_read"){if(!G)throw Error("safety check s3_read requires an s3:// target.");h6(G,R),T={action:V,target_uri:G,approval_required:!1,approved:!0,decision:"allow"}}else T=aX(Q,R,V,G);T_(Q,{event_type:"safety_check",action:V,target_uri:G,decision:T.decision==="allow"?"allow":"requires_approval",metadata:T}),b({ok:!0,...T,message:`Safety check ${T.decision}`},U.json,U);return}catch(F){throw T_(Q,{event_type:"safety_check",action:V,target_uri:G,decision:"deny",metadata:{error:F instanceof Error?F.message:String(F)}}),F}}if(P==="approve"){let V=$[2]??"generated_write",G=$[3]??null,T=FN(Q,{action:V,target_uri:G,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});T_(Q,{event_type:"approval",action:V,target_uri:G,decision:"allow",metadata:{approval_id:T.id}}),b({ok:!0,...T,action:V,target_uri:G,message:`Approved ${V}`},U.json,U);return}if(P==="audit"){let V=Q.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((G)=>({id:G.id,event_type:G.event_type,action:G.action,target_uri:G.target_uri,decision:G.decision,metadata:JSON.parse(G.metadata_json),created_at:G.created_at}));b({ok:!0,events:V,message:`${V.length} audit event(s)`},U.json,U);return}if(P==="redact"){let V=$.slice(2).join(" ");if(!V)throw Error("Usage: knowledge safety redact <text>");let G=d_(V,R);if(G.findings.length>0)f0(Q,{source_uri:"safety://redact",findings:G.findings,metadata:{command:"safety redact"}});T_(Q,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:G.findings.length>0?"redacted":"allow",metadata:{findings:G.findings.length}}),b({ok:!0,text:G.text,findings:G.findings,message:`Redacted ${G.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{Q.close()}}if(N==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let O=$[2];if(!O)throw Error("Usage: knowledge source resolve <source-ref>");let R=await E.resolveSource(O,{purpose:U.purpose,limit:U.limit});b({ok:!0,...R,message:R.resolved?`Resolved ${R.source_ref} (${R.content.chunks_returned}/${R.content.chunks_total} chunks)`:`Source not indexed: ${O}`},U.json,U);return}if(N==="ingest"){let P=$[1]??"";if(P==="rules"||P==="global-rules"||P==="agent-rules"){let O=await E.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});b({ok:!0,...O},U.json);return}if(P==="manifest"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let R=await E.ingestManifest(O);b({ok:!0,...R,message:`Ingested ${R.items_seen} manifest item(s)`},U.json,U);return}if(P==="source"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest source <source-ref>");let R=await E.ingestSource(O,U.purpose);b({ok:!0,...R,message:`Ingested source ${R.source_ref} (${R.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(N==="reindex"){let P=$[1]??"status";if(P==="status"){let O=E.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`${O.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(P==="enqueue"){let O=E.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Queued ${O.enqueued} embedding refresh item(s)`},U.json,U);return}if(P==="embeddings"){let O=await E.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Embedded ${O.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="outbox"){let O=$[2];if(!O)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let R=await E.consumeOutbox(O);b({ok:!0,...R,message:`Consumed ${R.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(N==="embeddings"){let P=$[1]??"status";if(P==="status"){let O=E.embeddingStatus();b({ok:!0,...O,message:`${O.total_vector_entries} vector index entries`},U.json,U);return}if(P==="index"){let O=await E.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Embedded ${O.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge embeddings search <query>");let R=await E.semanticSearch({query:O,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),Q={ok:!0,...R,message:`${R.results.length} semantic result(s)`};b(U.json||U.verbose?Q:ju(Q),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(N==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let O=U.from??"search";if(!["search","loops","runs"].includes(O))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let R=$.slice(2).join(" ")||U.topic||"",Q=await E.contextPack({source:O,purpose:O==="loops"||O==="runs"?"proposal":"agent_context",query:R,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:S});r7({ok:!0,...Q,message:Q.message});return}if(N==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let O=U.from??"loops";if(!["loops","runs"].includes(O))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let R=U.topic??$.slice(2).join(" ");if(!R.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let Q=await E.contextPack({source:O,purpose:"proposal",query:R,topic:R,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});r7({ok:!0,...Q,message:Q.message});return}if(N==="search"){let P=$.slice(1).join(" ");if(!P)throw Error("Usage: knowledge search <query>");if(U.context){let Q=await E.retrieveContext({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:S}),V={ok:!0,...Q,message:`${Q.excerpts.length} context excerpt(s)`};b(U.json||U.verbose?V:Nu(V),U.json,U);return}let O=await E.search({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:S}),R={ok:!0,...O,message:`${O.results.length} search result(s)`};b(U.json||U.verbose?R:Du(R),U.json,U);return}if(N==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge web search <query>");let R=await E.webSearch({query:O,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),Q={ok:!0,...R,message:`${R.sources.length} web source(s)`};b(U.json||U.verbose?Q:Iu(Q),U.json,U);return}if(N==="ask"||N==="build"){let P=$.slice(D).join(" ");if(!P)throw Error("Usage: knowledge ask <prompt>");let O=await E.runPrompt({prompt:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:S}),R={ok:!0,...O,message:O.generated?"Generated answer with citations":"Prepared citation context draft"};b(U.json||U.verbose?R:Ou(R),U.json,U);return}if(N==="providers"){let P=$[1]??"status";if(P==="status"){let O=E.providerStatus(),R=O.providers.filter((Q)=>Q.configured).length;b({ok:!0,...O,message:`${R}/${O.providers.length} provider credential(s) configured`},U.json,U);return}if(P==="models"){let O=E.modelRegistry();b({ok:!0,models:O,message:`${O.length} model alias(es)`},U.json,U);return}if(P==="check"){let O=$[2]??"default",R=b$(O,E.config()),Q=c_(R),V=V4(Q.provider,E.config());b({ok:!0,target:O,model_ref:R,provider:Q.provider,model:Q.model,credential:V,message:`${Q.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(N==="add"){let P=$[1],O=$[2];if(!P||!O)throw Error("Usage: knowledge add <title> <content>");let R=await L.create({title:P,content:O,url:U.url??null,tags:U.tag??[]});B0("info","Item added",{id:R.id,title:R.title,tags:R.tags?.length??0,transport:L.kind}),b({ok:!0,item:R,message:`Added ${R.id}`},U.json,U);return}if(N==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");if(U.page!==void 0&&(!Number.isFinite(U.page)||!Number.isInteger(U.page)||U.page<1))throw Error("--page must be a positive integer.");if(U.limit!==void 0&&(!Number.isFinite(U.limit)||!Number.isInteger(U.limit)||U.limit<1||U.limit>200))throw Error("--limit must be an integer between 1 and 200.");let P=U.page??1,O=U.limit??20,R=U.search?String(U.search).toLowerCase():"",Q=U.tagRaw??U.tag??[],V=U.tag?.length?U.tag.map((G_)=>G_.toLowerCase()).join(","):"none",G=U.format==="table"||!U.json&&!U.format&&ey(U),T=U.json||U.format==="json",F=U.archived?"archived":U.includeArchived?"all":"active",{sort:M,direction:q}=Xu([],U),x=(P-1)*O;if(x>1e4)throw Error("The requested page exceeds the maximum bounded offset of 10000.");let l=await L.list({search:R,tags:Q,archive:F,sort:M,direction:q,limit:O,offset:x}),D_=l.items,I_=Math.max(1,Math.ceil(l.total/O)),I$={ok:!0,page:P,limit:O,total:l.total,total_pages:I_,sort:M,direction:q,items:D_,store_exists:l.exists};if(T){b(I$,!0);return}if(U.verbose){b(I$,!1,U);return}if(D_.length===0){b(`No items found (search=${R||"none"}, tag=${V})`,!1);return}if(G){let G_=(j_)=>j_,k$=`${G_("ID")} ${G_("TITLE")} ${G_("CREATED")} ${G_("URL")} ${G_("TAGS")}`;console.log(k$);for(let j_ of D_)console.log(`${j_.id} ${G_(N_(j_.title,80))} ${j_.created_at} ${j_.url?G_(N_(j_.url,90)):""} ${j_.tags?.length?G_(N_(`[${j_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${l.total} | sort=${M} ${q} | search=${R||"none"} | tag=${V}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let G_ of D_)console.log(`${G_.id} ${N_(G_.title,80)} ${G_.created_at}${G_.url?` ${N_(G_.url,90)}`:""}${G_.tags?.length?` ${N_(`[${G_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${l.total} | sort=${M} ${q} | search=${R||"none"} | tag=${V}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(N==="get"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);b({ok:!0,item:P,store_exists:L.exists,message:`${P.id}: ${P.title}`},U.json,U);return}if(N==="versions"){T0(U);let P=Number.isFinite(U.page)&&U.page>0?U.page:1,O=Number.isFinite(U.limit)&&U.limit>0?U.limit:void 0,R=await L.listVersions(U.id,{limit:O,offset:(P-1)*(O??50)});if(!R)throw Error(`Item not found: ${U.id}`);let Q={ok:!0,id:R.item_id,current_version:R.current_version,total:R.total,page:P,store:L.location,versions:R.items,message:R.total===0?`${R.item_id} is at version ${R.current_version} with no retained prior versions`:`${R.item_id} is at version ${R.current_version}; ${R.total} prior version(s) retained`};if(U.json||U.verbose){b(Q,U.json,U);return}console.log(Q.message);for(let V of R.items){let G=V.actor?` by ${V.actor}`:"",T=V.reason?` (${V.reason})`:"";console.log(`v${V.version} ${V.valid_to}${G}${T} ${V.content_bytes} bytes ${V.content_hash.slice(0,12)}`)}if(R.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(N==="diff"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.rev!==void 0&&(U.from!==void 0||U.to!==void 0))throw Error("Use either --rev <n> or --from <a> --to <b>, not both.");let O=()=>({title:P.title,content:P.content,url:P.url,tags:P.tags??[],metadata:P.metadata??{},archived:P.archived??!1}),R=`v${P.version??"?"} (current)`,Q=async(q)=>{if(q==="current")return{label:R,snapshot:O()};let x=Number(q);if(!Number.isInteger(x)||x<1)throw Error(`Not a version number: ${q}`);if(P.version!==void 0&&x===P.version)return{label:R,snapshot:O()};let l=await L.getVersion(P.id,x);if(!l)throw Error(`No version ${x} retained for ${P.id} (it is at version ${P.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${l.version}`,snapshot:{title:l.title,content:l.content,url:l.url,tags:l.tags,metadata:l.metadata,archived:l.archived}}},V,G;if(U.rev!==void 0){if(!Number.isInteger(U.rev)||U.rev<1)throw Error("--rev must be a positive version number.");if(U.rev===1)throw Error("Version 1 has no predecessor to diff against.");V=String(U.rev-1),G=String(U.rev)}else if(U.from!==void 0||U.to!==void 0){if(U.from===void 0||U.to===void 0)throw Error("--from and --to must be given together.");V=U.from,G=U.to}else{let q=await L.listVersions(P.id,{limit:1});if(!q)throw Error(`Item not found: ${U.id}`);if(q.items.length===0)throw Error(`${P.id} is at version ${q.current_version} with no retained prior versions to diff against.`);V=String(q.items[0].version),G="current"}let T=await Q(V),F=await Q(G),M=VX(T.snapshot,F.snapshot);if(U.json||U.verbose){b({ok:!0,id:P.id,from:T.label,to:F.label,...M},U.json,U);return}console.log(FX(M,`${P.id} ${T.label}`,`${P.id} ${F.label}`));return}if(N==="update"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.ifVersion!==void 0&&(!Number.isInteger(U.ifVersion)||U.ifVersion<1))throw Error(`Invalid --if-version ${JSON.stringify(String(U.ifVersion))}: must be a positive integer version number, e.g. the "version" field from a prior 'knowledge get'.`);let O={};if(U.title!==void 0)O.title=U.title;if(U.content!==void 0)O.content=U.content;if(U.url!==void 0)O.url=U.url;let R;if(U.tag!==void 0){if(R=h7(P.tags,U.tag),R.length>0)O.tags=[...P.tags??[],...R]}let Q=U.ifVersion!==void 0?U.ifVersion:P.version,V=await L.update(P.id,O,{expectedVersion:Q});b(Y3({ok:!0,item:V},`Updated ${V?.id??P.id}`,R),U.json,U);return}if(N==="archive"||N==="restore"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=await L.update(P.id,{archived:N==="archive"},{expectedVersion:P.version});b({ok:!0,item:O,message:`${N==="archive"?"Archived":"Restored"} ${O?.id??P.id}`},U.json,U);return}if(N==="untag"){if(T0(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=P.tags??[],R=new Set(O.map((x)=>x.toLowerCase())),Q=new Set;for(let x of U.tagRaw??U.tag){let l=x.trim().toLowerCase();if(l.length>0&&R.has(l)){Q.add(l);continue}for(let D_ of x.split(",").map((I_)=>I_.trim().toLowerCase()).filter((I_)=>I_.length>0))Q.add(D_)}let V=O.filter((x)=>!Q.has(x.toLowerCase())),G=O.length-V.length,T=[...Q].filter((x)=>!R.has(x));if(G===0)throw Error(`No matching tag on ${P.id}: ${T.map((x)=>JSON.stringify(x)).join(", ")} not in [${O.map((x)=>JSON.stringify(x)).join(", ")}]`);let F=await L.update(P.id,{tags:V},{expectedVersion:P.version}),M=T.length>0?` (not found: ${T.map((x)=>JSON.stringify(x)).join(", ")})`:"",q={ok:!0,item:F,removed:G,message:`Removed ${G} tag${G===1?"":"s"} from ${F?.id??P.id}${M}`};if(T.length>0)q.not_found=T;b(q,U.json,U);return}if(N==="upsert"){let P=U.title??$[1],O=U.content??$[2],R=U.id?await L.get(U.id):null;if(!R){if(!P||!O)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let T=await L.create({id:U.id,title:P,content:O,url:U.url??null,tags:U.tag??[]});b(Y3({ok:!0,created:!0,item:T},`Upserted ${T.id}`,U.tag),U.json,U);return}let Q={};if(P!==void 0)Q.title=P;if(O!==void 0)Q.content=O;if(U.url!==void 0)Q.url=U.url;let V;if(U.tag!==void 0){if(V=h7(R.tags,U.tag),V.length>0)Q.tags=[...R.tags??[],...V]}let G=await L.update(R.id,Q,{expectedVersion:R.version});b(Y3({ok:!0,created:!1,item:G},`Upserted ${G?.id??R.id}`,V),U.json,U);return}if(N==="delete"){if(T0(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await L.delete(U.id))throw Error(`Item not found: ${U.id}`);B0("info","Item deleted",{id:U.id,transport:L.kind}),b({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(N==="export"){let P=U.format??"json";if(P!=="json"&&P!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let O=await L.listAll();if(P==="jsonl")for(let R of O.items)console.log(JSON.stringify(R));else if(U.json||U.format==="json"||U.verbose)b({ok:!0,items:O.items,store_exists:O.exists},U.json||U.format==="json",U);else b(zu(O.items,P),!1);return}if(N==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:P}=await L.listAll(),O=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,R=P.filter((G)=>O!==null&&new Date(G.created_at)<O||U.empty&&G.content.trim().length===0),Q=await L.deleteMany(R.map((G)=>G.id)),V=P.length-Q;B0("info","Prune completed",{pruned:Q,remaining:V,transport:L.kind}),b({ok:!0,pruned:Q,remaining:V,message:`Pruned ${Q} item(s)`},U.json,U);return}if(N==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:P}=await L.listAll(),O=new Set,R=[];for(let G of P){let T=`${G.title}\x00${G.content}`;if(O.has(T))R.push(G);else O.add(T)}let Q=await L.deleteMany(R.map((G)=>G.id)),V=P.length-Q;B0("info","Dedupe completed",{removed:Q,remaining:V,transport:L.kind}),b({ok:!0,removed:Q,remaining:V,message:`Dedupe removed ${Q} duplicate(s)`},U.json,U);return}if(N==="stats"){let P=await L.listAll(),O=P.items.filter((x)=>!x.archived),R=O.length,Q=P.items.length-R,V=O.filter((x)=>x.url).length,G=O.filter((x)=>x.tags&&x.tags.length>0).length,T=R>0?O.map((x)=>x.created_at).sort()[0]:null,F=R>0?O.map((x)=>x.created_at).sort()[R-1]:null,M={};for(let x of O)for(let l of x.tags||[])M[l]=(M[l]||0)+1;let q=Object.entries(M).sort((x,l)=>l[1]-x[1]).slice(0,5).map(([x,l])=>({tag:x,count:l}));b({ok:!0,total:R,archived:Q,with_url:V,with_tags:G,oldest:T,newest:F,top_tags:q,store_exists:P.exists,message:`${R} items | ${V} with URL | ${G} with tags`},U.json,U);return}let z=iy($[0]),Y=z?` Did you mean '${z}'?`:"";throw B0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${Y} Run 'knowledge --help' for available commands.`)}finally{await J?.close(),await E.close()}}function Yu(_,$){let U=_ instanceof Error?_.message:String(_);B0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`);let N=_ instanceof C0?_:null,D=_ instanceof i?_:null;if($.includes("--json"))b({ok:!1,error:U,message:U,...N?{code:"version_conflict",expected:N.expected,current:N.current}:D?{code:D.code,details:D.details}:{}},!0);process.exitCode=N?2:1}if(import.meta.main){let _=process.argv.slice(2);Ru(_).catch(($)=>Yu($,_))}export{iy as suggestCommand,Xu as sortItems,Ru as run,ny as parseArgs,Yu as emitCliError}; +Remote machine sync can omit --peer-workspace when machines path mapping is configured.`);let R=P==="dry-run"?"both":P==="sync"?"both":P,Q=!m7(U.machine)?await E.syncRemotePeer({direction:R,machine:U.machine,peerWorkspace:U.peerWorkspace,tables:O,dryRun:U.dryRun===!0||P==="dry-run",includeArtifactContent:U.artifactContent!==!1,includeTailscale:U.tailscale!==!1}):await E.syncPeer({peerWorkspace:U.peerWorkspace,direction:R,dryRun:U.dryRun===!0||P==="dry-run",tables:O,includeArtifactContent:U.artifactContent!==!1,machineId:U.machine??null});if(b(U.json||U.verbose?Q:c7(Q,P),U.json,U),!Q.ok&&!U.json)process.exitCode=1;return}throw Error("Invalid sync action. Use 'status', 'doctor', 'snapshot', 'conflicts', 'machines', 'dry-run', 'pull', 'push', 'sync', 'export', or 'import'.")}if(N==="db"){let P=$[1]??"init";if(P==="init"){let O=E.initDb();b({ok:!0,...O,message:`Initialized ${O.path}`},U.json,U);return}if(P==="stats"){let O=E.dbStats();b({ok:!0,path:E.workspace.knowledgeDbPath,...O,message:`knowledge.db schema v${O.schema_version}`},U.json,U);return}if(P==="storage"){if(($[2]??"status")==="status"){let R=Dz({scope:U.scope});b({ok:!0,...R,message:`knowledge.db storage mode ${R.mode}`},U.json,U);return}throw Error("Invalid db storage action. Only 'status' is supported. The 'push'/'pull'/'sync' Postgres sync commands were removed (DSN-on-client is forbidden); use the cloud API flip instead.")}throw Error("Invalid db action. Use 'init', 'stats', or 'storage'.")}if(N==="app-wiki"){let P=$[1]??"init";if(P==="paths"||P==="status"){b({ok:!0,standard:"hasna-app-wiki.v1",default_scope:"project",global_writes_require:"--allow-global",...E.paths()},U.json);return}if(P==="init"||P==="open"){let O=await E.initAppWiki({allowGlobal:U.allowGlobal});b(O,U.json);return}if(P==="note"||P==="notes"){let O=$[2]??"list";if(O==="add"||O==="create"){let R=U.title??$[3],Q=U.content??$.slice(4).join(" ");if(!R||!Q)throw Error("Usage: knowledge app-wiki note add --title <title> --content <text> [--source-ref <uri>]");let V=await E.addAppWikiNote({title:R,content:Q,tags:U.tag,sourceRefs:U.sourceRef,allowGlobal:U.allowGlobal});b(V,U.json);return}if(O==="list"||O==="ls"){let R=E.listAppWikiNotes({limit:U.limit});b({ok:!0,scope:E.scope,home:E.workspace.home,notes:R,message:`${R.length} app wiki note(s)`},U.json);return}if(O==="get"||O==="show"){let R=$[3]??U.id;if(!R)throw Error("Usage: knowledge app-wiki note get <id-or-path>");let Q=await E.getAppWikiNote(R,{includeContent:!0});if(!Q)throw Error(`App wiki note not found: ${R}`);b(Q,U.json);return}throw Error("Invalid app-wiki note action. Use 'add', 'list', or 'get'.")}if(P==="source"||P==="sources"){let O=$[2]??"add";if(O!=="add"&&O!=="ingest")throw Error("Invalid app-wiki source action. Use 'add'.");let R=$[3]??U.sourceRef?.[0];if(!R)throw Error("Usage: knowledge app-wiki source add <source-ref>");let Q=await E.addAppWikiSourceRef({sourceRef:R,purpose:U.purpose,allowGlobal:U.allowGlobal});b({ok:!0,...Q,message:`Added app wiki source ${Q.source_ref}`},U.json);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki search <query>");let R=await E.searchAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R,message:`${R.results.length} app wiki result(s)`},U.json);return}if(P==="query"||P==="context"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge app-wiki query <query>");let R=await E.queryAppWiki({query:O,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R,message:`${R.excerpts.length} app wiki excerpt(s)`},U.json);return}throw Error("Invalid app-wiki action. Use 'init', 'paths', 'note', 'source', 'search', or 'query'.")}if(N==="wiki"){let P=$[1]??"init";if(P==="init"){let O=await E.initWiki();b({ok:!0,...O,message:`Initialized wiki layout in ${E.workspace.home}`},U.json,U);return}if(P==="compile"){let O=$.slice(2),R=O.filter((G)=>/^(open-files|file|s3|https?):\/\//.test(G)),Q=O.filter((G)=>!/^(open-files|file|s3|https?):\/\//.test(G)).join(" "),V=await E.compileWiki({title:U.title,query:Q||U.search,sourceRefs:R.length>0?R:void 0,limit:U.limit});b({ok:!0,...V,message:`Compiled wiki page ${V.path}`},U.json,U);return}if(P==="file-answer"||P==="answer"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge wiki file-answer <prompt> --content <answer> --approve-write");if(!U.content)throw Error("Missing --content <answer> for wiki file-answer.");let R=await E.fileAnswer({prompt:O,answer:U.content,approveWrite:U.approveWrite,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...R},U.json,U);return}if(P==="lint"){let O=E.lintWiki();b({ok:O.ok,...O,message:O.ok?"Wiki lint passed":`Wiki lint found ${O.issue_count} issue(s)`},U.json,U);return}throw Error("Invalid wiki action. Use 'init', 'compile', 'file-answer', or 'lint'.")}if(N==="safety"){let P=$[1]??"status",O=E.ensureWorkspace(),R=E.safetyPolicy();E.initDb();let Q=v(O.knowledgeDbPath);try{if(P==="status"){b({ok:!0,mode:R.mode,workspace:O.home,allow_write_roots:R.allowWriteRoots,read_only_source_access:R.readOnlySourceAccess,network:R.network,redaction:R.redaction,approvals:R.approvals,message:`Safety policy: ${R.mode}`},U.json,U);return}if(P==="check"){let V=$[2]??"generated_write",G=$[3]??null,T;try{if(V==="web_search")v0(R),T={action:V,target_uri:G,approval_required:!1,approved:!0,decision:"allow"};else if(V==="s3_read"){if(!G)throw Error("safety check s3_read requires an s3:// target.");h6(G,R),T={action:V,target_uri:G,approval_required:!1,approved:!0,decision:"allow"}}else T=aX(Q,R,V,G);T_(Q,{event_type:"safety_check",action:V,target_uri:G,decision:T.decision==="allow"?"allow":"requires_approval",metadata:T}),b({ok:!0,...T,message:`Safety check ${T.decision}`},U.json,U);return}catch(F){throw T_(Q,{event_type:"safety_check",action:V,target_uri:G,decision:"deny",metadata:{error:F instanceof Error?F.message:String(F)}}),F}}if(P==="approve"){let V=$[2]??"generated_write",G=$[3]??null,T=FN(Q,{action:V,target_uri:G,reason:"local-cli approval",metadata:{scope:U.scope??"global"}});T_(Q,{event_type:"approval",action:V,target_uri:G,decision:"allow",metadata:{approval_id:T.id}}),b({ok:!0,...T,action:V,target_uri:G,message:`Approved ${V}`},U.json,U);return}if(P==="audit"){let V=Q.query("SELECT id, event_type, action, target_uri, decision, metadata_json, created_at FROM audit_events ORDER BY created_at DESC LIMIT 50").all().map((G)=>({id:G.id,event_type:G.event_type,action:G.action,target_uri:G.target_uri,decision:G.decision,metadata:JSON.parse(G.metadata_json),created_at:G.created_at}));b({ok:!0,events:V,message:`${V.length} audit event(s)`},U.json,U);return}if(P==="redact"){let V=$.slice(2).join(" ");if(!V)throw Error("Usage: knowledge safety redact <text>");let G=d_(V,R);if(G.findings.length>0)f0(Q,{source_uri:"safety://redact",findings:G.findings,metadata:{command:"safety redact"}});T_(Q,{event_type:"redaction",action:"safety_redact",target_uri:"safety://redact",decision:G.findings.length>0?"redacted":"allow",metadata:{findings:G.findings.length}}),b({ok:!0,text:G.text,findings:G.findings,message:`Redacted ${G.findings.length} finding(s)`},U.json,U);return}throw Error("Invalid safety action. Use 'status', 'check', 'approve', 'audit', or 'redact'.")}finally{Q.close()}}if(N==="source"){if(($[1]??"")!=="resolve")throw Error("Invalid source action. Use 'resolve'.");let O=$[2];if(!O)throw Error("Usage: knowledge source resolve <source-ref>");let R=await E.resolveSource(O,{purpose:U.purpose,limit:U.limit});b({ok:!0,...R,message:R.resolved?`Resolved ${R.source_ref} (${R.content.chunks_returned}/${R.content.chunks_total} chunks)`:`Source not indexed: ${O}`},U.json,U);return}if(N==="ingest"){let P=$[1]??"";if(P==="rules"||P==="global-rules"||P==="agent-rules"){let O=await E.importRulesProvenance({root:U.workspace??process.cwd(),owner:U.owner,dryRun:U.dryRun===!0,maxItems:U.maxItems,limit:U.limit});b({ok:!0,...O},U.json);return}if(P==="manifest"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest manifest <file|s3://bucket/key>");let R=await E.ingestManifest(O);b({ok:!0,...R,message:`Ingested ${R.items_seen} manifest item(s)`},U.json,U);return}if(P==="source"){let O=$[2];if(!O)throw Error("Usage: knowledge ingest source <source-ref>");let R=await E.ingestSource(O,U.purpose);b({ok:!0,...R,message:`Ingested source ${R.source_ref} (${R.chunks_inserted} chunks)`},U.json,U);return}throw Error("Invalid ingest action. Use 'manifest' or 'source'.")}if(N==="reindex"){let P=$[1]??"status";if(P==="status"){let O=E.reindexHealth({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`${O.missing_embeddings} chunk(s) missing embeddings`},U.json,U);return}if(P==="enqueue"){let O=E.enqueueReindex({modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Queued ${O.enqueued} embedding refresh item(s)`},U.json,U);return}if(P==="embeddings"){let O=await E.refreshEmbeddings({full:U.full,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Embedded ${O.indexed.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="outbox"){let O=$[2];if(!O)throw Error("Usage: knowledge reindex outbox <file|s3://bucket/key>");let R=await E.consumeOutbox(O);b({ok:!0,...R,message:`Consumed ${R.events_seen} outbox event(s)`},U.json,U);return}throw Error("Invalid reindex action. Use 'status', 'enqueue', 'embeddings', or 'outbox'.")}if(N==="embeddings"){let P=$[1]??"status";if(P==="status"){let O=E.embeddingStatus();b({ok:!0,...O,message:`${O.total_vector_entries} vector index entries`},U.json,U);return}if(P==="index"){let O=await E.indexEmbeddings({limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake});b({ok:!0,...O,message:`Embedded ${O.chunks_embedded} chunk(s)`},U.json,U);return}if(P==="search"){let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge embeddings search <query>");let R=await E.semanticSearch({query:O,limit:U.limit,modelRef:U.model,dimensions:U.dimensions,fake:U.fake}),Q={ok:!0,...R,message:`${R.results.length} semantic result(s)`};b(U.json||U.verbose?Q:ju(Q),U.json,U);return}throw Error("Invalid embeddings action. Use 'status', 'index', or 'search'.")}if(N==="context"){if(($[1]??"pack")!=="pack")throw Error("Invalid context action. Use 'pack'.");let O=U.from??"search";if(!["search","loops","runs"].includes(O))throw Error("Invalid --from value. Use 'search', 'loops', or 'runs'.");let R=$.slice(2).join(" ")||U.topic||"",Q=await E.contextPack({source:O,purpose:O==="loops"||O==="runs"?"proposal":"agent_context",query:R,topic:U.topic,since:U.since,dedupe:U.dedupe,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:S});r7({ok:!0,...Q,message:Q.message});return}if(N==="proposals"){if(($[1]??"context")!=="context")throw Error("Invalid proposals action. Use 'context'.");let O=U.from??"loops";if(!["loops","runs"].includes(O))throw Error("Invalid --from value for proposals. Use 'loops' or 'runs'.");let R=U.topic??$.slice(2).join(" ");if(!R.trim())throw Error("Usage: knowledge proposals context --from loops --topic <text>");let Q=await E.contextPack({source:O,purpose:"proposal",query:R,topic:R,since:U.since,dedupe:U.dedupe??!0,maxTokens:U.maxTokens,maxItems:U.maxItems,limit:U.limit});r7({ok:!0,...Q,message:Q.message});return}if(N==="search"){let P=$.slice(1).join(" ");if(!P)throw Error("Usage: knowledge search <query>");if(U.context){let Q=await E.retrieveContext({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:S}),V={ok:!0,...Q,message:`${Q.excerpts.length} context excerpt(s)`};b(U.json||U.verbose?V:Nu(V),U.json,U);return}let O=await E.search({query:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,legacyStorePath:S}),R={ok:!0,...O,message:`${O.results.length} search result(s)`};b(U.json||U.verbose?R:Du(R),U.json,U);return}if(N==="web"){if(($[1]??"search")!=="search")throw Error("Invalid web action. Use 'search'.");let O=$.slice(2).join(" ");if(!O)throw Error("Usage: knowledge web search <query>");let R=await E.webSearch({query:O,limit:U.limit,modelRef:U.model,provider:U.provider,domains:U.domain,fake:U.fake,fileResults:U.fileResults}),Q={ok:!0,...R,message:`${R.sources.length} web source(s)`};b(U.json||U.verbose?Q:Iu(Q),U.json,U);return}if(N==="ask"||N==="build"){let P=$.slice(D).join(" ");if(!P)throw Error("Usage: knowledge ask <prompt>");let O=await E.runPrompt({prompt:P,limit:U.limit,semantic:U.semantic,modelRef:U.model,dimensions:U.dimensions,fake:U.fake,generate:U.generate,approveWrite:U.approveWrite,legacyStorePath:S}),R={ok:!0,...O,message:O.generated?"Generated answer with citations":"Prepared citation context draft"};b(U.json||U.verbose?R:Ou(R),U.json,U);return}if(N==="providers"){let P=$[1]??"status";if(P==="status"){let O=E.providerStatus(),R=O.providers.filter((Q)=>Q.configured).length;b({ok:!0,...O,message:`${R}/${O.providers.length} provider credential(s) configured`},U.json,U);return}if(P==="models"){let O=E.modelRegistry();b({ok:!0,models:O,message:`${O.length} model alias(es)`},U.json,U);return}if(P==="check"){let O=$[2]??"default",R=b$(O,E.config()),Q=c_(R),V=V4(Q.provider,E.config());b({ok:!0,target:O,model_ref:R,provider:Q.provider,model:Q.model,credential:V,message:`${Q.provider} credentials configured`},U.json,U);return}throw Error("Invalid providers action. Use 'status', 'models', or 'check'.")}if(N==="add"){let P=$[1],O=$[2];if(!P||!O)throw Error("Usage: knowledge add <title> <content>");let R=await L.create({title:P,content:O,url:U.url??null,tags:U.tag??[]});B0("info","Item added",{id:R.id,title:R.title,tags:R.tags?.length??0,transport:L.kind}),b({ok:!0,item:R,message:`Added ${R.id}`},U.json,U);return}if(N==="list"){if(U.format!==void 0&&U.format!=="table"&&U.format!=="json")throw Error("Invalid --format value for list. Use 'table' or 'json'.");if(U.page!==void 0&&(!Number.isFinite(U.page)||!Number.isInteger(U.page)||U.page<1))throw Error("--page must be a positive integer.");if(U.limit!==void 0&&(!Number.isFinite(U.limit)||!Number.isInteger(U.limit)||U.limit<1||U.limit>200))throw Error("--limit must be an integer between 1 and 200.");let P=U.page??1,O=U.limit??20,R=U.search?String(U.search).toLowerCase():"",Q=U.tagRaw??U.tag??[],V=U.tag?.length?U.tag.map((G_)=>G_.toLowerCase()).join(","):"none",G=U.format==="table"||!U.json&&!U.format&&ey(U),T=U.json||U.format==="json",F=U.archived?"archived":U.includeArchived?"all":"active",{sort:M,direction:q}=Xu([],U),x=(P-1)*O;if(x>1e4)throw Error("The requested page exceeds the maximum bounded offset of 10000.");let l=await L.list({search:R,tags:Q,archive:F,sort:M,direction:q,limit:O,offset:x}),D_=l.items,I_=Math.max(1,Math.ceil(l.total/O)),I$={ok:!0,page:P,limit:O,total:l.total,total_pages:I_,sort:M,direction:q,items:D_,store_exists:l.exists};if(T){b(I$,!0);return}if(U.verbose){b(I$,!1,U);return}if(D_.length===0){b(`No items found (search=${R||"none"}, tag=${V})`,!1);return}if(G){let G_=(j_)=>j_,k$=`${G_("ID")} ${G_("TITLE")} ${G_("CREATED")} ${G_("URL")} ${G_("TAGS")}`;console.log(k$);for(let j_ of D_)console.log(`${j_.id} ${G_(N_(j_.title,80))} ${j_.created_at} ${j_.url?G_(N_(j_.url,90)):""} ${j_.tags?.length?G_(N_(`[${j_.tags.join(", ")}]`,80)):""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${l.total} | sort=${M} ${q} | search=${R||"none"} | tag=${V}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}else{for(let G_ of D_)console.log(`${G_.id} ${N_(G_.title,80)} ${G_.created_at}${G_.url?` ${N_(G_.url,90)}`:""}${G_.tags?.length?` ${N_(`[${G_.tags.join(", ")}]`,80)}`:""}`);console.log(`Page ${P}/${I_} | showing ${D_.length} of ${l.total} | sort=${M} ${q} | search=${R||"none"} | tag=${V}`),console.log("Hint: use `knowledge get --id <id> --json` for full item content.")}return}if(N==="get"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);b({ok:!0,item:P,store_exists:L.exists,message:`${P.id}: ${P.title}`},U.json,U);return}if(N==="versions"){T0(U);let P=Number.isFinite(U.page)&&U.page>0?U.page:1,O=Number.isFinite(U.limit)&&U.limit>0?U.limit:void 0,R=await L.listVersions(U.id,{limit:O,offset:(P-1)*(O??50)});if(!R)throw Error(`Item not found: ${U.id}`);let Q={ok:!0,id:R.item_id,current_version:R.current_version,total:R.total,page:P,store:L.location,versions:R.items,message:R.total===0?`${R.item_id} is at version ${R.current_version} with no retained prior versions`:`${R.item_id} is at version ${R.current_version}; ${R.total} prior version(s) retained`};if(U.json||U.verbose){b(Q,U.json,U);return}console.log(Q.message);for(let V of R.items){let G=V.actor?` by ${V.actor}`:"",T=V.reason?` (${V.reason})`:"";console.log(`v${V.version} ${V.valid_to}${G}${T} ${V.content_bytes} bytes ${V.content_hash.slice(0,12)}`)}if(R.items.length>0)console.log("Hint: `knowledge diff --id <id> --rev <n>` shows what changed.");return}if(N==="diff"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.rev!==void 0&&(U.from!==void 0||U.to!==void 0))throw Error("Use either --rev <n> or --from <a> --to <b>, not both.");let O=()=>({title:P.title,content:P.content,url:P.url,tags:P.tags??[],metadata:P.metadata??{},archived:P.archived??!1}),R=`v${P.version??"?"} (current)`,Q=async(q)=>{if(q==="current")return{label:R,snapshot:O()};let x=Number(q);if(!Number.isInteger(x)||x<1)throw Error(`Not a version number: ${q}`);if(P.version!==void 0&&x===P.version)return{label:R,snapshot:O()};let l=await L.getVersion(P.id,x);if(!l)throw Error(`No version ${x} retained for ${P.id} (it is at version ${P.version??"?"}). Run \`knowledge versions --id <id>\` to see what is retained.`);return{label:`v${l.version}`,snapshot:{title:l.title,content:l.content,url:l.url,tags:l.tags,metadata:l.metadata,archived:l.archived}}},V,G;if(U.rev!==void 0){if(!Number.isInteger(U.rev)||U.rev<1)throw Error("--rev must be a positive version number.");if(U.rev===1)throw Error("Version 1 has no predecessor to diff against.");V=String(U.rev-1),G=String(U.rev)}else if(U.from!==void 0||U.to!==void 0){if(U.from===void 0||U.to===void 0)throw Error("--from and --to must be given together.");V=U.from,G=U.to}else{let q=await L.listVersions(P.id,{limit:1});if(!q)throw Error(`Item not found: ${U.id}`);if(q.items.length===0)throw Error(`${P.id} is at version ${q.current_version} with no retained prior versions to diff against.`);V=String(q.items[0].version),G="current"}let T=await Q(V),F=await Q(G),M=VX(T.snapshot,F.snapshot);if(U.json||U.verbose){b({ok:!0,id:P.id,from:T.label,to:F.label,...M},U.json,U);return}console.log(FX(M,`${P.id} ${T.label}`,`${P.id} ${F.label}`));return}if(N==="update"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);if(U.ifVersion!==void 0&&(!Number.isInteger(U.ifVersion)||U.ifVersion<1))throw Error(`Invalid --if-version ${JSON.stringify(String(U.ifVersion))}: must be a positive integer version number, e.g. the "version" field from a prior 'knowledge get'.`);let O={};if(U.title!==void 0)O.title=U.title;if(U.content!==void 0)O.content=U.content;if(U.url!==void 0)O.url=U.url;let R;if(U.tag!==void 0){if(R=h7(P.tags,U.tag),R.length>0)O.tags=[...P.tags??[],...R]}let Q=U.ifVersion!==void 0?U.ifVersion:P.version,V=await L.update(P.id,O,{expectedVersion:Q});b(Yz({ok:!0,item:V},`Updated ${V?.id??P.id}`,R),U.json,U);return}if(N==="archive"||N==="restore"){T0(U);let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=await L.update(P.id,{archived:N==="archive"},{expectedVersion:P.version});b({ok:!0,item:O,message:`${N==="archive"?"Archived":"Restored"} ${O?.id??P.id}`},U.json,U);return}if(N==="untag"){if(T0(U),!U.tag?.length)throw Error("Missing required --tag. Example: knowledge untag --id <id> -t <tag>");let P=await L.get(U.id);if(!P)throw Error(`Item not found: ${U.id}`);let O=P.tags??[],R=new Set(O.map((x)=>x.toLowerCase())),Q=new Set;for(let x of U.tagRaw??U.tag){let l=x.trim().toLowerCase();if(l.length>0&&R.has(l)){Q.add(l);continue}for(let D_ of x.split(",").map((I_)=>I_.trim().toLowerCase()).filter((I_)=>I_.length>0))Q.add(D_)}let V=O.filter((x)=>!Q.has(x.toLowerCase())),G=O.length-V.length,T=[...Q].filter((x)=>!R.has(x));if(G===0)throw Error(`No matching tag on ${P.id}: ${T.map((x)=>JSON.stringify(x)).join(", ")} not in [${O.map((x)=>JSON.stringify(x)).join(", ")}]`);let F=await L.update(P.id,{tags:V},{expectedVersion:P.version}),M=T.length>0?` (not found: ${T.map((x)=>JSON.stringify(x)).join(", ")})`:"",q={ok:!0,item:F,removed:G,message:`Removed ${G} tag${G===1?"":"s"} from ${F?.id??P.id}${M}`};if(T.length>0)q.not_found=T;b(q,U.json,U);return}if(N==="upsert"){let P=U.title??$[1],O=U.content??$[2],R=U.id?await L.get(U.id):null;if(!R){if(!P||!O)throw Error("New item requires title and content. Example: knowledge upsert <title> <content> [--id <id>]");let T=await L.create({id:U.id,title:P,content:O,url:U.url??null,tags:U.tag??[]});b(Yz({ok:!0,created:!0,item:T},`Upserted ${T.id}`,U.tag),U.json,U);return}let Q={};if(P!==void 0)Q.title=P;if(O!==void 0)Q.content=O;if(U.url!==void 0)Q.url=U.url;let V;if(U.tag!==void 0){if(V=h7(R.tags,U.tag),V.length>0)Q.tags=[...R.tags??[],...V]}let G=await L.update(R.id,Q,{expectedVersion:R.version});b(Yz({ok:!0,created:!1,item:G},`Upserted ${G?.id??R.id}`,V),U.json,U);return}if(N==="delete"){if(T0(U),!U.yes)throw Error("Refusing delete without --yes. Re-run with: knowledge delete --id <id> --yes");if(!await L.delete(U.id))throw Error(`Item not found: ${U.id}`);B0("info","Item deleted",{id:U.id,transport:L.kind}),b({ok:!0,deleted_id:U.id,message:`Deleted ${U.id}`},U.json,U);return}if(N==="export"){let P=U.format??"json";if(P!=="json"&&P!=="jsonl")throw Error("Invalid --format. Use 'json' or 'jsonl'.");let O=await L.listAll();if(P==="jsonl")for(let R of O.items)console.log(JSON.stringify(R));else if(U.json||U.format==="json"||U.verbose)b({ok:!0,items:O.items,store_exists:O.exists},U.json||U.format==="json",U);else b(zu(O.items,P),!1);return}if(N==="prune"){if(!U.yes)throw Error("Refusing prune without --yes. Re-run with: knowledge prune --yes [--older-than <days>] [--empty]");let{items:P}=await L.listAll(),O=U.olderThan!==void 0?new Date(Date.now()-U.olderThan*86400000):null,R=P.filter((G)=>O!==null&&new Date(G.created_at)<O||U.empty&&G.content.trim().length===0),Q=await L.deleteMany(R.map((G)=>G.id)),V=P.length-Q;B0("info","Prune completed",{pruned:Q,remaining:V,transport:L.kind}),b({ok:!0,pruned:Q,remaining:V,message:`Pruned ${Q} item(s)`},U.json,U);return}if(N==="dedupe"){if(!U.yes)throw Error("Refusing dedupe without --yes. Re-run with: knowledge dedupe --yes [--json]");let{items:P}=await L.listAll(),O=new Set,R=[];for(let G of P){let T=`${G.title}\x00${G.content}`;if(O.has(T))R.push(G);else O.add(T)}let Q=await L.deleteMany(R.map((G)=>G.id)),V=P.length-Q;B0("info","Dedupe completed",{removed:Q,remaining:V,transport:L.kind}),b({ok:!0,removed:Q,remaining:V,message:`Dedupe removed ${Q} duplicate(s)`},U.json,U);return}if(N==="stats"){let P=await L.listAll(),O=P.items.filter((x)=>!x.archived),R=O.length,Q=P.items.length-R,V=O.filter((x)=>x.url).length,G=O.filter((x)=>x.tags&&x.tags.length>0).length,T=R>0?O.map((x)=>x.created_at).sort()[0]:null,F=R>0?O.map((x)=>x.created_at).sort()[R-1]:null,M={};for(let x of O)for(let l of x.tags||[])M[l]=(M[l]||0)+1;let q=Object.entries(M).sort((x,l)=>l[1]-x[1]).slice(0,5).map(([x,l])=>({tag:x,count:l}));b({ok:!0,total:R,archived:Q,with_url:V,with_tags:G,oldest:T,newest:F,top_tags:q,store_exists:P.exists,message:`${R} items | ${V} with URL | ${G} with tags`},U.json,U);return}let z=iy($[0]),Y=z?` Did you mean '${z}'?`:"";throw B0("warn","Unknown command",{input:$[0],suggestion:z}),Error(`Unknown command: ${$[0]}.${Y} Run 'knowledge --help' for available commands.`)}finally{await J?.close(),await E.close()}}function Yu(_,$){let U=_ instanceof Error?_.message:String(_);B0("debug","CLI error",{message:U,stack:_ instanceof Error?_.stack:void 0}),console.error(`Error: ${U}`);let N=_ instanceof C0?_:null,D=_ instanceof i?_:null;if($.includes("--json"))b({ok:!1,error:U,message:U,...N?{code:"version_conflict",expected:N.expected,current:N.current}:D?{code:D.code,details:D.details}:{}},!0);process.exitCode=N?2:1}if(import.meta.main){let _=process.argv.slice(2);Ru(_).catch(($)=>Yu($,_))}export{iy as suggestCommand,Xu as sortItems,Ru as run,ny as parseArgs,Yu as emitCliError}; diff --git a/bun.lock b/bun.lock index 67c7a04..0e79faf 100644 --- a/bun.lock +++ b/bun.lock @@ -23,6 +23,7 @@ "@hasna/contracts": "0.8.5", "@types/bun": "^1.3.14", "@types/pg": "^8.15.6", + "typescript": "5.9.3", }, }, }, @@ -319,6 +320,8 @@ "type-is": ["type-is@2.1.0", "", { "dependencies": { "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + "undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="], "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], diff --git a/dist/artifact-store.d.ts b/dist/artifact-store.d.ts index 3e90c26..a7c9dea 100644 --- a/dist/artifact-store.d.ts +++ b/dist/artifact-store.d.ts @@ -24,7 +24,7 @@ export interface ArtifactStore { export declare function normalizeArtifactKey(key: string): string; export declare class LocalArtifactStore implements ArtifactStore { private readonly root; - readonly type: 'local'; + readonly type: "local"; readonly canRead = true; readonly canWrite = true; constructor(root: string); @@ -44,7 +44,7 @@ export interface S3ArtifactStoreOptions { } export declare class S3ArtifactStore implements ArtifactStore { private readonly options; - readonly type: 's3'; + readonly type: "s3"; readonly canRead = true; readonly canWrite = true; private client?; diff --git a/dist/db/storage-sync.d.ts b/dist/db/storage-sync.d.ts index ce8cedd..127a3b2 100644 --- a/dist/db/storage-sync.d.ts +++ b/dist/db/storage-sync.d.ts @@ -9,7 +9,7 @@ * shared store only through the HTTP ApiStore. This module keeps only local, * read-only status helpers. */ -export declare const STORAGE_TABLES: readonly ['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']; +export declare const STORAGE_TABLES: readonly ["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"]; export declare const KNOWLEDGE_STORAGE_TABLES: readonly ["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"]; type StorageTable = (typeof STORAGE_TABLES)[number]; /** diff --git a/dist/guarded-cli.d.ts b/dist/guarded-cli.d.ts index 957164a..7c57b66 100644 --- a/dist/guarded-cli.d.ts +++ b/dist/guarded-cli.d.ts @@ -1,6 +1,6 @@ import { KNOWLEDGE_GUARDED_WRITE_CONTRACT, type KnowledgePrivateInputDescriptor, type KnowledgePrivateQueryDescriptor, type KnowledgePrivateResultProof } from './guarded-write-contract.js'; -export declare const KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA: 'knowledge.guarded-cli-request.v1'; -export declare const KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA: 'knowledge.guarded-cli-result.v1'; +export declare const KNOWLEDGE_GUARDED_CLI_REQUEST_SCHEMA: "knowledge.guarded-cli-request.v1"; +export declare const KNOWLEDGE_GUARDED_CLI_RESULT_SCHEMA: "knowledge.guarded-cli-result.v1"; type KnowledgeGuardedCliAction = 'write' | 'query' | 'readback'; type KnowledgeGuardedCliTransport = 'process_ipc' | 'anonymous_fd'; export interface KnowledgeGuardedCliPrivateResult { diff --git a/dist/guarded-write-contract.d.ts b/dist/guarded-write-contract.d.ts index 8a6faad..e3d0775 100644 --- a/dist/guarded-write-contract.d.ts +++ b/dist/guarded-write-contract.d.ts @@ -1,11 +1,11 @@ import type { KnowledgeItem, KnowledgeItemVersion } from './store.js'; -export declare const KNOWLEDGE_GUARDED_WRITE_CONTRACT: 'FCAME-1'; -export declare const KNOWLEDGE_PRIVATE_INPUT_SCHEMA: 'hasna.knowledge.private-input.v1'; -export declare const KNOWLEDGE_PRIVATE_TITLE_LOOKUP_SCHEMA: 'hasna.knowledge.private-title-lookup.v1'; -export declare const KNOWLEDGE_PRIVATE_QUERY_SCHEMA: 'hasna.knowledge.private-query.v1'; -export declare const KNOWLEDGE_PRIVATE_RESULT_SCHEMA: 'hasna.knowledge.private-result.v1'; -export declare const KNOWLEDGE_RELATIONS_SCHEMA: 'hasna.knowledge.relations.v1'; -export declare const KNOWLEDGE_RELATIONS_METADATA_KEY: 'hasna_knowledge_relations'; +export declare const KNOWLEDGE_GUARDED_WRITE_CONTRACT: "FCAME-1"; +export declare const KNOWLEDGE_PRIVATE_INPUT_SCHEMA: "hasna.knowledge.private-input.v1"; +export declare const KNOWLEDGE_PRIVATE_TITLE_LOOKUP_SCHEMA: "hasna.knowledge.private-title-lookup.v1"; +export declare const KNOWLEDGE_PRIVATE_QUERY_SCHEMA: "hasna.knowledge.private-query.v1"; +export declare const KNOWLEDGE_PRIVATE_RESULT_SCHEMA: "hasna.knowledge.private-result.v1"; +export declare const KNOWLEDGE_RELATIONS_SCHEMA: "hasna.knowledge.relations.v1"; +export declare const KNOWLEDGE_RELATIONS_METADATA_KEY: "hasna_knowledge_relations"; export type KnowledgeAuthorityClassification = 'user_hosted' | 'hasna_saas'; export type KnowledgeGuardedWriteVerb = 'create' | 'update'; export interface KnowledgeAuthorityBinding { diff --git a/dist/index.js b/dist/index.js index 445ef03..79af46b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -37953,7 +37953,7 @@ function migrateLegacyKnowledgeWorkspace(options) { // package.json var package_default = { name: "@hasna/knowledge", - version: "0.2.104", + version: "0.2.105", description: "Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions", type: "module", exports: { @@ -38012,7 +38012,7 @@ var package_default = { 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", + 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 && bun run tsc -p tsconfig.build.json", prepublishOnly: "bun run contracts:conformance && contracts no-cloud-scan . && bun run build && node scripts/validate-public-package.mjs" }, keywords: [ @@ -38059,7 +38059,8 @@ var package_default = { "@electric-sql/pglite": "^0.5.4", "@hasna/contracts": "0.8.5", "@types/bun": "^1.3.14", - "@types/pg": "^8.15.6" + "@types/pg": "^8.15.6", + typescript: "5.9.3" } }; diff --git a/dist/knowledge-mode.d.ts b/dist/knowledge-mode.d.ts index 94b553c..aae2138 100644 --- a/dist/knowledge-mode.d.ts +++ b/dist/knowledge-mode.d.ts @@ -58,9 +58,9 @@ export declare function resolveKnowledgeModeSelection(env?: NodeJS.ProcessEnv): * Server-side tokens, in probe order. Kept as a small derivation seam so a * future contracts enum change fails loudly instead of guessing a backend. */ -export declare const SERVER_MODE_CANDIDATES: readonly ['postgres']; +export declare const SERVER_MODE_CANDIDATES: readonly ["postgres"]; /** On-box tokens. */ -export declare const LOCAL_MODE_CANDIDATES: readonly ['sqlite']; +export declare const LOCAL_MODE_CANDIDATES: readonly ["sqlite"]; /** Accepts a mode token or throws. Injectable so both enum generations are testable. */ export type ModeNormalizer = (value: string) => unknown; /** The live-contracts token meaning "the app server". */ diff --git a/dist/project-links.d.ts b/dist/project-links.d.ts index afddbe4..8a3992a 100644 --- a/dist/project-links.d.ts +++ b/dist/project-links.d.ts @@ -1,10 +1,10 @@ import type { ItemStore } from './item-store.js'; import type { KnowledgeItem } from './store.js'; import type { PoolQueryClient } from './generated/storage-kit/index.js'; -export declare const KNOWLEDGE_PROJECT_REGISTRATION_ROUTE: 'knowledge.project-registration.v1'; -export declare const KNOWLEDGE_PROJECT_RESOURCES_ROUTE: 'knowledge.project-resources.v1'; +export declare const KNOWLEDGE_PROJECT_REGISTRATION_ROUTE: "knowledge.project-registration.v1"; +export declare const KNOWLEDGE_PROJECT_RESOURCES_ROUTE: "knowledge.project-resources.v1"; export declare const KNOWLEDGE_PROJECT_REGISTRATION_SCHEMA_VERSION: 1; -export declare const KNOWLEDGE_PROJECT_MEMBERSHIP_RULE: 'explicit_collection_binding'; +export declare const KNOWLEDGE_PROJECT_MEMBERSHIP_RULE: "explicit_collection_binding"; /** * Keyset pages fetch exactly one extra producer row to decide whether a * continuation cursor is required. Scalar snapshot/count queries are separate diff --git a/dist/query-contract.d.ts b/dist/query-contract.d.ts index b9da7e8..e185cf1 100644 --- a/dist/query-contract.d.ts +++ b/dist/query-contract.d.ts @@ -3,7 +3,7 @@ * contract. New clients require it whenever an older server could otherwise * ignore a query field and return a plausible, but semantically wrong, page. */ -export declare const KNOWLEDGE_BOUNDED_QUERY_CAPABILITY: 'hasna.knowledge.bounded-query.v1'; +export declare const KNOWLEDGE_BOUNDED_QUERY_CAPABILITY: "hasna.knowledge.bounded-query.v1"; export interface KnowledgeBoundedQueryEnvelope { query_capability: typeof KNOWLEDGE_BOUNDED_QUERY_CAPABILITY; } diff --git a/dist/sync.d.ts b/dist/sync.d.ts index c90bd9b..3660024 100644 --- a/dist/sync.d.ts +++ b/dist/sync.d.ts @@ -206,7 +206,7 @@ export interface KnowledgeSyncConflictEvidence { citations: KnowledgeSyncConflictProposalCitation[]; read_only_tools: KnowledgeSyncConflictReadOnlyToolCall[]; } -export declare const KNOWLEDGE_SYNC_TABLES: readonly ['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']; +export declare const KNOWLEDGE_SYNC_TABLES: readonly ["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"]; export declare const KNOWLEDGE_SYNC_PROTOCOL_VERSION = 2; export declare const KNOWLEDGE_SYNC_MIN_PROTOCOL_VERSION = 1; export type KnowledgeSyncTable = (typeof KNOWLEDGE_SYNC_TABLES)[number]; diff --git a/dist/workspace.d.ts b/dist/workspace.d.ts index 4ba4c2e..2da4a92 100644 --- a/dist/workspace.d.ts +++ b/dist/workspace.d.ts @@ -77,27 +77,27 @@ export interface KnowledgeConfig { }; } export declare const EXAMPLE_KNOWLEDGE_CANONICAL: { - readonly division: 'xyz'; - readonly app_type: 'opensource'; - readonly app: 'knowledge'; - readonly env: 'prod'; + readonly division: "xyz"; + readonly app_type: "opensource"; + readonly app: "knowledge"; + readonly env: "prod"; readonly local_path: string; readonly s3: { - readonly bucket: 'example-knowledge-prod'; - readonly region: 'us-east-1'; - readonly profile: 'example-infra'; - readonly prefix: '.hasna/knowledge'; - readonly server_side_encryption: 'AES256'; + readonly bucket: "example-knowledge-prod"; + readonly region: "us-east-1"; + readonly profile: "example-infra"; + readonly prefix: ".hasna/knowledge"; + readonly server_side_encryption: "AES256"; }; readonly secrets: { - readonly env: 'example/knowledge/prod/env'; - readonly aws: 'example/knowledge/prod/aws'; - readonly s3: 'example/knowledge/prod/s3'; + readonly env: "example/knowledge/prod/env"; + readonly aws: "example/knowledge/prod/aws"; + readonly s3: "example/knowledge/prod/s3"; readonly rds: any; - readonly future_rds: 'example/knowledge/prod/rds'; + readonly future_rds: "example/knowledge/prod/rds"; }; - readonly source_owner: 'open-files'; - readonly evidence_doc: 'docs/canonical-secrets-bootstrap-2026-06-08.md'; + readonly source_owner: "open-files"; + readonly evidence_doc: "docs/canonical-secrets-bootstrap-2026-06-08.md"; }; export declare function canonicalExampleKnowledgeStorage(): KnowledgeConfig['storage']; export declare function legacyGlobalStorePath(): string; diff --git a/package.json b/package.json index 05ff03c..0a7b9f2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hasna/knowledge", - "version": "0.2.104", + "version": "0.2.105", "description": "Agent-friendly local knowledge CLI with JSON output, pagination, and safe destructive actions", "type": "module", "exports": { @@ -59,7 +59,7 @@ "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", + "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 && bun run tsc -p tsconfig.build.json", "prepublishOnly": "bun run contracts:conformance && contracts no-cloud-scan . && bun run build && node scripts/validate-public-package.mjs" }, "keywords": [ @@ -106,6 +106,7 @@ "@electric-sql/pglite": "^0.5.4", "@hasna/contracts": "0.8.5", "@types/bun": "^1.3.14", - "@types/pg": "^8.15.6" + "@types/pg": "^8.15.6", + "typescript": "5.9.3" } } diff --git a/tests/package-release.test.ts b/tests/package-release.test.ts index c87b37b..7d67d82 100644 --- a/tests/package-release.test.ts +++ b/tests/package-release.test.ts @@ -14,6 +14,8 @@ import { budget } from './support/budget'; const repoRoot = join(dirname(fileURLToPath(import.meta.url)), '..'); const packageJson = JSON.parse(readFileSync(join(repoRoot, 'package.json'), 'utf8')) as { files: string[]; + scripts: Record<string, string>; + devDependencies?: Record<string, string>; }; const publicDocs = [ @@ -53,6 +55,18 @@ function declarationExportsIdentifier(source: string, identifier: string): boole } describe('public package release safety', () => { + test('declaration generation uses the exact package-local TypeScript compiler', () => { + const typescriptVersion = packageJson.devDependencies?.typescript; + expect(typescriptVersion).toMatch(/^\d+\.\d+\.\d+$/); + + const lockfile = readFileSync(join(repoRoot, 'bun.lock'), 'utf8'); + expect(lockfile).toContain(`\"typescript\": \"${typescriptVersion}\"`); + expect(lockfile).toContain(`typescript@${typescriptVersion}`); + + expect(packageJson.scripts.build).toContain('bun run tsc -p tsconfig.build.json'); + expect(packageJson.scripts.build).not.toContain('bunx tsc'); + }); + // Node's builtin list, hardcoded on purpose. `builtinModules` under `bun test` returns BUN's // list, which includes `ws`, `undici` and `bun` - real npm package names that are NOT Node // builtins, so using it would bless imports that throw for every node installer.