@intentius/chant 0.124.20 → 0.124.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- // @intentius/chant 0.124.20 wave-job runtime (#3896): run wave, run resume, approve, workspace points.
2
+ // @intentius/chant 0.124.21 wave-job runtime (#3896): run wave, run resume, approve, workspace points.
3
3
  import { createRequire as __chantCreateRequire } from "node:module";
4
4
  const require = __chantCreateRequire(import.meta.url);
5
5
  var Kte=Object.create;var nR=Object.defineProperty;var Jte=Object.getOwnPropertyDescriptor;var Zte=Object.getOwnPropertyNames;var Yte=Object.getPrototypeOf,Xte=Object.prototype.hasOwnProperty;var v=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(i){throw n=[i],i}};var ie=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Oe=(e,t)=>{for(var n in t)nR(e,n,{get:t[n],enumerable:!0})},Qte=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Zte(t))!Xte.call(e,r)&&r!==n&&nR(e,r,{get:()=>t[r],enumerable:!(i=Jte(t,r))||i.enumerable});return e};var Ne=(e,t,n)=>(n=e!=null?Kte(Yte(e)):{},Qte(t||!e||!e.__esModule?nR(n,"default",{value:e,enumerable:!0}):n,e));function _1(e,t=new Set){let n=[];for(let i of e)if(i.startsWith("--")&&i.includes("=")){let r=i.indexOf("="),o=i.slice(0,r),s=i.slice(r+1);if(t.has(o))throw new Error(`${i} \u2014 ${o} is a boolean flag and does not take a value. Pass ${o} on its own.`);n.push(o,s)}else n.push(i);return n}var rR,iR=v(()=>{"use strict";rR=new Set(["build","lint","list","describe","import","audit","migrate","carve","init","update","doctor","dev","run","graph","vendor","lifecycle","lc","components","emulator","serve","operator","approve","workspace"])});function nne(){return!process.env.NO_COLOR&&process.stdout.isTTY!==!1}function Bs(e,t){return nne()?`${t}${e}${Jo.reset}`:e}function fe(e){let t=[];if(e.file){let n=e.file;e.line!==void 0&&(n+=`:${e.line}`,e.column!==void 0&&(n+=`:${e.column}`)),t.push(Bs(n,Jo.cyan)),t.push(" - ")}return t.push(Bs("error",Jo.red)),t.push(": "),t.push(e.message),e.hint&&(t.push(`
6
6
  `),t.push(Bs(e.hint,Jo.gray))),t.join("")}function Vr(e){let t=[];if(e.file){let n=e.file;e.line!==void 0&&(n+=`:${e.line}`,e.column!==void 0&&(n+=`:${e.column}`)),t.push(Bs(n,Jo.cyan)),t.push(" - ")}return t.push(Bs("warning",Jo.yellow)),t.push(": "),t.push(e.message),e.hint&&(t.push(`
7
- `),t.push(Bs(e.hint,Jo.gray))),t.join("")}function Np(e){return Bs(e,Jo.green)}function lr(e){return Bs(e,Jo.gray)}var Jo,qn=v(()=>{"use strict";Jo={red:"\x1B[31m",yellow:"\x1B[33m",green:"\x1B[32m",cyan:"\x1B[36m",gray:"\x1B[90m",reset:"\x1B[0m",bold:"\x1B[1m"}});var jp,Qh=v(()=>{"use strict";jp="0.124.20"});function M(e,t,n){function i(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];p in a||(a[p]=l[p].bind(a))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function s(a){var c;let l=n?.Parent?new o:this;i(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:i}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}function Ut(e){return e&&Object.assign(Lp,e),Lp}var sR,ey,$i,Gs,Lp,Gl=v(()=>{sR=Object.freeze({status:"aborted"});ey=Symbol("zod_brand"),$i=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Gs=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},Lp={}});var le={};Oe(le,{BIGINT_FORMAT_RANGES:()=>hR,Class:()=>cR,NUMBER_FORMAT_RANGES:()=>gR,aborted:()=>Hs,allowsEval:()=>dR,assert:()=>cne,assertEqual:()=>ine,assertIs:()=>sne,assertNever:()=>ane,assertNotEqual:()=>one,assignProp:()=>zs,base64ToUint8Array:()=>M1,base64urlToUint8Array:()=>Sne,cached:()=>zl,captureStackTrace:()=>ny,cleanEnum:()=>Rne,cleanRegex:()=>Bp,clone:()=>Kn,cloneDef:()=>une,createTransparentProxy:()=>hne,defineLazy:()=>Ue,esc:()=>ty,escapeRegex:()=>qr,extend:()=>wne,finalizeIssue:()=>ur,floatSafeRemainder:()=>lR,getElementAtPath:()=>dne,getEnumValues:()=>Fp,getLengthableOrigin:()=>zp,getParsedType:()=>gne,getSizableOrigin:()=>Wp,hexToUint8Array:()=>Ane,isObject:()=>pc,isPlainObject:()=>Us,issue:()=>Ul,joinValues:()=>K,jsonStringifyReplacer:()=>Wl,merge:()=>kne,mergeDefs:()=>Zo,normalizeParams:()=>ue,nullish:()=>Ws,numKeys:()=>mne,objectClone:()=>lne,omit:()=>bne,optionalKeys:()=>mR,parsedType:()=>ce,partial:()=>xne,pick:()=>yne,prefixIssues:()=>_r,primitiveTypes:()=>fR,promiseAllObject:()=>pne,propertyKeyTypes:()=>Gp,randomString:()=>fne,required:()=>$ne,safeExtend:()=>vne,shallowClone:()=>pR,slugify:()=>uR,stringifyPrimitive:()=>se,uint8ArrayToBase64:()=>F1,uint8ArrayToBase64url:()=>Ene,uint8ArrayToHex:()=>Pne,unwrapMessage:()=>Mp});function ine(e){return e}function one(e){return e}function sne(e){}function ane(e){throw new Error("Unexpected value in exhaustive check")}function cne(e){}function Fp(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function K(e,t="|"){return e.map(n=>se(n)).join(t)}function Wl(e,t){return typeof t=="bigint"?t.toString():t}function zl(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function Ws(e){return e==null}function Bp(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function lR(e,t){let n=(e.toString().split(".")[1]||"").length,i=t.toString(),r=(i.split(".")[1]||"").length;if(r===0&&/\d?e-\d?/.test(i)){let c=i.match(/\d?e-(\d?)/);c?.[1]&&(r=Number.parseInt(c[1]))}let o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return s%a/10**o}function Ue(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==L1)return i===void 0&&(i=L1,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function lne(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function zs(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Zo(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function une(e){return Zo(e._zod.def)}function dne(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function pne(e){let t=Object.keys(e),n=t.map(i=>e[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function fne(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function ty(e){return JSON.stringify(e)}function uR(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function pc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Us(e){if(pc(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(pc(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function pR(e){return Us(e)?{...e}:Array.isArray(e)?[...e]:e}function mne(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}function qr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Kn(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function ue(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function hne(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function se(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function mR(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function yne(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Zo(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(s[a]=n.shape[a])}return zs(this,"shape",s),s},checks:[]});return Kn(e,o)}function bne(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Zo(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete s[a]}return zs(this,"shape",s),s},checks:[]});return Kn(e,o)}function wne(e,t){if(!Us(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Zo(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return zs(this,"shape",o),o}});return Kn(e,r)}function vne(e,t){if(!Us(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Zo(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return zs(this,"shape",i),i}});return Kn(e,n)}function kne(e,t){let n=Zo(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return zs(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:[]});return Kn(e,n)}function xne(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Zo(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(c[l]=e?new e({type:"optional",innerType:a[l]}):a[l])}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return zs(this,"shape",c),c},checks:[]});return Kn(t,s)}function $ne(e,t,n){let i=Zo(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new e({type:"nonoptional",innerType:r[s]}))}else for(let s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return zs(this,"shape",o),o}});return Kn(t,i)}function Hs(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function _r(e,t){return t.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function Mp(e){return typeof e=="string"?e:e?.message}function ur(e,t,n){let i={...e,path:e.path??[]};if(!e.message){let r=Mp(e.inst?._zod.def?.error?.(e))??Mp(t?.error?.(e))??Mp(n.customError?.(e))??Mp(n.localeError?.(e))??"Invalid input";i.message=r}return delete i.inst,delete i.continue,t?.reportInput||delete i.input,i}function Wp(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function zp(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ce(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function Ul(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function Rne(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function M1(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function F1(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Sne(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return M1(t+n)}function Ene(e){return F1(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Ane(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function Pne(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var L1,ny,dR,gne,Gp,fR,gR,hR,cR,Re=v(()=>{L1=Symbol("evaluating");ny="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};dR=zl(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});gne=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Gp=new Set(["string","number","symbol"]),fR=new Set(["string","number","bigint","boolean","symbol","undefined"]);gR={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},hR={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};cR=class{constructor(...t){}}});function Hp(e,t=n=>n.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}}function Vp(e,t=n=>n.message){let n={_errors:[]},i=r=>{for(let o of r.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>i({issues:s}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(t(o));else{let s=n,a=0;for(;a<o.path.length;){let c=o.path[a];a===o.path.length-1?(s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(o))):s[c]=s[c]||{_errors:[]},s=s[c],a++}}};return i(e),n}function yR(e,t=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var s,a;for(let c of r.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(l=>i({issues:l},c.path));else if(c.code==="invalid_key")i({issues:c.issues},c.path);else if(c.code==="invalid_element")i({issues:c.issues},c.path);else{let l=[...o,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;for(;d<l.length;){let p=l[d],f=d===l.length-1;typeof p=="string"?(u.properties??(u.properties={}),(s=u.properties)[p]??(s[p]={errors:[]}),u=u.properties[p]):(u.items??(u.items=[]),(a=u.items)[p]??(a[p]={errors:[]}),u=u.items[p]),f&&u.errors.push(t(c)),d++}}};return i(e),n}function G1(e){let t=[],n=e.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function bR(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${G1(i.path)}`);return t.join(`
7
+ `),t.push(Bs(e.hint,Jo.gray))),t.join("")}function Np(e){return Bs(e,Jo.green)}function lr(e){return Bs(e,Jo.gray)}var Jo,qn=v(()=>{"use strict";Jo={red:"\x1B[31m",yellow:"\x1B[33m",green:"\x1B[32m",cyan:"\x1B[36m",gray:"\x1B[90m",reset:"\x1B[0m",bold:"\x1B[1m"}});var jp,Qh=v(()=>{"use strict";jp="0.124.21"});function M(e,t,n){function i(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1}),a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];p in a||(a[p]=l[p].bind(a))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function s(a){var c;let l=n?.Parent?new o:this;i(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:i}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}function Ut(e){return e&&Object.assign(Lp,e),Lp}var sR,ey,$i,Gs,Lp,Gl=v(()=>{sR=Object.freeze({status:"aborted"});ey=Symbol("zod_brand"),$i=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Gs=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}},Lp={}});var le={};Oe(le,{BIGINT_FORMAT_RANGES:()=>hR,Class:()=>cR,NUMBER_FORMAT_RANGES:()=>gR,aborted:()=>Hs,allowsEval:()=>dR,assert:()=>cne,assertEqual:()=>ine,assertIs:()=>sne,assertNever:()=>ane,assertNotEqual:()=>one,assignProp:()=>zs,base64ToUint8Array:()=>M1,base64urlToUint8Array:()=>Sne,cached:()=>zl,captureStackTrace:()=>ny,cleanEnum:()=>Rne,cleanRegex:()=>Bp,clone:()=>Kn,cloneDef:()=>une,createTransparentProxy:()=>hne,defineLazy:()=>Ue,esc:()=>ty,escapeRegex:()=>qr,extend:()=>wne,finalizeIssue:()=>ur,floatSafeRemainder:()=>lR,getElementAtPath:()=>dne,getEnumValues:()=>Fp,getLengthableOrigin:()=>zp,getParsedType:()=>gne,getSizableOrigin:()=>Wp,hexToUint8Array:()=>Ane,isObject:()=>pc,isPlainObject:()=>Us,issue:()=>Ul,joinValues:()=>K,jsonStringifyReplacer:()=>Wl,merge:()=>kne,mergeDefs:()=>Zo,normalizeParams:()=>ue,nullish:()=>Ws,numKeys:()=>mne,objectClone:()=>lne,omit:()=>bne,optionalKeys:()=>mR,parsedType:()=>ce,partial:()=>xne,pick:()=>yne,prefixIssues:()=>_r,primitiveTypes:()=>fR,promiseAllObject:()=>pne,propertyKeyTypes:()=>Gp,randomString:()=>fne,required:()=>$ne,safeExtend:()=>vne,shallowClone:()=>pR,slugify:()=>uR,stringifyPrimitive:()=>se,uint8ArrayToBase64:()=>F1,uint8ArrayToBase64url:()=>Ene,uint8ArrayToHex:()=>Pne,unwrapMessage:()=>Mp});function ine(e){return e}function one(e){return e}function sne(e){}function ane(e){throw new Error("Unexpected value in exhaustive check")}function cne(e){}function Fp(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function K(e,t="|"){return e.map(n=>se(n)).join(t)}function Wl(e,t){return typeof t=="bigint"?t.toString():t}function zl(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function Ws(e){return e==null}function Bp(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function lR(e,t){let n=(e.toString().split(".")[1]||"").length,i=t.toString(),r=(i.split(".")[1]||"").length;if(r===0&&/\d?e-\d?/.test(i)){let c=i.match(/\d?e-(\d?)/);c?.[1]&&(r=Number.parseInt(c[1]))}let o=n>r?n:r,s=Number.parseInt(e.toFixed(o).replace(".","")),a=Number.parseInt(t.toFixed(o).replace(".",""));return s%a/10**o}function Ue(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==L1)return i===void 0&&(i=L1,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function lne(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function zs(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Zo(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function une(e){return Zo(e._zod.def)}function dne(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function pne(e){let t=Object.keys(e),n=t.map(i=>e[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function fne(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function ty(e){return JSON.stringify(e)}function uR(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function pc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Us(e){if(pc(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(pc(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function pR(e){return Us(e)?{...e}:Array.isArray(e)?[...e]:e}function mne(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}function qr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Kn(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function ue(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function hne(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function se(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function mR(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function yne(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Zo(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(s[a]=n.shape[a])}return zs(this,"shape",s),s},checks:[]});return Kn(e,o)}function bne(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Zo(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete s[a]}return zs(this,"shape",s),s},checks:[]});return Kn(e,o)}function wne(e,t){if(!Us(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Zo(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return zs(this,"shape",o),o}});return Kn(e,r)}function vne(e,t){if(!Us(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Zo(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return zs(this,"shape",i),i}});return Kn(e,n)}function kne(e,t){let n=Zo(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return zs(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:[]});return Kn(e,n)}function xne(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let s=Zo(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(c[l]=e?new e({type:"optional",innerType:a[l]}):a[l])}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return zs(this,"shape",c),c},checks:[]});return Kn(t,s)}function $ne(e,t,n){let i=Zo(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in o))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(o[s]=new e({type:"nonoptional",innerType:r[s]}))}else for(let s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return zs(this,"shape",o),o}});return Kn(t,i)}function Hs(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function _r(e,t){return t.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function Mp(e){return typeof e=="string"?e:e?.message}function ur(e,t,n){let i={...e,path:e.path??[]};if(!e.message){let r=Mp(e.inst?._zod.def?.error?.(e))??Mp(t?.error?.(e))??Mp(n.customError?.(e))??Mp(n.localeError?.(e))??"Invalid input";i.message=r}return delete i.inst,delete i.continue,t?.reportInput||delete i.input,i}function Wp(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function zp(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ce(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function Ul(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function Rne(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function M1(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function F1(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Sne(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return M1(t+n)}function Ene(e){return F1(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Ane(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function Pne(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var L1,ny,dR,gne,Gp,fR,gR,hR,cR,Re=v(()=>{L1=Symbol("evaluating");ny="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};dR=zl(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});gne=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Gp=new Set(["string","number","symbol"]),fR=new Set(["string","number","bigint","boolean","symbol","undefined"]);gR={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},hR={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};cR=class{constructor(...t){}}});function Hp(e,t=n=>n.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}}function Vp(e,t=n=>n.message){let n={_errors:[]},i=r=>{for(let o of r.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(s=>i({issues:s}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(t(o));else{let s=n,a=0;for(;a<o.path.length;){let c=o.path[a];a===o.path.length-1?(s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(o))):s[c]=s[c]||{_errors:[]},s=s[c],a++}}};return i(e),n}function yR(e,t=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var s,a;for(let c of r.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(l=>i({issues:l},c.path));else if(c.code==="invalid_key")i({issues:c.issues},c.path);else if(c.code==="invalid_element")i({issues:c.issues},c.path);else{let l=[...o,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;for(;d<l.length;){let p=l[d],f=d===l.length-1;typeof p=="string"?(u.properties??(u.properties={}),(s=u.properties)[p]??(s[p]={errors:[]}),u=u.properties[p]):(u.items??(u.items=[]),(a=u.items)[p]??(a[p]={errors:[]}),u=u.items[p]),f&&u.errors.push(t(c)),d++}}};return i(e),n}function G1(e){let t=[],n=e.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function bR(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${G1(i.path)}`);return t.join(`
8
8
  `)}var B1,Up,dr,wR=v(()=>{Gl();Re();B1=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Wl,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Up=M("$ZodError",B1),dr=M("$ZodError",B1,{Parent:Error})});var Hl,ry,Vl,iy,ql,vR,Kl,kR,oy,Cne,sy,_ne,ay,Ine,cy,Tne,ly,Dne,uy,Nne,dy,jne,py,Lne,xR=v(()=>{Gl();wR();Re();Hl=e=>(t,n,i,r)=>{let o=i?Object.assign(i,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new $i;if(s.issues.length){let a=new(r?.Err??e)(s.issues.map(c=>ur(c,o,Ut())));throw ny(a,r?.callee),a}return s.value},ry=Hl(dr),Vl=e=>async(t,n,i,r)=>{let o=i?Object.assign(i,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(r?.Err??e)(s.issues.map(c=>ur(c,o,Ut())));throw ny(a,r?.callee),a}return s.value},iy=Vl(dr),ql=e=>(t,n,i)=>{let r=i?{...i,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new $i;return o.issues.length?{success:!1,error:new(e??Up)(o.issues.map(s=>ur(s,r,Ut())))}:{success:!0,data:o.value}},vR=ql(dr),Kl=e=>async(t,n,i)=>{let r=i?Object.assign(i,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(s=>ur(s,r,Ut())))}:{success:!0,data:o.value}},kR=Kl(dr),oy=e=>(t,n,i)=>{let r=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Hl(e)(t,n,r)},Cne=oy(dr),sy=e=>(t,n,i)=>Hl(e)(t,n,i),_ne=sy(dr),ay=e=>async(t,n,i)=>{let r=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Vl(e)(t,n,r)},Ine=ay(dr),cy=e=>async(t,n,i)=>Vl(e)(t,n,i),Tne=cy(dr),ly=e=>(t,n,i)=>{let r=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return ql(e)(t,n,r)},Dne=ly(dr),uy=e=>(t,n,i)=>ql(e)(t,n,i),Nne=uy(dr),dy=e=>async(t,n,i)=>{let r=i?Object.assign(i,{direction:"backward"}):{direction:"backward"};return Kl(e)(t,n,r)},jne=dy(dr),py=e=>async(t,n,i)=>Kl(e)(t,n,i),Lne=py(dr)});var Kr={};Oe(Kr,{base64:()=>MR,base64url:()=>fy,bigint:()=>UR,boolean:()=>VR,browserEmail:()=>Hne,cidrv4:()=>jR,cidrv6:()=>LR,cuid:()=>$R,cuid2:()=>RR,date:()=>BR,datetime:()=>WR,domain:()=>Kne,duration:()=>OR,e164:()=>FR,email:()=>_R,emoji:()=>IR,extendedDuration:()=>Mne,guid:()=>CR,hex:()=>Jne,hostname:()=>qne,html5Email:()=>Wne,idnEmail:()=>Une,integer:()=>HR,ipv4:()=>TR,ipv6:()=>DR,ksuid:()=>AR,lowercase:()=>JR,mac:()=>NR,md5_base64:()=>Yne,md5_base64url:()=>Xne,md5_hex:()=>Zne,nanoid:()=>PR,null:()=>qR,number:()=>my,rfc5322Email:()=>zne,sha1_base64:()=>ere,sha1_base64url:()=>tre,sha1_hex:()=>Qne,sha256_base64:()=>rre,sha256_base64url:()=>ire,sha256_hex:()=>nre,sha384_base64:()=>sre,sha384_base64url:()=>are,sha384_hex:()=>ore,sha512_base64:()=>lre,sha512_base64url:()=>ure,sha512_hex:()=>cre,string:()=>zR,time:()=>GR,ulid:()=>SR,undefined:()=>KR,unicodeEmail:()=>W1,uppercase:()=>ZR,uuid:()=>fc,uuid4:()=>Fne,uuid6:()=>Bne,uuid7:()=>Gne,xid:()=>ER});function IR(){return new RegExp(Vne,"u")}function U1(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function GR(e){return new RegExp(`^${U1(e)}$`)}function WR(e){let t=U1({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${t}(?:${n.join("|")})`;return new RegExp(`^${z1}T(?:${i})$`)}function qp(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Kp(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var $R,RR,SR,ER,AR,PR,OR,Mne,CR,fc,Fne,Bne,Gne,_R,Wne,zne,W1,Une,Hne,Vne,TR,DR,NR,jR,LR,MR,fy,qne,Kne,FR,z1,BR,zR,UR,HR,my,VR,qR,KR,JR,ZR,Jne,Zne,Yne,Xne,Qne,ere,tre,nre,rre,ire,ore,sre,are,cre,lre,ure,gy=v(()=>{Re();$R=/^[cC][^\s-]{8,}$/,RR=/^[0-9a-z]+$/,SR=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ER=/^[0-9a-vA-V]{20}$/,AR=/^[A-Za-z0-9]{27}$/,PR=/^[a-zA-Z0-9_-]{21}$/,OR=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Mne=/^[-+]?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)?)??$/,CR=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,fc=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Fne=fc(4),Bne=fc(6),Gne=fc(7),_R=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Wne=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,zne=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,W1=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Une=W1,Hne=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Vne="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";TR=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,DR=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,NR=e=>{let t=qr(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},jR=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,LR=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,MR=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,fy=/^[A-Za-z0-9_-]*$/,qne=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Kne=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,FR=/^\+[1-9]\d{6,14}$/,z1="(?:(?:\\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])))",BR=new RegExp(`^${z1}$`);zR=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},UR=/^-?\d+n?$/,HR=/^-?\d+$/,my=/^-?\d+(?:\.\d+)?$/,VR=/^(?:true|false)$/i,qR=/^null$/i,KR=/^undefined$/i,JR=/^[^A-Z]*$/,ZR=/^[^a-z]*$/,Jne=/^[0-9a-fA-F]*$/;Zne=/^[0-9a-fA-F]{32}$/,Yne=qp(22,"=="),Xne=Kp(22),Qne=/^[0-9a-fA-F]{40}$/,ere=qp(27,"="),tre=Kp(27),nre=/^[0-9a-fA-F]{64}$/,rre=qp(43,"="),ire=Kp(43),ore=/^[0-9a-fA-F]{96}$/,sre=qp(64,""),are=Kp(64),cre=/^[0-9a-fA-F]{128}$/,lre=qp(86,"=="),ure=Kp(86)});function H1(e,t,n){e.issues.length&&t.issues.push(..._r(n,e.issues))}var Rt,V1,hy,yy,YR,XR,QR,eS,tS,nS,rS,iS,oS,Jl,sS,aS,cS,lS,uS,dS,pS,fS,mS,by=v(()=>{Gl();gy();Re();Rt=M("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),V1={number:"number",bigint:"bigint",object:"date"},hy=M("$ZodCheckLessThan",(e,t)=>{Rt.init(e,t);let n=V1[typeof t.value];e._zod.onattach.push(i=>{let r=i._zod.bag,o=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),yy=M("$ZodCheckGreaterThan",(e,t)=>{Rt.init(e,t);let n=V1[typeof t.value];e._zod.onattach.push(i=>{let r=i._zod.bag,o=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),YR=M("$ZodCheckMultipleOf",(e,t)=>{Rt.init(e,t),e._zod.onattach.push(n=>{var i;(i=n._zod.bag).multipleOf??(i.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):lR(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),XR=M("$ZodCheckNumberFormat",(e,t)=>{Rt.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),i=n?"int":"number",[r,o]=gR[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=r,a.maximum=o,n&&(a.pattern=HR)}),e._zod.check=s=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});return}}a<r&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),a>o&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),QR=M("$ZodCheckBigIntFormat",(e,t)=>{Rt.init(e,t);let[n,i]=hR[t.format];e._zod.onattach.push(r=>{let o=r._zod.bag;o.format=t.format,o.minimum=n,o.maximum=i}),e._zod.check=r=>{let o=r.value;o<n&&r.issues.push({origin:"bigint",input:o,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),o>i&&r.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),eS=M("$ZodCheckMaxSize",(e,t)=>{var n;Rt.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!Ws(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(i._zod.bag.maximum=t.maximum)}),e._zod.check=i=>{let r=i.value;r.size<=t.maximum||i.issues.push({origin:Wp(r),code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tS=M("$ZodCheckMinSize",(e,t)=>{var n;Rt.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!Ws(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(i._zod.bag.minimum=t.minimum)}),e._zod.check=i=>{let r=i.value;r.size>=t.minimum||i.issues.push({origin:Wp(r),code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),nS=M("$ZodCheckSizeEquals",(e,t)=>{var n;Rt.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!Ws(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=t.size,r.maximum=t.size,r.size=t.size}),e._zod.check=i=>{let r=i.value,o=r.size;if(o===t.size)return;let s=o>t.size;i.issues.push({origin:Wp(r),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),rS=M("$ZodCheckMaxLength",(e,t)=>{var n;Rt.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!Ws(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(i._zod.bag.maximum=t.maximum)}),e._zod.check=i=>{let r=i.value;if(r.length<=t.maximum)return;let s=zp(r);i.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),iS=M("$ZodCheckMinLength",(e,t)=>{var n;Rt.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!Ws(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(i._zod.bag.minimum=t.minimum)}),e._zod.check=i=>{let r=i.value;if(r.length>=t.minimum)return;let s=zp(r);i.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),oS=M("$ZodCheckLengthEquals",(e,t)=>{var n;Rt.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!Ws(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=i=>{let r=i.value,o=r.length;if(o===t.length)return;let s=zp(r),a=o>t.length;i.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),Jl=M("$ZodCheckStringFormat",(e,t)=>{var n,i;Rt.init(e,t),e._zod.onattach.push(r=>{let o=r._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})}),sS=M("$ZodCheckRegex",(e,t)=>{Jl.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),aS=M("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=JR),Jl.init(e,t)}),cS=M("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=ZR),Jl.init(e,t)}),lS=M("$ZodCheckIncludes",(e,t)=>{Rt.init(e,t);let n=qr(t.includes),i=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=i,e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(i)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),uS=M("$ZodCheckStartsWith",(e,t)=>{Rt.init(e,t);let n=new RegExp(`^${qr(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=i=>{i.value.startsWith(t.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:i.value,inst:e,continue:!t.abort})}}),dS=M("$ZodCheckEndsWith",(e,t)=>{Rt.init(e,t);let n=new RegExp(`.*${qr(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=i=>{i.value.endsWith(t.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:i.value,inst:e,continue:!t.abort})}});pS=M("$ZodCheckProperty",(e,t)=>{Rt.init(e,t),e._zod.check=n=>{let i=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(i instanceof Promise)return i.then(r=>H1(r,n,t.property));H1(i,n,t.property)}}),fS=M("$ZodCheckMimeType",(e,t)=>{Rt.init(e,t);let n=new Set(t.mime);e._zod.onattach.push(i=>{i._zod.bag.mime=t.mime}),e._zod.check=i=>{n.has(i.value.type)||i.issues.push({code:"invalid_value",values:t.mime,input:i.value.type,inst:e,continue:!t.abort})}}),mS=M("$ZodCheckOverwrite",(e,t)=>{Rt.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}})});var Jp,gS=v(()=>{Jp=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let i=t.split(`
9
9
  `).filter(s=>s),r=Math.min(...i.map(s=>s.length-s.trimStart().length)),o=i.map(s=>s.slice(r)).map(s=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){let t=Function,n=this?.args,r=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...n,r.join(`
10
10
  `))}}});var hS,yS=v(()=>{hS={major:4,minor:3,patch:6}});function FS(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function oF(e){if(!fy.test(e))return!1;let t=e.replace(/[-_]/g,i=>i==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return FS(n)}function sF(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[i]=n;if(!i)return!1;let r=JSON.parse(atob(i));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}}function K1(e,t,n){e.issues.length&&t.issues.push(..._r(n,e.issues)),t.value[n]=e.value}function $y(e,t,n,i,r){if(e.issues.length){if(r&&!(n in i))return;t.issues.push(..._r(n,e.issues))}e.value===void 0?n in i&&(t.value[n]=void 0):t.value[n]=e.value}function aF(e){let t=Object.keys(e.shape);for(let i of t)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);let n=mR(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function cF(e,t,n,i,r,o){let s=[],a=r.keySet,c=r.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let p=c.run({value:t[d],issues:[]},i);p instanceof Promise?e.push(p.then(f=>$y(f,n,d,t,u))):$y(p,n,d,t,u)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o}),e.length?Promise.all(e).then(()=>n):n}function J1(e,t,n,i){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;let r=e.filter(o=>!Hs(o));return r.length===1?(t.value=r[0].value,r[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(o=>o.issues.map(s=>ur(s,i,Ut())))}),t)}function Z1(e,t,n,i){let r=e.filter(o=>o.issues.length===0);return r.length===1?(t.value=r[0].value,t):(r.length===0?t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(o=>o.issues.map(s=>ur(s,i,Ut())))}):t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1}),t)}function bS(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Us(e)&&Us(t)){let n=Object.keys(t),i=Object.keys(e).filter(o=>n.indexOf(o)!==-1),r={...e,...t};for(let o of i){let s=bS(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};r[o]=s.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let i=0;i<e.length;i++){let r=e[i],o=t[i],s=bS(r,o);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Y1(e,t,n){let i=new Map,r;for(let a of t.issues)if(a.code==="unrecognized_keys"){r??(r=a);for(let c of a.keys)i.has(c)||i.set(c,{}),i.get(c).l=!0}else e.issues.push(a);for(let a of n.issues)if(a.code==="unrecognized_keys")for(let c of a.keys)i.has(c)||i.set(c,{}),i.get(c).r=!0;else e.issues.push(a);let o=[...i].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(o.length&&r&&e.issues.push({...r,keys:o}),Hs(e))return e;let s=bS(t.value,n.value);if(!s.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}function wy(e,t,n){e.issues.length&&t.issues.push(..._r(n,e.issues)),t.value[n]=e.value}function X1(e,t,n,i,r,o,s){e.issues.length&&(Gp.has(typeof i)?n.issues.push(..._r(i,e.issues)):n.issues.push({code:"invalid_key",origin:"map",input:r,inst:o,issues:e.issues.map(a=>ur(a,s,Ut()))})),t.issues.length&&(Gp.has(typeof i)?n.issues.push(..._r(i,t.issues)):n.issues.push({origin:"map",code:"invalid_element",input:r,inst:o,key:i,issues:t.issues.map(a=>ur(a,s,Ut()))})),n.value.set(e.value,t.value)}function Q1(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}function eF(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}function tF(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}function nF(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function vy(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}function ky(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let r=t.transform(e.value,e);return r instanceof Promise?r.then(o=>xy(e,o,t.out,n)):xy(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(o=>xy(e,o,t.in,n)):xy(e,r,t.in,n)}}function xy(e,t,n,i){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},i)}function rF(e){return e.value=Object.freeze(e.value),e}function iF(e,t,n,i){if(!e){let r={code:"custom",input:n,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};i._zod.def.params&&(r.params=i._zod.def.params),t.issues.push(Ul(r))}}var Te,mc,wt,wS,vS,kS,xS,$S,RS,SS,ES,AS,PS,OS,CS,_S,IS,TS,DS,NS,jS,LS,MS,BS,GS,WS,zS,US,Ry,HS,Zp,Sy,VS,qS,KS,JS,ZS,YS,XS,QS,eE,tE,lF,nE,Yp,rE,iE,oE,Ey,sE,aE,cE,lE,uE,dE,pE,Ay,fE,mE,gE,hE,yE,bE,wE,vE,kE,Xp,xE,$E,RE,SE,EE,AE,PE=v(()=>{by();Gl();gS();xR();gy();Re();yS();Re();Te=M("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=hS;let i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(let r of i)for(let o of r._zod.onattach)o(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let r=(s,a,c)=>{let l=Hs(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let p=s.issues.length,f=d._zod.check(s);if(f instanceof Promise&&c?.async===!1)throw new $i;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await f,s.issues.length!==p&&(l||(l=Hs(s,p)))});else{if(s.issues.length===p)continue;l||(l=Hs(s,p))}}return u?u.then(()=>s):s},o=(s,a,c)=>{if(Hs(s))return s.aborted=!0,s;let l=r(a,i,c);if(l instanceof Promise){if(c.async===!1)throw new $i;return l.then(u=>e._zod.parse(u,c))}return e._zod.parse(l,c)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){let l=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return l instanceof Promise?l.then(u=>o(u,s,a)):o(l,s,a)}let c=e._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new $i;return c.then(l=>r(l,i,a))}return r(c,i,a)}}Ue(e,"~standard",()=>({validate:r=>{try{let o=vR(e,r);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return kR(e,r).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),mc=M("$ZodString",(e,t)=>{Te.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??zR(e._zod.bag),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),wt=M("$ZodStringFormat",(e,t)=>{Jl.init(e,t),mc.init(e,t)}),wS=M("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=CR),wt.init(e,t)}),vS=M("$ZodUUID",(e,t)=>{if(t.version){let i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(i===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=fc(i))}else t.pattern??(t.pattern=fc());wt.init(e,t)}),kS=M("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=_R),wt.init(e,t)}),xS=M("$ZodURL",(e,t)=>{wt.init(e,t),e._zod.check=n=>{try{let i=n.value.trim(),r=new URL(i);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=i;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),$S=M("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=IR()),wt.init(e,t)}),RS=M("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=PR),wt.init(e,t)}),SS=M("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=$R),wt.init(e,t)}),ES=M("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=RR),wt.init(e,t)}),AS=M("$ZodULID",(e,t)=>{t.pattern??(t.pattern=SR),wt.init(e,t)}),PS=M("$ZodXID",(e,t)=>{t.pattern??(t.pattern=ER),wt.init(e,t)}),OS=M("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=AR),wt.init(e,t)}),CS=M("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=WR(t)),wt.init(e,t)}),_S=M("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=BR),wt.init(e,t)}),IS=M("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=GR(t)),wt.init(e,t)}),TS=M("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=OR),wt.init(e,t)}),DS=M("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=TR),wt.init(e,t),e._zod.bag.format="ipv4"}),NS=M("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=DR),wt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),jS=M("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=NR(t.delimiter)),wt.init(e,t),e._zod.bag.format="mac"}),LS=M("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=jR),wt.init(e,t)}),MS=M("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=LR),wt.init(e,t),e._zod.check=n=>{let i=n.value.split("/");try{if(i.length!==2)throw new Error;let[r,o]=i;if(!o)throw new Error;let s=Number(o);if(`${s}`!==o)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});BS=M("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=MR),wt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{FS(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});GS=M("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=fy),wt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{oF(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),WS=M("$ZodE164",(e,t)=>{t.pattern??(t.pattern=FR),wt.init(e,t)});zS=M("$ZodJWT",(e,t)=>{wt.init(e,t),e._zod.check=n=>{sF(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),US=M("$ZodCustomStringFormat",(e,t)=>{wt.init(e,t),e._zod.check=n=>{t.fn(n.value)||n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Ry=M("$ZodNumber",(e,t)=>{Te.init(e,t),e._zod.pattern=e._zod.bag.pattern??my,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;let o=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...o?{received:o}:{}}),n}}),HS=M("$ZodNumberFormat",(e,t)=>{XR.init(e,t),Ry.init(e,t)}),Zp=M("$ZodBoolean",(e,t)=>{Te.init(e,t),e._zod.pattern=VR,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=!!n.value}catch{}let r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Sy=M("$ZodBigInt",(e,t)=>{Te.init(e,t),e._zod.pattern=UR,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value=="bigint"||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),VS=M("$ZodBigIntFormat",(e,t)=>{QR.init(e,t),Sy.init(e,t)}),qS=M("$ZodSymbol",(e,t)=>{Te.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;return typeof r=="symbol"||n.issues.push({expected:"symbol",code:"invalid_type",input:r,inst:e}),n}}),KS=M("$ZodUndefined",(e,t)=>{Te.init(e,t),e._zod.pattern=KR,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,i)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),n}}),JS=M("$ZodNull",(e,t)=>{Te.init(e,t),e._zod.pattern=qR,e._zod.values=new Set([null]),e._zod.parse=(n,i)=>{let r=n.value;return r===null||n.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),n}}),ZS=M("$ZodAny",(e,t)=>{Te.init(e,t),e._zod.parse=n=>n}),YS=M("$ZodUnknown",(e,t)=>{Te.init(e,t),e._zod.parse=n=>n}),XS=M("$ZodNever",(e,t)=>{Te.init(e,t),e._zod.parse=(n,i)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),QS=M("$ZodVoid",(e,t)=>{Te.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"void",code:"invalid_type",input:r,inst:e}),n}}),eE=M("$ZodDate",(e,t)=>{Te.init(e,t),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let r=n.value,o=r instanceof Date;return o&&!Number.isNaN(r.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:r,...o?{received:"Invalid Date"}:{},inst:e}),n}});tE=M("$ZodArray",(e,t)=>{Te.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);let o=[];for(let s=0;s<r.length;s++){let a=r[s],c=t.element._zod.run({value:a,issues:[]},i);c instanceof Promise?o.push(c.then(l=>K1(l,n,s))):K1(c,n,s)}return o.length?Promise.all(o).then(()=>n):n}});lF=M("$ZodObject",(e,t)=>{if(Te.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let a=t.shape;Object.defineProperty(t,"shape",{get:()=>{let c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}let i=zl(()=>aF(t));Ue(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let r=pc,o=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=i.value);let l=a.value;if(!r(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let p of s.keys){let f=d[p],g=f._zod.optout==="optional",h=f._zod.run({value:l[p],issues:[]},c);h instanceof Promise?u.push(h.then(b=>$y(b,a,p,l,g))):$y(h,a,p,l,g)}return o?cF(u,l,a,c,i.value,e):u.length?Promise.all(u).then(()=>a):a}}),nE=M("$ZodObjectJIT",(e,t)=>{lF.init(e,t);let n=e._zod.parse,i=zl(()=>aF(t)),r=p=>{let f=new Jp(["shape","payload","ctx"]),g=i.value,h=k=>{let R=ty(k);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};f.write("const input = payload.value;");let b=Object.create(null),w=0;for(let k of g.keys)b[k]=`key_${w++}`;f.write("const newResult = {};");for(let k of g.keys){let R=b[k],x=ty(k),T=p[k]?._zod?.optout==="optional";f.write(`const ${R} = ${h(k)};`),T?f.write(`
@@ -68,7 +68,7 @@ ${e.timestamp}${t}`,"utf-8")}function Lf(e){let t=0,n=i=>{let r=i??n(4).readUInt
68
68
  depsCount: ${t},
69
69
  deps: ${n}}`};var ipe={keyword:"dependencies",type:"object",schemaType:"object",error:co.error,code(e){let[t,n]=ope(e);hH(e,t),yH(e,n)}};function ope({schema:e}){let t={},n={};for(let i in e){if(i==="__proto__")continue;let r=Array.isArray(e[i])?t:n;r[i]=e[i]}return[t,n]}function hH(e,t=e.schema){let{gen:n,data:i,it:r}=e;if(Object.keys(t).length===0)return;let o=n.let("missing");for(let s in t){let a=t[s];if(a.length===0)continue;let c=(0,gm.propertyInData)(n,i,s,r.opts.ownProperties);e.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),r.allErrors?n.if(c,()=>{for(let l of a)(0,gm.checkReportMissingProp)(e,l)}):(n.if((0,M_._)`${c} && (${(0,gm.checkMissingProp)(e,a,o)})`),(0,gm.reportMissingProp)(e,o),n.else())}}co.validatePropertyDeps=hH;function yH(e,t=e.schema){let{gen:n,data:i,keyword:r,it:o}=e,s=n.name("valid");for(let a in t)(0,rpe.alwaysValidSchema)(o,t[a])||(n.if((0,gm.propertyInData)(n,i,a,o.opts.ownProperties),()=>{let c=e.subschema({keyword:r,schemaProp:a},s);e.mergeValidEvaluated(c,s)},()=>n.var(s,!0)),e.ok(s))}co.validateSchemaDeps=yH;co.default=ipe});var wH=ie(F_=>{"use strict";Object.defineProperty(F_,"__esModule",{value:!0});var bH=Me(),spe=Ye(),ape={message:"property name must be valid",params:({params:e})=>(0,bH._)`{propertyName: ${e.propertyName}}`},cpe={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ape,code(e){let{gen:t,schema:n,data:i,it:r}=e;if((0,spe.alwaysValidSchema)(r,n))return;let o=t.name("valid");t.forIn("key",i,s=>{e.setParams({propertyName:s}),e.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},o),t.if((0,bH.not)(o),()=>{e.error(!0),r.allErrors||t.break()})}),e.ok(o)}};F_.default=cpe});var G_=ie(B_=>{"use strict";Object.defineProperty(B_,"__esModule",{value:!0});var Hw=ti(),Di=Me(),lpe=ei(),Vw=Ye(),upe={message:"must NOT have additional properties",params:({params:e})=>(0,Di._)`{additionalProperty: ${e.additionalProperty}}`},dpe={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:upe,code(e){let{gen:t,schema:n,parentSchema:i,data:r,errsCount:o,it:s}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,Vw.alwaysValidSchema)(s,n))return;let l=(0,Hw.allSchemaProperties)(i.properties),u=(0,Hw.allSchemaProperties)(i.patternProperties);d(),e.ok((0,Di._)`${o} === ${lpe.default.errors}`);function d(){t.forIn("key",r,b=>{!l.length&&!u.length?g(b):t.if(p(b),()=>g(b))})}function p(b){let w;if(l.length>8){let $=(0,Vw.schemaRefOrVal)(s,i.properties,"properties");w=(0,Hw.isOwnProperty)(t,$,b)}else l.length?w=(0,Di.or)(...l.map($=>(0,Di._)`${b} === ${$}`)):w=Di.nil;return u.length&&(w=(0,Di.or)(w,...u.map($=>(0,Di._)`${(0,Hw.usePattern)(e,$)}.test(${b})`))),(0,Di.not)(w)}function f(b){t.code((0,Di._)`delete ${r}[${b}]`)}function g(b){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){f(b);return}if(n===!1){e.setParams({additionalProperty:b}),e.error(),a||t.break();return}if(typeof n=="object"&&!(0,Vw.alwaysValidSchema)(s,n)){let w=t.name("valid");c.removeAdditional==="failing"?(h(b,w,!1),t.if((0,Di.not)(w),()=>{e.reset(),f(b)})):(h(b,w),a||t.if((0,Di.not)(w),()=>t.break()))}}function h(b,w,$){let k={keyword:"additionalProperties",dataProp:b,dataPropType:Vw.Type.Str};$===!1&&Object.assign(k,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(k,w)}}};B_.default=dpe});var xH=ie(z_=>{"use strict";Object.defineProperty(z_,"__esModule",{value:!0});var ppe=Uu(),vH=ti(),W_=Ye(),kH=G_(),fpe={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:n,parentSchema:i,data:r,it:o}=e;o.opts.removeAdditional==="all"&&i.additionalProperties===void 0&&kH.default.code(new ppe.KeywordCxt(o,kH.default,"additionalProperties"));let s=(0,vH.allSchemaProperties)(n);for(let d of s)o.definedProperties.add(d);o.opts.unevaluated&&s.length&&o.props!==!0&&(o.props=W_.mergeEvaluated.props(t,(0,W_.toHash)(s),o.props));let a=s.filter(d=>!(0,W_.alwaysValidSchema)(o,n[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)l(d)?u(d):(t.if((0,vH.propertyInData)(t,r,d,o.opts.ownProperties)),u(d),o.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return o.opts.useDefaults&&!o.compositeRule&&n[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};z_.default=fpe});var EH=ie(U_=>{"use strict";Object.defineProperty(U_,"__esModule",{value:!0});var $H=ti(),qw=Me(),RH=Ye(),SH=Ye(),mpe={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:n,data:i,parentSchema:r,it:o}=e,{opts:s}=o,a=(0,$H.allSchemaProperties)(n),c=a.filter(h=>(0,RH.alwaysValidSchema)(o,n[h]));if(a.length===0||c.length===a.length&&(!o.opts.unevaluated||o.props===!0))return;let l=s.strictSchema&&!s.allowMatchingProperties&&r.properties,u=t.name("valid");o.props!==!0&&!(o.props instanceof qw.Name)&&(o.props=(0,SH.evaluatedPropsToName)(t,o.props));let{props:d}=o;p();function p(){for(let h of a)l&&f(h),o.allErrors?g(h):(t.var(u,!0),g(h),t.if(u))}function f(h){for(let b in l)new RegExp(h).test(b)&&(0,RH.checkStrictMode)(o,`property ${b} matches pattern ${h} (use allowMatchingProperties)`)}function g(h){t.forIn("key",i,b=>{t.if((0,qw._)`${(0,$H.usePattern)(e,h)}.test(${b})`,()=>{let w=c.includes(h);w||e.subschema({keyword:"patternProperties",schemaProp:h,dataProp:b,dataPropType:SH.Type.Str},u),o.opts.unevaluated&&d!==!0?t.assign((0,qw._)`${d}[${b}]`,!0):!w&&!o.allErrors&&t.if((0,qw.not)(u),()=>t.break())})})}}};U_.default=mpe});var AH=ie(H_=>{"use strict";Object.defineProperty(H_,"__esModule",{value:!0});var gpe=Ye(),hpe={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:n,it:i}=e;if((0,gpe.alwaysValidSchema)(i,n)){e.fail();return}let r=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},r),e.failResult(r,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};H_.default=hpe});var PH=ie(V_=>{"use strict";Object.defineProperty(V_,"__esModule",{value:!0});var ype=ti(),bpe={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ype.validateUnion,error:{message:"must match a schema in anyOf"}};V_.default=bpe});var OH=ie(q_=>{"use strict";Object.defineProperty(q_,"__esModule",{value:!0});var Kw=Me(),wpe=Ye(),vpe={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Kw._)`{passingSchemas: ${e.passing}}`},kpe={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:vpe,code(e){let{gen:t,schema:n,parentSchema:i,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(r.opts.discriminator&&i.discriminator)return;let o=n,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(l),e.result(s,()=>e.reset(),()=>e.error(!0));function l(){o.forEach((u,d)=>{let p;(0,wpe.alwaysValidSchema)(r,u)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,Kw._)`${c} && ${s}`).assign(s,!1).assign(a,(0,Kw._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,d),p&&e.mergeEvaluated(p,Kw.Name)})})}}};q_.default=kpe});var CH=ie(K_=>{"use strict";Object.defineProperty(K_,"__esModule",{value:!0});var xpe=Ye(),$pe={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:n,it:i}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");let r=t.name("valid");n.forEach((o,s)=>{if((0,xpe.alwaysValidSchema)(i,o))return;let a=e.subschema({keyword:"allOf",schemaProp:s},r);e.ok(r),e.mergeEvaluated(a)})}};K_.default=$pe});var TH=ie(J_=>{"use strict";Object.defineProperty(J_,"__esModule",{value:!0});var Jw=Me(),IH=Ye(),Rpe={message:({params:e})=>(0,Jw.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Jw._)`{failingKeyword: ${e.ifClause}}`},Spe={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Rpe,code(e){let{gen:t,parentSchema:n,it:i}=e;n.then===void 0&&n.else===void 0&&(0,IH.checkStrictMode)(i,'"if" without "then" and "else" is ignored');let r=_H(i,"then"),o=_H(i,"else");if(!r&&!o)return;let s=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),r&&o){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,l("then",u),l("else",u))}else r?t.if(a,l("then")):t.if((0,Jw.not)(a),l("else"));e.pass(s,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function l(u,d){return()=>{let p=e.subschema({keyword:u},a);t.assign(s,a),e.mergeValidEvaluated(p,s),d?t.assign(d,(0,Jw._)`${u}`):e.setParams({ifClause:u})}}}};function _H(e,t){let n=e.schema[t];return n!==void 0&&!(0,IH.alwaysValidSchema)(e,n)}J_.default=Spe});var DH=ie(Z_=>{"use strict";Object.defineProperty(Z_,"__esModule",{value:!0});var Epe=Ye(),Ape={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){t.if===void 0&&(0,Epe.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};Z_.default=Ape});var X_=ie(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});var Ppe=T_(),Ope=pH(),Cpe=D_(),_pe=mH(),Ipe=gH(),Tpe=Uw(),Dpe=wH(),Npe=G_(),jpe=xH(),Lpe=EH(),Mpe=AH(),Fpe=PH(),Bpe=OH(),Gpe=CH(),Wpe=TH(),zpe=DH();function Upe(e=!1){let t=[Mpe.default,Fpe.default,Bpe.default,Gpe.default,Wpe.default,zpe.default,Dpe.default,Npe.default,Tpe.default,jpe.default,Lpe.default];return e?t.push(Ope.default,_pe.default):t.push(Ppe.default,Cpe.default),t.push(Ipe.default),t}Y_.default=Upe});var e0=ie(hm=>{"use strict";Object.defineProperty(hm,"__esModule",{value:!0});hm.dynamicAnchor=void 0;var Q_=Me(),Hpe=ei(),NH=nm(),Vpe=Mw(),qpe={keyword:"$dynamicAnchor",schemaType:"string",code:e=>jH(e,e.schema)};function jH(e,t){let{gen:n,it:i}=e;i.schemaEnv.root.dynamicAnchors[t]=!0;let r=(0,Q_._)`${Hpe.default.dynamicAnchors}${(0,Q_.getProperty)(t)}`,o=i.errSchemaPath==="#"?i.validateName:Kpe(e);n.if((0,Q_._)`!${r}`,()=>n.assign(r,o))}hm.dynamicAnchor=jH;function Kpe(e){let{schemaEnv:t,schema:n,self:i}=e.it,{root:r,baseId:o,localRefs:s,meta:a}=t.root,{schemaId:c}=i.opts,l=new NH.SchemaEnv({schema:n,schemaId:c,root:r,baseId:o,localRefs:s,meta:a});return NH.compileSchema.call(i,l),(0,Vpe.getValidate)(e,l)}hm.default=qpe});var t0=ie(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});ym.dynamicRef=void 0;var LH=Me(),Jpe=ei(),MH=Mw(),Zpe={keyword:"$dynamicRef",schemaType:"string",code:e=>FH(e,e.schema)};function FH(e,t){let{gen:n,keyword:i,it:r}=e;if(t[0]!=="#")throw new Error(`"${i}" only supports hash fragment reference`);let o=t.slice(1);if(r.allErrors)s();else{let c=n.let("valid",!1);s(c),e.ok(c)}function s(c){if(r.schemaEnv.root.dynamicAnchors[o]){let l=n.let("_v",(0,LH._)`${Jpe.default.dynamicAnchors}${(0,LH.getProperty)(o)}`);n.if(l,a(l,c),a(r.validateName,c))}else a(r.validateName,c)()}function a(c,l){return l?()=>n.block(()=>{(0,MH.callRef)(e,c),n.let(l,!0)}):()=>(0,MH.callRef)(e,c)}}ym.dynamicRef=FH;ym.default=Zpe});var BH=ie(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0});var Ype=e0(),Xpe=Ye(),Qpe={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,Ype.dynamicAnchor)(e,""):(0,Xpe.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};n0.default=Qpe});var GH=ie(r0=>{"use strict";Object.defineProperty(r0,"__esModule",{value:!0});var efe=t0(),tfe={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,efe.dynamicRef)(e,e.schema)};r0.default=tfe});var WH=ie(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0});var nfe=e0(),rfe=t0(),ife=BH(),ofe=GH(),sfe=[nfe.default,rfe.default,ife.default,ofe.default];i0.default=sfe});var UH=ie(o0=>{"use strict";Object.defineProperty(o0,"__esModule",{value:!0});var zH=Uw(),afe={keyword:"dependentRequired",type:"object",schemaType:"object",error:zH.error,code:e=>(0,zH.validatePropertyDeps)(e)};o0.default=afe});var HH=ie(s0=>{"use strict";Object.defineProperty(s0,"__esModule",{value:!0});var cfe=Uw(),lfe={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,cfe.validateSchemaDeps)(e)};s0.default=lfe});var VH=ie(a0=>{"use strict";Object.defineProperty(a0,"__esModule",{value:!0});var ufe=Ye(),dfe={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:n}){t.contains===void 0&&(0,ufe.checkStrictMode)(n,`"${e}" without "contains" is ignored`)}};a0.default=dfe});var qH=ie(c0=>{"use strict";Object.defineProperty(c0,"__esModule",{value:!0});var pfe=UH(),ffe=HH(),mfe=VH(),gfe=[pfe.default,ffe.default,mfe.default];c0.default=gfe});var JH=ie(l0=>{"use strict";Object.defineProperty(l0,"__esModule",{value:!0});var fa=Me(),KH=Ye(),hfe=ei(),yfe={message:"must NOT have unevaluated properties",params:({params:e})=>(0,fa._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},bfe={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:yfe,code(e){let{gen:t,schema:n,data:i,errsCount:r,it:o}=e;if(!r)throw new Error("ajv implementation error");let{allErrors:s,props:a}=o;a instanceof fa.Name?t.if((0,fa._)`${a} !== true`,()=>t.forIn("key",i,d=>t.if(l(a,d),()=>c(d)))):a!==!0&&t.forIn("key",i,d=>a===void 0?c(d):t.if(u(a,d),()=>c(d))),o.props=!0,e.ok((0,fa._)`${r} === ${hfe.default.errors}`);function c(d){if(n===!1){e.setParams({unevaluatedProperty:d}),e.error(),s||t.break();return}if(!(0,KH.alwaysValidSchema)(o,n)){let p=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:KH.Type.Str},p),s||t.if((0,fa.not)(p),()=>t.break())}}function l(d,p){return(0,fa._)`!${d} || !${d}[${p}]`}function u(d,p){let f=[];for(let g in d)d[g]===!0&&f.push((0,fa._)`${p} !== ${g}`);return(0,fa.and)(...f)}}};l0.default=bfe});var YH=ie(u0=>{"use strict";Object.defineProperty(u0,"__esModule",{value:!0});var Mc=Me(),ZH=Ye(),wfe={message:({params:{len:e}})=>(0,Mc.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Mc._)`{limit: ${e}}`},vfe={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:wfe,code(e){let{gen:t,schema:n,data:i,it:r}=e,o=r.items||0;if(o===!0)return;let s=t.const("len",(0,Mc._)`${i}.length`);if(n===!1)e.setParams({len:o}),e.fail((0,Mc._)`${s} > ${o}`);else if(typeof n=="object"&&!(0,ZH.alwaysValidSchema)(r,n)){let c=t.var("valid",(0,Mc._)`${s} <= ${o}`);t.if((0,Mc.not)(c),()=>a(c,o)),e.ok(c)}r.items=!0;function a(c,l){t.forRange("i",l,s,u=>{e.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:ZH.Type.Num},c),r.allErrors||t.if((0,Mc.not)(c),()=>t.break())})}}};u0.default=vfe});var XH=ie(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});var kfe=JH(),xfe=YH(),$fe=[kfe.default,xfe.default];d0.default=$fe});var QH=ie(p0=>{"use strict";Object.defineProperty(p0,"__esModule",{value:!0});var Zt=Me(),Rfe={message:({schemaCode:e})=>(0,Zt.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,Zt._)`{format: ${e}}`},Sfe={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Rfe,code(e,t){let{gen:n,data:i,$data:r,schema:o,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;r?p():f();function p(){let g=n.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=n.const("fDef",(0,Zt._)`${g}[${s}]`),b=n.let("fType"),w=n.let("format");n.if((0,Zt._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>n.assign(b,(0,Zt._)`${h}.type || "string"`).assign(w,(0,Zt._)`${h}.validate`),()=>n.assign(b,(0,Zt._)`"string"`).assign(w,h)),e.fail$data((0,Zt.or)($(),k()));function $(){return c.strictSchema===!1?Zt.nil:(0,Zt._)`${s} && !${w}`}function k(){let R=u.$async?(0,Zt._)`(${h}.async ? await ${w}(${i}) : ${w}(${i}))`:(0,Zt._)`${w}(${i})`,x=(0,Zt._)`(typeof ${w} == "function" ? ${R} : ${w}.test(${i}))`;return(0,Zt._)`${w} && ${w} !== true && ${b} === ${t} && !${x}`}}function f(){let g=d.formats[o];if(!g){$();return}if(g===!0)return;let[h,b,w]=k(g);h===t&&e.pass(R());function $(){if(c.strictSchema===!1){d.logger.warn(x());return}throw new Error(x());function x(){return`unknown format "${o}" ignored in schema at path "${l}"`}}function k(x){let _=x instanceof RegExp?(0,Zt.regexpCode)(x):c.code.formats?(0,Zt._)`${c.code.formats}${(0,Zt.getProperty)(o)}`:void 0,T=n.scopeValue("formats",{key:o,ref:x,code:_});return typeof x=="object"&&!(x instanceof RegExp)?[x.type||"string",x.validate,(0,Zt._)`${T}.validate`]:["string",x,T]}function R(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Zt._)`await ${w}(${i})`}return typeof b=="function"?(0,Zt._)`${w}(${i})`:(0,Zt._)`${w}.test(${i})`}}}};p0.default=Sfe});var m0=ie(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});var Efe=QH(),Afe=[Efe.default];f0.default=Afe});var g0=ie(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.contentVocabulary=Yu.metadataVocabulary=void 0;Yu.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Yu.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var tV=ie(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});var Pfe=g_(),Ofe=__(),Cfe=X_(),_fe=WH(),Ife=qH(),Tfe=XH(),Dfe=m0(),eV=g0(),Nfe=[_fe.default,Pfe.default,Ofe.default,(0,Cfe.default)(!0),Dfe.default,eV.metadataVocabulary,eV.contentVocabulary,Ife.default,Tfe.default];h0.default=Nfe});var rV=ie(Zw=>{"use strict";Object.defineProperty(Zw,"__esModule",{value:!0});Zw.DiscrError=void 0;var nV;(function(e){e.Tag="tag",e.Mapping="mapping"})(nV||(Zw.DiscrError=nV={}))});var w0=ie(b0=>{"use strict";Object.defineProperty(b0,"__esModule",{value:!0});var Xu=Me(),y0=rV(),iV=nm(),jfe=Hu(),Lfe=Ye(),Mfe={message:({params:{discrError:e,tagName:t}})=>e===y0.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>(0,Xu._)`{error: ${e}, tag: ${n}, tagValue: ${t}}`},Ffe={keyword:"discriminator",type:"object",schemaType:"object",error:Mfe,code(e){let{gen:t,data:n,schema:i,parentSchema:r,it:o}=e,{oneOf:s}=r;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=i.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(i.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,Xu._)`${n}${(0,Xu.getProperty)(a)}`);t.if((0,Xu._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:y0.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let f=p();t.if(!1);for(let g in f)t.elseIf((0,Xu._)`${l} === ${g}`),t.assign(c,d(f[g]));t.else(),e.error(!1,{discrError:y0.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(f){let g=t.name("valid"),h=e.subschema({keyword:"oneOf",schemaProp:f},g);return e.mergeEvaluated(h,Xu.Name),g}function p(){var f;let g={},h=w(r),b=!0;for(let R=0;R<s.length;R++){let x=s[R];if(x?.$ref&&!(0,Lfe.schemaHasRulesButRef)(x,o.self.RULES)){let T=x.$ref;if(x=iV.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,T),x instanceof iV.SchemaEnv&&(x=x.schema),x===void 0)throw new jfe.default(o.opts.uriResolver,o.baseId,T)}let _=(f=x?.properties)===null||f===void 0?void 0:f[a];if(typeof _!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);b=b&&(h||w(x)),$(_,R)}if(!b)throw new Error(`discriminator: "${a}" must be required`);return g;function w({required:R}){return Array.isArray(R)&&R.includes(a)}function $(R,x){if(R.const)k(R.const,x);else if(R.enum)for(let _ of R.enum)k(_,x);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(R,x){if(typeof R!="string"||R in g)throw new Error(`discriminator: "${a}" values must be unique strings`);g[R]=x}}}};b0.default=Ffe});var oV=ie((kBe,Bfe)=>{Bfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}}});var sV=ie((xBe,Gfe)=>{Gfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":!0},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}});var aV=ie(($Be,Wfe)=>{Wfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}});var cV=ie((RBe,zfe)=>{zfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}});var lV=ie((SBe,Ufe)=>{Ufe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}});var uV=ie((EBe,Hfe)=>{Hfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}});var dV=ie((ABe,Vfe)=>{Vfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var pV=ie((PBe,qfe)=>{qfe.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":!0},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var fV=ie(v0=>{"use strict";Object.defineProperty(v0,"__esModule",{value:!0});var Kfe=oV(),Jfe=sV(),Zfe=aV(),Yfe=cV(),Xfe=lV(),Qfe=uV(),eme=dV(),tme=pV(),nme=["/properties"];function rme(e){return[Kfe,Jfe,Zfe,Yfe,Xfe,t(this,Qfe),eme,t(this,tme)].forEach(n=>this.addMetaSchema(n,void 0,!1)),this;function t(n,i){return e?n.$dataMetaSchema(i,nme):i}}v0.default=rme});var mV=ie((jt,x0)=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.MissingRefError=jt.ValidationError=jt.CodeGen=jt.Name=jt.nil=jt.stringify=jt.str=jt._=jt.KeywordCxt=jt.Ajv2020=void 0;var ime=p_(),ome=tV(),sme=w0(),ame=fV(),k0="https://json-schema.org/draft/2020-12/schema",Qu=class extends ime.default{constructor(t={}){super({...t,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),ome.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(sme.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:n}=this.opts;n&&(ame.default.call(this,t),this.refs["http://json-schema.org/schema"]=k0)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(k0)?k0:void 0)}};jt.Ajv2020=Qu;x0.exports=jt=Qu;x0.exports.Ajv2020=Qu;Object.defineProperty(jt,"__esModule",{value:!0});jt.default=Qu;var cme=Uu();Object.defineProperty(jt,"KeywordCxt",{enumerable:!0,get:function(){return cme.KeywordCxt}});var ed=Me();Object.defineProperty(jt,"_",{enumerable:!0,get:function(){return ed._}});Object.defineProperty(jt,"str",{enumerable:!0,get:function(){return ed.str}});Object.defineProperty(jt,"stringify",{enumerable:!0,get:function(){return ed.stringify}});Object.defineProperty(jt,"nil",{enumerable:!0,get:function(){return ed.nil}});Object.defineProperty(jt,"Name",{enumerable:!0,get:function(){return ed.Name}});Object.defineProperty(jt,"CodeGen",{enumerable:!0,get:function(){return ed.CodeGen}});var lme=tm();Object.defineProperty(jt,"ValidationError",{enumerable:!0,get:function(){return lme.default}});var ume=Hu();Object.defineProperty(jt,"MissingRefError",{enumerable:!0,get:function(){return ume.default}})});function ma(){let e=mV();return e.default??e}var bm=v(()=>{"use strict"});import{readFileSync as R0}from"node:fs";import{isAbsolute as dme,join as S0,relative as pme,resolve as fme}from"node:path";function hV(e=[]){let t=new Map;for(let n of[...gV,...e]){if(t.has(n.name))throw new Error(`kind ${n.name} is registered twice`);t.set(n.name,n)}return{get:n=>t.get(n),names:()=>[...t.values()].filter(n=>n.shape==="member").map(n=>n.name).sort(),all:()=>[...t.values()]}}function yV(){return hV()}function bV(e,t,n){if("directory"in e.probe)return!0;if("chantProject"in e.probe)return A0(t,n);let{anyFile:i,anyBlock:r,anyJsonKey:o}=e.probe;if(i&&$0(t,n,i).length>0)return!0;if(o)for(let s of $0(t,n,o.in))try{let a=JSON.parse(t.read(s));if(o.pointers.some(c=>hme(a,c)!==void 0))return!0}catch{}if(r){let s=new RegExp(`^\\s*(?:${r.blocks.map(wV).join("|")})\\s*\\{`,"m");for(let a of $0(t,n,r.in))try{if(s.test(t.read(a)))return!0}catch{}}return!1}function $0(e,t,n){let i=[],r=n.filter(o=>o.includes("*"));for(let o of n)!o.includes("*")&&e.stat(We(t,o))==="file"&&i.push(We(t,o));if(r.length>0){let o=r.map(s=>new RegExp(`^${s.split("*").map(wV).join("[^/]*")}$`));for(let s of e.list(t)??[])s.type==="file"&&o.some(a=>a.test(s.name))&&i.push(We(t,s.name))}return i.sort()}function hme(e,t){let n=e;for(let i of t.split("/").slice(1)){let r=i.replace(/~1/g,"/").replace(/~0/g,"~");if(n===null||typeof n!="object"||!Object.prototype.hasOwnProperty.call(n,r))return;n=n[r]}return n}function wV(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function A0(e,t){let n=We(t,"package.json");if(e.stat(n)==="file")try{let r=JSON.parse(e.read(n));for(let o of["dependencies","devDependencies","peerDependencies"]){let s=r[o];if(s&&typeof s=="object"&&Object.keys(s).some(wme))return!0}}catch{}let i=(r,o)=>{let s=e.list(r)??[];return s.some(a=>a.type==="file"&&yme.includes(a.name))?!0:o===bme?!1:s.some(a=>a.type==="dir"&&!rs(a.name)&&i(We(r,a.name),o+1))};return i(t,0)}function wme(e){return e==="@intentius/chant"||e.startsWith("@intentius/chant-lexicon-")}function vme(){if(Yw)return Yw;let e=ma();return Yw=new e({allErrors:!0,strict:!0}).compile(sC),Yw}function kme(e,t){let n;try{n=JSON.parse(e)}catch(a){return{kinds:[],problems:[`${t}: the kinds file is not JSON (${a.message})`]}}let i=vme();if(!i(n)){let a=(i.errors??[]).map(c=>`${t}: ${c.instancePath||"the kinds file"} ${c.message??"is invalid"}`);return{kinds:[],problems:[...new Set(a)]}}let r=[],o=[],s=new Set;for(let a of n.kinds){if(gme.includes(a.name)){r.push(`${t}: kind ${a.name} is built in and can't be supplied by a package`);continue}if(s.has(a.name)){r.push(`${t}: kind ${a.name} is listed twice`);continue}s.add(a.name),o.push({name:a.name,description:a.description,probe:{...a.probe.anyFile?{anyFile:[...a.probe.anyFile]}:{},...a.probe.anyBlock?{anyBlock:{in:[...a.probe.anyBlock.in],blocks:[...a.probe.anyBlock.blocks]}}:{},...a.probe.anyJsonKey?{anyJsonKey:{in:[...a.probe.anyJsonKey.in],pointers:[...a.probe.anyJsonKey.pointers]}}:{}},precedence:a.precedence,shape:"member",outputs:{from:"declared",names:[...a.outputs??[]]},source:t,...a.graph?{graph:{lexicon:a.graph.lexicon,config:structuredClone(a.graph.config)}}:{},...a.fields?{fields:structuredClone(a.fields)}:{}});for(let c of Sme(a.fields??{}))r.push(`${t}: kind ${a.name} ${c}`)}return{kinds:o,problems:r}}function xme(e,t=E0){return fC(e,t)}function $me(e,t){let n=S0(e,"package.json"),i;try{i=JSON.parse(R0(n,"utf-8"))}catch{return{kinds:[],problems:[`${t??e}: no readable package.json in ${e}`],file:void 0}}let r=t??(typeof i.name=="string"?i.name:e),o=xme(i);if(o===void 0)return{kinds:[],problems:[],file:void 0};if(typeof o!="string")return{kinds:[],problems:[`${r}: ${o.problem}`],file:void 0};let s=fme(e,o),a=pme(e,s);if(a.startsWith("..")||dme(a))return{kinds:[],problems:[`${r}: exports["${E0}"] points outside the package`],file:void 0};let c;try{c=R0(s,"utf-8")}catch{return{kinds:[],problems:[`${r}: exports["${E0}"] names ${o}, which does not exist`],file:s}}let l=kme(c,r),u=typeof i.name=="string"?i.name:void 0;for(let d of l.kinds)d.packageDir=e,d.graph&&u!==Xw(d.graph.lexicon)&&(l.problems.push(`${r}: kind ${d.name} reads its members with lexicon ${d.graph.lexicon}, which is ${Xw(d.graph.lexicon)}, and this package is ${u??"unnamed"}; the kind is kept, and workspace graph lists its members with kind-not-run`),delete d.graph);return{...l,file:s}}function Xw(e){return`@intentius/chant-lexicon-${e}`}function vV(e,t){let n=r=>r.replace(/\{(member|dir|workspace)\}/g,(o,s)=>t[s]),i=r=>typeof r=="string"?n(r):Array.isArray(r)?r.map(i):r!==null&&typeof r=="object"?Object.fromEntries(Object.entries(r).map(([o,s])=>[n(o),i(s)])):r;return i(e)}function P0(e,t){if(e.package){let n=oa(e.package,t);if(!n)return{problem:`pinned package ${e.package} is not installed; install it to read the kinds it supplies`};let i;try{i=JSON.parse(R0(S0(n,"package.json"),"utf-8")).version}catch{i=void 0}return e.version&&i!==e.version?{problem:`${e.package} is pinned at ${e.version}, and ${String(i??"an unknown version")} is installed`}:{dir:n,source:e.package}}if(e.path){let n=S0(t,...e.path.split("/"));if(e.integrity){let i=gU(n,e.integrity,e.path);if(!i.ok)return{problem:i.message}}return{dir:n,source:e.path}}return null}function ga(e,t){let n=[],i=[],r=new Map,o=new Set;return e.forEach((s,a)=>{let c=P0(s,t);if(c===null)return;if("problem"in c){n.push({pin:a,message:c.problem});return}let{dir:l,source:u}=c,d=$me(l,u);for(let p of d.problems)n.push({pin:a,message:p});for(let p of d.kinds){let f=r.get(p.name);if(f){o.add(p.name),n.push({pin:a,message:`kind ${p.name} is supplied by both ${f} and ${u}; a kind name has one source`});continue}r.set(p.name,u),i.push(p)}}),{registry:hV(i.filter(s=>!o.has(s.name))),problems:n}}function Rme(e,t){if(!(e.type==="integer"?typeof t=="number"&&Number.isInteger(t):typeof t===e.type))return`is ${JSON.stringify(t)}, and the field is ${e.type==="integer"?"an integer":`a ${e.type}`}`;if(e.pattern!==void 0&&typeof t=="string"){let i;try{i=new RegExp(e.pattern,"u")}catch{return}if(!i.test(t))return`is ${JSON.stringify(t)}, which does not match ${e.pattern}`}}function Sme(e){let t=[],n=(i,r)=>{if(r.pattern!==void 0)try{new RegExp(r.pattern,"u")}catch{t.push(`declares field ${i} with pattern ${r.pattern}, which is not a regular expression`);return}if(r.default===void 0)return;let o=Rme(r,r.default);o&&t.push(`declares field ${i} whose default ${o}`)};for(let[i,r]of Object.entries(e))if(r.type==="object")for(let[o,s]of Object.entries(r.properties))n(`${i}.${o}`,s);else n(i,r);return t}var MBe,E0,Qw,mme,gV,gme,yme,bme,Yw,lo=v(()=>{"use strict";dU();Jt();hU();ju();bm();MBe=sC.$id,E0="./workspace-kinds",Qw="examples",mme="design",gV=[{name:"chant",description:"a chant project, with a chant.config.ts or chant.config.json in its directory",probe:{anyFile:["chant.config.ts","chant.config.json"]},precedence:500,shape:"member",outputs:{from:"chant-source"},source:"builtin"},{name:"workspace",description:"a nested workspace, with its own chant.workspace.json; the outer one reads it through its own chant workspace graph and never writes inside it",probe:{anyFile:["chant.workspace.json","chant.workspace.jsonc"]},precedence:1e3,shape:"member",outputs:{from:"none"},source:"builtin"},{name:"other",description:"a directory chant does not read; the entry says why in `because`",probe:{directory:!0},precedence:0,shape:"member",outputs:{from:"declared",names:[]},source:"builtin"},{name:mme,description:"a data member holding the design artifacts the workspace owns; chant reads its files for record pins and builds nothing",probe:{directory:!0},precedence:0,shape:"member",outputs:{from:"declared",names:[]},source:"builtin"},{name:Qw,description:"an example group: every directory its glob matches that holds a chant project is built and linted",probe:{chantProject:!0},precedence:0,shape:"group",outputs:{from:"none"},source:"builtin"}],gme=gV.map(e=>e.name);yme=["chant.config.ts","chant.config.json"],bme=4});function td(e){return String(e).replace(/~/g,"~0").replace(/\//g,"~1")}function ha(e,t){let n=[0];for(let b=0;b<e.length;b++)e.charCodeAt(b)===10&&n.push(b+1);let i=b=>{let w=0,$=n.length-1;for(;w<$;){let k=w+$+1>>1;n[k]<=b?w=k:$=k-1}return{line:w+1,column:b-n[w]+1}},r=new Map,o=new Map,s=new Map,a=e.charCodeAt(0)===65279?1:0,c=(b,w=a)=>{throw new ev(b,w)},l=b=>b>=e.length?"the end of the file":`${JSON.stringify(e[b])}`;function u(){for(;;){let b=e[a];if(b===" "||b===" "||b===`
70
70
  `||b==="\r")a++;else if(b==="/"&&(e[a+1]==="/"||e[a+1]==="*"))if(t.jsonc||c("comments are only allowed in chant.workspace.jsonc"),e[a+1]==="/")for(;a<e.length&&e[a]!==`
71
- `;)a++;else{let w=e.indexOf("*/",a+2);w<0&&c("unterminated /* comment"),a=w+2}else return}}function d(){let b=a;for(a++;;){a>=e.length&&c("unterminated string",b);let w=e.charCodeAt(a);if(w===34)break;w<32&&c("control character in a string; escape it",a),a+=w===92?2:1}a++;try{return JSON.parse(e.slice(b,a))}catch{return c("invalid escape in a string",b)}}function p(b){u(),r.set(b,a);let w=f(b);return o.set(b,a),w}function f(b){let w=e[a];if(w==="{")return g(b);if(w==="[")return h(b);if(w==='"')return d();for(let[k,R]of[["true",!0],["false",!1],["null",null]])if(e.startsWith(k,a))return a+=k.length,R;let $=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/.exec(e.slice(a,a+64));return $?(a+=$[0].length,Number($[0])):c(`expected a value, found ${l(a)}`)}function g(b){let w={},$=new Set;if(a++,u(),e[a]==="}")return a++,w;for(;;){u(),e[a]!=='"'&&c(`expected a quoted key, found ${l(a)}`);let k=a,R=d();$.has(R)&&c(`duplicate key ${JSON.stringify(R)}`,k),$.add(R);let x=`${b}/${td(R)}`;if(s.set(x,k),u(),e[a]!==":"&&c(`expected ":" after key ${JSON.stringify(R)}, found ${l(a)}`),a++,Object.defineProperty(w,R,{value:p(x),enumerable:!0,writable:!0,configurable:!0}),u(),e[a]===","){if(a++,u(),e[a]==="}")return t.jsonc||c("trailing comma; only chant.workspace.jsonc allows one"),a++,w;continue}if(e[a]==="}")return a++,w;c(`expected "," or "}", found ${l(a)}`)}}function h(b){let w=[];if(a++,u(),e[a]==="]")return a++,w;for(;;){if(w.push(p(`${b}/${w.length}`)),u(),e[a]===","){if(a++,u(),e[a]==="]")return t.jsonc||c("trailing comma; only chant.workspace.jsonc allows one"),a++,w;continue}if(e[a]==="]")return a++,w;c(`expected "," or "]", found ${l(a)}`)}}try{u(),a>=e.length&&c("the file is empty");let b=p("");return u(),a<e.length&&c(`unexpected ${l(a)} after the value`),{ok:!0,value:b,locate(w,$){if($&&s.has(w))return i(s.get(w));for(let k=w;;k=k.slice(0,k.lastIndexOf("/"))){let R=r.get(k);if(R!==void 0)return i(R);if(k==="")return i(0)}},span(w){let $=r.get(w),k=o.get(w);if(!($===void 0||k===void 0))return{key:s.get(w)??null,start:$,end:k}}}}catch(b){if(!(b instanceof ev))throw b;return{ok:!1,message:b.message,location:i(b.offset)}}}var ev,nd=v(()=>{"use strict";ev=class extends Error{constructor(n,i){super(n);this.offset=i}}});function kV(){return"0.124.20"}var xV=v(()=>{"use strict"});var D0={};Oe(D0,{CHANT_PACKAGE:()=>id,DECLARATION_FILES:()=>rd,DECLARATION_SCHEMA_ID:()=>Eme,DECLARATION_SCHEMA_VERSION:()=>Ame,DEFAULT_CI_WINDOW:()=>AV,DEFAULT_PUBLISH_BRANCH_PREFIX:()=>_V,DEFAULT_REPLICATE_REMOTE:()=>CV,DEFAULT_SHIP_ENV:()=>OV,DEFAULT_SHIP_GATE:()=>PV,DEFAULT_STATE_ROOT:()=>IV,DIAGRAM_TOOLS:()=>_me,FACTORY_CHECK_KINDS:()=>Ime,NAME_PATTERN:()=>Pme,PRINCIPAL_CLASSES:()=>Ome,REPLICATE_REF_CLASSES:()=>O0,REPLICATE_TRIGGERS:()=>C0,RESERVED_NAMES:()=>EV,WORKSPACE_ERROR_CODES:()=>uo,WRITE_VERBS:()=>Cme,WorkspaceReadError:()=>ve,boxServicesProblem:()=>LV,compareVersions:()=>TV,declaredDiagrams:()=>I0,declaredRecordKinds:()=>Ni,extensionsAt:()=>wm,findDeclarationDir:()=>T0,isInside:()=>kr,ownerOf:()=>MV,parseDeclaration:()=>NV,pinnedChant:()=>nv,readDeclaration:()=>Lt,readerVersion:()=>Yt,resolveGroups:()=>ya,rootExclusions:()=>rv});function Yt(){return $V??=kV(),$V}function TV(e,t){let n=_0.exec(e),i=_0.exec(t);if(!n||!i)throw new Error(`not a version: ${n?t:e}`);for(let r=1;r<=3;r++){let o=Number(n[r])-Number(i[r]);if(o!==0)return o}return n[4]===i[4]?0:n[4]===void 0?1:i[4]===void 0||n[4]<i[4]?-1:1}function Tme(){if(tv)return tv;let e=ma();return tv=new e({allErrors:!0,strict:!0}).compile(rC),tv}function Dme(e,t){let n=/#\/\$defs\/([A-Za-z]+)\//.exec(e.schemaPath)?.[1];if(e.keyword==="pattern"){let i=JSON.stringify(t);return n==="name"&&typeof t=="string"&&EV.includes(t)?`${i} is reserved; pick another name`:n==="name"?`${i} is not a valid name: use lowercase letters, digits and hyphens, starting with a letter or digit, at most 40 characters`:n==="kindName"?`${i} is not a valid kind or role name`:n==="dir"?`${i} is not a directory inside the workspace: use a relative path with / separators, and no . or .. segments`:n==="path"?`${i} is not a path inside the member or workspace: use a relative path with / separators, and no . or .. segments`:n==="glob"?`${i} is not a glob inside the workspace: use a relative pattern with / separators, and no . or .. segments`:n==="version"?`${i} is not a version such as 1.2.3`:`${i} is not allowed here`}if(e.keyword==="additionalProperties")return`unknown field ${JSON.stringify(e.params.additionalProperty)}; only fields named x-... may be added`;if(e.keyword==="required"){let i=String(e.params.missingProperty);return i==="because"&&e.instancePath.endsWith("/handWritten")?'a hand-written generated file needs "because", saying why it is kept by hand':i==="because"?'a member of kind other needs "because", saying why it is there':`missing required field ${JSON.stringify(i)}`}return e.keyword==="const"&&e.instancePath==="/schema"?"schema must be 1, the only declaration format this chant reads":e.message??"is invalid"}function DV(e,t){let n=e;for(let i of t.split("/").slice(1)){let r=i.replace(/~1/g,"/").replace(/~0/g,"~");if(n===null||typeof n!="object")return;n=n[r]}return n}function nv(e){if(!Array.isArray(e.pins))return;let t=e.pins.findIndex(n=>n!==null&&typeof n=="object"&&n.package===id&&typeof n.version=="string");return t<0?void 0:{version:e.pins[t].version,index:t}}function NV(e,t,n=Yt(),i={}){let r=ha(e,{jsonc:t.endsWith(".jsonc")});if(!r.ok)throw new ve("declaration-unparseable",r.message,{file:t,...r.location});let o=(F,Q=!1)=>({file:t,...r.locate(F,Q)}),s=r.value;if(s===null||typeof s!="object"||Array.isArray(s))throw new ve("declaration-invalid","the declaration must be a JSON object",o(""));let a=s,c=i.rootChant?nv(a):void 0;if(c&&c.version!==n)throw new ve("root-chant-required",`this declaration pins ${id} ${c.version}, and this is chant ${n}; the root's chant reads it, so install ${id}@${c.version} at the workspace root`,o(`/pins/${c.index}/version`));if(typeof a.minReader=="string"&&_0.test(a.minReader)&&TV(n,a.minReader)<0)throw new ve("reader-too-old",`this declaration needs chant ${a.minReader} or newer to read it, and this is chant ${n}`,o("/minReader"));let l=Tme();if(!l(s)){let F=(l.errors??[]).filter(we=>!Nme.has(we.keyword));F.sort((we,Ct)=>Ct.instancePath.split("/").length-we.instancePath.split("/").length);let Q=F[0]??l.errors[0],I=Q.keyword==="additionalProperties",B=I?`${Q.instancePath}/${td(String(Q.params.additionalProperty))}`:Q.instancePath,W=Q.instancePath===""?"":` (at ${Q.instancePath})`,xe=F.length>1?`; ${F.length-1} more problem${F.length>2?"s":""} after this one`:"";throw new ve("declaration-invalid",`${Dme(Q,DV(s,Q.instancePath))}${W}${xe}`,o(B,I))}let u=a.members.map((F,Q)=>{let I=`/members/${Q}`,B=(F.suppress??[]).map(Le=>({check:Le.check,because:Le.because}));if(F.kind===Qw){let Le=F.glob;return{type:"group",name:F.name,kind:Qw,globs:typeof Le=="string"?[Le]:[...Le],suppress:B,pointer:I,globLocation:r.locate(`${I}/glob`)}}let W=(F.roles??[]).map(Le=>typeof Le=="string"?{name:Le,path:null}:{name:Le.name,path:Le.path??null}),xe=(F.generated??[]).map((Le,ft)=>({path:Le.path,generator:Le.generator,sources:[...Le.sources??[]],handWritten:Le.handWritten?{because:Le.handWritten.because}:null,pointer:`${I}/generated/${ft}`})),we=(F.links??[]).map((Le,ft)=>({member:Le.member,output:Le.output,kind:Le.kind??null,protocol:Le.protocol??null,pointer:`${I}/links/${ft}`})),Ct=RV(F.records,F.dir,F.name,`${I}/records`),ot=SV(F.diagrams,F.name,`${I}/diagrams`),_t=Gme(F.box,`${I}/box`);return{type:"member",name:F.name,dir:F.dir,kind:F.kind,roles:W,generated:xe,outputs:F.outputs===void 0?null:[...F.outputs],fields:F.fields===void 0?null:structuredClone(F.fields),links:we,records:Ct,diagrams:ot,box:_t,upstream:F.upstream??null,because:F.because??null,travel:F.travel===!0,suppress:B,pointer:I}}),d=new Map;for(let F of u){let Q=d.get(F.name);if(Q)throw new ve("declaration-invalid",`the name ${JSON.stringify(F.name)} is already used by the entry at ${Q.pointer}`,o(`${F.pointer}/name`));d.set(F.name,F)}let p=u.filter(F=>F.type==="member"),f=new Map;for(let F of p){let Q=f.get(F.dir);if(Q)throw new ve("placement-invalid",`member ${F.name} has the same directory as member ${Q.name} (${F.dir})`,o(`${F.pointer}/dir`));f.set(F.dir,F)}for(let F of p){let Q=p.find(I=>I!==F&&I.dir!=="."&&kr(F.dir,I.dir));if(Q)throw new ve("placement-invalid",`member ${F.name} (${F.dir}) sits inside member ${Q.name} (${Q.dir}); only the root member "." may contain other members`,o(`${F.pointer}/dir`))}for(let F of p){let Q=new Map;for(let I of F.generated){let B=Q.get(I.path);if(B)throw new ve("declaration-invalid",`member ${F.name} lists the generated file ${I.path} twice; the first is at ${B.pointer}`,o(`${I.pointer}/path`));Q.set(I.path,I);let W=F.dir==="."?I.path:`${F.dir}/${I.path}`,xe=p.find(we=>we!==F&&we.dir!=="."&&kr(we.dir,F.dir)&&kr(W,we.dir));if(xe)throw new ve("placement-invalid",`member ${F.name} lists the generated file ${I.path}, which sits inside member ${xe.name} (${xe.dir}); list it there`,o(`${I.pointer}/path`))}}let g=RV(a.records,".",null,"/records"),h=new Map,b=new Map;for(let F of[...g,...p.flatMap(Q=>Q.records)]){let Q=h.get(F.path);if(Q)throw new ve("declaration-invalid",`the record kind ${F.path} is already declared at ${Q.pointer}`,o(`${F.pointer}/kind`));if(h.set(F.path,F),F.name===null)continue;let I=b.get(F.name);if(I)throw new ve("declaration-invalid",`the record kind name ${JSON.stringify(F.name)} is already given at ${I.pointer}`,o(`${F.pointer}/name`));b.set(F.name,F)}for(let F of p){let Q=new Map;for(let B of F.box?.capabilities??[]){let W=Q.get(B.name);if(W)throw new ve("declaration-invalid",`member ${F.name}'s box lists the capability ${B.name} twice; the first is at ${W.pointer}`,o(`${B.pointer}/name`));Q.set(B.name,B)}let I=F.box?LV(F.name,F.box.services):null;if(I)throw new ve("declaration-invalid",I.message,o(I.pointer))}let w=Wme(p);if(w)throw new ve("declaration-invalid",w.message,o(w.pointer));let $=p.filter(F=>F.box?.replicate);if($.length>1)throw new ve("declaration-invalid",`members ${$[0].name} and ${$[1].name} both declare replicate in their box block; a checkout's work in progress goes to one remote, so a workspace has one replicate policy`,o($[1].box.replicate.pointer));let k=SV(a.diagrams,null,"/diagrams"),R=new Map;for(let F of[...k,...p.flatMap(Q=>Q.diagrams)]){let Q=R.get(F.name);if(Q)throw new ve("declaration-invalid",`the diagram name ${JSON.stringify(F.name)} is already used by the diagram at ${Q.pointer}`,o(`${F.pointer}/name`));R.set(F.name,F)}let x=Hme(a,p,o),_=jme(a.writeScope,p,o),T=Fme(a.agents,p,o),C=zme(p,T);if(C)throw new ve("declaration-invalid",C.message,o(C.pointer));let U=Mme(a.ci,o),O=(a.pins??[]).map(F=>({package:F.package??null,version:F.version??null,path:F.path??null,integrity:F.integrity??null})),pe={name:a.name,schema:a.schema,minReader:a.minReader??null,entries:u,members:p,groups:u.filter(F=>F.type==="group"),pins:O,checks:{...a.checks??{}},quorum:typeof a.quorum=="number"?a.quorum:null,records:g,diagrams:k,hosts:x,changes:Bme(a.changes),writeScope:_,agents:T,identity:Lme(a.identity),ci:U,file:t};return jV.set(pe,s),pe}function wm(e,t){let n=DV(jV.get(e),t);return n===null||typeof n!="object"||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(([i])=>i.startsWith("x-")))}function jme(e,t,n){if(e===void 0)return null;let i=e,r={};for(let[o,s]of Object.entries(i)){let a=`/writeScope/${o}`,c=s.members===void 0||s.members==="*"?null:[...s.members];for(let[d,p]of(c??[]).entries())if(!t.some(f=>f.name===p))throw new ve("declaration-invalid",`writeScope.${o} names the member ${JSON.stringify(p)}, which the declaration does not declare; declared members: ${t.map(f=>f.name).join(", ")||"none"}`,n(`${a}/members/${d}`));let l=s.records===void 0?null:Object.fromEntries(Object.entries(s.records).map(([d,p])=>[d,[...p]])),u=(s.protected??[]).map(d=>typeof d=="string"?{path:d,except:[]}:{path:d.path,except:[...d.except??[]]});r[o]={members:c,records:l,protected:u,pointer:a}}return r}function Lme(e){if(e===void 0)return null;let t=e,n={};for(let[i,r]of Object.entries(t.gates??{}))n[i]={gate:i,class:r.class??null,pointer:`/identity/gates/${i.replace(/~/g,"~0").replace(/\//g,"~1")}`};return{attribution:t.attribution??"any",gates:n}}function Mme(e,t){if(e===void 0)return null;let n=e;if(n.green===void 0)return{green:null};let i=n.green,r=Object.entries(i.phases).map(([o,s])=>({name:o,runs:[...Array.isArray(s)?s:s.runs],skipped:Array.isArray(s)?"fail":s.skipped??"fail",pointer:`/ci/green/phases/${td(o)}`}));for(let[o,s]of i.require.entries())if(!r.some(a=>a.name===s))throw new ve("declaration-invalid",`ci.green.require names the phase ${JSON.stringify(s)}, which ci.green.phases does not declare; declared phases: ${r.map(a=>a.name).join(", ")}`,t(`/ci/green/require/${o}`));return{green:{branch:i.branch,window:i.window??AV,phases:r,require:[...i.require],pointer:"/ci/green"}}}function Fme(e,t,n){let i=(e??[]).map((s,a)=>{let c=s.members!==void 0?[...s.members]:[s.member];return{name:s.name,members:c,member:c[0],principals:[...s.principals??[]],pointer:`/agents/${a}`,listed:s.members!==void 0}}),r=new Map,o=new Map;for(let{listed:s,...a}of i){let c=r.get(a.name);if(c)throw new ve("declaration-invalid",`the agent name ${JSON.stringify(a.name)} is already used by the agent at ${c.pointer}`,n(`${a.pointer}/name`));r.set(a.name,a);for(let[l,u]of a.members.entries())if(!t.some(d=>d.name===u))throw new ve("declaration-invalid",`agent ${a.name} is bound to ${JSON.stringify(u)}, which is not a declared member; an agent session is bound to members, not an example group`,n(s?`${a.pointer}/members/${l}`:`${a.pointer}/member`));for(let[l,u]of a.principals.entries()){let d=o.get(u);if(d)throw new ve("declaration-invalid",`the principal ${JSON.stringify(u)} is already listed by agent ${d.name}`,n(`${a.pointer}/principals/${l}`));o.set(u,a)}}return[...r.values()]}function Bme(e){return e===void 0?null:{severity:e.severity??"warn",ignore:[...e.ignore??[]]}}function RV(e,t,n,i){return(e??[]).map((r,o)=>({kind:r.kind,path:t==="."?r.kind:`${t}/${r.kind}`,name:r.name??null,member:n,pointer:`${i}/${o}`}))}function SV(e,t,n){return(e??[]).map((i,r)=>({name:i.name,title:i.title,source:i.source??null,render:i.render??null,renderer:{tool:i.renderer.tool,version:i.renderer.version,args:[...i.renderer.args??[]]},sourceHash:i.sourceHash??null,member:t,pointer:`${n}/${r}`}))}function Gme(e,t){if(e===void 0)return null;let n=e,i=n.factory,r=n.listing,o=n.replicate;return{capabilities:(n.capabilities??[]).map((s,a)=>({name:s.name,broker:s.broker??null,scope:[...s.scope??[]],pointer:`${t}/capabilities/${a}`})),isolation:n.host===void 0?null:{host:n.host,slot:n.slot,ports:{...n.ports??{}},state:{...n.state??{}},cookies:[...n.cookies??[]]},intent:n.intent??null,services:(n.services??[]).map((s,a)=>({name:s.name,cmd:s.cmd,needs:[...s.needs??[]],httpPort:s.httpPort??null,duration:s.duration??null,health:s.health??null,optional:s.optional??!1,pointer:`${t}/services/${a}`})),factory:i===void 0?null:{builds:[...i.builds],check:i.check===void 0?null:typeof i.check=="string"?{run:i.check,kind:"test"}:{run:i.check.run,kind:i.check.kind??"test"},checks:i.checks??null,builders:i.builders??null,tiers:(i.tiers??[]).map(s=>({tier:s.tier,agent:s.agent,kinds:s.kinds===void 0?null:[...s.kinds],session:s.session??null})),publish:i.publish===void 0?null:{forge:i.publish.forge??"github",repo:i.publish.repo,base:i.publish.base??null,branchPrefix:i.publish.branchPrefix??_V,head:i.publish.head??null},pointer:`${t}/factory`},listing:r===void 0?null:{published:r.published??!0,title:r.title??"",line:r.line??"",cover:r.cover??null},publisher:n.publisher??null,ship:n.ship===void 0?null:{op:n.ship.op,gate:n.ship.gate??PV,env:n.ship.env??OV,bookkeeping:(n.ship.bookkeeping??[]).map(s=>s.replace(/^\.\//,"").replace(/\/+$/,"")),pointer:`${t}/ship`},replicate:o===void 0?null:{remote:o.remote??CV,refs:O0.filter(s=>(o.refs??O0).includes(s)),on:C0.filter(s=>(o.on??C0).includes(s)),every:o.every??null,pointer:`${t}/replicate`},pointer:t}}function Wme(e){let t=e.filter(s=>s.box?.factory);if(t.length>1)return{message:`members ${t[0].name} and ${t[1].name} both declare a factory in their box block; a workspace has one factory, so an orchestrator reads one`,pointer:t[1].box.factory.pointer};let n=t[0]?.box?.factory;if(!n)return null;let i=()=>e.map(s=>s.name).join(", "),r=n.builds.findIndex(s=>!e.some(a=>a.name===s));if(r>=0)return{message:`the factory builds ${JSON.stringify(n.builds[r])}, which is not a declared member; declared members: ${i()}`,pointer:`${n.pointer}/builds/${r}`};if(n.builders!==null&&!e.some(s=>s.name===n.builders))return{message:`the factory's builders names ${JSON.stringify(n.builders)}, which is not a declared member; declared members: ${i()}`,pointer:`${n.pointer}/builders`};if(n.tiers.length>0&&n.builders===null)return{message:"the factory declares tiers and no builders; tiers name agents the builders member declares, so name it",pointer:`${n.pointer}/tiers`};let o=new Map;for(let[s,a]of n.tiers.entries())for(let c of a.kinds??[null]){let l=`${a.tier}\0${c??""}`,u=o.get(l);if(u!==void 0){let d=c===null?"with no kinds":`for kind ${c}`;return{message:`tiers/${u} and tiers/${s} both name a builder at tier ${a.tier} ${d}; a tier has one builder per kind, so one entry answers it`,pointer:`${n.pointer}/tiers/${s}`}}o.set(l,s)}return null}function zme(e,t){let n=e.find(i=>i.box?.factory)?.box?.factory;if(!n)return null;for(let[i,r]of n.tiers.entries())if(r.session!==null&&!t.some(o=>o.name===r.session)){let o=t.map(s=>s.name).join(", ")||"none";return{message:`tiers/${i} names the session ${JSON.stringify(r.session)}, which is not a declared agent session; declared sessions: ${o}`,pointer:`${n.pointer}/tiers/${i}/session`}}return null}function LV(e,t){let n=new Map;for(let o of t){let s=n.get(o.name);if(s)return{message:`member ${e}'s box declares the service ${o.name} twice; the first is at ${s.pointer}`,pointer:`${o.pointer}/name`};n.set(o.name,o)}let i;for(let o of t)if(o.httpPort!==null){if(i)return{message:`member ${e}'s box gives both ${i.name} (port ${i.httpPort}) and ${o.name} (port ${o.httpPort}) an httpPort, and the supervisor routes the sprite's URL to one service`,pointer:`${o.pointer}/httpPort`};i=o}for(let o of t){let s=o.needs.findIndex(a=>!n.has(a));if(s>=0){let a=t.map(c=>c.name).join(", ");return{message:`member ${e}'s box service ${o.name} needs ${JSON.stringify(o.needs[s])}, which the block does not declare; declared services: ${a}`,pointer:`${o.pointer}/needs/${s}`}}}let r=Ume(t);if(r){let o=n.get(r[0]);return{message:`member ${e}'s box services need each other in a cycle: ${r.join(" -> ")}`,pointer:`${o.pointer}/needs`}}return null}function Ume(e){let t=new Map(e.map(r=>[r.name,r])),n=new Map,i=(r,o)=>{let s=n.get(r);if(s==="done")return null;if(s==="visiting")return[...o.slice(o.indexOf(r)),r];n.set(r,"visiting");for(let a of t.get(r)?.needs??[]){let c=i(a,[...o,r]);if(c)return c}return n.set(r,"done"),null};for(let r of e){let o=i(r.name,[]);if(o)return o}return null}function Hme(e,t,n){let i=(e.hosts??[]).map((s,a)=>({name:s.name,ports:{...s.ports},stateRoot:s.stateRoot??null,pointer:`/hosts/${a}`})),r=(s,a)=>new ve("declaration-invalid",s,n(a)),o=new Map;for(let s of i){let a=o.get(s.name);if(a)throw r(`the host name ${JSON.stringify(s.name)} is already used by the host at ${a.pointer}`,`${s.pointer}/name`);if(o.set(s.name,s),s.ports.from>s.ports.to)throw r(`host ${s.name}'s port range starts at ${s.ports.from}, after its end ${s.ports.to}`,`${s.pointer}/ports`)}for(let s of t){let a=s.box?.isolation;if(!a)continue;let c=s.box.pointer,l=o.get(a.host);if(!l){let g=i.map(h=>h.name).join(", ")||"none are declared";throw r(`member ${s.name}'s box names the host ${JSON.stringify(a.host)}, which hosts does not declare; declared hosts: ${g}`,`${c}/host`)}let{from:u,to:d,perBox:p}=l.ports,f=u+(a.slot+1)*p-1;if(f>d){let g=Math.floor((d-u+1)/p);throw r(`member ${s.name}'s box has slot ${a.slot} on host ${l.name}, which needs ports ${u+a.slot*p} to ${f}, past the end of the host's range (${d}); the range holds ${g} slot${g===1?"":"s"}`,`${c}/slot`)}for(let[g,h]of Object.entries(a.ports))if(h>=p)throw r(`member ${s.name}'s box gives port ${g} offset ${h}, and host ${l.name} gives each box ${p} port${p===1?"":"s"} (offsets 0 to ${p-1})`,`${c}/ports/${td(g)}`)}return i}function Ni(e){return[...e.records,...e.members.flatMap(t=>t.records)]}function I0(e){return[...e.diagrams,...e.members.flatMap(t=>t.diagrams)]}function kr(e,t){return t==="."?!0:e===t||e.startsWith(`${t}/`)}function Lt(e,t="",n={}){let i=rd.map(r=>We(t,r)).filter(r=>e.stat(r)==="file");if(i.length===0)throw new ve("declaration-missing",`no ${rd.join(" or ")} in ${t||"the workspace root"}${e.label}`);if(i.length>1)throw new ve("declaration-ambiguous",`both ${i.join(" and ")} exist${e.label}; keep one of them`,{file:i[1],line:1,column:1});return NV(e.read(i[0]),i[0],Yt(),n)}function T0(e,t){for(let n=t;;n=n.includes("/")?n.slice(0,n.lastIndexOf("/")):""){if(rd.some(i=>e.stat(We(n,i))==="file"))return n;if(n==="")return}}function ya(e,t){let n=o=>({file:e.file,...o.globLocation}),i=new Map,r=[];for(let o of e.groups){let s=[...new Set(o.globs.flatMap(l=>lU(t,l)))].sort(),a=[],c=[];for(let l of s){if(!A0(t,l)){c.push(l);continue}let u=p=>new ve("placement-invalid",`group ${o.name} matches ${l}, ${p}`,n(o));for(let p of e.members)if(p.dir!=="."){if(p.dir===l)throw u(`which is member ${p.name}'s directory; a match is never a member`);if(kr(p.dir,l))throw u(`which contains member ${p.name} (${p.dir})`);if(p.kind==="workspace"&&kr(l,p.dir))throw u(`which sits inside the nested workspace ${p.name}; that workspace declares its own examples`)}let d=i.get(l);if(d)throw u(`which group ${d.name} also matches`);i.set(l,o),a.push(l)}r.push({group:o,matches:a,skipped:c})}return r}function MV(e,t,n){for(let r of t){let o=r.matches.find(s=>kr(n,s));if(o)return{group:r.group,match:o}}let i;for(let r of e.members)kr(n,r.dir)&&(!i||i.dir==="."||r.dir!=="."&&r.dir.length>i.dir.length)&&(i=r);return i?{member:i}:void 0}function rv(e,t){let n=[];for(let i of e.members)i.dir!=="."&&n.push({dir:i.dir,owner:i.name});for(let i of t)for(let r of i.matches)e.members.some(o=>o.dir!=="."&&kr(r,o.dir))||n.push({dir:r,owner:i.group.name});return n.sort((i,r)=>i.dir<r.dir?-1:i.dir>r.dir?1:0)}var Eme,rd,Ame,EV,Pme,uo,ve,Ome,Cme,AV,_me,PV,OV,O0,C0,CV,Ime,_V,IV,id,$V,_0,tv,Nme,jV,Pt=v(()=>{"use strict";iU();uU();lo();nd();Jt();bm();xV();Eme=rC.$id,rd=["chant.workspace.json","chant.workspace.jsonc"],Ame=1,EV=["_workspace","_members"],Pme=/^[a-z0-9][a-z0-9-]{0,39}$/,uo=["declaration-missing","declaration-ambiguous","declaration-unparseable","declaration-invalid","placement-invalid","reader-too-old","root-chant-required","not-a-git-repository","revision-unknown"],ve=class extends Error{constructor(n,i,r){super(i);this.code=n;this.location=r;this.name="WorkspaceReadError"}describe(){let n=this.location;return n?`${n.file}:${n.line}:${n.column}: ${this.message}`:this.message}},Ome=["human","agent","runner","service"],Cme=["new","amend","review","close"],AV="24h",_me=["d2","mermaid","graphviz","excalidraw"],PV="ship",OV="box",O0=["work","kept","wip","ledger"],C0=["save","release"],CV="origin",Ime=["test","build","lint","plan","conformance"],_V="chant/work/",IV="${XDG_STATE_HOME}/chant/boxes",id="@intentius/chant";_0=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z.-]+))?$/;Nme=new Set(["if","then","else","oneOf","anyOf"]);jV=new WeakMap});import{existsSync as Vme}from"node:fs";import{dirname as qme,join as Kme,relative as Jme,resolve as Zme,sep as Yme}from"node:path";function L0(e){return e.map(t=>`${FV}/${t}/`).join("")}function ii(e){let t=Zme(e),n=N0.get(t);return n||(n=Qme(t),N0.set(t,n),n.catch(()=>N0.delete(t))),n}function Xme(e,t){let n=Jme(e,t);return n===""?"":n.split(Yme).join("/")}async function Qme(e){let t=mr(e);return t?GV(t.dir,e):BV}async function GV(e,t){let{readDeclaration:n,resolveGroups:i,ownerOf:r,WorkspaceReadError:o}=await Promise.resolve().then(()=>(Pt(),D0)),{workingTree:s}=await Promise.resolve().then(()=>(Jt(),oC)),a;try{let d=s(e),p=n(d),f=r(p,i(p,d),Xme(e,t));a=f&&"member"in f&&f.member.dir!=="."?[f.member.name]:[]}catch(d){throw d instanceof o?new j0(`cannot place this project's lifecycle ledger: ${d.describe()}. A project inside a workspace writes under ${FV}/<member>/ on chant/lifecycle, and chant does not guess the member. Fix the declaration and retry.`):d}let c=BV,l=qme(e);if(l!==e&&!Vme(Kme(e,".git"))){let d=mr(l);d&&(c=await GV(d.dir,e))}let u=[...c.members,...a];return{members:u,prefix:L0(u)}}var FV,BV,j0,N0,ba=v(()=>{"use strict";Si();FV="_members",BV={members:[],prefix:""};j0=class extends Error{constructor(t){super(t),this.name="MemberLedgerError"}},N0=new Map});function M0(e){return e===od}var od,iv=v(()=>{"use strict";od="recorded locally (no remote for chant/lifecycle)"});var V0={};Oe(V0,{LifecycleLedgerUnreadableError:()=>vm,RefCASConflictError:()=>Ht,StaleLifecycleBranchError:()=>sd,StaleLockError:()=>Fc,appendReleaseRecordLine:()=>KV,deleteRefCAS:()=>ld,describeLifecyclePush:()=>U0,fetchLifecycle:()=>XV,fetchLifecycleStatus:()=>va,fetchRef:()=>uge,fetchRefInto:()=>nq,fetchRefIntoStatus:()=>sv,getHeadCommit:()=>av,getRemoteLifecycleBranchSha:()=>YV,gitLedgerReadPort:()=>fge,ledgerDir:()=>oi,listFilesInDir:()=>Gc,listLedgerEnvironments:()=>ZV,listLedgerTrees:()=>z0,listSnapshots:()=>sge,pushLifecycle:()=>Wc,pushLifecycleReport:()=>wa,pushLifecycleStatus:()=>ad,pushRef:()=>lge,pushRefStatus:()=>km,readBlobBySha:()=>fn,readBlobFromPath:()=>nn,readEnvironmentSnapshots:()=>oge,readPathSha:()=>xr,readRefSha:()=>zc,readReleaseLedgerLines:()=>JV,readSnapshot:()=>qV,readSnapshotAt:()=>ige,requireLifecycleLedger:()=>si,snapshotStorageKey:()=>HV,updateRefCAS:()=>cd,writeBlob:()=>H0,writeBlobToPath:()=>An,writeLedgerFiles:()=>W0,writeSnapshot:()=>VV});async function oi(e,t){return`${await ege(t)}${e}`}async function ege(e){return e?.ledgerPrefix!==void 0?e.ledgerPrefix:e?.member!==void 0?L0((typeof e.member=="string"?[e.member]:[...e.member]).filter(t=>t!==".")):(await ii(e?.cwd??process.cwd())).prefix}async function rge(e){let t=rt();if((await t.spawn(["git","var","GIT_COMMITTER_IDENT"],{cwd:e,env:ji})).exitCode===0)return[];let i=[];for(let[r,o,s]of[["user.name","CHANT_LIFECYCLE_COMMITTER_NAME",tge],["user.email","CHANT_LIFECYCLE_COMMITTER_EMAIL",nge]]){let a=await t.spawn(["git","config","--get",r],{cwd:e,env:ji});a.exitCode===0&&a.stdout.trim()!==""||i.push("-c",`${r}=${process.env[o]?.trim()||s}`)}return i}function F0(e,t,n){return new Error(`cannot write ${t} on the ${ht} branch: ${e} failed: ${(n??"").trim()}`)}async function An(e,t,n,i,r){let o=await oi(e,r);return W0([{path:`${o}/${t}`,content:n,...r?.expectPriorPathSha!==void 0?{expectPriorSha:r.expectPriorPathSha}:{}}],i,r)}async function W0(e,t,n){let i=rt(),r=n?.cwd;if(e.length===0)throw new Error("writeLedgerFiles needs at least one file");let o=e[0].path;for(let u of e){let d=u.path.split("/");if(d.length<2||d.some(p=>p===""))throw new Error(`cannot write ${u.path} on the ${ht} branch: a ledger path is <dir>/<file>`)}let s=[];for(let u of e){let d=await i.spawn(["git","hash-object","-w","--stdin"],{cwd:r,stdin:u.content});if(d.exitCode!==0)throw F0("git hash-object",u.path,d.stderr);s.push({path:u.path,sha:d.stdout.trim()})}let a=await rge(r);await Bc(r)===null&&await si({...r?{cwd:r}:{}});let c=new Map(e.map(u=>[u.path,u.expectPriorSha])),l;for(let u=1;u<=UV;u++){let d=await Bc(r),p=new Map,f=async R=>{let x=p.get(R);return x||(x=d?await dge(d,R,r):new Map,p.set(R,x)),x};for(let R of s){let{dir:x,name:_}=WV(R.path),T=(await f(x)).get(_),C=T?.type==="blob"?T.sha:null,U=c.get(R.path);if(U!==void 0&&C!==U)throw l??new Ht(`refs/heads/${ht}`,U,"target path changed concurrently");c.set(R.path,C)}for(let R of s){let{dir:x,name:_}=WV(R.path);(await f(x)).set(_,{mode:"100644",type:"blob",sha:R.sha});for(let T=x;T!=="";T=B0(T))await f(B0(T))}let g=[...p.keys()].sort((R,x)=>zV(x)-zV(R)||(R<x?-1:1)),h="";for(let R of g){let x=[...p.get(R)].map(([C,U])=>`${U.mode} ${U.type} ${U.sha} ${C}`).join(`
71
+ `;)a++;else{let w=e.indexOf("*/",a+2);w<0&&c("unterminated /* comment"),a=w+2}else return}}function d(){let b=a;for(a++;;){a>=e.length&&c("unterminated string",b);let w=e.charCodeAt(a);if(w===34)break;w<32&&c("control character in a string; escape it",a),a+=w===92?2:1}a++;try{return JSON.parse(e.slice(b,a))}catch{return c("invalid escape in a string",b)}}function p(b){u(),r.set(b,a);let w=f(b);return o.set(b,a),w}function f(b){let w=e[a];if(w==="{")return g(b);if(w==="[")return h(b);if(w==='"')return d();for(let[k,R]of[["true",!0],["false",!1],["null",null]])if(e.startsWith(k,a))return a+=k.length,R;let $=/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/.exec(e.slice(a,a+64));return $?(a+=$[0].length,Number($[0])):c(`expected a value, found ${l(a)}`)}function g(b){let w={},$=new Set;if(a++,u(),e[a]==="}")return a++,w;for(;;){u(),e[a]!=='"'&&c(`expected a quoted key, found ${l(a)}`);let k=a,R=d();$.has(R)&&c(`duplicate key ${JSON.stringify(R)}`,k),$.add(R);let x=`${b}/${td(R)}`;if(s.set(x,k),u(),e[a]!==":"&&c(`expected ":" after key ${JSON.stringify(R)}, found ${l(a)}`),a++,Object.defineProperty(w,R,{value:p(x),enumerable:!0,writable:!0,configurable:!0}),u(),e[a]===","){if(a++,u(),e[a]==="}")return t.jsonc||c("trailing comma; only chant.workspace.jsonc allows one"),a++,w;continue}if(e[a]==="}")return a++,w;c(`expected "," or "}", found ${l(a)}`)}}function h(b){let w=[];if(a++,u(),e[a]==="]")return a++,w;for(;;){if(w.push(p(`${b}/${w.length}`)),u(),e[a]===","){if(a++,u(),e[a]==="]")return t.jsonc||c("trailing comma; only chant.workspace.jsonc allows one"),a++,w;continue}if(e[a]==="]")return a++,w;c(`expected "," or "]", found ${l(a)}`)}}try{u(),a>=e.length&&c("the file is empty");let b=p("");return u(),a<e.length&&c(`unexpected ${l(a)} after the value`),{ok:!0,value:b,locate(w,$){if($&&s.has(w))return i(s.get(w));for(let k=w;;k=k.slice(0,k.lastIndexOf("/"))){let R=r.get(k);if(R!==void 0)return i(R);if(k==="")return i(0)}},span(w){let $=r.get(w),k=o.get(w);if(!($===void 0||k===void 0))return{key:s.get(w)??null,start:$,end:k}}}}catch(b){if(!(b instanceof ev))throw b;return{ok:!1,message:b.message,location:i(b.offset)}}}var ev,nd=v(()=>{"use strict";ev=class extends Error{constructor(n,i){super(n);this.offset=i}}});function kV(){return"0.124.21"}var xV=v(()=>{"use strict"});var D0={};Oe(D0,{CHANT_PACKAGE:()=>id,DECLARATION_FILES:()=>rd,DECLARATION_SCHEMA_ID:()=>Eme,DECLARATION_SCHEMA_VERSION:()=>Ame,DEFAULT_CI_WINDOW:()=>AV,DEFAULT_PUBLISH_BRANCH_PREFIX:()=>_V,DEFAULT_REPLICATE_REMOTE:()=>CV,DEFAULT_SHIP_ENV:()=>OV,DEFAULT_SHIP_GATE:()=>PV,DEFAULT_STATE_ROOT:()=>IV,DIAGRAM_TOOLS:()=>_me,FACTORY_CHECK_KINDS:()=>Ime,NAME_PATTERN:()=>Pme,PRINCIPAL_CLASSES:()=>Ome,REPLICATE_REF_CLASSES:()=>O0,REPLICATE_TRIGGERS:()=>C0,RESERVED_NAMES:()=>EV,WORKSPACE_ERROR_CODES:()=>uo,WRITE_VERBS:()=>Cme,WorkspaceReadError:()=>ve,boxServicesProblem:()=>LV,compareVersions:()=>TV,declaredDiagrams:()=>I0,declaredRecordKinds:()=>Ni,extensionsAt:()=>wm,findDeclarationDir:()=>T0,isInside:()=>kr,ownerOf:()=>MV,parseDeclaration:()=>NV,pinnedChant:()=>nv,readDeclaration:()=>Lt,readerVersion:()=>Yt,resolveGroups:()=>ya,rootExclusions:()=>rv});function Yt(){return $V??=kV(),$V}function TV(e,t){let n=_0.exec(e),i=_0.exec(t);if(!n||!i)throw new Error(`not a version: ${n?t:e}`);for(let r=1;r<=3;r++){let o=Number(n[r])-Number(i[r]);if(o!==0)return o}return n[4]===i[4]?0:n[4]===void 0?1:i[4]===void 0||n[4]<i[4]?-1:1}function Tme(){if(tv)return tv;let e=ma();return tv=new e({allErrors:!0,strict:!0}).compile(rC),tv}function Dme(e,t){let n=/#\/\$defs\/([A-Za-z]+)\//.exec(e.schemaPath)?.[1];if(e.keyword==="pattern"){let i=JSON.stringify(t);return n==="name"&&typeof t=="string"&&EV.includes(t)?`${i} is reserved; pick another name`:n==="name"?`${i} is not a valid name: use lowercase letters, digits and hyphens, starting with a letter or digit, at most 40 characters`:n==="kindName"?`${i} is not a valid kind or role name`:n==="dir"?`${i} is not a directory inside the workspace: use a relative path with / separators, and no . or .. segments`:n==="path"?`${i} is not a path inside the member or workspace: use a relative path with / separators, and no . or .. segments`:n==="glob"?`${i} is not a glob inside the workspace: use a relative pattern with / separators, and no . or .. segments`:n==="version"?`${i} is not a version such as 1.2.3`:`${i} is not allowed here`}if(e.keyword==="additionalProperties")return`unknown field ${JSON.stringify(e.params.additionalProperty)}; only fields named x-... may be added`;if(e.keyword==="required"){let i=String(e.params.missingProperty);return i==="because"&&e.instancePath.endsWith("/handWritten")?'a hand-written generated file needs "because", saying why it is kept by hand':i==="because"?'a member of kind other needs "because", saying why it is there':`missing required field ${JSON.stringify(i)}`}return e.keyword==="const"&&e.instancePath==="/schema"?"schema must be 1, the only declaration format this chant reads":e.message??"is invalid"}function DV(e,t){let n=e;for(let i of t.split("/").slice(1)){let r=i.replace(/~1/g,"/").replace(/~0/g,"~");if(n===null||typeof n!="object")return;n=n[r]}return n}function nv(e){if(!Array.isArray(e.pins))return;let t=e.pins.findIndex(n=>n!==null&&typeof n=="object"&&n.package===id&&typeof n.version=="string");return t<0?void 0:{version:e.pins[t].version,index:t}}function NV(e,t,n=Yt(),i={}){let r=ha(e,{jsonc:t.endsWith(".jsonc")});if(!r.ok)throw new ve("declaration-unparseable",r.message,{file:t,...r.location});let o=(F,Q=!1)=>({file:t,...r.locate(F,Q)}),s=r.value;if(s===null||typeof s!="object"||Array.isArray(s))throw new ve("declaration-invalid","the declaration must be a JSON object",o(""));let a=s,c=i.rootChant?nv(a):void 0;if(c&&c.version!==n)throw new ve("root-chant-required",`this declaration pins ${id} ${c.version}, and this is chant ${n}; the root's chant reads it, so install ${id}@${c.version} at the workspace root`,o(`/pins/${c.index}/version`));if(typeof a.minReader=="string"&&_0.test(a.minReader)&&TV(n,a.minReader)<0)throw new ve("reader-too-old",`this declaration needs chant ${a.minReader} or newer to read it, and this is chant ${n}`,o("/minReader"));let l=Tme();if(!l(s)){let F=(l.errors??[]).filter(we=>!Nme.has(we.keyword));F.sort((we,Ct)=>Ct.instancePath.split("/").length-we.instancePath.split("/").length);let Q=F[0]??l.errors[0],I=Q.keyword==="additionalProperties",B=I?`${Q.instancePath}/${td(String(Q.params.additionalProperty))}`:Q.instancePath,W=Q.instancePath===""?"":` (at ${Q.instancePath})`,xe=F.length>1?`; ${F.length-1} more problem${F.length>2?"s":""} after this one`:"";throw new ve("declaration-invalid",`${Dme(Q,DV(s,Q.instancePath))}${W}${xe}`,o(B,I))}let u=a.members.map((F,Q)=>{let I=`/members/${Q}`,B=(F.suppress??[]).map(Le=>({check:Le.check,because:Le.because}));if(F.kind===Qw){let Le=F.glob;return{type:"group",name:F.name,kind:Qw,globs:typeof Le=="string"?[Le]:[...Le],suppress:B,pointer:I,globLocation:r.locate(`${I}/glob`)}}let W=(F.roles??[]).map(Le=>typeof Le=="string"?{name:Le,path:null}:{name:Le.name,path:Le.path??null}),xe=(F.generated??[]).map((Le,ft)=>({path:Le.path,generator:Le.generator,sources:[...Le.sources??[]],handWritten:Le.handWritten?{because:Le.handWritten.because}:null,pointer:`${I}/generated/${ft}`})),we=(F.links??[]).map((Le,ft)=>({member:Le.member,output:Le.output,kind:Le.kind??null,protocol:Le.protocol??null,pointer:`${I}/links/${ft}`})),Ct=RV(F.records,F.dir,F.name,`${I}/records`),ot=SV(F.diagrams,F.name,`${I}/diagrams`),_t=Gme(F.box,`${I}/box`);return{type:"member",name:F.name,dir:F.dir,kind:F.kind,roles:W,generated:xe,outputs:F.outputs===void 0?null:[...F.outputs],fields:F.fields===void 0?null:structuredClone(F.fields),links:we,records:Ct,diagrams:ot,box:_t,upstream:F.upstream??null,because:F.because??null,travel:F.travel===!0,suppress:B,pointer:I}}),d=new Map;for(let F of u){let Q=d.get(F.name);if(Q)throw new ve("declaration-invalid",`the name ${JSON.stringify(F.name)} is already used by the entry at ${Q.pointer}`,o(`${F.pointer}/name`));d.set(F.name,F)}let p=u.filter(F=>F.type==="member"),f=new Map;for(let F of p){let Q=f.get(F.dir);if(Q)throw new ve("placement-invalid",`member ${F.name} has the same directory as member ${Q.name} (${F.dir})`,o(`${F.pointer}/dir`));f.set(F.dir,F)}for(let F of p){let Q=p.find(I=>I!==F&&I.dir!=="."&&kr(F.dir,I.dir));if(Q)throw new ve("placement-invalid",`member ${F.name} (${F.dir}) sits inside member ${Q.name} (${Q.dir}); only the root member "." may contain other members`,o(`${F.pointer}/dir`))}for(let F of p){let Q=new Map;for(let I of F.generated){let B=Q.get(I.path);if(B)throw new ve("declaration-invalid",`member ${F.name} lists the generated file ${I.path} twice; the first is at ${B.pointer}`,o(`${I.pointer}/path`));Q.set(I.path,I);let W=F.dir==="."?I.path:`${F.dir}/${I.path}`,xe=p.find(we=>we!==F&&we.dir!=="."&&kr(we.dir,F.dir)&&kr(W,we.dir));if(xe)throw new ve("placement-invalid",`member ${F.name} lists the generated file ${I.path}, which sits inside member ${xe.name} (${xe.dir}); list it there`,o(`${I.pointer}/path`))}}let g=RV(a.records,".",null,"/records"),h=new Map,b=new Map;for(let F of[...g,...p.flatMap(Q=>Q.records)]){let Q=h.get(F.path);if(Q)throw new ve("declaration-invalid",`the record kind ${F.path} is already declared at ${Q.pointer}`,o(`${F.pointer}/kind`));if(h.set(F.path,F),F.name===null)continue;let I=b.get(F.name);if(I)throw new ve("declaration-invalid",`the record kind name ${JSON.stringify(F.name)} is already given at ${I.pointer}`,o(`${F.pointer}/name`));b.set(F.name,F)}for(let F of p){let Q=new Map;for(let B of F.box?.capabilities??[]){let W=Q.get(B.name);if(W)throw new ve("declaration-invalid",`member ${F.name}'s box lists the capability ${B.name} twice; the first is at ${W.pointer}`,o(`${B.pointer}/name`));Q.set(B.name,B)}let I=F.box?LV(F.name,F.box.services):null;if(I)throw new ve("declaration-invalid",I.message,o(I.pointer))}let w=Wme(p);if(w)throw new ve("declaration-invalid",w.message,o(w.pointer));let $=p.filter(F=>F.box?.replicate);if($.length>1)throw new ve("declaration-invalid",`members ${$[0].name} and ${$[1].name} both declare replicate in their box block; a checkout's work in progress goes to one remote, so a workspace has one replicate policy`,o($[1].box.replicate.pointer));let k=SV(a.diagrams,null,"/diagrams"),R=new Map;for(let F of[...k,...p.flatMap(Q=>Q.diagrams)]){let Q=R.get(F.name);if(Q)throw new ve("declaration-invalid",`the diagram name ${JSON.stringify(F.name)} is already used by the diagram at ${Q.pointer}`,o(`${F.pointer}/name`));R.set(F.name,F)}let x=Hme(a,p,o),_=jme(a.writeScope,p,o),T=Fme(a.agents,p,o),C=zme(p,T);if(C)throw new ve("declaration-invalid",C.message,o(C.pointer));let U=Mme(a.ci,o),O=(a.pins??[]).map(F=>({package:F.package??null,version:F.version??null,path:F.path??null,integrity:F.integrity??null})),pe={name:a.name,schema:a.schema,minReader:a.minReader??null,entries:u,members:p,groups:u.filter(F=>F.type==="group"),pins:O,checks:{...a.checks??{}},quorum:typeof a.quorum=="number"?a.quorum:null,records:g,diagrams:k,hosts:x,changes:Bme(a.changes),writeScope:_,agents:T,identity:Lme(a.identity),ci:U,file:t};return jV.set(pe,s),pe}function wm(e,t){let n=DV(jV.get(e),t);return n===null||typeof n!="object"||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(([i])=>i.startsWith("x-")))}function jme(e,t,n){if(e===void 0)return null;let i=e,r={};for(let[o,s]of Object.entries(i)){let a=`/writeScope/${o}`,c=s.members===void 0||s.members==="*"?null:[...s.members];for(let[d,p]of(c??[]).entries())if(!t.some(f=>f.name===p))throw new ve("declaration-invalid",`writeScope.${o} names the member ${JSON.stringify(p)}, which the declaration does not declare; declared members: ${t.map(f=>f.name).join(", ")||"none"}`,n(`${a}/members/${d}`));let l=s.records===void 0?null:Object.fromEntries(Object.entries(s.records).map(([d,p])=>[d,[...p]])),u=(s.protected??[]).map(d=>typeof d=="string"?{path:d,except:[]}:{path:d.path,except:[...d.except??[]]});r[o]={members:c,records:l,protected:u,pointer:a}}return r}function Lme(e){if(e===void 0)return null;let t=e,n={};for(let[i,r]of Object.entries(t.gates??{}))n[i]={gate:i,class:r.class??null,pointer:`/identity/gates/${i.replace(/~/g,"~0").replace(/\//g,"~1")}`};return{attribution:t.attribution??"any",gates:n}}function Mme(e,t){if(e===void 0)return null;let n=e;if(n.green===void 0)return{green:null};let i=n.green,r=Object.entries(i.phases).map(([o,s])=>({name:o,runs:[...Array.isArray(s)?s:s.runs],skipped:Array.isArray(s)?"fail":s.skipped??"fail",pointer:`/ci/green/phases/${td(o)}`}));for(let[o,s]of i.require.entries())if(!r.some(a=>a.name===s))throw new ve("declaration-invalid",`ci.green.require names the phase ${JSON.stringify(s)}, which ci.green.phases does not declare; declared phases: ${r.map(a=>a.name).join(", ")}`,t(`/ci/green/require/${o}`));return{green:{branch:i.branch,window:i.window??AV,phases:r,require:[...i.require],pointer:"/ci/green"}}}function Fme(e,t,n){let i=(e??[]).map((s,a)=>{let c=s.members!==void 0?[...s.members]:[s.member];return{name:s.name,members:c,member:c[0],principals:[...s.principals??[]],pointer:`/agents/${a}`,listed:s.members!==void 0}}),r=new Map,o=new Map;for(let{listed:s,...a}of i){let c=r.get(a.name);if(c)throw new ve("declaration-invalid",`the agent name ${JSON.stringify(a.name)} is already used by the agent at ${c.pointer}`,n(`${a.pointer}/name`));r.set(a.name,a);for(let[l,u]of a.members.entries())if(!t.some(d=>d.name===u))throw new ve("declaration-invalid",`agent ${a.name} is bound to ${JSON.stringify(u)}, which is not a declared member; an agent session is bound to members, not an example group`,n(s?`${a.pointer}/members/${l}`:`${a.pointer}/member`));for(let[l,u]of a.principals.entries()){let d=o.get(u);if(d)throw new ve("declaration-invalid",`the principal ${JSON.stringify(u)} is already listed by agent ${d.name}`,n(`${a.pointer}/principals/${l}`));o.set(u,a)}}return[...r.values()]}function Bme(e){return e===void 0?null:{severity:e.severity??"warn",ignore:[...e.ignore??[]]}}function RV(e,t,n,i){return(e??[]).map((r,o)=>({kind:r.kind,path:t==="."?r.kind:`${t}/${r.kind}`,name:r.name??null,member:n,pointer:`${i}/${o}`}))}function SV(e,t,n){return(e??[]).map((i,r)=>({name:i.name,title:i.title,source:i.source??null,render:i.render??null,renderer:{tool:i.renderer.tool,version:i.renderer.version,args:[...i.renderer.args??[]]},sourceHash:i.sourceHash??null,member:t,pointer:`${n}/${r}`}))}function Gme(e,t){if(e===void 0)return null;let n=e,i=n.factory,r=n.listing,o=n.replicate;return{capabilities:(n.capabilities??[]).map((s,a)=>({name:s.name,broker:s.broker??null,scope:[...s.scope??[]],pointer:`${t}/capabilities/${a}`})),isolation:n.host===void 0?null:{host:n.host,slot:n.slot,ports:{...n.ports??{}},state:{...n.state??{}},cookies:[...n.cookies??[]]},intent:n.intent??null,services:(n.services??[]).map((s,a)=>({name:s.name,cmd:s.cmd,needs:[...s.needs??[]],httpPort:s.httpPort??null,duration:s.duration??null,health:s.health??null,optional:s.optional??!1,pointer:`${t}/services/${a}`})),factory:i===void 0?null:{builds:[...i.builds],check:i.check===void 0?null:typeof i.check=="string"?{run:i.check,kind:"test"}:{run:i.check.run,kind:i.check.kind??"test"},checks:i.checks??null,builders:i.builders??null,tiers:(i.tiers??[]).map(s=>({tier:s.tier,agent:s.agent,kinds:s.kinds===void 0?null:[...s.kinds],session:s.session??null})),publish:i.publish===void 0?null:{forge:i.publish.forge??"github",repo:i.publish.repo,base:i.publish.base??null,branchPrefix:i.publish.branchPrefix??_V,head:i.publish.head??null},pointer:`${t}/factory`},listing:r===void 0?null:{published:r.published??!0,title:r.title??"",line:r.line??"",cover:r.cover??null},publisher:n.publisher??null,ship:n.ship===void 0?null:{op:n.ship.op,gate:n.ship.gate??PV,env:n.ship.env??OV,bookkeeping:(n.ship.bookkeeping??[]).map(s=>s.replace(/^\.\//,"").replace(/\/+$/,"")),pointer:`${t}/ship`},replicate:o===void 0?null:{remote:o.remote??CV,refs:O0.filter(s=>(o.refs??O0).includes(s)),on:C0.filter(s=>(o.on??C0).includes(s)),every:o.every??null,pointer:`${t}/replicate`},pointer:t}}function Wme(e){let t=e.filter(s=>s.box?.factory);if(t.length>1)return{message:`members ${t[0].name} and ${t[1].name} both declare a factory in their box block; a workspace has one factory, so an orchestrator reads one`,pointer:t[1].box.factory.pointer};let n=t[0]?.box?.factory;if(!n)return null;let i=()=>e.map(s=>s.name).join(", "),r=n.builds.findIndex(s=>!e.some(a=>a.name===s));if(r>=0)return{message:`the factory builds ${JSON.stringify(n.builds[r])}, which is not a declared member; declared members: ${i()}`,pointer:`${n.pointer}/builds/${r}`};if(n.builders!==null&&!e.some(s=>s.name===n.builders))return{message:`the factory's builders names ${JSON.stringify(n.builders)}, which is not a declared member; declared members: ${i()}`,pointer:`${n.pointer}/builders`};if(n.tiers.length>0&&n.builders===null)return{message:"the factory declares tiers and no builders; tiers name agents the builders member declares, so name it",pointer:`${n.pointer}/tiers`};let o=new Map;for(let[s,a]of n.tiers.entries())for(let c of a.kinds??[null]){let l=`${a.tier}\0${c??""}`,u=o.get(l);if(u!==void 0){let d=c===null?"with no kinds":`for kind ${c}`;return{message:`tiers/${u} and tiers/${s} both name a builder at tier ${a.tier} ${d}; a tier has one builder per kind, so one entry answers it`,pointer:`${n.pointer}/tiers/${s}`}}o.set(l,s)}return null}function zme(e,t){let n=e.find(i=>i.box?.factory)?.box?.factory;if(!n)return null;for(let[i,r]of n.tiers.entries())if(r.session!==null&&!t.some(o=>o.name===r.session)){let o=t.map(s=>s.name).join(", ")||"none";return{message:`tiers/${i} names the session ${JSON.stringify(r.session)}, which is not a declared agent session; declared sessions: ${o}`,pointer:`${n.pointer}/tiers/${i}/session`}}return null}function LV(e,t){let n=new Map;for(let o of t){let s=n.get(o.name);if(s)return{message:`member ${e}'s box declares the service ${o.name} twice; the first is at ${s.pointer}`,pointer:`${o.pointer}/name`};n.set(o.name,o)}let i;for(let o of t)if(o.httpPort!==null){if(i)return{message:`member ${e}'s box gives both ${i.name} (port ${i.httpPort}) and ${o.name} (port ${o.httpPort}) an httpPort, and the supervisor routes the sprite's URL to one service`,pointer:`${o.pointer}/httpPort`};i=o}for(let o of t){let s=o.needs.findIndex(a=>!n.has(a));if(s>=0){let a=t.map(c=>c.name).join(", ");return{message:`member ${e}'s box service ${o.name} needs ${JSON.stringify(o.needs[s])}, which the block does not declare; declared services: ${a}`,pointer:`${o.pointer}/needs/${s}`}}}let r=Ume(t);if(r){let o=n.get(r[0]);return{message:`member ${e}'s box services need each other in a cycle: ${r.join(" -> ")}`,pointer:`${o.pointer}/needs`}}return null}function Ume(e){let t=new Map(e.map(r=>[r.name,r])),n=new Map,i=(r,o)=>{let s=n.get(r);if(s==="done")return null;if(s==="visiting")return[...o.slice(o.indexOf(r)),r];n.set(r,"visiting");for(let a of t.get(r)?.needs??[]){let c=i(a,[...o,r]);if(c)return c}return n.set(r,"done"),null};for(let r of e){let o=i(r.name,[]);if(o)return o}return null}function Hme(e,t,n){let i=(e.hosts??[]).map((s,a)=>({name:s.name,ports:{...s.ports},stateRoot:s.stateRoot??null,pointer:`/hosts/${a}`})),r=(s,a)=>new ve("declaration-invalid",s,n(a)),o=new Map;for(let s of i){let a=o.get(s.name);if(a)throw r(`the host name ${JSON.stringify(s.name)} is already used by the host at ${a.pointer}`,`${s.pointer}/name`);if(o.set(s.name,s),s.ports.from>s.ports.to)throw r(`host ${s.name}'s port range starts at ${s.ports.from}, after its end ${s.ports.to}`,`${s.pointer}/ports`)}for(let s of t){let a=s.box?.isolation;if(!a)continue;let c=s.box.pointer,l=o.get(a.host);if(!l){let g=i.map(h=>h.name).join(", ")||"none are declared";throw r(`member ${s.name}'s box names the host ${JSON.stringify(a.host)}, which hosts does not declare; declared hosts: ${g}`,`${c}/host`)}let{from:u,to:d,perBox:p}=l.ports,f=u+(a.slot+1)*p-1;if(f>d){let g=Math.floor((d-u+1)/p);throw r(`member ${s.name}'s box has slot ${a.slot} on host ${l.name}, which needs ports ${u+a.slot*p} to ${f}, past the end of the host's range (${d}); the range holds ${g} slot${g===1?"":"s"}`,`${c}/slot`)}for(let[g,h]of Object.entries(a.ports))if(h>=p)throw r(`member ${s.name}'s box gives port ${g} offset ${h}, and host ${l.name} gives each box ${p} port${p===1?"":"s"} (offsets 0 to ${p-1})`,`${c}/ports/${td(g)}`)}return i}function Ni(e){return[...e.records,...e.members.flatMap(t=>t.records)]}function I0(e){return[...e.diagrams,...e.members.flatMap(t=>t.diagrams)]}function kr(e,t){return t==="."?!0:e===t||e.startsWith(`${t}/`)}function Lt(e,t="",n={}){let i=rd.map(r=>We(t,r)).filter(r=>e.stat(r)==="file");if(i.length===0)throw new ve("declaration-missing",`no ${rd.join(" or ")} in ${t||"the workspace root"}${e.label}`);if(i.length>1)throw new ve("declaration-ambiguous",`both ${i.join(" and ")} exist${e.label}; keep one of them`,{file:i[1],line:1,column:1});return NV(e.read(i[0]),i[0],Yt(),n)}function T0(e,t){for(let n=t;;n=n.includes("/")?n.slice(0,n.lastIndexOf("/")):""){if(rd.some(i=>e.stat(We(n,i))==="file"))return n;if(n==="")return}}function ya(e,t){let n=o=>({file:e.file,...o.globLocation}),i=new Map,r=[];for(let o of e.groups){let s=[...new Set(o.globs.flatMap(l=>lU(t,l)))].sort(),a=[],c=[];for(let l of s){if(!A0(t,l)){c.push(l);continue}let u=p=>new ve("placement-invalid",`group ${o.name} matches ${l}, ${p}`,n(o));for(let p of e.members)if(p.dir!=="."){if(p.dir===l)throw u(`which is member ${p.name}'s directory; a match is never a member`);if(kr(p.dir,l))throw u(`which contains member ${p.name} (${p.dir})`);if(p.kind==="workspace"&&kr(l,p.dir))throw u(`which sits inside the nested workspace ${p.name}; that workspace declares its own examples`)}let d=i.get(l);if(d)throw u(`which group ${d.name} also matches`);i.set(l,o),a.push(l)}r.push({group:o,matches:a,skipped:c})}return r}function MV(e,t,n){for(let r of t){let o=r.matches.find(s=>kr(n,s));if(o)return{group:r.group,match:o}}let i;for(let r of e.members)kr(n,r.dir)&&(!i||i.dir==="."||r.dir!=="."&&r.dir.length>i.dir.length)&&(i=r);return i?{member:i}:void 0}function rv(e,t){let n=[];for(let i of e.members)i.dir!=="."&&n.push({dir:i.dir,owner:i.name});for(let i of t)for(let r of i.matches)e.members.some(o=>o.dir!=="."&&kr(r,o.dir))||n.push({dir:r,owner:i.group.name});return n.sort((i,r)=>i.dir<r.dir?-1:i.dir>r.dir?1:0)}var Eme,rd,Ame,EV,Pme,uo,ve,Ome,Cme,AV,_me,PV,OV,O0,C0,CV,Ime,_V,IV,id,$V,_0,tv,Nme,jV,Pt=v(()=>{"use strict";iU();uU();lo();nd();Jt();bm();xV();Eme=rC.$id,rd=["chant.workspace.json","chant.workspace.jsonc"],Ame=1,EV=["_workspace","_members"],Pme=/^[a-z0-9][a-z0-9-]{0,39}$/,uo=["declaration-missing","declaration-ambiguous","declaration-unparseable","declaration-invalid","placement-invalid","reader-too-old","root-chant-required","not-a-git-repository","revision-unknown"],ve=class extends Error{constructor(n,i,r){super(i);this.code=n;this.location=r;this.name="WorkspaceReadError"}describe(){let n=this.location;return n?`${n.file}:${n.line}:${n.column}: ${this.message}`:this.message}},Ome=["human","agent","runner","service"],Cme=["new","amend","review","close"],AV="24h",_me=["d2","mermaid","graphviz","excalidraw"],PV="ship",OV="box",O0=["work","kept","wip","ledger"],C0=["save","release"],CV="origin",Ime=["test","build","lint","plan","conformance"],_V="chant/work/",IV="${XDG_STATE_HOME}/chant/boxes",id="@intentius/chant";_0=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z.-]+))?$/;Nme=new Set(["if","then","else","oneOf","anyOf"]);jV=new WeakMap});import{existsSync as Vme}from"node:fs";import{dirname as qme,join as Kme,relative as Jme,resolve as Zme,sep as Yme}from"node:path";function L0(e){return e.map(t=>`${FV}/${t}/`).join("")}function ii(e){let t=Zme(e),n=N0.get(t);return n||(n=Qme(t),N0.set(t,n),n.catch(()=>N0.delete(t))),n}function Xme(e,t){let n=Jme(e,t);return n===""?"":n.split(Yme).join("/")}async function Qme(e){let t=mr(e);return t?GV(t.dir,e):BV}async function GV(e,t){let{readDeclaration:n,resolveGroups:i,ownerOf:r,WorkspaceReadError:o}=await Promise.resolve().then(()=>(Pt(),D0)),{workingTree:s}=await Promise.resolve().then(()=>(Jt(),oC)),a;try{let d=s(e),p=n(d),f=r(p,i(p,d),Xme(e,t));a=f&&"member"in f&&f.member.dir!=="."?[f.member.name]:[]}catch(d){throw d instanceof o?new j0(`cannot place this project's lifecycle ledger: ${d.describe()}. A project inside a workspace writes under ${FV}/<member>/ on chant/lifecycle, and chant does not guess the member. Fix the declaration and retry.`):d}let c=BV,l=qme(e);if(l!==e&&!Vme(Kme(e,".git"))){let d=mr(l);d&&(c=await GV(d.dir,e))}let u=[...c.members,...a];return{members:u,prefix:L0(u)}}var FV,BV,j0,N0,ba=v(()=>{"use strict";Si();FV="_members",BV={members:[],prefix:""};j0=class extends Error{constructor(t){super(t),this.name="MemberLedgerError"}},N0=new Map});function M0(e){return e===od}var od,iv=v(()=>{"use strict";od="recorded locally (no remote for chant/lifecycle)"});var V0={};Oe(V0,{LifecycleLedgerUnreadableError:()=>vm,RefCASConflictError:()=>Ht,StaleLifecycleBranchError:()=>sd,StaleLockError:()=>Fc,appendReleaseRecordLine:()=>KV,deleteRefCAS:()=>ld,describeLifecyclePush:()=>U0,fetchLifecycle:()=>XV,fetchLifecycleStatus:()=>va,fetchRef:()=>uge,fetchRefInto:()=>nq,fetchRefIntoStatus:()=>sv,getHeadCommit:()=>av,getRemoteLifecycleBranchSha:()=>YV,gitLedgerReadPort:()=>fge,ledgerDir:()=>oi,listFilesInDir:()=>Gc,listLedgerEnvironments:()=>ZV,listLedgerTrees:()=>z0,listSnapshots:()=>sge,pushLifecycle:()=>Wc,pushLifecycleReport:()=>wa,pushLifecycleStatus:()=>ad,pushRef:()=>lge,pushRefStatus:()=>km,readBlobBySha:()=>fn,readBlobFromPath:()=>nn,readEnvironmentSnapshots:()=>oge,readPathSha:()=>xr,readRefSha:()=>zc,readReleaseLedgerLines:()=>JV,readSnapshot:()=>qV,readSnapshotAt:()=>ige,requireLifecycleLedger:()=>si,snapshotStorageKey:()=>HV,updateRefCAS:()=>cd,writeBlob:()=>H0,writeBlobToPath:()=>An,writeLedgerFiles:()=>W0,writeSnapshot:()=>VV});async function oi(e,t){return`${await ege(t)}${e}`}async function ege(e){return e?.ledgerPrefix!==void 0?e.ledgerPrefix:e?.member!==void 0?L0((typeof e.member=="string"?[e.member]:[...e.member]).filter(t=>t!==".")):(await ii(e?.cwd??process.cwd())).prefix}async function rge(e){let t=rt();if((await t.spawn(["git","var","GIT_COMMITTER_IDENT"],{cwd:e,env:ji})).exitCode===0)return[];let i=[];for(let[r,o,s]of[["user.name","CHANT_LIFECYCLE_COMMITTER_NAME",tge],["user.email","CHANT_LIFECYCLE_COMMITTER_EMAIL",nge]]){let a=await t.spawn(["git","config","--get",r],{cwd:e,env:ji});a.exitCode===0&&a.stdout.trim()!==""||i.push("-c",`${r}=${process.env[o]?.trim()||s}`)}return i}function F0(e,t,n){return new Error(`cannot write ${t} on the ${ht} branch: ${e} failed: ${(n??"").trim()}`)}async function An(e,t,n,i,r){let o=await oi(e,r);return W0([{path:`${o}/${t}`,content:n,...r?.expectPriorPathSha!==void 0?{expectPriorSha:r.expectPriorPathSha}:{}}],i,r)}async function W0(e,t,n){let i=rt(),r=n?.cwd;if(e.length===0)throw new Error("writeLedgerFiles needs at least one file");let o=e[0].path;for(let u of e){let d=u.path.split("/");if(d.length<2||d.some(p=>p===""))throw new Error(`cannot write ${u.path} on the ${ht} branch: a ledger path is <dir>/<file>`)}let s=[];for(let u of e){let d=await i.spawn(["git","hash-object","-w","--stdin"],{cwd:r,stdin:u.content});if(d.exitCode!==0)throw F0("git hash-object",u.path,d.stderr);s.push({path:u.path,sha:d.stdout.trim()})}let a=await rge(r);await Bc(r)===null&&await si({...r?{cwd:r}:{}});let c=new Map(e.map(u=>[u.path,u.expectPriorSha])),l;for(let u=1;u<=UV;u++){let d=await Bc(r),p=new Map,f=async R=>{let x=p.get(R);return x||(x=d?await dge(d,R,r):new Map,p.set(R,x)),x};for(let R of s){let{dir:x,name:_}=WV(R.path),T=(await f(x)).get(_),C=T?.type==="blob"?T.sha:null,U=c.get(R.path);if(U!==void 0&&C!==U)throw l??new Ht(`refs/heads/${ht}`,U,"target path changed concurrently");c.set(R.path,C)}for(let R of s){let{dir:x,name:_}=WV(R.path);(await f(x)).set(_,{mode:"100644",type:"blob",sha:R.sha});for(let T=x;T!=="";T=B0(T))await f(B0(T))}let g=[...p.keys()].sort((R,x)=>zV(x)-zV(R)||(R<x?-1:1)),h="";for(let R of g){let x=[...p.get(R)].map(([C,U])=>`${U.mode} ${U.type} ${U.sha} ${C}`).join(`
72
72
  `),_=await i.spawn(["git","mktree"],{cwd:r,stdin:`${x}
73
73
  `});if(_.exitCode!==0)throw F0(`git mktree (${R===""?"root":R})`,o,_.stderr);let T=_.stdout.trim();R===""?h=T:p.get(B0(R)).set(pge(R),{mode:"040000",type:"tree",sha:T})}let b=d,w=b?["-p",b]:[],$=await i.spawn(["git",...a,"commit-tree",...w,"-m",t,h],{cwd:r});if($.exitCode!==0)throw F0("git commit-tree",o,$.stderr);let k=$.stdout.trim();try{return await cd(`refs/heads/${ht}`,k,b,{cwd:r}),k}catch(R){if(!(R instanceof Ht))throw R;l=R}}throw l}async function nn(e,t,n){let i=rt(),r=await oi(e,n),o=await i.spawn(["git","show",`${ht}:${r}/${t}`],{cwd:n?.cwd});return o.exitCode!==0?null:o.stdout}async function xr(e,t,n){let i=rt(),r=await oi(e,n),o=await i.spawn(["git","rev-parse","--verify",`${ht}:${r}/${t}`],{cwd:n?.cwd});return o.exitCode!==0?null:o.stdout.trim()||null}function HV(e,t){return t?`${t}__${e}`:e}async function VV(e,t,n,i){return An(e,`${t}.json`,n,"State snapshot",i)}async function qV(e,t,n){return nn(e,`${t}.json`,n)}async function ige(e,t,n,i){let r=rt(),o=await oi(e,i),s=await r.spawn(["git","show",`${n}:${o}/${t}.json`],{cwd:i?.cwd});return s.exitCode!==0?null:s.stdout}async function KV(e,t,n){let i="releases.jsonl",r;for(let o=1;o<=UV;o++)try{let s=await xr(e,i,n),a=s?await fn(s,n):null,c=`${a?`${a.replace(/\n$/,"")}
74
74
  `:""}${t}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant",
3
- "version": "0.124.20",
3
+ "version": "0.124.21",
4
4
  "description": "Declarative infrastructure-as-code toolkit — TypeScript on Node.js",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",