@adhd/backlog 0.0.1 → 0.1.0

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.
package/index.js CHANGED
@@ -1,179 +1,191 @@
1
- "use strict";var hf=Object.create;var ci=Object.defineProperty;var mf=Object.getOwnPropertyDescriptor;var gf=Object.getOwnPropertyNames;var yf=Object.getPrototypeOf,vf=Object.prototype.hasOwnProperty;var $f=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of gf(e))!vf.call(t,s)&&s!==n&&ci(t,s,{get:()=>e[s],enumerable:!(r=mf(e,s))||r.enumerable});return t};var wf=(t,e,n)=>(n=t!=null?hf(yf(t)):{},$f(e||!t||!t.__esModule?ci(n,"default",{value:t,enumerable:!0}):n,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("node:fs"),bf=require("node:url"),q=require("node:path"),ui=require("ts-morph"),at=require("ts-json-schema-generator"),Ef=require("fastify"),We=require("pino"),Fa=require("ajv"),qa=require("ajv-formats"),li=require("node:http"),Sf=require("@modelcontextprotocol/sdk/server/index.js"),Nf=require("@modelcontextprotocol/sdk/server/stdio.js"),Of=require("@modelcontextprotocol/sdk/server/sse.js"),_f=require("@modelcontextprotocol/sdk/server/streamableHttp.js"),fi=require("@modelcontextprotocol/sdk/types.js"),kf=require("better-sqlite3"),If=require("@adhd/sox-graph-store"),Jn=require("node:os"),Af=require("node:crypto");var Rr=typeof document<"u"?document.currentScript:null;function Pf(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const jf=Pf(q),Ka=new Set(["FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED"]),za=new Set(["MITIGATED"]),Ga=new Set(["SUPERSEDED","INVALID","DUPLICATE","WONTFIX"]),Ps=new Set(["FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED","MITIGATED","SUPERSEDED","INVALID","DUPLICATE","WONTFIX"]);function je(t){return Ps.has(t)}function js(t){return Ka.has(t)||za.has(t)}function xs(t){return Ga.has(t)}class ye extends Error{constructor(e,n){super(`backlog item not found: ${e}::${n}`),this.name="BacklogItemNotFoundError"}}class Wa extends Error{constructor(e){super(`transition to terminal status "${e}" requires at least one citation (either already attached via addCitation or passed inline to transitionStatus/resolveItem) — per the global CLAUDE.md rule "No citation, no claim."`),this.name="CitationRequiredError"}}class Ha extends Error{constructor(e){super(`transition to terminal-dismissed status "${e}" requires a reason string`),this.name="ReasonRequiredError"}}class Ja extends Error{constructor(e,n){super(`item is claimed by "${e}" since ${n} (not stale) — cannot start work`),this.heldBy=e,this.heldSince=n,this.name="ClaimHeldError"}}class xf extends Error{constructor(e){super(`dependency cycle detected: ${e.join(" -> ")}`),this.cycle=e,this.name="DependencyCycleError"}}const Ie="backlog-item",di="backlog-plan",pi="backlog-assignee",Tf="adhd-backlog:";function rr(t){return t.split("-")[0]??t}function sr(t){return t.replace(/-\d+$/,"")}function Qa(t,e,n,r){return`${n}
1
+ #!/usr/bin/env node
2
+ "use strict";var mp=Object.create;var Yi=Object.defineProperty;var gp=Object.getOwnPropertyDescriptor;var yp=Object.getOwnPropertyNames;var vp=Object.getPrototypeOf,$p=Object.prototype.hasOwnProperty;var wp=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yp(t))!$p.call(e,o)&&o!==n&&Yi(e,o,{get:()=>t[o],enumerable:!(r=gp(t,o))||r.enumerable});return e};var bp=(e,t,n)=>(n=e!=null?mp(vp(e)):{},wp(t||!e||!e.__esModule?Yi(n,"default",{value:e,enumerable:!0}):n,e));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=require("node:fs"),fr=require("node:url"),Qi=require("ts-morph"),D=require("node:path"),dt=require("ts-json-schema-generator"),Ee=require("pino"),os=require("ajv"),ss=require("ajv-formats"),Ep=require("better-sqlite3"),Sp=require("@adhd/sox-graph-store"),Lt=require("node:os"),au=require("node:crypto"),Op=require("fastify"),Zi=require("node:http"),Np=require("@modelcontextprotocol/sdk/server/index.js"),_p=require("@modelcontextprotocol/sdk/server/stdio.js"),kp=require("@modelcontextprotocol/sdk/server/sse.js"),Ap=require("@modelcontextprotocol/sdk/server/streamableHttp.js"),Xi=require("@modelcontextprotocol/sdk/types.js"),ea=require("yaml");var Se=typeof document<"u"?document.currentScript:null;function Ip(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const ho=Ip(D),mo="$apigen";let ta=class extends Error{constructor(t){super(t),this.code="E_DUP_CODEC",this.name="CodecRegistryError"}};function jp(e){const t=new Map;return{register(n,r){if(t.has(n.id)&&!(r!=null&&r.override))throw new ta(`E_DUP_CODEC: a codec is already registered for id "${n.id}"`);t.set(n.id,n)},resolve(n){for(const r of t.values())if(r.matches(n))return r},get(n){return t.get(n)},ids(){return[...t.keys()]},freeze(){const n=new Map(t),r={register(){throw new ta("E_DUP_CODEC: registry is frozen and cannot accept new codecs")},resolve(o){for(const s of n.values())if(s.matches(o))return s},get(o){return n.get(o)},ids(){return[...n.keys()]},freeze(){return r}};return r}}}const is="x-apigen-logical",as="x-apigen-codec",go="x-apigen-ctor",yo="x-apigen-tojson",Pp="0.1.0";function na(e,t){return{registry:e,resolve:n=>{throw new Error(`[apigen-logical] $ref "${n}" cannot be resolved in run-mode without a descriptor root. Supply a resolve() in the ctx override to handle $ref.`)},seen:new WeakSet,path:"",mode:"strict",...t}}function kt(e,t,n){const r=n.registry.resolve(t);if(r)return r.encode(e,t,n);const o=t.$ref;if(typeof o=="string"){const a=n.resolve(o);return kt(e,a,n)}const s=t.oneOf;if(Array.isArray(s)){const a=cu(e,s,t);return kt(e,a,n)}const i=t.type;if(i==="array"){if(!Array.isArray(e))return Wr(e,t,n);const a=t.items;if(!a)return e.map(u=>pt(u));const c=n.path;return Array.isArray(a)?e.map((u,l)=>{const f=a[l];return f===void 0?pt(u):kt(u,f,{...n,path:`${c}/${l}`})}):e.map((u,l)=>kt(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(e===null||typeof e!="object"||Array.isArray(e))return Wr(e,t,n);const a=t.properties;if(!a)return pt(e);const c=n.path,u={};for(const[l,f]of Object.entries(a)){const p=e[l];p!==void 0&&(u[l]=kt(p,f,{...n,path:`${c}/${l}`}))}return u}return i==null?Wr(e,t,n):pt(e)}function At(e,t,n){const r=n.registry.resolve(t);if(r)return r.decode(e,t,n);const o=t.$ref;if(typeof o=="string"){const a=n.resolve(o);return At(e,a,n)}const s=t.oneOf;if(Array.isArray(s)){const a=cu(e,s,t);return At(e,a,n)}const i=t.type;if(i==="array"){if(!Array.isArray(e))return e;const a=t.items;if(!a)return e;const c=n.path;return Array.isArray(a)?e.map((u,l)=>{const f=a[l];return f===void 0?u:At(u,f,{...n,path:`${c}/${l}`})}):e.map((u,l)=>At(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(e===null||typeof e!="object"||Array.isArray(e))return e;const a=t.properties;if(!a)return e;const c=n.path,u={};for(const[l,f]of Object.entries(a)){const p=e[l];p!==void 0&&(u[l]=At(p,f,{...n,path:`${c}/${l}`}))}return u}return i==null?xp(e,n):e}function cu(e,t,n,r){const o=n.discriminator;if(o!=null&&o.propertyName){const s=e!==null&&typeof e=="object"?e[o.propertyName]:void 0;if(typeof s=="string"&&o.mapping){const i=o.mapping[s];if(i){const a=t.find(c=>c.$ref===i);if(a)return a}}}return t[0]??{}}function Wr(e,t,n){for(const r of n.registry.ids()){const o=n.registry.get(r);if(o)try{const s=o.encode(e,o.schema,n);return{[mo]:r,v:s}}catch{}}return pt(e)}function xp(e,t){if(e!==null&&typeof e=="object"&&!Array.isArray(e)&&mo in e){const n=e,r=n[mo],o=t.registry.get(r);if(o)return o.decode(n.v,o.schema,t)}return e}function pt(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(pt);if(typeof e=="object"){const t={};for(const[n,r]of Object.entries(e))r!==void 0&&(t[n]=pt(r));return t}return null}function Tp(e){return{encode(t,n,r){const o=na(e,r);return kt(t,n,o)},decode(t,n,r){const o=na(e,r);return At(t,n,o)}}}const cs={id:"date-time",kind:"scalar",schema:{type:"string",format:"date-time"},matches(e){return e.type==="string"&&e.format==="date-time"},encode(e,t,n){return e.toISOString()},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[date-time] expected a string on the wire at "${n.path}", got ${typeof e}`);return new Date(String(e))}if(n.mode==="strict"&&Number.isNaN(new Date(e).getTime()))throw new TypeError(`[date-time] invalid date-time string at "${n.path}": ${JSON.stringify(e)}`);return new Date(e)}},us={id:"int64",kind:"scalar",schema:{type:"string",format:"int64"},matches(e){return e.type==="string"&&e.format==="int64"},encode(e,t,n){return String(e)},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[int64] expected a string on the wire at "${n.path}", got ${typeof e}`);try{return BigInt(Math.trunc(Number(e)))}catch{return BigInt(0)}}if(n.mode==="strict")return BigInt(e);if(/^-?\d+$/.test(e))try{return BigInt(e)}catch{return BigInt(0)}return BigInt(0)}},ls={id:"decimal",kind:"scalar",schema:{type:"string",format:"decimal"},matches(e){return e.type==="string"&&e.format==="decimal"},encode(e,t,n){return e},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[decimal] expected a string on the wire at "${n.path}", got ${typeof e}`);return String(e)}if(n.mode==="strict"&&!/^-?\d+(\.\d+)?$/.test(e))throw new TypeError(`[decimal] wire value "${e}" at "${n.path}" is not a valid decimal string`);return e}},fs={id:"byte",kind:"scalar",schema:{type:"string",format:"byte"},matches(e){return e.type==="string"&&e.format==="byte"},encode(e,t,n){return Buffer.from(e).toString("base64")},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[byte] expected a base64 string on the wire at "${n.path}", got ${typeof e}`);return new Uint8Array(0)}if(n.mode==="strict"&&!/^[A-Za-z0-9+/]*={0,2}$/.test(e))throw new TypeError(`[byte] wire value at "${n.path}" is not standard base64 (format:byte): "${e}"`);return new Uint8Array(Buffer.from(e,"base64"))}},Cp=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,ds={id:"uuid",kind:"scalar",schema:{type:"string",format:"uuid"},matches(e){return e.type==="string"&&e.format==="uuid"},encode(e,t,n){return e.toLowerCase()},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[uuid] expected a string on the wire at "${n.path}", got ${typeof e}`);return String(e).toLowerCase()}if(n.mode==="strict"&&!Cp.test(e))throw new TypeError(`[uuid] wire value "${e}" at "${n.path}" is not a lowercase-hyphenated RFC 4122 UUID`);return e}},vo="NaN",$o="Infinity",wo="-Infinity",Rp=new Set([vo,$o,wo]),ps={id:"number-special",kind:"scalar",schema:{type:"number"},matches(e){return e.type==="number"&&e.format===void 0},encode(e,t,n){return Number.isNaN(e)?vo:e===1/0?$o:e===-1/0?wo:e},decode(e,t,n){if(typeof e=="number")return e;if(typeof e=="string"){if(e===vo)return NaN;if(e===$o)return 1/0;if(e===wo)return-1/0;const r=Number(e);if(!Number.isNaN(r))return r}if(n.mode==="strict")throw new TypeError(`[number-special] unrecognized wire value at "${n.path}": ${JSON.stringify(e)}. Expected a number or one of ${[...Rp].join(", ")}.`);return NaN}},Mp=[cs,us,ls,fs,ds,ps];function Dp(e,t={}){for(const n of Mp)e.register(n,{override:t.override??!1})}cs.id,us.id,ls.id,fs.id,ds.id,ps.id;const uu=jp();Dp(uu);const lu=Tp(uu.freeze());function fu(e,t){var n;const r=((n=e.input)==null?void 0:n.properties)??{};return t in r}function bo(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data;return Object.keys((r==null?void 0:r.properties)??{})}function Lp(e,t){var n,r,o;const s=(o=(r=(n=e.input)==null?void 0:n.properties)==null?void 0:r.data)==null?void 0:o.properties,i=s==null?void 0:s[t];return i!==void 0?i:void 0}function Bp(e,t){return t===void 0||e===void 0?e:lu.decode(e,t)}function Hr(e,t){const n=t.output;return!n||Object.keys(n).length===0?e:lu.encode(e,n)}async function Up(e,t,n,r,o,s){const i=bo(n).map(c=>Bp(s[c],Lp(n,c)));if(fu(n,"session")&&t){const c=await t({session:o.session}),u=await e[r](c,...i);return Hr(u,n)}if(n.hasCtx){const c=t?await t(o):void 0,u=await e[r](c,...i);return Hr(u,n)}const a=await e[r](...i);return Hr(a,n)}let Fp=class{constructor(){this._map=new Map}set(t,n){this._map.set(t,n)}get(t){return this._map.get(t)}has(t){return this._map.has(t)}};function Vp(e=[]){return async function(t,n,r){const o=r.schemas[t];if(!o)throw new Error(`apigen/invoke: no schema found for operation "${t}"`);const s=()=>Up(r.fns,r.createClient,o,t,n.envelope,n.domainArgs);return e.reduceRight((i,a)=>()=>a(n,i),s)()}}const qp={"decimal.js":"Decimal"};function Kp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(qp).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${Kp(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function Gp(e={}){const t=e.level??"info",n=typeof e.destination=="string"&&e.destination.length>0,r=!n&&!!process.stderr.isTTY,o=e.format??(r?"pretty":"json"),s={level:t};if(o==="pretty")return s.transport={target:"pino-pretty",options:{colorize:!n,translateTime:"SYS:HH:MM:ss.l",ignore:"pid,hostname",...n?{destination:e.destination,mkdir:!0}:{destination:2}}},Ee(s);const i=n?Ee.destination({dest:e.destination,mkdir:!0,sync:!0}):Ee.destination(2);return Ee(s,i)}function du(e){return e?e.type==="array"?`${du(e.items)}[]`:e.enum?"enum":e.$ref?String(e.$ref).split("/").pop()||"object":e.anyOf||e.oneOf?"union":e.type??"object":"unknown"}function zp(e){var t;const n=(t=((e==null?void 0:e.input)??{}).properties)==null?void 0:t.data,r=(n==null?void 0:n.properties)??{},o=new Set((n==null?void 0:n.required)??[]),s=Object.entries(r).map(([a,c])=>({name:a,type:du(c),required:o.has(a)})),i=s.map(a=>`${a.name}${a.required?"":"?"}: ${a.type}`).join(", ");return{params:s,text:i}}let Wp=class extends Error{constructor(t,n,r){super(n),this.name="ApiError",this.code=t,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){const t={code:this.code,message:this.message};return this.details!==void 0&&(t.details=this.details),t}};const dr=new os({allErrors:!0});ss(dr);for(const e of[is,as,go,yo,"discriminator"])dr.addKeyword({keyword:e,valid:!0});dr.addFormat("decimal",/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/);function Hp(e){return e.map(t=>`${t.instancePath||"(root)"} ${t.message??"failed schema check"}`).join("; ")}function Jp(e){return async function(t,n){const r=t.operation.id,o=e[r];if(o===void 0)return n();const s={data:t.domainArgs,...t.envelope},i=dr.compile(o.input);if(!i(s)){const a=i.errors??[];throw new Wp("invalid_argument",`Validation failed: ${Hp(a)}`,a)}return n()}}function Yp(e){return e!==null&&typeof e=="object"&&Symbol.asyncIterator in e}let rt=class extends Error{constructor(t,n){super(n),this.name="UnionCodecError",this.code=t}};function Jr(e){const t=e.discriminator;if(t===null||typeof t!="object"||Array.isArray(t))return;const n=t;if(typeof n.propertyName!="string")return;const r=n.mapping;if(!(r===null||typeof r!="object"||Array.isArray(r)))return{propertyName:n.propertyName,mapping:r}}function pu(e,t){const n=e[as];if(typeof n=="string"){const r=t.registry.get(n);if(r)return r}return t.registry.resolve(e)}function Qp(e,t,n){const r=pu(t,n);return r?r.encode(e,t,n):e}function Zp(e,t,n){const r=pu(t,n);return r?r.decode(e,t,n):e}function Xp(e){const{id:t,schema:n}=e;return{id:t,kind:"union",schema:n,matches(r){if(r[is]==="union")return!0;const o=r.oneOf;return!Array.isArray(o)||o.length===0?!1:Jr(r)!==void 0},encode(r,o,s){const i=Jr(o);if(!i)throw new rt("E_UNION_NO_DISCRIMINATOR",`[${t}] schema node at "${s.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:a,mapping:c}=i,u=r[a];if(u==null)throw new rt("E_UNION_NO_DISCRIMINATOR",`[${t}] value at "${s.path}" is missing the discriminator property "${a}".`);const l=String(u),f=c[l];if(!f)throw new rt("E_UNION_UNKNOWN_TAG",`[${t}] discriminator tag "${l}" at "${s.path}" is not in the mapping (known: ${Object.keys(c).join(", ")}).`);const p=s.resolve(f);return Qp(r,p,{...s,path:`${s.path}[${l}]`})},decode(r,o,s){if(r===null||typeof r!="object"||Array.isArray(r)){let d;throw r===null?d="null":Array.isArray(r)?d="array":d=typeof r,new rt("E_UNION_INVALID_WIRE",`[${t}] expected a JSON object on the wire at "${s.path}", got ${d}.`)}const i=r,a=Jr(o);if(!a)throw new rt("E_UNION_NO_DISCRIMINATOR",`[${t}] schema node at "${s.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:c,mapping:u}=a,l=i[c];if(l==null)throw new rt("E_UNION_NO_DISCRIMINATOR",`[${t}] wire object at "${s.path}" is missing the discriminator property "${c}".`);const f=String(l),p=u[f];if(!p)throw new rt("E_UNION_UNKNOWN_TAG",`[${t}] discriminator tag "${f}" on the wire at "${s.path}" is not in the mapping (known: ${Object.keys(u).join(", ")}).`);const h=s.resolve(p);return Zp(r,h,{...s,path:`${s.path}[${f}]`})}}}const eh="x-apigen-instances";let _n=class extends Error{constructor(t,n){super(n),this.name="NominalCodecError",this.code=t}};function ra(e){const t=e.properties;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function th(e){const t=e.required;return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}function oa(e,t,n){if(t){const r=n.registry.resolve(t);if(r)return r.encode(e,t,n)}return e}function nh(e,t,n){if(t){const r=n.registry.resolve(t);if(r)return r.decode(e,t,n)}return e}function rh(e){const{id:t,schema:n,ctor:r}=e;return{id:t,kind:"nominal",schema:n,matches(o){return o[is]==="nominal"?!0:o[as]===t},encode(o,s,i){if(o===null||typeof o!="object")return o;if(i.seen.has(o)){if(i.mode==="strict")throw new _n("E_NOMINAL_CYCLE",`[${t}] cycle detected at "${i.path}": a nominal instance references itself. Strict mode rejects cycles (DESIGN §8.3); break the cycle or use 'lossy' mode.`);return null}i.seen.add(o);try{const a=ra(s),c=typeof s[yo]=="string"?s[yo]:"toJSON",u=o[c];if(typeof u=="function"){const d=u.call(o);if(d!==null&&typeof d=="object"&&!Array.isArray(d)){const v={};for(const[m,y]of Object.entries(d))v[m]=oa(y,a[m],{...i,path:`${i.path}/${m}`});return v}return d}const l={},f=Object.keys(a),p=o,h=f.length>0?f:Object.keys(p);for(const d of h){const v=p[d];v!==void 0&&(l[d]=oa(v,a[d],{...i,path:`${i.path}/${d}`}))}return l}finally{i.seen.delete(o)}},decode(o,s,i){if(o===null||typeof o!="object"||Array.isArray(o)){let l;throw o===null?l="null":Array.isArray(o)?l="array":l=typeof o,new _n("E_NOMINAL_INVALID_WIRE",`[${t}] expected a JSON object on the wire at "${i.path}", got ${l}.`)}const a=o;for(const l of th(s))if(!(l in a))throw new _n("E_NOMINAL_INVALID_WIRE",`[${t}] required field "${l}" missing on the wire at "${i.path}".`);if(s[eh]===!1)throw new _n("E_NOMINAL_NONRECONSTRUCTABLE",`[${t}] is encode-only: the extractor marked it non-reconstructable (x-apigen-instances:false). It cannot be decoded back to a live instance.`);const c=ra(s),u={};for(const[l,f]of Object.entries(a))u[l]=nh(f,c[l],{...i,path:`${i.path}/${l}`});if(r){const l=typeof s[go]=="string"?s[go]:"fromJSON",f=r[l];if(typeof f=="function")return f.call(r,u);const p=r;return new p(u)}return u}}}const oh=[cs,us,ls,fs,ds,ps],sh={type:"object","x-apigen-logical":"nominal","x-apigen-codec":"ts.NominalSentinel"},sa=rh({id:"ts.NominalSentinel",schema:sh}),ih={oneOf:[],discriminator:{propertyName:"kind",mapping:{}},"x-apigen-logical":"union","x-apigen-codec":"ts.UnionSentinel"},ia=Xp({id:"ts.UnionSentinel",schema:ih});function ah(){const e=[...oh.map(t=>[t.id,t]),[sa.id,sa],[ia.id,ia]];return Object.freeze(new Map(e))}Object.freeze({host:"ts",logicalTypeVersion:Pp,codecs:ah()});const aa=new Set(["string","number","boolean","integer"]);function ch(e){if(typeof e!="object"||e===null)return!1;const t=e;if(t.$ref!==void 0||t.oneOf||t.anyOf||t.allOf)return!1;const{type:n}=t;return typeof n=="string"?aa.has(n):Array.isArray(n)?n.every(r=>aa.has(r)||r==="null"):Array.isArray(t.enum)&&t.enum.length>0?t.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function uh(e){if(!e||typeof e!="object")return!1;const t=e.properties;return t===void 0||typeof t!="object"||t===null?!1:Object.values(t).every(ch)}const lh={"decimal.js":"Decimal"};function fh(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(lh).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${fh(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function ca(e){return e.words.join("-")}function ua(e){return e.words.map(gh).join("")}function la(e){return e.words.join("_")}function dh(e,t={}){var n,r;const o=[e.namespace,...e.path],s=e.safe||uh(e.input)?"GET":"POST",i=((r=(n=t.http)==null?void 0:n.verb)==null?void 0:r[e.id])??s,a="/"+o.map(h=>ca(h)).join("/"),c=o.map(h=>la(h)).join("_"),u=o.map(h=>la(h)).slice(0,-1).join("."),l=ua(o[o.length-2]??o[0]),f=ua(o[o.length-1]),p=o.map(h=>ca(h));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:p}}}function ph(e,t){return`x-${e}-${t}`}function hh(e,t){return`--${e}-${t}`}function mh(e,t){const n=r=>r.toUpperCase().replace(/-/g,"_");return e==="adhd"?`APIGEN_${n(t)}`:`APIGEN_${n(e)}_${n(t)}`}function gh(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function hu(e){return e.anyOf??e.oneOf}function yh(e){if(!e)return!1;if(e.type==="array"||e.type==="object")return!0;const t=hu(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="array"||r.type==="object")}return!1}function vh(e){if(!e)return!1;if(e.type==="boolean")return!0;const t=hu(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="boolean")}return!1}function $h(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function wh(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data,o=(r==null?void 0:r.properties)??{},s=(r==null?void 0:r.required)??[];return{props:o,required:s}}function fa(e){return typeof e.handler=="function"}function bh(e){var t;const n=((t=e.input)==null?void 0:t.properties)??{},r=e["x-apigen-envelope"],o=[];for(const s of Object.keys(n)){if(s==="data")continue;const i=(r==null?void 0:r[s])??"adhd",a=ph(i,s);o.push({field:s,pluginId:i,httpHeader:a,mcpMetaKey:a,cliFlag:hh(i,s),envVar:mh(i,s)})}return o}function Eh(e,t){const n=new Map,{props:r}=wh(e);for(const[o,s]of Object.entries(r)){let i="string";vh(s)?i="boolean":yh(s)&&(i="json"),n.set($h(o),{camelKey:o,kind:"domain",valueKind:i})}for(const o of t){const s=o.cliFlag.replace(/^--/,"");n.set(s,{camelKey:o.field,kind:"envelope",valueKind:"string",envVar:o.envVar})}return n}function mu(e){const{op:t,schema:n,transport:r,projection:o}=e,s=dh(t,o),i=n?bh(n):[],a=n?Eh(n,i):new Map,c=n?zp(n).params:void 0,u={op:t,transport:r,http:s.http,mcp:s.mcp,cli:s.cli,grpc:s.grpc,params:c,envelope:i,cliFlags:a,streaming:t.streaming,isMount:fa(t)};if(fa(t)){const l=t.handler;u.mountHandler=async f=>l(f)}return u}function Sh(e){const t=e.usePlugins;return Array.isArray(t)?t:[]}function Oh(e){const t=e.useOptions;return t&&typeof t=="object"?t:{}}function Nh(e){return async function(t,n){const r=Object.assign(t,{data:t.domainArgs});return await e.layer(r,n)}}function da(e,t){var n;const r=[];for(const o of t){const s=(n=o.capabilities)==null?void 0:n.layer;s&&r.push(Nh(s))}return r.push(Jp(e)),Vp(r)}function _h(){const e=new Map;return{get:t=>e.get(t),set:(t,n)=>{e.set(t,n)}}}const kh={input:{type:"object",properties:{data:{type:"object",properties:{}}}},output:{}};async function pa(e,t,n,r){const o={...n,operation:{id:e.op.id},ctx:new Fp};if(e.isMount){const s=e.mountHandler;if(!s)throw new Error(`apigen-engine-runtime/dispatchForPlan: OpPlan for mount op "${e.op.id}" has isMount=true but no mountHandler`);const i={operation:e.op,data:n.domainArgs,envelope:n.envelope,ctx:_h(),transport:e.transport,signal:n.signal??new AbortController().signal},a={...r,fns:{[e.op.id]:()=>s(i)},schemas:{[e.op.id]:kh}};return t(e.op.id,o,a)}return t(e.op.id,o,r)}const Ah={"decimal.js":"Decimal"};function Ih(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(Ah).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${Ih(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function jh(e,t){return`--${e}-${t}`}function Ph(e,t){const n=r=>r.toUpperCase().replace(/-/g,"_");return e==="adhd"?`APIGEN_${n(t)}`:`APIGEN_${n(e)}_${n(t)}`}function ha(e){let t=e.replace(/[^a-zA-Z0-9_$]/g,"_");return(t===""||/^[0-9]/.test(t))&&(t=`_${t}`),t}const xh=["invalid_argument","unauthenticated","permission_denied","not_found","internal"],ma={invalid_argument:2,unauthenticated:3,permission_denied:3,not_found:4,internal:1};let tr=class extends Error{constructor(t,n,r){super(n),this.name="ApiError",this.code=t,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){const t={code:this.code,message:this.message};return this.details!==void 0&&(t.details=this.details),t}};function ga(e){return typeof e=="object"&&e!==null&&e.name==="ApiError"&&xh.includes(e.code)&&typeof e.toJSON=="function"}function gu(e){return e.anyOf??e.oneOf}function Th(e){var t;const n=((t=e.input)==null?void 0:t.properties)??{},r=e["x-apigen-envelope"],o=[];for(const s of Object.keys(n)){if(s==="data")continue;const i=(r==null?void 0:r[s])??"adhd";o.push({field:s,pluginId:i,flag:jh(i,s),envVar:Ph(i,s)})}return o}function ya(e){if(!e)return!1;if(e.type==="array"||e.type==="object")return!0;const t=gu(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="array"||r.type==="object")}return!1}function Ch(e){if(!e)return!1;if(e.type==="boolean")return!0;const t=gu(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="boolean")}return!1}function va(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data,o=(r==null?void 0:r.properties)??{},s=(r==null?void 0:r.required)??[];return{props:o,required:s}}function Rh(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function Mh(e,t){if(!ho.isAbsolute(t))return t;const n=ho.relative(e,t);return!n.startsWith(".")&&!n.startsWith("/")?`./${n}`:n}const Dh=["function __apigenParseJsonArg(flag: string, raw: unknown): unknown {"," if (raw === undefined) return undefined"," if (typeof raw !== 'string') return raw"," try {"," return JSON.parse(raw)"," } catch (err) {"," throw new Error(`Invalid JSON for --${flag}: ${(err as Error).message}`)"," }","}"].join(`
3
+ `);function Lh(e){var t;const n=e.options.name??"cli",r=e.options.version??"0.1.0",o=e.packages.some(i=>Object.values(i.schemas).some(a=>{const{props:c}=va(a);return bo(a).some(u=>ya(c[u]))})),s=["#!/usr/bin/env node","// Auto-generated by @adhd/apigen-cli — do not edit","import { Command } from 'commander'","import { dispatch, buildFnTable } from '@adhd/apigen-engine-runtime'"];for(const i of e.packages){const a=ha(i.id),c=Mh(e.outputDir,i.importPath);s.push(`import * as ${a}_ns from '${c}'`),s.push(`const ${a}_fns = buildFnTable(${a}_ns as Record<string, unknown>)`)}s.push(""),o&&(s.push(Dh),s.push("")),s.push(`const schemas: Record<string, unknown> = ${JSON.stringify(Object.fromEntries(e.packages.flatMap(i=>Object.entries(i.schemas).map(([a,c])=>[`${i.id}:${a}`,c]))),null,2)}`),s.push(""),s.push(`const program = new Command().name('${n}').version('${r}')`),s.push("");for(const i of e.packages){const a=ha(i.id);for(const[c,u]of Object.entries(i.schemas)){const l=bo(u),f=fu(u,"session"),p=Th(u),{props:h,required:d}=va(u);s.push("program"),s.push(` .command('${c}')`);for(const m of p){const y=m.flag.replace(/^--/,"");s.push(` .option('${m.flag} <${y}>', '${m.field} (env: ${m.envVar})')`)}f&&!p.some(m=>m.field==="session")&&s.push(" .option('--session <key>', 'Session key')");const v=Rh;for(const m of l){const y=v(m),$=Ch(h[m]),S=d.includes(m);$?(s.push(` .option('--${y}')`),((t=h[m])==null?void 0:t.default)===!0&&s.push(` .option('--no-${y}')`)):S?s.push(` .requiredOption('--${y} <${y}>')`):s.push(` .option('--${y} <${y}>')`)}if(s.push(" .action(async (opts: Record<string, unknown>) => {"),s.push(` const domainArgs: Record<string, unknown> = { ${l.map(m=>ya(h[m])?`'${m}': __apigenParseJsonArg('${v(m)}', opts['${m}'])`:`'${m}': opts['${m}']`).join(", ")} }`),p.length>0){const m=p.map(y=>{const $=y.flag.replace(/^--/,"").replace(/-([a-z])/g,(S,b)=>b.toUpperCase());return`'${y.field}': opts['${$}'] ?? process.env['${y.envVar}']`});s.push(` const envelope: Record<string, unknown> = { ${m.join(", ")} }`)}else f?s.push(" const envelope: Record<string, unknown> = { session: opts['session'] }"):s.push(" const envelope: Record<string, unknown> = {}");s.push(` const result = await dispatch(${a}_fns as any, undefined, schemas['${i.id}:${c}'] as any, '${c}', envelope, domainArgs)`),s.push(" console.log(JSON.stringify(result))"),s.push(" })")}}return s.push(""),s.push("program.parseAsync()"),{files:[{path:"cli.ts",content:s.join(`
4
+ `)}]}}function Bh(e){const t=[],n=/"([^"]*)"|'([^']*)'|(\S+)/g;let r;for(;r=n.exec(e);)t.push(r[1]??r[2]??r[3]);return t}function Uh(e){const t=e.argv;return Array.isArray(t)?t.map(String):typeof t=="string"?Bh(t):process.argv.slice(2)}function Fh(e,t){return{id:e,host:"ts",namespace:{raw:e,words:[e]},path:[],kind:"action",async:!1,streaming:!1,safe:t["x-apigen-safe"]??!1,input:t.input??{},output:t.output??{},envelope:{},typeText:null}}function Vh(e){const t=new Map;for(const r of e.operations??[]){const o=r.path[r.path.length-1];o&&t.set(`${r.namespace.raw}:${o.raw}`,r)}const n=new Map;for(const r of e.packages)for(const[o,s]of Object.entries(r.schemas)){const i=t.get(`${r.id}:${o}`)??Fh(o,s),a=mu({op:i,schema:s,transport:"cli"}),c=a.cli.path;n.set(c.join(" "),{pkgId:r.id,fnName:o,schema:s,cliPath:c,plan:a})}return n}function qh(e,t){let n=0;for(;n<e.length&&!e[n].startsWith("-");)n++;for(let r=n;r>=1;r--){const o=t.get(e.slice(0,r).join(" "));if(o)return{entry:o,rest:e.slice(r)}}return null}function yu(e){return!e||e.length===0?"":e.map(t=>`${t.name}${t.required?"":"?"}: ${t.type}`).join(", ")}function $a(e){const t=["Available commands:",""],n=[...e.entries()].sort(([r],[o])=>r.localeCompare(o));for(const[r,{plan:o}]of n){const s=yu(o.params);t.push(` ${r}${s?` { ${s} }`:""}`)}return t.join(`
5
+ `)}function kn(e){return new tr("invalid_argument",e)}function Kh(e,t){var n;const r={},o={};let s=0;for(;s<e.length;){const i=e[s];if(!i.startsWith("--"))throw kn(`Unexpected positional argument: "${i}"`);let a=i.slice(2),c;const u=a.indexOf("=");u!==-1&&(c=a.slice(u+1),a=a.slice(0,u));let l=!1,f=a;a.startsWith("no-")&&((n=t.get(a.slice(3)))==null?void 0:n.valueKind)==="boolean"&&(l=!0,f=a.slice(3));const p=t.get(f);if(!p)throw kn(`Unknown option: --${a}. Available: ${[...t.keys()].sort().map(d=>`--${d}`).join(", ")}`);s++;let h;if(p.valueKind==="boolean")l?h=!1:c===void 0?h=!0:h=c!=="false";else{const d=c!==void 0?c:e[s++];if(d===void 0)throw kn(`Missing value for --${a}`);if(p.valueKind==="json")try{h=JSON.parse(d)}catch(v){throw kn(`Invalid JSON for --${a}: ${v.message}`)}else h=d}p.kind==="domain"?r[p.camelKey]=h:o[p.camelKey]=h}for(const i of t.values()){if(i.kind!=="envelope"||!i.envVar||o[i.camelKey]!==void 0)continue;const a=process.env[i.envVar];a!==void 0&&(o[i.camelKey]=a)}return{domainArgs:r,envelope:o}}function vu(e){const t=ga(e)?e.toJSON():{code:"internal",message:e instanceof Error?e.message:String(e)};console.error(JSON.stringify(t)),process.exitCode=ga(e)?ma[e.code]:ma.internal}let Gh=class{constructor(t){this.signal=t,this.routes=new Map}registerRoute(t,n){this.routes.set(t.cli.path.join(" "),{plan:t,dispatch:n})}routeTable(){return this.routes}readCall(t,n){const{domainArgs:r,envelope:o}=Kh(t.rest,n.cliFlags);return{domainArgs:r,envelope:o,signal:this.signal}}writeResult(t,n,r){if(Yp(n))throw new tr("invalid_argument",`Command "${r.cli.path.join(" ")}" produced a streaming result, which is not supported over the cli transport.`);console.log(JSON.stringify(n===void 0?null:n))}writeError(t,n,r){vu(n)}};function zh(e,t,n,r){var o;const s=[],i={host:n,operations:r};for(const a of e){const c=(o=a.capabilities)==null?void 0:o.mount;if(!c)continue;const u=c.operations(i,t[a.id]);for(const l of u)l.transports&&!l.transports.includes("cli")||s.push(l)}return s}async function Wh(e){var t,n;const r=e.logger??Gp();if((t=e.signal)!=null&&t.aborted){r.info("cli run: signal already aborted before dispatch — skipping");return}let o=Uh(e.options);o[0]==="--"&&(o=o.slice(1));const s=Sh(e.options),i=Oh(e.options),a=new Gh(e.signal),c=Vh(e),u=new Map;for(const b of c.values()){const N=u.get(b.pkgId);N?N.push(b):u.set(b.pkgId,[b])}for(const b of e.packages){const N=u.get(b.id);if(!N||N.length===0)continue;if(!b.fns)throw new Error(`apigen-plugin-cli-output: package "${b.id}" has no functions`);const j=b.fns,M={},H={};for(const fe of N)M[fe.plan.op.id]=fe.schema,H[fe.plan.op.id]=j[fe.fnName];const Z=da(M,s),le={fns:H,createClient:b.createClient,schemas:M};for(const fe of N)a.registerRoute(fe.plan,ye=>pa(fe.plan,Z,ye,le))}const l=((n=e.packages[0])==null?void 0:n.id)??"ts",f=zh(s,i,l,e.operations??[]);if(f.length>0){const b=da({},s),N={fns:{},schemas:{}};for(const j of f){const M=mu({op:j,transport:"cli"});a.registerRoute(M,H=>pa(M,b,H,N))}}const p=a.routeTable();if(o.length===0||o[0]==="--help"||o[0]==="-h"){console.log($a(p));return}const h=qh(o,p);if(!h){vu(new tr("not_found",`Unknown command: ${o.join(" ")}
2
6
 
3
- ${r}
4
-
5
- <!-- ${Tf}${t}::${e} -->`}function Ts(t,e){return`${t}::${e}`}function Cs(t){switch(t){case"CRITICAL":return 10;case"HIGH":return 8;case"MEDIUM":return 5;case"LOW":return 2;default:return 1}}function Ya(t,e,n=[]){return[...new Set([Ie,t,e,...n])]}function ct(t){return t.tags.includes(Ie)&&!t.isSuperseded}function re(t){const e=t.metadata??{},n=e.humanId??"",r=e.kind??rr(n),s=e.family??sr(n),o=new Set([Ie,r,s]);return{nodeId:t.id,humanId:n,kind:r,family:s,title:e.title??t.summary??"",body:e.body??"",status:e.status??"UNKNOWN",priority:e.priority,repo:e.repo??t.namespace,projectPath:e.projectPath,plan:e.plan,assignee:e.assignee,claimedBy:e.claimedBy,claimedAt:e.claimedAt,citations:e.citations??[],notes:e.notes??[],tags:t.tags.filter(i=>!o.has(i)),createdAt:e.createdAt??t.tCreated,updatedAt:e.updatedAt??e.createdAt??t.tCreated}}function Xa(t,e,n){return t.db.transaction(()=>{const r=t.graph.queryNodes({kind:"generic",tags:[Ie],namespace:e,metadata:{family:n}});let s=0;for(const o of r){const i=o.metadata,a=/-(\d+)$/.exec((i==null?void 0:i.humanId)??"");a&&(s=Math.max(s,Number(a[1])))}return`${n}-${String(s+1).padStart(3,"0")}`}).immediate()}const hi={CRITICAL:0,HIGH:1,MEDIUM:2,LOW:3};function mi(t){const e=[Ie];t.kind&&e.push(t.kind),t.tags&&e.push(...t.tags);const n={};t.family&&(n.family=t.family),t.priority&&(n.priority=t.priority),t.plan&&(n.plan=t.plan),t.assignee&&(n.assignee=t.assignee),t.claimedBy&&(n.claimedBy=t.claimedBy),t.status&&t.status!=="open"&&t.status!=="closed"&&(n.status=t.status);const r={kind:"generic",tags:e,tagsMatchAll:!0};return t.repo!==void 0&&(r.namespace=t.repo),t.projectPath!==void 0&&(r.projectPath=t.projectPath),Object.keys(n).length>0&&(r.metadata=n),r}function Cf(t,e){return e.status==="open"?t.filter(n=>!je(n.status)):e.status==="closed"?t.filter(n=>je(n.status)):t}function Za(t,e={}){if(e.grep){const s=mi({...e});let i=t.graph.searchNodes(e.grep,{limit:e.limit??1e3,filter:s}).filter(ct);return e.offset&&(i=i.slice(e.offset)),i}const n=mi(e);return e.limit!==void 0&&(n.limit=e.limit),e.offset!==void 0&&(n.offset=e.offset),t.graph.queryNodes(n).filter(ct)}function Ze(t,e={}){const r=Za(t,e).map(re);return Cf(r,e)}function Ve(t,e,n){const r=Ts(e,n),o=t.graph.queryNodes({kind:"generic",tags:[Ie],namespace:e,metadata:{humanId:n}}).filter(ct);return o.find(i=>i.name===r)??o[0]??null}function Gt(t,e){const n={};for(const r of t){const s=e(r);s&&(n[s]=(n[s]??0)+1)}return n}function Rf(t,e={}){const n=Ze(t,{repo:e.repo,projectPath:e.projectPath}),r=n.filter(o=>!je(o.status)),s=n.filter(o=>je(o.status));return{total:n.length,open:r.length,closed:s.length,byStatus:Gt(n,o=>o.status),byKind:Gt(n,o=>o.kind),byFamily:Gt(n,o=>o.family),byPriority:Gt(n,o=>o.priority),byRepo:e.repo===void 0?Gt(n,o=>o.repo):{}}}function Mf(t,e={},n=20){const s=Ze(t,{repo:e.repo,projectPath:e.projectPath,status:"open"}).filter(o=>o.priority!==void 0);return s.sort((o,i)=>{const a=hi[o.priority??""]??4,c=hi[i.priority??""]??4;return a-c||o.humanId.localeCompare(i.humanId)}),s.slice(0,n)}function ec(t,e){const n=t.graph.getEdges({src:e,rel:"DEPENDS_ON"}),r=[];for(const s of n){const o=t.graph.getNode(s.dst);o&&r.push(o)}return r}function Df(t,e,n){const r=Ve(t,e,n);return r?ec(t,r.id).filter(s=>!s.tInvalid).map(re).filter(s=>!je(s.status)):[]}function Lf(t,e={}){return Ze(t,{repo:e.repo,projectPath:e.projectPath,status:"open"}).filter(r=>{if(r.claimedBy)return!1;const s=Ve(t,r.repo,r.humanId);return s?ec(t,s.id).filter(i=>!i.tInvalid).every(i=>je(re(i).status)):!1})}function tc(t,e={}){const n=Ze(t,{repo:e.repo,projectPath:e.projectPath}),r=n.map(o=>({humanId:o.humanId,title:o.title,status:o.status})),s=[];for(const o of n){const i=Ve(t,o.repo,o.humanId);if(i)for(const a of["DEPENDS_ON","RELATES_TO","PART_OF"])for(const c of t.graph.getEdges({src:i.id,rel:a})){const u=t.graph.getNode(c.dst);if(!u||u.tInvalid)continue;const l=u.metadata;l!=null&&l.humanId&&s.push({from:o.humanId,to:l.humanId,rel:a})}}return{nodes:r,edges:s}}function Bf(t,e={}){var c;const n=tc(t,e),r=n.edges.filter(u=>u.rel==="DEPENDS_ON"),s=new Map;for(const u of n.nodes)s.set(u.humanId,new Set);for(const u of r)(c=s.get(u.from))==null||c.add(u.to);const o=new Set(n.nodes.map(u=>u.humanId)),i=[];let a=!0;for(;o.size>0&&a;){a=!1;for(const u of[...o].sort())[...s.get(u)??new Set].every(m=>!o.has(m))&&(i.push(u),o.delete(u),a=!0)}return o.size>0?{ok:!1,cycle:Uf([...o],s)}:{ok:!0,order:i}}function Uf(t,e){const n=new Set(t),r=new Set,s=[];function o(i){if(r.has(i)){const a=s.indexOf(i);return[...s.slice(a),i]}if(!n.has(i))return null;r.add(i),s.push(i);for(const a of e.get(i)??[]){const c=o(a);if(c)return c}return s.pop(),r.delete(i),null}for(const i of t){const a=o(i);if(a)return a}return t}function Vf(t,e,n={}){const r=Ze(t,{repo:n.repo,projectPath:n.projectPath}),s=e*6e4,o=Date.now();return r.filter(i=>!i.claimedBy||!i.claimedAt?!1:o-Date.parse(i.claimedAt)>s)}function Ff(t,e,n){var u,l,f,m;const r=Ve(t,e,n);if(!r)throw new ye(e,n);const s=re(r),o=[{at:s.createdAt,kind:"created",detail:{title:s.title,repo:s.repo}}];for(const p of s.citations)o.push({at:s.updatedAt,kind:"citation",detail:{...p}});for(const p of s.notes)o.push({at:p.at,kind:"note",detail:{by:p.by,text:p.text}});o.sort((p,d)=>p.at.localeCompare(d.at));const i=t.graph.getSupersessionChain(r.id);let a;if(i.length>1){const p=i.findIndex(g=>g.id===r.id),d=p>0?((l=(u=i[p-1])==null?void 0:u.metadata)==null?void 0:l.humanId)??void 0:void 0,v=p>=0&&p<i.length-1?((m=(f=i[p+1])==null?void 0:f.metadata)==null?void 0:m.humanId)??void 0:void 0;a={},d&&(a.supersedes=d),v&&(a.supersededBy=v)}const c={humanId:s.humanId,history:o};return a&&(c.supersessionChain=a),c}class qf extends Error{constructor(e){super(`backlog item not found or invalidated: node ${e}`),this.nodeId=e,this.name="NotFoundError"}}function ve(t,e,n){return t.db.transaction(()=>{const r=t.graph.getNode(e);if(!r||r.tInvalid)throw new qf(e);const s=r.metadata??{},o=n(s);return t.graph.touch(e,{metadata:o}),o}).immediate()}function Kf(t,e,n){const r=new Map;for(const o of t.graph.searchNodes(n.title,{limit:10,filter:{tags:[Ie],namespace:e}}))ct(o)&&r.set(o.id,o);const s=n.dedupeScan;if(s!=null&&s.symbol)for(const o of t.graph.queryNodes({kind:"generic",tags:[Ie],namespace:e,metadata:{dedupeSymbol:s.symbol}}))ct(o)&&r.set(o.id,o);if(s!=null&&s.path)for(const o of t.graph.queryNodes({kind:"generic",tags:[Ie],namespace:e,metadata:{dedupePath:s.path}}))ct(o)&&r.set(o.id,o);if(s!=null&&s.errorText)for(const o of t.graph.queryNodes({kind:"generic",tags:[Ie],namespace:e,metadata:{dedupeErrorText:s.errorText}}))ct(o)&&r.set(o.id,o);return[...r.values()].map(re)}function Rs(t,e){var l,f,m;if(e.idOverride){const p=Ve(t,e.repo,e.idOverride);if(p){const d=re(p);return{item:d,created:!1,duplicateCandidates:[d]}}}const n=e.force?[]:Kf(t,e.repo,e);if(n.length>0&&!e.force)return{item:n[0],created:!1,duplicateCandidates:n};const r=e.idOverride??Xa(t,e.repo,e.family),s=rr(r),o=sr(r),i=new Date().toISOString(),a={humanId:r,kind:s,family:o,title:e.title,body:e.body,status:"OPEN",repo:e.repo,citations:[],notes:[],createdAt:i,updatedAt:i};e.priority!==void 0&&(a.priority=e.priority),e.projectPath!==void 0&&(a.projectPath=e.projectPath),e.plan!==void 0&&(a.plan=e.plan),((l=e.dedupeScan)==null?void 0:l.symbol)!==void 0&&(a.dedupeSymbol=e.dedupeScan.symbol),((f=e.dedupeScan)==null?void 0:f.path)!==void 0&&(a.dedupePath=e.dedupeScan.path),((m=e.dedupeScan)==null?void 0:m.errorText)!==void 0&&(a.dedupeErrorText=e.dedupeScan.errorText);const c=t.graph.writeNode(Qa(e.repo,r,e.title,e.body),{kind:"generic",name:Ts(e.repo,r),summary:e.title,tags:Ya(s,o,e.tags),namespace:e.repo,importance:Cs(e.priority),confidence:"confirmed",...e.projectPath!==void 0?{projectPath:e.projectPath}:{},metadata:a}),u=t.graph.getNode(c);if(!u)throw new Error(`backlog: writeNode returned an id that does not resolve: ${c}`);return{item:re(u),created:!0,duplicateCandidates:[]}}function nc(t,e,n){const r=Ve(t,e,n);return r?re(r):null}function rc(t,e,n){const r=Ve(t,e,n);if(!r)throw new ye(e,n);return r}function zf(t,e,n,r){const s=rc(t,e,n);if(ve(t,s.id,i=>{const a={...i,updatedAt:new Date().toISOString()};return r.title!==void 0&&(a.title=r.title),r.body!==void 0&&(a.body=r.body),r.projectPath!==void 0&&(a.projectPath=r.projectPath),a}),r.title!==void 0||r.tags!==void 0||r.projectPath!==void 0){const i={};if(r.title!==void 0&&(i.summary=r.title),r.tags!==void 0){const a=rr(n),c=sr(n);i.tags=Ya(a,c,r.tags)}r.projectPath!==void 0&&(i.projectPath=r.projectPath),t.graph.touch(s.id,i)}const o=t.graph.getNode(s.id);if(!o)throw new ye(e,n);return re(o)}function Gf(t,e,n,r){const s=rc(t,e,n);t.graph.invalidate(s.id,r)}const Wf=30;class Hf extends Error{constructor(e,n){super(`cannot release claim held by "${e}" as "${n}" without force`),this.heldBy=e,this.name="ClaimContentionError"}}function sc(t,e,n,r={}){const s=(r.staleAfterMin??Wf)*6e4;let o;return ve(t,e,i=>{const a=Date.now(),c=new Date(a).toISOString();return!i.claimedBy||i.claimedBy===n?(o={status:i.claimedBy?"renewed":"claimed",claimedBy:n,claimedAt:c},{...i,claimedBy:n,claimedAt:c,updatedAt:c}):(i.claimedAt?a-Date.parse(i.claimedAt):Number.POSITIVE_INFINITY)<=s&&!r.force?(o={status:"held",claimedBy:n,claimedAt:c,heldBy:i.claimedBy,...i.claimedAt!==void 0?{heldSince:i.claimedAt}:{}},i):(o={status:"reclaimed-stale",claimedBy:n,claimedAt:c,previousClaimant:i.claimedBy},{...i,claimedBy:n,claimedAt:c,updatedAt:c})}),o}function Jf(t,e,n){let r;return ve(t,e,s=>{const o=new Date().toISOString();return r={status:s.claimedBy?"renewed":"claimed",claimedBy:n,claimedAt:o},{...s,claimedBy:n,claimedAt:o,updatedAt:o}}),r}function Qf(t,e,n,r={}){let s;return ve(t,e,o=>{if(!o.claimedBy)return s={status:"release-noop"},o;if(o.claimedBy!==n&&!r.force)throw new Hf(o.claimedBy,n);s={status:"released",wasClaimedBy:o.claimedBy};const a=new Date().toISOString(),c={...o,updatedAt:a};return delete c.claimedBy,delete c.claimedAt,c}),s}function or(t,e,n){const r=Ve(t,e,n);if(!r)throw new ye(e,n);return r}function ir(t,e,n,r,s){const o=or(t,e,n);ve(t,o.id,a=>{const c=s.citations&&s.citations.length>0?[...a.citations,...s.citations]:a.citations;if(js(r)&&c.length===0)throw new Wa(r);if(xs(r)&&!s.reason)throw new Ha(r);const u=new Date().toISOString(),l=[...a.notes];s.note&&l.push({by:s.by,at:u,text:s.note}),s.reason&&l.push({by:s.by,at:u,text:`[transition to ${r}] ${s.reason}`});const f={...a,status:r,citations:c,notes:l,updatedAt:u};return Ps.has(r)&&(delete f.claimedBy,delete f.claimedAt),f});const i=t.graph.getNode(o.id);if(!i)throw new ye(e,n);return re(i)}function Yf(t,e,n,r,s){return ir(t,e,n,r,s)}function Xf(t,e,n,r){const s=or(t,e,n),o=sc(t,s.id,r);if(o.status==="held")throw new Ja(o.heldBy??"unknown",o.heldSince??"unknown");return ir(t,e,n,"IN_PROGRESS",{by:r})}function Zf(t,e,n,r){const s=or(t,e,n);ve(t,s.id,i=>({...i,citations:[...i.citations,r],updatedAt:new Date().toISOString()}));const o=t.graph.getNode(s.id);if(!o)throw new ye(e,n);return re(o)}function ed(t,e,n,r,s){const o=or(t,e,n);ve(t,o.id,a=>{const c=new Date().toISOString();return{...a,notes:[...a.notes,{by:r,at:c,text:s}],updatedAt:c}});const i=t.graph.getNode(o.id);if(!i)throw new ye(e,n);return re(i)}function td(t,e,n={}){const r=new Set((n.exclude??[]).map(i=>i.toUpperCase())),s=Ze(t,{repo:e.repo,projectPath:e.projectPath,status:"closed"}),o=[];for(const i of s){if(r.has(i.humanId.toUpperCase())||!je(i.status))continue;const a=new Date().toISOString();ve(t,i.nodeId,u=>({...u,archivedAt:a,updatedAt:a}));const c=t.graph.getNode(i.nodeId);c&&o.push(re(c))}return o}function ge(t,e,n){const r=Ve(t,e,n);if(!r)throw new ye(e,n);return r}function nd(t,e,n,r){const s=ge(t,e,n),o=ge(t,e,r);t.graph.writeEdge(s.id,o.id,"DEPENDS_ON")}function rd(t,e,n,r){const s=ge(t,e,n),o=ge(t,e,r);t.db.prepare("DELETE FROM edge WHERE src = ? AND dst = ? AND rel = 'DEPENDS_ON'").run(s.id,o.id)}function sd(t,e,n,r){const s=ge(t,e,n),o=ge(t,e,r);t.graph.writeEdge(s.id,o.id,"RELATES_TO")}function od(t,e,n,r,s){const o=ge(t,e,n),i=r.idOverride??Xa(t,e,r.family),a=rr(i),c=sr(i),u=new Date().toISOString(),l={humanId:i,kind:a,family:c,title:r.title,body:r.body,status:"OPEN",repo:e,citations:[],notes:[],createdAt:u,updatedAt:u};r.priority!==void 0&&(l.priority=r.priority),r.projectPath!==void 0&&(l.projectPath=r.projectPath),r.plan!==void 0&&(l.plan=r.plan);const f=t.graph.supersede(o.id,Qa(e,i,r.title,r.body),{kind:"generic",name:Ts(e,i),summary:r.title,tags:["backlog-item",a,c,...r.tags??[]],namespace:e,importance:Cs(r.priority),confidence:"confirmed",...r.projectPath!==void 0?{projectPath:r.projectPath}:{},metadata:l});ve(t,o.id,p=>{const d=[...p.notes,{by:"system",at:u,text:`[superseded by ${i}] ${s}`}],v={...p,status:"SUPERSEDED",notes:d,updatedAt:u};return delete v.claimedBy,delete v.claimedAt,v}),t.graph.invalidate(o.id,s);const m=t.graph.getNode(f);if(!m)throw new Error(`backlog: supersede() returned an id that does not resolve: ${f}`);return re(m)}function id(t,e,n,r){const s=ge(t,e,n),o=[];for(const i of r){const a=Rs(t,{...i,repo:e});t.graph.writeEdge(a.item.nodeId,s.id,"PART_OF"),o.push(a.item)}return o}function ad(t,e,n,r,s){const o=ge(t,e,n),i=ge(t,e,r);ve(t,i.id,c=>{const u=new Date().toISOString(),l={...c,status:"DUPLICATE",notes:[...c.notes,{by:"system",at:u,text:`[merged into ${n}] ${s}`}],updatedAt:u};return delete l.claimedBy,delete l.claimedAt,l}),t.graph.writeEdge(i.id,o.id,"SAME_AS"),t.graph.invalidate(i.id,s);const a=t.graph.getNode(o.id);if(!a)throw new ye(e,n);return re(a)}function cd(t,e,n,r){const s=ge(t,e,n);ve(t,s.id,i=>({...i,priority:r,updatedAt:new Date().toISOString()})),t.graph.touch(s.id,{importance:Cs(r)});const o=t.graph.getNode(s.id);if(!o)throw new ye(e,n);return re(o)}function ud(t,e,n){const r=`${e}::plan:${n}`,o=t.graph.queryNodes({kind:"generic",tags:[di],namespace:e,metadata:{planSlug:n}}).find(i=>i.name===r&&!i.isSuperseded);return o?o.id:t.graph.writeNode(`plan:${n}`,{kind:"generic",name:r,summary:n,tags:[di],namespace:e,metadata:{planSlug:n}})}function ld(t,e,n,r){const s=ge(t,e,n),o=ud(t,e,r);ve(t,s.id,i=>({...i,plan:r,updatedAt:new Date().toISOString()})),t.graph.writeEdge(s.id,o,"MEMBER_OF")}function fd(t,e){const r=t.graph.queryNodes({kind:"entity",tags:[pi],metadata:{identity:e}}).find(s=>s.name===e&&!s.isSuperseded);return r?r.id:t.graph.writeNode(`assignee:${e}`,{kind:"entity",name:e,summary:e,tags:[pi],metadata:{identity:e}})}function dd(t,e,n,r,s){const o=ge(t,e,n),i=fd(t,r);ve(t,o.id,c=>{const u=new Date().toISOString();return{...c,assignee:r,notes:[...c.notes,{by:s,at:u,text:`assigned to ${r}`}],updatedAt:u}}),t.graph.writeEdge(o.id,i,"ASSIGNED_TO");const a=t.graph.getNode(o.id);if(!a)throw new ye(e,n);return re(a)}const gi=/^(#{2,3})\s+([A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+)/,pd=["FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED","CLOSED"],hd=["MITIGATED"],md=["INVALID","SUPERSEDED","DUPLICATE","WONTFIX"],gd=new Set([...pd,...hd,...md]),yd=new Set(["OPEN","IN_PROGRESS","PARTIAL","OUTSTANDING","DEFERRED","BLOCKED","MIXED","UNKNOWN","FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED","MITIGATED","SUPERSEDED","INVALID","DUPLICATE","WONTFIX"]);function oc(t){const e=t.toUpperCase();return e==="IN-PROGRESS"?"IN_PROGRESS":e==="CLOSED"?"RESOLVED":yd.has(e)?e:"UNKNOWN"}function ic(t){var o;const e=(t??"").toLowerCase();if(!e.trim())return null;const n=i=>e.includes(i);if(n("outstanding"))return{label:"OUTSTANDING",open:!0};if(n("partially"))return{label:"PARTIAL",open:!0};if(n("in progress"))return{label:"IN-PROGRESS",open:!0};const r=n("shipped")&&"SHIPPED"||n("superseded")&&"SUPERSEDED"||n("invalid")&&"INVALID"||n("mitigated")&&"MITIGATED"||n("removed")&&!n("open")&&"REMOVED"||n("fixed")&&"FIXED"||n("resolved")&&"RESOLVED"||n("done")&&"DONE"||null,s=n("open")&&"OPEN"||(n("deferred")||n("defer"))&&"DEFERRED"||null;return r&&s?{label:"MIXED",open:!0}:r?{label:r,open:!1}:s?{label:s,open:!0}:n("downgraded")?{label:"OPEN",open:!0}:{label:((o=e.trim().split(/\s+/)[0])==null?void 0:o.toUpperCase().replace(/[^A-Z]/g,""))||"UNKNOWN",open:!0}}function ac(t,e){const n=e.match(/^\s*-?\s*\*\*Status:\*?\*?\s*([^\n]+)/im),r=n?ic(n[1]):null;if(r)return r;const s=t.toUpperCase();for(const o of["RESOLVED","FIXED","MITIGATED","DONE","CLOSED"])if(s.includes(o))return{label:o,open:!1};return{label:"UNKNOWN",open:!0}}function cc(t,e){const r=`${t}
6
- ${e}`.match(/\*{0,2}priority:?\*{0,2}\s*[:-]?\s*(CRITICAL|HIGH|MEDIUM|LOW)/i);return r?r[1].toUpperCase():/—\s*CRITICAL\b/i.test(t)||/\bCRITICAL\b/.test(t)?"CRITICAL":""}function uc(t){const e=t.split(`
7
- `),n=[];let r=null;const s=()=>{if(!r)return;const o=r.bodyLines.join(`
8
- `),i=ac(r.headerLine,o),a=cc(r.headerLine,o),{bodyLines:c,...u}=r,l=!gd.has(i.label);n.push({...u,status:i.label,open:l,terminal:!l,priority:a,body:o.trim()}),r=null};return e.forEach((o,i)=>{const a=o.match(gi),c=/^#{2,3}\s/.test(o);if(a&&/\d/.test(a[2])){s();const u=a[2],l=o.replace(gi,"").replace(/^\s*[—–-]\s*/,"").trim(),f=u.split("-");r={id:u,kind:f[0]??u,family:u.replace(/-\d+[a-z]?$/i,""),title:l,level:a[1].length,line:i+1,headerLine:o,bodyLines:[]}}else c?(s(),r=null):r&&r.bodyLines.push(o)}),s(),n}function vd(t){return`**Citations:** [${t.map(n=>{const r=n.lines?`${n.file}:${n.lines}`:n.file;return n.context?`${r} (${n.context})`:r}).join(", ")}]`}function $d(t){return t==="IN_PROGRESS"?"IN PROGRESS":t}function lc(t){const e=[];e.push(`### ${t.humanId} — ${t.title}`),e.push(""),e.push(`**Status:** ${$d(t.status)}`),t.priority&&e.push(`**Priority:** ${t.priority}`),t.assignee&&e.push(`**Assignee:** ${t.assignee}`),t.plan&&e.push(`**Plan:** ${t.plan}`),e.push(""),t.body&&e.push(t.body,""),t.citations.length>0&&e.push(vd(t.citations));for(const n of t.notes)e.push(`- Note (${n.by}, ${n.at}): ${n.text}`);return e.join(`
9
- `).trimEnd()}function fc(t){return t.length===0?"":`${t.map(lc).join(`
10
-
11
- `)}
12
- `}function wd(t){return t.split(`
13
- `).map(bd).join(`
14
- `)}function bd(t){return/^###\s/.test(t)?`##${t}`:/^##\s/.test(t)?`##${t}`:t}function dc(t,e){let n=`### Archived — resolved/terminal backlog items relocated in batch (${e})
15
-
16
- `;return n+="> Moved via `@adhd/backlog`'s `archiveResolved` (canonical terminal statuses: FIXED/RESOLVED/DONE/\n",n+=`> SHIPPED/VERIFIED/REMOVED/MITIGATED/SUPERSEDED/INVALID/DUPLICATE/WONTFIX). The graph node itself is
17
- `,n+=`> NEVER deleted — this is a rendered snapshot; full history remains queryable via auditTrail.
18
-
19
- `,n+=t.map(r=>wd(lc(r))).join(`
20
-
21
- `),n+=`
22
- `,n}function pc(t){return t.map(e=>{const n={humanId:e.id,title:e.title,body:e.body,status:oc(e.status)};return e.priority&&(e.priority==="CRITICAL"||e.priority==="HIGH"||e.priority==="MEDIUM"||e.priority==="LOW")&&(n.priority=e.priority),n})}function Ms(t,e,n){const r=nc(t.store,e,n);if(!r)throw new ye(e,n);return r}async function hc(t,e){return Rs(t.store,e)}async function mc(t,e,n){return nc(t.store,e,n)}async function gc(t,e,n,r){return zf(t.store,e,n,r)}async function yc(t,e){return Ze(t.store,e??{})}async function vc(t,e,n,r){Gf(t.store,e,n,r)}async function $c(t,e){return Rf(t.store,e??{})}async function wc(t,e,n){return Mf(t.store,e??{},n??20)}async function bc(t,e){return Lf(t.store,e??{})}async function Ec(t,e,n){return Df(t.store,e,n)}async function Sc(t,e){return tc(t.store,e??{})}async function Nc(t,e){return Bf(t.store,e??{})}async function Oc(t,e,n){return Vf(t.store,e,n??{})}async function _c(t,e,n,r,s){const o=Ms(t,e,n);return sc(t.store,o.nodeId,r,s??{})}async function kc(t,e,n,r){const s=Ms(t,e,n);return Jf(t.store,s.nodeId,r)}async function Ic(t,e,n,r,s){const o=Ms(t,e,n);return Qf(t.store,o.nodeId,r,s??{})}async function Ac(t,e,n,r,s){return dd(t.store,e,n,r,s)}async function Pc(t,e,n,r){return Xf(t.store,e,n,r)}async function jc(t,e,n,r,s){return ir(t.store,e,n,r,s)}async function xc(t,e,n,r){return Zf(t.store,e,n,r)}async function Tc(t,e,n,r,s){return ed(t.store,e,n,r,s)}async function Cc(t,e,n,r,s){return Yf(t.store,e,n,r,s)}async function Rc(t,e,n){const r=td(t.store,e,n??{}),s=r.length>0?dc(r,new Date().toISOString().slice(0,10)):"";return{archivedCount:r.length,changelogMarkdown:s}}async function Mc(t,e,n,r){nd(t.store,e,n,r)}async function Dc(t,e,n,r){rd(t.store,e,n,r)}async function Lc(t,e,n,r){sd(t.store,e,n,r)}async function Bc(t,e,n,r,s){return od(t.store,e,n,r,s)}async function Uc(t,e,n,r){return id(t.store,e,n,r)}async function Vc(t,e,n,r,s){return ad(t.store,e,n,r,s)}async function Fc(t,e,n,r){return cd(t.store,e,n,r)}async function qc(t,e,n,r){ld(t.store,e,n,r)}async function Kc(t,e){const n=Y.readFileSync(e.path,"utf8"),r=uc(n),s=pc(r),o={parsed:s.length,created:0,skippedDuplicates:0,errors:[]};if(e.dryRun)return o;for(const i of s)try{const a=Rs(t.store,{family:i.humanId.replace(/-\d+$/,""),idOverride:i.humanId,title:i.title,body:i.body,repo:e.repo,...e.projectPath!==void 0?{projectPath:e.projectPath}:{},...i.priority!==void 0?{priority:i.priority}:{},force:!0});a.created&&i.status!=="OPEN"&&ir(t.store,e.repo,i.humanId,i.status,{by:"system:importFromMarkdown",...js(i.status)?{citations:[{file:e.path}]}:{},...xs(i.status)?{reason:`imported from markdown at status ${i.status}`}:{}}),a.created?o.created+=1:o.skippedDuplicates+=1}catch(a){o.errors.push({humanId:i.humanId,message:a instanceof Error?a.message:String(a)})}return o}async function zc(t,e){let r=Za(t.store,e??{}).filter(s=>{var o;return!((o=s.metadata)!=null&&o.archivedAt)}).map(re);return(e==null?void 0:e.status)==="open"?r=r.filter(s=>!je(s.status)):(e==null?void 0:e.status)==="closed"&&(r=r.filter(s=>je(s.status))),fc(r)}async function Gc(t,e){return Ze(t.store,e??{})}async function Wc(t,e,n){return Ff(t.store,e,n)}const Ed=Object.freeze(Object.defineProperty({__proto__:null,addCitation:xc,addDependency:Mc,appendNote:Tc,archiveResolved:Rc,assignItem:Ac,attachToPlan:qc,auditTrail:Wc,blockers:Ec,claimItem:_c,createItem:hc,dependencyGraph:Sc,exportJson:Gc,getItem:mc,importFromMarkdown:Kc,linkRelated:Lc,listItems:yc,mergeItems:Vc,readyItems:bc,releaseClaim:Ic,removeDependency:Dc,renderToMarkdown:zc,renewClaim:kc,resolveItem:Cc,setPriority:Fc,softDeleteItem:vc,splitItem:Uc,spotlight:wc,staleClaims:Oc,startWork:Pc,stats:$c,supersedeItem:Bc,topoOrder:Nc,transitionStatus:jc,updateItem:gc},Symbol.toStringTag,{value:"Module"})),Hc=Symbol.for("adhd.apigen.extraction-session");function Jc(t,e){const n=[...t.getImportDeclarations().map(r=>r.getModuleSpecifierSourceFile()),...t.getExportDeclarations().map(r=>r.getModuleSpecifierSourceFile())];for(const r of n){if(!r)continue;const s=r.getFilePath();if(!s.includes("/node_modules/")&&!e.has(s)){e.add(s);try{r.refreshFromFileSystemSync()}catch{}Jc(r,e)}}}function Qc(t){try{const e=Y.statSync(t);return`${e.mtimeMs}:${e.size}`}catch{return"nostat"}}const Mn=new Map,yi=new Map;function Sd(t,e,n){const r=e??"",s=Mn.get(r);let o=n;if(s&&s.fileVersions.size>0){const c=[n],u=[...s.fileVersions.entries()].sort(([l],[f])=>l.localeCompare(f));for(const[l,f]of u)l!==t&&c.push(`${l}:${f}`);o=c.join("|")}const i=`${t}\0${e??""}`;let a=yi.get(i);return(!a||a.version!==o)&&(a={version:o,schemas:new Map},yi.set(i,a)),a.schemas}function Nd(){const t={projectsBuilt:0,generatorsBuilt:0,schemaCacheHits:0,schemaCacheMisses:0},e=new Map;let n=!1;return{[Hc]:!0,stats:t,schemaCache:new Map,aliasCache:new WeakMap,zodImportCache:new WeakMap,generatorCache:new Map,projectFor(r){if(n)throw new Error("apigen-core: ExtractionSession used after dispose()");const s=r??"",o=r?this.statVersion(r):"";let i=Mn.get(s);return i&&i.tsconfigVersion!==o&&(i=void 0),i||(i={project:r?new ui.Project({tsConfigFilePath:r,skipAddingFilesFromTsConfig:!0}):new ui.Project({skipAddingFilesFromTsConfig:!0}),tsconfigVersion:o,fileVersions:new Map},Mn.set(s,i),t.projectsBuilt++),i.project},sourceFileFor(r,s){const o=this.projectFor(s),i=Mn.get(s??""),a=this.statVersion(r);let c=o.getSourceFile(r);if(c===void 0?c=o.addSourceFileAtPath(r):i&&i.fileVersions.get(r)!==a&&c.refreshFromFileSystemSync(),i==null||i.fileVersions.set(r,a),i){const u=new Set([r]);Jc(c,u);for(const l of u)l!==r&&i.fileVersions.set(l,this.statVersion(l))}return c},statVersion(r){let s=e.get(r);return s===void 0&&(s=Qc(r),e.set(r,s)),s},dispose(){n=!0,this.schemaCache.clear(),this.generatorCache.clear(),e.clear()}}}function Od(t){const e=t;if(e[Hc]!==!0)throw new Error("apigen-core: unknown ExtractionSession implementation — create sessions with createExtractionSession()");return e}const Qn="x-apigen-logical";function vi(t,e){const n=new Set,r=[t];for(;r.length>0;){const s=r.pop();if(!s||n.has(s))continue;n.add(s);const o=s.$ref;if(typeof o=="string"){if(e){const f=e[o];if(!f){const m=Object.keys(e).join(", ")||"(none)";throw new Error(`[apigen-logical] $ref "${o}" cannot be resolved. Available $defs: ${m}`)}r.push(f)}continue}const i=s.oneOf;if(Array.isArray(i))for(const f of i)typeof f=="object"&&f!==null&&r.push(f);const a=s.properties;if(a)for(const f of Object.values(a))r.push(f);const c=s.items;if(Array.isArray(c))for(const f of c)typeof f=="object"&&f!==null&&r.push(f);else typeof c=="object"&&c!==null&&r.push(c);const u=s.additionalProperties;typeof u=="object"&&u!==null&&r.push(u);const l=s.propertyNames;typeof l=="object"&&l!==null&&r.push(l)}}const $i=new Set(["string","number","boolean","integer"]);function _d(t){if(typeof t!="object"||t===null)return!1;const e=t;if(e.$ref!==void 0||e.oneOf||e.anyOf||e.allOf)return!1;const{type:n}=e;return typeof n=="string"?$i.has(n):Array.isArray(n)?n.every(r=>$i.has(r)||r==="null"):Array.isArray(e.enum)&&e.enum.length>0?e.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function kd(t){if(!t||typeof t!="object")return!1;const e=t.properties;return e===void 0||typeof e!="object"||e===null?!1:Object.values(e).every(_d)}function Id(t){const e={},n=r=>{for(const s of["definitions","$defs"]){const o=r[s];if(o)for(const[i,a]of Object.entries(o)){const c=i.startsWith("#/")?i:`#/${s}/${i}`;e[c]=a}}};for(const r of Object.values(t.schemas))n(r.input),n(r.output);if(Object.keys(e).length!==0)for(const[r,s]of Object.entries(t.schemas))try{vi(s.input,e),vi(s.output,e)}catch(o){throw new Error(`[apigen-core-client] Schema validation failed for function "${r}": ${o.message}`)}}function Ad(t,e){const n=['apigen calling convention: all domain parameters go inside a "data" envelope — e.g. { "data": { ... } }'+(e?".":" (an empty object for this zero-parameter tool).")];return t.length>0&&n.push(`Field(s) ${t.map(r=>`"${r}"`).join(", ")} are transport-level envelope metadata, NOT domain data — do not nest them under "data". Over MCP they are read from arguments._meta["x-<pluginId>-<field>"] (default pluginId "adhd"); see @adhd/apigen-engine-naming's envelopeMetaKey/envelopeCliFlag/envelopeEnvVar for the HTTP-header / CLI-flag / env-var equivalents.`),n.join(" ")}function Pd(t,e,n){Id(t);const r={};for(const[s,o]of Object.entries(t.schemas)){const i={},a=o.input.properties??{},c=o.input.required??[],u={},l=[];for(const v of e)if(v.envelope&&i[v.id]!==!1)for(const[g,y]of Object.entries(v.envelope))u[g]=y,l.includes(g)||l.push(g);const f={type:"object",properties:a,additionalProperties:!1,...c.length>0?{required:c}:{}},m=o.safe===!0||kd(o.input),p=o.input.definitions,d=o.input.$defs;r[s]={input:{type:"object",properties:{...u,data:f},required:[...l,...c.length>0?["data"]:[]],additionalProperties:!1,description:Ad(Object.keys(u),Object.keys(a).length>0),...p?{definitions:p}:{},...d?{$defs:d}:{}},output:o.output,...o.hasCtx?{hasCtx:!0}:{},"x-apigen-safe":m}}return r}const jd=8;function xd(t,e){try{return e?t.getText(e):t.getText()}catch{try{return t.getText()}catch{return}}}let Td=0;async function Cd(t,e,n,r){const s=`__ApigenProbe_${process.pid}_${Td++}`;let o;try{o=e.addTypeAlias({name:s,type:n});const i=o.getType();return await r(i)}catch{return}finally{try{o==null||o.remove()}catch{}}}async function Yc(t,e,n){if(n>jd)return{};if(t.isString()||t.isStringLiteral())return t.isStringLiteral()?{type:"string",enum:[t.getLiteralValue()]}:{type:"string"};if(t.isNumber()||t.isNumberLiteral())return t.isNumberLiteral()?{type:"number",enum:[t.getLiteralValue()]}:{type:"number"};if(t.isBoolean())return{type:"boolean"};if(t.isBooleanLiteral())return{type:"boolean"};if(t.isNull()||t.isUndefined()||t.isVoid())return{type:"null"};if(t.isUnion()){const r=t.getUnionTypes();if(r.every(i=>i.isStringLiteral())&&r.length>0)return{type:"string",enum:r.map(i=>i.getLiteralValue())};if(r.every(i=>i.isNumberLiteral())&&r.length>0)return{type:"number",enum:r.map(i=>i.getLiteralValue())};const s=await Promise.all(r.map(i=>Yc(i,e,n+1))),o=Ds(s);return{oneOf:s,...o?{discriminator:o}:{},[Qn]:"union"}}if(t.isArray()){const r=t.getArrayElementType();return{type:"array",items:r?await e(r.getText()):{}}}if(t.isTuple()){const r=t.getTupleElements(),s=await Promise.all(r.map(o=>e(o.getText())));return{type:"array",items:s,minItems:s.length,maxItems:s.length}}if(t.isObject()){const r=t.getStringIndexType(),s=t.getNumberIndexType(),o=r??s,i=t.getProperties();if(o&&i.length===0)return{type:"object",additionalProperties:await e(o.getText())};const a={};for(const c of i){const u=c.getName(),l=c.getDeclarations()[0];let f;if(l)try{f=c.getTypeAtLocation(l)}catch{f=void 0}if(f!==void 0&&f.getCallSignatures().length>0)continue;const m=f!==void 0?xd(f,l):void 0;a[u]=m!==void 0?await e(m):{}}return Object.keys(a).length>0?{type:"object",properties:a}:{}}return{}}function Ds(t){if(t.length<2)return;const e=[];for(const r of t){if(r.type!=="object")return;const s=r.properties;if(!s||typeof s!="object")return;e.push(s)}const n=Object.keys(e[0]).filter(r=>e.every(s=>Object.prototype.hasOwnProperty.call(s,r)));for(const r of n){const s=[];let o=!0;for(const a of e){const c=a[r],u=c&&(c.type==="string"||c.type==="number"),l=c==null?void 0:c.enum;if(!u||!Array.isArray(l)||l.length!==1){o=!1;break}s.push(String(l[0]))}if(!o||new Set(s).size!==s.length)continue;const i={};return s.forEach((a,c)=>{i[a]=`#/oneOf/${c}`}),{propertyName:r,mapping:i}}}function Dn(t,e,n){if(e>6)return{};const r=t.trim();if(r==="string")return{type:"string"};if(r==="number")return{type:"number"};if(r==="boolean")return{type:"boolean"};if(r==="null")return{type:"null"};if(r==="undefined")return{type:"null"};const s=Xr[r];if(s!==void 0)return s;if(n!=null&&n.size){const o=n.get(r);if(o!==void 0){const i=Xr[o];if(i!==void 0)return i}}if(r.endsWith("[]"))return{type:"array",items:Dn(r.slice(0,-2),e+1,n)};if(r.includes("|")){const o=r.split("|").map(c=>c.trim());if(o.every(c=>c.startsWith("'")))return{type:"string",enum:o.map(c=>c.replace(/'/g,""))};const i=o.map(c=>Dn(c,e+1,n)),a=Ds(i);return{oneOf:i,...a?{discriminator:a}:{},[Qn]:"union"}}if(r.startsWith("{")&&r.endsWith("}")){const o=r.slice(1,-1).trim(),i={};for(const a of o.split(";").filter(Boolean)){const[c,u]=a.split(":").map(l=>l.trim());c&&u&&(i[c.replace("?","")]=Dn(u,e+1,n))}return{type:"object",properties:i}}return{}}function Xc(t){const e=[];let n=0,r=0;for(let o=0;o<t.length;o++){const i=t[o];i==="<"||i==="["||i==="{"||i==="("?n++:i===">"||i==="]"||i==="}"||i===")"?n--:i===","&&n===0&&(e.push(t.slice(r,o).trim()),r=o+1)}const s=t.slice(r).trim();return s.length>0&&e.push(s),e}function Rd(t){const e=/^(?:Readonly)?Map<(.+)>$/.exec(t);return e?e[1]:void 0}function Md(t){const e=/^(?:Readonly)?Set<(.+)>$/.exec(t);return e?e[1]:void 0}function Dd(t){let e=t.trim();if(e.startsWith("readonly ")&&(e=e.slice(9).trim()),!e.startsWith("[")||!e.endsWith("]"))return;const n=e.slice(1,-1).trim();if(n.length!==0)return Xc(n)}async function Ld(t,e){const n=t.trim(),r=Rd(n);if(r!==void 0){const i=Xc(r);if(i.length===2){const[a,c]=await Promise.all([e(i[0]),e(i[1])]);return{type:"array",items:{type:"array",items:[a,c],minItems:2,maxItems:2}}}}const s=Md(n);if(s!==void 0)return{type:"array",items:await e(s),uniqueItems:!0};const o=Dd(n);if(o!==void 0){const i=await Promise.all(o.map(a=>e(a)));return{type:"array",items:i,minItems:i.length,maxItems:i.length}}}const Zc={"decimal.js":"Decimal"},Xr={Date:{type:"string",format:"date-time"},bigint:{type:"string",format:"int64"},Uint8Array:{type:"string",format:"byte"},Buffer:{type:"string",format:"byte"},URL:{type:"string",format:"uri"},RegExp:{type:"string",format:"regex"},Decimal:{type:"string",format:"decimal"}},wi={Uint8Array:"byte",Buffer:"byte",Decimal:"decimal"};function bi(t){var e;const n=new Map;for(const r of t.getImportDeclarations()){const s=r.getModuleSpecifierValue(),o=Zc[s];if(!o)continue;const i=r.getDefaultImport();if(i){const a=i.getText();a!==o&&n.set(a,o)}for(const a of r.getNamedImports()){const c=((e=a.getAliasNode())==null?void 0:e.getText())??a.getName();c!==o&&n.set(c,o)}}return n}function Bd(t,e){return n=>{n.addNodeParser({supportsNode(r){var s,o,i;if(r.kind!==e)return!1;const a=((s=r.typeName)==null?void 0:s.escapedText)??((i=(o=r.typeName)==null?void 0:o.right)==null?void 0:i.escapedText);return a!==void 0&&Object.prototype.hasOwnProperty.call(wi,a)},createType(r){var s,o,i;const a=((s=r.typeName)==null?void 0:s.escapedText)??((i=(o=r.typeName)==null?void 0:o.right)==null?void 0:i.escapedText);return new at.AnnotatedType(new at.StringType,{format:wi[a]},!1)}}),n.addNodeParser({supportsNode(r){return r.kind===t},createType(){return new at.AnnotatedType(new at.StringType,{format:"int64"},!1)}})}}let Wt;function Ud(){if(Wt)return Wt;try{const t=q.dirname(require.resolve("ts-json-schema-generator/package.json"));Wt=require(require.resolve("typescript",{paths:[t]}))}catch{Wt=require("typescript")}return Wt}const Ge=new Map;function Vd(){const t=process.env.APIGEN_PROGRAM_CACHE,e=t===void 0?NaN:Number(t);return Number.isFinite(e)&&e>=0?e:8}function Fd(t){const e=Ge.get(t);return e&&(Ge.delete(t),Ge.set(t,e)),e}function qd(t,e){const n=Vd();if(n!==0)for(Ge.delete(t),Ge.set(t,e);Ge.size>n;){const r=Ge.keys().next().value;Ge.delete(r)}}function Kd(t,e){return`${t}\0${e??""}`}const zd=new Set(["zod",/^zod\/./]);function Gd(t){for(const e of t.getImportDeclarations()){const n=e.getModuleSpecifierValue();for(const r of zd)if(typeof r=="string"){if(n===r)return!0}else if(r.test(n))return!0}return!1}function Wd(t){for(const e of["$defs","definitions"]){const n=t[e];if(!n||typeof n!="object")continue;const r=Object.keys(n);if(r.length===0)continue;const s=new Set(r.filter(o=>/zod/i.test(o)));for(const[o,i]of Object.entries(n)){if(s.has(o)||typeof i!="object"||i===null)continue;const a=i,c=typeof a.$ref=="string"?a.$ref:"";if(c){for(const u of s)if(c.includes(u)){s.add(o);break}}}for(const o of s)delete n[o]}Zr(t)}function Zr(t,e){if(!t||typeof t!="object")return;const n=e??new WeakSet;if(!n.has(t)){n.add(t);for(const r of Object.keys(t))if(r==="$ref"&&typeof t[r]=="string"){const s=t[r];/zod/i.test(s)&&delete t[r]}for(const[,r]of Object.entries(t))if(typeof r=="object"&&r!==null)if(Array.isArray(r))for(const s of r)typeof s=="object"&&s!==null&&Zr(s,n);else Zr(r,n)}}function Hd(t){const e=new Set;for(const r of["$defs","definitions"]){const s=t[r];if(s&&typeof s=="object")for(const o of Object.keys(s))e.add(o)}const n=es(t,e);if(n.length>0)throw new Error(`[apigen-core-client] Generated schema contains ${n.length} unresolvable $ref(s): ${n.join(", ")}. This usually means zod-internal definitions were stripped but $ref references to them remain. Check the source file's imports or the ts-json-schema-generator output.`)}function es(t,e){if(!t||typeof t!="object")return[];const n=[];for(const[r,s]of Object.entries(t))if(r==="$ref"&&typeof s=="string"){const o=s.match(/#\/(?:\$defs|definitions)\/(.+)$/);o&&!e.has(o[1])&&n.push(s)}else if(typeof s=="object"&&s!==null)if(Array.isArray(s))for(const o of s)typeof o=="object"&&o!==null&&n.push(...es(o,e));else n.push(...es(s,e));return n}function Jd(t){const e=t.anyOf;if(!Array.isArray(e)||e.length<2)return t;const n=e,r=Ds(n),s={...t};return delete s.anyOf,{...s,oneOf:n,...r?{discriminator:r}:{},[Qn]:s[Qn]??"union"}}function Qd(t,e,n){const{DEFAULT_CONFIG:r}=require("ts-json-schema-generator/dist/src/Config.js"),s={...r,...t},o=s.path,i=Kd(o,s.tsconfig);let a;a=n?n.statVersion(o):Qc(o);let c;if(i!==void 0){const l=(n==null?void 0:n.generatorCache.get(i))??Fd(i);l&&l.version===a&&(c=l.gen)}if(!c){const{createProgram:l}=require("ts-json-schema-generator/dist/factory/program.js"),f=Ud(),m=Bd(f.SyntaxKind.BigIntKeyword,f.SyntaxKind.TypeReference),p=l(s),d=at.createParser(p,s,m),v=at.createFormatter(s);if(c=new at.SchemaGenerator(p,d,v,s),n&&n.stats.generatorsBuilt++,i!==void 0&&a!==void 0){const g={version:a,gen:c};qd(i,g),n==null||n.generatorCache.set(i,g)}}const u=c.createSchema(s.type);return Wd(u),Hd(u),u}function Yd(t,e){let n=t.trim();if(n=tu(n),e!=null&&e.size){const s=e.get(n);if(s!==void 0)return s}const r=n.match(/^ReadonlyArray<(.+)>$/);for(r&&(n=`${r[1].trim()}[]`);n.startsWith("readonly ");)n=n.slice(9).trim();return n}function eu(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const Xd=Object.entries(Zc).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${eu(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function tu(t){let e=t;for(const{pattern:n,key:r}of Xd)e=e.replace(n,r);return e}function Zd(t,e){let n=tu(t);for(const[r,s]of e)n=n.replace(new RegExp(`\\b${eu(r)}\\b`,"g"),s);return n}async function un(t,e,n,r,s,o){const i=e.getFilePath(),a=`${i}\0${r??""}\0${n}`,c=o??new Set;if(c.has(a))return{};if(!s){const d=new Set(c);return d.add(a),Ei(t,e,n,r,void 0,d)}const u=s.schemaCache.get(a);if(u!==void 0)return s.stats.schemaCacheHits++,u;const l=Sd(i,r,s.statVersion(i)),f=l.get(n);if(f!==void 0)return s.stats.schemaCacheHits++,s.schemaCache.set(a,Promise.resolve(f)),f;s.stats.schemaCacheMisses++;const m=new Set(c);m.add(a);const p=Ei(t,e,n,r,s,m).then(d=>(l.set(n,d),d)).catch(d=>{throw s.schemaCache.delete(a),d});return s.schemaCache.set(a,p),p}async function Ei(t,e,n,r,s,o){if(["void","undefined","null","Promise<void>"].includes(n))return{type:"null"};let i;if(s){const m=s.aliasCache.get(e);i=m??bi(e),m||s.aliasCache.set(e,i)}else i=bi(e);const a=Yd(n,i),c=Xr[a];if(c!==void 0)return c;const u=await Ld(a,m=>un(t,e,m,r,s,o));if(u!==void 0)return u;const l=(s==null?void 0:s.zodImportCache.get(e))??Gd(e);if(s&&s.zodImportCache.set(e,l),!l)try{const m={path:e.getFilePath(),type:a,skipTypeCheck:!0,tsconfig:r,topRef:!1},p=Qd(m,!0,s);return Jd(p)}catch{}try{const m=await Cd(t,e,a,p=>Yc(p,d=>un(t,e,d,r,s,o),0));if(m!==void 0)return m}catch{}const f=Zd(a,i);return Dn(f,0,i)}function Ls(t,e,n){if(t!=null&&t.hasInitializer()){const r=t.getInitializer();if(r)return r.getText()}return ep(n,e)}function ep(t,e){var n;const r=t,s=((n=r==null?void 0:r.getJsDocs)==null?void 0:n.call(r))??[],o=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=new RegExp(`\\[\\s*${o}\\s*=\\s*([^\\]]+)\\]`);for(const a of s)for(const c of a.getTags()){if(c.getTagName()!=="param")continue;const u=c.getText().match(i);if(u)return u[1].trim()}}function tp(t){const e=t.trim(),n=e.match(/^(['"`])([\s\S]*)\1$/);if(n)return n[2];if(e==="true")return!0;if(e==="false")return!1;if(e==="null")return null;if(e!=="undefined"){if(/^-?\d+(\.\d+)?$/.test(e))return Number(e);try{return JSON.parse(e)}catch{return e}}}function np(t,e){const n=tp(e);if(n===void 0)return;t.default=n;const r=typeof n=="string"?n:JSON.stringify(n),s=typeof t.description=="string"?t.description:void 0;t.description=s?`${s} (default: ${r})`:`(default: ${r})`}async function rp(t){const e=t.session===void 0,n=Od(t.session??Nd());try{return await sp(t,n)}finally{e&&n.dispose()}}async function sp(t,e){const{sourceFile:n,namespace:r="",tsconfig:s}=t,o=e.projectFor(s),i=e.sourceFileFor(n,s),a=q.basename(n),c=Re(cp(a)),u=Re(r),l=[];for(const[p,d]of i.getExportedDeclarations()){if(p==="default"||Sn(p))continue;const v=lp(d);if(v){const S=v.getSignature(),N=Si(S,v),k=S.getReturnType().getText();l.push(await En(o,i,u,c,p,N,k,v.isAsync(),s,e));continue}const g=d.find(S=>S.getKindName()==="VariableDeclaration");if(!g)continue;const y=g.getInitializer(),$=y==null?void 0:y.getKindName();if(y&&["ArrowFunction","FunctionExpression"].includes($??"")){const S=g.getType().getCallSignatures();if(S.length===0)continue;const N=S[0],k=Ni(N,g,g.getVariableStatement()),C=N.getReturnType().getText(),F=y.isAsync();l.push(await En(o,i,u,c,p,k,C,F,s,e))}else if($==="ObjectLiteralExpression"){const S=g.getType();for(const N of S.getProperties()){const k=N.getName();if(Sn(k))continue;const C=N.getTypeAtLocation(g).getCallSignatures();if(C.length===0)continue;const F=C[0],ee=Ni(F,g,g.getVariableStatement()),ae=F.getReturnType().getText(),me=[c,Re(p),Re(k)];l.push(await Ln(o,i,u,me,k,ee,ae,!1,s,e))}}else{const S=g.getType(),N=S.getText();if(rt(S,g)){const k=await un(o,i,N,s,e);l.push(ip(u,c,p,k))}else console.warn(`[apigen-core] Skipping non-callable, non-serializable export: ${p}`)}}const f=i.getDefaultExportSymbol();if(f){const p=i.getExportAssignment(d=>!d.isExportEquals());if(p){const d=p.getExpression(),v=d.getKindName();if(["ArrowFunction","FunctionExpression"].includes(v)){const g=d.getType().getCallSignatures();if(g.length>0){const y=g[0],$=Mr(y,p),S=y.getReturnType().getText(),N=d.isAsync();l.push(await En(o,i,u,c,"default",$,S,N,s,e))}}else{const g=d.getType();for(const y of g.getProperties()){const $=y.getName();if(Sn($))continue;const S=y.getTypeAtLocation(p).getCallSignatures();if(S.length===0)continue;const N=S[0],k=Mr(N,p),C=N.getReturnType().getText(),F=[c,Re("default"),Re($)];l.push(await Ln(o,i,u,F,$,k,C,!1,s,e))}}}else{const d=f.getDeclarations();for(const v of d){if(v.getKindName()!=="FunctionDeclaration")continue;const g=v,y=g.getName(),$=y&&y.length>0?y:"default",S=g.getSignature(),N=Si(S,g),k=S.getReturnType().getText();l.push(await En(o,i,u,c,$,N,k,g.isAsync(),s,e))}}}const m=up(i);if(m.length>0)for(const{name:p,sig:d}of m){if(Sn(p))continue;const v=Mr(d),g=d.getReturnType().getText(),y=[c,Re(p)];l.push(await Ln(o,i,u,y,p,v,g,!1,s,e))}return l}function op(t,e,n,r){const s=new Set,o=i=>{if(Array.isArray(i))return i.map(o);if(!i||typeof i!="object"||s.has(i))return i;s.add(i);try{const a=i,c={};for(const[u,l]of Object.entries(a)){if(u==="definitions"||u==="$defs"){const f=u,m=e[f];for(const[p,d]of Object.entries(l)){const v=o(d),g=m[p];if(g!==void 0&&JSON.stringify(g)!==JSON.stringify(v))throw new Error(`[apigen-core-client] Function "${n}": param "${r}" contributes a "${f}.${p}" definition that conflicts with an identically-named definition already hoisted from another param/output in the same function. Two structurally different types share the same generated definition key, so apigen cannot safely merge them into one function-level schema.`);m[p]=v}continue}c[u]=o(l)}return c}finally{s.delete(i)}};return o(t)}async function En(t,e,n,r,s,o,i,a,c,u){const l=Re(s);return Ln(t,e,n,[r,l],s,o,i,a,c,u)}async function Ln(t,e,n,r,s,o,i,a,c,u){const l=o.length>0&&o[0].name==="ctx",f=o.filter($=>$.name!=="ctx"),m=f.filter($=>!$.optional).map($=>$.name),p={},d={definitions:{},$defs:{}};for(const $ of f){const S=await un(t,e,$.type,c,u),N=op(S,d,s,$.name);$.defaultValue!==void 0&&np(N,$.defaultValue),p[$.name]=N}const v=i.replace(/^Promise<(.+)>$/,"$1").trim(),g=await un(t,e,v,c,u),y={type:"object",properties:p,required:m,...Object.keys(d.definitions).length>0?{definitions:d.definitions}:{},...Object.keys(d.$defs).length>0?{$defs:d.$defs}:{}};return{id:nu(n,r),host:"ts",namespace:n,path:r,kind:"action",async:a,streaming:!1,safe:!1,input:y,output:g,envelope:{},typeText:{lang:"ts",input:fp(o),output:v},...l?{hasCtx:!0}:{}}}function ip(t,e,n,r){const s=Re(n),o=[e,s];return{id:nu(t,o),host:"ts",namespace:t,path:o,kind:"query",async:!1,streaming:!1,safe:!0,input:{type:"object",properties:{},required:[]},output:r,envelope:{},typeText:null}}function nu(t,e){return(t.raw?[t,...e]:e).map(n=>n.words.join("-")).join("/")}function ap(t){return t.split(/[-_.]+/).flatMap(e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").split("_").filter(Boolean)).map(e=>e.toLowerCase()).filter(Boolean)}function Re(t){return{raw:t,words:ap(t)}}function cp(t){return t.replace(/\.[^.]+$/,"").replace(/[._]+/g,"-")}function up(t){const e=[];for(const n of t.getStatements()){if(n.getKindName()!=="ExpressionStatement")continue;const r=n.getExpression();if(r.getKindName()!=="BinaryExpression")continue;const s=r;if(s.getLeft().getText().trim()!=="module.exports"||s.getOperatorToken().getKindName()!=="EqualsToken")continue;const o=s.getRight(),i=o.getType();for(const a of i.getProperties()){const c=a.getTypeAtLocation(o).getCallSignatures();c.length!==0&&e.push({name:a.getName(),sig:c[0]})}}return e}function lp(t){let e;for(const n of t){if(n.getKindName()!=="FunctionDeclaration")continue;const r=n;if(e||(e=r),r.getBody())return r}return e}function Si(t,e){return t.getParameters().map(n=>{var r;const s=n.getDeclarations(),o=s.length>0&&s[0].getKindName()==="Parameter"?s[0]:null,i=n.isOptional()||((o==null?void 0:o.hasInitializer())??!1)||(((r=o==null?void 0:o.hasQuestionToken)==null?void 0:r.call(o))??!1);return{name:n.getName(),type:n.getTypeAtLocation(t.getDeclaration()).getText(),optional:i,defaultValue:Ls(o,n.getName(),e)}})}function Ni(t,e,n){return t.getParameters().map(r=>{var s;const o=r.getDeclarations(),i=o.length>0&&o[0].getKindName()==="Parameter"?o[0]:null,a=r.isOptional()||((i==null?void 0:i.hasInitializer())??!1)||(((s=i==null?void 0:i.hasQuestionToken)==null?void 0:s.call(i))??!1);return{name:r.getName(),type:r.getTypeAtLocation(e).getText(),optional:a,defaultValue:Ls(i,r.getName(),n??e)}})}function Mr(t,e){return t.getParameters().map(n=>{var r,s,o;const i=n.getDeclarations(),a=i.length>0&&i[0].getKindName()==="Parameter"?i[0]:null,c=n.isOptional()||((a==null?void 0:a.hasInitializer())??!1)||(((r=a==null?void 0:a.hasQuestionToken)==null?void 0:r.call(a))??!1);return{name:n.getName(),type:a?a.getType().getText():((o=(s=n.getValueDeclaration())==null?void 0:s.getType())==null?void 0:o.getText())??"unknown",optional:c,defaultValue:Ls(a,n.getName(),e)}})}function fp(t){const e=t.filter(n=>n.name!=="ctx");return e.length===0?"()":"("+e.map(n=>`${n.name}${n.optional?"?":""}: ${n.type}`).join(", ")+")"}function Sn(t){return!!(t==="__samples__"||t.startsWith("__"))}function rt(t,e,n=new Set){if(t.getCallSignatures().length>0||t.getConstructSignatures().length>0)return!1;if(t.isString()||t.isNumber()||t.isBoolean()||t.isNull()||t.isUndefined()||t.isStringLiteral()||t.isNumberLiteral()||t.isBooleanLiteral()||t.isEnumLiteral())return!0;if(t.isArray()||t.isReadonlyArray()){const r=t.getArrayElementType();return r?rt(r,e,n):!1}if(t.isTuple())return t.getTupleElements().every(r=>rt(r,e,n));if(t.isUnion())return t.getUnionTypes().every(r=>rt(r,e,n));if(t.isIntersection())return t.getIntersectionTypes().every(r=>rt(r,e,n));if(t.isObject()){const r=t.getText(e);if(n.has(r))return!0;n.add(r);const s=t.getStringIndexType(),o=t.getNumberIndexType();if(s||o)return[s,o].every(a=>!a||rt(a,e,n));const i=t.getProperties();return i.length===0?!0:i.every(a=>{const c=a.getTypeAtLocation(e);return rt(c,e,n)})}return!1}const Oi=new Set(["string","number","boolean","integer"]);function dp(t){if(typeof t!="object"||t===null)return!1;const e=t;if(e.$ref!==void 0||e.oneOf||e.anyOf||e.allOf)return!1;const{type:n}=e;return typeof n=="string"?Oi.has(n):Array.isArray(n)?n.every(r=>Oi.has(r)||r==="null"):Array.isArray(e.enum)&&e.enum.length>0?e.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function pp(t){if(!t||typeof t!="object")return!1;const e=t.properties;return e===void 0||typeof e!="object"||e===null?!1:Object.values(e).every(dp)}const hp={"decimal.js":"Decimal"};function mp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(hp).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${mp(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function _i(t){return t.words.join("-")}function ki(t){return t.words.map(vp).join("")}function Ii(t){return t.words.join("_")}function gp(t,e={}){var n,r;const s=[t.namespace,...t.path],o=t.safe||pp(t.input)?"GET":"POST",i=((r=(n=e.http)==null?void 0:n.verb)==null?void 0:r[t.id])??o,a="/"+s.map(p=>_i(p)).join("/"),c=s.map(p=>Ii(p)).join("_"),u=s.map(p=>Ii(p)).slice(0,-1).join("."),l=ki(s[s.length-2]??s[0]),f=ki(s[s.length-1]),m=s.map(p=>_i(p));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:m}}}function yp(t,e){return`x-${t}-${e}`}function vp(t){return t.length===0?t:t[0].toUpperCase()+t.slice(1)}const $p=["invalid_argument","unauthenticated","permission_denied","not_found","internal"],wp={invalid_argument:400,unauthenticated:401,permission_denied:403,not_found:404,internal:500};function ru(t){return typeof t=="object"&&t!==null&&t.name==="ApiError"&&$p.includes(t.code)&&typeof t.toJSON=="function"}const bp={"decimal.js":"Decimal"};function Ep(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(bp).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${Ep(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function ts(t){return t.split(/[-_.]+/).flatMap(e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").split("_").filter(Boolean)).map(e=>e.toLowerCase()).filter(Boolean)}function Ai(t){return{raw:t,words:ts(t)}}function Sp(t,e,n,r){for(const s of r??[]){const o=s.path[s.path.length-1];if(s.namespace.raw===t&&(o==null?void 0:o.raw)===e)return s}return{id:`${ts(t).join("-")}/${ts(e).join("-")}`,host:"ts",namespace:Ai(t),path:[Ai(e)],kind:"action",async:!1,streaming:!1,safe:n["x-apigen-safe"]??!1,input:n.input??{},output:n.output??{},envelope:{},typeText:null}}function Np(t,e,n,r,s,o){const i=Sp(t,e,n,r),{route:a,verb:c}=gp(i,o).http;return{route:s+a,verb:c}}const ns="$apigen";let Pi=class extends Error{constructor(e){super(e),this.code="E_DUP_CODEC",this.name="CodecRegistryError"}};function Op(t){const e=new Map;return{register(n,r){if(e.has(n.id)&&!(r!=null&&r.override))throw new Pi(`E_DUP_CODEC: a codec is already registered for id "${n.id}"`);e.set(n.id,n)},resolve(n){for(const r of e.values())if(r.matches(n))return r},get(n){return e.get(n)},ids(){return[...e.keys()]},freeze(){const n=new Map(e),r={register(){throw new Pi("E_DUP_CODEC: registry is frozen and cannot accept new codecs")},resolve(s){for(const o of n.values())if(o.matches(s))return o},get(s){return n.get(s)},ids(){return[...n.keys()]},freeze(){return r}};return r}}}const Bs="x-apigen-logical",Us="x-apigen-codec",rs="x-apigen-ctor",ss="x-apigen-tojson",_p="0.1.0";function ji(t,e){return{registry:t,resolve:n=>{throw new Error(`[apigen-logical] $ref "${n}" cannot be resolved in run-mode without a descriptor root. Supply a resolve() in the ctx override to handle $ref.`)},seen:new WeakSet,path:"",mode:"strict",...e}}function St(t,e,n){const r=n.registry.resolve(e);if(r)return r.encode(t,e,n);const s=e.$ref;if(typeof s=="string"){const a=n.resolve(s);return St(t,a,n)}const o=e.oneOf;if(Array.isArray(o)){const a=su(t,o,e);return St(t,a,n)}const i=e.type;if(i==="array"){if(!Array.isArray(t))return Dr(t,e,n);const a=e.items;if(!a)return t.map(u=>ut(u));const c=n.path;return Array.isArray(a)?t.map((u,l)=>{const f=a[l];return f===void 0?ut(u):St(u,f,{...n,path:`${c}/${l}`})}):t.map((u,l)=>St(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(t===null||typeof t!="object"||Array.isArray(t))return Dr(t,e,n);const a=e.properties;if(!a)return ut(t);const c=n.path,u={};for(const[l,f]of Object.entries(a)){const m=t[l];m!==void 0&&(u[l]=St(m,f,{...n,path:`${c}/${l}`}))}return u}return i==null?Dr(t,e,n):ut(t)}function Nt(t,e,n){const r=n.registry.resolve(e);if(r)return r.decode(t,e,n);const s=e.$ref;if(typeof s=="string"){const a=n.resolve(s);return Nt(t,a,n)}const o=e.oneOf;if(Array.isArray(o)){const a=su(t,o,e);return Nt(t,a,n)}const i=e.type;if(i==="array"){if(!Array.isArray(t))return t;const a=e.items;if(!a)return t;const c=n.path;return Array.isArray(a)?t.map((u,l)=>{const f=a[l];return f===void 0?u:Nt(u,f,{...n,path:`${c}/${l}`})}):t.map((u,l)=>Nt(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(t===null||typeof t!="object"||Array.isArray(t))return t;const a=e.properties;if(!a)return t;const c=n.path,u={};for(const[l,f]of Object.entries(a)){const m=t[l];m!==void 0&&(u[l]=Nt(m,f,{...n,path:`${c}/${l}`}))}return u}return i==null?kp(t,n):t}function su(t,e,n,r){const s=n.discriminator;if(s!=null&&s.propertyName){const o=t!==null&&typeof t=="object"?t[s.propertyName]:void 0;if(typeof o=="string"&&s.mapping){const i=s.mapping[o];if(i){const a=e.find(c=>c.$ref===i);if(a)return a}}}return e[0]??{}}function Dr(t,e,n){for(const r of n.registry.ids()){const s=n.registry.get(r);if(s)try{const o=s.encode(t,s.schema,n);return{[ns]:r,v:o}}catch{}}return ut(t)}function kp(t,e){if(t!==null&&typeof t=="object"&&!Array.isArray(t)&&ns in t){const n=t,r=n[ns],s=e.registry.get(r);if(s)return s.decode(n.v,s.schema,e)}return t}function ut(t){if(t===null||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(ut);if(typeof t=="object"){const e={};for(const[n,r]of Object.entries(t))r!==void 0&&(e[n]=ut(r));return e}return null}function Ip(t){return{encode(e,n,r){const s=ji(t,r);return St(e,n,s)},decode(e,n,r){const s=ji(t,r);return Nt(e,n,s)}}}const Vs={id:"date-time",kind:"scalar",schema:{type:"string",format:"date-time"},matches(t){return t.type==="string"&&t.format==="date-time"},encode(t,e,n){return t.toISOString()},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[date-time] expected a string on the wire at "${n.path}", got ${typeof t}`);return new Date(String(t))}if(n.mode==="strict"&&Number.isNaN(new Date(t).getTime()))throw new TypeError(`[date-time] invalid date-time string at "${n.path}": ${JSON.stringify(t)}`);return new Date(t)}},Fs={id:"int64",kind:"scalar",schema:{type:"string",format:"int64"},matches(t){return t.type==="string"&&t.format==="int64"},encode(t,e,n){return String(t)},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[int64] expected a string on the wire at "${n.path}", got ${typeof t}`);try{return BigInt(Math.trunc(Number(t)))}catch{return BigInt(0)}}if(n.mode==="strict")return BigInt(t);if(/^-?\d+$/.test(t))try{return BigInt(t)}catch{return BigInt(0)}return BigInt(0)}},qs={id:"decimal",kind:"scalar",schema:{type:"string",format:"decimal"},matches(t){return t.type==="string"&&t.format==="decimal"},encode(t,e,n){return t},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[decimal] expected a string on the wire at "${n.path}", got ${typeof t}`);return String(t)}if(n.mode==="strict"&&!/^-?\d+(\.\d+)?$/.test(t))throw new TypeError(`[decimal] wire value "${t}" at "${n.path}" is not a valid decimal string`);return t}},Ks={id:"byte",kind:"scalar",schema:{type:"string",format:"byte"},matches(t){return t.type==="string"&&t.format==="byte"},encode(t,e,n){return Buffer.from(t).toString("base64")},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[byte] expected a base64 string on the wire at "${n.path}", got ${typeof t}`);return new Uint8Array(0)}if(n.mode==="strict"&&!/^[A-Za-z0-9+/]*={0,2}$/.test(t))throw new TypeError(`[byte] wire value at "${n.path}" is not standard base64 (format:byte): "${t}"`);return new Uint8Array(Buffer.from(t,"base64"))}},Ap=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,zs={id:"uuid",kind:"scalar",schema:{type:"string",format:"uuid"},matches(t){return t.type==="string"&&t.format==="uuid"},encode(t,e,n){return t.toLowerCase()},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[uuid] expected a string on the wire at "${n.path}", got ${typeof t}`);return String(t).toLowerCase()}if(n.mode==="strict"&&!Ap.test(t))throw new TypeError(`[uuid] wire value "${t}" at "${n.path}" is not a lowercase-hyphenated RFC 4122 UUID`);return t}},os="NaN",is="Infinity",as="-Infinity",Pp=new Set([os,is,as]),Gs={id:"number-special",kind:"scalar",schema:{type:"number"},matches(t){return t.type==="number"&&t.format===void 0},encode(t,e,n){return Number.isNaN(t)?os:t===1/0?is:t===-1/0?as:t},decode(t,e,n){if(typeof t=="number")return t;if(typeof t=="string"){if(t===os)return NaN;if(t===is)return 1/0;if(t===as)return-1/0;const r=Number(t);if(!Number.isNaN(r))return r}if(n.mode==="strict")throw new TypeError(`[number-special] unrecognized wire value at "${n.path}": ${JSON.stringify(t)}. Expected a number or one of ${[...Pp].join(", ")}.`);return NaN}},jp=[Vs,Fs,qs,Ks,zs,Gs];function xp(t,e={}){for(const n of jp)t.register(n,{override:e.override??!1})}Vs.id,Fs.id,qs.id,Ks.id,zs.id,Gs.id;const ou=Op();xp(ou);const iu=Ip(ou.freeze());function Tp(t,e){var n;const r=((n=t.input)==null?void 0:n.properties)??{};return e in r}function Cp(t){var e,n;const r=(n=(e=t.input)==null?void 0:e.properties)==null?void 0:n.data;return Object.keys((r==null?void 0:r.properties)??{})}function Rp(t,e){var n,r,s;const o=(s=(r=(n=t.input)==null?void 0:n.properties)==null?void 0:r.data)==null?void 0:s.properties,i=o==null?void 0:o[e];return i!==void 0?i:void 0}function Mp(t,e){return e===void 0||t===void 0?t:iu.decode(t,e)}function Lr(t,e){const n=e.output;return!n||Object.keys(n).length===0?t:iu.encode(t,n)}async function Dp(t,e,n,r,s,o){const i=Cp(n).map(c=>Mp(o[c],Rp(n,c)));if(Tp(n,"session")&&e){const c=await e({session:s.session}),u=await t[r](c,...i);return Lr(u,n)}if(n.hasCtx){const c=e?await e(s):void 0,u=await t[r](c,...i);return Lr(u,n)}const a=await t[r](...i);return Lr(a,n)}let Br=class{constructor(){this._map=new Map}set(e,n){this._map.set(e,n)}get(e){return this._map.get(e)}has(e){return this._map.has(e)}};function Lp(t=[]){return async function(e,n,r){const s=r.schemas[e];if(!s)throw new Error(`apigen/invoke: no schema found for operation "${e}"`);const o=()=>Dp(r.fns,r.createClient,s,e,n.envelope,n.domainArgs);return t.reduceRight((i,a)=>()=>a(n,i),o)()}}const Bp={"decimal.js":"Decimal"};function Up(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(Bp).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${Up(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function Vp(t={}){const e=t.level??"info",n=typeof t.destination=="string"&&t.destination.length>0,r=!n&&!!process.stderr.isTTY,s=t.format??(r?"pretty":"json"),o={level:e};if(s==="pretty")return o.transport={target:"pino-pretty",options:{colorize:!n,translateTime:"SYS:HH:MM:ss.l",ignore:"pid,hostname",...n?{destination:t.destination,mkdir:!0}:{destination:2}}},We(o);const i=n?We.destination({dest:t.destination,mkdir:!0,sync:!0}):We.destination(2);return We(o,i)}function au(t){return t?t.type==="array"?`${au(t.items)}[]`:t.enum?"enum":t.$ref?String(t.$ref).split("/").pop()||"object":t.anyOf||t.oneOf?"union":t.type??"object":"unknown"}function Fp(t){var e;const n=(e=((t==null?void 0:t.input)??{}).properties)==null?void 0:e.data,r=(n==null?void 0:n.properties)??{},s=new Set((n==null?void 0:n.required)??[]),o=Object.entries(r).map(([a,c])=>({name:a,type:au(c),required:s.has(a)})),i=o.map(a=>`${a.name}${a.required?"":"?"}: ${a.type}`).join(", ");return{params:o,text:i}}function qp(t){let e;return Array.isArray(t)?e=t:t?e=[t]:e=[],e.find(n=>n==="number"||n==="integer"||n==="boolean")}function Kp(t,e){var n,r;const s=((r=(n=((e==null?void 0:e.input)??{}).properties)==null?void 0:n.data)==null?void 0:r.properties)??{},o={...t};for(const[i,a]of Object.entries(s)){const c=o[i];if(typeof c!="string")continue;const u=qp(a==null?void 0:a.type);if(u==="number"||u==="integer"){const l=Number(c);!Number.isNaN(l)&&c.trim()!==""&&(o[i]=l)}else u==="boolean"&&(c==="true"?o[i]=!0:c==="false"&&(o[i]=!1))}return o}let zp=class extends Error{constructor(e,n,r){super(n),this.name="ApiError",this.code=e,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){const e={code:this.code,message:this.message};return this.details!==void 0&&(e.details=this.details),e}};const ar=new Fa({allErrors:!0});qa(ar);for(const t of[Bs,Us,rs,ss,"discriminator"])ar.addKeyword({keyword:t,valid:!0});ar.addFormat("decimal",/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/);function Gp(t){return t.map(e=>`${e.instancePath||"(root)"} ${e.message??"failed schema check"}`).join("; ")}function Wp(t){return async function(e,n){const r=e.operation.id,s=t[r];if(s===void 0)return n();const o={data:e.domainArgs,...e.envelope},i=ar.compile(s.input);if(!i(o)){const a=i.errors??[];throw new zp("invalid_argument",`Validation failed: ${Gp(a)}`,a)}return n()}}class et extends Error{constructor(e,n){super(n),this.name="UnionCodecError",this.code=e}}function Ur(t){const e=t.discriminator;if(e===null||typeof e!="object"||Array.isArray(e))return;const n=e;if(typeof n.propertyName!="string")return;const r=n.mapping;if(!(r===null||typeof r!="object"||Array.isArray(r)))return{propertyName:n.propertyName,mapping:r}}function cu(t,e){const n=t[Us];if(typeof n=="string"){const r=e.registry.get(n);if(r)return r}return e.registry.resolve(t)}function Hp(t,e,n){const r=cu(e,n);return r?r.encode(t,e,n):t}function Jp(t,e,n){const r=cu(e,n);return r?r.decode(t,e,n):t}function Qp(t){const{id:e,schema:n}=t;return{id:e,kind:"union",schema:n,matches(r){if(r[Bs]==="union")return!0;const s=r.oneOf;return!Array.isArray(s)||s.length===0?!1:Ur(r)!==void 0},encode(r,s,o){const i=Ur(s);if(!i)throw new et("E_UNION_NO_DISCRIMINATOR",`[${e}] schema node at "${o.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:a,mapping:c}=i,u=r[a];if(u==null)throw new et("E_UNION_NO_DISCRIMINATOR",`[${e}] value at "${o.path}" is missing the discriminator property "${a}".`);const l=String(u),f=c[l];if(!f)throw new et("E_UNION_UNKNOWN_TAG",`[${e}] discriminator tag "${l}" at "${o.path}" is not in the mapping (known: ${Object.keys(c).join(", ")}).`);const m=o.resolve(f);return Hp(r,m,{...o,path:`${o.path}[${l}]`})},decode(r,s,o){if(r===null||typeof r!="object"||Array.isArray(r)){let d;throw r===null?d="null":Array.isArray(r)?d="array":d=typeof r,new et("E_UNION_INVALID_WIRE",`[${e}] expected a JSON object on the wire at "${o.path}", got ${d}.`)}const i=r,a=Ur(s);if(!a)throw new et("E_UNION_NO_DISCRIMINATOR",`[${e}] schema node at "${o.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:c,mapping:u}=a,l=i[c];if(l==null)throw new et("E_UNION_NO_DISCRIMINATOR",`[${e}] wire object at "${o.path}" is missing the discriminator property "${c}".`);const f=String(l),m=u[f];if(!m)throw new et("E_UNION_UNKNOWN_TAG",`[${e}] discriminator tag "${f}" on the wire at "${o.path}" is not in the mapping (known: ${Object.keys(u).join(", ")}).`);const p=o.resolve(m);return Jp(r,p,{...o,path:`${o.path}[${f}]`})}}}const Yp="x-apigen-instances";let Nn=class extends Error{constructor(e,n){super(n),this.name="NominalCodecError",this.code=e}};function xi(t){const e=t.properties;return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Xp(t){const e=t.required;return Array.isArray(e)?e.filter(n=>typeof n=="string"):[]}function Ti(t,e,n){if(e){const r=n.registry.resolve(e);if(r)return r.encode(t,e,n)}return t}function Zp(t,e,n){if(e){const r=n.registry.resolve(e);if(r)return r.decode(t,e,n)}return t}function eh(t){const{id:e,schema:n,ctor:r}=t;return{id:e,kind:"nominal",schema:n,matches(s){return s[Bs]==="nominal"?!0:s[Us]===e},encode(s,o,i){if(s===null||typeof s!="object")return s;if(i.seen.has(s)){if(i.mode==="strict")throw new Nn("E_NOMINAL_CYCLE",`[${e}] cycle detected at "${i.path}": a nominal instance references itself. Strict mode rejects cycles (DESIGN §8.3); break the cycle or use 'lossy' mode.`);return null}i.seen.add(s);try{const a=xi(o),c=typeof o[ss]=="string"?o[ss]:"toJSON",u=s[c];if(typeof u=="function"){const d=u.call(s);if(d!==null&&typeof d=="object"&&!Array.isArray(d)){const v={};for(const[g,y]of Object.entries(d))v[g]=Ti(y,a[g],{...i,path:`${i.path}/${g}`});return v}return d}const l={},f=Object.keys(a),m=s,p=f.length>0?f:Object.keys(m);for(const d of p){const v=m[d];v!==void 0&&(l[d]=Ti(v,a[d],{...i,path:`${i.path}/${d}`}))}return l}finally{i.seen.delete(s)}},decode(s,o,i){if(s===null||typeof s!="object"||Array.isArray(s)){let l;throw s===null?l="null":Array.isArray(s)?l="array":l=typeof s,new Nn("E_NOMINAL_INVALID_WIRE",`[${e}] expected a JSON object on the wire at "${i.path}", got ${l}.`)}const a=s;for(const l of Xp(o))if(!(l in a))throw new Nn("E_NOMINAL_INVALID_WIRE",`[${e}] required field "${l}" missing on the wire at "${i.path}".`);if(o[Yp]===!1)throw new Nn("E_NOMINAL_NONRECONSTRUCTABLE",`[${e}] is encode-only: the extractor marked it non-reconstructable (x-apigen-instances:false). It cannot be decoded back to a live instance.`);const c=xi(o),u={};for(const[l,f]of Object.entries(a))u[l]=Zp(f,c[l],{...i,path:`${i.path}/${l}`});if(r){const l=typeof o[rs]=="string"?o[rs]:"fromJSON",f=r[l];if(typeof f=="function")return f.call(r,u);const m=r;return new m(u)}return u}}}const th=[Vs,Fs,qs,Ks,zs,Gs],nh={type:"object","x-apigen-logical":"nominal","x-apigen-codec":"ts.NominalSentinel"},Ci=eh({id:"ts.NominalSentinel",schema:nh}),rh={oneOf:[],discriminator:{propertyName:"kind",mapping:{}},"x-apigen-logical":"union","x-apigen-codec":"ts.UnionSentinel"},Ri=Qp({id:"ts.UnionSentinel",schema:rh});function sh(){const t=[...th.map(e=>[e.id,e]),[Ci.id,Ci],[Ri.id,Ri]];return Object.freeze(new Map(t))}Object.freeze({host:"ts",logicalTypeVersion:_p,codecs:sh()});function Mi(t,e){var n;const r=((n=t.input)==null?void 0:n.properties)??{},s=t["x-apigen-envelope"],o={};for(const i of Object.keys(r)){if(i==="data")continue;const a=(s==null?void 0:s[i])??"adhd",c=yp(a,i),u=e[c];u!==void 0&&(o[i]=u)}return o}function oh(t){return ru(t)?wp[t.code]??500:500}function ih(t){const e=t.usePlugins;return Array.isArray(e)?e:[]}function ah(t){const e=t.useOptions;return e&&typeof e=="object"?e:{}}function ch(t){return async function(e,n){const r=Object.assign(e,{data:e.domainArgs});return await t.layer(r,n)}}function uh(t,e){var n;const r=[];for(const s of e){const o=(n=s.capabilities)==null?void 0:n.layer;o&&r.push(ch(o))}return r.push(Wp(t)),Lp(r)}function lh(t,e,n,r,s){var o;const i=[],a={host:n,operations:s};for(const c of t){const u=(o=c.capabilities)==null?void 0:o.mount;if(!u)continue;const l=u.operations(a,e[c.id]);for(const f of l)f.transports&&!f.transports.includes("http")||i.push({route:`${r}/${f.id}`,handler:f.handler})}return i}function Di(t,e){return t.type("application/json"),JSON.stringify(e===void 0?null:e)}async function fh(t){var e;const n=t.options.port??3e3,r=t.options.host??"127.0.0.1",s=t.options.routePrefix??"",o=t.options.projection??{},i=ih(t.options),a=ah(t.options),c=t.logger??Vp(),u=Ef({logger:c});u.setErrorHandler((p,d,v)=>{const g=oh(p),y=ru(p)?p.toJSON():{code:"internal",message:p.message??"Internal error"};v.status(g).send(y)});const l=[];for(const p of t.packages){const d=uh(p.schemas,i);if(!p.fns)throw new Error(`Package "${p.id}" is missing fns`);const v={fns:p.fns,createClient:p.createClient,schemas:p.schemas};for(const[g,y]of Object.entries(p.schemas)){const{route:$,verb:S}=Np(p.id,g,y,t.operations,s,o),{params:N,text:k}=Fp(y);l.push({method:S,route:$,text:k,params:N}),S==="GET"?u.get($,async(C,F)=>{const ee=Mi(y,C.headers),ae={operation:{id:g},ctx:new Br,envelope:ee,domainArgs:Kp(C.query,y),signal:t.signal};return Di(F,await d(g,ae,v))}):u.post($,async(C,F)=>{const{data:ee={}}=C.body??{},ae=Mi(y,C.headers),me={operation:{id:g},ctx:new Br,envelope:ae,domainArgs:ee,signal:t.signal};return Di(F,await d(g,me,v))})}}const f=((e=t.packages[0])==null?void 0:e.id)??"ts",m=lh(i,a,f,s,t.operations??[]);for(const p of m)l.push({method:"GET",route:p.route,text:"",params:[]}),u.get(p.route,async d=>{const v={operation:{id:p.route},data:{},envelope:{},ctx:new Br,transport:"http",signal:t.signal??new AbortController().signal,raw:d};return p.handler(v)});await u.listen({port:n,host:r}),c.info({host:r,port:n},`listening on http://${r}:${n}`);for(const p of l)c.info({method:p.method,route:p.route,body:{data:p.params}},`${p.method} ${p.route} body { data: {${p.text?` ${p.text} `:""}} }`);return new Promise(p=>{t.signal&&t.signal.addEventListener("abort",async()=>{await u.close(),p()})})}const dh={id:"api-fastify",run(t){return fh(t)}},Li=new Set(["string","number","boolean","integer"]);function ph(t){if(typeof t!="object"||t===null)return!1;const e=t;if(e.$ref!==void 0||e.oneOf||e.anyOf||e.allOf)return!1;const{type:n}=e;return typeof n=="string"?Li.has(n):Array.isArray(n)?n.every(r=>Li.has(r)||r==="null"):Array.isArray(e.enum)&&e.enum.length>0?e.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function hh(t){if(!t||typeof t!="object")return!1;const e=t.properties;return e===void 0||typeof e!="object"||e===null?!1:Object.values(e).every(ph)}const mh={"decimal.js":"Decimal"};function gh(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(mh).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${gh(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function Bi(t){return t.words.join("-")}function Ui(t){return t.words.map(vh).join("")}function Vi(t){return t.words.join("_")}function yh(t,e={}){var n,r;const s=[t.namespace,...t.path],o=t.safe||hh(t.input)?"GET":"POST",i=((r=(n=e.http)==null?void 0:n.verb)==null?void 0:r[t.id])??o,a="/"+s.map(p=>Bi(p)).join("/"),c=s.map(p=>Vi(p)).join("_"),u=s.map(p=>Vi(p)).slice(0,-1).join("."),l=Ui(s[s.length-2]??s[0]),f=Ui(s[s.length-1]),m=s.map(p=>Bi(p));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:m}}}function vh(t){return t.length===0?t:t[0].toUpperCase()+t.slice(1)}function $h(t,e={}){const n=e.title??"API",r=e.version??"0.0.0",s={};for(const o of t){const i=yh(o),{verb:a,route:c}=i.http,u=a.toLowerCase(),l={operationId:o.id,summary:o.id,responses:{200:wh(o.output)}};if(a==="GET")l.parameters=bh(o.input);else{const f=o.input;typeof f=="object"&&f!==null&&Object.keys(f).length>0&&(l.requestBody={required:!0,content:{"application/json":{schema:f}}})}s[c]===void 0&&(s[c]={}),s[c][u]=l}return{openapi:"3.1.0",info:{title:n,version:r},paths:s}}function wh(t){return typeof t=="object"&&t!==null&&Object.keys(t).length>0?{description:"Success",content:{"application/json":{schema:t}}}:{description:"Success"}}function bh(t){if(typeof t!="object"||t===null||typeof t.properties!="object"||t.properties===null)return[];const e=Array.isArray(t.required)?t.required:[],n=t.properties;return Object.entries(n).map(([r,s])=>({name:r,in:"query",required:e.includes(r),schema:s}))}function Fi(t){return{raw:t,words:t.split(/(?=[A-Z])|[-_]/).map(e=>e.toLowerCase()).filter(Boolean)}}function Eh(t,e={}){return[{id:"_meta/openapi",host:t.host,namespace:Fi("meta"),path:[Fi("openapi")],kind:"query",async:!1,streaming:!1,safe:!0,input:{},output:{type:"object"},envelope:{},typeText:null,transports:["http"],handler:n=>$h(t.operations,{title:e.title,version:e.version})}]}const Sh={id:"openapi",description:"Mount plugin: serves the OpenAPI 3.1 doc at GET /meta/openapi",language:"ts",optionsSchema:{type:"object",properties:{title:{type:"string",description:"OpenAPI info.title"},version:{type:"string",description:"OpenAPI info.version"}},additionalProperties:!1},capabilities:{mount:{operations(t,e){return Eh(t,e)}}}},cs="$apigen";let qi=class extends Error{constructor(e){super(e),this.code="E_DUP_CODEC",this.name="CodecRegistryError"}};function Nh(t){const e=new Map;return{register(n,r){if(e.has(n.id)&&!(r!=null&&r.override))throw new qi(`E_DUP_CODEC: a codec is already registered for id "${n.id}"`);e.set(n.id,n)},resolve(n){for(const r of e.values())if(r.matches(n))return r},get(n){return e.get(n)},ids(){return[...e.keys()]},freeze(){const n=new Map(e),r={register(){throw new qi("E_DUP_CODEC: registry is frozen and cannot accept new codecs")},resolve(s){for(const o of n.values())if(o.matches(s))return o},get(s){return n.get(s)},ids(){return[...n.keys()]},freeze(){return r}};return r}}}const Ws="x-apigen-logical",Hs="x-apigen-codec",us="x-apigen-ctor",ls="x-apigen-tojson",Oh="0.1.0";function Ki(t,e){return{registry:t,resolve:n=>{throw new Error(`[apigen-logical] $ref "${n}" cannot be resolved in run-mode without a descriptor root. Supply a resolve() in the ctx override to handle $ref.`)},seen:new WeakSet,path:"",mode:"strict",...e}}function Ot(t,e,n){const r=n.registry.resolve(e);if(r)return r.encode(t,e,n);const s=e.$ref;if(typeof s=="string"){const a=n.resolve(s);return Ot(t,a,n)}const o=e.oneOf;if(Array.isArray(o)){const a=uu(t,o,e);return Ot(t,a,n)}const i=e.type;if(i==="array"){if(!Array.isArray(t))return Vr(t,e,n);const a=e.items;if(!a)return t.map(u=>lt(u));const c=n.path;return Array.isArray(a)?t.map((u,l)=>{const f=a[l];return f===void 0?lt(u):Ot(u,f,{...n,path:`${c}/${l}`})}):t.map((u,l)=>Ot(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(t===null||typeof t!="object"||Array.isArray(t))return Vr(t,e,n);const a=e.properties;if(!a)return lt(t);const c=n.path,u={};for(const[l,f]of Object.entries(a)){const m=t[l];m!==void 0&&(u[l]=Ot(m,f,{...n,path:`${c}/${l}`}))}return u}return i==null?Vr(t,e,n):lt(t)}function _t(t,e,n){const r=n.registry.resolve(e);if(r)return r.decode(t,e,n);const s=e.$ref;if(typeof s=="string"){const a=n.resolve(s);return _t(t,a,n)}const o=e.oneOf;if(Array.isArray(o)){const a=uu(t,o,e);return _t(t,a,n)}const i=e.type;if(i==="array"){if(!Array.isArray(t))return t;const a=e.items;if(!a)return t;const c=n.path;return Array.isArray(a)?t.map((u,l)=>{const f=a[l];return f===void 0?u:_t(u,f,{...n,path:`${c}/${l}`})}):t.map((u,l)=>_t(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(t===null||typeof t!="object"||Array.isArray(t))return t;const a=e.properties;if(!a)return t;const c=n.path,u={};for(const[l,f]of Object.entries(a)){const m=t[l];m!==void 0&&(u[l]=_t(m,f,{...n,path:`${c}/${l}`}))}return u}return i==null?_h(t,n):t}function uu(t,e,n,r){const s=n.discriminator;if(s!=null&&s.propertyName){const o=t!==null&&typeof t=="object"?t[s.propertyName]:void 0;if(typeof o=="string"&&s.mapping){const i=s.mapping[o];if(i){const a=e.find(c=>c.$ref===i);if(a)return a}}}return e[0]??{}}function Vr(t,e,n){for(const r of n.registry.ids()){const s=n.registry.get(r);if(s)try{const o=s.encode(t,s.schema,n);return{[cs]:r,v:o}}catch{}}return lt(t)}function _h(t,e){if(t!==null&&typeof t=="object"&&!Array.isArray(t)&&cs in t){const n=t,r=n[cs],s=e.registry.get(r);if(s)return s.decode(n.v,s.schema,e)}return t}function lt(t){if(t===null||typeof t=="string"||typeof t=="number"||typeof t=="boolean")return t;if(Array.isArray(t))return t.map(lt);if(typeof t=="object"){const e={};for(const[n,r]of Object.entries(t))r!==void 0&&(e[n]=lt(r));return e}return null}function kh(t){return{encode(e,n,r){const s=Ki(t,r);return Ot(e,n,s)},decode(e,n,r){const s=Ki(t,r);return _t(e,n,s)}}}const Js={id:"date-time",kind:"scalar",schema:{type:"string",format:"date-time"},matches(t){return t.type==="string"&&t.format==="date-time"},encode(t,e,n){return t.toISOString()},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[date-time] expected a string on the wire at "${n.path}", got ${typeof t}`);return new Date(String(t))}if(n.mode==="strict"&&Number.isNaN(new Date(t).getTime()))throw new TypeError(`[date-time] invalid date-time string at "${n.path}": ${JSON.stringify(t)}`);return new Date(t)}},Qs={id:"int64",kind:"scalar",schema:{type:"string",format:"int64"},matches(t){return t.type==="string"&&t.format==="int64"},encode(t,e,n){return String(t)},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[int64] expected a string on the wire at "${n.path}", got ${typeof t}`);try{return BigInt(Math.trunc(Number(t)))}catch{return BigInt(0)}}if(n.mode==="strict")return BigInt(t);if(/^-?\d+$/.test(t))try{return BigInt(t)}catch{return BigInt(0)}return BigInt(0)}},Ys={id:"decimal",kind:"scalar",schema:{type:"string",format:"decimal"},matches(t){return t.type==="string"&&t.format==="decimal"},encode(t,e,n){return t},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[decimal] expected a string on the wire at "${n.path}", got ${typeof t}`);return String(t)}if(n.mode==="strict"&&!/^-?\d+(\.\d+)?$/.test(t))throw new TypeError(`[decimal] wire value "${t}" at "${n.path}" is not a valid decimal string`);return t}},Xs={id:"byte",kind:"scalar",schema:{type:"string",format:"byte"},matches(t){return t.type==="string"&&t.format==="byte"},encode(t,e,n){return Buffer.from(t).toString("base64")},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[byte] expected a base64 string on the wire at "${n.path}", got ${typeof t}`);return new Uint8Array(0)}if(n.mode==="strict"&&!/^[A-Za-z0-9+/]*={0,2}$/.test(t))throw new TypeError(`[byte] wire value at "${n.path}" is not standard base64 (format:byte): "${t}"`);return new Uint8Array(Buffer.from(t,"base64"))}},Ih=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,Zs={id:"uuid",kind:"scalar",schema:{type:"string",format:"uuid"},matches(t){return t.type==="string"&&t.format==="uuid"},encode(t,e,n){return t.toLowerCase()},decode(t,e,n){if(typeof t!="string"){if(n.mode==="strict")throw new TypeError(`[uuid] expected a string on the wire at "${n.path}", got ${typeof t}`);return String(t).toLowerCase()}if(n.mode==="strict"&&!Ih.test(t))throw new TypeError(`[uuid] wire value "${t}" at "${n.path}" is not a lowercase-hyphenated RFC 4122 UUID`);return t}},fs="NaN",ds="Infinity",ps="-Infinity",Ah=new Set([fs,ds,ps]),eo={id:"number-special",kind:"scalar",schema:{type:"number"},matches(t){return t.type==="number"&&t.format===void 0},encode(t,e,n){return Number.isNaN(t)?fs:t===1/0?ds:t===-1/0?ps:t},decode(t,e,n){if(typeof t=="number")return t;if(typeof t=="string"){if(t===fs)return NaN;if(t===ds)return 1/0;if(t===ps)return-1/0;const r=Number(t);if(!Number.isNaN(r))return r}if(n.mode==="strict")throw new TypeError(`[number-special] unrecognized wire value at "${n.path}": ${JSON.stringify(t)}. Expected a number or one of ${[...Ah].join(", ")}.`);return NaN}},Ph=[Js,Qs,Ys,Xs,Zs,eo];function jh(t,e={}){for(const n of Ph)t.register(n,{override:e.override??!1})}Js.id,Qs.id,Ys.id,Xs.id,Zs.id,eo.id;const lu=Nh();jh(lu);const fu=kh(lu.freeze());function xh(t,e){var n;const r=((n=t.input)==null?void 0:n.properties)??{};return e in r}function Th(t){var e,n;const r=(n=(e=t.input)==null?void 0:e.properties)==null?void 0:n.data;return Object.keys((r==null?void 0:r.properties)??{})}function Ch(t,e){var n,r,s;const o=(s=(r=(n=t.input)==null?void 0:n.properties)==null?void 0:r.data)==null?void 0:s.properties,i=o==null?void 0:o[e];return i!==void 0?i:void 0}function Rh(t,e){return e===void 0||t===void 0?t:fu.decode(t,e)}function Fr(t,e){const n=e.output;return!n||Object.keys(n).length===0?t:fu.encode(t,n)}async function Mh(t,e,n,r,s,o){const i=Th(n).map(c=>Rh(o[c],Ch(n,c)));if(xh(n,"session")&&e){const c=await e({session:s.session}),u=await t[r](c,...i);return Fr(u,n)}if(n.hasCtx){const c=e?await e(s):void 0,u=await t[r](c,...i);return Fr(u,n)}const a=await t[r](...i);return Fr(a,n)}const Dh={"decimal.js":"Decimal"};function Lh(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(Dh).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${Lh(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function Bh(t={}){const e=t.level??"info",n=typeof t.destination=="string"&&t.destination.length>0,r=!n&&!!process.stderr.isTTY,s=t.format??(r?"pretty":"json"),o={level:e};if(s==="pretty")return o.transport={target:"pino-pretty",options:{colorize:!n,translateTime:"SYS:HH:MM:ss.l",ignore:"pid,hostname",...n?{destination:t.destination,mkdir:!0}:{destination:2}}},We(o);const i=n?We.destination({dest:t.destination,mkdir:!0,sync:!0}):We.destination(2);return We(o,i)}function du(t){return t?t.type==="array"?`${du(t.items)}[]`:t.enum?"enum":t.$ref?String(t.$ref).split("/").pop()||"object":t.anyOf||t.oneOf?"union":t.type??"object":"unknown"}function Uh(t){var e;const n=(e=((t==null?void 0:t.input)??{}).properties)==null?void 0:e.data,r=(n==null?void 0:n.properties)??{},s=new Set((n==null?void 0:n.required)??[]),o=Object.entries(r).map(([a,c])=>({name:a,type:du(c),required:s.has(a)})),i=o.map(a=>`${a.name}${a.required?"":"?"}: ${a.type}`).join(", ");return{params:o,text:i}}const to=new Fa({allErrors:!0});qa(to);for(const t of[Ws,Hs,us,ls,"discriminator"])to.addKeyword({keyword:t,valid:!0});to.addFormat("decimal",/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/);class tt extends Error{constructor(e,n){super(n),this.name="UnionCodecError",this.code=e}}function qr(t){const e=t.discriminator;if(e===null||typeof e!="object"||Array.isArray(e))return;const n=e;if(typeof n.propertyName!="string")return;const r=n.mapping;if(!(r===null||typeof r!="object"||Array.isArray(r)))return{propertyName:n.propertyName,mapping:r}}function pu(t,e){const n=t[Hs];if(typeof n=="string"){const r=e.registry.get(n);if(r)return r}return e.registry.resolve(t)}function Vh(t,e,n){const r=pu(e,n);return r?r.encode(t,e,n):t}function Fh(t,e,n){const r=pu(e,n);return r?r.decode(t,e,n):t}function qh(t){const{id:e,schema:n}=t;return{id:e,kind:"union",schema:n,matches(r){if(r[Ws]==="union")return!0;const s=r.oneOf;return!Array.isArray(s)||s.length===0?!1:qr(r)!==void 0},encode(r,s,o){const i=qr(s);if(!i)throw new tt("E_UNION_NO_DISCRIMINATOR",`[${e}] schema node at "${o.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:a,mapping:c}=i,u=r[a];if(u==null)throw new tt("E_UNION_NO_DISCRIMINATOR",`[${e}] value at "${o.path}" is missing the discriminator property "${a}".`);const l=String(u),f=c[l];if(!f)throw new tt("E_UNION_UNKNOWN_TAG",`[${e}] discriminator tag "${l}" at "${o.path}" is not in the mapping (known: ${Object.keys(c).join(", ")}).`);const m=o.resolve(f);return Vh(r,m,{...o,path:`${o.path}[${l}]`})},decode(r,s,o){if(r===null||typeof r!="object"||Array.isArray(r)){let d;throw r===null?d="null":Array.isArray(r)?d="array":d=typeof r,new tt("E_UNION_INVALID_WIRE",`[${e}] expected a JSON object on the wire at "${o.path}", got ${d}.`)}const i=r,a=qr(s);if(!a)throw new tt("E_UNION_NO_DISCRIMINATOR",`[${e}] schema node at "${o.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:c,mapping:u}=a,l=i[c];if(l==null)throw new tt("E_UNION_NO_DISCRIMINATOR",`[${e}] wire object at "${o.path}" is missing the discriminator property "${c}".`);const f=String(l),m=u[f];if(!m)throw new tt("E_UNION_UNKNOWN_TAG",`[${e}] discriminator tag "${f}" on the wire at "${o.path}" is not in the mapping (known: ${Object.keys(u).join(", ")}).`);const p=o.resolve(m);return Fh(r,p,{...o,path:`${o.path}[${f}]`})}}}const Kh="x-apigen-instances";class On extends Error{constructor(e,n){super(n),this.name="NominalCodecError",this.code=e}}function zi(t){const e=t.properties;return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function zh(t){const e=t.required;return Array.isArray(e)?e.filter(n=>typeof n=="string"):[]}function Gi(t,e,n){if(e){const r=n.registry.resolve(e);if(r)return r.encode(t,e,n)}return t}function Gh(t,e,n){if(e){const r=n.registry.resolve(e);if(r)return r.decode(t,e,n)}return t}function Wh(t){const{id:e,schema:n,ctor:r}=t;return{id:e,kind:"nominal",schema:n,matches(s){return s[Ws]==="nominal"?!0:s[Hs]===e},encode(s,o,i){if(s===null||typeof s!="object")return s;if(i.seen.has(s)){if(i.mode==="strict")throw new On("E_NOMINAL_CYCLE",`[${e}] cycle detected at "${i.path}": a nominal instance references itself. Strict mode rejects cycles (DESIGN §8.3); break the cycle or use 'lossy' mode.`);return null}i.seen.add(s);try{const a=zi(o),c=typeof o[ls]=="string"?o[ls]:"toJSON",u=s[c];if(typeof u=="function"){const d=u.call(s);if(d!==null&&typeof d=="object"&&!Array.isArray(d)){const v={};for(const[g,y]of Object.entries(d))v[g]=Gi(y,a[g],{...i,path:`${i.path}/${g}`});return v}return d}const l={},f=Object.keys(a),m=s,p=f.length>0?f:Object.keys(m);for(const d of p){const v=m[d];v!==void 0&&(l[d]=Gi(v,a[d],{...i,path:`${i.path}/${d}`}))}return l}finally{i.seen.delete(s)}},decode(s,o,i){if(s===null||typeof s!="object"||Array.isArray(s)){let l;throw s===null?l="null":Array.isArray(s)?l="array":l=typeof s,new On("E_NOMINAL_INVALID_WIRE",`[${e}] expected a JSON object on the wire at "${i.path}", got ${l}.`)}const a=s;for(const l of zh(o))if(!(l in a))throw new On("E_NOMINAL_INVALID_WIRE",`[${e}] required field "${l}" missing on the wire at "${i.path}".`);if(o[Kh]===!1)throw new On("E_NOMINAL_NONRECONSTRUCTABLE",`[${e}] is encode-only: the extractor marked it non-reconstructable (x-apigen-instances:false). It cannot be decoded back to a live instance.`);const c=zi(o),u={};for(const[l,f]of Object.entries(a))u[l]=Gh(f,c[l],{...i,path:`${i.path}/${l}`});if(r){const l=typeof o[us]=="string"?o[us]:"fromJSON",f=r[l];if(typeof f=="function")return f.call(r,u);const m=r;return new m(u)}return u}}}const Hh=[Js,Qs,Ys,Xs,Zs,eo],Jh={type:"object","x-apigen-logical":"nominal","x-apigen-codec":"ts.NominalSentinel"},Wi=Wh({id:"ts.NominalSentinel",schema:Jh}),Qh={oneOf:[],discriminator:{propertyName:"kind",mapping:{}},"x-apigen-logical":"union","x-apigen-codec":"ts.UnionSentinel"},Hi=qh({id:"ts.UnionSentinel",schema:Qh});function Yh(){const t=[...Hh.map(e=>[e.id,e]),[Wi.id,Wi],[Hi.id,Hi]];return Object.freeze(new Map(t))}Object.freeze({host:"ts",logicalTypeVersion:Oh,codecs:Yh()});function Xh(t,e,n){var r;const s=typeof((r=e==null?void 0:e.input)==null?void 0:r.description)=="string"?e.input.description:void 0,o=[n,s].filter(i=>typeof i=="string"&&i.length>0);return o.length>0?o.join(" — "):t}function Ji(t){if(!t||typeof t!="object"||Array.isArray(t)||Object.keys(t).length===0)return{outputSchema:void 0,wrapped:!1};const e=t;return e.type==="object"?{outputSchema:e,wrapped:!1}:{outputSchema:{type:"object",properties:{result:e},required:["result"]},wrapped:!0}}function Zh(t,e){return t?{result:e}:e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}const em={"decimal.js":"Decimal"};function tm(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(em).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${tm(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function nm(t){return t.split(/[-_.]+/).flatMap(e=>e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").split("_").filter(Boolean)).map(e=>e.toLowerCase()).filter(Boolean)}const Qi=new Set(["string","number","boolean","integer"]);function rm(t){if(typeof t!="object"||t===null)return!1;const e=t;if(e.$ref!==void 0||e.oneOf||e.anyOf||e.allOf)return!1;const{type:n}=e;return typeof n=="string"?Qi.has(n):Array.isArray(n)?n.every(r=>Qi.has(r)||r==="null"):Array.isArray(e.enum)&&e.enum.length>0?e.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function sm(t){if(!t||typeof t!="object")return!1;const e=t.properties;return e===void 0||typeof e!="object"||e===null?!1:Object.values(e).every(rm)}const om={"decimal.js":"Decimal"};function im(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(om).map(([t,e])=>({pattern:new RegExp(`import\\(["'][^"']*${im(t)}[^"']*["']\\)\\.\\w+`,"g"),key:e}));function Yi(t){return t.words.join("-")}function Xi(t){return t.words.map(lm).join("")}function Zi(t){return t.words.join("_")}function am(t){return t.replace(/\.[^.]+$/,"").replace(/[._]+/g,"-")}function ea(t,e={}){var n,r;const s=[t.namespace,...t.path],o=t.safe||sm(t.input)?"GET":"POST",i=((r=(n=e.http)==null?void 0:n.verb)==null?void 0:r[t.id])??o,a="/"+s.map(p=>Yi(p)).join("/"),c=s.map(p=>Zi(p)).join("_"),u=s.map(p=>Zi(p)).slice(0,-1).join("."),l=Xi(s[s.length-2]??s[0]),f=Xi(s[s.length-1]),m=s.map(p=>Yi(p));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:m}}}function cm(t,e){return`x-${t}-${e}`}const um=cm;function lm(t){return t.length===0?t:t[0].toUpperCase()+t.slice(1)}function hs(t){return{raw:t,words:nm(t)}}function fm(t,e,n){if(t)return t.find(r=>{var s;return r.kind==="action"&&r.namespace.raw===e&&((s=r.path[r.path.length-1])==null?void 0:s.raw)===n})}function dm(t){return hs(am(jf.basename(t)))}function pm(t,e,n){if(n){const s=fm(n,t.id,e);if(!s)throw new Error(`@adhd/apigen-plugin-mcp: no Operation found for package "${t.id}" fn "${e}" in the supplied operations[] — every fn in pkg.schemas must correspond to a real extracted Operation (orchestrator.ts buildDescriptor Step 5 invariant). This indicates a correlation bug, not a naming gap.`);return ea(s).mcp.name}const r={id:`${t.id}/${e}`,namespace:hs(t.id),path:[dm(t.importPath),hs(e)],safe:!1,input:{}};return ea(r).mcp.name}function hm(t,e){var n;const r=((n=t.input)==null?void 0:n.properties)??{},s=t["x-apigen-envelope"],o={};for(const i of Object.keys(r)){if(i==="data")continue;const a=(s==null?void 0:s[i])??"adhd",c=um(a,i),u=e[c];u!==void 0&&(o[i]=u)}return o}function ta(t,e){const n=t.options.toolDescriptions??{},r=new Sf.Server({name:"apigen-mcp",version:"1.0.0"},{capabilities:{tools:{}}}),s={};for(const o of t.packages)for(const i of Object.keys(o.schemas)){const a=pm({id:o.id,importPath:o.importPath},i,t.operations);s[a]={group:o.id,fnName:i,schema:o.schemas[i]}}return r.setRequestHandler(fi.ListToolsRequestSchema,async()=>({tools:Object.entries(s).map(([o,i])=>{const{outputSchema:a}=Ji(i.schema.output);return{name:o,description:Xh(o,i.schema,n[o]??n[i.fnName]),inputSchema:i.schema.input,...a?{outputSchema:a}:{}}})})),r.setRequestHandler(fi.CallToolRequestSchema,async o=>{const{name:i,arguments:a={}}=o.params,c=a._meta??{},u=s[i];if(!u)throw new Error(`Unknown tool: ${i}`);const l=t.packages.find(v=>v.id===u.group);if(!l)throw new Error(`Package not found: ${u.group}`);const f=u.schema,m=hm(f,c),p=a.data??{},d=Date.now();try{if(!l.fns)throw new Error(`Package ${l.id} has no functions`);const v=await Mh(l.fns,l.createClient,u.schema,u.fnName,m,p);e.info({tool:i,ms:Date.now()-d},`→ ${i}`);const{wrapped:g}=Ji(f.output),y=Zh(g,v);return{content:[{type:"text",text:JSON.stringify(v)}],...y?{structuredContent:y}:{}}}catch(v){throw e.error({tool:i,ms:Date.now()-d,err:v},`✗ ${i}`),v}}),{server:r,toolMetas:s}}async function mm(t){const e=t.options.transport??"stdio",n=t.options.port??3e3,r=t.options.host??"127.0.0.1",s=t.logger??Bh();s.info(`mcp server starting (${e})`);const{server:o,toolMetas:i}=ta(t,s),a=Object.keys(i);s.info({tools:a},`${a.length} tools available`);for(const[u,l]of Object.entries(i)){const{params:f,text:m}=Uh(l.schema);s.info({tool:u,args:{data:f}},`tool: ${u} args { data: {${m?` ${m} `:""}} }`)}if(e==="stdio"){const u=new Nf.StdioServerTransport;return await o.connect(u),s.info("stdio transport ready"),new Promise(l=>{t.signal&&t.signal.addEventListener("abort",()=>{s.info("mcp server shutting down"),l()})})}if(e==="sse"){const u=new Map,l=li.createServer(async(f,m)=>{try{const p=f.url??"";if(f.method==="GET"&&p==="/sse"){const d=new Of.SSEServerTransport("/messages",m);u.set(d.sessionId,d),d.onclose=()=>u.delete(d.sessionId),await o.connect(d)}else if(f.method==="POST"&&p.startsWith("/messages")){const d=new URLSearchParams(p.split("?")[1]??"").get("sessionId"),v=d?u.get(d):void 0;if(!v){m.writeHead(404),m.end("Session not found");return}await v.handlePostMessage(f,m)}else m.writeHead(404),m.end("Not found")}catch(p){s.error({err:p},"sse request handler error"),m.headersSent||m.writeHead(500),m.writableEnded||m.end("Internal Server Error")}});return l.listen(n,r,()=>{s.info({host:r,port:n},`listening on http://${r}:${n}`)}),new Promise(f=>{t.signal&&t.signal.addEventListener("abort",()=>{s.info("mcp server shutting down"),l.close(()=>f())})})}const c=li.createServer(async(u,l)=>{const{server:f}=ta(t,s),m=new _f.StreamableHTTPServerTransport({sessionIdGenerator:void 0});await f.connect(m),await m.handleRequest(u,l)});return c.listen(n,r,()=>{s.info({host:r,port:n},`listening on http://${r}:${n}`)}),new Promise(u=>{t.signal&&t.signal.addEventListener("abort",()=>{s.info("mcp server shutting down"),c.close(()=>u())})})}const gm={id:"mcp",run(t){return mm(t)}};function hu(t){t!==":memory:"&&Y.mkdirSync(q.dirname(t),{recursive:!0});const e=new kf(t);e.pragma("journal_mode = WAL"),e.pragma("busy_timeout = 5000");const n=If.createGraphBackend(e);return n.applySchema(),{db:e,graph:n}}function mu(t){t.db.close()}const ym=[".git",".adhd","adhd.environment.yaml"];function Kr(t){let e=q.resolve(t);const{root:n}=q.parse(e);for(;;){for(const s of ym)if(Y.existsSync(`${e}/${s}`))return e;if(e===n)return;const r=q.dirname(e);if(r===e)return;e=r}}const vm=new Set(["system","global","project"]);function $m(t,e){const n=t.cwd??process.cwd();if(t.scope)return t.scope==="project"?{scope:"project",projectRoot:Kr(n)??n}:{scope:t.scope};const r=e.ADHD_ENV_SCOPE;if(r!==void 0&&vm.has(r)){const o=r;return o==="project"?{scope:"project",projectRoot:Kr(n)??n}:{scope:o}}const s=Kr(n);return s?{scope:"project",projectRoot:s}:{scope:"global"}}function na(t){return`.${t}`}function wm(t){const e=Jn.homedir();if(process.platform==="darwin")return q.join(e,"Library","Application Support",t);if(process.platform==="win32"){const r=process.env.APPDATA??q.join(e,"AppData","Roaming");return q.join(r,t)}const n=process.env.XDG_DATA_HOME??q.join(e,".local","share");return q.join(n,t)}function bm(t){const e=t.orgNamespace,n=t.adhdRoot??q.join(Jn.homedir(),na(e)),r=t.adhdRoot??wm(e),s={system:q.join(r,t.project,t.namespace),global:q.join(n,t.project,t.namespace)};return t.projectRoot&&(s.project=q.join(t.projectRoot,na(e),t.project,t.namespace)),s}function gu(t,e){return e==="project"?t.project??t.global:t[e]}function Em(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Sm(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:function(){return t[r]}})}),n}const Z={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},_={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},Bn="tag:yaml.org,2002:",He={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function ra(t){const e=[0];let n=t.indexOf(`
23
- `);for(;n!==-1;)n+=1,e.push(n),n=t.indexOf(`
24
- `,n);return e}function yu(t){let e,n;return typeof t=="string"?(e=ra(t),n=t):(Array.isArray(t)&&(t=t[0]),t&&t.context&&(t.lineStarts||(t.lineStarts=ra(t.context.src)),e=t.lineStarts,n=t.context.src)),{lineStarts:e,src:n}}function ms(t,e){if(typeof t!="number"||t<0)return null;const{lineStarts:n,src:r}=yu(e);if(!n||!r||t>r.length)return null;for(let o=0;o<n.length;++o){const i=n[o];if(t<i)return{line:o,col:t-n[o-1]+1};if(t===i)return{line:o+1,col:1}}const s=n.length;return{line:s,col:t-n[s-1]+1}}function Nm(t,e){const{lineStarts:n,src:r}=yu(e);if(!n||!(t>=1)||t>n.length)return null;const s=n[t-1];let o=n[t];for(;o&&o>s&&r[o-1]===`
25
- `;)--o;return r.slice(s,o)}function Om({start:t,end:e},n,r=80){let s=Nm(t.line,n);if(!s)return null;let{col:o}=t;if(s.length>r)if(o<=r-10)s=s.substr(0,r-1)+"…";else{const l=Math.round(r/2);s.length>o+l&&(s=s.substr(0,o+l-1)+"…"),o-=s.length-r,s="…"+s.substr(1-r)}let i=1,a="";e&&(e.line===t.line&&o+(e.col-t.col)<=r+1?i=e.col-t.col:(i=Math.min(s.length+1,r)-o,a="…"));const c=o>1?" ".repeat(o-1):"",u="^".repeat(i);return`${s}
26
- ${c}${u}${a}`}class H{static copy(e){return new H(e.start,e.end)}constructor(e,n){this.start=e,this.end=n||e}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(e,n){const{start:r,end:s}=this;if(e.length===0||s<=e[0])return this.origStart=r,this.origEnd=s,n;let o=n;for(;o<e.length&&!(e[o]>r);)++o;this.origStart=r+o;const i=o;for(;o<e.length&&!(e[o]>=s);)++o;return this.origEnd=s+o,i}}let A=class Ce{static addStringTerminator(e,n,r){if(r[r.length-1]===`
27
- `)return r;const s=Ce.endOfWhiteSpace(e,n);return s>=e.length||e[s]===`
7
+ ${$a(p)}`));return}const{entry:d,rest:v}=h,{plan:m,dispatch:y}=d,$=m.cli.path.join(" ");if(v.includes("--help")||v.includes("-h")){const b=yu(m.params);console.log(`${$}${b?` { ${b} }`:""}`);return}const S={rest:v};try{if(m.streaming)throw new tr("invalid_argument",`Command "${$}" is a streaming operation and is not supported over the cli transport (DEBT-APIGEN-SERVE-CORE-002 cli half).`);const b=await a.readCall(S,m),N=Date.now(),j=await y(b);await a.writeResult(S,j,m),r.info({command:$,ms:Date.now()-N},`→ ${$}`)}catch(b){r.error({command:$,err:b},`✗ ${$}`),await a.writeError(S,b,m)}}const Hh={id:"cli",description:"Emit a Commander CLI program where each exported function becomes a subcommand",language:"ts",optionsSchema:{type:"object",properties:{name:{type:"string",default:"cli"},version:{type:"string",default:"0.1.0"},argv:{anyOf:[{type:"array",items:{type:"string"}},{type:"string"}]}}},generate(e){return Lh(e)},run(e){return Wh(e)}},wa=new Set(["string","number","boolean","integer"]);function Jh(e){if(typeof e!="object"||e===null)return!1;const t=e;if(t.$ref!==void 0||t.oneOf||t.anyOf||t.allOf)return!1;const{type:n}=t;return typeof n=="string"?wa.has(n):Array.isArray(n)?n.every(r=>wa.has(r)||r==="null"):Array.isArray(t.enum)&&t.enum.length>0?t.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function Yh(e){if(!e||typeof e!="object")return!1;const t=e.properties;return t===void 0||typeof t!="object"||t===null?!1:Object.values(t).every(Jh)}const Qh={"decimal.js":"Decimal"};function Zh(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(Qh).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${Zh(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function ba(e){return e.words.join("-")}function Ea(e){return e.words.map(em).join("")}function Sa(e){return e.words.join("_")}function Xh(e,t={}){var n,r;const o=[e.namespace,...e.path],s=e.safe||Yh(e.input)?"GET":"POST",i=((r=(n=t.http)==null?void 0:n.verb)==null?void 0:r[e.id])??s,a="/"+o.map(h=>ba(h)).join("/"),c=o.map(h=>Sa(h)).join("_"),u=o.map(h=>Sa(h)).slice(0,-1).join("."),l=Ea(o[o.length-2]??o[0]),f=Ea(o[o.length-1]),p=o.map(h=>ba(h));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:p}}}function em(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function hs(e,t=5e3){e!==":memory:"&&K.mkdirSync(D.dirname(e),{recursive:!0});const n=new Ep(e);if(n.pragma("journal_mode = WAL"),!Number.isInteger(t)||t<0)throw new RangeError(`openGraphBacklogStore: busyTimeoutMs must be a non-negative integer, got ${t}`);const r=Sp.createGraphBackend(n);return r.applySchema(),n.pragma(`busy_timeout = ${t}`),{db:n,graph:r}}function ms(e){e.db.close()}const tm=[".git",".adhd","adhd.environment.yaml"];function Yr(e){let t=D.resolve(e);const{root:n}=D.parse(t);for(;;){for(const o of tm)if(K.existsSync(`${t}/${o}`))return t;if(t===n)return;const r=D.dirname(t);if(r===t)return;t=r}}const nm=new Set(["system","global","project"]);function rm(e,t){const n=e.cwd??process.cwd();if(e.scope)return e.scope==="project"?{scope:"project",projectRoot:Yr(n)??n}:{scope:e.scope};const r=t.ADHD_ENV_SCOPE;if(r!==void 0&&nm.has(r)){const s=r;return s==="project"?{scope:"project",projectRoot:Yr(n)??n}:{scope:s}}const o=Yr(n);return o?{scope:"project",projectRoot:o}:{scope:"global"}}function Oa(e){return`.${e}`}function om(e){const t=Lt.homedir();if(process.platform==="darwin")return D.join(t,"Library","Application Support",e);if(process.platform==="win32"){const r=process.env.APPDATA??D.join(t,"AppData","Roaming");return D.join(r,e)}const n=process.env.XDG_DATA_HOME??D.join(t,".local","share");return D.join(n,e)}function sm(e){const t=e.orgNamespace,n=e.adhdRoot??D.join(Lt.homedir(),Oa(t)),r=e.adhdRoot??om(t),o={system:D.join(r,e.project,e.namespace),global:D.join(n,e.project,e.namespace)};return e.projectRoot&&(o.project=D.join(e.projectRoot,Oa(t),e.project,e.namespace)),o}function $u(e,t){return t==="project"?e.project??e.global:e[t]}function im(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function am(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}const ee={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},k={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},Vn="tag:yaml.org,2002:",Ye={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function Na(e){const t=[0];let n=e.indexOf(`
8
+ `);for(;n!==-1;)n+=1,t.push(n),n=e.indexOf(`
9
+ `,n);return t}function wu(e){let t,n;return typeof e=="string"?(t=Na(e),n=e):(Array.isArray(e)&&(e=e[0]),e&&e.context&&(e.lineStarts||(e.lineStarts=Na(e.context.src)),t=e.lineStarts,n=e.context.src)),{lineStarts:t,src:n}}function Eo(e,t){if(typeof e!="number"||e<0)return null;const{lineStarts:n,src:r}=wu(t);if(!n||!r||e>r.length)return null;for(let s=0;s<n.length;++s){const i=n[s];if(e<i)return{line:s,col:e-n[s-1]+1};if(e===i)return{line:s+1,col:1}}const o=n.length;return{line:o,col:e-n[o-1]+1}}function cm(e,t){const{lineStarts:n,src:r}=wu(t);if(!n||!(e>=1)||e>n.length)return null;const o=n[e-1];let s=n[e];for(;s&&s>o&&r[s-1]===`
10
+ `;)--s;return r.slice(o,s)}function um({start:e,end:t},n,r=80){let o=cm(e.line,n);if(!o)return null;let{col:s}=e;if(o.length>r)if(s<=r-10)o=o.substr(0,r-1)+"…";else{const l=Math.round(r/2);o.length>s+l&&(o=o.substr(0,s+l-1)+"…"),s-=o.length-r,o="…"+o.substr(1-r)}let i=1,a="";t&&(t.line===e.line&&s+(t.col-e.col)<=r+1?i=t.col-e.col:(i=Math.min(o.length+1,r)-s,a="…"));const c=s>1?" ".repeat(s-1):"",u="^".repeat(i);return`${o}
11
+ ${c}${u}${a}`}let Q=class bu{static copy(t){return new bu(t.start,t.end)}constructor(t,n){this.start=t,this.end=n||t}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(t,n){const{start:r,end:o}=this;if(t.length===0||o<=t[0])return this.origStart=r,this.origEnd=o,n;let s=n;for(;s<t.length&&!(t[s]>r);)++s;this.origStart=r+s;const i=s;for(;s<t.length&&!(t[s]>=o);)++s;return this.origEnd=o+s,i}},I=class Me{static addStringTerminator(t,n,r){if(r[r.length-1]===`
12
+ `)return r;const o=Me.endOfWhiteSpace(t,n);return o>=t.length||t[o]===`
28
13
  `?r+`
29
- `:r}static atDocumentBoundary(e,n,r){const s=e[n];if(!s)return!0;const o=e[n-1];if(o&&o!==`
30
- `)return!1;if(r){if(s!==r)return!1}else if(s!==Z.DIRECTIVES_END&&s!==Z.DOCUMENT_END)return!1;const i=e[n+1],a=e[n+2];if(i!==s||a!==s)return!1;const c=e[n+3];return!c||c===`
31
- `||c===" "||c===" "}static endOfIdentifier(e,n){let r=e[n];const s=r==="<",o=s?[`
14
+ `:r}static atDocumentBoundary(t,n,r){const o=t[n];if(!o)return!0;const s=t[n-1];if(s&&s!==`
15
+ `)return!1;if(r){if(o!==r)return!1}else if(o!==ee.DIRECTIVES_END&&o!==ee.DOCUMENT_END)return!1;const i=t[n+1],a=t[n+2];if(i!==o||a!==o)return!1;const c=t[n+3];return!c||c===`
16
+ `||c===" "||c===" "}static endOfIdentifier(t,n){let r=t[n];const o=r==="<",s=o?[`
32
17
  `," "," ",">"]:[`
33
- `," "," ","[","]","{","}",","];for(;r&&o.indexOf(r)===-1;)r=e[n+=1];return s&&r===">"&&(n+=1),n}static endOfIndent(e,n){let r=e[n];for(;r===" ";)r=e[n+=1];return n}static endOfLine(e,n){let r=e[n];for(;r&&r!==`
34
- `;)r=e[n+=1];return n}static endOfWhiteSpace(e,n){let r=e[n];for(;r===" "||r===" ";)r=e[n+=1];return n}static startOfLine(e,n){let r=e[n-1];if(r===`
18
+ `," "," ","[","]","{","}",","];for(;r&&s.indexOf(r)===-1;)r=t[n+=1];return o&&r===">"&&(n+=1),n}static endOfIndent(t,n){let r=t[n];for(;r===" ";)r=t[n+=1];return n}static endOfLine(t,n){let r=t[n];for(;r&&r!==`
19
+ `;)r=t[n+=1];return n}static endOfWhiteSpace(t,n){let r=t[n];for(;r===" "||r===" ";)r=t[n+=1];return n}static startOfLine(t,n){let r=t[n-1];if(r===`
35
20
  `)return n;for(;r&&r!==`
36
- `;)r=e[n-=1];return n+1}static endOfBlockIndent(e,n,r){const s=Ce.endOfIndent(e,r);if(s>r+n)return s;{const o=Ce.endOfWhiteSpace(e,s),i=e[o];if(!i||i===`
37
- `)return o}return null}static atBlank(e,n,r){const s=e[n];return s===`
38
- `||s===" "||s===" "||r&&!s}static nextNodeIsIndented(e,n,r){return!e||n<0?!1:n>0?!0:r&&e==="-"}static normalizeOffset(e,n){const r=e[n];return r?r!==`
39
- `&&e[n-1]===`
40
- `?n-1:Ce.endOfWhiteSpace(e,n):n}static foldNewline(e,n,r){let s=0,o=!1,i="",a=e[n+1];for(;a===" "||a===" "||a===`
21
+ `;)r=t[n-=1];return n+1}static endOfBlockIndent(t,n,r){const o=Me.endOfIndent(t,r);if(o>r+n)return o;{const s=Me.endOfWhiteSpace(t,o),i=t[s];if(!i||i===`
22
+ `)return s}return null}static atBlank(t,n,r){const o=t[n];return o===`
23
+ `||o===" "||o===" "||r&&!o}static nextNodeIsIndented(t,n,r){return!t||n<0?!1:n>0?!0:r&&t==="-"}static normalizeOffset(t,n){const r=t[n];return r?r!==`
24
+ `&&t[n-1]===`
25
+ `?n-1:Me.endOfWhiteSpace(t,n):n}static foldNewline(t,n,r){let o=0,s=!1,i="",a=t[n+1];for(;a===" "||a===" "||a===`
41
26
  `;){switch(a){case`
42
- `:s=0,n+=1,i+=`
43
- `;break;case" ":s<=r&&(o=!0),n=Ce.endOfWhiteSpace(e,n+2)-1;break;case" ":s+=1,n+=1;break}a=e[n+1]}return i||(i=" "),a&&s<=r&&(o=!0),{fold:i,offset:n,error:o}}constructor(e,n,r){Object.defineProperty(this,"context",{value:r||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=n||[],this.type=e,this.value=null}getPropValue(e,n,r){if(!this.context)return null;const{src:s}=this.context,o=this.props[e];return o&&s[o.start]===n?s.slice(o.start+(r?1:0),o.end):null}get anchor(){for(let e=0;e<this.props.length;++e){const n=this.getPropValue(e,Z.ANCHOR,!0);if(n!=null)return n}return null}get comment(){const e=[];for(let n=0;n<this.props.length;++n){const r=this.getPropValue(n,Z.COMMENT,!0);r!=null&&e.push(r)}return e.length>0?e.join(`
44
- `):null}commentHasRequiredWhitespace(e){const{src:n}=this.context;if(this.header&&e===this.header.end||!this.valueRange)return!1;const{end:r}=this.valueRange;return e!==r||Ce.atBlank(n,r-1)}get hasComment(){if(this.context){const{src:e}=this.context;for(let n=0;n<this.props.length;++n)if(e[this.props[n].start]===Z.COMMENT)return!0}return!1}get hasProps(){if(this.context){const{src:e}=this.context;for(let n=0;n<this.props.length;++n)if(e[this.props[n].start]!==Z.COMMENT)return!0}return!1}get includesTrailingLines(){return!1}get jsonLike(){return[_.FLOW_MAP,_.FLOW_SEQ,_.QUOTE_DOUBLE,_.QUOTE_SINGLE].indexOf(this.type)!==-1}get rangeAsLinePos(){if(!this.range||!this.context)return;const e=ms(this.range.start,this.context.root);if(!e)return;const n=ms(this.range.end,this.context.root);return{start:e,end:n}}get rawValue(){if(!this.valueRange||!this.context)return null;const{start:e,end:n}=this.valueRange;return this.context.src.slice(e,n)}get tag(){for(let e=0;e<this.props.length;++e){const n=this.getPropValue(e,Z.TAG,!1);if(n!=null){if(n[1]==="<")return{verbatim:n.slice(2,-1)};{const[r,s,o]=n.match(/^(.*!)([^!]*)$/);return{handle:s,suffix:o}}}}return null}get valueRangeContainsNewline(){if(!this.valueRange||!this.context)return!1;const{start:e,end:n}=this.valueRange,{src:r}=this.context;for(let s=e;s<n;++s)if(r[s]===`
45
- `)return!0;return!1}parseComment(e){const{src:n}=this.context;if(n[e]===Z.COMMENT){const r=Ce.endOfLine(n,e+1),s=new H(e,r);return this.props.push(s),r}return e}setOrigRanges(e,n){return this.range&&(n=this.range.setOrigRange(e,n)),this.valueRange&&this.valueRange.setOrigRange(e,n),this.props.forEach(r=>r.setOrigRange(e,n)),n}toString(){const{context:{src:e},range:n,value:r}=this;if(r!=null)return r;const s=e.slice(n.start,n.end);return Ce.addStringTerminator(e,n.end,s)}};class pt extends Error{constructor(e,n,r){if(!r||!(n instanceof A))throw new Error(`Invalid arguments for new ${e}`);super(),this.name=e,this.message=r,this.source=n}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const e=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new H(this.offset,this.offset+1);const n=e&&ms(this.offset,e);if(n){const r={line:n.line,col:n.col+1};this.linePos={start:n,end:r}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:n,col:r}=this.linePos.start;this.message+=` at line ${n}, column ${r}`;const s=e&&Om(this.linePos,e);s&&(this.message+=`:
27
+ `:o=0,n+=1,i+=`
28
+ `;break;case" ":o<=r&&(s=!0),n=Me.endOfWhiteSpace(t,n+2)-1;break;case" ":o+=1,n+=1;break}a=t[n+1]}return i||(i=" "),a&&o<=r&&(s=!0),{fold:i,offset:n,error:s}}constructor(t,n,r){Object.defineProperty(this,"context",{value:r||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=n||[],this.type=t,this.value=null}getPropValue(t,n,r){if(!this.context)return null;const{src:o}=this.context,s=this.props[t];return s&&o[s.start]===n?o.slice(s.start+(r?1:0),s.end):null}get anchor(){for(let t=0;t<this.props.length;++t){const n=this.getPropValue(t,ee.ANCHOR,!0);if(n!=null)return n}return null}get comment(){const t=[];for(let n=0;n<this.props.length;++n){const r=this.getPropValue(n,ee.COMMENT,!0);r!=null&&t.push(r)}return t.length>0?t.join(`
29
+ `):null}commentHasRequiredWhitespace(t){const{src:n}=this.context;if(this.header&&t===this.header.end||!this.valueRange)return!1;const{end:r}=this.valueRange;return t!==r||Me.atBlank(n,r-1)}get hasComment(){if(this.context){const{src:t}=this.context;for(let n=0;n<this.props.length;++n)if(t[this.props[n].start]===ee.COMMENT)return!0}return!1}get hasProps(){if(this.context){const{src:t}=this.context;for(let n=0;n<this.props.length;++n)if(t[this.props[n].start]!==ee.COMMENT)return!0}return!1}get includesTrailingLines(){return!1}get jsonLike(){return[k.FLOW_MAP,k.FLOW_SEQ,k.QUOTE_DOUBLE,k.QUOTE_SINGLE].indexOf(this.type)!==-1}get rangeAsLinePos(){if(!this.range||!this.context)return;const t=Eo(this.range.start,this.context.root);if(!t)return;const n=Eo(this.range.end,this.context.root);return{start:t,end:n}}get rawValue(){if(!this.valueRange||!this.context)return null;const{start:t,end:n}=this.valueRange;return this.context.src.slice(t,n)}get tag(){for(let t=0;t<this.props.length;++t){const n=this.getPropValue(t,ee.TAG,!1);if(n!=null){if(n[1]==="<")return{verbatim:n.slice(2,-1)};{const[r,o,s]=n.match(/^(.*!)([^!]*)$/);return{handle:o,suffix:s}}}}return null}get valueRangeContainsNewline(){if(!this.valueRange||!this.context)return!1;const{start:t,end:n}=this.valueRange,{src:r}=this.context;for(let o=t;o<n;++o)if(r[o]===`
30
+ `)return!0;return!1}parseComment(t){const{src:n}=this.context;if(n[t]===ee.COMMENT){const r=Me.endOfLine(n,t+1),o=new Q(t,r);return this.props.push(o),r}return t}setOrigRanges(t,n){return this.range&&(n=this.range.setOrigRange(t,n)),this.valueRange&&this.valueRange.setOrigRange(t,n),this.props.forEach(r=>r.setOrigRange(t,n)),n}toString(){const{context:{src:t},range:n,value:r}=this;if(r!=null)return r;const o=t.slice(n.start,n.end);return Me.addStringTerminator(t,n.end,o)}},vt=class extends Error{constructor(t,n,r){if(!r||!(n instanceof I))throw new Error(`Invalid arguments for new ${t}`);super(),this.name=t,this.message=r,this.source=n}makePretty(){if(!this.source)return;this.nodeType=this.source.type;const t=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new Q(this.offset,this.offset+1);const n=t&&Eo(this.offset,t);if(n){const r={line:n.line,col:n.col+1};this.linePos={start:n,end:r}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){const{line:n,col:r}=this.linePos.start;this.message+=` at line ${n}, column ${r}`;const o=t&&um(this.linePos,t);o&&(this.message+=`:
46
31
 
47
- ${s}
48
- `)}delete this.source}}class ln extends pt{constructor(e,n){super("YAMLReferenceError",e,n)}}class D extends pt{constructor(e,n){super("YAMLSemanticError",e,n)}}class ie extends pt{constructor(e,n){super("YAMLSyntaxError",e,n)}}class Dt extends pt{constructor(e,n){super("YAMLWarning",e,n)}}function ue(t,e,n){return(e=km(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _m(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function km(t){var e=_m(t,"string");return typeof e=="symbol"?e:e+""}class fn extends A{static endOfLine(e,n,r){let s=e[n],o=n;for(;s&&s!==`
49
- `&&!(r&&(s==="["||s==="]"||s==="{"||s==="}"||s===","));){const i=e[o+1];if(s===":"&&(!i||i===`
50
- `||i===" "||i===" "||r&&i===",")||(s===" "||s===" ")&&i==="#")break;o+=1,s=i}return o}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:n}=this.valueRange;const{src:r}=this.context;let s=r[n-1];for(;e<n&&(s===`
51
- `||s===" "||s===" ");)s=r[--n-1];let o="";for(let a=e;a<n;++a){const c=r[a];if(c===`
52
- `){const{fold:u,offset:l}=A.foldNewline(r,a,-1);o+=u,a=l}else if(c===" "||c===" "){const u=a;let l=r[a+1];for(;a<n&&(l===" "||l===" ");)a+=1,l=r[a+1];l!==`
53
- `&&(o+=a>u?r.slice(u,a+1):c)}else o+=c}const i=r[e];switch(i){case" ":{const a="Plain value cannot start with a tab character";return{errors:[new D(this,a)],str:o}}case"@":case"`":{const a=`Plain value cannot start with reserved character ${i}`;return{errors:[new D(this,a)],str:o}}default:return o}}parseBlockValue(e){const{indent:n,inFlow:r,src:s}=this.context;let o=e,i=e;for(let a=s[o];a===`
54
- `&&!A.atDocumentBoundary(s,o+1);a=s[o]){const c=A.endOfBlockIndent(s,n,o+1);if(c===null||s[c]==="#")break;s[c]===`
55
- `?o=c:(i=fn.endOfLine(s,c,r),o=i)}return this.valueRange.isEmpty()&&(this.valueRange.start=e),this.valueRange.end=i,i}parse(e,n){this.context=e;const{inFlow:r,src:s}=e;let o=n;const i=s[o];return i&&i!=="#"&&i!==`
56
- `&&(o=fn.endOfLine(s,n,r)),this.valueRange=new H(n,o),o=A.endOfWhiteSpace(s,o),o=this.parseComment(o),(!this.hasComment||this.valueRange.isEmpty())&&(o=this.parseBlockValue(o)),o}}class dn extends A{constructor(){super(_.BLANK_LINE)}get includesTrailingLines(){return!0}parse(e,n){return this.context=e,this.range=new H(n,n+1),n+1}}class no extends A{constructor(e,n){super(e,n),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(e,n){this.context=e;const{parseNode:r,src:s}=e;let{atLineStart:o,lineStart:i}=e;!o&&this.type===_.SEQ_ITEM&&(this.error=new D(this,"Sequence items must not have preceding content on the same line"));const a=o?n-i:e.indent;let c=A.endOfWhiteSpace(s,n+1),u=s[c];const l=u==="#",f=[];let m=null;for(;u===`
57
- `||u==="#";){if(u==="#"){const d=A.endOfLine(s,c+1);f.push(new H(c,d)),c=d}else{o=!0,i=c+1;const d=A.endOfWhiteSpace(s,i);s[d]===`
58
- `&&f.length===0&&(m=new dn,i=m.parse({src:s},i)),c=A.endOfIndent(s,i)}u=s[c]}if(A.nextNodeIsIndented(u,c-(i+a),this.type!==_.SEQ_ITEM)?this.node=r({atLineStart:o,inCollection:!1,indent:a,lineStart:i,parent:this},c):u&&i>n+1&&(c=i-1),this.node){if(m){const d=e.parent.items||e.parent.contents;d&&d.push(m)}f.length&&Array.prototype.push.apply(this.props,f),c=this.node.range.end}else if(l){const d=f[0];this.props.push(d),c=d.end}else c=A.endOfLine(s,n+1);const p=this.node?this.node.valueRange.end:c;return this.valueRange=new H(n,p),c}setOrigRanges(e,n){return n=super.setOrigRanges(e,n),this.node?this.node.setOrigRanges(e,n):n}toString(){const{context:{src:e},node:n,range:r,value:s}=this;if(s!=null)return s;const o=n?e.slice(r.start,n.range.start)+String(n):e.slice(r.start,r.end);return A.addStringTerminator(e,r.end,o)}}class en extends A{constructor(){super(_.COMMENT)}parse(e,n){this.context=e;const r=this.parseComment(n);return this.range=new H(n,r),r}}function gs(t){let e=t;for(;e instanceof no;)e=e.node;if(!(e instanceof vu))return null;const n=e.items.length;let r=-1;for(let i=n-1;i>=0;--i){const a=e.items[i];if(a.type===_.COMMENT){const{indent:c,lineStart:u}=a.context;if(c>0&&a.range.start>=u+c)break;r=i}else if(a.type===_.BLANK_LINE)r=i;else break}if(r===-1)return null;const s=e.items.splice(r,n-r),o=s[0].range.start;for(;e.range.end=o,e.valueRange&&e.valueRange.end>o&&(e.valueRange.end=o),e!==t;)e=e.context.parent;return s}let vu=class ys extends A{static nextContentHasIndent(e,n,r){const s=A.endOfLine(e,n)+1;n=A.endOfWhiteSpace(e,s);const o=e[n];return o?n>=s+r?!0:o!=="#"&&o!==`
59
- `?!1:ys.nextContentHasIndent(e,n,r):!1}constructor(e){super(e.type===_.SEQ_ITEM?_.SEQ:_.MAP);for(let r=e.props.length-1;r>=0;--r)if(e.props[r].start<e.context.lineStart){this.props=e.props.slice(0,r+1),e.props=e.props.slice(r+1);const s=e.props[0]||e.valueRange;e.range.start=s.start;break}this.items=[e];const n=gs(e);n&&Array.prototype.push.apply(this.items,n)}get includesTrailingLines(){return this.items.length>0}parse(e,n){this.context=e;const{parseNode:r,src:s}=e;let o=A.startOfLine(s,n);const i=this.items[0];i.context.parent=this,this.valueRange=H.copy(i.valueRange);const a=i.range.start-i.context.lineStart;let c=n;c=A.normalizeOffset(s,c);let u=s[c],l=A.endOfWhiteSpace(s,o)===c,f=!1;for(;u;){for(;u===`
32
+ ${o}
33
+ `)}delete this.source}},dn=class extends vt{constructor(t,n){super("YAMLReferenceError",t,n)}},B=class extends vt{constructor(t,n){super("YAMLSemanticError",t,n)}},ae=class extends vt{constructor(t,n){super("YAMLSyntaxError",t,n)}},qt=class extends vt{constructor(t,n){super("YAMLWarning",t,n)}};function ue(e,t,n){return(t=fm(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lm(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function fm(e){var t=lm(e,"string");return typeof t=="symbol"?t:t+""}let Eu=class So extends I{static endOfLine(t,n,r){let o=t[n],s=n;for(;o&&o!==`
34
+ `&&!(r&&(o==="["||o==="]"||o==="{"||o==="}"||o===","));){const i=t[s+1];if(o===":"&&(!i||i===`
35
+ `||i===" "||i===" "||r&&i===",")||(o===" "||o===" ")&&i==="#")break;s+=1,o=i}return s}get strValue(){if(!this.valueRange||!this.context)return null;let{start:t,end:n}=this.valueRange;const{src:r}=this.context;let o=r[n-1];for(;t<n&&(o===`
36
+ `||o===" "||o===" ");)o=r[--n-1];let s="";for(let a=t;a<n;++a){const c=r[a];if(c===`
37
+ `){const{fold:u,offset:l}=I.foldNewline(r,a,-1);s+=u,a=l}else if(c===" "||c===" "){const u=a;let l=r[a+1];for(;a<n&&(l===" "||l===" ");)a+=1,l=r[a+1];l!==`
38
+ `&&(s+=a>u?r.slice(u,a+1):c)}else s+=c}const i=r[t];switch(i){case" ":{const a="Plain value cannot start with a tab character";return{errors:[new B(this,a)],str:s}}case"@":case"`":{const a=`Plain value cannot start with reserved character ${i}`;return{errors:[new B(this,a)],str:s}}default:return s}}parseBlockValue(t){const{indent:n,inFlow:r,src:o}=this.context;let s=t,i=t;for(let a=o[s];a===`
39
+ `&&!I.atDocumentBoundary(o,s+1);a=o[s]){const c=I.endOfBlockIndent(o,n,s+1);if(c===null||o[c]==="#")break;o[c]===`
40
+ `?s=c:(i=So.endOfLine(o,c,r),s=i)}return this.valueRange.isEmpty()&&(this.valueRange.start=t),this.valueRange.end=i,i}parse(t,n){this.context=t;const{inFlow:r,src:o}=t;let s=n;const i=o[s];return i&&i!=="#"&&i!==`
41
+ `&&(s=So.endOfLine(o,n,r)),this.valueRange=new Q(n,s),s=I.endOfWhiteSpace(o,s),s=this.parseComment(s),(!this.hasComment||this.valueRange.isEmpty())&&(s=this.parseBlockValue(s)),s}},pn=class extends I{constructor(){super(k.BLANK_LINE)}get includesTrailingLines(){return!0}parse(t,n){return this.context=t,this.range=new Q(n,n+1),n+1}};class gs extends I{constructor(t,n){super(t,n),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(t,n){this.context=t;const{parseNode:r,src:o}=t;let{atLineStart:s,lineStart:i}=t;!s&&this.type===k.SEQ_ITEM&&(this.error=new B(this,"Sequence items must not have preceding content on the same line"));const a=s?n-i:t.indent;let c=I.endOfWhiteSpace(o,n+1),u=o[c];const l=u==="#",f=[];let p=null;for(;u===`
42
+ `||u==="#";){if(u==="#"){const d=I.endOfLine(o,c+1);f.push(new Q(c,d)),c=d}else{s=!0,i=c+1;const d=I.endOfWhiteSpace(o,i);o[d]===`
43
+ `&&f.length===0&&(p=new pn,i=p.parse({src:o},i)),c=I.endOfIndent(o,i)}u=o[c]}if(I.nextNodeIsIndented(u,c-(i+a),this.type!==k.SEQ_ITEM)?this.node=r({atLineStart:s,inCollection:!1,indent:a,lineStart:i,parent:this},c):u&&i>n+1&&(c=i-1),this.node){if(p){const d=t.parent.items||t.parent.contents;d&&d.push(p)}f.length&&Array.prototype.push.apply(this.props,f),c=this.node.range.end}else if(l){const d=f[0];this.props.push(d),c=d.end}else c=I.endOfLine(o,n+1);const h=this.node?this.node.valueRange.end:c;return this.valueRange=new Q(n,h),c}setOrigRanges(t,n){return n=super.setOrigRanges(t,n),this.node?this.node.setOrigRanges(t,n):n}toString(){const{context:{src:t},node:n,range:r,value:o}=this;if(o!=null)return o;const s=n?t.slice(r.start,n.range.start)+String(n):t.slice(r.start,r.end);return I.addStringTerminator(t,r.end,s)}}class rn extends I{constructor(){super(k.COMMENT)}parse(t,n){this.context=t;const r=this.parseComment(n);return this.range=new Q(n,r),r}}function Oo(e){let t=e;for(;t instanceof gs;)t=t.node;if(!(t instanceof Su))return null;const n=t.items.length;let r=-1;for(let i=n-1;i>=0;--i){const a=t.items[i];if(a.type===k.COMMENT){const{indent:c,lineStart:u}=a.context;if(c>0&&a.range.start>=u+c)break;r=i}else if(a.type===k.BLANK_LINE)r=i;else break}if(r===-1)return null;const o=t.items.splice(r,n-r),s=o[0].range.start;for(;t.range.end=s,t.valueRange&&t.valueRange.end>s&&(t.valueRange.end=s),t!==e;)t=t.context.parent;return o}let Su=class No extends I{static nextContentHasIndent(t,n,r){const o=I.endOfLine(t,n)+1;n=I.endOfWhiteSpace(t,o);const s=t[n];return s?n>=o+r?!0:s!=="#"&&s!==`
44
+ `?!1:No.nextContentHasIndent(t,n,r):!1}constructor(t){super(t.type===k.SEQ_ITEM?k.SEQ:k.MAP);for(let r=t.props.length-1;r>=0;--r)if(t.props[r].start<t.context.lineStart){this.props=t.props.slice(0,r+1),t.props=t.props.slice(r+1);const o=t.props[0]||t.valueRange;t.range.start=o.start;break}this.items=[t];const n=Oo(t);n&&Array.prototype.push.apply(this.items,n)}get includesTrailingLines(){return this.items.length>0}parse(t,n){this.context=t;const{parseNode:r,src:o}=t;let s=I.startOfLine(o,n);const i=this.items[0];i.context.parent=this,this.valueRange=Q.copy(i.valueRange);const a=i.range.start-i.context.lineStart;let c=n;c=I.normalizeOffset(o,c);let u=o[c],l=I.endOfWhiteSpace(o,s)===c,f=!1;for(;u;){for(;u===`
60
45
  `||u==="#";){if(l&&u===`
61
- `&&!f){const d=new dn;if(c=d.parse({src:s},c),this.valueRange.end=c,c>=s.length){u=null;break}this.items.push(d),c-=1}else if(u==="#"){if(c<o+a&&!ys.nextContentHasIndent(s,c,a))return c;const d=new en;if(c=d.parse({indent:a,lineStart:o,src:s},c),this.items.push(d),this.valueRange.end=c,c>=s.length){u=null;break}}if(o=c+1,c=A.endOfIndent(s,o),A.atBlank(s,c)){const d=A.endOfWhiteSpace(s,c),v=s[d];(!v||v===`
62
- `||v==="#")&&(c=d)}u=s[c],l=!0}if(!u)break;if(c!==o+a&&(l||u!==":")){if(c<o+a){o>n&&(c=o);break}else if(!this.error){const d="All collection items must start at the same column";this.error=new ie(this,d)}}if(i.type===_.SEQ_ITEM){if(u!=="-"){o>n&&(c=o);break}}else if(u==="-"&&!this.error){const d=s[c+1];if(!d||d===`
63
- `||d===" "||d===" "){const v="A collection cannot be both a mapping and a sequence";this.error=new ie(this,v)}}const m=r({atLineStart:l,inCollection:!0,indent:a,lineStart:o,parent:this},c);if(!m)return c;if(this.items.push(m),this.valueRange.end=m.valueRange.end,c=A.normalizeOffset(s,m.range.end),u=s[c],l=!1,f=m.includesTrailingLines,u){let d=c-1,v=s[d];for(;v===" "||v===" ";)v=s[--d];v===`
64
- `&&(o=d+1,l=!0)}const p=gs(m);p&&Array.prototype.push.apply(this.items,p)}return c}setOrigRanges(e,n){return n=super.setOrigRanges(e,n),this.items.forEach(r=>{n=r.setOrigRanges(e,n)}),n}toString(){const{context:{src:e},items:n,range:r,value:s}=this;if(s!=null)return s;let o=e.slice(r.start,n[0].range.start)+String(n[0]);for(let i=1;i<n.length;++i){const a=n[i],{atLineStart:c,indent:u}=a.context;if(c)for(let l=0;l<u;++l)o+=" ";o+=String(a)}return A.addStringTerminator(e,r.end,o)}};class Im extends A{constructor(){super(_.DIRECTIVE),this.name=null}get parameters(){const e=this.rawValue;return e?e.trim().split(/[ \t]+/):[]}parseName(e){const{src:n}=this.context;let r=e,s=n[r];for(;s&&s!==`
65
- `&&s!==" "&&s!==" ";)s=n[r+=1];return this.name=n.slice(e,r),r}parseParameters(e){const{src:n}=this.context;let r=e,s=n[r];for(;s&&s!==`
66
- `&&s!=="#";)s=n[r+=1];return this.valueRange=new H(e,r),r}parse(e,n){this.context=e;let r=this.parseName(n+1);return r=this.parseParameters(r),r=this.parseComment(r),this.range=new H(n,r),r}}let Am=class vs extends A{static startCommentOrEndBlankLine(e,n){const r=A.endOfWhiteSpace(e,n),s=e[r];return s==="#"||s===`
67
- `?r:n}constructor(){super(_.DOCUMENT),this.directives=null,this.contents=null,this.directivesEndMarker=null,this.documentEndMarker=null}parseDirectives(e){const{src:n}=this.context;this.directives=[];let r=!0,s=!1,o=e;for(;!A.atDocumentBoundary(n,o,Z.DIRECTIVES_END);)switch(o=vs.startCommentOrEndBlankLine(n,o),n[o]){case`
68
- `:if(r){const i=new dn;o=i.parse({src:n},o),o<n.length&&this.directives.push(i)}else o+=1,r=!0;break;case"#":{const i=new en;o=i.parse({src:n},o),this.directives.push(i),r=!1}break;case"%":{const i=new Im;o=i.parse({parent:this,src:n},o),this.directives.push(i),s=!0,r=!1}break;default:return s?this.error=new D(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o}return n[o]?(this.directivesEndMarker=new H(o,o+3),o+3):(s?this.error=new D(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),o)}parseContents(e){const{parseNode:n,src:r}=this.context;this.contents||(this.contents=[]);let s=e;for(;r[s-1]==="-";)s-=1;let o=A.endOfWhiteSpace(r,e),i=s===e;for(this.valueRange=new H(o);!A.atDocumentBoundary(r,o,Z.DOCUMENT_END);){switch(r[o]){case`
69
- `:if(i){const a=new dn;o=a.parse({src:r},o),o<r.length&&this.contents.push(a)}else o+=1,i=!0;s=o;break;case"#":{const a=new en;o=a.parse({src:r},o),this.contents.push(a),i=!1}break;default:{const a=A.endOfIndent(r,o),c=n({atLineStart:i,indent:-1,inFlow:!1,inCollection:!1,lineStart:s,parent:this},a);if(!c)return this.valueRange.end=a;this.contents.push(c),o=c.range.end,i=!1;const u=gs(c);u&&Array.prototype.push.apply(this.contents,u)}}o=vs.startCommentOrEndBlankLine(r,o)}if(this.valueRange.end=o,r[o]&&(this.documentEndMarker=new H(o,o+3),o+=3,r[o])){if(o=A.endOfWhiteSpace(r,o),r[o]==="#"){const a=new en;o=a.parse({src:r},o),this.contents.push(a)}switch(r[o]){case`
70
- `:o+=1;break;case void 0:break;default:this.error=new ie(this,"Document end marker line cannot have a non-comment suffix")}}return o}parse(e,n){e.root=this,this.context=e;const{src:r}=e;let s=r.charCodeAt(n)===65279?n+1:n;return s=this.parseDirectives(s),s=this.parseContents(s),s}setOrigRanges(e,n){return n=super.setOrigRanges(e,n),this.directives.forEach(r=>{n=r.setOrigRanges(e,n)}),this.directivesEndMarker&&(n=this.directivesEndMarker.setOrigRange(e,n)),this.contents.forEach(r=>{n=r.setOrigRanges(e,n)}),this.documentEndMarker&&(n=this.documentEndMarker.setOrigRange(e,n)),n}toString(){const{contents:e,directives:n,value:r}=this;if(r!=null)return r;let s=n.join("");return e.length>0&&((n.length>0||e[0].type===_.COMMENT)&&(s+=`---
71
- `),s+=e.join("")),s[s.length-1]!==`
72
- `&&(s+=`
73
- `),s}},Pm=class extends A{parse(t,e){this.context=t;const{src:n}=t;let r=A.endOfIdentifier(n,e+1);return this.valueRange=new H(e+1,r),r=A.endOfWhiteSpace(n,r),r=this.parseComment(r),r}};const qe={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};class jm extends A{constructor(e,n){super(e,n),this.blockIndent=null,this.chomping=qe.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===qe.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:e,end:n}=this.valueRange;const{indent:r,src:s}=this.context;if(this.valueRange.isEmpty())return"";let o=null,i=s[n-1];for(;i===`
74
- `||i===" "||i===" ";){if(n-=1,n<=e){if(this.chomping===qe.KEEP)break;return""}i===`
75
- `&&(o=n),i=s[n-1]}let a=n+1;o&&(this.chomping===qe.KEEP?(a=o,n=this.valueRange.end):n=o);const c=r+this.blockIndent,u=this.type===_.BLOCK_FOLDED;let l=!0,f="",m="",p=!1;for(let d=e;d<n;++d){for(let g=0;g<c&&s[d]===" ";++g)d+=1;const v=s[d];if(v===`
76
- `)m===`
46
+ `&&!f){const d=new pn;if(c=d.parse({src:o},c),this.valueRange.end=c,c>=o.length){u=null;break}this.items.push(d),c-=1}else if(u==="#"){if(c<s+a&&!No.nextContentHasIndent(o,c,a))return c;const d=new rn;if(c=d.parse({indent:a,lineStart:s,src:o},c),this.items.push(d),this.valueRange.end=c,c>=o.length){u=null;break}}if(s=c+1,c=I.endOfIndent(o,s),I.atBlank(o,c)){const d=I.endOfWhiteSpace(o,c),v=o[d];(!v||v===`
47
+ `||v==="#")&&(c=d)}u=o[c],l=!0}if(!u)break;if(c!==s+a&&(l||u!==":")){if(c<s+a){s>n&&(c=s);break}else if(!this.error){const d="All collection items must start at the same column";this.error=new ae(this,d)}}if(i.type===k.SEQ_ITEM){if(u!=="-"){s>n&&(c=s);break}}else if(u==="-"&&!this.error){const d=o[c+1];if(!d||d===`
48
+ `||d===" "||d===" "){const v="A collection cannot be both a mapping and a sequence";this.error=new ae(this,v)}}const p=r({atLineStart:l,inCollection:!0,indent:a,lineStart:s,parent:this},c);if(!p)return c;if(this.items.push(p),this.valueRange.end=p.valueRange.end,c=I.normalizeOffset(o,p.range.end),u=o[c],l=!1,f=p.includesTrailingLines,u){let d=c-1,v=o[d];for(;v===" "||v===" ";)v=o[--d];v===`
49
+ `&&(s=d+1,l=!0)}const h=Oo(p);h&&Array.prototype.push.apply(this.items,h)}return c}setOrigRanges(t,n){return n=super.setOrigRanges(t,n),this.items.forEach(r=>{n=r.setOrigRanges(t,n)}),n}toString(){const{context:{src:t},items:n,range:r,value:o}=this;if(o!=null)return o;let s=t.slice(r.start,n[0].range.start)+String(n[0]);for(let i=1;i<n.length;++i){const a=n[i],{atLineStart:c,indent:u}=a.context;if(c)for(let l=0;l<u;++l)s+=" ";s+=String(a)}return I.addStringTerminator(t,r.end,s)}};class dm extends I{constructor(){super(k.DIRECTIVE),this.name=null}get parameters(){const t=this.rawValue;return t?t.trim().split(/[ \t]+/):[]}parseName(t){const{src:n}=this.context;let r=t,o=n[r];for(;o&&o!==`
50
+ `&&o!==" "&&o!==" ";)o=n[r+=1];return this.name=n.slice(t,r),r}parseParameters(t){const{src:n}=this.context;let r=t,o=n[r];for(;o&&o!==`
51
+ `&&o!=="#";)o=n[r+=1];return this.valueRange=new Q(t,r),r}parse(t,n){this.context=t;let r=this.parseName(n+1);return r=this.parseParameters(r),r=this.parseComment(r),this.range=new Q(n,r),r}}let pm=class _o extends I{static startCommentOrEndBlankLine(t,n){const r=I.endOfWhiteSpace(t,n),o=t[r];return o==="#"||o===`
52
+ `?r:n}constructor(){super(k.DOCUMENT),this.directives=null,this.contents=null,this.directivesEndMarker=null,this.documentEndMarker=null}parseDirectives(t){const{src:n}=this.context;this.directives=[];let r=!0,o=!1,s=t;for(;!I.atDocumentBoundary(n,s,ee.DIRECTIVES_END);)switch(s=_o.startCommentOrEndBlankLine(n,s),n[s]){case`
53
+ `:if(r){const i=new pn;s=i.parse({src:n},s),s<n.length&&this.directives.push(i)}else s+=1,r=!0;break;case"#":{const i=new rn;s=i.parse({src:n},s),this.directives.push(i),r=!1}break;case"%":{const i=new dm;s=i.parse({parent:this,src:n},s),this.directives.push(i),o=!0,r=!1}break;default:return o?this.error=new B(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),s}return n[s]?(this.directivesEndMarker=new Q(s,s+3),s+3):(o?this.error=new B(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),s)}parseContents(t){const{parseNode:n,src:r}=this.context;this.contents||(this.contents=[]);let o=t;for(;r[o-1]==="-";)o-=1;let s=I.endOfWhiteSpace(r,t),i=o===t;for(this.valueRange=new Q(s);!I.atDocumentBoundary(r,s,ee.DOCUMENT_END);){switch(r[s]){case`
54
+ `:if(i){const a=new pn;s=a.parse({src:r},s),s<r.length&&this.contents.push(a)}else s+=1,i=!0;o=s;break;case"#":{const a=new rn;s=a.parse({src:r},s),this.contents.push(a),i=!1}break;default:{const a=I.endOfIndent(r,s),c=n({atLineStart:i,indent:-1,inFlow:!1,inCollection:!1,lineStart:o,parent:this},a);if(!c)return this.valueRange.end=a;this.contents.push(c),s=c.range.end,i=!1;const u=Oo(c);u&&Array.prototype.push.apply(this.contents,u)}}s=_o.startCommentOrEndBlankLine(r,s)}if(this.valueRange.end=s,r[s]&&(this.documentEndMarker=new Q(s,s+3),s+=3,r[s])){if(s=I.endOfWhiteSpace(r,s),r[s]==="#"){const a=new rn;s=a.parse({src:r},s),this.contents.push(a)}switch(r[s]){case`
55
+ `:s+=1;break;case void 0:break;default:this.error=new ae(this,"Document end marker line cannot have a non-comment suffix")}}return s}parse(t,n){t.root=this,this.context=t;const{src:r}=t;let o=r.charCodeAt(n)===65279?n+1:n;return o=this.parseDirectives(o),o=this.parseContents(o),o}setOrigRanges(t,n){return n=super.setOrigRanges(t,n),this.directives.forEach(r=>{n=r.setOrigRanges(t,n)}),this.directivesEndMarker&&(n=this.directivesEndMarker.setOrigRange(t,n)),this.contents.forEach(r=>{n=r.setOrigRanges(t,n)}),this.documentEndMarker&&(n=this.documentEndMarker.setOrigRange(t,n)),n}toString(){const{contents:t,directives:n,value:r}=this;if(r!=null)return r;let o=n.join("");return t.length>0&&((n.length>0||t[0].type===k.COMMENT)&&(o+=`---
56
+ `),o+=t.join("")),o[o.length-1]!==`
57
+ `&&(o+=`
58
+ `),o}},hm=class extends I{parse(e,t){this.context=e;const{src:n}=e;let r=I.endOfIdentifier(n,t+1);return this.valueRange=new Q(t+1,r),r=I.endOfWhiteSpace(n,r),r=this.parseComment(r),r}};const ze={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"};class mm extends I{constructor(t,n){super(t,n),this.blockIndent=null,this.chomping=ze.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===ze.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:t,end:n}=this.valueRange;const{indent:r,src:o}=this.context;if(this.valueRange.isEmpty())return"";let s=null,i=o[n-1];for(;i===`
59
+ `||i===" "||i===" ";){if(n-=1,n<=t){if(this.chomping===ze.KEEP)break;return""}i===`
60
+ `&&(s=n),i=o[n-1]}let a=n+1;s&&(this.chomping===ze.KEEP?(a=s,n=this.valueRange.end):n=s);const c=r+this.blockIndent,u=this.type===k.BLOCK_FOLDED;let l=!0,f="",p="",h=!1;for(let d=t;d<n;++d){for(let m=0;m<c&&o[d]===" ";++m)d+=1;const v=o[d];if(v===`
61
+ `)p===`
77
62
  `?f+=`
78
- `:m=`
79
- `;else{const g=A.endOfLine(s,d),y=s.slice(d,g);d=g,u&&(v===" "||v===" ")&&d<a?(m===" "?m=`
80
- `:!p&&!l&&m===`
81
- `&&(m=`
63
+ `:p=`
64
+ `;else{const m=I.endOfLine(o,d),y=o.slice(d,m);d=m,u&&(v===" "||v===" ")&&d<a?(p===" "?p=`
65
+ `:!h&&!l&&p===`
66
+ `&&(p=`
82
67
 
83
- `),f+=m+y,m=g<n&&s[g]||"",p=!0):(f+=m+y,m=u&&d<a?" ":`
84
- `,p=!1),l&&y!==""&&(l=!1)}}return this.chomping===qe.STRIP?f:f+`
85
- `}parseBlockHeader(e){const{src:n}=this.context;let r=e+1,s="";for(;;){const o=n[r];switch(o){case"-":this.chomping=qe.STRIP;break;case"+":this.chomping=qe.KEEP;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":s+=o;break;default:return this.blockIndent=Number(s)||null,this.header=new H(e,r),r}r+=1}}parseBlockValue(e){const{indent:n,src:r}=this.context,s=!!this.blockIndent;let o=e,i=e,a=1;for(let c=r[o];c===`
86
- `&&(o+=1,!A.atDocumentBoundary(r,o));c=r[o]){const u=A.endOfBlockIndent(r,n,o);if(u===null)break;const l=r[u],f=u-(o+n);if(this.blockIndent){if(l&&l!==`
87
- `&&f<this.blockIndent){if(r[u]==="#")break;if(!this.error){const m=`Block scalars must not be less indented than their ${s?"explicit indentation indicator":"first line"}`;this.error=new D(this,m)}}}else if(r[u]!==`
88
- `){if(f<a){const m="Block scalars with more-indented leading empty lines must use an explicit indentation indicator";this.error=new D(this,m)}this.blockIndent=f}else f>a&&(a=f);r[u]===`
89
- `?o=u:o=i=A.endOfLine(r,u)}return this.chomping!==qe.KEEP&&(o=r[i]?i+1:i),this.valueRange=new H(e+1,o),o}parse(e,n){this.context=e;const{src:r}=e;let s=this.parseBlockHeader(n);return s=A.endOfWhiteSpace(r,s),s=this.parseComment(s),s=this.parseBlockValue(s),s}setOrigRanges(e,n){return n=super.setOrigRanges(e,n),this.header?this.header.setOrigRange(e,n):n}}class xm extends A{constructor(e,n){super(e,n),this.items=null}prevNodeIsJsonLike(e=this.items.length){const n=this.items[e-1];return!!n&&(n.jsonLike||n.type===_.COMMENT&&this.prevNodeIsJsonLike(e-1))}parse(e,n){this.context=e;const{parseNode:r,src:s}=e;let{indent:o,lineStart:i}=e,a=s[n];this.items=[{char:a,offset:n}];let c=A.endOfWhiteSpace(s,n+1);for(a=s[c];a&&a!=="]"&&a!=="}";){switch(a){case`
90
- `:{i=c+1;const u=A.endOfWhiteSpace(s,i);if(s[u]===`
91
- `){const l=new dn;i=l.parse({src:s},i),this.items.push(l)}if(c=A.endOfIndent(s,i),c<=i+o&&(a=s[c],c<i+o||a!=="]"&&a!=="}")){const l="Insufficient indentation in flow collection";this.error=new D(this,l)}}break;case",":this.items.push({char:a,offset:c}),c+=1;break;case"#":{const u=new en;c=u.parse({src:s},c),this.items.push(u)}break;case"?":case":":{const u=s[c+1];if(u===`
92
- `||u===" "||u===" "||u===","||a===":"&&this.prevNodeIsJsonLike()){this.items.push({char:a,offset:c}),c+=1;break}}default:{const u=r({atLineStart:!1,inCollection:!1,inFlow:!0,indent:-1,lineStart:i,parent:this},c);if(!u)return this.valueRange=new H(n,c),c;this.items.push(u),c=A.normalizeOffset(s,u.range.end)}}c=A.endOfWhiteSpace(s,c),a=s[c]}return this.valueRange=new H(n,c+1),a&&(this.items.push({char:a,offset:c}),c=A.endOfWhiteSpace(s,c+1),c=this.parseComment(c)),c}setOrigRanges(e,n){return n=super.setOrigRanges(e,n),this.items.forEach(r=>{if(r instanceof A)n=r.setOrigRanges(e,n);else if(e.length===0)r.origOffset=r.offset;else{let s=n;for(;s<e.length&&!(e[s]>r.offset);)++s;r.origOffset=r.offset+s,n=s}}),n}toString(){const{context:{src:e},items:n,range:r,value:s}=this;if(s!=null)return s;const o=n.filter(c=>c instanceof A);let i="",a=r.start;return o.forEach(c=>{const u=e.slice(a,c.range.start);a=c.range.end,i+=u+String(c),i[i.length-1]===`
93
- `&&e[a-1]!==`
94
- `&&e[a]===`
95
- `&&(a+=1)}),i+=e.slice(a,r.end),A.addStringTerminator(e,r.end,i)}}class ro extends A{static endOfQuote(e,n){let r=e[n];for(;r&&r!=='"';)n+=r==="\\"?2:1,r=e[n];return n+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:n,end:r}=this.valueRange,{indent:s,src:o}=this.context;o[r-1]!=='"'&&e.push(new ie(this,'Missing closing "quote'));let i="";for(let a=n+1;a<r-1;++a){const c=o[a];if(c===`
96
- `){A.atDocumentBoundary(o,a+1)&&e.push(new D(this,"Document boundary indicators are not allowed within string values"));const{fold:u,offset:l,error:f}=A.foldNewline(o,a,s);i+=u,a=l,f&&e.push(new D(this,"Multi-line double-quoted string needs to be sufficiently indented"))}else if(c==="\\")switch(a+=1,o[a]){case"0":i+="\0";break;case"a":i+="\x07";break;case"b":i+="\b";break;case"e":i+="\x1B";break;case"f":i+="\f";break;case"n":i+=`
97
- `;break;case"r":i+="\r";break;case"t":i+=" ";break;case"v":i+="\v";break;case"N":i+="…";break;case"_":i+=" ";break;case"L":i+="\u2028";break;case"P":i+="\u2029";break;case" ":i+=" ";break;case'"':i+='"';break;case"/":i+="/";break;case"\\":i+="\\";break;case" ":i+=" ";break;case"x":i+=this.parseCharCode(a+1,2,e),a+=2;break;case"u":i+=this.parseCharCode(a+1,4,e),a+=4;break;case"U":i+=this.parseCharCode(a+1,8,e),a+=8;break;case`
98
- `:for(;o[a+1]===" "||o[a+1]===" ";)a+=1;break;default:e.push(new ie(this,`Invalid escape sequence ${o.substr(a-1,2)}`)),i+="\\"+o[a]}else if(c===" "||c===" "){const u=a;let l=o[a+1];for(;l===" "||l===" ";)a+=1,l=o[a+1];l!==`
99
- `&&(i+=a>u?o.slice(u,a+1):c)}else i+=c}return e.length>0?{errors:e,str:i}:i}parseCharCode(e,n,r){const{src:s}=this.context,o=s.substr(e,n),i=o.length===n&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;return isNaN(i)?(r.push(new ie(this,`Invalid escape sequence ${s.substr(e-2,n+2)}`)),s.substr(e-2,n+2)):String.fromCodePoint(i)}parse(e,n){this.context=e;const{src:r}=e;let s=ro.endOfQuote(r,n+1);return this.valueRange=new H(n,s),s=A.endOfWhiteSpace(r,s),s=this.parseComment(s),s}}class so extends A{static endOfQuote(e,n){let r=e[n];for(;r;)if(r==="'"){if(e[n+1]!=="'")break;r=e[n+=2]}else r=e[n+=1];return n+1}get strValue(){if(!this.valueRange||!this.context)return null;const e=[],{start:n,end:r}=this.valueRange,{indent:s,src:o}=this.context;o[r-1]!=="'"&&e.push(new ie(this,"Missing closing 'quote"));let i="";for(let a=n+1;a<r-1;++a){const c=o[a];if(c===`
100
- `){A.atDocumentBoundary(o,a+1)&&e.push(new D(this,"Document boundary indicators are not allowed within string values"));const{fold:u,offset:l,error:f}=A.foldNewline(o,a,s);i+=u,a=l,f&&e.push(new D(this,"Multi-line single-quoted string needs to be sufficiently indented"))}else if(c==="'")i+=c,a+=1,o[a]!=="'"&&e.push(new ie(this,"Unescaped single quote? This should not happen."));else if(c===" "||c===" "){const u=a;let l=o[a+1];for(;l===" "||l===" ";)a+=1,l=o[a+1];l!==`
101
- `&&(i+=a>u?o.slice(u,a+1):c)}else i+=c}return e.length>0?{errors:e,str:i}:i}parse(e,n){this.context=e;const{src:r}=e;let s=so.endOfQuote(r,n+1);return this.valueRange=new H(n,s),s=A.endOfWhiteSpace(r,s),s=this.parseComment(s),s}}function Tm(t,e){switch(t){case _.ALIAS:return new Pm(t,e);case _.BLOCK_FOLDED:case _.BLOCK_LITERAL:return new jm(t,e);case _.FLOW_MAP:case _.FLOW_SEQ:return new xm(t,e);case _.MAP_KEY:case _.MAP_VALUE:case _.SEQ_ITEM:return new no(t,e);case _.COMMENT:case _.PLAIN:return new fn(t,e);case _.QUOTE_DOUBLE:return new ro(t,e);case _.QUOTE_SINGLE:return new so(t,e);default:return null}}class tn{static parseType(e,n,r){switch(e[n]){case"*":return _.ALIAS;case">":return _.BLOCK_FOLDED;case"|":return _.BLOCK_LITERAL;case"{":return _.FLOW_MAP;case"[":return _.FLOW_SEQ;case"?":return!r&&A.atBlank(e,n+1,!0)?_.MAP_KEY:_.PLAIN;case":":return!r&&A.atBlank(e,n+1,!0)?_.MAP_VALUE:_.PLAIN;case"-":return!r&&A.atBlank(e,n+1,!0)?_.SEQ_ITEM:_.PLAIN;case'"':return _.QUOTE_DOUBLE;case"'":return _.QUOTE_SINGLE;default:return _.PLAIN}}constructor(e={},{atLineStart:n,inCollection:r,inFlow:s,indent:o,lineStart:i,parent:a}={}){ue(this,"parseNode",(c,u)=>{if(A.atDocumentBoundary(this.src,u))return null;const l=new tn(this,c),{props:f,type:m,valueStart:p}=l.parseProps(u),d=Tm(m,f);let v=u;try{v=d.parse(l,p)}catch(g){const y=g instanceof Error?g.message:String(g);d.error||(d.error=new ie(d,y))}if(d.range=new H(u,v),v<=u&&(d.error||(d.error=new Error("Node#parse consumed no characters")),d.error.parseEnd=v,d.error.source=d,d.range.end=u+1),l.nodeStartsCollection(d)){!d.error&&!l.atLineStart&&l.parent.type===_.DOCUMENT&&(d.error=new ie(d,"Block collection must not have preceding content here (e.g. directives-end indicator)"));const g=new vu(d);return v=g.parse(new tn(l),v),g.range=new H(u,v),g}return d}),this.atLineStart=n??(e.atLineStart||!1),this.inCollection=r??(e.inCollection||!1),this.inFlow=s??(e.inFlow||!1),this.indent=o??e.indent,this.lineStart=i??e.lineStart,this.parent=a??(e.parent||{}),this.root=e.root,this.src=e.src}nodeStartsCollection(e){const{inCollection:n,inFlow:r,src:s}=this;if(n||r)return!1;if(e instanceof no)return!0;let o=e.range.end;return s[o]===`
102
- `||s[o-1]===`
103
- `?!1:(o=A.endOfWhiteSpace(s,o),s[o]===":")}parseProps(e){const{inFlow:n,parent:r,src:s}=this,o=[];let i=!1;e=this.atLineStart?A.endOfIndent(s,e):A.endOfWhiteSpace(s,e);let a=s[e];for(;a===Z.ANCHOR||a===Z.COMMENT||a===Z.TAG||a===`
68
+ `),f+=p+y,p=m<n&&o[m]||"",h=!0):(f+=p+y,p=u&&d<a?" ":`
69
+ `,h=!1),l&&y!==""&&(l=!1)}}return this.chomping===ze.STRIP?f:f+`
70
+ `}parseBlockHeader(t){const{src:n}=this.context;let r=t+1,o="";for(;;){const s=n[r];switch(s){case"-":this.chomping=ze.STRIP;break;case"+":this.chomping=ze.KEEP;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o+=s;break;default:return this.blockIndent=Number(o)||null,this.header=new Q(t,r),r}r+=1}}parseBlockValue(t){const{indent:n,src:r}=this.context,o=!!this.blockIndent;let s=t,i=t,a=1;for(let c=r[s];c===`
71
+ `&&(s+=1,!I.atDocumentBoundary(r,s));c=r[s]){const u=I.endOfBlockIndent(r,n,s);if(u===null)break;const l=r[u],f=u-(s+n);if(this.blockIndent){if(l&&l!==`
72
+ `&&f<this.blockIndent){if(r[u]==="#")break;if(!this.error){const p=`Block scalars must not be less indented than their ${o?"explicit indentation indicator":"first line"}`;this.error=new B(this,p)}}}else if(r[u]!==`
73
+ `){if(f<a){const p="Block scalars with more-indented leading empty lines must use an explicit indentation indicator";this.error=new B(this,p)}this.blockIndent=f}else f>a&&(a=f);r[u]===`
74
+ `?s=u:s=i=I.endOfLine(r,u)}return this.chomping!==ze.KEEP&&(s=r[i]?i+1:i),this.valueRange=new Q(t+1,s),s}parse(t,n){this.context=t;const{src:r}=t;let o=this.parseBlockHeader(n);return o=I.endOfWhiteSpace(r,o),o=this.parseComment(o),o=this.parseBlockValue(o),o}setOrigRanges(t,n){return n=super.setOrigRanges(t,n),this.header?this.header.setOrigRange(t,n):n}}class gm extends I{constructor(t,n){super(t,n),this.items=null}prevNodeIsJsonLike(t=this.items.length){const n=this.items[t-1];return!!n&&(n.jsonLike||n.type===k.COMMENT&&this.prevNodeIsJsonLike(t-1))}parse(t,n){this.context=t;const{parseNode:r,src:o}=t;let{indent:s,lineStart:i}=t,a=o[n];this.items=[{char:a,offset:n}];let c=I.endOfWhiteSpace(o,n+1);for(a=o[c];a&&a!=="]"&&a!=="}";){switch(a){case`
75
+ `:{i=c+1;const u=I.endOfWhiteSpace(o,i);if(o[u]===`
76
+ `){const l=new pn;i=l.parse({src:o},i),this.items.push(l)}if(c=I.endOfIndent(o,i),c<=i+s&&(a=o[c],c<i+s||a!=="]"&&a!=="}")){const l="Insufficient indentation in flow collection";this.error=new B(this,l)}}break;case",":this.items.push({char:a,offset:c}),c+=1;break;case"#":{const u=new rn;c=u.parse({src:o},c),this.items.push(u)}break;case"?":case":":{const u=o[c+1];if(u===`
77
+ `||u===" "||u===" "||u===","||a===":"&&this.prevNodeIsJsonLike()){this.items.push({char:a,offset:c}),c+=1;break}}default:{const u=r({atLineStart:!1,inCollection:!1,inFlow:!0,indent:-1,lineStart:i,parent:this},c);if(!u)return this.valueRange=new Q(n,c),c;this.items.push(u),c=I.normalizeOffset(o,u.range.end)}}c=I.endOfWhiteSpace(o,c),a=o[c]}return this.valueRange=new Q(n,c+1),a&&(this.items.push({char:a,offset:c}),c=I.endOfWhiteSpace(o,c+1),c=this.parseComment(c)),c}setOrigRanges(t,n){return n=super.setOrigRanges(t,n),this.items.forEach(r=>{if(r instanceof I)n=r.setOrigRanges(t,n);else if(t.length===0)r.origOffset=r.offset;else{let o=n;for(;o<t.length&&!(t[o]>r.offset);)++o;r.origOffset=r.offset+o,n=o}}),n}toString(){const{context:{src:t},items:n,range:r,value:o}=this;if(o!=null)return o;const s=n.filter(c=>c instanceof I);let i="",a=r.start;return s.forEach(c=>{const u=t.slice(a,c.range.start);a=c.range.end,i+=u+String(c),i[i.length-1]===`
78
+ `&&t[a-1]!==`
79
+ `&&t[a]===`
80
+ `&&(a+=1)}),i+=t.slice(a,r.end),I.addStringTerminator(t,r.end,i)}}class ys extends I{static endOfQuote(t,n){let r=t[n];for(;r&&r!=='"';)n+=r==="\\"?2:1,r=t[n];return n+1}get strValue(){if(!this.valueRange||!this.context)return null;const t=[],{start:n,end:r}=this.valueRange,{indent:o,src:s}=this.context;s[r-1]!=='"'&&t.push(new ae(this,'Missing closing "quote'));let i="";for(let a=n+1;a<r-1;++a){const c=s[a];if(c===`
81
+ `){I.atDocumentBoundary(s,a+1)&&t.push(new B(this,"Document boundary indicators are not allowed within string values"));const{fold:u,offset:l,error:f}=I.foldNewline(s,a,o);i+=u,a=l,f&&t.push(new B(this,"Multi-line double-quoted string needs to be sufficiently indented"))}else if(c==="\\")switch(a+=1,s[a]){case"0":i+="\0";break;case"a":i+="\x07";break;case"b":i+="\b";break;case"e":i+="\x1B";break;case"f":i+="\f";break;case"n":i+=`
82
+ `;break;case"r":i+="\r";break;case"t":i+=" ";break;case"v":i+="\v";break;case"N":i+="…";break;case"_":i+=" ";break;case"L":i+="\u2028";break;case"P":i+="\u2029";break;case" ":i+=" ";break;case'"':i+='"';break;case"/":i+="/";break;case"\\":i+="\\";break;case" ":i+=" ";break;case"x":i+=this.parseCharCode(a+1,2,t),a+=2;break;case"u":i+=this.parseCharCode(a+1,4,t),a+=4;break;case"U":i+=this.parseCharCode(a+1,8,t),a+=8;break;case`
83
+ `:for(;s[a+1]===" "||s[a+1]===" ";)a+=1;break;default:t.push(new ae(this,`Invalid escape sequence ${s.substr(a-1,2)}`)),i+="\\"+s[a]}else if(c===" "||c===" "){const u=a;let l=s[a+1];for(;l===" "||l===" ";)a+=1,l=s[a+1];l!==`
84
+ `&&(i+=a>u?s.slice(u,a+1):c)}else i+=c}return t.length>0?{errors:t,str:i}:i}parseCharCode(t,n,r){const{src:o}=this.context,s=o.substr(t,n),i=s.length===n&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;return isNaN(i)?(r.push(new ae(this,`Invalid escape sequence ${o.substr(t-2,n+2)}`)),o.substr(t-2,n+2)):String.fromCodePoint(i)}parse(t,n){this.context=t;const{src:r}=t;let o=ys.endOfQuote(r,n+1);return this.valueRange=new Q(n,o),o=I.endOfWhiteSpace(r,o),o=this.parseComment(o),o}}class vs extends I{static endOfQuote(t,n){let r=t[n];for(;r;)if(r==="'"){if(t[n+1]!=="'")break;r=t[n+=2]}else r=t[n+=1];return n+1}get strValue(){if(!this.valueRange||!this.context)return null;const t=[],{start:n,end:r}=this.valueRange,{indent:o,src:s}=this.context;s[r-1]!=="'"&&t.push(new ae(this,"Missing closing 'quote"));let i="";for(let a=n+1;a<r-1;++a){const c=s[a];if(c===`
85
+ `){I.atDocumentBoundary(s,a+1)&&t.push(new B(this,"Document boundary indicators are not allowed within string values"));const{fold:u,offset:l,error:f}=I.foldNewline(s,a,o);i+=u,a=l,f&&t.push(new B(this,"Multi-line single-quoted string needs to be sufficiently indented"))}else if(c==="'")i+=c,a+=1,s[a]!=="'"&&t.push(new ae(this,"Unescaped single quote? This should not happen."));else if(c===" "||c===" "){const u=a;let l=s[a+1];for(;l===" "||l===" ";)a+=1,l=s[a+1];l!==`
86
+ `&&(i+=a>u?s.slice(u,a+1):c)}else i+=c}return t.length>0?{errors:t,str:i}:i}parse(t,n){this.context=t;const{src:r}=t;let o=vs.endOfQuote(r,n+1);return this.valueRange=new Q(n,o),o=I.endOfWhiteSpace(r,o),o=this.parseComment(o),o}}function ym(e,t){switch(e){case k.ALIAS:return new hm(e,t);case k.BLOCK_FOLDED:case k.BLOCK_LITERAL:return new mm(e,t);case k.FLOW_MAP:case k.FLOW_SEQ:return new gm(e,t);case k.MAP_KEY:case k.MAP_VALUE:case k.SEQ_ITEM:return new gs(e,t);case k.COMMENT:case k.PLAIN:return new Eu(e,t);case k.QUOTE_DOUBLE:return new ys(e,t);case k.QUOTE_SINGLE:return new vs(e,t);default:return null}}class on{static parseType(t,n,r){switch(t[n]){case"*":return k.ALIAS;case">":return k.BLOCK_FOLDED;case"|":return k.BLOCK_LITERAL;case"{":return k.FLOW_MAP;case"[":return k.FLOW_SEQ;case"?":return!r&&I.atBlank(t,n+1,!0)?k.MAP_KEY:k.PLAIN;case":":return!r&&I.atBlank(t,n+1,!0)?k.MAP_VALUE:k.PLAIN;case"-":return!r&&I.atBlank(t,n+1,!0)?k.SEQ_ITEM:k.PLAIN;case'"':return k.QUOTE_DOUBLE;case"'":return k.QUOTE_SINGLE;default:return k.PLAIN}}constructor(t={},{atLineStart:n,inCollection:r,inFlow:o,indent:s,lineStart:i,parent:a}={}){ue(this,"parseNode",(c,u)=>{if(I.atDocumentBoundary(this.src,u))return null;const l=new on(this,c),{props:f,type:p,valueStart:h}=l.parseProps(u),d=ym(p,f);let v=u;try{v=d.parse(l,h)}catch(m){const y=m instanceof Error?m.message:String(m);d.error||(d.error=new ae(d,y))}if(d.range=new Q(u,v),v<=u&&(d.error||(d.error=new Error("Node#parse consumed no characters")),d.error.parseEnd=v,d.error.source=d,d.range.end=u+1),l.nodeStartsCollection(d)){!d.error&&!l.atLineStart&&l.parent.type===k.DOCUMENT&&(d.error=new ae(d,"Block collection must not have preceding content here (e.g. directives-end indicator)"));const m=new Su(d);return v=m.parse(new on(l),v),m.range=new Q(u,v),m}return d}),this.atLineStart=n??(t.atLineStart||!1),this.inCollection=r??(t.inCollection||!1),this.inFlow=o??(t.inFlow||!1),this.indent=s??t.indent,this.lineStart=i??t.lineStart,this.parent=a??(t.parent||{}),this.root=t.root,this.src=t.src}nodeStartsCollection(t){const{inCollection:n,inFlow:r,src:o}=this;if(n||r)return!1;if(t instanceof gs)return!0;let s=t.range.end;return o[s]===`
87
+ `||o[s-1]===`
88
+ `?!1:(s=I.endOfWhiteSpace(o,s),o[s]===":")}parseProps(t){const{inFlow:n,parent:r,src:o}=this,s=[];let i=!1;t=this.atLineStart?I.endOfIndent(o,t):I.endOfWhiteSpace(o,t);let a=o[t];for(;a===ee.ANCHOR||a===ee.COMMENT||a===ee.TAG||a===`
104
89
  `;){if(a===`
105
- `){let u=e,l;do l=u+1,u=A.endOfIndent(s,l);while(s[u]===`
106
- `);const f=u-(l+this.indent),m=r.type===_.SEQ_ITEM&&r.context.atLineStart;if(s[u]!=="#"&&!A.nextNodeIsIndented(s[u],f,!m))break;this.atLineStart=!0,this.lineStart=l,i=!1,e=u}else if(a===Z.COMMENT){const u=A.endOfLine(s,e+1);o.push(new H(e,u)),e=u}else{let u=A.endOfIdentifier(s,e+1);a===Z.TAG&&s[u]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(s.slice(e+1,u+13))&&(u=A.endOfIdentifier(s,u+5)),o.push(new H(e,u)),i=!0,e=A.endOfWhiteSpace(s,u)}a=s[e]}i&&a===":"&&A.atBlank(s,e+1,!0)&&(e-=1);const c=tn.parseType(s,e,n);return{props:o,type:c,valueStart:e}}}function oo(t){const e=[];t.indexOf("\r")!==-1&&(t=t.replace(/\r\n?/g,(s,o)=>(s.length>1&&e.push(o),`
107
- `)));const n=[];let r=0;do{const s=new Am,o=new tn({src:t});r=s.parse(o,r),n.push(s)}while(r<t.length);return n.setOrigRanges=()=>{if(e.length===0)return!1;for(let o=1;o<e.length;++o)e[o]-=o;let s=0;for(let o=0;o<n.length;++o)s=n[o].setOrigRanges(e,s);return e.splice(0,e.length),!0},n.toString=()=>n.join(`...
108
- `),n}function Cm(t,e,n){return n?`#${n.replace(/[\s\S]^/gm,`$&${e}#`)}
109
- ${e}${t}`:t}function It(t,e,n){return n?n.indexOf(`
110
- `)===-1?`${t} #${n}`:`${t}
111
- `+n.replace(/^/gm,`${e||""}#`):t}class de{}function Se(t,e,n){if(Array.isArray(t))return t.map((r,s)=>Se(r,String(s),n));if(t&&typeof t.toJSON=="function"){const r=n&&n.anchors&&n.anchors.get(t);r&&(n.onCreate=o=>{r.res=o,delete n.onCreate});const s=t.toJSON(e,n);return r&&n.onCreate&&n.onCreate(s),s}return(!n||!n.keep)&&typeof t=="bigint"?Number(t):t}class G extends de{constructor(e){super(),this.value=e}toJSON(e,n){return n&&n.keep?this.value:Se(this.value,e,n)}toString(){return String(this.value)}}function sa(t,e,n){let r=n;for(let s=e.length-1;s>=0;--s){const o=e[s];if(Number.isInteger(o)&&o>=0){const i=[];i[o]=r,r=i}else{const i={};Object.defineProperty(i,o,{value:r,writable:!0,enumerable:!0,configurable:!0}),r=i}}return t.createNode(r,!1)}const Qt=t=>t==null||typeof t=="object"&&t[Symbol.iterator]().next().done;class Q extends de{constructor(e){super(),ue(this,"items",[]),this.schema=e}addIn(e,n){if(Qt(e))this.add(n);else{const[r,...s]=e,o=this.get(r,!0);if(o instanceof Q)o.addIn(s,n);else if(o===void 0&&this.schema)this.set(r,sa(this.schema,s,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${s}`)}}deleteIn([e,...n]){if(n.length===0)return this.delete(e);const r=this.get(e,!0);if(r instanceof Q)return r.deleteIn(n);throw new Error(`Expected YAML collection at ${e}. Remaining path: ${n}`)}getIn([e,...n],r){const s=this.get(e,!0);return n.length===0?!r&&s instanceof G?s.value:s:s instanceof Q?s.getIn(n,r):void 0}hasAllNullValues(){return this.items.every(e=>{if(!e||e.type!=="PAIR")return!1;const n=e.value;return n==null||n instanceof G&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn([e,...n]){if(n.length===0)return this.has(e);const r=this.get(e,!0);return r instanceof Q?r.hasIn(n):!1}setIn([e,...n],r){if(n.length===0)this.set(e,r);else{const s=this.get(e,!0);if(s instanceof Q)s.setIn(n,r);else if(s===void 0&&this.schema)this.set(e,sa(this.schema,n,r));else throw new Error(`Expected YAML collection at ${e}. Remaining path: ${n}`)}}toJSON(){return null}toString(e,{blockItem:n,flowChars:r,isMap:s,itemIndent:o},i,a){const{indent:c,indentStep:u,stringify:l}=e,f=this.type===_.FLOW_MAP||this.type===_.FLOW_SEQ||e.inFlow;f&&(o+=u);const m=s&&this.hasAllNullValues();e=Object.assign({},e,{allNullValues:m,indent:o,inFlow:f,type:null});let p=!1,d=!1;const v=this.items.reduce((y,$,S)=>{let N;$&&(!p&&$.spaceBefore&&y.push({type:"comment",str:""}),$.commentBefore&&$.commentBefore.match(/^.*$/gm).forEach(C=>{y.push({type:"comment",str:`#${C}`})}),$.comment&&(N=$.comment),f&&(!p&&$.spaceBefore||$.commentBefore||$.comment||$.key&&($.key.commentBefore||$.key.comment)||$.value&&($.value.commentBefore||$.value.comment))&&(d=!0)),p=!1;let k=l($,e,()=>N=null,()=>p=!0);return f&&!d&&k.includes(`
112
- `)&&(d=!0),f&&S<this.items.length-1&&(k+=","),k=It(k,o,N),p&&(N||f)&&(p=!1),y.push({type:"item",str:k}),y},[]);let g;if(v.length===0)g=r.start+r.end;else if(f){const{start:y,end:$}=r,S=v.map(N=>N.str);if(d||S.reduce((N,k)=>N+k.length+2,2)>Q.maxFlowStringSingleLineLength){g=y;for(const N of S)g+=N?`
113
- ${u}${c}${N}`:`
114
- `;g+=`
115
- ${c}${$}`}else g=`${y} ${S.join(" ")} ${$}`}else{const y=v.map(n);g=y.shift();for(const $ of y)g+=$?`
90
+ `){let u=t,l;do l=u+1,u=I.endOfIndent(o,l);while(o[u]===`
91
+ `);const f=u-(l+this.indent),p=r.type===k.SEQ_ITEM&&r.context.atLineStart;if(o[u]!=="#"&&!I.nextNodeIsIndented(o[u],f,!p))break;this.atLineStart=!0,this.lineStart=l,i=!1,t=u}else if(a===ee.COMMENT){const u=I.endOfLine(o,t+1);s.push(new Q(t,u)),t=u}else{let u=I.endOfIdentifier(o,t+1);a===ee.TAG&&o[u]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(o.slice(t+1,u+13))&&(u=I.endOfIdentifier(o,u+5)),s.push(new Q(t,u)),i=!0,t=I.endOfWhiteSpace(o,u)}a=o[t]}i&&a===":"&&I.atBlank(o,t+1,!0)&&(t-=1);const c=on.parseType(o,t,n);return{props:s,type:c,valueStart:t}}}function $s(e){const t=[];e.indexOf("\r")!==-1&&(e=e.replace(/\r\n?/g,(o,s)=>(o.length>1&&t.push(s),`
92
+ `)));const n=[];let r=0;do{const o=new pm,s=new on({src:e});r=o.parse(s,r),n.push(o)}while(r<e.length);return n.setOrigRanges=()=>{if(t.length===0)return!1;for(let s=1;s<t.length;++s)t[s]-=s;let o=0;for(let s=0;s<n.length;++s)o=n[s].setOrigRanges(t,o);return t.splice(0,t.length),!0},n.toString=()=>n.join(`...
93
+ `),n}function vm(e,t,n){return n?`#${n.replace(/[\s\S]^/gm,`$&${t}#`)}
94
+ ${t}${e}`:e}function Ct(e,t,n){return n?n.indexOf(`
95
+ `)===-1?`${e} #${n}`:`${e}
96
+ `+n.replace(/^/gm,`${t||""}#`):e}let he=class{};function Ae(e,t,n){if(Array.isArray(e))return e.map((r,o)=>Ae(r,String(o),n));if(e&&typeof e.toJSON=="function"){const r=n&&n.anchors&&n.anchors.get(e);r&&(n.onCreate=s=>{r.res=s,delete n.onCreate});const o=e.toJSON(t,n);return r&&n.onCreate&&n.onCreate(o),o}return(!n||!n.keep)&&typeof e=="bigint"?Number(e):e}let W=class extends he{constructor(t){super(),this.value=t}toJSON(t,n){return n&&n.keep?this.value:Ae(this.value,t,n)}toString(){return String(this.value)}};function _a(e,t,n){let r=n;for(let o=t.length-1;o>=0;--o){const s=t[o];if(Number.isInteger(s)&&s>=0){const i=[];i[s]=r,r=i}else{const i={};Object.defineProperty(i,s,{value:r,writable:!0,enumerable:!0,configurable:!0}),r=i}}return e.createNode(r,!1)}const Xt=e=>e==null||typeof e=="object"&&e[Symbol.iterator]().next().done;let ie=class at extends he{constructor(t){super(),ue(this,"items",[]),this.schema=t}addIn(t,n){if(Xt(t))this.add(n);else{const[r,...o]=t,s=this.get(r,!0);if(s instanceof at)s.addIn(o,n);else if(s===void 0&&this.schema)this.set(r,_a(this.schema,o,n));else throw new Error(`Expected YAML collection at ${r}. Remaining path: ${o}`)}}deleteIn([t,...n]){if(n.length===0)return this.delete(t);const r=this.get(t,!0);if(r instanceof at)return r.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn([t,...n],r){const o=this.get(t,!0);return n.length===0?!r&&o instanceof W?o.value:o:o instanceof at?o.getIn(n,r):void 0}hasAllNullValues(){return this.items.every(t=>{if(!t||t.type!=="PAIR")return!1;const n=t.value;return n==null||n instanceof W&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn([t,...n]){if(n.length===0)return this.has(t);const r=this.get(t,!0);return r instanceof at?r.hasIn(n):!1}setIn([t,...n],r){if(n.length===0)this.set(t,r);else{const o=this.get(t,!0);if(o instanceof at)o.setIn(n,r);else if(o===void 0&&this.schema)this.set(t,_a(this.schema,n,r));else throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}}toJSON(){return null}toString(t,{blockItem:n,flowChars:r,isMap:o,itemIndent:s},i,a){const{indent:c,indentStep:u,stringify:l}=t,f=this.type===k.FLOW_MAP||this.type===k.FLOW_SEQ||t.inFlow;f&&(s+=u);const p=o&&this.hasAllNullValues();t=Object.assign({},t,{allNullValues:p,indent:s,inFlow:f,type:null});let h=!1,d=!1;const v=this.items.reduce((y,$,S)=>{let b;$&&(!h&&$.spaceBefore&&y.push({type:"comment",str:""}),$.commentBefore&&$.commentBefore.match(/^.*$/gm).forEach(j=>{y.push({type:"comment",str:`#${j}`})}),$.comment&&(b=$.comment),f&&(!h&&$.spaceBefore||$.commentBefore||$.comment||$.key&&($.key.commentBefore||$.key.comment)||$.value&&($.value.commentBefore||$.value.comment))&&(d=!0)),h=!1;let N=l($,t,()=>b=null,()=>h=!0);return f&&!d&&N.includes(`
97
+ `)&&(d=!0),f&&S<this.items.length-1&&(N+=","),N=Ct(N,s,b),h&&(b||f)&&(h=!1),y.push({type:"item",str:N}),y},[]);let m;if(v.length===0)m=r.start+r.end;else if(f){const{start:y,end:$}=r,S=v.map(b=>b.str);if(d||S.reduce((b,N)=>b+N.length+2,2)>at.maxFlowStringSingleLineLength){m=y;for(const b of S)m+=b?`
98
+ ${u}${c}${b}`:`
99
+ `;m+=`
100
+ ${c}${$}`}else m=`${y} ${S.join(" ")} ${$}`}else{const y=v.map(n);m=y.shift();for(const $ of y)m+=$?`
116
101
  ${c}${$}`:`
117
- `}return this.comment?(g+=`
118
- `+this.comment.replace(/^/gm,`${c}#`),i&&i()):p&&a&&a(),g}}ue(Q,"maxFlowStringSingleLineLength",60);function _n(t){let e=t instanceof G?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),Number.isInteger(e)&&e>=0?e:null}class Pe extends Q{add(e){this.items.push(e)}delete(e){const n=_n(e);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(e,n){const r=_n(e);if(typeof r!="number")return;const s=this.items[r];return!n&&s instanceof G?s.value:s}has(e){const n=_n(e);return typeof n=="number"&&n<this.items.length}set(e,n){const r=_n(e);if(typeof r!="number")throw new Error(`Expected a valid index, not ${e}.`);this.items[r]=n}toJSON(e,n){const r=[];n&&n.onCreate&&n.onCreate(r);let s=0;for(const o of this.items)r.push(Se(o,String(s++),n));return r}toString(e,n,r){return e?super.toString(e,{blockItem:s=>s.type==="comment"?s.str:`- ${s.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(e.indent||"")+" "},n,r):JSON.stringify(this)}}const Rm=(t,e,n)=>e===null?"":typeof e!="object"?String(e):t instanceof de&&n&&n.doc?t.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(e);class V extends de{constructor(e,n=null){super(),this.key=e,this.value=n,this.type=V.Type.PAIR}get commentBefore(){return this.key instanceof de?this.key.commentBefore:void 0}set commentBefore(e){if(this.key==null&&(this.key=new G(null)),this.key instanceof de)this.key.commentBefore=e;else{const n="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(n)}}addToJSMap(e,n){const r=Se(this.key,"",e);if(n instanceof Map){const s=Se(this.value,r,e);n.set(r,s)}else if(n instanceof Set)n.add(r);else{const s=Rm(this.key,r,e),o=Se(this.value,s,e);s in n?Object.defineProperty(n,s,{value:o,writable:!0,enumerable:!0,configurable:!0}):n[s]=o}return n}toJSON(e,n){const r=n&&n.mapAsMap?new Map:{};return this.addToJSMap(n,r)}toString(e,n,r){if(!e||!e.doc)return JSON.stringify(this);const{indent:s,indentSeq:o,simpleKeys:i}=e.doc.options;let{key:a,value:c}=this,u=a instanceof de&&a.comment;if(i){if(u)throw new Error("With simple keys, key nodes cannot have comments");if(a instanceof Q){const k="With simple keys, collection cannot be used as a key value";throw new Error(k)}}let l=!i&&(!a||u||(a instanceof de?a instanceof Q||a.type===_.BLOCK_FOLDED||a.type===_.BLOCK_LITERAL:typeof a=="object"));const{doc:f,indent:m,indentStep:p,stringify:d}=e;e=Object.assign({},e,{implicitKey:!l,indent:m+p});let v=!1,g=d(a,e,()=>u=null,()=>v=!0);if(g=It(g,e.indent,u),!l&&g.length>1024){if(i)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");l=!0}if(e.allNullValues&&!i)return this.comment?(g=It(g,e.indent,this.comment),n&&n()):v&&!u&&r&&r(),e.inFlow&&!l?g:`? ${g}`;g=l?`? ${g}
119
- ${m}:`:`${g}:`,this.comment&&(g=It(g,e.indent,this.comment),n&&n());let y="",$=null;if(c instanceof de){if(c.spaceBefore&&(y=`
120
- `),c.commentBefore){const k=c.commentBefore.replace(/^/gm,`${e.indent}#`);y+=`
121
- ${k}`}$=c.comment}else c&&typeof c=="object"&&(c=f.schema.createNode(c,!0));e.implicitKey=!1,!l&&!this.comment&&c instanceof G&&(e.indentAtStart=g.length+1),v=!1,!o&&s>=2&&!e.inFlow&&!l&&c instanceof Pe&&c.type!==_.FLOW_SEQ&&!c.tag&&!f.anchors.getName(c)&&(e.indent=e.indent.substr(2));const S=d(c,e,()=>$=null,()=>v=!0);let N=" ";return y||this.comment?N=`${y}
122
- ${e.indent}`:!l&&c instanceof Q?(!(S[0]==="["||S[0]==="{")||S.includes(`
123
- `))&&(N=`
124
- ${e.indent}`):S[0]===`
125
- `&&(N=""),v&&!$&&r&&r(),It(g+N+S,e.indent,$)}}ue(V,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const Un=(t,e)=>{if(t instanceof Oe){const n=e.get(t.source);return n.count*n.aliasCount}else if(t instanceof Q){let n=0;for(const r of t.items){const s=Un(r,e);s>n&&(n=s)}return n}else if(t instanceof V){const n=Un(t.key,e),r=Un(t.value,e);return Math.max(n,r)}return 1};class Oe extends de{static stringify({range:e,source:n},{anchors:r,doc:s,implicitKey:o,inStringifyKey:i}){let a=Object.keys(r).find(u=>r[u]===n);if(!a&&i&&(a=s.anchors.getName(n)||s.anchors.newName()),a)return`*${a}${o?" ":""}`;const c=s.anchors.getName(n)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${c} [${e}]`)}constructor(e){super(),this.source=e,this.type=_.ALIAS}set tag(e){throw new Error("Alias nodes cannot have tags")}toJSON(e,n){if(!n)return Se(this.source,e,n);const{anchors:r,maxAliasCount:s}=n,o=r.get(this.source);if(!o||o.res===void 0){const i="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new ln(this.cstNode,i):new ReferenceError(i)}if(s>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=Un(this.source,r)),o.count*o.aliasCount>s)){const i="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new ln(this.cstNode,i):new ReferenceError(i)}return o.res}toString(e){return Oe.stringify(this,e)}}ue(Oe,"default",!0);function ft(t,e){const n=e instanceof G?e.value:e;for(const r of t)if(r instanceof V&&(r.key===e||r.key===n||r.key&&r.key.value===n))return r}class pe extends Q{add(e,n){e?e instanceof V||(e=new V(e.key||e,e.value)):e=new V(e);const r=ft(this.items,e.key),s=this.schema&&this.schema.sortMapEntries;if(r)if(n)r.value=e.value;else throw new Error(`Key ${e.key} already set`);else if(s){const o=this.items.findIndex(i=>s(e,i)<0);o===-1?this.items.push(e):this.items.splice(o,0,e)}else this.items.push(e)}delete(e){const n=ft(this.items,e);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(e,n){const r=ft(this.items,e),s=r&&r.value;return!n&&s instanceof G?s.value:s}has(e){return!!ft(this.items,e)}set(e,n){this.add(new V(e,n),!0)}toJSON(e,n,r){const s=r?new r:n&&n.mapAsMap?new Map:{};n&&n.onCreate&&n.onCreate(s);for(const o of this.items)o.addToJSMap(n,s);return s}toString(e,n,r){if(!e)return JSON.stringify(this);for(const s of this.items)if(!(s instanceof V))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return super.toString(e,{blockItem:s=>s.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:e.indent||""},n,r)}}const $u="<<";class wu extends V{constructor(e){if(e instanceof V){let n=e.value;n instanceof Pe||(n=new Pe,n.items.push(e.value),n.range=e.value.range),super(e.key,n),this.range=e.range}else super(new G($u),new Pe);this.type=V.Type.MERGE_PAIR}addToJSMap(e,n){for(const{source:r}of this.value.items){if(!(r instanceof pe))throw new Error("Merge sources must be maps");const s=r.toJSON(null,e,Map);for(const[o,i]of s)n instanceof Map?n.has(o)||n.set(o,i):n instanceof Set?n.add(o):Object.prototype.hasOwnProperty.call(n,o)||Object.defineProperty(n,o,{value:i,writable:!0,enumerable:!0,configurable:!0})}return n}toString(e,n){const r=this.value;if(r.items.length>1)return super.toString(e,n);this.value=r.items[0];const s=super.toString(e,n);return this.value=r,s}}const nn={defaultType:_.BLOCK_LITERAL,lineWidth:76},Me={trueStr:"true",falseStr:"false"},Xe={asBigInt:!1},xt={nullStr:"null"},Ue={defaultType:_.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function io(t,e,n){for(const{format:r,test:s,resolve:o}of e)if(s){const i=t.match(s);if(i){let a=o.apply(null,i);return a instanceof G||(a=new G(a)),r&&(a.format=r),a}}return n&&(t=n(t)),new G(t)}const bu="flow",$s="block",Vn="quoted",oa=(t,e)=>{let n=t[e+1];for(;n===" "||n===" ";){do n=t[e+=1];while(n&&n!==`
126
- `);n=t[e+1]}return e};function cr(t,e,n,{indentAtStart:r,lineWidth:s=80,minContentWidth:o=20,onFold:i,onOverflow:a}){if(!s||s<0)return t;const c=Math.max(1+o,1+s-e.length);if(t.length<=c)return t;const u=[],l={};let f=s-e.length;typeof r=="number"&&(r>s-Math.max(2,o)?u.push(0):f=s-r);let m,p,d=!1,v=-1,g=-1,y=-1;n===$s&&(v=oa(t,v),v!==-1&&(f=v+c));for(let S;S=t[v+=1];){if(n===Vn&&S==="\\"){switch(g=v,t[v+1]){case"x":v+=3;break;case"u":v+=5;break;case"U":v+=9;break;default:v+=1}y=v}if(S===`
127
- `)n===$s&&(v=oa(t,v)),f=v+c,m=void 0;else{if(S===" "&&p&&p!==" "&&p!==`
128
- `&&p!==" "){const N=t[v+1];N&&N!==" "&&N!==`
129
- `&&N!==" "&&(m=v)}if(v>=f)if(m)u.push(m),f=m+c,m=void 0;else if(n===Vn){for(;p===" "||p===" ";)p=S,S=t[v+=1],d=!0;const N=v>y+1?v-2:g-1;if(l[N])return t;u.push(N),l[N]=!0,f=N+c,m=void 0}else d=!0}p=S}if(d&&a&&a(),u.length===0)return t;i&&i();let $=t.slice(0,u[0]);for(let S=0;S<u.length;++S){const N=u[S],k=u[S+1]||t.length;N===0?$=`
130
- ${e}${t.slice(0,k)}`:(n===Vn&&l[N]&&($+=`${t[N]}\\`),$+=`
131
- ${e}${t.slice(N+1,k)}`)}return $}const ao=({indentAtStart:t})=>t?Object.assign({indentAtStart:t},Ue.fold):Ue.fold,ur=t=>/^(%|---|\.\.\.)/m.test(t);function Mm(t,e,n){if(!e||e<0)return!1;const r=e-n,s=t.length;if(s<=r)return!1;for(let o=0,i=0;o<s;++o)if(t[o]===`
132
- `){if(o-i>r)return!0;if(i=o+1,s-i<=r)return!1}return!0}function dt(t,e){const{implicitKey:n}=e,{jsonEncoding:r,minMultiLineLength:s}=Ue.doubleQuoted,o=JSON.stringify(t);if(r)return o;const i=e.indent||(ur(t)?" ":"");let a="",c=0;for(let u=0,l=o[u];l;l=o[++u])if(l===" "&&o[u+1]==="\\"&&o[u+2]==="n"&&(a+=o.slice(c,u)+"\\ ",u+=1,c=u,l="\\"),l==="\\")switch(o[u+1]){case"u":{a+=o.slice(c,u);const f=o.substr(u+2,4);switch(f){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:f.substr(0,2)==="00"?a+="\\x"+f.substr(2):a+=o.substr(u,6)}u+=5,c=u+1}break;case"n":if(n||o[u+2]==='"'||o.length<s)u+=1;else{for(a+=o.slice(c,u)+`
102
+ `}return this.comment?(m+=`
103
+ `+this.comment.replace(/^/gm,`${c}#`),i&&i()):h&&a&&a(),m}};ue(ie,"maxFlowStringSingleLineLength",60);function An(e){let t=e instanceof W?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),Number.isInteger(t)&&t>=0?t:null}let Te=class extends ie{add(t){this.items.push(t)}delete(t){const n=An(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const r=An(t);if(typeof r!="number")return;const o=this.items[r];return!n&&o instanceof W?o.value:o}has(t){const n=An(t);return typeof n=="number"&&n<this.items.length}set(t,n){const r=An(t);if(typeof r!="number")throw new Error(`Expected a valid index, not ${t}.`);this.items[r]=n}toJSON(t,n){const r=[];n&&n.onCreate&&n.onCreate(r);let o=0;for(const s of this.items)r.push(Ae(s,String(o++),n));return r}toString(t,n,r){return t?super.toString(t,{blockItem:o=>o.type==="comment"?o.str:`- ${o.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(t.indent||"")+" "},n,r):JSON.stringify(this)}};const $m=(e,t,n)=>t===null?"":typeof t!="object"?String(t):e instanceof he&&n&&n.doc?e.toString({anchors:Object.create(null),doc:n.doc,indent:"",indentStep:n.indentStep,inFlow:!0,inStringifyKey:!0,stringify:n.stringify}):JSON.stringify(t);let q=class Ou extends he{constructor(t,n=null){super(),this.key=t,this.value=n,this.type=Ou.Type.PAIR}get commentBefore(){return this.key instanceof he?this.key.commentBefore:void 0}set commentBefore(t){if(this.key==null&&(this.key=new W(null)),this.key instanceof he)this.key.commentBefore=t;else{const n="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(n)}}addToJSMap(t,n){const r=Ae(this.key,"",t);if(n instanceof Map){const o=Ae(this.value,r,t);n.set(r,o)}else if(n instanceof Set)n.add(r);else{const o=$m(this.key,r,t),s=Ae(this.value,o,t);o in n?Object.defineProperty(n,o,{value:s,writable:!0,enumerable:!0,configurable:!0}):n[o]=s}return n}toJSON(t,n){const r=n&&n.mapAsMap?new Map:{};return this.addToJSMap(n,r)}toString(t,n,r){if(!t||!t.doc)return JSON.stringify(this);const{indent:o,indentSeq:s,simpleKeys:i}=t.doc.options;let{key:a,value:c}=this,u=a instanceof he&&a.comment;if(i){if(u)throw new Error("With simple keys, key nodes cannot have comments");if(a instanceof ie){const N="With simple keys, collection cannot be used as a key value";throw new Error(N)}}let l=!i&&(!a||u||(a instanceof he?a instanceof ie||a.type===k.BLOCK_FOLDED||a.type===k.BLOCK_LITERAL:typeof a=="object"));const{doc:f,indent:p,indentStep:h,stringify:d}=t;t=Object.assign({},t,{implicitKey:!l,indent:p+h});let v=!1,m=d(a,t,()=>u=null,()=>v=!0);if(m=Ct(m,t.indent,u),!l&&m.length>1024){if(i)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");l=!0}if(t.allNullValues&&!i)return this.comment?(m=Ct(m,t.indent,this.comment),n&&n()):v&&!u&&r&&r(),t.inFlow&&!l?m:`? ${m}`;m=l?`? ${m}
104
+ ${p}:`:`${m}:`,this.comment&&(m=Ct(m,t.indent,this.comment),n&&n());let y="",$=null;if(c instanceof he){if(c.spaceBefore&&(y=`
105
+ `),c.commentBefore){const N=c.commentBefore.replace(/^/gm,`${t.indent}#`);y+=`
106
+ ${N}`}$=c.comment}else c&&typeof c=="object"&&(c=f.schema.createNode(c,!0));t.implicitKey=!1,!l&&!this.comment&&c instanceof W&&(t.indentAtStart=m.length+1),v=!1,!s&&o>=2&&!t.inFlow&&!l&&c instanceof Te&&c.type!==k.FLOW_SEQ&&!c.tag&&!f.anchors.getName(c)&&(t.indent=t.indent.substr(2));const S=d(c,t,()=>$=null,()=>v=!0);let b=" ";return y||this.comment?b=`${y}
107
+ ${t.indent}`:!l&&c instanceof ie?(!(S[0]==="["||S[0]==="{")||S.includes(`
108
+ `))&&(b=`
109
+ ${t.indent}`):S[0]===`
110
+ `&&(b=""),v&&!$&&r&&r(),Ct(m+b+S,t.indent,$)}};ue(q,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});const qn=(e,t)=>{if(e instanceof Ve){const n=t.get(e.source);return n.count*n.aliasCount}else if(e instanceof ie){let n=0;for(const r of e.items){const o=qn(r,t);o>n&&(n=o)}return n}else if(e instanceof q){const n=qn(e.key,t),r=qn(e.value,t);return Math.max(n,r)}return 1};let Ve=class Nu extends he{static stringify({range:t,source:n},{anchors:r,doc:o,implicitKey:s,inStringifyKey:i}){let a=Object.keys(r).find(u=>r[u]===n);if(!a&&i&&(a=o.anchors.getName(n)||o.anchors.newName()),a)return`*${a}${s?" ":""}`;const c=o.anchors.getName(n)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${c} [${t}]`)}constructor(t){super(),this.source=t,this.type=k.ALIAS}set tag(t){throw new Error("Alias nodes cannot have tags")}toJSON(t,n){if(!n)return Ae(this.source,t,n);const{anchors:r,maxAliasCount:o}=n,s=r.get(this.source);if(!s||s.res===void 0){const i="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new dn(this.cstNode,i):new ReferenceError(i)}if(o>=0&&(s.count+=1,s.aliasCount===0&&(s.aliasCount=qn(this.source,r)),s.count*s.aliasCount>o)){const i="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new dn(this.cstNode,i):new ReferenceError(i)}return s.res}toString(t){return Nu.stringify(this,t)}};ue(Ve,"default",!0);function ht(e,t){const n=t instanceof W?t.value:t;for(const r of e)if(r instanceof q&&(r.key===t||r.key===n||r.key&&r.key.value===n))return r}let me=class extends ie{add(t,n){t?t instanceof q||(t=new q(t.key||t,t.value)):t=new q(t);const r=ht(this.items,t.key),o=this.schema&&this.schema.sortMapEntries;if(r)if(n)r.value=t.value;else throw new Error(`Key ${t.key} already set`);else if(o){const s=this.items.findIndex(i=>o(t,i)<0);s===-1?this.items.push(t):this.items.splice(s,0,t)}else this.items.push(t)}delete(t){const n=ht(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const r=ht(this.items,t),o=r&&r.value;return!n&&o instanceof W?o.value:o}has(t){return!!ht(this.items,t)}set(t,n){this.add(new q(t,n),!0)}toJSON(t,n,r){const o=r?new r:n&&n.mapAsMap?new Map:{};n&&n.onCreate&&n.onCreate(o);for(const s of this.items)s.addToJSMap(n,o);return o}toString(t,n,r){if(!t)return JSON.stringify(this);for(const o of this.items)if(!(o instanceof q))throw new Error(`Map items must all be pairs; found ${JSON.stringify(o)} instead`);return super.toString(t,{blockItem:o=>o.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:t.indent||""},n,r)}};const _u="<<";class ku extends q{constructor(t){if(t instanceof q){let n=t.value;n instanceof Te||(n=new Te,n.items.push(t.value),n.range=t.value.range),super(t.key,n),this.range=t.range}else super(new W(_u),new Te);this.type=q.Type.MERGE_PAIR}addToJSMap(t,n){for(const{source:r}of this.value.items){if(!(r instanceof me))throw new Error("Merge sources must be maps");const o=r.toJSON(null,t,Map);for(const[s,i]of o)n instanceof Map?n.has(s)||n.set(s,i):n instanceof Set?n.add(s):Object.prototype.hasOwnProperty.call(n,s)||Object.defineProperty(n,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}return n}toString(t,n){const r=this.value;if(r.items.length>1)return super.toString(t,n);this.value=r.items[0];const o=super.toString(t,n);return this.value=r,o}}const sn={defaultType:k.BLOCK_LITERAL,lineWidth:76},Le={trueStr:"true",falseStr:"false"},tt={asBigInt:!1},Bt={nullStr:"null"},qe={defaultType:k.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function ws(e,t,n){for(const{format:r,test:o,resolve:s}of t)if(o){const i=e.match(o);if(i){let a=s.apply(null,i);return a instanceof W||(a=new W(a)),r&&(a.format=r),a}}return n&&(e=n(e)),new W(e)}const Au="flow",ko="block",Kn="quoted",ka=(e,t)=>{let n=e[t+1];for(;n===" "||n===" ";){do n=e[t+=1];while(n&&n!==`
111
+ `);n=e[t+1]}return t};function pr(e,t,n,{indentAtStart:r,lineWidth:o=80,minContentWidth:s=20,onFold:i,onOverflow:a}){if(!o||o<0)return e;const c=Math.max(1+s,1+o-t.length);if(e.length<=c)return e;const u=[],l={};let f=o-t.length;typeof r=="number"&&(r>o-Math.max(2,s)?u.push(0):f=o-r);let p,h,d=!1,v=-1,m=-1,y=-1;n===ko&&(v=ka(e,v),v!==-1&&(f=v+c));for(let S;S=e[v+=1];){if(n===Kn&&S==="\\"){switch(m=v,e[v+1]){case"x":v+=3;break;case"u":v+=5;break;case"U":v+=9;break;default:v+=1}y=v}if(S===`
112
+ `)n===ko&&(v=ka(e,v)),f=v+c,p=void 0;else{if(S===" "&&h&&h!==" "&&h!==`
113
+ `&&h!==" "){const b=e[v+1];b&&b!==" "&&b!==`
114
+ `&&b!==" "&&(p=v)}if(v>=f)if(p)u.push(p),f=p+c,p=void 0;else if(n===Kn){for(;h===" "||h===" ";)h=S,S=e[v+=1],d=!0;const b=v>y+1?v-2:m-1;if(l[b])return e;u.push(b),l[b]=!0,f=b+c,p=void 0}else d=!0}h=S}if(d&&a&&a(),u.length===0)return e;i&&i();let $=e.slice(0,u[0]);for(let S=0;S<u.length;++S){const b=u[S],N=u[S+1]||e.length;b===0?$=`
115
+ ${t}${e.slice(0,N)}`:(n===Kn&&l[b]&&($+=`${e[b]}\\`),$+=`
116
+ ${t}${e.slice(b+1,N)}`)}return $}const bs=({indentAtStart:e})=>e?Object.assign({indentAtStart:e},qe.fold):qe.fold,hr=e=>/^(%|---|\.\.\.)/m.test(e);function wm(e,t,n){if(!t||t<0)return!1;const r=t-n,o=e.length;if(o<=r)return!1;for(let s=0,i=0;s<o;++s)if(e[s]===`
117
+ `){if(s-i>r)return!0;if(i=s+1,o-i<=r)return!1}return!0}function yt(e,t){const{implicitKey:n}=t,{jsonEncoding:r,minMultiLineLength:o}=qe.doubleQuoted,s=JSON.stringify(e);if(r)return s;const i=t.indent||(hr(e)?" ":"");let a="",c=0;for(let u=0,l=s[u];l;l=s[++u])if(l===" "&&s[u+1]==="\\"&&s[u+2]==="n"&&(a+=s.slice(c,u)+"\\ ",u+=1,c=u,l="\\"),l==="\\")switch(s[u+1]){case"u":{a+=s.slice(c,u);const f=s.substr(u+2,4);switch(f){case"0000":a+="\\0";break;case"0007":a+="\\a";break;case"000b":a+="\\v";break;case"001b":a+="\\e";break;case"0085":a+="\\N";break;case"00a0":a+="\\_";break;case"2028":a+="\\L";break;case"2029":a+="\\P";break;default:f.substr(0,2)==="00"?a+="\\x"+f.substr(2):a+=s.substr(u,6)}u+=5,c=u+1}break;case"n":if(n||s[u+2]==='"'||s.length<o)u+=1;else{for(a+=s.slice(c,u)+`
133
118
 
134
- `;o[u+2]==="\\"&&o[u+3]==="n"&&o[u+4]!=='"';)a+=`
135
- `,u+=2;a+=i,o[u+2]===" "&&(a+="\\"),u+=1,c=u+1}break;default:u+=1}return a=c?a+o.slice(c):o,n?a:cr(a,i,Vn,ao(e))}function Eu(t,e){if(e.implicitKey){if(/\n/.test(t))return dt(t,e)}else if(/[ \t]\n|\n[ \t]/.test(t))return dt(t,e);const n=e.indent||(ur(t)?" ":""),r="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
136
- ${n}`)+"'";return e.implicitKey?r:cr(r,n,bu,ao(e))}function Fn({comment:t,type:e,value:n},r,s,o){if(/\n[\t ]+$/.test(n)||/^\s*$/.test(n))return dt(n,r);const i=r.indent||(r.forceBlockIndent||ur(n)?" ":""),a=i?"2":"1",c=e===_.BLOCK_FOLDED?!1:e===_.BLOCK_LITERAL?!0:!Mm(n,Ue.fold.lineWidth,i.length);let u=c?"|":">";if(!n)return u+`
137
- `;let l="",f="";if(n=n.replace(/[\n\t ]*$/,p=>{const d=p.indexOf(`
138
- `);return d===-1?u+="-":(n===p||d!==p.length-1)&&(u+="+",o&&o()),f=p.replace(/\n$/,""),""}).replace(/^[\n ]*/,p=>{p.indexOf(" ")!==-1&&(u+=a);const d=p.match(/ +$/);return d?(l=p.slice(0,-d[0].length),d[0]):(l=p,"")}),f&&(f=f.replace(/\n+(?!\n|$)/g,`$&${i}`)),l&&(l=l.replace(/\n+/g,`$&${i}`)),t&&(u+=" #"+t.replace(/ ?[\r\n]+/g," "),s&&s()),!n)return`${u}${a}
119
+ `;s[u+2]==="\\"&&s[u+3]==="n"&&s[u+4]!=='"';)a+=`
120
+ `,u+=2;a+=i,s[u+2]===" "&&(a+="\\"),u+=1,c=u+1}break;default:u+=1}return a=c?a+s.slice(c):s,n?a:pr(a,i,Kn,bs(t))}function Iu(e,t){if(t.implicitKey){if(/\n/.test(e))return yt(e,t)}else if(/[ \t]\n|\n[ \t]/.test(e))return yt(e,t);const n=t.indent||(hr(e)?" ":""),r="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
121
+ ${n}`)+"'";return t.implicitKey?r:pr(r,n,Au,bs(t))}function Gn({comment:e,type:t,value:n},r,o,s){if(/\n[\t ]+$/.test(n)||/^\s*$/.test(n))return yt(n,r);const i=r.indent||(r.forceBlockIndent||hr(n)?" ":""),a=i?"2":"1",c=t===k.BLOCK_FOLDED?!1:t===k.BLOCK_LITERAL?!0:!wm(n,qe.fold.lineWidth,i.length);let u=c?"|":">";if(!n)return u+`
122
+ `;let l="",f="";if(n=n.replace(/[\n\t ]*$/,h=>{const d=h.indexOf(`
123
+ `);return d===-1?u+="-":(n===h||d!==h.length-1)&&(u+="+",s&&s()),f=h.replace(/\n$/,""),""}).replace(/^[\n ]*/,h=>{h.indexOf(" ")!==-1&&(u+=a);const d=h.match(/ +$/);return d?(l=h.slice(0,-d[0].length),d[0]):(l=h,"")}),f&&(f=f.replace(/\n+(?!\n|$)/g,`$&${i}`)),l&&(l=l.replace(/\n+/g,`$&${i}`)),e&&(u+=" #"+e.replace(/ ?[\r\n]+/g," "),o&&o()),!n)return`${u}${a}
139
124
  ${i}${f}`;if(c)return n=n.replace(/\n+/g,`$&${i}`),`${u}
140
125
  ${i}${l}${n}${f}`;n=n.replace(/\n+/g,`
141
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${i}`);const m=cr(`${l}${n}${f}`,i,$s,Ue.fold);return`${u}
142
- ${i}${m}`}function Dm(t,e,n,r){const{comment:s,type:o,value:i}=t,{actualString:a,implicitKey:c,indent:u,inFlow:l}=e;if(c&&/[\n[\]{},]/.test(i)||l&&/[[\]{},]/.test(i))return dt(i,e);if(!i||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return c||l||i.indexOf(`
143
- `)===-1?i.indexOf('"')!==-1&&i.indexOf("'")===-1?Eu(i,e):dt(i,e):Fn(t,e,n,r);if(!c&&!l&&o!==_.PLAIN&&i.indexOf(`
144
- `)!==-1)return Fn(t,e,n,r);if(u===""&&ur(i))return e.forceBlockIndent=!0,Fn(t,e,n,r);const f=i.replace(/\n+/g,`$&
145
- ${u}`);if(a){const{tags:p}=e.doc.schema;if(typeof io(f,p,p.scalarFallback).value!="string")return dt(i,e)}const m=c?f:cr(f,u,bu,ao(e));return s&&!l&&(m.indexOf(`
146
- `)!==-1||s.indexOf(`
147
- `)!==-1)?(n&&n(),Cm(m,u,s)):m}function co(t,e,n,r){const{defaultType:s}=Ue,{implicitKey:o,inFlow:i}=e;let{type:a,value:c}=t;typeof c!="string"&&(c=String(c),t=Object.assign({},t,{value:c}));const u=f=>{switch(f){case _.BLOCK_FOLDED:case _.BLOCK_LITERAL:return Fn(t,e,n,r);case _.QUOTE_DOUBLE:return dt(c,e);case _.QUOTE_SINGLE:return Eu(c,e);case _.PLAIN:return Dm(t,e,n,r);default:return null}};(a!==_.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)||(o||i)&&(a===_.BLOCK_FOLDED||a===_.BLOCK_LITERAL))&&(a=_.QUOTE_DOUBLE);let l=u(a);if(l===null&&(l=u(s),l===null))throw new Error(`Unsupported default string type ${s}`);return l}function De({format:t,minFractionDigits:e,tag:n,value:r}){if(typeof r=="bigint")return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=JSON.stringify(r);if(!t&&e&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(s)){let o=s.indexOf(".");o<0&&(o=s.length,s+=".");let i=e-(s.length-o-1);for(;i-- >0;)s+="0"}return s}function Su(t,e){let n,r;switch(e.type){case _.FLOW_MAP:n="}",r="flow map";break;case _.FLOW_SEQ:n="]",r="flow sequence";break;default:t.push(new D(e,"Not a flow collection!?"));return}let s;for(let o=e.items.length-1;o>=0;--o){const i=e.items[o];if(!i||i.type!==_.COMMENT){s=i;break}}if(s&&s.char!==n){const o=`Expected ${r} to end with ${n}`;let i;typeof s.offset=="number"?(i=new D(e,o),i.offset=s.offset+1):(i=new D(s,o),s.range&&s.range.end&&(i.offset=s.range.end-s.range.start)),t.push(i)}}function Nu(t,e){const n=e.context.src[e.range.start-1];if(n!==`
148
- `&&n!==" "&&n!==" "){const r="Comments must be separated from other tokens by white space characters";t.push(new D(e,r))}}function Ou(t,e){const n=String(e),r=n.substr(0,8)+"..."+n.substr(-8);return new D(t,`The "${r}" key is too long`)}function _u(t,e){for(const{afterKey:n,before:r,comment:s}of e){let o=t.items[r];o?(n&&o.value&&(o=o.value),s===void 0?(n||!o.commentBefore)&&(o.spaceBefore=!0):o.commentBefore?o.commentBefore+=`
149
- `+s:o.commentBefore=s):s!==void 0&&(t.comment?t.comment+=`
150
- `+s:t.comment=s)}}function gn(t,e){const n=e.strValue;return n?typeof n=="string"?n:(n.errors.forEach(r=>{r.source||(r.source=e),t.errors.push(r)}),n.str):""}function Lm(t,e){const{handle:n,suffix:r}=e.tag;let s=t.tagPrefixes.find(o=>o.handle===n);if(!s){const o=t.getDefaults().tagPrefixes;if(o&&(s=o.find(i=>i.handle===n)),!s)throw new D(e,`The ${n} tag handle is non-default and was not declared.`)}if(!r)throw new D(e,`The ${n} tag has no suffix.`);if(n==="!"&&(t.version||t.options.version)==="1.0"){if(r[0]==="^")return t.warnings.push(new Dt(e,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){const o=r.match(/^([a-z0-9-]+)\/(.*)/i);return o?`tag:${o[1]}.yaml.org,2002:${o[2]}`:`tag:${r}`}}return s.prefix+decodeURIComponent(r)}function Bm(t,e){const{tag:n,type:r}=e;let s=!1;if(n){const{handle:o,suffix:i,verbatim:a}=n;if(a){if(a!=="!"&&a!=="!!")return a;const c=`Verbatim tags aren't resolved, so ${a} is invalid.`;t.errors.push(new D(e,c))}else if(o==="!"&&!i)s=!0;else try{return Lm(t,e)}catch(c){t.errors.push(c)}}switch(r){case _.BLOCK_FOLDED:case _.BLOCK_LITERAL:case _.QUOTE_DOUBLE:case _.QUOTE_SINGLE:return He.STR;case _.FLOW_MAP:case _.MAP:return He.MAP;case _.FLOW_SEQ:case _.SEQ:return He.SEQ;case _.PLAIN:return s?He.STR:null;default:return null}}function ia(t,e,n){const{tags:r}=t.schema,s=[];for(const i of r)if(i.tag===n)if(i.test)s.push(i);else{const a=i.resolve(t,e);return a instanceof Q?a:new G(a)}const o=gn(t,e);return typeof o=="string"&&s.length>0?io(o,s,r.scalarFallback):null}function Um({type:t}){switch(t){case _.FLOW_MAP:case _.MAP:return He.MAP;case _.FLOW_SEQ:case _.SEQ:return He.SEQ;default:return He.STR}}function Vm(t,e,n){try{const r=ia(t,e,n);if(r)return n&&e.tag&&(r.tag=n),r}catch(r){if(r instanceof pt)r.source||(r.source=e),t.errors.push(r);else{const s=r instanceof Error?r.message:String(r);t.errors.push(new D(e,s))}return null}try{const r=Um(e);if(!r)throw new Error(`The tag ${n} is unavailable`);const s=`The tag ${n} is unavailable, falling back to ${r}`;t.warnings.push(new Dt(e,s));const o=ia(t,e,r);return o.tag=n,o}catch(r){const s=new ln(e,r.message);return s.stack=r.stack,t.errors.push(s),null}}const Fm=t=>{if(!t)return!1;const{type:e}=t;return e===_.MAP_KEY||e===_.MAP_VALUE||e===_.SEQ_ITEM};function qm(t,e){const n={before:[],after:[]};let r=!1,s=!1;const o=Fm(e.context.parent)?e.context.parent.props.concat(e.props):e.props;for(const{start:i,end:a}of o)switch(e.context.src[i]){case Z.COMMENT:{if(!e.commentHasRequiredWhitespace(i)){const l="Comments must be separated from other tokens by white space characters";t.push(new D(e,l))}const{header:c,valueRange:u}=e;(u&&(i>u.start||c&&i>c.start)?n.after:n.before).push(e.context.src.slice(i+1,a));break}case Z.ANCHOR:if(r){const c="A node can have at most one anchor";t.push(new D(e,c))}r=!0;break;case Z.TAG:if(s){const c="A node can have at most one tag";t.push(new D(e,c))}s=!0;break}return{comments:n,hasAnchor:r,hasTag:s}}function Km(t,e){const{anchors:n,errors:r,schema:s}=t;if(e.type===_.ALIAS){const i=e.rawValue,a=n.getNode(i);if(!a){const u=`Aliased anchor not found: ${i}`;return r.push(new ln(e,u)),null}const c=new Oe(a);return n._cstAliases.push(c),c}const o=Bm(t,e);if(o)return Vm(t,e,o);if(e.type!==_.PLAIN){const i=`Failed to resolve ${e.type} node here`;return r.push(new ie(e,i)),null}try{const i=gn(t,e);return io(i,s.tags,s.tags.scalarFallback)}catch(i){return i.source||(i.source=e),r.push(i),null}}function Qe(t,e){if(!e)return null;e.error&&t.errors.push(e.error);const{comments:n,hasAnchor:r,hasTag:s}=qm(t.errors,e);if(r){const{anchors:i}=t,a=e.anchor,c=i.getNode(a);c&&(i.map[i.newName(a)]=c),i.map[a]=e}if(e.type===_.ALIAS&&(r||s)){const i="An alias node must not specify any properties";t.errors.push(new D(e,i))}const o=Km(t,e);if(o){o.range=[e.range.start,e.range.end],t.options.keepCstNodes&&(o.cstNode=e),t.options.keepNodeTypes&&(o.type=e.type);const i=n.before.join(`
151
- `);i&&(o.commentBefore=o.commentBefore?`${o.commentBefore}
126
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${i}`);const p=pr(`${l}${n}${f}`,i,ko,qe.fold);return`${u}
127
+ ${i}${p}`}function bm(e,t,n,r){const{comment:o,type:s,value:i}=e,{actualString:a,implicitKey:c,indent:u,inFlow:l}=t;if(c&&/[\n[\]{},]/.test(i)||l&&/[[\]{},]/.test(i))return yt(i,t);if(!i||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return c||l||i.indexOf(`
128
+ `)===-1?i.indexOf('"')!==-1&&i.indexOf("'")===-1?Iu(i,t):yt(i,t):Gn(e,t,n,r);if(!c&&!l&&s!==k.PLAIN&&i.indexOf(`
129
+ `)!==-1)return Gn(e,t,n,r);if(u===""&&hr(i))return t.forceBlockIndent=!0,Gn(e,t,n,r);const f=i.replace(/\n+/g,`$&
130
+ ${u}`);if(a){const{tags:h}=t.doc.schema;if(typeof ws(f,h,h.scalarFallback).value!="string")return yt(i,t)}const p=c?f:pr(f,u,Au,bs(t));return o&&!l&&(p.indexOf(`
131
+ `)!==-1||o.indexOf(`
132
+ `)!==-1)?(n&&n(),vm(p,u,o)):p}function Es(e,t,n,r){const{defaultType:o}=qe,{implicitKey:s,inFlow:i}=t;let{type:a,value:c}=e;typeof c!="string"&&(c=String(c),e=Object.assign({},e,{value:c}));const u=f=>{switch(f){case k.BLOCK_FOLDED:case k.BLOCK_LITERAL:return Gn(e,t,n,r);case k.QUOTE_DOUBLE:return yt(c,t);case k.QUOTE_SINGLE:return Iu(c,t);case k.PLAIN:return bm(e,t,n,r);default:return null}};(a!==k.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(c)||(s||i)&&(a===k.BLOCK_FOLDED||a===k.BLOCK_LITERAL))&&(a=k.QUOTE_DOUBLE);let l=u(a);if(l===null&&(l=u(o),l===null))throw new Error(`Unsupported default string type ${o}`);return l}function Be({format:e,minFractionDigits:t,tag:n,value:r}){if(typeof r=="bigint")return String(r);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let o=JSON.stringify(r);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(o)){let s=o.indexOf(".");s<0&&(s=o.length,o+=".");let i=t-(o.length-s-1);for(;i-- >0;)o+="0"}return o}function ju(e,t){let n,r;switch(t.type){case k.FLOW_MAP:n="}",r="flow map";break;case k.FLOW_SEQ:n="]",r="flow sequence";break;default:e.push(new B(t,"Not a flow collection!?"));return}let o;for(let s=t.items.length-1;s>=0;--s){const i=t.items[s];if(!i||i.type!==k.COMMENT){o=i;break}}if(o&&o.char!==n){const s=`Expected ${r} to end with ${n}`;let i;typeof o.offset=="number"?(i=new B(t,s),i.offset=o.offset+1):(i=new B(o,s),o.range&&o.range.end&&(i.offset=o.range.end-o.range.start)),e.push(i)}}function Pu(e,t){const n=t.context.src[t.range.start-1];if(n!==`
133
+ `&&n!==" "&&n!==" "){const r="Comments must be separated from other tokens by white space characters";e.push(new B(t,r))}}function xu(e,t){const n=String(t),r=n.substr(0,8)+"..."+n.substr(-8);return new B(e,`The "${r}" key is too long`)}function Tu(e,t){for(const{afterKey:n,before:r,comment:o}of t){let s=e.items[r];s?(n&&s.value&&(s=s.value),o===void 0?(n||!s.commentBefore)&&(s.spaceBefore=!0):s.commentBefore?s.commentBefore+=`
134
+ `+o:s.commentBefore=o):o!==void 0&&(e.comment?e.comment+=`
135
+ `+o:e.comment=o)}}function wn(e,t){const n=t.strValue;return n?typeof n=="string"?n:(n.errors.forEach(r=>{r.source||(r.source=t),e.errors.push(r)}),n.str):""}function Em(e,t){const{handle:n,suffix:r}=t.tag;let o=e.tagPrefixes.find(s=>s.handle===n);if(!o){const s=e.getDefaults().tagPrefixes;if(s&&(o=s.find(i=>i.handle===n)),!o)throw new B(t,`The ${n} tag handle is non-default and was not declared.`)}if(!r)throw new B(t,`The ${n} tag has no suffix.`);if(n==="!"&&(e.version||e.options.version)==="1.0"){if(r[0]==="^")return e.warnings.push(new qt(t,"YAML 1.0 ^ tag expansion is not supported")),r;if(/[:/]/.test(r)){const s=r.match(/^([a-z0-9-]+)\/(.*)/i);return s?`tag:${s[1]}.yaml.org,2002:${s[2]}`:`tag:${r}`}}return o.prefix+decodeURIComponent(r)}function Sm(e,t){const{tag:n,type:r}=t;let o=!1;if(n){const{handle:s,suffix:i,verbatim:a}=n;if(a){if(a!=="!"&&a!=="!!")return a;const c=`Verbatim tags aren't resolved, so ${a} is invalid.`;e.errors.push(new B(t,c))}else if(s==="!"&&!i)o=!0;else try{return Em(e,t)}catch(c){e.errors.push(c)}}switch(r){case k.BLOCK_FOLDED:case k.BLOCK_LITERAL:case k.QUOTE_DOUBLE:case k.QUOTE_SINGLE:return Ye.STR;case k.FLOW_MAP:case k.MAP:return Ye.MAP;case k.FLOW_SEQ:case k.SEQ:return Ye.SEQ;case k.PLAIN:return o?Ye.STR:null;default:return null}}function Aa(e,t,n){const{tags:r}=e.schema,o=[];for(const i of r)if(i.tag===n)if(i.test)o.push(i);else{const a=i.resolve(e,t);return a instanceof ie?a:new W(a)}const s=wn(e,t);return typeof s=="string"&&o.length>0?ws(s,o,r.scalarFallback):null}function Om({type:e}){switch(e){case k.FLOW_MAP:case k.MAP:return Ye.MAP;case k.FLOW_SEQ:case k.SEQ:return Ye.SEQ;default:return Ye.STR}}function Nm(e,t,n){try{const r=Aa(e,t,n);if(r)return n&&t.tag&&(r.tag=n),r}catch(r){if(r instanceof vt)r.source||(r.source=t),e.errors.push(r);else{const o=r instanceof Error?r.message:String(r);e.errors.push(new B(t,o))}return null}try{const r=Om(t);if(!r)throw new Error(`The tag ${n} is unavailable`);const o=`The tag ${n} is unavailable, falling back to ${r}`;e.warnings.push(new qt(t,o));const s=Aa(e,t,r);return s.tag=n,s}catch(r){const o=new dn(t,r.message);return o.stack=r.stack,e.errors.push(o),null}}const _m=e=>{if(!e)return!1;const{type:t}=e;return t===k.MAP_KEY||t===k.MAP_VALUE||t===k.SEQ_ITEM};function km(e,t){const n={before:[],after:[]};let r=!1,o=!1;const s=_m(t.context.parent)?t.context.parent.props.concat(t.props):t.props;for(const{start:i,end:a}of s)switch(t.context.src[i]){case ee.COMMENT:{if(!t.commentHasRequiredWhitespace(i)){const l="Comments must be separated from other tokens by white space characters";e.push(new B(t,l))}const{header:c,valueRange:u}=t;(u&&(i>u.start||c&&i>c.start)?n.after:n.before).push(t.context.src.slice(i+1,a));break}case ee.ANCHOR:if(r){const c="A node can have at most one anchor";e.push(new B(t,c))}r=!0;break;case ee.TAG:if(o){const c="A node can have at most one tag";e.push(new B(t,c))}o=!0;break}return{comments:n,hasAnchor:r,hasTag:o}}function Am(e,t){const{anchors:n,errors:r,schema:o}=e;if(t.type===k.ALIAS){const i=t.rawValue,a=n.getNode(i);if(!a){const u=`Aliased anchor not found: ${i}`;return r.push(new dn(t,u)),null}const c=new Ve(a);return n._cstAliases.push(c),c}const s=Sm(e,t);if(s)return Nm(e,t,s);if(t.type!==k.PLAIN){const i=`Failed to resolve ${t.type} node here`;return r.push(new ae(t,i)),null}try{const i=wn(e,t);return ws(i,o.tags,o.tags.scalarFallback)}catch(i){return i.source||(i.source=t),r.push(i),null}}function Xe(e,t){if(!t)return null;t.error&&e.errors.push(t.error);const{comments:n,hasAnchor:r,hasTag:o}=km(e.errors,t);if(r){const{anchors:i}=e,a=t.anchor,c=i.getNode(a);c&&(i.map[i.newName(a)]=c),i.map[a]=t}if(t.type===k.ALIAS&&(r||o)){const i="An alias node must not specify any properties";e.errors.push(new B(t,i))}const s=Am(e,t);if(s){s.range=[t.range.start,t.range.end],e.options.keepCstNodes&&(s.cstNode=t),e.options.keepNodeTypes&&(s.type=t.type);const i=n.before.join(`
136
+ `);i&&(s.commentBefore=s.commentBefore?`${s.commentBefore}
152
137
  ${i}`:i);const a=n.after.join(`
153
- `);a&&(o.comment=o.comment?`${o.comment}
154
- ${a}`:a)}return e.resolved=o}function ku(t,e){if(e.type!==_.MAP&&e.type!==_.FLOW_MAP){const i=`A ${e.type} node cannot be resolved as a mapping`;return t.errors.push(new ie(e,i)),null}const{comments:n,items:r}=e.type===_.FLOW_MAP?Hm(t,e):Wm(t,e),s=new pe;s.items=r,_u(s,n);let o=!1;for(let i=0;i<r.length;++i){const{key:a}=r[i];if(a instanceof Q&&(o=!0),t.schema.merge&&a&&a.value===$u){r[i]=new wu(r[i]);const c=r[i].value.items;let u=null;c.some(l=>{if(l instanceof Oe){const{type:f}=l.source;return f===_.MAP||f===_.FLOW_MAP?!1:u="Merge nodes aliases can only point to maps"}return u="Merge nodes can only have Alias nodes as values"}),u&&t.errors.push(new D(e,u))}else for(let c=i+1;c<r.length;++c){const{key:u}=r[c];if(a===u||a&&u&&Object.prototype.hasOwnProperty.call(a,"value")&&a.value===u.value){const l=`Map keys must be unique; "${a}" is repeated`;t.errors.push(new D(e,l));break}}}if(o&&!t.options.mapAsMap){const i="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";t.warnings.push(new Dt(e,i))}return e.resolved=s,s}const zm=({context:{lineStart:t,node:e,src:n},props:r})=>{if(r.length===0)return!1;const{start:s}=r[0];if(e&&s>e.valueRange.start||n[s]!==Z.COMMENT)return!1;for(let o=t;o<s;++o)if(n[o]===`
155
- `)return!1;return!0};function Gm(t,e){if(!zm(t))return;const n=t.getPropValue(0,Z.COMMENT,!0);let r=!1;const s=e.value.commentBefore;if(s&&s.startsWith(n))e.value.commentBefore=s.substr(n.length+1),r=!0;else{const o=e.value.comment;!t.node&&o&&o.startsWith(n)&&(e.value.comment=o.substr(n.length+1),r=!0)}r&&(e.comment=n)}function Wm(t,e){const n=[],r=[];let s,o=null;for(let i=0;i<e.items.length;++i){const a=e.items[i];switch(a.type){case _.BLANK_LINE:n.push({afterKey:!!s,before:r.length});break;case _.COMMENT:n.push({afterKey:!!s,before:r.length,comment:a.comment});break;case _.MAP_KEY:s!==void 0&&r.push(new V(s)),a.error&&t.errors.push(a.error),s=Qe(t,a.node),o=null;break;case _.MAP_VALUE:{if(s===void 0&&(s=null),a.error&&t.errors.push(a.error),!a.context.atLineStart&&a.node&&a.node.type===_.MAP&&!a.node.context.atLineStart){const l="Nested mappings are not allowed in compact mappings";t.errors.push(new D(a.node,l))}let c=a.node;if(!c&&a.props.length>0){c=new fn(_.PLAIN,[]),c.context={parent:a,src:a.context.src};const l=a.range.start+1;if(c.range={start:l,end:l},c.valueRange={start:l,end:l},typeof a.range.origStart=="number"){const f=a.range.origStart+1;c.range.origStart=c.range.origEnd=f,c.valueRange.origStart=c.valueRange.origEnd=f}}const u=new V(s,Qe(t,c));Gm(a,u),r.push(u),s&&typeof o=="number"&&a.range.start>o+1024&&t.errors.push(Ou(e,s)),s=void 0,o=null}break;default:s!==void 0&&r.push(new V(s)),s=Qe(t,a),o=a.range.start,a.error&&t.errors.push(a.error);e:for(let c=i+1;;++c){const u=e.items[c];switch(u&&u.type){case _.BLANK_LINE:case _.COMMENT:continue e;case _.MAP_VALUE:break e;default:{const l="Implicit map keys need to be followed by map values";t.errors.push(new D(a,l));break e}}}if(a.valueRangeContainsNewline){const c="Implicit map keys need to be on a single line";t.errors.push(new D(a,c))}}}return s!==void 0&&r.push(new V(s)),{comments:n,items:r}}function Hm(t,e){const n=[],r=[];let s,o=!1,i="{";for(let a=0;a<e.items.length;++a){const c=e.items[a];if(typeof c.char=="string"){const{char:u,offset:l}=c;if(u==="?"&&s===void 0&&!o){o=!0,i=":";continue}if(u===":"){if(s===void 0&&(s=null),i===":"){i=",";continue}}else if(o&&(s===void 0&&u!==","&&(s=null),o=!1),s!==void 0&&(r.push(new V(s)),s=void 0,u===",")){i=":";continue}if(u==="}"){if(a===e.items.length-1)continue}else if(u===i){i=":";continue}const f=`Flow map contains an unexpected ${u}`,m=new ie(e,f);m.offset=l,t.errors.push(m)}else c.type===_.BLANK_LINE?n.push({afterKey:!!s,before:r.length}):c.type===_.COMMENT?(Nu(t.errors,c),n.push({afterKey:!!s,before:r.length,comment:c.comment})):s===void 0?(i===","&&t.errors.push(new D(c,"Separator , missing in flow map")),s=Qe(t,c)):(i!==","&&t.errors.push(new D(c,"Indicator : missing in flow map entry")),r.push(new V(s,Qe(t,c))),s=void 0,o=!1)}return Su(t.errors,e),s!==void 0&&r.push(new V(s)),{comments:n,items:r}}function Iu(t,e){if(e.type!==_.SEQ&&e.type!==_.FLOW_SEQ){const o=`A ${e.type} node cannot be resolved as a sequence`;return t.errors.push(new ie(e,o)),null}const{comments:n,items:r}=e.type===_.FLOW_SEQ?Qm(t,e):Jm(t,e),s=new Pe;if(s.items=r,_u(s,n),!t.options.mapAsMap&&r.some(o=>o instanceof V&&o.key instanceof Q)){const o="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";t.warnings.push(new Dt(e,o))}return e.resolved=s,s}function Jm(t,e){const n=[],r=[];for(let s=0;s<e.items.length;++s){const o=e.items[s];switch(o.type){case _.BLANK_LINE:n.push({before:r.length});break;case _.COMMENT:n.push({comment:o.comment,before:r.length});break;case _.SEQ_ITEM:if(o.error&&t.errors.push(o.error),r.push(Qe(t,o.node)),o.hasProps){const i="Sequence items cannot have tags or anchors before the - indicator";t.errors.push(new D(o,i))}break;default:o.error&&t.errors.push(o.error),t.errors.push(new ie(o,`Unexpected ${o.type} node in sequence`))}}return{comments:n,items:r}}function Qm(t,e){const n=[],r=[];let s=!1,o,i=null,a="[",c=null;for(let u=0;u<e.items.length;++u){const l=e.items[u];if(typeof l.char=="string"){const{char:f,offset:m}=l;if(f!==":"&&(s||o!==void 0)&&(s&&o===void 0&&(o=a?r.pop():null),r.push(new V(o)),s=!1,o=void 0,i=null),f===a)a=null;else if(!a&&f==="?")s=!0;else if(a!=="["&&f===":"&&o===void 0){if(a===","){if(o=r.pop(),o instanceof V){const p="Chaining flow sequence pairs is invalid",d=new D(e,p);d.offset=m,t.errors.push(d)}if(!s&&typeof i=="number"){const p=l.range?l.range.start:l.offset;p>i+1024&&t.errors.push(Ou(e,o));const{src:d}=c.context;for(let v=i;v<p;++v)if(d[v]===`
156
- `){const g="Implicit keys of flow sequence pairs need to be on a single line";t.errors.push(new D(c,g));break}}}else o=null;i=null,s=!1,a=null}else if(a==="["||f!=="]"||u<e.items.length-1){const p=`Flow sequence contains an unexpected ${f}`,d=new ie(e,p);d.offset=m,t.errors.push(d)}}else if(l.type===_.BLANK_LINE)n.push({before:r.length});else if(l.type===_.COMMENT)Nu(t.errors,l),n.push({comment:l.comment,before:r.length});else{if(a){const m=`Expected a ${a} in flow sequence`;t.errors.push(new D(l,m))}const f=Qe(t,l);o===void 0?(r.push(f),c=l):(r.push(new V(o,f)),o=void 0),i=l.range.start,a=","}}return Su(t.errors,e),o!==void 0&&r.push(new V(o)),{comments:n,items:r}}const Au={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(t,e)=>{const n=gn(t,e);if(typeof Buffer=="function")return Buffer.from(n,"base64");if(typeof atob=="function"){const r=atob(n.replace(/[\n\r]/g,"")),s=new Uint8Array(r.length);for(let o=0;o<r.length;++o)s[o]=r.charCodeAt(o);return s}else{const r="This environment does not support reading binary tags; either Buffer or atob is required";return t.errors.push(new ln(e,r)),null}},options:nn,stringify:({comment:t,type:e,value:n},r,s,o)=>{let i;if(typeof Buffer=="function")i=n instanceof Buffer?n.toString("base64"):Buffer.from(n.buffer).toString("base64");else if(typeof btoa=="function"){let a="";for(let c=0;c<n.length;++c)a+=String.fromCharCode(n[c]);i=btoa(a)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e||(e=nn.defaultType),e===_.QUOTE_DOUBLE)n=i;else{const{lineWidth:a}=nn,c=Math.ceil(i.length/a),u=new Array(c);for(let l=0,f=0;l<c;++l,f+=a)u[l]=i.substr(f,a);n=u.join(e===_.BLOCK_LITERAL?`
157
- `:" ")}return co({comment:t,type:e,value:n},r,s,o)}};function Pu(t,e){const n=Iu(t,e);for(let r=0;r<n.items.length;++r){let s=n.items[r];if(!(s instanceof V)){if(s instanceof pe){if(s.items.length>1){const i="Each pair must have its own sequence indicator";throw new D(e,i)}const o=s.items[0]||new V;s.commentBefore&&(o.commentBefore=o.commentBefore?`${s.commentBefore}
158
- ${o.commentBefore}`:s.commentBefore),s.comment&&(o.comment=o.comment?`${s.comment}
159
- ${o.comment}`:s.comment),s=o}n.items[r]=s instanceof V?s:new V(s)}}return n}function ju(t,e,n){const r=new Pe(t);r.tag="tag:yaml.org,2002:pairs";for(const s of e){let o,i;if(Array.isArray(s))if(s.length===2)o=s[0],i=s[1];else throw new TypeError(`Expected [key, value] tuple: ${s}`);else if(s&&s instanceof Object){const c=Object.keys(s);if(c.length===1)o=c[0],i=s[o];else throw new TypeError(`Expected { key: value } tuple: ${s}`)}else o=s;const a=t.createPair(o,i,n);r.items.push(a)}return r}const xu={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Pu,createNode:ju};class Lt extends Pe{constructor(){super(),ue(this,"add",pe.prototype.add.bind(this)),ue(this,"delete",pe.prototype.delete.bind(this)),ue(this,"get",pe.prototype.get.bind(this)),ue(this,"has",pe.prototype.has.bind(this)),ue(this,"set",pe.prototype.set.bind(this)),this.tag=Lt.tag}toJSON(e,n){const r=new Map;n&&n.onCreate&&n.onCreate(r);for(const s of this.items){let o,i;if(s instanceof V?(o=Se(s.key,"",n),i=Se(s.value,o,n)):o=Se(s,"",n),r.has(o))throw new Error("Ordered maps must not include duplicate keys");r.set(o,i)}return r}}ue(Lt,"tag","tag:yaml.org,2002:omap");function Ym(t,e){const n=Pu(t,e),r=[];for(const{key:s}of n.items)if(s instanceof G)if(r.includes(s.value)){const o="Ordered maps must not include duplicate keys";throw new D(e,o)}else r.push(s.value);return Object.assign(new Lt,n)}function Xm(t,e,n){const r=ju(t,e,n),s=new Lt;return s.items=r.items,s}const Tu={identify:t=>t instanceof Map,nodeClass:Lt,default:!1,tag:"tag:yaml.org,2002:omap",resolve:Ym,createNode:Xm};class Bt extends pe{constructor(){super(),this.tag=Bt.tag}add(e){const n=e instanceof V?e:new V(e);ft(this.items,n.key)||this.items.push(n)}get(e,n){const r=ft(this.items,e);return!n&&r instanceof V?r.key instanceof G?r.key.value:r.key:r}set(e,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const r=ft(this.items,e);r&&!n?this.items.splice(this.items.indexOf(r),1):!r&&n&&this.items.push(new V(e))}toJSON(e,n){return super.toJSON(e,n,Set)}toString(e,n,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(e,n,r);throw new Error("Set items must all have null values")}}ue(Bt,"tag","tag:yaml.org,2002:set");function Zm(t,e){const n=ku(t,e);if(!n.hasAllNullValues())throw new D(e,"Set items must all have null values");return Object.assign(new Bt,n)}function eg(t,e,n){const r=new Bt;for(const s of e)r.items.push(t.createPair(s,null,n));return r}const Cu={identify:t=>t instanceof Set,nodeClass:Bt,default:!1,tag:"tag:yaml.org,2002:set",resolve:Zm,createNode:eg},uo=(t,e)=>{const n=e.split(":").reduce((r,s)=>r*60+Number(s),0);return t==="-"?-n:n},Ru=({value:t})=>{if(isNaN(t)||!isFinite(t))return De(t);let e="";t<0&&(e="-",t=Math.abs(t));const n=[t%60];return t<60?n.unshift(0):(t=Math.round((t-n[0])/60),n.unshift(t%60),t>=60&&(t=Math.round((t-n[0])/60),n.unshift(t))),e+n.map(r=>r<10?"0"+String(r):String(r)).join(":").replace(/000000\d*$/,"")},Mu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(t,e,n)=>uo(e,n.replace(/_/g,"")),stringify:Ru},Du={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(t,e,n)=>uo(e,n.replace(/_/g,"")),stringify:Ru},Lu={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(t,e,n,r,s,o,i,a,c)=>{a&&(a=(a+"00").substr(1,3));let u=Date.UTC(e,n-1,r,s||0,o||0,i||0,a||0);if(c&&c!=="Z"){let l=uo(c[0],c.slice(1));Math.abs(l)<30&&(l*=60),u-=6e4*l}return new Date(u)},stringify:({value:t})=>t.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function Bu(t){const e=typeof process<"u"&&process.env||{};return t?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!e.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!e.YAML_SILENCE_WARNINGS}function Uu(t,e){if(Bu(!1)){const n=typeof process<"u"&&process.emitWarning;n?n(t,e):console.warn(e?`${e}: ${t}`:t)}}const aa={};function tg(t,e){if(!aa[t]&&Bu(!0)){aa[t]=!0;let n=`The option '${t}' will be removed in a future release`;n+=`, use '${e}' instead.`,Uu(n,"DeprecationWarning")}}function ng(t,e,n){const r=new pe(t);if(e instanceof Map)for(const[s,o]of e)r.items.push(t.createPair(s,o,n));else if(e&&typeof e=="object")for(const s of Object.keys(e))r.items.push(t.createPair(s,e[s],n));return typeof t.sortMapEntries=="function"&&r.items.sort(t.sortMapEntries),r}const pn={createNode:ng,default:!0,nodeClass:pe,tag:"tag:yaml.org,2002:map",resolve:ku};function rg(t,e,n){const r=new Pe(t);if(e&&e[Symbol.iterator])for(const s of e){const o=t.createNode(s,n.wrapScalars,null,n);r.items.push(o)}return r}const lr={createNode:rg,default:!0,nodeClass:Pe,tag:"tag:yaml.org,2002:seq",resolve:Iu},sg={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:gn,stringify(t,e,n,r){return e=Object.assign({actualString:!0},e),co(t,e,n,r)},options:Ue},lo=[pn,lr,sg],fr=t=>typeof t=="bigint"||Number.isInteger(t),fo=(t,e,n)=>Xe.asBigInt?BigInt(t):parseInt(e,n);function Vu(t,e,n){const{value:r}=t;return fr(r)&&r>=0?n+r.toString(e):De(t)}const Fu={identify:t=>t==null,createNode:(t,e,n)=>n.wrapScalars?new G(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:xt,stringify:()=>xt.nullStr},qu={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>t[0]==="t"||t[0]==="T",options:Me,stringify:({value:t})=>t?Me.trueStr:Me.falseStr},Ku={identify:t=>fr(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(t,e)=>fo(t,e,8),options:Xe,stringify:t=>Vu(t,8,"0o")},zu={identify:fr,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:t=>fo(t,t,10),options:Xe,stringify:De},Gu={identify:t=>fr(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(t,e)=>fo(t,e,16),options:Xe,stringify:t=>Vu(t,16,"0x")},Wu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(t,e)=>e?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:De},Hu={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify:({value:t})=>Number(t).toExponential()},Ju={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(t,e,n){const r=e||n,s=new G(parseFloat(t));return r&&r[r.length-1]==="0"&&(s.minFractionDigits=r.length),s},stringify:De},og=lo.concat([Fu,qu,Ku,zu,Gu,Wu,Hu,Ju]),ca=t=>typeof t=="bigint"||Number.isInteger(t),kn=({value:t})=>JSON.stringify(t),Qu=[pn,lr,{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:gn,stringify:kn},{identify:t=>t==null,createNode:(t,e,n)=>n.wrapScalars?new G(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:kn},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:t=>t==="true",stringify:kn},{identify:ca,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:t=>Xe.asBigInt?BigInt(t):parseInt(t,10),stringify:({value:t})=>ca(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:kn}];Qu.scalarFallback=t=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(t)}`)};const ua=({value:t})=>t?Me.trueStr:Me.falseStr,Yt=t=>typeof t=="bigint"||Number.isInteger(t);function In(t,e,n){let r=e.replace(/_/g,"");if(Xe.asBigInt){switch(n){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}const o=BigInt(r);return t==="-"?BigInt(-1)*o:o}const s=parseInt(r,n);return t==="-"?-1*s:s}function zr(t,e,n){const{value:r}=t;if(Yt(r)){const s=r.toString(e);return r<0?"-"+n+s.substr(1):n+s}return De(t)}const ig=lo.concat([{identify:t=>t==null,createNode:(t,e,n)=>n.wrapScalars?new G(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:xt,stringify:()=>xt.nullStr},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Me,stringify:ua},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Me,stringify:ua},{identify:Yt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(t,e,n)=>In(e,n,2),stringify:t=>zr(t,2,"0b")},{identify:Yt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(t,e,n)=>In(e,n,8),stringify:t=>zr(t,8,"0")},{identify:Yt,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(t,e,n)=>In(e,n,10),stringify:De},{identify:Yt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(t,e,n)=>In(e,n,16),stringify:t=>zr(t,16,"0x")},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(t,e)=>e?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:De},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify:({value:t})=>Number(t).toExponential()},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(t,e){const n=new G(parseFloat(t.replace(/_/g,"")));if(e){const r=e.replace(/_/g,"");r[r.length-1]==="0"&&(n.minFractionDigits=r.length)}return n},stringify:De}],Au,Tu,xu,Cu,Mu,Du,Lu),ag={core:og,failsafe:lo,json:Qu,yaml11:ig},cg={binary:Au,bool:qu,float:Ju,floatExp:Hu,floatNaN:Wu,floatTime:Du,int:zu,intHex:Gu,intOct:Ku,intTime:Mu,map:pn,null:Fu,omap:Tu,pairs:xu,seq:lr,set:Cu,timestamp:Lu};function ug(t,e,n){if(e){const r=n.filter(o=>o.tag===e),s=r.find(o=>!o.format)||r[0];if(!s)throw new Error(`Tag ${e} not found`);return s}return n.find(r=>(r.identify&&r.identify(t)||r.class&&t instanceof r.class)&&!r.format)}function lg(t,e,n){if(t instanceof de)return t;const{defaultPrefix:r,onTagObj:s,prevObjects:o,schema:i,wrapScalars:a}=n;e&&e.startsWith("!!")&&(e=r+e.slice(2));let c=ug(t,e,i.tags);if(!c){if(typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object")return a?new G(t):t;c=t instanceof Map?pn:t[Symbol.iterator]?lr:pn}s&&(s(c),delete n.onTagObj);const u={value:void 0,node:void 0};if(t&&typeof t=="object"&&o){const l=o.get(t);if(l){const f=new Oe(l);return n.aliasNodes.push(f),f}u.value=t,o.set(t,u)}return u.node=c.createNode?c.createNode(n.schema,t,n):a?new G(t):t,e&&u.node instanceof de&&(u.node.tag=e),u.node}function fg(t,e,n,r){let s=t[r.replace(/\W/g,"")];if(!s){const o=Object.keys(t).map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${r}"; use one of ${o}`)}if(Array.isArray(n))for(const o of n)s=s.concat(o);else typeof n=="function"&&(s=n(s.slice()));for(let o=0;o<s.length;++o){const i=s[o];if(typeof i=="string"){const a=e[i];if(!a){const c=Object.keys(e).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag "${i}"; use one of ${c}`)}s[o]=a}}return s}const dg=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0;class ht{constructor({customTags:e,merge:n,schema:r,sortMapEntries:s,tags:o}){this.merge=!!n,this.name=r,this.sortMapEntries=s===!0?dg:s||null,!e&&o&&tg("tags","customTags"),this.tags=fg(ag,cg,e||o,r)}createNode(e,n,r,s){const o={defaultPrefix:ht.defaultPrefix,schema:this,wrapScalars:n},i=s?Object.assign(s,o):o;return lg(e,r,i)}createPair(e,n,r){r||(r={wrapScalars:!0});const s=this.createNode(e,r.wrapScalars,null,r),o=this.createNode(n,r.wrapScalars,null,r);return new V(s,o)}}ue(ht,"defaultPrefix",Bn);ue(ht,"defaultTags",He);const Yn={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},pg={get binary(){return nn},set binary(t){Object.assign(nn,t)},get bool(){return Me},set bool(t){Object.assign(Me,t)},get int(){return Xe},set int(t){Object.assign(Xe,t)},get null(){return xt},set null(t){Object.assign(xt,t)},get str(){return Ue},set str(t){Object.assign(Ue,t)}},Yu={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:Bn},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Bn}]}};function la(t,e){if((t.version||t.options.version)==="1.0"){const s=e.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(s)return"!"+s[1];const o=e.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return o?`!${o[1]}/${o[2]}`:`!${e.replace(/^tag:/,"")}`}let n=t.tagPrefixes.find(s=>e.indexOf(s.prefix)===0);if(!n){const s=t.getDefaults().tagPrefixes;n=s&&s.find(o=>e.indexOf(o.prefix)===0)}if(!n)return e[0]==="!"?e:`!<${e}>`;const r=e.substr(n.prefix.length).replace(/[!,[\]{}]/g,s=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"})[s]);return n.handle+r}function hg(t,e){if(e instanceof Oe)return Oe;if(e.tag){const s=t.filter(o=>o.tag===e.tag);if(s.length>0)return s.find(o=>o.format===e.format)||s[0]}let n,r;if(e instanceof G){r=e.value;const s=t.filter(o=>o.identify&&o.identify(r)||o.class&&r instanceof o.class);n=s.find(o=>o.format===e.format)||s.find(o=>!o.format)}else r=e,n=t.find(s=>s.nodeClass&&r instanceof s.nodeClass);if(!n){const s=r&&r.constructor?r.constructor.name:typeof r;throw new Error(`Tag not resolved for ${s} value`)}return n}function mg(t,e,{anchors:n,doc:r}){const s=[],o=r.anchors.getName(t);return o&&(n[o]=t,s.push(`&${o}`)),t.tag?s.push(la(r,t.tag)):e.default||s.push(la(r,e.tag)),s.join(" ")}function An(t,e,n,r){const{anchors:s,schema:o}=e.doc;let i;if(!(t instanceof de)){const u={aliasNodes:[],onTagObj:l=>i=l,prevObjects:new Map};t=o.createNode(t,!0,null,u);for(const l of u.aliasNodes){l.source=l.source.node;let f=s.getName(l.source);f||(f=s.newName(),s.map[f]=l.source)}}if(t instanceof V)return t.toString(e,n,r);i||(i=hg(o.tags,t));const a=mg(t,i,e);a.length>0&&(e.indentAtStart=(e.indentAtStart||0)+a.length+1);const c=typeof i.stringify=="function"?i.stringify(t,e,n,r):t instanceof G?co(t,e,n,r):t.toString(e,n,r);return a?t instanceof G||c[0]==="{"||c[0]==="["?`${a} ${c}`:`${a}
160
- ${e.indent}${c}`:c}class po{static validAnchorNode(e){return e instanceof G||e instanceof Pe||e instanceof pe}constructor(e){ue(this,"map",Object.create(null)),this.prefix=e}createAlias(e,n){return this.setAnchor(e,n),new Oe(e)}createMergePair(...e){const n=new wu;return n.value.items=e.map(r=>{if(r instanceof Oe){if(r.source instanceof pe)return r}else if(r instanceof pe)return this.createAlias(r);throw new Error("Merge sources must be Map nodes or their Aliases")}),n}getName(e){const{map:n}=this;return Object.keys(n).find(r=>n[r]===e)}getNames(){return Object.keys(this.map)}getNode(e){return this.map[e]}newName(e){e||(e=this.prefix);const n=Object.keys(this.map);for(let r=1;;++r){const s=`${e}${r}`;if(!n.includes(s))return s}}resolveNodes(){const{map:e,_cstAliases:n}=this;Object.keys(e).forEach(r=>{e[r]=e[r].resolved}),n.forEach(r=>{r.source=r.source.resolved}),delete this._cstAliases}setAnchor(e,n){if(e!=null&&!po.validAnchorNode(e))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(n&&/[\x00-\x19\s,[\]{}]/.test(n))throw new Error("Anchor names must not contain whitespace or control characters");const{map:r}=this,s=e&&Object.keys(r).find(o=>r[o]===e);if(s)if(n)s!==n&&(delete r[s],r[n]=e);else return s;else{if(!n){if(!e)return null;n=this.newName()}r[n]=e}return n}}const qn=(t,e)=>{if(t&&typeof t=="object"){const{tag:n}=t;t instanceof Q?(n&&(e[n]=!0),t.items.forEach(r=>qn(r,e))):t instanceof V?(qn(t.key,e),qn(t.value,e)):t instanceof G&&n&&(e[n]=!0)}return e},gg=t=>Object.keys(qn(t,{}));function yg(t,e){const n={before:[],after:[]};let r,s=!1;for(const o of e)if(o.valueRange){if(r!==void 0){const a="Document contains trailing content not separated by a ... or --- line";t.errors.push(new ie(o,a));break}const i=Qe(t,o);s&&(i.spaceBefore=!0,s=!1),r=i}else o.comment!==null?(r===void 0?n.before:n.after).push(o.comment):o.type===_.BLANK_LINE&&(s=!0,r===void 0&&n.before.length>0&&!t.commentBefore&&(t.commentBefore=n.before.join(`
161
- `),n.before=[]));if(t.contents=r||null,!r)t.comment=n.before.concat(n.after).join(`
162
- `)||null;else{const o=n.before.join(`
163
- `);if(o){const i=r instanceof Q&&r.items[0]?r.items[0]:r;i.commentBefore=i.commentBefore?`${o}
164
- ${i.commentBefore}`:o}t.comment=n.after.join(`
165
- `)||null}}function vg({tagPrefixes:t},e){const[n,r]=e.parameters;if(!n||!r){const s="Insufficient parameters given for %TAG directive";throw new D(e,s)}if(t.some(s=>s.handle===n)){const s="The %TAG directive must only be given at most once per handle in the same document.";throw new D(e,s)}return{handle:n,prefix:r}}function $g(t,e){let[n]=e.parameters;if(e.name==="YAML:1.0"&&(n="1.0"),!n){const r="Insufficient parameters given for %YAML directive";throw new D(e,r)}if(!Yu[n]){const r=`Document will be parsed as YAML ${t.version||t.options.version} rather than YAML ${n}`;t.warnings.push(new Dt(e,r))}return n}function wg(t,e,n){const r=[];let s=!1;for(const o of e){const{comment:i,name:a}=o;switch(a){case"TAG":try{t.tagPrefixes.push(vg(t,o))}catch(c){t.errors.push(c)}s=!0;break;case"YAML":case"YAML:1.0":if(t.version){const c="The %YAML directive must only be given at most once per document.";t.errors.push(new D(o,c))}try{t.version=$g(t,o)}catch(c){t.errors.push(c)}s=!0;break;default:if(a){const c=`YAML only supports %TAG and %YAML directives, and not %${a}`;t.warnings.push(new Dt(o,c))}}i&&r.push(i)}if(n&&!s&&(t.version||n.version||t.options.version)==="1.1"){const o=({handle:i,prefix:a})=>({handle:i,prefix:a});t.tagPrefixes=n.tagPrefixes.map(o),t.version=n.version}t.commentBefore=r.join(`
166
- `)||null}function wt(t){if(t instanceof Q)return!0;throw new Error("Expected a YAML collection as document contents")}class Tt{constructor(e){this.anchors=new po(e.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=e,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(e){return wt(this.contents),this.contents.add(e)}addIn(e,n){wt(this.contents),this.contents.addIn(e,n)}delete(e){return wt(this.contents),this.contents.delete(e)}deleteIn(e){return Qt(e)?this.contents==null?!1:(this.contents=null,!0):(wt(this.contents),this.contents.deleteIn(e))}getDefaults(){return Tt.defaults[this.version]||Tt.defaults[this.options.version]||{}}get(e,n){return this.contents instanceof Q?this.contents.get(e,n):void 0}getIn(e,n){return Qt(e)?!n&&this.contents instanceof G?this.contents.value:this.contents:this.contents instanceof Q?this.contents.getIn(e,n):void 0}has(e){return this.contents instanceof Q?this.contents.has(e):!1}hasIn(e){return Qt(e)?this.contents!==void 0:this.contents instanceof Q?this.contents.hasIn(e):!1}set(e,n){wt(this.contents),this.contents.set(e,n)}setIn(e,n){Qt(e)?this.contents=n:(wt(this.contents),this.contents.setIn(e,n))}setSchema(e,n){if(!e&&!n&&this.schema)return;typeof e=="number"&&(e=e.toFixed(1)),e==="1.0"||e==="1.1"||e==="1.2"?(this.version?this.version=e:this.options.version=e,delete this.options.schema):e&&typeof e=="string"&&(this.options.schema=e),Array.isArray(n)&&(this.options.customTags=n);const r=Object.assign({},this.getDefaults(),this.options);this.schema=new ht(r)}parse(e,n){this.options.keepCstNodes&&(this.cstNode=e),this.options.keepNodeTypes&&(this.type="DOCUMENT");const{directives:r=[],contents:s=[],directivesEndMarker:o,error:i,valueRange:a}=e;if(i&&(i.source||(i.source=this),this.errors.push(i)),wg(this,r,n),o&&(this.directivesEndMarker=!0),this.range=a?[a.start,a.end]:null,this.setSchema(),this.anchors._cstAliases=[],yg(this,s),this.anchors.resolveNodes(),this.options.prettyErrors){for(const c of this.errors)c instanceof pt&&c.makePretty();for(const c of this.warnings)c instanceof pt&&c.makePretty()}return this}listNonDefaultTags(){return gg(this.contents).filter(e=>e.indexOf(ht.defaultPrefix)!==0)}setTagPrefix(e,n){if(e[0]!=="!"||e[e.length-1]!=="!")throw new Error("Handle must start and end with !");if(n){const r=this.tagPrefixes.find(s=>s.handle===e);r?r.prefix=n:this.tagPrefixes.push({handle:e,prefix:n})}else this.tagPrefixes=this.tagPrefixes.filter(r=>r.handle!==e)}toJSON(e,n){const{keepBlobsInJSON:r,mapAsMap:s,maxAliasCount:o}=this.options,i=r&&(typeof e!="string"||!(this.contents instanceof G)),a={doc:this,indentStep:" ",keep:i,mapAsMap:i&&!!s,maxAliasCount:o,stringify:An},c=Object.keys(this.anchors.map);c.length>0&&(a.anchors=new Map(c.map(l=>[this.anchors.map[l],{alias:[],aliasCount:0,count:1}])));const u=Se(this.contents,e,a);if(typeof n=="function"&&a.anchors)for(const{count:l,res:f}of a.anchors.values())n(f,l);return u}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const e=this.options.indent;if(!Number.isInteger(e)||e<=0){const c=JSON.stringify(e);throw new Error(`"indent" option must be a positive integer, not ${c}`)}this.setSchema();const n=[];let r=!1;if(this.version){let c="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?c="%YAML:1.0":this.version==="1.1"&&(c="%YAML 1.1")),n.push(c),r=!0}const s=this.listNonDefaultTags();this.tagPrefixes.forEach(({handle:c,prefix:u})=>{s.some(l=>l.indexOf(u)===0)&&(n.push(`%TAG ${c} ${u}`),r=!0)}),(r||this.directivesEndMarker)&&n.push("---"),this.commentBefore&&((r||!this.directivesEndMarker)&&n.unshift(""),n.unshift(this.commentBefore.replace(/^/gm,"#")));const o={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(e),stringify:An};let i=!1,a=null;if(this.contents){this.contents instanceof de&&(this.contents.spaceBefore&&(r||this.directivesEndMarker)&&n.push(""),this.contents.commentBefore&&n.push(this.contents.commentBefore.replace(/^/gm,"#")),o.forceBlockIndent=!!this.comment,a=this.contents.comment);const c=a?null:()=>i=!0,u=An(this.contents,o,()=>a=null,c);n.push(It(u,"",a))}else this.contents!==void 0&&n.push(An(this.contents,o));return this.comment&&((!i||a)&&n[n.length-1]!==""&&n.push(""),n.push(this.comment.replace(/^/gm,"#"))),n.join(`
138
+ `);a&&(s.comment=s.comment?`${s.comment}
139
+ ${a}`:a)}return t.resolved=s}function Cu(e,t){if(t.type!==k.MAP&&t.type!==k.FLOW_MAP){const i=`A ${t.type} node cannot be resolved as a mapping`;return e.errors.push(new ae(t,i)),null}const{comments:n,items:r}=t.type===k.FLOW_MAP?xm(e,t):Pm(e,t),o=new me;o.items=r,Tu(o,n);let s=!1;for(let i=0;i<r.length;++i){const{key:a}=r[i];if(a instanceof ie&&(s=!0),e.schema.merge&&a&&a.value===_u){r[i]=new ku(r[i]);const c=r[i].value.items;let u=null;c.some(l=>{if(l instanceof Ve){const{type:f}=l.source;return f===k.MAP||f===k.FLOW_MAP?!1:u="Merge nodes aliases can only point to maps"}return u="Merge nodes can only have Alias nodes as values"}),u&&e.errors.push(new B(t,u))}else for(let c=i+1;c<r.length;++c){const{key:u}=r[c];if(a===u||a&&u&&Object.prototype.hasOwnProperty.call(a,"value")&&a.value===u.value){const l=`Map keys must be unique; "${a}" is repeated`;e.errors.push(new B(t,l));break}}}if(s&&!e.options.mapAsMap){const i="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new qt(t,i))}return t.resolved=o,o}const Im=({context:{lineStart:e,node:t,src:n},props:r})=>{if(r.length===0)return!1;const{start:o}=r[0];if(t&&o>t.valueRange.start||n[o]!==ee.COMMENT)return!1;for(let s=e;s<o;++s)if(n[s]===`
140
+ `)return!1;return!0};function jm(e,t){if(!Im(e))return;const n=e.getPropValue(0,ee.COMMENT,!0);let r=!1;const o=t.value.commentBefore;if(o&&o.startsWith(n))t.value.commentBefore=o.substr(n.length+1),r=!0;else{const s=t.value.comment;!e.node&&s&&s.startsWith(n)&&(t.value.comment=s.substr(n.length+1),r=!0)}r&&(t.comment=n)}function Pm(e,t){const n=[],r=[];let o,s=null;for(let i=0;i<t.items.length;++i){const a=t.items[i];switch(a.type){case k.BLANK_LINE:n.push({afterKey:!!o,before:r.length});break;case k.COMMENT:n.push({afterKey:!!o,before:r.length,comment:a.comment});break;case k.MAP_KEY:o!==void 0&&r.push(new q(o)),a.error&&e.errors.push(a.error),o=Xe(e,a.node),s=null;break;case k.MAP_VALUE:{if(o===void 0&&(o=null),a.error&&e.errors.push(a.error),!a.context.atLineStart&&a.node&&a.node.type===k.MAP&&!a.node.context.atLineStart){const l="Nested mappings are not allowed in compact mappings";e.errors.push(new B(a.node,l))}let c=a.node;if(!c&&a.props.length>0){c=new Eu(k.PLAIN,[]),c.context={parent:a,src:a.context.src};const l=a.range.start+1;if(c.range={start:l,end:l},c.valueRange={start:l,end:l},typeof a.range.origStart=="number"){const f=a.range.origStart+1;c.range.origStart=c.range.origEnd=f,c.valueRange.origStart=c.valueRange.origEnd=f}}const u=new q(o,Xe(e,c));jm(a,u),r.push(u),o&&typeof s=="number"&&a.range.start>s+1024&&e.errors.push(xu(t,o)),o=void 0,s=null}break;default:o!==void 0&&r.push(new q(o)),o=Xe(e,a),s=a.range.start,a.error&&e.errors.push(a.error);e:for(let c=i+1;;++c){const u=t.items[c];switch(u&&u.type){case k.BLANK_LINE:case k.COMMENT:continue e;case k.MAP_VALUE:break e;default:{const l="Implicit map keys need to be followed by map values";e.errors.push(new B(a,l));break e}}}if(a.valueRangeContainsNewline){const c="Implicit map keys need to be on a single line";e.errors.push(new B(a,c))}}}return o!==void 0&&r.push(new q(o)),{comments:n,items:r}}function xm(e,t){const n=[],r=[];let o,s=!1,i="{";for(let a=0;a<t.items.length;++a){const c=t.items[a];if(typeof c.char=="string"){const{char:u,offset:l}=c;if(u==="?"&&o===void 0&&!s){s=!0,i=":";continue}if(u===":"){if(o===void 0&&(o=null),i===":"){i=",";continue}}else if(s&&(o===void 0&&u!==","&&(o=null),s=!1),o!==void 0&&(r.push(new q(o)),o=void 0,u===",")){i=":";continue}if(u==="}"){if(a===t.items.length-1)continue}else if(u===i){i=":";continue}const f=`Flow map contains an unexpected ${u}`,p=new ae(t,f);p.offset=l,e.errors.push(p)}else c.type===k.BLANK_LINE?n.push({afterKey:!!o,before:r.length}):c.type===k.COMMENT?(Pu(e.errors,c),n.push({afterKey:!!o,before:r.length,comment:c.comment})):o===void 0?(i===","&&e.errors.push(new B(c,"Separator , missing in flow map")),o=Xe(e,c)):(i!==","&&e.errors.push(new B(c,"Indicator : missing in flow map entry")),r.push(new q(o,Xe(e,c))),o=void 0,s=!1)}return ju(e.errors,t),o!==void 0&&r.push(new q(o)),{comments:n,items:r}}function Ru(e,t){if(t.type!==k.SEQ&&t.type!==k.FLOW_SEQ){const s=`A ${t.type} node cannot be resolved as a sequence`;return e.errors.push(new ae(t,s)),null}const{comments:n,items:r}=t.type===k.FLOW_SEQ?Cm(e,t):Tm(e,t),o=new Te;if(o.items=r,Tu(o,n),!e.options.mapAsMap&&r.some(s=>s instanceof q&&s.key instanceof ie)){const s="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";e.warnings.push(new qt(t,s))}return t.resolved=o,o}function Tm(e,t){const n=[],r=[];for(let o=0;o<t.items.length;++o){const s=t.items[o];switch(s.type){case k.BLANK_LINE:n.push({before:r.length});break;case k.COMMENT:n.push({comment:s.comment,before:r.length});break;case k.SEQ_ITEM:if(s.error&&e.errors.push(s.error),r.push(Xe(e,s.node)),s.hasProps){const i="Sequence items cannot have tags or anchors before the - indicator";e.errors.push(new B(s,i))}break;default:s.error&&e.errors.push(s.error),e.errors.push(new ae(s,`Unexpected ${s.type} node in sequence`))}}return{comments:n,items:r}}function Cm(e,t){const n=[],r=[];let o=!1,s,i=null,a="[",c=null;for(let u=0;u<t.items.length;++u){const l=t.items[u];if(typeof l.char=="string"){const{char:f,offset:p}=l;if(f!==":"&&(o||s!==void 0)&&(o&&s===void 0&&(s=a?r.pop():null),r.push(new q(s)),o=!1,s=void 0,i=null),f===a)a=null;else if(!a&&f==="?")o=!0;else if(a!=="["&&f===":"&&s===void 0){if(a===","){if(s=r.pop(),s instanceof q){const h="Chaining flow sequence pairs is invalid",d=new B(t,h);d.offset=p,e.errors.push(d)}if(!o&&typeof i=="number"){const h=l.range?l.range.start:l.offset;h>i+1024&&e.errors.push(xu(t,s));const{src:d}=c.context;for(let v=i;v<h;++v)if(d[v]===`
141
+ `){const m="Implicit keys of flow sequence pairs need to be on a single line";e.errors.push(new B(c,m));break}}}else s=null;i=null,o=!1,a=null}else if(a==="["||f!=="]"||u<t.items.length-1){const h=`Flow sequence contains an unexpected ${f}`,d=new ae(t,h);d.offset=p,e.errors.push(d)}}else if(l.type===k.BLANK_LINE)n.push({before:r.length});else if(l.type===k.COMMENT)Pu(e.errors,l),n.push({comment:l.comment,before:r.length});else{if(a){const p=`Expected a ${a} in flow sequence`;e.errors.push(new B(l,p))}const f=Xe(e,l);s===void 0?(r.push(f),c=l):(r.push(new q(s,f)),s=void 0),i=l.range.start,a=","}}return ju(e.errors,t),s!==void 0&&r.push(new q(s)),{comments:n,items:r}}const Mu={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(e,t)=>{const n=wn(e,t);if(typeof Buffer=="function")return Buffer.from(n,"base64");if(typeof atob=="function"){const r=atob(n.replace(/[\n\r]/g,"")),o=new Uint8Array(r.length);for(let s=0;s<r.length;++s)o[s]=r.charCodeAt(s);return o}else{const r="This environment does not support reading binary tags; either Buffer or atob is required";return e.errors.push(new dn(t,r)),null}},options:sn,stringify:({comment:e,type:t,value:n},r,o,s)=>{let i;if(typeof Buffer=="function")i=n instanceof Buffer?n.toString("base64"):Buffer.from(n.buffer).toString("base64");else if(typeof btoa=="function"){let a="";for(let c=0;c<n.length;++c)a+=String.fromCharCode(n[c]);i=btoa(a)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t||(t=sn.defaultType),t===k.QUOTE_DOUBLE)n=i;else{const{lineWidth:a}=sn,c=Math.ceil(i.length/a),u=new Array(c);for(let l=0,f=0;l<c;++l,f+=a)u[l]=i.substr(f,a);n=u.join(t===k.BLOCK_LITERAL?`
142
+ `:" ")}return Es({comment:e,type:t,value:n},r,o,s)}};function Du(e,t){const n=Ru(e,t);for(let r=0;r<n.items.length;++r){let o=n.items[r];if(!(o instanceof q)){if(o instanceof me){if(o.items.length>1){const i="Each pair must have its own sequence indicator";throw new B(t,i)}const s=o.items[0]||new q;o.commentBefore&&(s.commentBefore=s.commentBefore?`${o.commentBefore}
143
+ ${s.commentBefore}`:o.commentBefore),o.comment&&(s.comment=s.comment?`${o.comment}
144
+ ${s.comment}`:o.comment),o=s}n.items[r]=o instanceof q?o:new q(o)}}return n}function Lu(e,t,n){const r=new Te(e);r.tag="tag:yaml.org,2002:pairs";for(const o of t){let s,i;if(Array.isArray(o))if(o.length===2)s=o[0],i=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){const c=Object.keys(o);if(c.length===1)s=c[0],i=o[s];else throw new TypeError(`Expected { key: value } tuple: ${o}`)}else s=o;const a=e.createPair(s,i,n);r.items.push(a)}return r}const Bu={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Du,createNode:Lu};let mr=class Uu extends Te{constructor(){super(),ue(this,"add",me.prototype.add.bind(this)),ue(this,"delete",me.prototype.delete.bind(this)),ue(this,"get",me.prototype.get.bind(this)),ue(this,"has",me.prototype.has.bind(this)),ue(this,"set",me.prototype.set.bind(this)),this.tag=Uu.tag}toJSON(t,n){const r=new Map;n&&n.onCreate&&n.onCreate(r);for(const o of this.items){let s,i;if(o instanceof q?(s=Ae(o.key,"",n),i=Ae(o.value,s,n)):s=Ae(o,"",n),r.has(s))throw new Error("Ordered maps must not include duplicate keys");r.set(s,i)}return r}};ue(mr,"tag","tag:yaml.org,2002:omap");function Rm(e,t){const n=Du(e,t),r=[];for(const{key:o}of n.items)if(o instanceof W)if(r.includes(o.value)){const s="Ordered maps must not include duplicate keys";throw new B(t,s)}else r.push(o.value);return Object.assign(new mr,n)}function Mm(e,t,n){const r=Lu(e,t,n),o=new mr;return o.items=r.items,o}const Fu={identify:e=>e instanceof Map,nodeClass:mr,default:!1,tag:"tag:yaml.org,2002:omap",resolve:Rm,createNode:Mm};let gr=class Vu extends me{constructor(){super(),this.tag=Vu.tag}add(t){const n=t instanceof q?t:new q(t);ht(this.items,n.key)||this.items.push(n)}get(t,n){const r=ht(this.items,t);return!n&&r instanceof q?r.key instanceof W?r.key.value:r.key:r}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const r=ht(this.items,t);r&&!n?this.items.splice(this.items.indexOf(r),1):!r&&n&&this.items.push(new q(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,r){if(!t)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(t,n,r);throw new Error("Set items must all have null values")}};ue(gr,"tag","tag:yaml.org,2002:set");function Dm(e,t){const n=Cu(e,t);if(!n.hasAllNullValues())throw new B(t,"Set items must all have null values");return Object.assign(new gr,n)}function Lm(e,t,n){const r=new gr;for(const o of t)r.items.push(e.createPair(o,null,n));return r}const qu={identify:e=>e instanceof Set,nodeClass:gr,default:!1,tag:"tag:yaml.org,2002:set",resolve:Dm,createNode:Lm},Ss=(e,t)=>{const n=t.split(":").reduce((r,o)=>r*60+Number(o),0);return e==="-"?-n:n},Ku=({value:e})=>{if(isNaN(e)||!isFinite(e))return Be(e);let t="";e<0&&(t="-",e=Math.abs(e));const n=[e%60];return e<60?n.unshift(0):(e=Math.round((e-n[0])/60),n.unshift(e%60),e>=60&&(e=Math.round((e-n[0])/60),n.unshift(e))),t+n.map(r=>r<10?"0"+String(r):String(r)).join(":").replace(/000000\d*$/,"")},Gu={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(e,t,n)=>Ss(t,n.replace(/_/g,"")),stringify:Ku},zu={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(e,t,n)=>Ss(t,n.replace(/_/g,"")),stringify:Ku},Wu={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(e,t,n,r,o,s,i,a,c)=>{a&&(a=(a+"00").substr(1,3));let u=Date.UTC(t,n-1,r,o||0,s||0,i||0,a||0);if(c&&c!=="Z"){let l=Ss(c[0],c.slice(1));Math.abs(l)<30&&(l*=60),u-=6e4*l}return new Date(u)},stringify:({value:e})=>e.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function Hu(e){const t=typeof process<"u"&&process.env||{};return e?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!t.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!t.YAML_SILENCE_WARNINGS}function Ju(e,t){if(Hu(!1)){const n=typeof process<"u"&&process.emitWarning;n?n(e,t):console.warn(t?`${t}: ${e}`:e)}}const Ia={};function Bm(e,t){if(!Ia[e]&&Hu(!0)){Ia[e]=!0;let n=`The option '${e}' will be removed in a future release`;n+=`, use '${t}' instead.`,Ju(n,"DeprecationWarning")}}function Um(e,t,n){const r=new me(e);if(t instanceof Map)for(const[o,s]of t)r.items.push(e.createPair(o,s,n));else if(t&&typeof t=="object")for(const o of Object.keys(t))r.items.push(e.createPair(o,t[o],n));return typeof e.sortMapEntries=="function"&&r.items.sort(e.sortMapEntries),r}const hn={createNode:Um,default:!0,nodeClass:me,tag:"tag:yaml.org,2002:map",resolve:Cu};function Fm(e,t,n){const r=new Te(e);if(t&&t[Symbol.iterator])for(const o of t){const s=e.createNode(o,n.wrapScalars,null,n);r.items.push(s)}return r}const yr={createNode:Fm,default:!0,nodeClass:Te,tag:"tag:yaml.org,2002:seq",resolve:Ru},Vm={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:wn,stringify(e,t,n,r){return t=Object.assign({actualString:!0},t),Es(e,t,n,r)},options:qe},Os=[hn,yr,Vm],vr=e=>typeof e=="bigint"||Number.isInteger(e),Ns=(e,t,n)=>tt.asBigInt?BigInt(e):parseInt(t,n);function Yu(e,t,n){const{value:r}=e;return vr(r)&&r>=0?n+r.toString(t):Be(e)}const Qu={identify:e=>e==null,createNode:(e,t,n)=>n.wrapScalars?new W(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Bt,stringify:()=>Bt.nullStr},Zu={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>e[0]==="t"||e[0]==="T",options:Le,stringify:({value:e})=>e?Le.trueStr:Le.falseStr},Xu={identify:e=>vr(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(e,t)=>Ns(e,t,8),options:tt,stringify:e=>Yu(e,8,"0o")},el={identify:vr,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:e=>Ns(e,e,10),options:tt,stringify:Be},tl={identify:e=>vr(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(e,t)=>Ns(e,t,16),options:tt,stringify:e=>Yu(e,16,"0x")},nl={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Be},rl={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify:({value:e})=>Number(e).toExponential()},ol={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(e,t,n){const r=t||n,o=new W(parseFloat(e));return r&&r[r.length-1]==="0"&&(o.minFractionDigits=r.length),o},stringify:Be},qm=Os.concat([Qu,Zu,Xu,el,tl,nl,rl,ol]),ja=e=>typeof e=="bigint"||Number.isInteger(e),In=({value:e})=>JSON.stringify(e),sl=[hn,yr,{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:wn,stringify:In},{identify:e=>e==null,createNode:(e,t,n)=>n.wrapScalars?new W(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:In},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:e=>e==="true",stringify:In},{identify:ja,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:e=>tt.asBigInt?BigInt(e):parseInt(e,10),stringify:({value:e})=>ja(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:In}];sl.scalarFallback=e=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(e)}`)};const Pa=({value:e})=>e?Le.trueStr:Le.falseStr,en=e=>typeof e=="bigint"||Number.isInteger(e);function jn(e,t,n){let r=t.replace(/_/g,"");if(tt.asBigInt){switch(n){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}const s=BigInt(r);return e==="-"?BigInt(-1)*s:s}const o=parseInt(r,n);return e==="-"?-1*o:o}function Qr(e,t,n){const{value:r}=e;if(en(r)){const o=r.toString(t);return r<0?"-"+n+o.substr(1):n+o}return Be(e)}const Km=Os.concat([{identify:e=>e==null,createNode:(e,t,n)=>n.wrapScalars?new W(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:Bt,stringify:()=>Bt.nullStr},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:Le,stringify:Pa},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:Le,stringify:Pa},{identify:en,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(e,t,n)=>jn(t,n,2),stringify:e=>Qr(e,2,"0b")},{identify:en,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(e,t,n)=>jn(t,n,8),stringify:e=>Qr(e,8,"0")},{identify:en,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(e,t,n)=>jn(t,n,10),stringify:Be},{identify:en,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(e,t,n)=>jn(t,n,16),stringify:e=>Qr(e,16,"0x")},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(e,t)=>t?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Be},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify:({value:e})=>Number(e).toExponential()},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(e,t){const n=new W(parseFloat(e.replace(/_/g,"")));if(t){const r=t.replace(/_/g,"");r[r.length-1]==="0"&&(n.minFractionDigits=r.length)}return n},stringify:Be}],Mu,Fu,Bu,qu,Gu,zu,Wu),Gm={core:qm,failsafe:Os,json:sl,yaml11:Km},zm={binary:Mu,bool:Zu,float:ol,floatExp:rl,floatNaN:nl,floatTime:zu,int:el,intHex:tl,intOct:Xu,intTime:Gu,map:hn,null:Qu,omap:Fu,pairs:Bu,seq:yr,set:qu,timestamp:Wu};function Wm(e,t,n){if(t){const r=n.filter(s=>s.tag===t),o=r.find(s=>!s.format)||r[0];if(!o)throw new Error(`Tag ${t} not found`);return o}return n.find(r=>(r.identify&&r.identify(e)||r.class&&e instanceof r.class)&&!r.format)}function Hm(e,t,n){if(e instanceof he)return e;const{defaultPrefix:r,onTagObj:o,prevObjects:s,schema:i,wrapScalars:a}=n;t&&t.startsWith("!!")&&(t=r+t.slice(2));let c=Wm(e,t,i.tags);if(!c){if(typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object")return a?new W(e):e;c=e instanceof Map?hn:e[Symbol.iterator]?yr:hn}o&&(o(c),delete n.onTagObj);const u={value:void 0,node:void 0};if(e&&typeof e=="object"&&s){const l=s.get(e);if(l){const f=new Ve(l);return n.aliasNodes.push(f),f}u.value=e,s.set(e,u)}return u.node=c.createNode?c.createNode(n.schema,e,n):a?new W(e):e,t&&u.node instanceof he&&(u.node.tag=t),u.node}function Jm(e,t,n,r){let o=e[r.replace(/\W/g,"")];if(!o){const s=Object.keys(e).map(i=>JSON.stringify(i)).join(", ");throw new Error(`Unknown schema "${r}"; use one of ${s}`)}if(Array.isArray(n))for(const s of n)o=o.concat(s);else typeof n=="function"&&(o=n(o.slice()));for(let s=0;s<o.length;++s){const i=o[s];if(typeof i=="string"){const a=t[i];if(!a){const c=Object.keys(t).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag "${i}"; use one of ${c}`)}o[s]=a}}return o}const Ym=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;let mn=class il{constructor({customTags:t,merge:n,schema:r,sortMapEntries:o,tags:s}){this.merge=!!n,this.name=r,this.sortMapEntries=o===!0?Ym:o||null,!t&&s&&Bm("tags","customTags"),this.tags=Jm(Gm,zm,t||s,r)}createNode(t,n,r,o){const s={defaultPrefix:il.defaultPrefix,schema:this,wrapScalars:n},i=o?Object.assign(o,s):s;return Hm(t,r,i)}createPair(t,n,r){r||(r={wrapScalars:!0});const o=this.createNode(t,r.wrapScalars,null,r),s=this.createNode(n,r.wrapScalars,null,r);return new q(o,s)}};ue(mn,"defaultPrefix",Vn);ue(mn,"defaultTags",Ye);const nr={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},Qm={get binary(){return sn},set binary(e){Object.assign(sn,e)},get bool(){return Le},set bool(e){Object.assign(Le,e)},get int(){return tt},set int(e){Object.assign(tt,e)},get null(){return Bt},set null(e){Object.assign(Bt,e)},get str(){return qe},set str(e){Object.assign(qe,e)}},al={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:Vn},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Vn}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:Vn}]}};function xa(e,t){if((e.version||e.options.version)==="1.0"){const o=t.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(o)return"!"+o[1];const s=t.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return s?`!${s[1]}/${s[2]}`:`!${t.replace(/^tag:/,"")}`}let n=e.tagPrefixes.find(o=>t.indexOf(o.prefix)===0);if(!n){const o=e.getDefaults().tagPrefixes;n=o&&o.find(s=>t.indexOf(s.prefix)===0)}if(!n)return t[0]==="!"?t:`!<${t}>`;const r=t.substr(n.prefix.length).replace(/[!,[\]{}]/g,o=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"})[o]);return n.handle+r}function Zm(e,t){if(t instanceof Ve)return Ve;if(t.tag){const o=e.filter(s=>s.tag===t.tag);if(o.length>0)return o.find(s=>s.format===t.format)||o[0]}let n,r;if(t instanceof W){r=t.value;const o=e.filter(s=>s.identify&&s.identify(r)||s.class&&r instanceof s.class);n=o.find(s=>s.format===t.format)||o.find(s=>!s.format)}else r=t,n=e.find(o=>o.nodeClass&&r instanceof o.nodeClass);if(!n){const o=r&&r.constructor?r.constructor.name:typeof r;throw new Error(`Tag not resolved for ${o} value`)}return n}function Xm(e,t,{anchors:n,doc:r}){const o=[],s=r.anchors.getName(e);return s&&(n[s]=e,o.push(`&${s}`)),e.tag?o.push(xa(r,e.tag)):t.default||o.push(xa(r,t.tag)),o.join(" ")}function Pn(e,t,n,r){const{anchors:o,schema:s}=t.doc;let i;if(!(e instanceof he)){const u={aliasNodes:[],onTagObj:l=>i=l,prevObjects:new Map};e=s.createNode(e,!0,null,u);for(const l of u.aliasNodes){l.source=l.source.node;let f=o.getName(l.source);f||(f=o.newName(),o.map[f]=l.source)}}if(e instanceof q)return e.toString(t,n,r);i||(i=Zm(s.tags,e));const a=Xm(e,i,t);a.length>0&&(t.indentAtStart=(t.indentAtStart||0)+a.length+1);const c=typeof i.stringify=="function"?i.stringify(e,t,n,r):e instanceof W?Es(e,t,n,r):e.toString(t,n,r);return a?e instanceof W||c[0]==="{"||c[0]==="["?`${a} ${c}`:`${a}
145
+ ${t.indent}${c}`:c}class _s{static validAnchorNode(t){return t instanceof W||t instanceof Te||t instanceof me}constructor(t){ue(this,"map",Object.create(null)),this.prefix=t}createAlias(t,n){return this.setAnchor(t,n),new Ve(t)}createMergePair(...t){const n=new ku;return n.value.items=t.map(r=>{if(r instanceof Ve){if(r.source instanceof me)return r}else if(r instanceof me)return this.createAlias(r);throw new Error("Merge sources must be Map nodes or their Aliases")}),n}getName(t){const{map:n}=this;return Object.keys(n).find(r=>n[r]===t)}getNames(){return Object.keys(this.map)}getNode(t){return this.map[t]}newName(t){t||(t=this.prefix);const n=Object.keys(this.map);for(let r=1;;++r){const o=`${t}${r}`;if(!n.includes(o))return o}}resolveNodes(){const{map:t,_cstAliases:n}=this;Object.keys(t).forEach(r=>{t[r]=t[r].resolved}),n.forEach(r=>{r.source=r.source.resolved}),delete this._cstAliases}setAnchor(t,n){if(t!=null&&!_s.validAnchorNode(t))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(n&&/[\x00-\x19\s,[\]{}]/.test(n))throw new Error("Anchor names must not contain whitespace or control characters");const{map:r}=this,o=t&&Object.keys(r).find(s=>r[s]===t);if(o)if(n)o!==n&&(delete r[o],r[n]=t);else return o;else{if(!n){if(!t)return null;n=this.newName()}r[n]=t}return n}}const zn=(e,t)=>{if(e&&typeof e=="object"){const{tag:n}=e;e instanceof ie?(n&&(t[n]=!0),e.items.forEach(r=>zn(r,t))):e instanceof q?(zn(e.key,t),zn(e.value,t)):e instanceof W&&n&&(t[n]=!0)}return t},eg=e=>Object.keys(zn(e,{}));function tg(e,t){const n={before:[],after:[]};let r,o=!1;for(const s of t)if(s.valueRange){if(r!==void 0){const a="Document contains trailing content not separated by a ... or --- line";e.errors.push(new ae(s,a));break}const i=Xe(e,s);o&&(i.spaceBefore=!0,o=!1),r=i}else s.comment!==null?(r===void 0?n.before:n.after).push(s.comment):s.type===k.BLANK_LINE&&(o=!0,r===void 0&&n.before.length>0&&!e.commentBefore&&(e.commentBefore=n.before.join(`
146
+ `),n.before=[]));if(e.contents=r||null,!r)e.comment=n.before.concat(n.after).join(`
147
+ `)||null;else{const s=n.before.join(`
148
+ `);if(s){const i=r instanceof ie&&r.items[0]?r.items[0]:r;i.commentBefore=i.commentBefore?`${s}
149
+ ${i.commentBefore}`:s}e.comment=n.after.join(`
150
+ `)||null}}function ng({tagPrefixes:e},t){const[n,r]=t.parameters;if(!n||!r){const o="Insufficient parameters given for %TAG directive";throw new B(t,o)}if(e.some(o=>o.handle===n)){const o="The %TAG directive must only be given at most once per handle in the same document.";throw new B(t,o)}return{handle:n,prefix:r}}function rg(e,t){let[n]=t.parameters;if(t.name==="YAML:1.0"&&(n="1.0"),!n){const r="Insufficient parameters given for %YAML directive";throw new B(t,r)}if(!al[n]){const r=`Document will be parsed as YAML ${e.version||e.options.version} rather than YAML ${n}`;e.warnings.push(new qt(t,r))}return n}function og(e,t,n){const r=[];let o=!1;for(const s of t){const{comment:i,name:a}=s;switch(a){case"TAG":try{e.tagPrefixes.push(ng(e,s))}catch(c){e.errors.push(c)}o=!0;break;case"YAML":case"YAML:1.0":if(e.version){const c="The %YAML directive must only be given at most once per document.";e.errors.push(new B(s,c))}try{e.version=rg(e,s)}catch(c){e.errors.push(c)}o=!0;break;default:if(a){const c=`YAML only supports %TAG and %YAML directives, and not %${a}`;e.warnings.push(new qt(s,c))}}i&&r.push(i)}if(n&&!o&&(e.version||n.version||e.options.version)==="1.1"){const s=({handle:i,prefix:a})=>({handle:i,prefix:a});e.tagPrefixes=n.tagPrefixes.map(s),e.version=n.version}e.commentBefore=r.join(`
151
+ `)||null}function Ot(e){if(e instanceof ie)return!0;throw new Error("Expected a YAML collection as document contents")}let ks=class Ao{constructor(t){this.anchors=new _s(t.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=t,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(t){return Ot(this.contents),this.contents.add(t)}addIn(t,n){Ot(this.contents),this.contents.addIn(t,n)}delete(t){return Ot(this.contents),this.contents.delete(t)}deleteIn(t){return Xt(t)?this.contents==null?!1:(this.contents=null,!0):(Ot(this.contents),this.contents.deleteIn(t))}getDefaults(){return Ao.defaults[this.version]||Ao.defaults[this.options.version]||{}}get(t,n){return this.contents instanceof ie?this.contents.get(t,n):void 0}getIn(t,n){return Xt(t)?!n&&this.contents instanceof W?this.contents.value:this.contents:this.contents instanceof ie?this.contents.getIn(t,n):void 0}has(t){return this.contents instanceof ie?this.contents.has(t):!1}hasIn(t){return Xt(t)?this.contents!==void 0:this.contents instanceof ie?this.contents.hasIn(t):!1}set(t,n){Ot(this.contents),this.contents.set(t,n)}setIn(t,n){Xt(t)?this.contents=n:(Ot(this.contents),this.contents.setIn(t,n))}setSchema(t,n){if(!t&&!n&&this.schema)return;typeof t=="number"&&(t=t.toFixed(1)),t==="1.0"||t==="1.1"||t==="1.2"?(this.version?this.version=t:this.options.version=t,delete this.options.schema):t&&typeof t=="string"&&(this.options.schema=t),Array.isArray(n)&&(this.options.customTags=n);const r=Object.assign({},this.getDefaults(),this.options);this.schema=new mn(r)}parse(t,n){this.options.keepCstNodes&&(this.cstNode=t),this.options.keepNodeTypes&&(this.type="DOCUMENT");const{directives:r=[],contents:o=[],directivesEndMarker:s,error:i,valueRange:a}=t;if(i&&(i.source||(i.source=this),this.errors.push(i)),og(this,r,n),s&&(this.directivesEndMarker=!0),this.range=a?[a.start,a.end]:null,this.setSchema(),this.anchors._cstAliases=[],tg(this,o),this.anchors.resolveNodes(),this.options.prettyErrors){for(const c of this.errors)c instanceof vt&&c.makePretty();for(const c of this.warnings)c instanceof vt&&c.makePretty()}return this}listNonDefaultTags(){return eg(this.contents).filter(t=>t.indexOf(mn.defaultPrefix)!==0)}setTagPrefix(t,n){if(t[0]!=="!"||t[t.length-1]!=="!")throw new Error("Handle must start and end with !");if(n){const r=this.tagPrefixes.find(o=>o.handle===t);r?r.prefix=n:this.tagPrefixes.push({handle:t,prefix:n})}else this.tagPrefixes=this.tagPrefixes.filter(r=>r.handle!==t)}toJSON(t,n){const{keepBlobsInJSON:r,mapAsMap:o,maxAliasCount:s}=this.options,i=r&&(typeof t!="string"||!(this.contents instanceof W)),a={doc:this,indentStep:" ",keep:i,mapAsMap:i&&!!o,maxAliasCount:s,stringify:Pn},c=Object.keys(this.anchors.map);c.length>0&&(a.anchors=new Map(c.map(l=>[this.anchors.map[l],{alias:[],aliasCount:0,count:1}])));const u=Ae(this.contents,t,a);if(typeof n=="function"&&a.anchors)for(const{count:l,res:f}of a.anchors.values())n(f,l);return u}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");const t=this.options.indent;if(!Number.isInteger(t)||t<=0){const c=JSON.stringify(t);throw new Error(`"indent" option must be a positive integer, not ${c}`)}this.setSchema();const n=[];let r=!1;if(this.version){let c="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?c="%YAML:1.0":this.version==="1.1"&&(c="%YAML 1.1")),n.push(c),r=!0}const o=this.listNonDefaultTags();this.tagPrefixes.forEach(({handle:c,prefix:u})=>{o.some(l=>l.indexOf(u)===0)&&(n.push(`%TAG ${c} ${u}`),r=!0)}),(r||this.directivesEndMarker)&&n.push("---"),this.commentBefore&&((r||!this.directivesEndMarker)&&n.unshift(""),n.unshift(this.commentBefore.replace(/^/gm,"#")));const s={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(t),stringify:Pn};let i=!1,a=null;if(this.contents){this.contents instanceof he&&(this.contents.spaceBefore&&(r||this.directivesEndMarker)&&n.push(""),this.contents.commentBefore&&n.push(this.contents.commentBefore.replace(/^/gm,"#")),s.forceBlockIndent=!!this.comment,a=this.contents.comment);const c=a?null:()=>i=!0,u=Pn(this.contents,s,()=>a=null,c);n.push(Ct(u,"",a))}else this.contents!==void 0&&n.push(Pn(this.contents,s));return this.comment&&((!i||a)&&n[n.length-1]!==""&&n.push(""),n.push(this.comment.replace(/^/gm,"#"))),n.join(`
167
152
  `)+`
168
- `}}ue(Tt,"defaults",Yu);function bg(t,e=!0,n){n===void 0&&typeof e=="string"&&(n=e,e=!0);const r=Object.assign({},Tt.defaults[Yn.version],Yn);return new ht(r).createNode(t,e,n)}class dr extends Tt{constructor(e){super(Object.assign({},Yn,e))}}function Eg(t,e){const n=[];let r;for(const s of oo(t)){const o=new dr(e);o.parse(s,r),n.push(o),r=o}return n}function Xu(t,e){const n=oo(t),r=new dr(e).parse(n[0]);if(n.length>1){const s="Source contains multiple documents; please use YAML.parseAllDocuments()";r.errors.unshift(new D(n[1],s))}return r}function Sg(t,e){const n=Xu(t,e);if(n.warnings.forEach(r=>Uu(r)),n.errors.length>0)throw n.errors[0];return n.toJSON()}function Ng(t,e){const n=new dr(e);return n.contents=t,String(n)}const Og={createNode:bg,defaultOptions:Yn,Document:dr,parse:Sg,parseAllDocuments:Eg,parseCST:oo,parseDocument:Xu,scalarOptions:pg,stringify:Ng},_g=Object.freeze(Object.defineProperty({__proto__:null,YAML:Og},Symbol.toStringTag,{value:"Module"})),kg=Sm(_g);var Ig=kg.YAML;const Ag="1.0.0-redesign.1",Pg="adhd",jg="default",xg="adhd-environment.json",Gr="config.yaml",Tg="config.local.yaml",Cg={data:"shared",cache:"shared",state:"shared",config:"shared",run:"shared",logs:"per-instance",temp:"per-instance"};class fa extends Error{constructor(e,n){super(`contentHash: lone surrogate in ${e} (not well-formed Unicode)`),this.location=e,this.offending=n,this.name="LoneSurrogateError"}}function da(t){for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);if(n>=55296&&n<=56319){const r=e+1<t.length?t.charCodeAt(e+1):0;if(r<56320||r>57343)return!0;e++}else if(n>=56320&&n<=57343)return!0}return!1}function Zu(t,e){const n=Array.from(t),r=Array.from(e),s=Math.min(n.length,r.length);for(let o=0;o<s;o++){const i=n[o].codePointAt(0)??0,a=r[o].codePointAt(0)??0;if(i!==a)return i<a?-1:1}return n.length===r.length?0:n.length<r.length?-1:1}function pa(t){return new TextEncoder().encode(t).length}function Rg(t){const e=Object.keys(t).sort(Zu);let n="";for(const r of e){const s=t[r];if(da(r))throw new fa("key",r);if(da(s))throw new fa("value",s);n+=`${pa(r)}:${r}=${pa(s)}:${s}
169
- `}return`sha256-${el(n)}`}function Mg(t){const e=[...t].sort((n,r)=>Zu(n.name,r.name)).map(n=>`${n.name}:${n.kind}:${n.scope}`).join(`
170
- `);return`sha256-${el(e)}`}function Dg(t){return`ADHD_${t.toUpperCase().replace(/[.-]/g,"_")}`}function Lg(t,e){return`${t}_${e.toUpperCase().replace(/[.-]/g,"_")}`}function Bg(t){const e={type:"object",properties:{}},n=t;for(const r of Object.keys(n)){const s=n[r],o=r.split(".");let i=e;o.forEach((a,c)=>{if(c===o.length-1){i.properties[a]=Ug(s);return}const u=i.properties[a];if(u===void 0){const l={type:"object",properties:{}};i.properties[a]=l,i=l}else i=u})}return e}function Ug(t){const e={type:t.type};return t.default!==void 0&&t.secret!==!0&&(e.default=t.default),t.description!==void 0&&(e.description=t.description),t.minimum!==void 0&&(e.minimum=t.minimum),t.maximum!==void 0&&(e.maximum=t.maximum),t.enum!==void 0&&(e.enum=t.enum),t.pattern!==void 0&&(e.pattern=t.pattern),t.minLength!==void 0&&(e.minLength=t.minLength),t.maxLength!==void 0&&(e.maxLength=t.maxLength),t.items!==void 0&&(e.items=t.items),e}const Vg="adhd-env-ref:";function Fg(t){return`${Vg}${t}`}const qg=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Kg=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function _e(t,e){return(t>>>e|t<<32-e)>>>0}function zg(t){const e=Uint32Array.from(Kg),n=t.length*8;let r=t.length+1;for(;r%64!==56;)r++;r+=8;const s=new Uint8Array(r);s.set(t),s[t.length]=128;const o=Math.floor(n/4294967296),i=n>>>0,a=new DataView(s.buffer);a.setUint32(r-8,o,!1),a.setUint32(r-4,i,!1);const c=new Uint32Array(64);for(let f=0;f<r;f+=64){for(let N=0;N<16;N++)c[N]=a.getUint32(f+N*4,!1);for(let N=16;N<64;N++){const k=c[N-15],C=c[N-2],F=_e(k,7)^_e(k,18)^k>>>3,ee=_e(C,17)^_e(C,19)^C>>>10;c[N]=c[N-16]+F+c[N-7]+ee>>>0}let m=e[0],p=e[1],d=e[2],v=e[3],g=e[4],y=e[5],$=e[6],S=e[7];for(let N=0;N<64;N++){const k=_e(g,6)^_e(g,11)^_e(g,25),C=g&y^~g&$,F=S+k+C+qg[N]+c[N]>>>0,ee=_e(m,2)^_e(m,13)^_e(m,22),ae=m&p^m&d^p&d,me=ee+ae>>>0;S=$,$=y,y=g,g=v+F>>>0,v=d,d=p,p=m,m=F+me>>>0}e[0]=e[0]+m>>>0,e[1]=e[1]+p>>>0,e[2]=e[2]+d>>>0,e[3]=e[3]+v>>>0,e[4]=e[4]+g>>>0,e[5]=e[5]+y>>>0,e[6]=e[6]+$>>>0,e[7]=e[7]+S>>>0}const u=new Uint8Array(32),l=new DataView(u.buffer);for(let f=0;f<8;f++)l.setUint32(f*4,e[f],!1);return u}function Gg(t){let e="";for(const n of t)e+=n.toString(16).padStart(2,"0");return e}function el(t){const e=new TextEncoder().encode(t);return Gg(zg(e))}function tl(t,e=""){const n={};if(t===null||typeof t!="object"||Array.isArray(t))return e&&(n[e]=t),n;for(const[r,s]of Object.entries(t)){const o=e?`${e}.${r}`:r;s!==null&&typeof s=="object"&&!Array.isArray(s)?Object.assign(n,tl(s,o)):n[o]=s}return n}function Pn(t){if(Y.existsSync(t))try{const e=Y.readFileSync(t,"utf8"),n=Ig.parse(e);return n===null||typeof n!="object"||Array.isArray(n)?void 0:tl(n)}catch{return}}function Wg(t){return{system:Pn(q.join(t.system,Gr)),global:Pn(q.join(t.global,Gr)),project:t.project?Pn(q.join(t.project,Gr)):void 0,local:t.project?Pn(q.join(t.project,Tg)):void 0}}function Hg(t){const e={source:t.source,scope:t.scope};return t.source==="env"&&t.env!==void 0&&(e.env=t.env),e}function ws(t,e){if(t===void 0)return t;switch(e){case"integer":{if(typeof t=="number")return t;const n=parseInt(String(t),10);return Number.isNaN(n)?t:n}case"number":{if(typeof t=="number")return t;const n=parseFloat(String(t));return Number.isNaN(n)?t:n}case"boolean":{if(typeof t=="boolean")return t;const n=String(t).toLowerCase();return n==="true"?!0:n==="false"?!1:t}case"array":return Array.isArray(t)?t:typeof t=="string"?t.length===0?[]:t.split(",").map(n=>n.trim()):t;case"string":return typeof t=="string"?t:String(t);default:return t}}function nl(t){const e={};for(const n of Object.keys(t)){const r=n.split(".");let s=e;r.forEach((o,i)=>{if(i===r.length-1){s[o]=t[n];return}const a=s[o];(typeof a!="object"||a===null||Array.isArray(a))&&(s[o]={}),s=s[o]})}return e}const Jg=[["system","system"],["global","global"],["project","project"],["local","local"]];function Qg(t,e,n,r){const s={},o={},i={},a={};for(const c of Object.keys(t)){const u=t[c],l=u.env&&u.env!==""?u.env:Lg(r.prefix,c),f=u.at==="runtime"||u.secret===!0,m=u.scope??r.activeScope;let p=u.default,d="default";for(const[S,N]of Jg){const k=e[S];k&&Object.prototype.hasOwnProperty.call(k,c)&&(p=ws(k[c],u.type),d=N)}const v=n[l];let g,y,$;v!==void 0?(g=ws(v,u.type),y="env",$=l):(g=p,y=d),s[c]=f?Fg(l):g,o[c]=g,i[c]=Hg(f?{source:"env",scope:m,env:l}:{source:y,scope:m,env:$}),a[c]={...u,env:l,live:f,fallbackValue:p}}return{raw:s,nested:nl(s),typedRaw:o,provenance:i,fields:a}}function Yg(t,e){return t.replace(/\$\{HOME\}/g,Jn.homedir()).replace(/\$HOME\b/g,Jn.homedir()).replace(/\$\{PROJECT_ROOT\}/g,e.projectRoot??process.cwd()).replace(/\$\{NAMESPACE\}/g,e.namespace)}function Xg(t,e){const n={};for(const[r,s]of Object.entries(t??{})){const o=s.scope??e.activeScope,i=s.share??Cg[s.kind],a=s.path?Yg(s.path,e):q.join(gu(e.roots,o),r),c=i==="per-instance"?q.join(a,e.instanceId):a;n[r]={name:r,kind:s.kind,path:c,scope:o,share:i}}return n}function Zg(t,e){const n={};for(const[r,s]of Object.entries(t??{})){const o=e[s.in];if(!o)throw new Error(`files.${r}.in references unknown dirs key "${s.in}"`);n[r]={name:r,in:s.in,path:q.join(o.path,s.name),share:s.share??"shared"}}return n}var bs={exports:{}},rl={},Ne={},Ct={},yn={},U={},hn={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class e{}t._CodeOrName=e,t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends e{constructor($){if(super(),!t.IDENTIFIER.test($))throw new Error("CodeGen: name must be a valid identifier");this.str=$}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}t.Name=n;class r extends e{constructor($){super(),this._items=typeof $=="string"?[$]:$}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const $=this._items[0];return $===""||$==='""'}get str(){var $;return($=this._str)!==null&&$!==void 0?$:this._str=this._items.reduce((S,N)=>`${S}${N}`,"")}get names(){var $;return($=this._names)!==null&&$!==void 0?$:this._names=this._items.reduce((S,N)=>(N instanceof n&&(S[N.str]=(S[N.str]||0)+1),S),{})}}t._Code=r,t.nil=new r("");function s(y,...$){const S=[y[0]];let N=0;for(;N<$.length;)a(S,$[N]),S.push(y[++N]);return new r(S)}t._=s;const o=new r("+");function i(y,...$){const S=[p(y[0])];let N=0;for(;N<$.length;)S.push(o),a(S,$[N]),S.push(o,p(y[++N]));return c(S),new r(S)}t.str=i;function a(y,$){$ instanceof r?y.push(...$._items):$ instanceof n?y.push($):y.push(f($))}t.addCodeArg=a;function c(y){let $=1;for(;$<y.length-1;){if(y[$]===o){const S=u(y[$-1],y[$+1]);if(S!==void 0){y.splice($-1,3,S);continue}y[$++]="+"}$++}}function u(y,$){if($==='""')return y;if(y==='""')return $;if(typeof y=="string")return $ instanceof n||y[y.length-1]!=='"'?void 0:typeof $!="string"?`${y.slice(0,-1)}${$}"`:$[0]==='"'?y.slice(0,-1)+$.slice(1):void 0;if(typeof $=="string"&&$[0]==='"'&&!(y instanceof n))return`"${y}${$.slice(1)}`}function l(y,$){return $.emptyStr()?y:y.emptyStr()?$:i`${y}${$}`}t.strConcat=l;function f(y){return typeof y=="number"||typeof y=="boolean"||y===null?y:p(Array.isArray(y)?y.join(","):y)}function m(y){return new r(p(y))}t.stringify=m;function p(y){return JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}t.safeStringify=p;function d(y){return typeof y=="string"&&t.IDENTIFIER.test(y)?new r(`.${y}`):s`[${y}]`}t.getProperty=d;function v(y){if(typeof y=="string"&&t.IDENTIFIER.test(y))return new r(`${y}`);throw new Error(`CodeGen: invalid export name: ${y}, use explicit $id name mapping`)}t.getEsmExportName=v;function g(y){return new r(y.toString())}t.regexpCode=g})(hn);var Es={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const e=hn;class n extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var r;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(r||(t.UsedValueState=r={})),t.varKinds={const:new e.Name("const"),let:new e.Name("let"),var:new e.Name("var")};class s{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof e.Name?u:this.name(u)}name(u){return new e.Name(this._newName(u))}_newName(u){const l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,f;if(!((f=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||f===void 0)&&f.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}t.Scope=s;class o extends e.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:f}){this.value=u,this.scopePath=(0,e._)`.${new e.Name(l)}[${f}]`}}t.ValueScopeName=o;const i=(0,e._)`\n`;class a extends s{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?i:e.nil}}get(){return this._scope}name(u){return new o(u,this._newName(u))}value(u,l){var f;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");const m=this.toName(u),{prefix:p}=m,d=(f=l.key)!==null&&f!==void 0?f:l.ref;let v=this._values[p];if(v){const $=v.get(d);if($)return $}else v=this._values[p]=new Map;v.set(d,m);const g=this._scope[p]||(this._scope[p]=[]),y=g.length;return g[y]=l.ref,m.setValue(l,{property:p,itemIndex:y}),m}getValue(u,l){const f=this._values[u];if(f)return f.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,f=>{if(f.scopePath===void 0)throw new Error(`CodeGen: name "${f}" has no value`);return(0,e._)`${u}${f.scopePath}`})}scopeCode(u=this._values,l,f){return this._reduceValues(u,m=>{if(m.value===void 0)throw new Error(`CodeGen: name "${m}" has no value`);return m.value.code},l,f)}_reduceValues(u,l,f={},m){let p=e.nil;for(const d in u){const v=u[d];if(!v)continue;const g=f[d]=f[d]||new Map;v.forEach(y=>{if(g.has(y))return;g.set(y,r.Started);let $=l(y);if($){const S=this.opts.es5?t.varKinds.var:t.varKinds.const;p=(0,e._)`${p}${S} ${y} = ${$};${this.opts._n}`}else if($=m==null?void 0:m(y))p=(0,e._)`${p}${$}${this.opts._n}`;else throw new n(y);g.set(y,r.Completed)})}return p}}t.ValueScope=a})(Es);(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const e=hn,n=Es;var r=hn;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(t,"strConcat",{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(t,"getProperty",{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(t,"regexpCode",{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return r.Name}});var s=Es;Object.defineProperty(t,"Scope",{enumerable:!0,get:function(){return s.Scope}}),Object.defineProperty(t,"ValueScope",{enumerable:!0,get:function(){return s.ValueScope}}),Object.defineProperty(t,"ValueScopeName",{enumerable:!0,get:function(){return s.ValueScopeName}}),Object.defineProperty(t,"varKinds",{enumerable:!0,get:function(){return s.varKinds}}),t.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class o{optimizeNodes(){return this}optimizeNames(h,w){return this}}class i extends o{constructor(h,w,O){super(),this.varKind=h,this.name=w,this.rhs=O}render({es5:h,_n:w}){const O=h?n.varKinds.var:this.varKind,T=this.rhs===void 0?"":` = ${this.rhs}`;return`${O} ${this.name}${T};`+w}optimizeNames(h,w){if(h[this.name.str])return this.rhs&&(this.rhs=Fe(this.rhs,h,w)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends o{constructor(h,w,O){super(),this.lhs=h,this.rhs=w,this.sideEffects=O}render({_n:h}){return`${this.lhs} = ${this.rhs};`+h}optimizeNames(h,w){if(!(this.lhs instanceof e.Name&&!h[this.lhs.str]&&!this.sideEffects))return this.rhs=Fe(this.rhs,h,w),this}get names(){const h=this.lhs instanceof e.Name?{}:{...this.lhs.names};return vt(h,this.rhs)}}class c extends a{constructor(h,w,O,T){super(h,O,T),this.op=w}render({_n:h}){return`${this.lhs} ${this.op}= ${this.rhs};`+h}}class u extends o{constructor(h){super(),this.label=h,this.names={}}render({_n:h}){return`${this.label}:`+h}}class l extends o{constructor(h){super(),this.label=h,this.names={}}render({_n:h}){return`break${this.label?` ${this.label}`:""};`+h}}class f extends o{constructor(h){super(),this.error=h}render({_n:h}){return`throw ${this.error};`+h}get names(){return this.error.names}}class m extends o{constructor(h){super(),this.code=h}render({_n:h}){return`${this.code};`+h}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(h,w){return this.code=Fe(this.code,h,w),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends o{constructor(h=[]){super(),this.nodes=h}render(h){return this.nodes.reduce((w,O)=>w+O.render(h),"")}optimizeNodes(){const{nodes:h}=this;let w=h.length;for(;w--;){const O=h[w].optimizeNodes();Array.isArray(O)?h.splice(w,1,...O):O?h[w]=O:h.splice(w,1)}return h.length>0?this:void 0}optimizeNames(h,w){const{nodes:O}=this;let T=O.length;for(;T--;){const R=O[T];R.optimizeNames(h,w)||(Kt(h,R.names),O.splice(T,1))}return O.length>0?this:void 0}get names(){return this.nodes.reduce((h,w)=>Te(h,w.names),{})}}class d extends p{render(h){return"{"+h._n+super.render(h)+"}"+h._n}}class v extends p{}class g extends d{}g.kind="else";class y extends d{constructor(h,w){super(w),this.condition=h}render(h){let w=`if(${this.condition})`+super.render(h);return this.else&&(w+="else "+this.else.render(h)),w}optimizeNodes(){super.optimizeNodes();const h=this.condition;if(h===!0)return this.nodes;let w=this.else;if(w){const O=w.optimizeNodes();w=this.else=Array.isArray(O)?new g(O):O}if(w)return h===!1?w instanceof y?w:w.nodes:this.nodes.length?this:new y(wn(h),w instanceof y?[w]:w.nodes);if(!(h===!1||!this.nodes.length))return this}optimizeNames(h,w){var O;if(this.else=(O=this.else)===null||O===void 0?void 0:O.optimizeNames(h,w),!!(super.optimizeNames(h,w)||this.else))return this.condition=Fe(this.condition,h,w),this}get names(){const h=super.names;return vt(h,this.condition),this.else&&Te(h,this.else.names),h}}y.kind="if";class $ extends d{}$.kind="for";class S extends ${constructor(h){super(),this.iteration=h}render(h){return`for(${this.iteration})`+super.render(h)}optimizeNames(h,w){if(super.optimizeNames(h,w))return this.iteration=Fe(this.iteration,h,w),this}get names(){return Te(super.names,this.iteration.names)}}class N extends ${constructor(h,w,O,T){super(),this.varKind=h,this.name=w,this.from=O,this.to=T}render(h){const w=h.es5?n.varKinds.var:this.varKind,{name:O,from:T,to:R}=this;return`for(${w} ${O}=${T}; ${O}<${R}; ${O}++)`+super.render(h)}get names(){const h=vt(super.names,this.from);return vt(h,this.to)}}class k extends ${constructor(h,w,O,T){super(),this.loop=h,this.varKind=w,this.name=O,this.iterable=T}render(h){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(h)}optimizeNames(h,w){if(super.optimizeNames(h,w))return this.iterable=Fe(this.iterable,h,w),this}get names(){return Te(super.names,this.iterable.names)}}class C extends d{constructor(h,w,O){super(),this.name=h,this.args=w,this.async=O}render(h){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(h)}}C.kind="func";class F extends p{render(h){return"return "+super.render(h)}}F.kind="return";class ee extends d{render(h){let w="try"+super.render(h);return this.catch&&(w+=this.catch.render(h)),this.finally&&(w+=this.finally.render(h)),w}optimizeNodes(){var h,w;return super.optimizeNodes(),(h=this.catch)===null||h===void 0||h.optimizeNodes(),(w=this.finally)===null||w===void 0||w.optimizeNodes(),this}optimizeNames(h,w){var O,T;return super.optimizeNames(h,w),(O=this.catch)===null||O===void 0||O.optimizeNames(h,w),(T=this.finally)===null||T===void 0||T.optimizeNames(h,w),this}get names(){const h=super.names;return this.catch&&Te(h,this.catch.names),this.finally&&Te(h,this.finally.names),h}}class ae extends d{constructor(h){super(),this.error=h}render(h){return`catch(${this.error})`+super.render(h)}}ae.kind="catch";class me extends d{render(h){return"finally"+super.render(h)}}me.kind="finally";class qt{constructor(h,w={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...w,_n:w.lines?`
171
- `:""},this._extScope=h,this._scope=new n.Scope({parent:h}),this._nodes=[new v]}toString(){return this._root.render(this.opts)}name(h){return this._scope.name(h)}scopeName(h){return this._extScope.name(h)}scopeValue(h,w){const O=this._extScope.value(h,w);return(this._values[O.prefix]||(this._values[O.prefix]=new Set)).add(O),O}getScopeValue(h,w){return this._extScope.getValue(h,w)}scopeRefs(h){return this._extScope.scopeRefs(h,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(h,w,O,T){const R=this._scope.toName(w);return O!==void 0&&T&&(this._constants[R.str]=O),this._leafNode(new i(h,R,O)),R}const(h,w,O){return this._def(n.varKinds.const,h,w,O)}let(h,w,O){return this._def(n.varKinds.let,h,w,O)}var(h,w,O){return this._def(n.varKinds.var,h,w,O)}assign(h,w,O){return this._leafNode(new a(h,w,O))}add(h,w){return this._leafNode(new c(h,t.operators.ADD,w))}code(h){return typeof h=="function"?h():h!==e.nil&&this._leafNode(new m(h)),this}object(...h){const w=["{"];for(const[O,T]of h)w.length>1&&w.push(","),w.push(O),(O!==T||this.opts.es5)&&(w.push(":"),(0,e.addCodeArg)(w,T));return w.push("}"),new e._Code(w)}if(h,w,O){if(this._blockNode(new y(h)),w&&O)this.code(w).else().code(O).endIf();else if(w)this.code(w).endIf();else if(O)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(h){return this._elseNode(new y(h))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(y,g)}_for(h,w){return this._blockNode(h),w&&this.code(w).endFor(),this}for(h,w){return this._for(new S(h),w)}forRange(h,w,O,T,R=this.opts.es5?n.varKinds.var:n.varKinds.let){const z=this._scope.toName(h);return this._for(new N(R,z,w,O),()=>T(z))}forOf(h,w,O,T=n.varKinds.const){const R=this._scope.toName(h);if(this.opts.es5){const z=w instanceof e.Name?w:this.var("_arr",w);return this.forRange("_i",0,(0,e._)`${z}.length`,K=>{this.var(R,(0,e._)`${z}[${K}]`),O(R)})}return this._for(new k("of",T,R,w),()=>O(R))}forIn(h,w,O,T=this.opts.es5?n.varKinds.var:n.varKinds.const){if(this.opts.ownProperties)return this.forOf(h,(0,e._)`Object.keys(${w})`,O);const R=this._scope.toName(h);return this._for(new k("in",T,R,w),()=>O(R))}endFor(){return this._endBlockNode($)}label(h){return this._leafNode(new u(h))}break(h){return this._leafNode(new l(h))}return(h){const w=new F;if(this._blockNode(w),this.code(h),w.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(F)}try(h,w,O){if(!w&&!O)throw new Error('CodeGen: "try" without "catch" and "finally"');const T=new ee;if(this._blockNode(T),this.code(h),w){const R=this.name("e");this._currNode=T.catch=new ae(R),w(R)}return O&&(this._currNode=T.finally=new me,this.code(O)),this._endBlockNode(ae,me)}throw(h){return this._leafNode(new f(h))}block(h,w){return this._blockStarts.push(this._nodes.length),h&&this.code(h).endBlock(w),this}endBlock(h){const w=this._blockStarts.pop();if(w===void 0)throw new Error("CodeGen: not in self-balancing block");const O=this._nodes.length-w;if(O<0||h!==void 0&&O!==h)throw new Error(`CodeGen: wrong number of nodes: ${O} vs ${h} expected`);return this._nodes.length=w,this}func(h,w=e.nil,O,T){return this._blockNode(new C(h,w,O)),T&&this.code(T).endFunc(),this}endFunc(){return this._endBlockNode(C)}optimize(h=1){for(;h-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(h){return this._currNode.nodes.push(h),this}_blockNode(h){this._currNode.nodes.push(h),this._nodes.push(h)}_endBlockNode(h,w){const O=this._currNode;if(O instanceof h||w&&O instanceof w)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${w?`${h.kind}/${w.kind}`:h.kind}"`)}_elseNode(h){const w=this._currNode;if(!(w instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=w.else=h,this}get _root(){return this._nodes[0]}get _currNode(){const h=this._nodes;return h[h.length-1]}set _currNode(h){const w=this._nodes;w[w.length-1]=h}}t.CodeGen=qt;function Te(E,h){for(const w in h)E[w]=(E[w]||0)+(h[w]||0);return E}function vt(E,h){return h instanceof e._CodeOrName?Te(E,h.names):E}function Fe(E,h,w){if(E instanceof e.Name)return O(E);if(!T(E))return E;return new e._Code(E._items.reduce((R,z)=>(z instanceof e.Name&&(z=O(z)),z instanceof e._Code?R.push(...z._items):R.push(z),R),[]));function O(R){const z=w[R.str];return z===void 0||h[R.str]!==1?R:(delete h[R.str],z)}function T(R){return R instanceof e._Code&&R._items.some(z=>z instanceof e.Name&&h[z.str]===1&&w[z.str]!==void 0)}}function Kt(E,h){for(const w in h)E[w]=(E[w]||0)-(h[w]||0)}function wn(E){return typeof E=="boolean"||typeof E=="number"||E===null?!E:(0,e._)`!${I(E)}`}t.not=wn;const $r=b(t.operators.AND);function wr(...E){return E.reduce($r)}t.and=wr;const bn=b(t.operators.OR);function P(...E){return E.reduce(bn)}t.or=P;function b(E){return(h,w)=>h===e.nil?w:w===e.nil?h:(0,e._)`${I(h)} ${E} ${I(w)}`}function I(E){return E instanceof e.Name?E:(0,e._)`(${E})`}})(U);var j={};Object.defineProperty(j,"__esModule",{value:!0});j.checkStrictMode=j.getErrorPath=j.Type=j.useFunc=j.setEvaluated=j.evaluatedPropsToName=j.mergeEvaluated=j.eachItem=j.unescapeJsonPointer=j.escapeJsonPointer=j.escapeFragment=j.unescapeFragment=j.schemaRefOrVal=j.schemaHasRulesButRef=j.schemaHasRules=j.checkUnknownRules=j.alwaysValidSchema=j.toHash=void 0;const W=U,ey=hn;function ty(t){const e={};for(const n of t)e[n]=!0;return e}j.toHash=ty;function ny(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(sl(t,e),!ol(e,t.self.RULES.all))}j.alwaysValidSchema=ny;function sl(t,e=t.schema){const{opts:n,self:r}=t;if(!n.strictSchema||typeof e=="boolean")return;const s=r.RULES.keywords;for(const o in e)s[o]||cl(t,`unknown keyword: "${o}"`)}j.checkUnknownRules=sl;function ol(t,e){if(typeof t=="boolean")return!t;for(const n in t)if(e[n])return!0;return!1}j.schemaHasRules=ol;function ry(t,e){if(typeof t=="boolean")return!t;for(const n in t)if(n!=="$ref"&&e.all[n])return!0;return!1}j.schemaHasRulesButRef=ry;function sy({topSchemaRef:t,schemaPath:e},n,r,s){if(!s){if(typeof n=="number"||typeof n=="boolean")return n;if(typeof n=="string")return(0,W._)`${n}`}return(0,W._)`${t}${e}${(0,W.getProperty)(r)}`}j.schemaRefOrVal=sy;function oy(t){return il(decodeURIComponent(t))}j.unescapeFragment=oy;function iy(t){return encodeURIComponent(ho(t))}j.escapeFragment=iy;function ho(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}j.escapeJsonPointer=ho;function il(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}j.unescapeJsonPointer=il;function ay(t,e){if(Array.isArray(t))for(const n of t)e(n);else e(t)}j.eachItem=ay;function ha({mergeNames:t,mergeToName:e,mergeValues:n,resultToName:r}){return(s,o,i,a)=>{const c=i===void 0?o:i instanceof W.Name?(o instanceof W.Name?t(s,o,i):e(s,o,i),i):o instanceof W.Name?(e(s,i,o),o):n(o,i);return a===W.Name&&!(c instanceof W.Name)?r(s,c):c}}j.mergeEvaluated={props:ha({mergeNames:(t,e,n)=>t.if((0,W._)`${n} !== true && ${e} !== undefined`,()=>{t.if((0,W._)`${e} === true`,()=>t.assign(n,!0),()=>t.assign(n,(0,W._)`${n} || {}`).code((0,W._)`Object.assign(${n}, ${e})`))}),mergeToName:(t,e,n)=>t.if((0,W._)`${n} !== true`,()=>{e===!0?t.assign(n,!0):(t.assign(n,(0,W._)`${n} || {}`),mo(t,n,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:al}),items:ha({mergeNames:(t,e,n)=>t.if((0,W._)`${n} !== true && ${e} !== undefined`,()=>t.assign(n,(0,W._)`${e} === true ? true : ${n} > ${e} ? ${n} : ${e}`)),mergeToName:(t,e,n)=>t.if((0,W._)`${n} !== true`,()=>t.assign(n,e===!0?!0:(0,W._)`${n} > ${e} ? ${n} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function al(t,e){if(e===!0)return t.var("props",!0);const n=t.var("props",(0,W._)`{}`);return e!==void 0&&mo(t,n,e),n}j.evaluatedPropsToName=al;function mo(t,e,n){Object.keys(n).forEach(r=>t.assign((0,W._)`${e}${(0,W.getProperty)(r)}`,!0))}j.setEvaluated=mo;const ma={};function cy(t,e){return t.scopeValue("func",{ref:e,code:ma[e.code]||(ma[e.code]=new ey._Code(e.code))})}j.useFunc=cy;var Ss;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(Ss||(j.Type=Ss={}));function uy(t,e,n){if(t instanceof W.Name){const r=e===Ss.Num;return n?r?(0,W._)`"[" + ${t} + "]"`:(0,W._)`"['" + ${t} + "']"`:r?(0,W._)`"/" + ${t}`:(0,W._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,W.getProperty)(t).toString():"/"+ho(t)}j.getErrorPath=uy;function cl(t,e,n=t.opts.strictSchema){if(n){if(e=`strict mode: ${e}`,n===!0)throw new Error(e);t.self.logger.warn(e)}}j.checkStrictMode=cl;var xe={};Object.defineProperty(xe,"__esModule",{value:!0});const ce=U,ly={data:new ce.Name("data"),valCxt:new ce.Name("valCxt"),instancePath:new ce.Name("instancePath"),parentData:new ce.Name("parentData"),parentDataProperty:new ce.Name("parentDataProperty"),rootData:new ce.Name("rootData"),dynamicAnchors:new ce.Name("dynamicAnchors"),vErrors:new ce.Name("vErrors"),errors:new ce.Name("errors"),this:new ce.Name("this"),self:new ce.Name("self"),scope:new ce.Name("scope"),json:new ce.Name("json"),jsonPos:new ce.Name("jsonPos"),jsonLen:new ce.Name("jsonLen"),jsonPart:new ce.Name("jsonPart")};xe.default=ly;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const e=U,n=j,r=xe;t.keywordError={message:({keyword:g})=>(0,e.str)`must pass "${g}" keyword validation`},t.keyword$DataError={message:({keyword:g,schemaType:y})=>y?(0,e.str)`"${g}" keyword must be ${y} ($data)`:(0,e.str)`"${g}" keyword is invalid ($data)`};function s(g,y=t.keywordError,$,S){const{it:N}=g,{gen:k,compositeRule:C,allErrors:F}=N,ee=f(g,y,$);S??(C||F)?c(k,ee):u(N,(0,e._)`[${ee}]`)}t.reportError=s;function o(g,y=t.keywordError,$){const{it:S}=g,{gen:N,compositeRule:k,allErrors:C}=S,F=f(g,y,$);c(N,F),k||C||u(S,r.default.vErrors)}t.reportExtraError=o;function i(g,y){g.assign(r.default.errors,y),g.if((0,e._)`${r.default.vErrors} !== null`,()=>g.if(y,()=>g.assign((0,e._)`${r.default.vErrors}.length`,y),()=>g.assign(r.default.vErrors,null)))}t.resetErrorsCount=i;function a({gen:g,keyword:y,schemaValue:$,data:S,errsCount:N,it:k}){if(N===void 0)throw new Error("ajv implementation error");const C=g.name("err");g.forRange("i",N,r.default.errors,F=>{g.const(C,(0,e._)`${r.default.vErrors}[${F}]`),g.if((0,e._)`${C}.instancePath === undefined`,()=>g.assign((0,e._)`${C}.instancePath`,(0,e.strConcat)(r.default.instancePath,k.errorPath))),g.assign((0,e._)`${C}.schemaPath`,(0,e.str)`${k.errSchemaPath}/${y}`),k.opts.verbose&&(g.assign((0,e._)`${C}.schema`,$),g.assign((0,e._)`${C}.data`,S))})}t.extendErrors=a;function c(g,y){const $=g.const("err",y);g.if((0,e._)`${r.default.vErrors} === null`,()=>g.assign(r.default.vErrors,(0,e._)`[${$}]`),(0,e._)`${r.default.vErrors}.push(${$})`),g.code((0,e._)`${r.default.errors}++`)}function u(g,y){const{gen:$,validateName:S,schemaEnv:N}=g;N.$async?$.throw((0,e._)`new ${g.ValidationError}(${y})`):($.assign((0,e._)`${S}.errors`,y),$.return(!1))}const l={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function f(g,y,$){const{createErrors:S}=g.it;return S===!1?(0,e._)`{}`:m(g,y,$)}function m(g,y,$={}){const{gen:S,it:N}=g,k=[p(N,$),d(g,$)];return v(g,y,k),S.object(...k)}function p({errorPath:g},{instancePath:y}){const $=y?(0,e.str)`${g}${(0,n.getErrorPath)(y,n.Type.Str)}`:g;return[r.default.instancePath,(0,e.strConcat)(r.default.instancePath,$)]}function d({keyword:g,it:{errSchemaPath:y}},{schemaPath:$,parentSchema:S}){let N=S?y:(0,e.str)`${y}/${g}`;return $&&(N=(0,e.str)`${N}${(0,n.getErrorPath)($,n.Type.Str)}`),[l.schemaPath,N]}function v(g,{params:y,message:$},S){const{keyword:N,data:k,schemaValue:C,it:F}=g,{opts:ee,propertyName:ae,topSchemaRef:me,schemaPath:qt}=F;S.push([l.keyword,N],[l.params,typeof y=="function"?y(g):y||(0,e._)`{}`]),ee.messages&&S.push([l.message,typeof $=="function"?$(g):$]),ee.verbose&&S.push([l.schema,C],[l.parentSchema,(0,e._)`${me}${qt}`],[r.default.data,k]),ae&&S.push([l.propertyName,ae])}})(yn);Object.defineProperty(Ct,"__esModule",{value:!0});Ct.boolOrEmptySchema=Ct.topBoolOrEmptySchema=void 0;const fy=yn,dy=U,py=xe,hy={message:"boolean schema is false"};function my(t){const{gen:e,schema:n,validateName:r}=t;n===!1?ul(t,!1):typeof n=="object"&&n.$async===!0?e.return(py.default.data):(e.assign((0,dy._)`${r}.errors`,null),e.return(!0))}Ct.topBoolOrEmptySchema=my;function gy(t,e){const{gen:n,schema:r}=t;r===!1?(n.var(e,!1),ul(t)):n.var(e,!0)}Ct.boolOrEmptySchema=gy;function ul(t,e){const{gen:n,data:r}=t,s={gen:n,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,fy.reportError)(s,hy,void 0,e)}var te={},mt={};Object.defineProperty(mt,"__esModule",{value:!0});mt.getRules=mt.isJSONType=void 0;const yy=["string","number","integer","boolean","null","object","array"],vy=new Set(yy);function $y(t){return typeof t=="string"&&vy.has(t)}mt.isJSONType=$y;function wy(){const t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}mt.getRules=wy;var Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.shouldUseRule=Le.shouldUseGroup=Le.schemaHasRulesForType=void 0;function by({schema:t,self:e},n){const r=e.RULES.types[n];return r&&r!==!0&&ll(t,r)}Le.schemaHasRulesForType=by;function ll(t,e){return e.rules.some(n=>fl(t,n))}Le.shouldUseGroup=ll;function fl(t,e){var n;return t[e.keyword]!==void 0||((n=e.definition.implements)===null||n===void 0?void 0:n.some(r=>t[r]!==void 0))}Le.shouldUseRule=fl;Object.defineProperty(te,"__esModule",{value:!0});te.reportTypeError=te.checkDataTypes=te.checkDataType=te.coerceAndCheckDataType=te.getJSONTypes=te.getSchemaTypes=te.DataType=void 0;const Ey=mt,Sy=Le,Ny=yn,L=U,dl=j;var Pt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Pt||(te.DataType=Pt={}));function Oy(t){const e=pl(t.type);if(e.includes("null")){if(t.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===!0&&e.push("null")}return e}te.getSchemaTypes=Oy;function pl(t){const e=Array.isArray(t)?t:t?[t]:[];if(e.every(Ey.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}te.getJSONTypes=pl;function _y(t,e){const{gen:n,data:r,opts:s}=t,o=ky(e,s.coerceTypes),i=e.length>0&&!(o.length===0&&e.length===1&&(0,Sy.schemaHasRulesForType)(t,e[0]));if(i){const a=go(e,r,s.strictNumbers,Pt.Wrong);n.if(a,()=>{o.length?Iy(t,e,o):yo(t)})}return i}te.coerceAndCheckDataType=_y;const hl=new Set(["string","number","integer","boolean","null"]);function ky(t,e){return e?t.filter(n=>hl.has(n)||e==="array"&&n==="array"):[]}function Iy(t,e,n){const{gen:r,data:s,opts:o}=t,i=r.let("dataType",(0,L._)`typeof ${s}`),a=r.let("coerced",(0,L._)`undefined`);o.coerceTypes==="array"&&r.if((0,L._)`${i} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>r.assign(s,(0,L._)`${s}[0]`).assign(i,(0,L._)`typeof ${s}`).if(go(e,s,o.strictNumbers),()=>r.assign(a,s))),r.if((0,L._)`${a} !== undefined`);for(const u of n)(hl.has(u)||u==="array"&&o.coerceTypes==="array")&&c(u);r.else(),yo(t),r.endIf(),r.if((0,L._)`${a} !== undefined`,()=>{r.assign(s,a),Ay(t,a)});function c(u){switch(u){case"string":r.elseIf((0,L._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,L._)`"" + ${s}`).elseIf((0,L._)`${s} === null`).assign(a,(0,L._)`""`);return;case"number":r.elseIf((0,L._)`${i} == "boolean" || ${s} === null
172
- || (${i} == "string" && ${s} && ${s} == +${s})`).assign(a,(0,L._)`+${s}`);return;case"integer":r.elseIf((0,L._)`${i} === "boolean" || ${s} === null
173
- || (${i} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(a,(0,L._)`+${s}`);return;case"boolean":r.elseIf((0,L._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(a,!1).elseIf((0,L._)`${s} === "true" || ${s} === 1`).assign(a,!0);return;case"null":r.elseIf((0,L._)`${s} === "" || ${s} === 0 || ${s} === false`),r.assign(a,null);return;case"array":r.elseIf((0,L._)`${i} === "string" || ${i} === "number"
174
- || ${i} === "boolean" || ${s} === null`).assign(a,(0,L._)`[${s}]`)}}}function Ay({gen:t,parentData:e,parentDataProperty:n},r){t.if((0,L._)`${e} !== undefined`,()=>t.assign((0,L._)`${e}[${n}]`,r))}function Ns(t,e,n,r=Pt.Correct){const s=r===Pt.Correct?L.operators.EQ:L.operators.NEQ;let o;switch(t){case"null":return(0,L._)`${e} ${s} null`;case"array":o=(0,L._)`Array.isArray(${e})`;break;case"object":o=(0,L._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":o=i((0,L._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":o=i();break;default:return(0,L._)`typeof ${e} ${s} ${t}`}return r===Pt.Correct?o:(0,L.not)(o);function i(a=L.nil){return(0,L.and)((0,L._)`typeof ${e} == "number"`,a,n?(0,L._)`isFinite(${e})`:L.nil)}}te.checkDataType=Ns;function go(t,e,n,r){if(t.length===1)return Ns(t[0],e,n,r);let s;const o=(0,dl.toHash)(t);if(o.array&&o.object){const i=(0,L._)`typeof ${e} != "object"`;s=o.null?i:(0,L._)`!${e} || ${i}`,delete o.null,delete o.array,delete o.object}else s=L.nil;o.number&&delete o.integer;for(const i in o)s=(0,L.and)(s,Ns(i,e,n,r));return s}te.checkDataTypes=go;const Py={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,L._)`{type: ${t}}`:(0,L._)`{type: ${e}}`};function yo(t){const e=jy(t);(0,Ny.reportError)(e,Py)}te.reportTypeError=yo;function jy(t){const{gen:e,data:n,schema:r}=t,s=(0,dl.schemaRefOrVal)(t,r,"type");return{gen:e,keyword:"type",data:n,schema:r.type,schemaCode:s,schemaValue:s,parentSchema:r,params:{},it:t}}var pr={};Object.defineProperty(pr,"__esModule",{value:!0});pr.assignDefaults=void 0;const bt=U,xy=j;function Ty(t,e){const{properties:n,items:r}=t.schema;if(e==="object"&&n)for(const s in n)ga(t,s,n[s].default);else e==="array"&&Array.isArray(r)&&r.forEach((s,o)=>ga(t,o,s.default))}pr.assignDefaults=Ty;function ga(t,e,n){const{gen:r,compositeRule:s,data:o,opts:i}=t;if(n===void 0)return;const a=(0,bt._)`${o}${(0,bt.getProperty)(e)}`;if(s){(0,xy.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,bt._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,bt._)`${c} || ${a} === null || ${a} === ""`),r.if(c,(0,bt._)`${a} = ${(0,bt.stringify)(n)}`)}var Ae={},B={};Object.defineProperty(B,"__esModule",{value:!0});B.validateUnion=B.validateArray=B.usePattern=B.callValidateCode=B.schemaProperties=B.allSchemaProperties=B.noPropertyInData=B.propertyInData=B.isOwnProperty=B.hasPropFunc=B.reportMissingProp=B.checkMissingProp=B.checkReportMissingProp=void 0;const J=U,vo=j,Ke=xe,Cy=j;function Ry(t,e){const{gen:n,data:r,it:s}=t;n.if(wo(n,r,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0,J._)`${e}`},!0),t.error()})}B.checkReportMissingProp=Ry;function My({gen:t,data:e,it:{opts:n}},r,s){return(0,J.or)(...r.map(o=>(0,J.and)(wo(t,e,o,n.ownProperties),(0,J._)`${s} = ${o}`)))}B.checkMissingProp=My;function Dy(t,e){t.setParams({missingProperty:e},!0),t.error()}B.reportMissingProp=Dy;function ml(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,J._)`Object.prototype.hasOwnProperty`})}B.hasPropFunc=ml;function $o(t,e,n){return(0,J._)`${ml(t)}.call(${e}, ${n})`}B.isOwnProperty=$o;function Ly(t,e,n,r){const s=(0,J._)`${e}${(0,J.getProperty)(n)} !== undefined`;return r?(0,J._)`${s} && ${$o(t,e,n)}`:s}B.propertyInData=Ly;function wo(t,e,n,r){const s=(0,J._)`${e}${(0,J.getProperty)(n)} === undefined`;return r?(0,J.or)(s,(0,J.not)($o(t,e,n))):s}B.noPropertyInData=wo;function gl(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}B.allSchemaProperties=gl;function By(t,e){return gl(e).filter(n=>!(0,vo.alwaysValidSchema)(t,e[n]))}B.schemaProperties=By;function Uy({schemaCode:t,data:e,it:{gen:n,topSchemaRef:r,schemaPath:s,errorPath:o},it:i},a,c,u){const l=u?(0,J._)`${t}, ${e}, ${r}${s}`:e,f=[[Ke.default.instancePath,(0,J.strConcat)(Ke.default.instancePath,o)],[Ke.default.parentData,i.parentData],[Ke.default.parentDataProperty,i.parentDataProperty],[Ke.default.rootData,Ke.default.rootData]];i.opts.dynamicRef&&f.push([Ke.default.dynamicAnchors,Ke.default.dynamicAnchors]);const m=(0,J._)`${l}, ${n.object(...f)}`;return c!==J.nil?(0,J._)`${a}.call(${c}, ${m})`:(0,J._)`${a}(${m})`}B.callValidateCode=Uy;const Vy=(0,J._)`new RegExp`;function Fy({gen:t,it:{opts:e}},n){const r=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(n,r);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,J._)`${s.code==="new RegExp"?Vy:(0,Cy.useFunc)(t,s)}(${n}, ${r})`})}B.usePattern=Fy;function qy(t){const{gen:e,data:n,keyword:r,it:s}=t,o=e.name("valid");if(s.allErrors){const a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(o,!0),i(()=>e.break()),o;function i(a){const c=e.const("len",(0,J._)`${n}.length`);e.forRange("i",0,c,u=>{t.subschema({keyword:r,dataProp:u,dataPropType:vo.Type.Num},o),e.if((0,J.not)(o),a)})}}B.validateArray=qy;function Ky(t){const{gen:e,schema:n,keyword:r,it:s}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some(a=>(0,vo.alwaysValidSchema)(s,a))&&!s.opts.unevaluated)return;const o=e.let("valid",!1),i=e.name("_valid");e.block(()=>n.forEach((a,c)=>{const u=t.subschema({keyword:r,schemaProp:c,compositeRule:!0},i);e.assign(o,(0,J._)`${o} || ${i}`),t.mergeValidEvaluated(u,i)||e.if((0,J.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}B.validateUnion=Ky;Object.defineProperty(Ae,"__esModule",{value:!0});Ae.validateKeywordUsage=Ae.validSchemaType=Ae.funcKeywordCode=Ae.macroKeywordCode=void 0;const le=U,st=xe,zy=B,Gy=yn;function Wy(t,e){const{gen:n,keyword:r,schema:s,parentSchema:o,it:i}=t,a=e.macro.call(i.self,s,o,i),c=yl(n,r,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);const u=n.name("valid");t.subschema({schema:a,schemaPath:le.nil,errSchemaPath:`${i.errSchemaPath}/${r}`,topSchemaRef:c,compositeRule:!0},u),t.pass(u,()=>t.error(!0))}Ae.macroKeywordCode=Wy;function Hy(t,e){var n;const{gen:r,keyword:s,schema:o,parentSchema:i,$data:a,it:c}=t;Qy(c,e);const u=!a&&e.compile?e.compile.call(c.self,o,i,c):e.validate,l=yl(r,s,u),f=r.let("valid");t.block$data(f,m),t.ok((n=e.valid)!==null&&n!==void 0?n:f);function m(){if(e.errors===!1)v(),e.modifying&&ya(t),g(()=>t.error());else{const y=e.async?p():d();e.modifying&&ya(t),g(()=>Jy(t,y))}}function p(){const y=r.let("ruleErrs",null);return r.try(()=>v((0,le._)`await `),$=>r.assign(f,!1).if((0,le._)`${$} instanceof ${c.ValidationError}`,()=>r.assign(y,(0,le._)`${$}.errors`),()=>r.throw($))),y}function d(){const y=(0,le._)`${l}.errors`;return r.assign(y,null),v(le.nil),y}function v(y=e.async?(0,le._)`await `:le.nil){const $=c.opts.passContext?st.default.this:st.default.self,S=!("compile"in e&&!a||e.schema===!1);r.assign(f,(0,le._)`${y}${(0,zy.callValidateCode)(t,l,$,S)}`,e.modifying)}function g(y){var $;r.if((0,le.not)(($=e.valid)!==null&&$!==void 0?$:f),y)}}Ae.funcKeywordCode=Hy;function ya(t){const{gen:e,data:n,it:r}=t;e.if(r.parentData,()=>e.assign(n,(0,le._)`${r.parentData}[${r.parentDataProperty}]`))}function Jy(t,e){const{gen:n}=t;n.if((0,le._)`Array.isArray(${e})`,()=>{n.assign(st.default.vErrors,(0,le._)`${st.default.vErrors} === null ? ${e} : ${st.default.vErrors}.concat(${e})`).assign(st.default.errors,(0,le._)`${st.default.vErrors}.length`),(0,Gy.extendErrors)(t)},()=>t.error())}function Qy({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function yl(t,e,n){if(n===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof n=="function"?{ref:n}:{ref:n,code:(0,le.stringify)(n)})}function Yy(t,e,n=!1){return!e.length||e.some(r=>r==="array"?Array.isArray(t):r==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==r||n&&typeof t>"u")}Ae.validSchemaType=Yy;function Xy({schema:t,opts:e,self:n,errSchemaPath:r},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");const i=s.dependencies;if(i!=null&&i.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${o}: ${i.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){const a=`keyword "${o}" value is invalid at path "${r}": `+n.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")n.logger.error(a);else throw new Error(a)}}Ae.validateKeywordUsage=Xy;var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0});Ye.extendSubschemaMode=Ye.extendSubschemaData=Ye.getSubschema=void 0;const ke=U,vl=j;function Zy(t,{keyword:e,schemaProp:n,schema:r,schemaPath:s,errSchemaPath:o,topSchemaRef:i}){if(e!==void 0&&r!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){const a=t.schema[e];return n===void 0?{schema:a,schemaPath:(0,ke._)`${t.schemaPath}${(0,ke.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[n],schemaPath:(0,ke._)`${t.schemaPath}${(0,ke.getProperty)(e)}${(0,ke.getProperty)(n)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,vl.escapeFragment)(n)}`}}if(r!==void 0){if(s===void 0||o===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:r,schemaPath:s,topSchemaRef:i,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Ye.getSubschema=Zy;function ev(t,e,{dataProp:n,dataPropType:r,data:s,dataTypes:o,propertyName:i}){if(s!==void 0&&n!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=e;if(n!==void 0){const{errorPath:u,dataPathArr:l,opts:f}=e,m=a.let("data",(0,ke._)`${e.data}${(0,ke.getProperty)(n)}`,!0);c(m),t.errorPath=(0,ke.str)`${u}${(0,vl.getErrorPath)(n,r,f.jsPropertySyntax)}`,t.parentDataProperty=(0,ke._)`${n}`,t.dataPathArr=[...l,t.parentDataProperty]}if(s!==void 0){const u=s instanceof ke.Name?s:a.let("data",s,!0);c(u),i!==void 0&&(t.propertyName=i)}o&&(t.dataTypes=o);function c(u){t.data=u,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,u]}}Ye.extendSubschemaData=ev;function tv(t,{jtdDiscriminator:e,jtdMetadata:n,compositeRule:r,createErrors:s,allErrors:o}){r!==void 0&&(t.compositeRule=r),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=n}Ye.extendSubschemaMode=tv;var oe={},$l=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,s,o;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(s=r;s--!==0;)if(!t(e[s],n[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(o=Object.keys(e),r=o.length,r!==Object.keys(n).length)return!1;for(s=r;s--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[s]))return!1;for(s=r;s--!==0;){var i=o[s];if(!t(e[i],n[i]))return!1}return!0}return e!==e&&n!==n},wl={exports:{}},Je=wl.exports=function(t,e,n){typeof e=="function"&&(n=e,e={}),n=e.cb||n;var r=typeof n=="function"?n:n.pre||function(){},s=n.post||function(){};Kn(e,r,s,t,"",t)};Je.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Je.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Je.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Je.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Kn(t,e,n,r,s,o,i,a,c,u){if(r&&typeof r=="object"&&!Array.isArray(r)){e(r,s,o,i,a,c,u);for(var l in r){var f=r[l];if(Array.isArray(f)){if(l in Je.arrayKeywords)for(var m=0;m<f.length;m++)Kn(t,e,n,f[m],s+"/"+l+"/"+m,o,s,l,r,m)}else if(l in Je.propsKeywords){if(f&&typeof f=="object")for(var p in f)Kn(t,e,n,f[p],s+"/"+l+"/"+nv(p),o,s,l,r,p)}else(l in Je.keywords||t.allKeys&&!(l in Je.skipKeywords))&&Kn(t,e,n,f,s+"/"+l,o,s,l,r)}n(r,s,o,i,a,c,u)}}function nv(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}var rv=wl.exports;Object.defineProperty(oe,"__esModule",{value:!0});oe.getSchemaRefs=oe.resolveUrl=oe.normalizeId=oe._getFullPath=oe.getFullPath=oe.inlineRef=void 0;const sv=j,ov=$l,iv=rv,av=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function cv(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Os(t):e?bl(t)<=e:!1}oe.inlineRef=cv;const uv=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Os(t){for(const e in t){if(uv.has(e))return!0;const n=t[e];if(Array.isArray(n)&&n.some(Os)||typeof n=="object"&&Os(n))return!0}return!1}function bl(t){let e=0;for(const n in t)if(n==="$ref"||(e++,!av.has(n)&&(typeof t[n]=="object"&&(0,sv.eachItem)(t[n],r=>e+=bl(r)),e===1/0)))return 1/0;return e}function El(t,e="",n){n!==!1&&(e=jt(e));const r=t.parse(e);return Sl(t,r)}oe.getFullPath=El;function Sl(t,e){return t.serialize(e).split("#")[0]+"#"}oe._getFullPath=Sl;const lv=/#\/?$/;function jt(t){return t?t.replace(lv,""):""}oe.normalizeId=jt;function fv(t,e,n){return n=jt(n),t.resolve(e,n)}oe.resolveUrl=fv;const dv=/^[a-z_][-a-z0-9._]*$/i;function pv(t,e){if(typeof t=="boolean")return{};const{schemaId:n,uriResolver:r}=this.opts,s=jt(t[n]||e),o={"":s},i=El(r,s,!1),a={},c=new Set;return iv(t,{allKeys:!0},(f,m,p,d)=>{if(d===void 0)return;const v=i+m;let g=o[d];typeof f[n]=="string"&&(g=y.call(this,f[n])),$.call(this,f.$anchor),$.call(this,f.$dynamicAnchor),o[m]=g;function y(S){const N=this.opts.uriResolver.resolve;if(S=jt(g?N(g,S):S),c.has(S))throw l(S);c.add(S);let k=this.refs[S];return typeof k=="string"&&(k=this.refs[k]),typeof k=="object"?u(f,k.schema,S):S!==jt(v)&&(S[0]==="#"?(u(f,a[S],S),a[S]=f):this.refs[S]=v),S}function $(S){if(typeof S=="string"){if(!dv.test(S))throw new Error(`invalid anchor "${S}"`);y.call(this,`#${S}`)}}}),a;function u(f,m,p){if(m!==void 0&&!ov(f,m))throw l(p)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}oe.getSchemaRefs=pv;Object.defineProperty(Ne,"__esModule",{value:!0});Ne.getData=Ne.KeywordCxt=Ne.validateFunctionCode=void 0;const Nl=Ct,va=te,bo=Le,Xn=te,hv=pr,rn=Ae,Wr=Ye,x=U,M=xe,mv=oe,Be=j,Ht=yn;function gv(t){if(kl(t)&&(Il(t),_l(t))){$v(t);return}Ol(t,()=>(0,Nl.topBoolOrEmptySchema)(t))}Ne.validateFunctionCode=gv;function Ol({gen:t,validateName:e,schema:n,schemaEnv:r,opts:s},o){s.code.es5?t.func(e,(0,x._)`${M.default.data}, ${M.default.valCxt}`,r.$async,()=>{t.code((0,x._)`"use strict"; ${$a(n,s)}`),vv(t,s),t.code(o)}):t.func(e,(0,x._)`${M.default.data}, ${yv(s)}`,r.$async,()=>t.code($a(n,s)).code(o))}function yv(t){return(0,x._)`{${M.default.instancePath}="", ${M.default.parentData}, ${M.default.parentDataProperty}, ${M.default.rootData}=${M.default.data}${t.dynamicRef?(0,x._)`, ${M.default.dynamicAnchors}={}`:x.nil}}={}`}function vv(t,e){t.if(M.default.valCxt,()=>{t.var(M.default.instancePath,(0,x._)`${M.default.valCxt}.${M.default.instancePath}`),t.var(M.default.parentData,(0,x._)`${M.default.valCxt}.${M.default.parentData}`),t.var(M.default.parentDataProperty,(0,x._)`${M.default.valCxt}.${M.default.parentDataProperty}`),t.var(M.default.rootData,(0,x._)`${M.default.valCxt}.${M.default.rootData}`),e.dynamicRef&&t.var(M.default.dynamicAnchors,(0,x._)`${M.default.valCxt}.${M.default.dynamicAnchors}`)},()=>{t.var(M.default.instancePath,(0,x._)`""`),t.var(M.default.parentData,(0,x._)`undefined`),t.var(M.default.parentDataProperty,(0,x._)`undefined`),t.var(M.default.rootData,M.default.data),e.dynamicRef&&t.var(M.default.dynamicAnchors,(0,x._)`{}`)})}function $v(t){const{schema:e,opts:n,gen:r}=t;Ol(t,()=>{n.$comment&&e.$comment&&Pl(t),Nv(t),r.let(M.default.vErrors,null),r.let(M.default.errors,0),n.unevaluated&&wv(t),Al(t),kv(t)})}function wv(t){const{gen:e,validateName:n}=t;t.evaluated=e.const("evaluated",(0,x._)`${n}.evaluated`),e.if((0,x._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,x._)`${t.evaluated}.props`,(0,x._)`undefined`)),e.if((0,x._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,x._)`${t.evaluated}.items`,(0,x._)`undefined`))}function $a(t,e){const n=typeof t=="object"&&t[e.schemaId];return n&&(e.code.source||e.code.process)?(0,x._)`/*# sourceURL=${n} */`:x.nil}function bv(t,e){if(kl(t)&&(Il(t),_l(t))){Ev(t,e);return}(0,Nl.boolOrEmptySchema)(t,e)}function _l({schema:t,self:e}){if(typeof t=="boolean")return!t;for(const n in t)if(e.RULES.all[n])return!0;return!1}function kl(t){return typeof t.schema!="boolean"}function Ev(t,e){const{schema:n,gen:r,opts:s}=t;s.$comment&&n.$comment&&Pl(t),Ov(t),_v(t);const o=r.const("_errs",M.default.errors);Al(t,o),r.var(e,(0,x._)`${o} === ${M.default.errors}`)}function Il(t){(0,Be.checkUnknownRules)(t),Sv(t)}function Al(t,e){if(t.opts.jtd)return wa(t,[],!1,e);const n=(0,va.getSchemaTypes)(t.schema),r=(0,va.coerceAndCheckDataType)(t,n);wa(t,n,!r,e)}function Sv(t){const{schema:e,errSchemaPath:n,opts:r,self:s}=t;e.$ref&&r.ignoreKeywordsWithRef&&(0,Be.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function Nv(t){const{schema:e,opts:n}=t;e.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,Be.checkStrictMode)(t,"default is ignored in the schema root")}function Ov(t){const e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,mv.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function _v(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Pl({gen:t,schemaEnv:e,schema:n,errSchemaPath:r,opts:s}){const o=n.$comment;if(s.$comment===!0)t.code((0,x._)`${M.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){const i=(0,x.str)`${r}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,x._)`${M.default.self}.opts.$comment(${o}, ${i}, ${a}.schema)`)}}function kv(t){const{gen:e,schemaEnv:n,validateName:r,ValidationError:s,opts:o}=t;n.$async?e.if((0,x._)`${M.default.errors} === 0`,()=>e.return(M.default.data),()=>e.throw((0,x._)`new ${s}(${M.default.vErrors})`)):(e.assign((0,x._)`${r}.errors`,M.default.vErrors),o.unevaluated&&Iv(t),e.return((0,x._)`${M.default.errors} === 0`))}function Iv({gen:t,evaluated:e,props:n,items:r}){n instanceof x.Name&&t.assign((0,x._)`${e}.props`,n),r instanceof x.Name&&t.assign((0,x._)`${e}.items`,r)}function wa(t,e,n,r){const{gen:s,schema:o,data:i,allErrors:a,opts:c,self:u}=t,{RULES:l}=u;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0,Be.schemaHasRulesButRef)(o,l))){s.block(()=>Tl(t,"$ref",l.all.$ref.definition));return}c.jtd||Av(t,e),s.block(()=>{for(const m of l.rules)f(m);f(l.post)});function f(m){(0,bo.shouldUseGroup)(o,m)&&(m.type?(s.if((0,Xn.checkDataType)(m.type,i,c.strictNumbers)),ba(t,m),e.length===1&&e[0]===m.type&&n&&(s.else(),(0,Xn.reportTypeError)(t)),s.endIf()):ba(t,m),a||s.if((0,x._)`${M.default.errors} === ${r||0}`))}}function ba(t,e){const{gen:n,schema:r,opts:{useDefaults:s}}=t;s&&(0,hv.assignDefaults)(t,e.type),n.block(()=>{for(const o of e.rules)(0,bo.shouldUseRule)(r,o)&&Tl(t,o.keyword,o.definition,e.type)})}function Av(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Pv(t,e),t.opts.allowUnionTypes||jv(t,e),xv(t,t.dataTypes))}function Pv(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(n=>{jl(t.dataTypes,n)||Eo(t,`type "${n}" not allowed by context "${t.dataTypes.join(",")}"`)}),Cv(t,e)}}function jv(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Eo(t,"use allowUnionTypes to allow union type keyword")}function xv(t,e){const n=t.self.RULES.all;for(const r in n){const s=n[r];if(typeof s=="object"&&(0,bo.shouldUseRule)(t.schema,s)){const{type:o}=s.definition;o.length&&!o.some(i=>Tv(e,i))&&Eo(t,`missing type "${o.join(",")}" for keyword "${r}"`)}}}function Tv(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function jl(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Cv(t,e){const n=[];for(const r of t.dataTypes)jl(e,r)?n.push(r):e.includes("integer")&&r==="number"&&n.push("integer");t.dataTypes=n}function Eo(t,e){const n=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${n}" (strictTypes)`,(0,Be.checkStrictMode)(t,e,t.opts.strictTypes)}class xl{constructor(e,n,r){if((0,rn.validateKeywordUsage)(e,n,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=n.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Be.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=n.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=n,this.$data)this.schemaCode=e.gen.const("vSchema",Cl(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,rn.validSchemaType)(this.schema,n.schemaType,n.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(n.schemaType)}`);("code"in n?n.trackErrors:n.errors!==!1)&&(this.errsCount=e.gen.const("_errs",M.default.errors))}result(e,n,r){this.failResult((0,x.not)(e),n,r)}failResult(e,n,r){this.gen.if(e),r?r():this.error(),n?(this.gen.else(),n(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,n){this.failResult((0,x.not)(e),void 0,n)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:n}=this;this.fail((0,x._)`${n} !== undefined && (${(0,x.or)(this.invalid$data(),e)})`)}error(e,n,r){if(n){this.setParams(n),this._error(e,r),this.setParams({});return}this._error(e,r)}_error(e,n){(e?Ht.reportExtraError:Ht.reportError)(this,this.def.error,n)}$dataError(){(0,Ht.reportError)(this,this.def.$dataError||Ht.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ht.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,n){n?Object.assign(this.params,e):this.params=e}block$data(e,n,r=x.nil){this.gen.block(()=>{this.check$data(e,r),n()})}check$data(e=x.nil,n=x.nil){if(!this.$data)return;const{gen:r,schemaCode:s,schemaType:o,def:i}=this;r.if((0,x.or)((0,x._)`${s} === undefined`,n)),e!==x.nil&&r.assign(e,!0),(o.length||i.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==x.nil&&r.assign(e,!1)),r.else()}invalid$data(){const{gen:e,schemaCode:n,schemaType:r,def:s,it:o}=this;return(0,x.or)(i(),a());function i(){if(r.length){if(!(n instanceof x.Name))throw new Error("ajv implementation error");const c=Array.isArray(r)?r:[r];return(0,x._)`${(0,Xn.checkDataTypes)(c,n,o.opts.strictNumbers,Xn.DataType.Wrong)}`}return x.nil}function a(){if(s.validateSchema){const c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,x._)`!${c}(${n})`}return x.nil}}subschema(e,n){const r=(0,Wr.getSubschema)(this.it,e);(0,Wr.extendSubschemaData)(r,this.it,e),(0,Wr.extendSubschemaMode)(r,e);const s={...this.it,...r,items:void 0,props:void 0};return bv(s,n),s}mergeEvaluated(e,n){const{it:r,gen:s}=this;r.opts.unevaluated&&(r.props!==!0&&e.props!==void 0&&(r.props=Be.mergeEvaluated.props(s,e.props,r.props,n)),r.items!==!0&&e.items!==void 0&&(r.items=Be.mergeEvaluated.items(s,e.items,r.items,n)))}mergeValidEvaluated(e,n){const{it:r,gen:s}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return s.if(n,()=>this.mergeEvaluated(e,x.Name)),!0}}Ne.KeywordCxt=xl;function Tl(t,e,n,r){const s=new xl(t,n,e);"code"in n?n.code(s,r):s.$data&&n.validate?(0,rn.funcKeywordCode)(s,n):"macro"in n?(0,rn.macroKeywordCode)(s,n):(n.compile||n.validate)&&(0,rn.funcKeywordCode)(s,n)}const Rv=/^\/(?:[^~]|~0|~1)*$/,Mv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Cl(t,{dataLevel:e,dataNames:n,dataPathArr:r}){let s,o;if(t==="")return M.default.rootData;if(t[0]==="/"){if(!Rv.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=M.default.rootData}else{const u=Mv.exec(t);if(!u)throw new Error(`Invalid JSON-pointer: ${t}`);const l=+u[1];if(s=u[2],s==="#"){if(l>=e)throw new Error(c("property/index",l));return r[e-l]}if(l>e)throw new Error(c("data",l));if(o=n[e-l],!s)return o}let i=o;const a=s.split("/");for(const u of a)u&&(o=(0,x._)`${o}${(0,x.getProperty)((0,Be.unescapeJsonPointer)(u))}`,i=(0,x._)`${i} && ${o}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${e}`}}Ne.getData=Cl;var vn={};Object.defineProperty(vn,"__esModule",{value:!0});let Dv=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};vn.default=Dv;var Ut={};Object.defineProperty(Ut,"__esModule",{value:!0});const Hr=oe;class Lv extends Error{constructor(e,n,r,s){super(s||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,Hr.resolveUrl)(e,n,r),this.missingSchema=(0,Hr.normalizeId)((0,Hr.getFullPath)(e,this.missingRef))}}Ut.default=Lv;var he={};Object.defineProperty(he,"__esModule",{value:!0});he.resolveSchema=he.getCompilingSchema=he.resolveRef=he.compileSchema=he.SchemaEnv=void 0;const we=U,Bv=vn,nt=xe,Ee=oe,Ea=j,Uv=Ne;class hr{constructor(e){var n;this.refs={},this.dynamicAnchors={};let r;typeof e.schema=="object"&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(n=e.baseId)!==null&&n!==void 0?n:(0,Ee.normalizeId)(r==null?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=r==null?void 0:r.$async,this.refs={}}}he.SchemaEnv=hr;function So(t){const e=Rl.call(this,t);if(e)return e;const n=(0,Ee.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:r,lines:s}=this.opts.code,{ownProperties:o}=this.opts,i=new we.CodeGen(this.scope,{es5:r,lines:s,ownProperties:o});let a;t.$async&&(a=i.scopeValue("Error",{ref:Bv.default,code:(0,we._)`require("ajv/dist/runtime/validation_error").default`}));const c=i.scopeName("validate");t.validateName=c;const u={gen:i,allErrors:this.opts.allErrors,data:nt.default.data,parentData:nt.default.parentData,parentDataProperty:nt.default.parentDataProperty,dataNames:[nt.default.data],dataPathArr:[we.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,we.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:n,baseId:t.baseId||n,schemaPath:we.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,we._)`""`,opts:this.opts,self:this};let l;try{this._compilations.add(t),(0,Uv.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);const f=i.toString();l=`${i.scopeRefs(nt.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,t));const m=new Function(`${nt.default.self}`,`${nt.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=t.schema,m.schemaEnv=t,t.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:f,scopeValues:i._values}),this.opts.unevaluated){const{props:p,items:d}=u;m.evaluated={props:p instanceof we.Name?void 0:p,items:d instanceof we.Name?void 0:d,dynamicProps:p instanceof we.Name,dynamicItems:d instanceof we.Name},m.source&&(m.source.evaluated=(0,we.stringify)(m.evaluated))}return t.validate=m,t}catch(f){throw delete t.validate,delete t.validateName,l&&this.logger.error("Error compiling schema, function code:",l),f}finally{this._compilations.delete(t)}}he.compileSchema=So;function Vv(t,e,n){var r;n=(0,Ee.resolveUrl)(this.opts.uriResolver,e,n);const s=t.refs[n];if(s)return s;let o=Kv.call(this,t,n);if(o===void 0){const i=(r=t.localRefs)===null||r===void 0?void 0:r[n],{schemaId:a}=this.opts;i&&(o=new hr({schema:i,schemaId:a,root:t,baseId:e}))}if(o!==void 0)return t.refs[n]=Fv.call(this,o)}he.resolveRef=Vv;function Fv(t){return(0,Ee.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:So.call(this,t)}function Rl(t){for(const e of this._compilations)if(qv(e,t))return e}he.getCompilingSchema=Rl;function qv(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Kv(t,e){let n;for(;typeof(n=this.refs[e])=="string";)e=n;return n||this.schemas[e]||mr.call(this,t,e)}function mr(t,e){const n=this.opts.uriResolver.parse(e),r=(0,Ee._getFullPath)(this.opts.uriResolver,n);let s=(0,Ee.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&r===s)return Jr.call(this,n,t);const o=(0,Ee.normalizeId)(r),i=this.refs[o]||this.schemas[o];if(typeof i=="string"){const a=mr.call(this,t,i);return typeof(a==null?void 0:a.schema)!="object"?void 0:Jr.call(this,n,a)}if(typeof(i==null?void 0:i.schema)=="object"){if(i.validate||So.call(this,i),o===(0,Ee.normalizeId)(e)){const{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(s=(0,Ee.resolveUrl)(this.opts.uriResolver,s,u)),new hr({schema:a,schemaId:c,root:t,baseId:s})}return Jr.call(this,n,i)}}he.resolveSchema=mr;const zv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Jr(t,{baseId:e,schema:n,root:r}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(const a of t.fragment.slice(1).split("/")){if(typeof n=="boolean")return;const c=n[(0,Ea.unescapeFragment)(a)];if(c===void 0)return;n=c;const u=typeof n=="object"&&n[this.opts.schemaId];!zv.has(a)&&u&&(e=(0,Ee.resolveUrl)(this.opts.uriResolver,e,u))}let o;if(typeof n!="boolean"&&n.$ref&&!(0,Ea.schemaHasRulesButRef)(n,this.RULES)){const a=(0,Ee.resolveUrl)(this.opts.uriResolver,e,n.$ref);o=mr.call(this,r,a)}const{schemaId:i}=this.opts;if(o=o||new hr({schema:n,schemaId:i,root:r,baseId:e}),o.schema!==o.root.schema)return o}const Gv="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Wv="Meta-schema for $data reference (JSON AnySchema extension proposal)",Hv="object",Jv=["$data"],Qv={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},Yv=!1,Xv={$id:Gv,description:Wv,type:Hv,required:Jv,properties:Qv,additionalProperties:Yv};var No={},gr={exports:{}};const Zv=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Ml=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),Oo=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Dl=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),e0=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Ll(t){let e="",n=0,r=0;for(r=0;r<t.length;r++)if(n=t[r].charCodeAt(0),n!==48){if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";e+=t[r];break}for(r+=1;r<t.length;r++){if(n=t[r].charCodeAt(0),!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";e+=t[r]}return e}const t0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Sa(t){return t.length=0,!0}function n0(t,e,n){if(t.length){const r=Ll(t);if(r!=="")e.push(r);else return n.error=!0,!1;t.length=0}return!0}function r0(t){let e=0;const n={error:!1,address:"",zone:""},r=[],s=[];let o=!1,i=!1,a=n0;for(let c=0;c<t.length;c++){const u=t[c];if(!(u==="["||u==="]"))if(u===":"){if(o===!0&&(i=!0),!a(s,r,n))break;if(++e>7){n.error=!0;break}c>0&&t[c-1]===":"&&(o=!0),r.push(":");continue}else if(u==="%"){if(!a(s,r,n))break;a=Sa}else{s.push(u);continue}}return s.length&&(a===Sa?n.zone=s.join(""):i?r.push(s.join("")):r.push(Ll(s))),n.address=r.join(""),n}function Bl(t){if(s0(t,":")<2)return{host:t,isIPV6:!1};const e=r0(t);if(e.error)return{host:t,isIPV6:!1};{let n=e.address,r=e.address;return e.zone&&(n+="%"+e.zone,r+="%25"+e.zone),{host:n,isIPV6:!0,escapedHost:r}}}function s0(t,e){let n=0;for(let r=0;r<t.length;r++)t[r]===e&&n++;return n}function o0(t){let e=t;const n=[];let r=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){n.push("/");break}else{n.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){n.push("/");break}}else if(s===3&&e==="/.."){n.length!==0&&n.pop(),n.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),n.length!==0&&n.pop();continue}}if((r=e.indexOf("/",1))===-1){n.push(e);break}else n.push(e.slice(0,r)),e=e.slice(r)}return n.join("")}const i0={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},a0=/[@/?#:]/g,c0=/[@/?#]/g;function Ul(t,e){const n=e?c0:a0;return n.lastIndex=0,t.replace(n,r=>i0[r])}function u0(t,e=!1){if(t.indexOf("%")===-1)return t;let n="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){const s=t.slice(r+1,r+3);if(Oo(s)){const o=s.toUpperCase(),i=String.fromCharCode(parseInt(o,16));e&&Dl(i)?n+=i:n+="%"+o,r+=2;continue}}n+=t[r]}return n}function l0(t){let e="";for(let n=0;n<t.length;n++){if(t[n]==="%"&&n+2<t.length){const r=t.slice(n+1,n+3);if(Oo(r)){const s=r.toUpperCase(),o=String.fromCharCode(parseInt(s,16));o!=="."&&Dl(o)?e+=o:e+="%"+s,n+=2;continue}}e0(t[n])?e+=t[n]:e+=escape(t[n])}return e}function f0(t){let e="";for(let n=0;n<t.length;n++){if(t[n]==="%"&&n+2<t.length){const r=t.slice(n+1,n+3);if(Oo(r)){e+="%"+r.toUpperCase(),n+=2;continue}}e+=escape(t[n])}return e}function d0(t){const e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let n=unescape(t.host);if(!Ml(n)){const r=Bl(n);r.isIPV6===!0?n=`[${r.escapedHost}]`:n=Ul(n,!1)}e.push(n)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}var Vl={nonSimpleDomain:t0,recomposeAuthority:d0,reescapeHostDelimiters:Ul,normalizePercentEncoding:u0,normalizePathEncoding:l0,escapePreservingEscapes:f0,removeDotSegments:o0,isIPv4:Ml,isUUID:Zv,normalizeIPv6:Bl};const{isUUID:p0}=Vl,h0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Fl(t){return t.secure===!0?!0:t.secure===!1?!1:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):!1}function ql(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Kl(t){const e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function m0(t){return t.secure=Fl(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function g0(t){if((t.port===(Fl(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){const[e,n]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=n,t.resourceName=void 0}return t.fragment=void 0,t}function y0(t,e){if(!t.path)return t.error="URN can not be parsed",t;const n=t.path.match(h0);if(n){const r=e.scheme||t.scheme||"urn";t.nid=n[1].toLowerCase(),t.nss=n[2];const s=`${r}:${e.nid||t.nid}`,o=_o(s);t.path=void 0,o&&(t=o.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function v0(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");const n=e.scheme||t.scheme||"urn",r=t.nid.toLowerCase(),s=`${n}:${e.nid||r}`,o=_o(s);o&&(t=o.serialize(t,e));const i=t,a=t.nss;return i.path=`${r||e.nid}:${a}`,e.skipEscape=!0,i}function $0(t,e){const n=t;return n.uuid=n.nss,n.nss=void 0,!e.tolerant&&(!n.uuid||!p0(n.uuid))&&(n.error=n.error||"UUID is not valid."),n}function w0(t){const e=t;return e.nss=(t.uuid||"").toLowerCase(),e}const zl={scheme:"http",domainHost:!0,parse:ql,serialize:Kl},b0={scheme:"https",domainHost:zl.domainHost,parse:ql,serialize:Kl},zn={scheme:"ws",domainHost:!0,parse:m0,serialize:g0},E0={scheme:"wss",domainHost:zn.domainHost,parse:zn.parse,serialize:zn.serialize},S0={scheme:"urn",parse:y0,serialize:v0,skipNormalize:!0},N0={scheme:"urn:uuid",parse:$0,serialize:w0,skipNormalize:!0},Zn={http:zl,https:b0,ws:zn,wss:E0,urn:S0,"urn:uuid":N0};Object.setPrototypeOf(Zn,null);function _o(t){return t&&(Zn[t]||Zn[t.toLowerCase()])||void 0}var O0={SCHEMES:Zn,getSchemeHandler:_o};const{normalizeIPv6:_0,removeDotSegments:Xt,recomposeAuthority:k0,normalizePercentEncoding:I0,normalizePathEncoding:A0,escapePreservingEscapes:P0,reescapeHostDelimiters:j0,isIPv4:x0,nonSimpleDomain:T0}=Vl,{SCHEMES:C0,getSchemeHandler:Gl}=O0;function R0(t,e){return typeof t=="string"?t=U0(t,e):typeof t=="object"&&(t=Rt(gt(t,e),e)),t}function M0(t,e,n){const r=n?Object.assign({scheme:"null"},n):{scheme:"null"},s=Wl(Rt(t,r),Rt(e,r),r,!0);return r.skipEscape=!0,gt(s,r)}function Wl(t,e,n,r){const s={};return r||(t=Rt(gt(t,n),n),e=Rt(gt(e,n),n)),n=n||{},!n.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Xt(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=Xt(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=Xt(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=Xt(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function D0(t,e,n){const r=Na(t,n),s=Na(e,n);return r!==void 0&&s!==void 0&&r.toLowerCase()===s.toLowerCase()}function gt(t,e){const n={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},r=Object.assign({},e),s=[],o=Gl(r.scheme||n.scheme);o&&o.serialize&&o.serialize(n,r),n.path!==void 0&&(r.skipEscape?n.path=I0(n.path):(n.path=P0(n.path),n.scheme!==void 0&&(n.path=n.path.split("%3A").join(":")))),r.reference!=="suffix"&&n.scheme&&s.push(n.scheme,":");const i=k0(n);if(i!==void 0&&(r.reference!=="suffix"&&s.push("//"),s.push(i),n.path&&n.path[0]!=="/"&&s.push("/")),n.path!==void 0){let a=n.path;!r.absolutePath&&(!o||!o.absolutePath)&&(a=Xt(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),s.push(a)}return n.query!==void 0&&s.push("?",n.query),n.fragment!==void 0&&s.push("#",n.fragment),s.join("")}const L0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function B0(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function Hl(t,e){const n=Object.assign({},e),r={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let s=!1,o=!1;n.reference==="suffix"&&(n.scheme?t=n.scheme+":"+t:t="//"+t);const i=t.match(L0);if(i){r.scheme=i[1],r.userinfo=i[3],r.host=i[4],r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=i[7],r.fragment=i[8],isNaN(r.port)&&(r.port=i[5]);const a=B0(r,i);if(a!==void 0&&(r.error=r.error||a,s=!0),r.host)if(x0(r.host)===!1){const u=_0(r.host);r.host=u.host.toLowerCase(),o=u.isIPV6}else o=!0;r.scheme===void 0&&r.userinfo===void 0&&r.host===void 0&&r.port===void 0&&r.query===void 0&&!r.path?r.reference="same-document":r.scheme===void 0?r.reference="relative":r.fragment===void 0?r.reference="absolute":r.reference="uri",n.reference&&n.reference!=="suffix"&&n.reference!==r.reference&&(r.error=r.error||"URI is not a "+n.reference+" reference.");const c=Gl(n.scheme||r.scheme);if(!n.unicodeSupport&&(!c||!c.unicodeSupport)&&r.host&&(n.domainHost||c&&c.domainHost)&&o===!1&&T0(r.host))try{r.host=new URL("http://"+r.host).hostname}catch(u){r.error=r.error||"Host's domain name can not be converted to ASCII: "+u}if((!c||c&&!c.skipNormalize)&&(t.indexOf("%")!==-1&&(r.scheme!==void 0&&(r.scheme=unescape(r.scheme)),r.host!==void 0&&(r.host=j0(unescape(r.host),o))),r.path&&(r.path=A0(r.path)),r.fragment))try{r.fragment=encodeURI(decodeURIComponent(r.fragment))}catch{r.error=r.error||"URI malformed"}c&&c.parse&&c.parse(r,n)}else r.error=r.error||"URI can not be parsed.";return{parsed:r,malformedAuthorityOrPort:s}}function Rt(t,e){return Hl(t,e).parsed}function U0(t,e){return Jl(t,e).normalized}function Jl(t,e){const{parsed:n,malformedAuthorityOrPort:r}=Hl(t,e);return{normalized:r?t:gt(n,e),malformedAuthorityOrPort:r}}function Na(t,e){if(typeof t=="string"){const{normalized:n,malformedAuthorityOrPort:r}=Jl(t,e);return r?void 0:n}if(typeof t=="object")return gt(t,e)}const ko={SCHEMES:C0,normalize:R0,resolve:M0,resolveComponent:Wl,equal:D0,serialize:gt,parse:Rt};gr.exports=ko;gr.exports.default=ko;gr.exports.fastUri=ko;var V0=gr.exports;Object.defineProperty(No,"__esModule",{value:!0});const Ql=V0;Ql.code='require("ajv/dist/runtime/uri").default';No.default=Ql;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var e=Ne;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var n=U;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return n.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return n.CodeGen}});const r=vn,s=Ut,o=mt,i=he,a=U,c=oe,u=te,l=j,f=Xv,m=No,p=(P,b)=>new RegExp(P,b);p.code="new RegExp";const d=["removeAdditional","useDefaults","coerceTypes"],v=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),g={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},$=200;function S(P){var b,I,E,h,w,O,T,R,z,K,ne,$t,br,Er,Sr,Nr,Or,_r,kr,Ir,Ar,Pr,jr,xr,Tr;const zt=P.strict,Cr=(b=P.code)===null||b===void 0?void 0:b.optimize,ii=Cr===!0||Cr===void 0?1:Cr||0,ai=(E=(I=P.code)===null||I===void 0?void 0:I.regExp)!==null&&E!==void 0?E:p,pf=(h=P.uriResolver)!==null&&h!==void 0?h:m.default;return{strictSchema:(O=(w=P.strictSchema)!==null&&w!==void 0?w:zt)!==null&&O!==void 0?O:!0,strictNumbers:(R=(T=P.strictNumbers)!==null&&T!==void 0?T:zt)!==null&&R!==void 0?R:!0,strictTypes:(K=(z=P.strictTypes)!==null&&z!==void 0?z:zt)!==null&&K!==void 0?K:"log",strictTuples:($t=(ne=P.strictTuples)!==null&&ne!==void 0?ne:zt)!==null&&$t!==void 0?$t:"log",strictRequired:(Er=(br=P.strictRequired)!==null&&br!==void 0?br:zt)!==null&&Er!==void 0?Er:!1,code:P.code?{...P.code,optimize:ii,regExp:ai}:{optimize:ii,regExp:ai},loopRequired:(Sr=P.loopRequired)!==null&&Sr!==void 0?Sr:$,loopEnum:(Nr=P.loopEnum)!==null&&Nr!==void 0?Nr:$,meta:(Or=P.meta)!==null&&Or!==void 0?Or:!0,messages:(_r=P.messages)!==null&&_r!==void 0?_r:!0,inlineRefs:(kr=P.inlineRefs)!==null&&kr!==void 0?kr:!0,schemaId:(Ir=P.schemaId)!==null&&Ir!==void 0?Ir:"$id",addUsedSchema:(Ar=P.addUsedSchema)!==null&&Ar!==void 0?Ar:!0,validateSchema:(Pr=P.validateSchema)!==null&&Pr!==void 0?Pr:!0,validateFormats:(jr=P.validateFormats)!==null&&jr!==void 0?jr:!0,unicodeRegExp:(xr=P.unicodeRegExp)!==null&&xr!==void 0?xr:!0,int32range:(Tr=P.int32range)!==null&&Tr!==void 0?Tr:!0,uriResolver:pf}}class N{constructor(b={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,b=this.opts={...b,...S(b)};const{es5:I,lines:E}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:v,es5:I,lines:E}),this.logger=Te(b.logger);const h=b.validateFormats;b.validateFormats=!1,this.RULES=(0,o.getRules)(),k.call(this,g,b,"NOT SUPPORTED"),k.call(this,y,b,"DEPRECATED","warn"),this._metaOpts=me.call(this),b.formats&&ee.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),b.keywords&&ae.call(this,b.keywords),typeof b.meta=="object"&&this.addMetaSchema(b.meta),F.call(this),b.validateFormats=h}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:b,meta:I,schemaId:E}=this.opts;let h=f;E==="id"&&(h={...f},h.id=h.$id,delete h.$id),I&&b&&this.addMetaSchema(h,h[E],!1)}defaultMeta(){const{meta:b,schemaId:I}=this.opts;return this.opts.defaultMeta=typeof b=="object"?b[I]||b:void 0}validate(b,I){let E;if(typeof b=="string"){if(E=this.getSchema(b),!E)throw new Error(`no schema with key or ref "${b}"`)}else E=this.compile(b);const h=E(I);return"$async"in E||(this.errors=E.errors),h}compile(b,I){const E=this._addSchema(b,I);return E.validate||this._compileSchemaEnv(E)}compileAsync(b,I){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:E}=this.opts;return h.call(this,b,I);async function h(K,ne){await w.call(this,K.$schema);const $t=this._addSchema(K,ne);return $t.validate||O.call(this,$t)}async function w(K){K&&!this.getSchema(K)&&await h.call(this,{$ref:K},!0)}async function O(K){try{return this._compileSchemaEnv(K)}catch(ne){if(!(ne instanceof s.default))throw ne;return T.call(this,ne),await R.call(this,ne.missingSchema),O.call(this,K)}}function T({missingSchema:K,missingRef:ne}){if(this.refs[K])throw new Error(`AnySchema ${K} is loaded but ${ne} cannot be resolved`)}async function R(K){const ne=await z.call(this,K);this.refs[K]||await w.call(this,ne.$schema),this.refs[K]||this.addSchema(ne,K,I)}async function z(K){const ne=this._loading[K];if(ne)return ne;try{return await(this._loading[K]=E(K))}finally{delete this._loading[K]}}}addSchema(b,I,E,h=this.opts.validateSchema){if(Array.isArray(b)){for(const O of b)this.addSchema(O,void 0,E,h);return this}let w;if(typeof b=="object"){const{schemaId:O}=this.opts;if(w=b[O],w!==void 0&&typeof w!="string")throw new Error(`schema ${O} must be string`)}return I=(0,c.normalizeId)(I||w),this._checkUnique(I),this.schemas[I]=this._addSchema(b,E,I,h,!0),this}addMetaSchema(b,I,E=this.opts.validateSchema){return this.addSchema(b,I,!0,E),this}validateSchema(b,I){if(typeof b=="boolean")return!0;let E;if(E=b.$schema,E!==void 0&&typeof E!="string")throw new Error("$schema must be a string");if(E=E||this.opts.defaultMeta||this.defaultMeta(),!E)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const h=this.validate(E,b);if(!h&&I){const w="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(w);else throw new Error(w)}return h}getSchema(b){let I;for(;typeof(I=C.call(this,b))=="string";)b=I;if(I===void 0){const{schemaId:E}=this.opts,h=new i.SchemaEnv({schema:{},schemaId:E});if(I=i.resolveSchema.call(this,h,b),!I)return;this.refs[b]=I}return I.validate||this._compileSchemaEnv(I)}removeSchema(b){if(b instanceof RegExp)return this._removeAllSchemas(this.schemas,b),this._removeAllSchemas(this.refs,b),this;switch(typeof b){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const I=C.call(this,b);return typeof I=="object"&&this._cache.delete(I.schema),delete this.schemas[b],delete this.refs[b],this}case"object":{const I=b;this._cache.delete(I);let E=b[this.opts.schemaId];return E&&(E=(0,c.normalizeId)(E),delete this.schemas[E],delete this.refs[E]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(b){for(const I of b)this.addKeyword(I);return this}addKeyword(b,I){let E;if(typeof b=="string")E=b,typeof I=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),I.keyword=E);else if(typeof b=="object"&&I===void 0){if(I=b,E=I.keyword,Array.isArray(E)&&!E.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Fe.call(this,E,I),!I)return(0,l.eachItem)(E,w=>Kt.call(this,w)),this;$r.call(this,I);const h={...I,type:(0,u.getJSONTypes)(I.type),schemaType:(0,u.getJSONTypes)(I.schemaType)};return(0,l.eachItem)(E,h.type.length===0?w=>Kt.call(this,w,h):w=>h.type.forEach(O=>Kt.call(this,w,h,O))),this}getKeyword(b){const I=this.RULES.all[b];return typeof I=="object"?I.definition:!!I}removeKeyword(b){const{RULES:I}=this;delete I.keywords[b],delete I.all[b];for(const E of I.rules){const h=E.rules.findIndex(w=>w.keyword===b);h>=0&&E.rules.splice(h,1)}return this}addFormat(b,I){return typeof I=="string"&&(I=new RegExp(I)),this.formats[b]=I,this}errorsText(b=this.errors,{separator:I=", ",dataVar:E="data"}={}){return!b||b.length===0?"No errors":b.map(h=>`${E}${h.instancePath} ${h.message}`).reduce((h,w)=>h+I+w)}$dataMetaSchema(b,I){const E=this.RULES.all;b=JSON.parse(JSON.stringify(b));for(const h of I){const w=h.split("/").slice(1);let O=b;for(const T of w)O=O[T];for(const T in E){const R=E[T];if(typeof R!="object")continue;const{$data:z}=R.definition,K=O[T];z&&K&&(O[T]=bn(K))}}return b}_removeAllSchemas(b,I){for(const E in b){const h=b[E];(!I||I.test(E))&&(typeof h=="string"?delete b[E]:h&&!h.meta&&(this._cache.delete(h.schema),delete b[E]))}}_addSchema(b,I,E,h=this.opts.validateSchema,w=this.opts.addUsedSchema){let O;const{schemaId:T}=this.opts;if(typeof b=="object")O=b[T];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof b!="boolean")throw new Error("schema must be object or boolean")}let R=this._cache.get(b);if(R!==void 0)return R;E=(0,c.normalizeId)(O||E);const z=c.getSchemaRefs.call(this,b,E);return R=new i.SchemaEnv({schema:b,schemaId:T,meta:I,baseId:E,localRefs:z}),this._cache.set(R.schema,R),w&&!E.startsWith("#")&&(E&&this._checkUnique(E),this.refs[E]=R),h&&this.validateSchema(b,!0),R}_checkUnique(b){if(this.schemas[b]||this.refs[b])throw new Error(`schema with key or id "${b}" already exists`)}_compileSchemaEnv(b){if(b.meta?this._compileMetaSchema(b):i.compileSchema.call(this,b),!b.validate)throw new Error("ajv implementation error");return b.validate}_compileMetaSchema(b){const I=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,b)}finally{this.opts=I}}}N.ValidationError=r.default,N.MissingRefError=s.default,t.default=N;function k(P,b,I,E="error"){for(const h in P){const w=h;w in b&&this.logger[E](`${I}: option ${h}. ${P[w]}`)}}function C(P){return P=(0,c.normalizeId)(P),this.schemas[P]||this.refs[P]}function F(){const P=this.opts.schemas;if(P)if(Array.isArray(P))this.addSchema(P);else for(const b in P)this.addSchema(P[b],b)}function ee(){for(const P in this.opts.formats){const b=this.opts.formats[P];b&&this.addFormat(P,b)}}function ae(P){if(Array.isArray(P)){this.addVocabulary(P);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const b in P){const I=P[b];I.keyword||(I.keyword=b),this.addKeyword(I)}}function me(){const P={...this.opts};for(const b of d)delete P[b];return P}const qt={log(){},warn(){},error(){}};function Te(P){if(P===!1)return qt;if(P===void 0)return console;if(P.log&&P.warn&&P.error)return P;throw new Error("logger must implement log, warn and error methods")}const vt=/^[a-z_$][a-z0-9_$:-]*$/i;function Fe(P,b){const{RULES:I}=this;if((0,l.eachItem)(P,E=>{if(I.keywords[E])throw new Error(`Keyword ${E} is already defined`);if(!vt.test(E))throw new Error(`Keyword ${E} has invalid name`)}),!!b&&b.$data&&!("code"in b||"validate"in b))throw new Error('$data keyword must have "code" or "validate" function')}function Kt(P,b,I){var E;const h=b==null?void 0:b.post;if(I&&h)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:w}=this;let O=h?w.post:w.rules.find(({type:R})=>R===I);if(O||(O={type:I,rules:[]},w.rules.push(O)),w.keywords[P]=!0,!b)return;const T={keyword:P,definition:{...b,type:(0,u.getJSONTypes)(b.type),schemaType:(0,u.getJSONTypes)(b.schemaType)}};b.before?wn.call(this,O,T,b.before):O.rules.push(T),w.all[P]=T,(E=b.implements)===null||E===void 0||E.forEach(R=>this.addKeyword(R))}function wn(P,b,I){const E=P.rules.findIndex(h=>h.keyword===I);E>=0?P.rules.splice(E,0,b):(P.rules.push(b),this.logger.warn(`rule ${I} is not defined`))}function $r(P){let{metaSchema:b}=P;b!==void 0&&(P.$data&&this.opts.$data&&(b=bn(b)),P.validateSchema=this.compile(b,!0))}const wr={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function bn(P){return{anyOf:[P,wr]}}})(rl);var Io={},Ao={},Po={};Object.defineProperty(Po,"__esModule",{value:!0});const F0={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Po.default=F0;var yt={};Object.defineProperty(yt,"__esModule",{value:!0});yt.callRef=yt.getValidate=void 0;const q0=Ut,Oa=B,fe=U,Et=xe,_a=he,jn=j,K0={keyword:"$ref",schemaType:"string",code(t){const{gen:e,schema:n,it:r}=t,{baseId:s,schemaEnv:o,validateName:i,opts:a,self:c}=r,{root:u}=o;if((n==="#"||n==="#/")&&s===u.baseId)return f();const l=_a.resolveRef.call(c,u,s,n);if(l===void 0)throw new q0.default(r.opts.uriResolver,s,n);if(l instanceof _a.SchemaEnv)return m(l);return p(l);function f(){if(o===u)return Gn(t,i,o,o.$async);const d=e.scopeValue("root",{ref:u});return Gn(t,(0,fe._)`${d}.validate`,u,u.$async)}function m(d){const v=Yl(t,d);Gn(t,v,d,d.$async)}function p(d){const v=e.scopeValue("schema",a.code.source===!0?{ref:d,code:(0,fe.stringify)(d)}:{ref:d}),g=e.name("valid"),y=t.subschema({schema:d,dataTypes:[],schemaPath:fe.nil,topSchemaRef:v,errSchemaPath:n},g);t.mergeEvaluated(y),t.ok(g)}}};function Yl(t,e){const{gen:n}=t;return e.validate?n.scopeValue("validate",{ref:e.validate}):(0,fe._)`${n.scopeValue("wrapper",{ref:e})}.validate`}yt.getValidate=Yl;function Gn(t,e,n,r){const{gen:s,it:o}=t,{allErrors:i,schemaEnv:a,opts:c}=o,u=c.passContext?Et.default.this:fe.nil;r?l():f();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");const d=s.let("valid");s.try(()=>{s.code((0,fe._)`await ${(0,Oa.callValidateCode)(t,e,u)}`),p(e),i||s.assign(d,!0)},v=>{s.if((0,fe._)`!(${v} instanceof ${o.ValidationError})`,()=>s.throw(v)),m(v),i||s.assign(d,!1)}),t.ok(d)}function f(){t.result((0,Oa.callValidateCode)(t,e,u),()=>p(e),()=>m(e))}function m(d){const v=(0,fe._)`${d}.errors`;s.assign(Et.default.vErrors,(0,fe._)`${Et.default.vErrors} === null ? ${v} : ${Et.default.vErrors}.concat(${v})`),s.assign(Et.default.errors,(0,fe._)`${Et.default.vErrors}.length`)}function p(d){var v;if(!o.opts.unevaluated)return;const g=(v=n==null?void 0:n.validate)===null||v===void 0?void 0:v.evaluated;if(o.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(o.props=jn.mergeEvaluated.props(s,g.props,o.props));else{const y=s.var("props",(0,fe._)`${d}.evaluated.props`);o.props=jn.mergeEvaluated.props(s,y,o.props,fe.Name)}if(o.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(o.items=jn.mergeEvaluated.items(s,g.items,o.items));else{const y=s.var("items",(0,fe._)`${d}.evaluated.items`);o.items=jn.mergeEvaluated.items(s,y,o.items,fe.Name)}}}yt.callRef=Gn;yt.default=K0;Object.defineProperty(Ao,"__esModule",{value:!0});const z0=Po,G0=yt,W0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",z0.default,G0.default];Ao.default=W0;var jo={},xo={};Object.defineProperty(xo,"__esModule",{value:!0});const er=U,ze=er.operators,tr={maximum:{okStr:"<=",ok:ze.LTE,fail:ze.GT},minimum:{okStr:">=",ok:ze.GTE,fail:ze.LT},exclusiveMaximum:{okStr:"<",ok:ze.LT,fail:ze.GTE},exclusiveMinimum:{okStr:">",ok:ze.GT,fail:ze.LTE}},H0={message:({keyword:t,schemaCode:e})=>(0,er.str)`must be ${tr[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,er._)`{comparison: ${tr[t].okStr}, limit: ${e}}`},J0={keyword:Object.keys(tr),type:"number",schemaType:"number",$data:!0,error:H0,code(t){const{keyword:e,data:n,schemaCode:r}=t;t.fail$data((0,er._)`${n} ${tr[e].fail} ${r} || isNaN(${n})`)}};xo.default=J0;var To={};Object.defineProperty(To,"__esModule",{value:!0});const sn=U,Q0={message:({schemaCode:t})=>(0,sn.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,sn._)`{multipleOf: ${t}}`},Y0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Q0,code(t){const{gen:e,data:n,schemaCode:r,it:s}=t,o=s.opts.multipleOfPrecision,i=e.let("res"),a=o?(0,sn._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${o}`:(0,sn._)`${i} !== parseInt(${i})`;t.fail$data((0,sn._)`(${r} === 0 || (${i} = ${n}/${r}, ${a}))`)}};To.default=Y0;var Co={},Ro={};Object.defineProperty(Ro,"__esModule",{value:!0});function Xl(t){const e=t.length;let n=0,r=0,s;for(;r<e;)n++,s=t.charCodeAt(r++),s>=55296&&s<=56319&&r<e&&(s=t.charCodeAt(r),(s&64512)===56320&&r++);return n}Ro.default=Xl;Xl.code='require("ajv/dist/runtime/ucs2length").default';Object.defineProperty(Co,"__esModule",{value:!0});const ot=U,X0=j,Z0=Ro,e$={message({keyword:t,schemaCode:e}){const n=t==="maxLength"?"more":"fewer";return(0,ot.str)`must NOT have ${n} than ${e} characters`},params:({schemaCode:t})=>(0,ot._)`{limit: ${t}}`},t$={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:e$,code(t){const{keyword:e,data:n,schemaCode:r,it:s}=t,o=e==="maxLength"?ot.operators.GT:ot.operators.LT,i=s.opts.unicode===!1?(0,ot._)`${n}.length`:(0,ot._)`${(0,X0.useFunc)(t.gen,Z0.default)}(${n})`;t.fail$data((0,ot._)`${i} ${o} ${r}`)}};Co.default=t$;var Mo={};Object.defineProperty(Mo,"__esModule",{value:!0});const n$=B,r$=j,At=U,s$={message:({schemaCode:t})=>(0,At.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,At._)`{pattern: ${t}}`},o$={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:s$,code(t){const{gen:e,data:n,$data:r,schema:s,schemaCode:o,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(r){const{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,At._)`new RegExp`:(0,r$.useFunc)(e,c),l=e.let("valid");e.try(()=>e.assign(l,(0,At._)`${u}(${o}, ${a}).test(${n})`),()=>e.assign(l,!1)),t.fail$data((0,At._)`!${l}`)}else{const c=(0,n$.usePattern)(t,s);t.fail$data((0,At._)`!${c}.test(${n})`)}}};Mo.default=o$;var Do={};Object.defineProperty(Do,"__esModule",{value:!0});const on=U,i$={message({keyword:t,schemaCode:e}){const n=t==="maxProperties"?"more":"fewer";return(0,on.str)`must NOT have ${n} than ${e} properties`},params:({schemaCode:t})=>(0,on._)`{limit: ${t}}`},a$={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:i$,code(t){const{keyword:e,data:n,schemaCode:r}=t,s=e==="maxProperties"?on.operators.GT:on.operators.LT;t.fail$data((0,on._)`Object.keys(${n}).length ${s} ${r}`)}};Do.default=a$;var Lo={};Object.defineProperty(Lo,"__esModule",{value:!0});const Jt=B,an=U,c$=j,u$={message:({params:{missingProperty:t}})=>(0,an.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,an._)`{missingProperty: ${t}}`},l$={keyword:"required",type:"object",schemaType:"array",$data:!0,error:u$,code(t){const{gen:e,schema:n,schemaCode:r,data:s,$data:o,it:i}=t,{opts:a}=i;if(!o&&n.length===0)return;const c=n.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){const p=t.parentSchema.properties,{definedProperties:d}=t.it;for(const v of n)if((p==null?void 0:p[v])===void 0&&!d.has(v)){const g=i.schemaEnv.baseId+i.errSchemaPath,y=`required property "${v}" is not defined at "${g}" (strictRequired)`;(0,c$.checkStrictMode)(i,y,i.opts.strictRequired)}}function u(){if(c||o)t.block$data(an.nil,f);else for(const p of n)(0,Jt.checkReportMissingProp)(t,p)}function l(){const p=e.let("missing");if(c||o){const d=e.let("valid",!0);t.block$data(d,()=>m(p,d)),t.ok(d)}else e.if((0,Jt.checkMissingProp)(t,n,p)),(0,Jt.reportMissingProp)(t,p),e.else()}function f(){e.forOf("prop",r,p=>{t.setParams({missingProperty:p}),e.if((0,Jt.noPropertyInData)(e,s,p,a.ownProperties),()=>t.error())})}function m(p,d){t.setParams({missingProperty:p}),e.forOf(p,r,()=>{e.assign(d,(0,Jt.propertyInData)(e,s,p,a.ownProperties)),e.if((0,an.not)(d),()=>{t.error(),e.break()})},an.nil)}}};Lo.default=l$;var Bo={};Object.defineProperty(Bo,"__esModule",{value:!0});const cn=U,f$={message({keyword:t,schemaCode:e}){const n=t==="maxItems"?"more":"fewer";return(0,cn.str)`must NOT have ${n} than ${e} items`},params:({schemaCode:t})=>(0,cn._)`{limit: ${t}}`},d$={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:f$,code(t){const{keyword:e,data:n,schemaCode:r}=t,s=e==="maxItems"?cn.operators.GT:cn.operators.LT;t.fail$data((0,cn._)`${n}.length ${s} ${r}`)}};Bo.default=d$;var Uo={},$n={};Object.defineProperty($n,"__esModule",{value:!0});const Zl=$l;Zl.code='require("ajv/dist/runtime/equal").default';$n.default=Zl;Object.defineProperty(Uo,"__esModule",{value:!0});const Qr=te,se=U,p$=j,h$=$n,m$={message:({params:{i:t,j:e}})=>(0,se.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,se._)`{i: ${t}, j: ${e}}`},g$={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:m$,code(t){const{gen:e,data:n,$data:r,schema:s,parentSchema:o,schemaCode:i,it:a}=t;if(!r&&!s)return;const c=e.let("valid"),u=o.items?(0,Qr.getSchemaTypes)(o.items):[];t.block$data(c,l,(0,se._)`${i} === false`),t.ok(c);function l(){const d=e.let("i",(0,se._)`${n}.length`),v=e.let("j");t.setParams({i:d,j:v}),e.assign(c,!0),e.if((0,se._)`${d} > 1`,()=>(f()?m:p)(d,v))}function f(){return u.length>0&&!u.some(d=>d==="object"||d==="array")}function m(d,v){const g=e.name("item"),y=(0,Qr.checkDataTypes)(u,g,a.opts.strictNumbers,Qr.DataType.Wrong),$=e.const("indices",(0,se._)`{}`);e.for((0,se._)`;${d}--;`,()=>{e.let(g,(0,se._)`${n}[${d}]`),e.if(y,(0,se._)`continue`),u.length>1&&e.if((0,se._)`typeof ${g} == "string"`,(0,se._)`${g} += "_"`),e.if((0,se._)`typeof ${$}[${g}] == "number"`,()=>{e.assign(v,(0,se._)`${$}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,se._)`${$}[${g}] = ${d}`)})}function p(d,v){const g=(0,p$.useFunc)(e,h$.default),y=e.name("outer");e.label(y).for((0,se._)`;${d}--;`,()=>e.for((0,se._)`${v} = ${d}; ${v}--;`,()=>e.if((0,se._)`${g}(${n}[${d}], ${n}[${v}])`,()=>{t.error(),e.assign(c,!1).break(y)})))}}};Uo.default=g$;var Vo={};Object.defineProperty(Vo,"__esModule",{value:!0});const _s=U,y$=j,v$=$n,$$={message:"must be equal to constant",params:({schemaCode:t})=>(0,_s._)`{allowedValue: ${t}}`},w$={keyword:"const",$data:!0,error:$$,code(t){const{gen:e,data:n,$data:r,schemaCode:s,schema:o}=t;r||o&&typeof o=="object"?t.fail$data((0,_s._)`!${(0,y$.useFunc)(e,v$.default)}(${n}, ${s})`):t.fail((0,_s._)`${o} !== ${n}`)}};Vo.default=w$;var Fo={};Object.defineProperty(Fo,"__esModule",{value:!0});const Zt=U,b$=j,E$=$n,S$={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Zt._)`{allowedValues: ${t}}`},N$={keyword:"enum",schemaType:"array",$data:!0,error:S$,code(t){const{gen:e,data:n,$data:r,schema:s,schemaCode:o,it:i}=t;if(!r&&s.length===0)throw new Error("enum must have non-empty array");const a=s.length>=i.opts.loopEnum;let c;const u=()=>c??(c=(0,b$.useFunc)(e,E$.default));let l;if(a||r)l=e.let("valid"),t.block$data(l,f);else{if(!Array.isArray(s))throw new Error("ajv implementation error");const p=e.const("vSchema",o);l=(0,Zt.or)(...s.map((d,v)=>m(p,v)))}t.pass(l);function f(){e.assign(l,!1),e.forOf("v",o,p=>e.if((0,Zt._)`${u()}(${n}, ${p})`,()=>e.assign(l,!0).break()))}function m(p,d){const v=s[d];return typeof v=="object"&&v!==null?(0,Zt._)`${u()}(${n}, ${p}[${d}])`:(0,Zt._)`${n} === ${v}`}}};Fo.default=N$;Object.defineProperty(jo,"__esModule",{value:!0});const O$=xo,_$=To,k$=Co,I$=Mo,A$=Do,P$=Lo,j$=Bo,x$=Uo,T$=Vo,C$=Fo,R$=[O$.default,_$.default,k$.default,I$.default,A$.default,P$.default,j$.default,x$.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},T$.default,C$.default];jo.default=R$;var qo={},Vt={};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.validateAdditionalItems=void 0;const it=U,ks=j,M$={message:({params:{len:t}})=>(0,it.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,it._)`{limit: ${t}}`},D$={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:M$,code(t){const{parentSchema:e,it:n}=t,{items:r}=e;if(!Array.isArray(r)){(0,ks.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas');return}ef(t,r)}};function ef(t,e){const{gen:n,schema:r,data:s,keyword:o,it:i}=t;i.items=!0;const a=n.const("len",(0,it._)`${s}.length`);if(r===!1)t.setParams({len:e.length}),t.pass((0,it._)`${a} <= ${e.length}`);else if(typeof r=="object"&&!(0,ks.alwaysValidSchema)(i,r)){const u=n.var("valid",(0,it._)`${a} <= ${e.length}`);n.if((0,it.not)(u),()=>c(u)),t.ok(u)}function c(u){n.forRange("i",e.length,a,l=>{t.subschema({keyword:o,dataProp:l,dataPropType:ks.Type.Num},u),i.allErrors||n.if((0,it.not)(u),()=>n.break())})}}Vt.validateAdditionalItems=ef;Vt.default=D$;var Ko={},Ft={};Object.defineProperty(Ft,"__esModule",{value:!0});Ft.validateTuple=void 0;const ka=U,Wn=j,L$=B,B$={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){const{schema:e,it:n}=t;if(Array.isArray(e))return tf(t,"additionalItems",e);n.items=!0,!(0,Wn.alwaysValidSchema)(n,e)&&t.ok((0,L$.validateArray)(t))}};function tf(t,e,n=t.schema){const{gen:r,parentSchema:s,data:o,keyword:i,it:a}=t;l(s),a.opts.unevaluated&&n.length&&a.items!==!0&&(a.items=Wn.mergeEvaluated.items(r,n.length,a.items));const c=r.name("valid"),u=r.const("len",(0,ka._)`${o}.length`);n.forEach((f,m)=>{(0,Wn.alwaysValidSchema)(a,f)||(r.if((0,ka._)`${u} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c))});function l(f){const{opts:m,errSchemaPath:p}=a,d=n.length,v=d===f.minItems&&(d===f.maxItems||f[e]===!1);if(m.strictTuples&&!v){const g=`"${i}" is ${d}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,Wn.checkStrictMode)(a,g,m.strictTuples)}}}Ft.validateTuple=tf;Ft.default=B$;Object.defineProperty(Ko,"__esModule",{value:!0});const U$=Ft,V$={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,U$.validateTuple)(t,"items")};Ko.default=V$;var zo={};Object.defineProperty(zo,"__esModule",{value:!0});const Ia=U,F$=j,q$=B,K$=Vt,z$={message:({params:{len:t}})=>(0,Ia.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Ia._)`{limit: ${t}}`},G$={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:z$,code(t){const{schema:e,parentSchema:n,it:r}=t,{prefixItems:s}=n;r.items=!0,!(0,F$.alwaysValidSchema)(r,e)&&(s?(0,K$.validateAdditionalItems)(t,s):t.ok((0,q$.validateArray)(t)))}};zo.default=G$;var Go={};Object.defineProperty(Go,"__esModule",{value:!0});const $e=U,xn=j,W$={message:({params:{min:t,max:e}})=>e===void 0?(0,$e.str)`must contain at least ${t} valid item(s)`:(0,$e.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,$e._)`{minContains: ${t}}`:(0,$e._)`{minContains: ${t}, maxContains: ${e}}`},H$={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:W$,code(t){const{gen:e,schema:n,parentSchema:r,data:s,it:o}=t;let i,a;const{minContains:c,maxContains:u}=r;o.opts.next?(i=c===void 0?1:c,a=u):i=1;const l=e.const("len",(0,$e._)`${s}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,xn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,xn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,xn.alwaysValidSchema)(o,n)){let v=(0,$e._)`${l} >= ${i}`;a!==void 0&&(v=(0,$e._)`${v} && ${l} <= ${a}`),t.pass(v);return}o.items=!0;const f=e.name("valid");a===void 0&&i===1?p(f,()=>e.if(f,()=>e.break())):i===0?(e.let(f,!0),a!==void 0&&e.if((0,$e._)`${s}.length > 0`,m)):(e.let(f,!1),m()),t.result(f,()=>t.reset());function m(){const v=e.name("_valid"),g=e.let("count",0);p(v,()=>e.if(v,()=>d(g)))}function p(v,g){e.forRange("i",0,l,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:xn.Type.Num,compositeRule:!0},v),g()})}function d(v){e.code((0,$e._)`${v}++`),a===void 0?e.if((0,$e._)`${v} >= ${i}`,()=>e.assign(f,!0).break()):(e.if((0,$e._)`${v} > ${a}`,()=>e.assign(f,!1).break()),i===1?e.assign(f,!0):e.if((0,$e._)`${v} >= ${i}`,()=>e.assign(f,!0)))}}};Go.default=H$;var nf={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const e=U,n=j,r=B;t.error={message:({params:{property:c,depsCount:u,deps:l}})=>{const f=u===1?"property":"properties";return(0,e.str)`must have ${f} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:f}})=>(0,e._)`{property: ${c},
153
+ `}};ue(ks,"defaults",al);function sg(e,t=!0,n){n===void 0&&typeof t=="string"&&(n=t,t=!0);const r=Object.assign({},ks.defaults[nr.version],nr);return new mn(r).createNode(e,t,n)}class $r extends ks{constructor(t){super(Object.assign({},nr,t))}}function ig(e,t){const n=[];let r;for(const o of $s(e)){const s=new $r(t);s.parse(o,r),n.push(s),r=s}return n}function cl(e,t){const n=$s(e),r=new $r(t).parse(n[0]);if(n.length>1){const o="Source contains multiple documents; please use YAML.parseAllDocuments()";r.errors.unshift(new B(n[1],o))}return r}function ag(e,t){const n=cl(e,t);if(n.warnings.forEach(r=>Ju(r)),n.errors.length>0)throw n.errors[0];return n.toJSON()}function cg(e,t){const n=new $r(t);return n.contents=e,String(n)}const ug={createNode:sg,defaultOptions:nr,Document:$r,parse:ag,parseAllDocuments:ig,parseCST:$s,parseDocument:cl,scalarOptions:Qm,stringify:cg},lg=Object.freeze(Object.defineProperty({__proto__:null,YAML:ug},Symbol.toStringTag,{value:"Module"})),fg=am(lg);var dg=fg.YAML;const pg="1.0.0-redesign.1",hg="adhd",mg="default",gg="adhd-environment.json",Zr="config.yaml",yg="config.local.yaml",vg={data:"shared",cache:"shared",state:"shared",config:"shared",run:"shared",logs:"per-instance",temp:"per-instance"};class Ta extends Error{constructor(t,n){super(`contentHash: lone surrogate in ${t} (not well-formed Unicode)`),this.location=t,this.offending=n,this.name="LoneSurrogateError"}}function Ca(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n>=55296&&n<=56319){const r=t+1<e.length?e.charCodeAt(t+1):0;if(r<56320||r>57343)return!0;t++}else if(n>=56320&&n<=57343)return!0}return!1}function ul(e,t){const n=Array.from(e),r=Array.from(t),o=Math.min(n.length,r.length);for(let s=0;s<o;s++){const i=n[s].codePointAt(0)??0,a=r[s].codePointAt(0)??0;if(i!==a)return i<a?-1:1}return n.length===r.length?0:n.length<r.length?-1:1}function Ra(e){return new TextEncoder().encode(e).length}function $g(e){const t=Object.keys(e).sort(ul);let n="";for(const r of t){const o=e[r];if(Ca(r))throw new Ta("key",r);if(Ca(o))throw new Ta("value",o);n+=`${Ra(r)}:${r}=${Ra(o)}:${o}
154
+ `}return`sha256-${ll(n)}`}function wg(e){const t=[...e].sort((n,r)=>ul(n.name,r.name)).map(n=>`${n.name}:${n.kind}:${n.scope}`).join(`
155
+ `);return`sha256-${ll(t)}`}function bg(e){return`ADHD_${e.toUpperCase().replace(/[.-]/g,"_")}`}function Eg(e,t){return`${e}_${t.toUpperCase().replace(/[.-]/g,"_")}`}function Sg(e){const t={type:"object",properties:{}},n=e;for(const r of Object.keys(n)){const o=n[r],s=r.split(".");let i=t;s.forEach((a,c)=>{if(c===s.length-1){i.properties[a]=Og(o);return}const u=i.properties[a];if(u===void 0){const l={type:"object",properties:{}};i.properties[a]=l,i=l}else i=u})}return t}function Og(e){const t={type:e.type};return e.default!==void 0&&e.secret!==!0&&(t.default=e.default),e.description!==void 0&&(t.description=e.description),e.minimum!==void 0&&(t.minimum=e.minimum),e.maximum!==void 0&&(t.maximum=e.maximum),e.enum!==void 0&&(t.enum=e.enum),e.pattern!==void 0&&(t.pattern=e.pattern),e.minLength!==void 0&&(t.minLength=e.minLength),e.maxLength!==void 0&&(t.maxLength=e.maxLength),e.items!==void 0&&(t.items=e.items),t}const Ng="adhd-env-ref:";function _g(e){return`${Ng}${e}`}const kg=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],Ag=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];function je(e,t){return(e>>>t|e<<32-t)>>>0}function Ig(e){const t=Uint32Array.from(Ag),n=e.length*8;let r=e.length+1;for(;r%64!==56;)r++;r+=8;const o=new Uint8Array(r);o.set(e),o[e.length]=128;const s=Math.floor(n/4294967296),i=n>>>0,a=new DataView(o.buffer);a.setUint32(r-8,s,!1),a.setUint32(r-4,i,!1);const c=new Uint32Array(64);for(let f=0;f<r;f+=64){for(let b=0;b<16;b++)c[b]=a.getUint32(f+b*4,!1);for(let b=16;b<64;b++){const N=c[b-15],j=c[b-2],M=je(N,7)^je(N,18)^N>>>3,H=je(j,17)^je(j,19)^j>>>10;c[b]=c[b-16]+M+c[b-7]+H>>>0}let p=t[0],h=t[1],d=t[2],v=t[3],m=t[4],y=t[5],$=t[6],S=t[7];for(let b=0;b<64;b++){const N=je(m,6)^je(m,11)^je(m,25),j=m&y^~m&$,M=S+N+j+kg[b]+c[b]>>>0,H=je(p,2)^je(p,13)^je(p,22),Z=p&h^p&d^h&d,le=H+Z>>>0;S=$,$=y,y=m,m=v+M>>>0,v=d,d=h,h=p,p=M+le>>>0}t[0]=t[0]+p>>>0,t[1]=t[1]+h>>>0,t[2]=t[2]+d>>>0,t[3]=t[3]+v>>>0,t[4]=t[4]+m>>>0,t[5]=t[5]+y>>>0,t[6]=t[6]+$>>>0,t[7]=t[7]+S>>>0}const u=new Uint8Array(32),l=new DataView(u.buffer);for(let f=0;f<8;f++)l.setUint32(f*4,t[f],!1);return u}function jg(e){let t="";for(const n of e)t+=n.toString(16).padStart(2,"0");return t}function ll(e){const t=new TextEncoder().encode(e);return jg(Ig(t))}function fl(e,t=""){const n={};if(e===null||typeof e!="object"||Array.isArray(e))return t&&(n[t]=e),n;for(const[r,o]of Object.entries(e)){const s=t?`${t}.${r}`:r;o!==null&&typeof o=="object"&&!Array.isArray(o)?Object.assign(n,fl(o,s)):n[s]=o}return n}function xn(e){if(K.existsSync(e))try{const t=K.readFileSync(e,"utf8"),n=dg.parse(t);return n===null||typeof n!="object"||Array.isArray(n)?void 0:fl(n)}catch{return}}function Pg(e){return{system:xn(D.join(e.system,Zr)),global:xn(D.join(e.global,Zr)),project:e.project?xn(D.join(e.project,Zr)):void 0,local:e.project?xn(D.join(e.project,yg)):void 0}}function xg(e){const t={source:e.source,scope:e.scope};return e.source==="env"&&e.env!==void 0&&(t.env=e.env),t}function Io(e,t){if(e===void 0)return e;switch(t){case"integer":{if(typeof e=="number")return e;const n=parseInt(String(e),10);return Number.isNaN(n)?e:n}case"number":{if(typeof e=="number")return e;const n=parseFloat(String(e));return Number.isNaN(n)?e:n}case"boolean":{if(typeof e=="boolean")return e;const n=String(e).toLowerCase();return n==="true"?!0:n==="false"?!1:e}case"array":return Array.isArray(e)?e:typeof e=="string"?e.length===0?[]:e.split(",").map(n=>n.trim()):e;case"string":return typeof e=="string"?e:String(e);default:return e}}function dl(e){const t={};for(const n of Object.keys(e)){const r=n.split(".");let o=t;r.forEach((s,i)=>{if(i===r.length-1){o[s]=e[n];return}const a=o[s];(typeof a!="object"||a===null||Array.isArray(a))&&(o[s]={}),o=o[s]})}return t}const Tg=[["system","system"],["global","global"],["project","project"],["local","local"]];function Cg(e,t,n,r){const o={},s={},i={},a={};for(const c of Object.keys(e)){const u=e[c],l=u.env&&u.env!==""?u.env:Eg(r.prefix,c),f=u.at==="runtime"||u.secret===!0,p=u.scope??r.activeScope;let h=u.default,d="default";for(const[S,b]of Tg){const N=t[S];N&&Object.prototype.hasOwnProperty.call(N,c)&&(h=Io(N[c],u.type),d=b)}const v=n[l];let m,y,$;v!==void 0?(m=Io(v,u.type),y="env",$=l):(m=h,y=d),o[c]=f?_g(l):m,s[c]=m,i[c]=xg(f?{source:"env",scope:p,env:l}:{source:y,scope:p,env:$}),a[c]={...u,env:l,live:f,fallbackValue:h}}return{raw:o,nested:dl(o),typedRaw:s,provenance:i,fields:a}}function Rg(e,t){return e.replace(/\$\{HOME\}/g,Lt.homedir()).replace(/\$HOME\b/g,Lt.homedir()).replace(/\$\{PROJECT_ROOT\}/g,t.projectRoot??process.cwd()).replace(/\$\{NAMESPACE\}/g,t.namespace)}function Mg(e,t){const n={};for(const[r,o]of Object.entries(e??{})){const s=o.scope??t.activeScope,i=o.share??vg[o.kind],a=o.path?Rg(o.path,t):D.join($u(t.roots,s),r),c=i==="per-instance"?D.join(a,t.instanceId):a;n[r]={name:r,kind:o.kind,path:c,scope:s,share:i}}return n}function Dg(e,t){const n={};for(const[r,o]of Object.entries(e??{})){const s=t[o.in];if(!s)throw new Error(`files.${r}.in references unknown dirs key "${o.in}"`);n[r]={name:r,in:o.in,path:D.join(s.path,o.name),share:o.share??"shared"}}return n}var jo={exports:{}},pl={},Ie={},Ut={},bn={},V={},gn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;class t{}e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n extends t{constructor($){if(super(),!e.IDENTIFIER.test($))throw new Error("CodeGen: name must be a valid identifier");this.str=$}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e.Name=n;class r extends t{constructor($){super(),this._items=typeof $=="string"?[$]:$}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const $=this._items[0];return $===""||$==='""'}get str(){var $;return($=this._str)!==null&&$!==void 0?$:this._str=this._items.reduce((S,b)=>`${S}${b}`,"")}get names(){var $;return($=this._names)!==null&&$!==void 0?$:this._names=this._items.reduce((S,b)=>(b instanceof n&&(S[b.str]=(S[b.str]||0)+1),S),{})}}e._Code=r,e.nil=new r("");function o(y,...$){const S=[y[0]];let b=0;for(;b<$.length;)a(S,$[b]),S.push(y[++b]);return new r(S)}e._=o;const s=new r("+");function i(y,...$){const S=[h(y[0])];let b=0;for(;b<$.length;)S.push(s),a(S,$[b]),S.push(s,h(y[++b]));return c(S),new r(S)}e.str=i;function a(y,$){$ instanceof r?y.push(...$._items):$ instanceof n?y.push($):y.push(f($))}e.addCodeArg=a;function c(y){let $=1;for(;$<y.length-1;){if(y[$]===s){const S=u(y[$-1],y[$+1]);if(S!==void 0){y.splice($-1,3,S);continue}y[$++]="+"}$++}}function u(y,$){if($==='""')return y;if(y==='""')return $;if(typeof y=="string")return $ instanceof n||y[y.length-1]!=='"'?void 0:typeof $!="string"?`${y.slice(0,-1)}${$}"`:$[0]==='"'?y.slice(0,-1)+$.slice(1):void 0;if(typeof $=="string"&&$[0]==='"'&&!(y instanceof n))return`"${y}${$.slice(1)}`}function l(y,$){return $.emptyStr()?y:y.emptyStr()?$:i`${y}${$}`}e.strConcat=l;function f(y){return typeof y=="number"||typeof y=="boolean"||y===null?y:h(Array.isArray(y)?y.join(","):y)}function p(y){return new r(h(y))}e.stringify=p;function h(y){return JSON.stringify(y).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e.safeStringify=h;function d(y){return typeof y=="string"&&e.IDENTIFIER.test(y)?new r(`.${y}`):o`[${y}]`}e.getProperty=d;function v(y){if(typeof y=="string"&&e.IDENTIFIER.test(y))return new r(`${y}`);throw new Error(`CodeGen: invalid export name: ${y}, use explicit $id name mapping`)}e.getEsmExportName=v;function m(y){return new r(y.toString())}e.regexpCode=m})(gn);var Po={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;const t=gn;class n extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}}var r;(function(c){c[c.Started=0]="Started",c[c.Completed=1]="Completed"})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name("const"),let:new t.Name("let"),var:new t.Name("var")};class o{constructor({prefixes:u,parent:l}={}){this._names={},this._prefixes=u,this._parent=l}toName(u){return u instanceof t.Name?u:this.name(u)}name(u){return new t.Name(this._newName(u))}_newName(u){const l=this._names[u]||this._nameGroup(u);return`${u}${l.index++}`}_nameGroup(u){var l,f;if(!((f=(l=this._parent)===null||l===void 0?void 0:l._prefixes)===null||f===void 0)&&f.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}}e.Scope=o;class s extends t.Name{constructor(u,l){super(l),this.prefix=u}setValue(u,{property:l,itemIndex:f}){this.value=u,this.scopePath=(0,t._)`.${new t.Name(l)}[${f}]`}}e.ValueScopeName=s;const i=(0,t._)`\n`;class a extends o{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts={...u,_n:u.lines?i:t.nil}}get(){return this._scope}name(u){return new s(u,this._newName(u))}value(u,l){var f;if(l.ref===void 0)throw new Error("CodeGen: ref must be passed in value");const p=this.toName(u),{prefix:h}=p,d=(f=l.key)!==null&&f!==void 0?f:l.ref;let v=this._values[h];if(v){const $=v.get(d);if($)return $}else v=this._values[h]=new Map;v.set(d,p);const m=this._scope[h]||(this._scope[h]=[]),y=m.length;return m[y]=l.ref,p.setValue(l,{property:h,itemIndex:y}),p}getValue(u,l){const f=this._values[u];if(f)return f.get(l)}scopeRefs(u,l=this._values){return this._reduceValues(l,f=>{if(f.scopePath===void 0)throw new Error(`CodeGen: name "${f}" has no value`);return(0,t._)`${u}${f.scopePath}`})}scopeCode(u=this._values,l,f){return this._reduceValues(u,p=>{if(p.value===void 0)throw new Error(`CodeGen: name "${p}" has no value`);return p.value.code},l,f)}_reduceValues(u,l,f={},p){let h=t.nil;for(const d in u){const v=u[d];if(!v)continue;const m=f[d]=f[d]||new Map;v.forEach(y=>{if(m.has(y))return;m.set(y,r.Started);let $=l(y);if($){const S=this.opts.es5?e.varKinds.var:e.varKinds.const;h=(0,t._)`${h}${S} ${y} = ${$};${this.opts._n}`}else if($=p==null?void 0:p(y))h=(0,t._)`${h}${$}${this.opts._n}`;else throw new n(y);m.set(y,r.Completed)})}return h}}e.ValueScope=a})(Po);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;const t=gn,n=Po;var r=gn;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}});var o=Po;Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),e.operators={GT:new t._Code(">"),GTE:new t._Code(">="),LT:new t._Code("<"),LTE:new t._Code("<="),EQ:new t._Code("==="),NEQ:new t._Code("!=="),NOT:new t._Code("!"),OR:new t._Code("||"),AND:new t._Code("&&"),ADD:new t._Code("+")};class s{optimizeNodes(){return this}optimizeNames(g,w){return this}}class i extends s{constructor(g,w,_){super(),this.varKind=g,this.name=w,this.rhs=_}render({es5:g,_n:w}){const _=g?n.varKinds.var:this.varKind,C=this.rhs===void 0?"":` = ${this.rhs}`;return`${_} ${this.name}${C};`+w}optimizeNames(g,w){if(g[this.name.str])return this.rhs&&(this.rhs=Ge(this.rhs,g,w)),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}}class a extends s{constructor(g,w,_){super(),this.lhs=g,this.rhs=w,this.sideEffects=_}render({_n:g}){return`${this.lhs} = ${this.rhs};`+g}optimizeNames(g,w){if(!(this.lhs instanceof t.Name&&!g[this.lhs.str]&&!this.sideEffects))return this.rhs=Ge(this.rhs,g,w),this}get names(){const g=this.lhs instanceof t.Name?{}:{...this.lhs.names};return Et(g,this.rhs)}}class c extends a{constructor(g,w,_,C){super(g,_,C),this.op=w}render({_n:g}){return`${this.lhs} ${this.op}= ${this.rhs};`+g}}class u extends s{constructor(g){super(),this.label=g,this.names={}}render({_n:g}){return`${this.label}:`+g}}class l extends s{constructor(g){super(),this.label=g,this.names={}}render({_n:g}){return`break${this.label?` ${this.label}`:""};`+g}}class f extends s{constructor(g){super(),this.error=g}render({_n:g}){return`throw ${this.error};`+g}get names(){return this.error.names}}class p extends s{constructor(g){super(),this.code=g}render({_n:g}){return`${this.code};`+g}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(g,w){return this.code=Ge(this.code,g,w),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}}class h extends s{constructor(g=[]){super(),this.nodes=g}render(g){return this.nodes.reduce((w,_)=>w+_.render(g),"")}optimizeNodes(){const{nodes:g}=this;let w=g.length;for(;w--;){const _=g[w].optimizeNodes();Array.isArray(_)?g.splice(w,1,..._):_?g[w]=_:g.splice(w,1)}return g.length>0?this:void 0}optimizeNames(g,w){const{nodes:_}=this;let C=_.length;for(;C--;){const R=_[C];R.optimizeNames(g,w)||(Wt(g,R.names),_.splice(C,1))}return _.length>0?this:void 0}get names(){return this.nodes.reduce((g,w)=>ye(g,w.names),{})}}class d extends h{render(g){return"{"+g._n+super.render(g)+"}"+g._n}}class v extends h{}class m extends d{}m.kind="else";class y extends d{constructor(g,w){super(w),this.condition=g}render(g){let w=`if(${this.condition})`+super.render(g);return this.else&&(w+="else "+this.else.render(g)),w}optimizeNodes(){super.optimizeNodes();const g=this.condition;if(g===!0)return this.nodes;let w=this.else;if(w){const _=w.optimizeNodes();w=this.else=Array.isArray(_)?new m(_):_}if(w)return g===!1?w instanceof y?w:w.nodes:this.nodes.length?this:new y(On(g),w instanceof y?[w]:w.nodes);if(!(g===!1||!this.nodes.length))return this}optimizeNames(g,w){var _;if(this.else=(_=this.else)===null||_===void 0?void 0:_.optimizeNames(g,w),!!(super.optimizeNames(g,w)||this.else))return this.condition=Ge(this.condition,g,w),this}get names(){const g=super.names;return Et(g,this.condition),this.else&&ye(g,this.else.names),g}}y.kind="if";class $ extends d{}$.kind="for";class S extends ${constructor(g){super(),this.iteration=g}render(g){return`for(${this.iteration})`+super.render(g)}optimizeNames(g,w){if(super.optimizeNames(g,w))return this.iteration=Ge(this.iteration,g,w),this}get names(){return ye(super.names,this.iteration.names)}}class b extends ${constructor(g,w,_,C){super(),this.varKind=g,this.name=w,this.from=_,this.to=C}render(g){const w=g.es5?n.varKinds.var:this.varKind,{name:_,from:C,to:R}=this;return`for(${w} ${_}=${C}; ${_}<${R}; ${_}++)`+super.render(g)}get names(){const g=Et(super.names,this.from);return Et(g,this.to)}}class N extends ${constructor(g,w,_,C){super(),this.loop=g,this.varKind=w,this.name=_,this.iterable=C}render(g){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(g)}optimizeNames(g,w){if(super.optimizeNames(g,w))return this.iterable=Ge(this.iterable,g,w),this}get names(){return ye(super.names,this.iterable.names)}}class j extends d{constructor(g,w,_){super(),this.name=g,this.args=w,this.async=_}render(g){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(g)}}j.kind="func";class M extends h{render(g){return"return "+super.render(g)}}M.kind="return";class H extends d{render(g){let w="try"+super.render(g);return this.catch&&(w+=this.catch.render(g)),this.finally&&(w+=this.finally.render(g)),w}optimizeNodes(){var g,w;return super.optimizeNodes(),(g=this.catch)===null||g===void 0||g.optimizeNodes(),(w=this.finally)===null||w===void 0||w.optimizeNodes(),this}optimizeNames(g,w){var _,C;return super.optimizeNames(g,w),(_=this.catch)===null||_===void 0||_.optimizeNames(g,w),(C=this.finally)===null||C===void 0||C.optimizeNames(g,w),this}get names(){const g=super.names;return this.catch&&ye(g,this.catch.names),this.finally&&ye(g,this.finally.names),g}}class Z extends d{constructor(g){super(),this.error=g}render(g){return`catch(${this.error})`+super.render(g)}}Z.kind="catch";class le extends d{render(g){return"finally"+super.render(g)}}le.kind="finally";class fe{constructor(g,w={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...w,_n:w.lines?`
156
+ `:""},this._extScope=g,this._scope=new n.Scope({parent:g}),this._nodes=[new v]}toString(){return this._root.render(this.opts)}name(g){return this._scope.name(g)}scopeName(g){return this._extScope.name(g)}scopeValue(g,w){const _=this._extScope.value(g,w);return(this._values[_.prefix]||(this._values[_.prefix]=new Set)).add(_),_}getScopeValue(g,w){return this._extScope.getValue(g,w)}scopeRefs(g){return this._extScope.scopeRefs(g,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(g,w,_,C){const R=this._scope.toName(w);return _!==void 0&&C&&(this._constants[R.str]=_),this._leafNode(new i(g,R,_)),R}const(g,w,_){return this._def(n.varKinds.const,g,w,_)}let(g,w,_){return this._def(n.varKinds.let,g,w,_)}var(g,w,_){return this._def(n.varKinds.var,g,w,_)}assign(g,w,_){return this._leafNode(new a(g,w,_))}add(g,w){return this._leafNode(new c(g,e.operators.ADD,w))}code(g){return typeof g=="function"?g():g!==t.nil&&this._leafNode(new p(g)),this}object(...g){const w=["{"];for(const[_,C]of g)w.length>1&&w.push(","),w.push(_),(_!==C||this.opts.es5)&&(w.push(":"),(0,t.addCodeArg)(w,C));return w.push("}"),new t._Code(w)}if(g,w,_){if(this._blockNode(new y(g)),w&&_)this.code(w).else().code(_).endIf();else if(w)this.code(w).endIf();else if(_)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(g){return this._elseNode(new y(g))}else(){return this._elseNode(new m)}endIf(){return this._endBlockNode(y,m)}_for(g,w){return this._blockNode(g),w&&this.code(w).endFor(),this}for(g,w){return this._for(new S(g),w)}forRange(g,w,_,C,R=this.opts.es5?n.varKinds.var:n.varKinds.let){const z=this._scope.toName(g);return this._for(new b(R,z,w,_),()=>C(z))}forOf(g,w,_,C=n.varKinds.const){const R=this._scope.toName(g);if(this.opts.es5){const z=w instanceof t.Name?w:this.var("_arr",w);return this.forRange("_i",0,(0,t._)`${z}.length`,G=>{this.var(R,(0,t._)`${z}[${G}]`),_(R)})}return this._for(new N("of",C,R,w),()=>_(R))}forIn(g,w,_,C=this.opts.es5?n.varKinds.var:n.varKinds.const){if(this.opts.ownProperties)return this.forOf(g,(0,t._)`Object.keys(${w})`,_);const R=this._scope.toName(g);return this._for(new N("in",C,R,w),()=>_(R))}endFor(){return this._endBlockNode($)}label(g){return this._leafNode(new u(g))}break(g){return this._leafNode(new l(g))}return(g){const w=new M;if(this._blockNode(w),this.code(g),w.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(M)}try(g,w,_){if(!w&&!_)throw new Error('CodeGen: "try" without "catch" and "finally"');const C=new H;if(this._blockNode(C),this.code(g),w){const R=this.name("e");this._currNode=C.catch=new Z(R),w(R)}return _&&(this._currNode=C.finally=new le,this.code(_)),this._endBlockNode(Z,le)}throw(g){return this._leafNode(new f(g))}block(g,w){return this._blockStarts.push(this._nodes.length),g&&this.code(g).endBlock(w),this}endBlock(g){const w=this._blockStarts.pop();if(w===void 0)throw new Error("CodeGen: not in self-balancing block");const _=this._nodes.length-w;if(_<0||g!==void 0&&_!==g)throw new Error(`CodeGen: wrong number of nodes: ${_} vs ${g} expected`);return this._nodes.length=w,this}func(g,w=t.nil,_,C){return this._blockNode(new j(g,w,_)),C&&this.code(C).endFunc(),this}endFunc(){return this._endBlockNode(j)}optimize(g=1){for(;g-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(g){return this._currNode.nodes.push(g),this}_blockNode(g){this._currNode.nodes.push(g),this._nodes.push(g)}_endBlockNode(g,w){const _=this._currNode;if(_ instanceof g||w&&_ instanceof w)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${w?`${g.kind}/${w.kind}`:g.kind}"`)}_elseNode(g){const w=this._currNode;if(!(w instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=w.else=g,this}get _root(){return this._nodes[0]}get _currNode(){const g=this._nodes;return g[g.length-1]}set _currNode(g){const w=this._nodes;w[w.length-1]=g}}e.CodeGen=fe;function ye(O,g){for(const w in g)O[w]=(O[w]||0)+(g[w]||0);return O}function Et(O,g){return g instanceof t._CodeOrName?ye(O,g.names):O}function Ge(O,g,w){if(O instanceof t.Name)return _(O);if(!C(O))return O;return new t._Code(O._items.reduce((R,z)=>(z instanceof t.Name&&(z=_(z)),z instanceof t._Code?R.push(...z._items):R.push(z),R),[]));function _(R){const z=w[R.str];return z===void 0||g[R.str]!==1?R:(delete g[R.str],z)}function C(R){return R instanceof t._Code&&R._items.some(z=>z instanceof t.Name&&g[z.str]===1&&w[z.str]!==void 0)}}function Wt(O,g){for(const w in g)O[w]=(O[w]||0)-(g[w]||0)}function On(O){return typeof O=="boolean"||typeof O=="number"||O===null?!O:(0,t._)`!${A(O)}`}e.not=On;const Pr=E(e.operators.AND);function xr(...O){return O.reduce(Pr)}e.and=xr;const Nn=E(e.operators.OR);function P(...O){return O.reduce(Nn)}e.or=P;function E(O){return(g,w)=>g===t.nil?w:w===t.nil?g:(0,t._)`${A(g)} ${O} ${A(w)}`}function A(O){return O instanceof t.Name?O:(0,t._)`(${O})`}})(V);var x={};Object.defineProperty(x,"__esModule",{value:!0});x.checkStrictMode=x.getErrorPath=x.Type=x.useFunc=x.setEvaluated=x.evaluatedPropsToName=x.mergeEvaluated=x.eachItem=x.unescapeJsonPointer=x.escapeJsonPointer=x.escapeFragment=x.unescapeFragment=x.schemaRefOrVal=x.schemaHasRulesButRef=x.schemaHasRules=x.checkUnknownRules=x.alwaysValidSchema=x.toHash=void 0;const J=V,Lg=gn;function Bg(e){const t={};for(const n of e)t[n]=!0;return t}x.toHash=Bg;function Ug(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(hl(e,t),!ml(t,e.self.RULES.all))}x.alwaysValidSchema=Ug;function hl(e,t=e.schema){const{opts:n,self:r}=e;if(!n.strictSchema||typeof t=="boolean")return;const o=r.RULES.keywords;for(const s in t)o[s]||vl(e,`unknown keyword: "${s}"`)}x.checkUnknownRules=hl;function ml(e,t){if(typeof e=="boolean")return!e;for(const n in e)if(t[n])return!0;return!1}x.schemaHasRules=ml;function Fg(e,t){if(typeof e=="boolean")return!e;for(const n in e)if(n!=="$ref"&&t.all[n])return!0;return!1}x.schemaHasRulesButRef=Fg;function Vg({topSchemaRef:e,schemaPath:t},n,r,o){if(!o){if(typeof n=="number"||typeof n=="boolean")return n;if(typeof n=="string")return(0,J._)`${n}`}return(0,J._)`${e}${t}${(0,J.getProperty)(r)}`}x.schemaRefOrVal=Vg;function qg(e){return gl(decodeURIComponent(e))}x.unescapeFragment=qg;function Kg(e){return encodeURIComponent(As(e))}x.escapeFragment=Kg;function As(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}x.escapeJsonPointer=As;function gl(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}x.unescapeJsonPointer=gl;function Gg(e,t){if(Array.isArray(e))for(const n of e)t(n);else t(e)}x.eachItem=Gg;function Ma({mergeNames:e,mergeToName:t,mergeValues:n,resultToName:r}){return(o,s,i,a)=>{const c=i===void 0?s:i instanceof J.Name?(s instanceof J.Name?e(o,s,i):t(o,s,i),i):s instanceof J.Name?(t(o,i,s),s):n(s,i);return a===J.Name&&!(c instanceof J.Name)?r(o,c):c}}x.mergeEvaluated={props:Ma({mergeNames:(e,t,n)=>e.if((0,J._)`${n} !== true && ${t} !== undefined`,()=>{e.if((0,J._)`${t} === true`,()=>e.assign(n,!0),()=>e.assign(n,(0,J._)`${n} || {}`).code((0,J._)`Object.assign(${n}, ${t})`))}),mergeToName:(e,t,n)=>e.if((0,J._)`${n} !== true`,()=>{t===!0?e.assign(n,!0):(e.assign(n,(0,J._)`${n} || {}`),Is(e,n,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:yl}),items:Ma({mergeNames:(e,t,n)=>e.if((0,J._)`${n} !== true && ${t} !== undefined`,()=>e.assign(n,(0,J._)`${t} === true ? true : ${n} > ${t} ? ${n} : ${t}`)),mergeToName:(e,t,n)=>e.if((0,J._)`${n} !== true`,()=>e.assign(n,t===!0?!0:(0,J._)`${n} > ${t} ? ${n} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function yl(e,t){if(t===!0)return e.var("props",!0);const n=e.var("props",(0,J._)`{}`);return t!==void 0&&Is(e,n,t),n}x.evaluatedPropsToName=yl;function Is(e,t,n){Object.keys(n).forEach(r=>e.assign((0,J._)`${t}${(0,J.getProperty)(r)}`,!0))}x.setEvaluated=Is;const Da={};function zg(e,t){return e.scopeValue("func",{ref:t,code:Da[t.code]||(Da[t.code]=new Lg._Code(t.code))})}x.useFunc=zg;var xo;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(xo||(x.Type=xo={}));function Wg(e,t,n){if(e instanceof J.Name){const r=t===xo.Num;return n?r?(0,J._)`"[" + ${e} + "]"`:(0,J._)`"['" + ${e} + "']"`:r?(0,J._)`"/" + ${e}`:(0,J._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,J.getProperty)(e).toString():"/"+As(e)}x.getErrorPath=Wg;function vl(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw new Error(t);e.self.logger.warn(t)}}x.checkStrictMode=vl;var Re={};Object.defineProperty(Re,"__esModule",{value:!0});const ce=V,Hg={data:new ce.Name("data"),valCxt:new ce.Name("valCxt"),instancePath:new ce.Name("instancePath"),parentData:new ce.Name("parentData"),parentDataProperty:new ce.Name("parentDataProperty"),rootData:new ce.Name("rootData"),dynamicAnchors:new ce.Name("dynamicAnchors"),vErrors:new ce.Name("vErrors"),errors:new ce.Name("errors"),this:new ce.Name("this"),self:new ce.Name("self"),scope:new ce.Name("scope"),json:new ce.Name("json"),jsonPos:new ce.Name("jsonPos"),jsonLen:new ce.Name("jsonLen"),jsonPart:new ce.Name("jsonPart")};Re.default=Hg;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;const t=V,n=x,r=Re;e.keywordError={message:({keyword:m})=>(0,t.str)`must pass "${m}" keyword validation`},e.keyword$DataError={message:({keyword:m,schemaType:y})=>y?(0,t.str)`"${m}" keyword must be ${y} ($data)`:(0,t.str)`"${m}" keyword is invalid ($data)`};function o(m,y=e.keywordError,$,S){const{it:b}=m,{gen:N,compositeRule:j,allErrors:M}=b,H=f(m,y,$);S??(j||M)?c(N,H):u(b,(0,t._)`[${H}]`)}e.reportError=o;function s(m,y=e.keywordError,$){const{it:S}=m,{gen:b,compositeRule:N,allErrors:j}=S,M=f(m,y,$);c(b,M),N||j||u(S,r.default.vErrors)}e.reportExtraError=s;function i(m,y){m.assign(r.default.errors,y),m.if((0,t._)`${r.default.vErrors} !== null`,()=>m.if(y,()=>m.assign((0,t._)`${r.default.vErrors}.length`,y),()=>m.assign(r.default.vErrors,null)))}e.resetErrorsCount=i;function a({gen:m,keyword:y,schemaValue:$,data:S,errsCount:b,it:N}){if(b===void 0)throw new Error("ajv implementation error");const j=m.name("err");m.forRange("i",b,r.default.errors,M=>{m.const(j,(0,t._)`${r.default.vErrors}[${M}]`),m.if((0,t._)`${j}.instancePath === undefined`,()=>m.assign((0,t._)`${j}.instancePath`,(0,t.strConcat)(r.default.instancePath,N.errorPath))),m.assign((0,t._)`${j}.schemaPath`,(0,t.str)`${N.errSchemaPath}/${y}`),N.opts.verbose&&(m.assign((0,t._)`${j}.schema`,$),m.assign((0,t._)`${j}.data`,S))})}e.extendErrors=a;function c(m,y){const $=m.const("err",y);m.if((0,t._)`${r.default.vErrors} === null`,()=>m.assign(r.default.vErrors,(0,t._)`[${$}]`),(0,t._)`${r.default.vErrors}.push(${$})`),m.code((0,t._)`${r.default.errors}++`)}function u(m,y){const{gen:$,validateName:S,schemaEnv:b}=m;b.$async?$.throw((0,t._)`new ${m.ValidationError}(${y})`):($.assign((0,t._)`${S}.errors`,y),$.return(!1))}const l={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function f(m,y,$){const{createErrors:S}=m.it;return S===!1?(0,t._)`{}`:p(m,y,$)}function p(m,y,$={}){const{gen:S,it:b}=m,N=[h(b,$),d(m,$)];return v(m,y,N),S.object(...N)}function h({errorPath:m},{instancePath:y}){const $=y?(0,t.str)`${m}${(0,n.getErrorPath)(y,n.Type.Str)}`:m;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,$)]}function d({keyword:m,it:{errSchemaPath:y}},{schemaPath:$,parentSchema:S}){let b=S?y:(0,t.str)`${y}/${m}`;return $&&(b=(0,t.str)`${b}${(0,n.getErrorPath)($,n.Type.Str)}`),[l.schemaPath,b]}function v(m,{params:y,message:$},S){const{keyword:b,data:N,schemaValue:j,it:M}=m,{opts:H,propertyName:Z,topSchemaRef:le,schemaPath:fe}=M;S.push([l.keyword,b],[l.params,typeof y=="function"?y(m):y||(0,t._)`{}`]),H.messages&&S.push([l.message,typeof $=="function"?$(m):$]),H.verbose&&S.push([l.schema,j],[l.parentSchema,(0,t._)`${le}${fe}`],[r.default.data,N]),Z&&S.push([l.propertyName,Z])}})(bn);Object.defineProperty(Ut,"__esModule",{value:!0});Ut.boolOrEmptySchema=Ut.topBoolOrEmptySchema=void 0;const Jg=bn,Yg=V,Qg=Re,Zg={message:"boolean schema is false"};function Xg(e){const{gen:t,schema:n,validateName:r}=e;n===!1?$l(e,!1):typeof n=="object"&&n.$async===!0?t.return(Qg.default.data):(t.assign((0,Yg._)`${r}.errors`,null),t.return(!0))}Ut.topBoolOrEmptySchema=Xg;function ey(e,t){const{gen:n,schema:r}=e;r===!1?(n.var(t,!1),$l(e)):n.var(t,!0)}Ut.boolOrEmptySchema=ey;function $l(e,t){const{gen:n,data:r}=e,o={gen:n,keyword:"false schema",data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Jg.reportError)(o,Zg,void 0,t)}var te={},$t={};Object.defineProperty($t,"__esModule",{value:!0});$t.getRules=$t.isJSONType=void 0;const ty=["string","number","integer","boolean","null","object","array"],ny=new Set(ty);function ry(e){return typeof e=="string"&&ny.has(e)}$t.isJSONType=ry;function oy(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}$t.getRules=oy;var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.shouldUseRule=Ue.shouldUseGroup=Ue.schemaHasRulesForType=void 0;function sy({schema:e,self:t},n){const r=t.RULES.types[n];return r&&r!==!0&&wl(e,r)}Ue.schemaHasRulesForType=sy;function wl(e,t){return t.rules.some(n=>bl(e,n))}Ue.shouldUseGroup=wl;function bl(e,t){var n;return e[t.keyword]!==void 0||((n=t.definition.implements)===null||n===void 0?void 0:n.some(r=>e[r]!==void 0))}Ue.shouldUseRule=bl;Object.defineProperty(te,"__esModule",{value:!0});te.reportTypeError=te.checkDataTypes=te.checkDataType=te.coerceAndCheckDataType=te.getJSONTypes=te.getSchemaTypes=te.DataType=void 0;const iy=$t,ay=Ue,cy=bn,U=V,El=x;var Mt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Mt||(te.DataType=Mt={}));function uy(e){const t=Sl(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}te.getSchemaTypes=uy;function Sl(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(iy.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}te.getJSONTypes=Sl;function ly(e,t){const{gen:n,data:r,opts:o}=e,s=fy(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&(0,ay.schemaHasRulesForType)(e,t[0]));if(i){const a=js(t,r,o.strictNumbers,Mt.Wrong);n.if(a,()=>{s.length?dy(e,t,s):Ps(e)})}return i}te.coerceAndCheckDataType=ly;const Ol=new Set(["string","number","integer","boolean","null"]);function fy(e,t){return t?e.filter(n=>Ol.has(n)||t==="array"&&n==="array"):[]}function dy(e,t,n){const{gen:r,data:o,opts:s}=e,i=r.let("dataType",(0,U._)`typeof ${o}`),a=r.let("coerced",(0,U._)`undefined`);s.coerceTypes==="array"&&r.if((0,U._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>r.assign(o,(0,U._)`${o}[0]`).assign(i,(0,U._)`typeof ${o}`).if(js(t,o,s.strictNumbers),()=>r.assign(a,o))),r.if((0,U._)`${a} !== undefined`);for(const u of n)(Ol.has(u)||u==="array"&&s.coerceTypes==="array")&&c(u);r.else(),Ps(e),r.endIf(),r.if((0,U._)`${a} !== undefined`,()=>{r.assign(o,a),py(e,a)});function c(u){switch(u){case"string":r.elseIf((0,U._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,U._)`"" + ${o}`).elseIf((0,U._)`${o} === null`).assign(a,(0,U._)`""`);return;case"number":r.elseIf((0,U._)`${i} == "boolean" || ${o} === null
157
+ || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,U._)`+${o}`);return;case"integer":r.elseIf((0,U._)`${i} === "boolean" || ${o} === null
158
+ || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,U._)`+${o}`);return;case"boolean":r.elseIf((0,U._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,U._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":r.elseIf((0,U._)`${o} === "" || ${o} === 0 || ${o} === false`),r.assign(a,null);return;case"array":r.elseIf((0,U._)`${i} === "string" || ${i} === "number"
159
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,U._)`[${o}]`)}}}function py({gen:e,parentData:t,parentDataProperty:n},r){e.if((0,U._)`${t} !== undefined`,()=>e.assign((0,U._)`${t}[${n}]`,r))}function To(e,t,n,r=Mt.Correct){const o=r===Mt.Correct?U.operators.EQ:U.operators.NEQ;let s;switch(e){case"null":return(0,U._)`${t} ${o} null`;case"array":s=(0,U._)`Array.isArray(${t})`;break;case"object":s=(0,U._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i((0,U._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return(0,U._)`typeof ${t} ${o} ${e}`}return r===Mt.Correct?s:(0,U.not)(s);function i(a=U.nil){return(0,U.and)((0,U._)`typeof ${t} == "number"`,a,n?(0,U._)`isFinite(${t})`:U.nil)}}te.checkDataType=To;function js(e,t,n,r){if(e.length===1)return To(e[0],t,n,r);let o;const s=(0,El.toHash)(e);if(s.array&&s.object){const i=(0,U._)`typeof ${t} != "object"`;o=s.null?i:(0,U._)`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=U.nil;s.number&&delete s.integer;for(const i in s)o=(0,U.and)(o,To(i,t,n,r));return o}te.checkDataTypes=js;const hy={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,U._)`{type: ${e}}`:(0,U._)`{type: ${t}}`};function Ps(e){const t=my(e);(0,cy.reportError)(t,hy)}te.reportTypeError=Ps;function my(e){const{gen:t,data:n,schema:r}=e,o=(0,El.schemaRefOrVal)(e,r,"type");return{gen:t,keyword:"type",data:n,schema:r.type,schemaCode:o,schemaValue:o,parentSchema:r,params:{},it:e}}var wr={};Object.defineProperty(wr,"__esModule",{value:!0});wr.assignDefaults=void 0;const Nt=V,gy=x;function yy(e,t){const{properties:n,items:r}=e.schema;if(t==="object"&&n)for(const o in n)La(e,o,n[o].default);else t==="array"&&Array.isArray(r)&&r.forEach((o,s)=>La(e,s,o.default))}wr.assignDefaults=yy;function La(e,t,n){const{gen:r,compositeRule:o,data:s,opts:i}=e;if(n===void 0)return;const a=(0,Nt._)`${s}${(0,Nt.getProperty)(t)}`;if(o){(0,gy.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,Nt._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,Nt._)`${c} || ${a} === null || ${a} === ""`),r.if(c,(0,Nt._)`${a} = ${(0,Nt.stringify)(n)}`)}var xe={},F={};Object.defineProperty(F,"__esModule",{value:!0});F.validateUnion=F.validateArray=F.usePattern=F.callValidateCode=F.schemaProperties=F.allSchemaProperties=F.noPropertyInData=F.propertyInData=F.isOwnProperty=F.hasPropFunc=F.reportMissingProp=F.checkMissingProp=F.checkReportMissingProp=void 0;const Y=V,xs=x,We=Re,vy=x;function $y(e,t){const{gen:n,data:r,it:o}=e;n.if(Cs(n,r,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Y._)`${t}`},!0),e.error()})}F.checkReportMissingProp=$y;function wy({gen:e,data:t,it:{opts:n}},r,o){return(0,Y.or)(...r.map(s=>(0,Y.and)(Cs(e,t,s,n.ownProperties),(0,Y._)`${o} = ${s}`)))}F.checkMissingProp=wy;function by(e,t){e.setParams({missingProperty:t},!0),e.error()}F.reportMissingProp=by;function Nl(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Y._)`Object.prototype.hasOwnProperty`})}F.hasPropFunc=Nl;function Ts(e,t,n){return(0,Y._)`${Nl(e)}.call(${t}, ${n})`}F.isOwnProperty=Ts;function Ey(e,t,n,r){const o=(0,Y._)`${t}${(0,Y.getProperty)(n)} !== undefined`;return r?(0,Y._)`${o} && ${Ts(e,t,n)}`:o}F.propertyInData=Ey;function Cs(e,t,n,r){const o=(0,Y._)`${t}${(0,Y.getProperty)(n)} === undefined`;return r?(0,Y.or)(o,(0,Y.not)(Ts(e,t,n))):o}F.noPropertyInData=Cs;function _l(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}F.allSchemaProperties=_l;function Sy(e,t){return _l(t).filter(n=>!(0,xs.alwaysValidSchema)(e,t[n]))}F.schemaProperties=Sy;function Oy({schemaCode:e,data:t,it:{gen:n,topSchemaRef:r,schemaPath:o,errorPath:s},it:i},a,c,u){const l=u?(0,Y._)`${e}, ${t}, ${r}${o}`:t,f=[[We.default.instancePath,(0,Y.strConcat)(We.default.instancePath,s)],[We.default.parentData,i.parentData],[We.default.parentDataProperty,i.parentDataProperty],[We.default.rootData,We.default.rootData]];i.opts.dynamicRef&&f.push([We.default.dynamicAnchors,We.default.dynamicAnchors]);const p=(0,Y._)`${l}, ${n.object(...f)}`;return c!==Y.nil?(0,Y._)`${a}.call(${c}, ${p})`:(0,Y._)`${a}(${p})`}F.callValidateCode=Oy;const Ny=(0,Y._)`new RegExp`;function _y({gen:e,it:{opts:t}},n){const r=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(n,r);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Y._)`${o.code==="new RegExp"?Ny:(0,vy.useFunc)(e,o)}(${n}, ${r})`})}F.usePattern=_y;function ky(e){const{gen:t,data:n,keyword:r,it:o}=e,s=t.name("valid");if(o.allErrors){const a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){const c=t.const("len",(0,Y._)`${n}.length`);t.forRange("i",0,c,u=>{e.subschema({keyword:r,dataProp:u,dataPropType:xs.Type.Num},s),t.if((0,Y.not)(s),a)})}}F.validateArray=ky;function Ay(e){const{gen:t,schema:n,keyword:r,it:o}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some(a=>(0,xs.alwaysValidSchema)(o,a))&&!o.opts.unevaluated)return;const s=t.let("valid",!1),i=t.name("_valid");t.block(()=>n.forEach((a,c)=>{const u=e.subschema({keyword:r,schemaProp:c,compositeRule:!0},i);t.assign(s,(0,Y._)`${s} || ${i}`),e.mergeValidEvaluated(u,i)||t.if((0,Y.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}F.validateUnion=Ay;Object.defineProperty(xe,"__esModule",{value:!0});xe.validateKeywordUsage=xe.validSchemaType=xe.funcKeywordCode=xe.macroKeywordCode=void 0;const de=V,ut=Re,Iy=F,jy=bn;function Py(e,t){const{gen:n,keyword:r,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=kl(n,r,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);const u=n.name("valid");e.subschema({schema:a,schemaPath:de.nil,errSchemaPath:`${i.errSchemaPath}/${r}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}xe.macroKeywordCode=Py;function xy(e,t){var n;const{gen:r,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;Cy(c,t);const u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,l=kl(r,o,u),f=r.let("valid");e.block$data(f,p),e.ok((n=t.valid)!==null&&n!==void 0?n:f);function p(){if(t.errors===!1)v(),t.modifying&&Ba(e),m(()=>e.error());else{const y=t.async?h():d();t.modifying&&Ba(e),m(()=>Ty(e,y))}}function h(){const y=r.let("ruleErrs",null);return r.try(()=>v((0,de._)`await `),$=>r.assign(f,!1).if((0,de._)`${$} instanceof ${c.ValidationError}`,()=>r.assign(y,(0,de._)`${$}.errors`),()=>r.throw($))),y}function d(){const y=(0,de._)`${l}.errors`;return r.assign(y,null),v(de.nil),y}function v(y=t.async?(0,de._)`await `:de.nil){const $=c.opts.passContext?ut.default.this:ut.default.self,S=!("compile"in t&&!a||t.schema===!1);r.assign(f,(0,de._)`${y}${(0,Iy.callValidateCode)(e,l,$,S)}`,t.modifying)}function m(y){var $;r.if((0,de.not)(($=t.valid)!==null&&$!==void 0?$:f),y)}}xe.funcKeywordCode=xy;function Ba(e){const{gen:t,data:n,it:r}=e;t.if(r.parentData,()=>t.assign(n,(0,de._)`${r.parentData}[${r.parentDataProperty}]`))}function Ty(e,t){const{gen:n}=e;n.if((0,de._)`Array.isArray(${t})`,()=>{n.assign(ut.default.vErrors,(0,de._)`${ut.default.vErrors} === null ? ${t} : ${ut.default.vErrors}.concat(${t})`).assign(ut.default.errors,(0,de._)`${ut.default.vErrors}.length`),(0,jy.extendErrors)(e)},()=>e.error())}function Cy({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function kl(e,t,n){if(n===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof n=="function"?{ref:n}:{ref:n,code:(0,de.stringify)(n)})}function Ry(e,t,n=!1){return!t.length||t.some(r=>r==="array"?Array.isArray(e):r==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==r||n&&typeof e>"u")}xe.validSchemaType=Ry;function My({schema:e,opts:t,self:n,errSchemaPath:r},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");const i=o.dependencies;if(i!=null&&i.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[s])){const a=`keyword "${s}" value is invalid at path "${r}": `+n.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")n.logger.error(a);else throw new Error(a)}}xe.validateKeywordUsage=My;var et={};Object.defineProperty(et,"__esModule",{value:!0});et.extendSubschemaMode=et.extendSubschemaData=et.getSubschema=void 0;const Pe=V,Al=x;function Dy(e,{keyword:t,schemaProp:n,schema:r,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&r!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){const a=e.schema[t];return n===void 0?{schema:a,schemaPath:(0,Pe._)`${e.schemaPath}${(0,Pe.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[n],schemaPath:(0,Pe._)`${e.schemaPath}${(0,Pe.getProperty)(t)}${(0,Pe.getProperty)(n)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,Al.escapeFragment)(n)}`}}if(r!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:r,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}et.getSubschema=Dy;function Ly(e,t,{dataProp:n,dataPropType:r,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&n!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=t;if(n!==void 0){const{errorPath:u,dataPathArr:l,opts:f}=t,p=a.let("data",(0,Pe._)`${t.data}${(0,Pe.getProperty)(n)}`,!0);c(p),e.errorPath=(0,Pe.str)`${u}${(0,Al.getErrorPath)(n,r,f.jsPropertySyntax)}`,e.parentDataProperty=(0,Pe._)`${n}`,e.dataPathArr=[...l,e.parentDataProperty]}if(o!==void 0){const u=o instanceof Pe.Name?o:a.let("data",o,!0);c(u),i!==void 0&&(e.propertyName=i)}s&&(e.dataTypes=s);function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}et.extendSubschemaData=Ly;function By(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:o,allErrors:s}){r!==void 0&&(e.compositeRule=r),o!==void 0&&(e.createErrors=o),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=n}et.extendSubschemaMode=By;var se={},Il=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,o,s;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(o=r;o--!==0;)if(!e(t[o],n[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(s=Object.keys(t),r=s.length,r!==Object.keys(n).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[o]))return!1;for(o=r;o--!==0;){var i=s[o];if(!e(t[i],n[i]))return!1}return!0}return t!==t&&n!==n},jl={exports:{}},Qe=jl.exports=function(e,t,n){typeof t=="function"&&(n=t,t={}),n=t.cb||n;var r=typeof n=="function"?n:n.pre||function(){},o=n.post||function(){};Wn(t,r,o,e,"",e)};Qe.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qe.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qe.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qe.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Wn(e,t,n,r,o,s,i,a,c,u){if(r&&typeof r=="object"&&!Array.isArray(r)){t(r,o,s,i,a,c,u);for(var l in r){var f=r[l];if(Array.isArray(f)){if(l in Qe.arrayKeywords)for(var p=0;p<f.length;p++)Wn(e,t,n,f[p],o+"/"+l+"/"+p,s,o,l,r,p)}else if(l in Qe.propsKeywords){if(f&&typeof f=="object")for(var h in f)Wn(e,t,n,f[h],o+"/"+l+"/"+Uy(h),s,o,l,r,h)}else(l in Qe.keywords||e.allKeys&&!(l in Qe.skipKeywords))&&Wn(e,t,n,f,o+"/"+l,s,o,l,r)}n(r,o,s,i,a,c,u)}}function Uy(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}var Fy=jl.exports;Object.defineProperty(se,"__esModule",{value:!0});se.getSchemaRefs=se.resolveUrl=se.normalizeId=se._getFullPath=se.getFullPath=se.inlineRef=void 0;const Vy=x,qy=Il,Ky=Fy,Gy=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function zy(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Co(e):t?Pl(e)<=t:!1}se.inlineRef=zy;const Wy=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Co(e){for(const t in e){if(Wy.has(t))return!0;const n=e[t];if(Array.isArray(n)&&n.some(Co)||typeof n=="object"&&Co(n))return!0}return!1}function Pl(e){let t=0;for(const n in e)if(n==="$ref"||(t++,!Gy.has(n)&&(typeof e[n]=="object"&&(0,Vy.eachItem)(e[n],r=>t+=Pl(r)),t===1/0)))return 1/0;return t}function xl(e,t="",n){n!==!1&&(t=Dt(t));const r=e.parse(t);return Tl(e,r)}se.getFullPath=xl;function Tl(e,t){return e.serialize(t).split("#")[0]+"#"}se._getFullPath=Tl;const Hy=/#\/?$/;function Dt(e){return e?e.replace(Hy,""):""}se.normalizeId=Dt;function Jy(e,t,n){return n=Dt(n),e.resolve(t,n)}se.resolveUrl=Jy;const Yy=/^[a-z_][-a-z0-9._]*$/i;function Qy(e,t){if(typeof e=="boolean")return{};const{schemaId:n,uriResolver:r}=this.opts,o=Dt(e[n]||t),s={"":o},i=xl(r,o,!1),a={},c=new Set;return Ky(e,{allKeys:!0},(f,p,h,d)=>{if(d===void 0)return;const v=i+p;let m=s[d];typeof f[n]=="string"&&(m=y.call(this,f[n])),$.call(this,f.$anchor),$.call(this,f.$dynamicAnchor),s[p]=m;function y(S){const b=this.opts.uriResolver.resolve;if(S=Dt(m?b(m,S):S),c.has(S))throw l(S);c.add(S);let N=this.refs[S];return typeof N=="string"&&(N=this.refs[N]),typeof N=="object"?u(f,N.schema,S):S!==Dt(v)&&(S[0]==="#"?(u(f,a[S],S),a[S]=f):this.refs[S]=v),S}function $(S){if(typeof S=="string"){if(!Yy.test(S))throw new Error(`invalid anchor "${S}"`);y.call(this,`#${S}`)}}}),a;function u(f,p,h){if(p!==void 0&&!qy(f,p))throw l(h)}function l(f){return new Error(`reference "${f}" resolves to more than one schema`)}}se.getSchemaRefs=Qy;Object.defineProperty(Ie,"__esModule",{value:!0});Ie.getData=Ie.KeywordCxt=Ie.validateFunctionCode=void 0;const Cl=Ut,Ua=te,Rs=Ue,rr=te,Zy=wr,an=xe,Xr=et,T=V,L=Re,Xy=se,Fe=x,Jt=bn;function ev(e){if(Dl(e)&&(Ll(e),Ml(e))){rv(e);return}Rl(e,()=>(0,Cl.topBoolOrEmptySchema)(e))}Ie.validateFunctionCode=ev;function Rl({gen:e,validateName:t,schema:n,schemaEnv:r,opts:o},s){o.code.es5?e.func(t,(0,T._)`${L.default.data}, ${L.default.valCxt}`,r.$async,()=>{e.code((0,T._)`"use strict"; ${Fa(n,o)}`),nv(e,o),e.code(s)}):e.func(t,(0,T._)`${L.default.data}, ${tv(o)}`,r.$async,()=>e.code(Fa(n,o)).code(s))}function tv(e){return(0,T._)`{${L.default.instancePath}="", ${L.default.parentData}, ${L.default.parentDataProperty}, ${L.default.rootData}=${L.default.data}${e.dynamicRef?(0,T._)`, ${L.default.dynamicAnchors}={}`:T.nil}}={}`}function nv(e,t){e.if(L.default.valCxt,()=>{e.var(L.default.instancePath,(0,T._)`${L.default.valCxt}.${L.default.instancePath}`),e.var(L.default.parentData,(0,T._)`${L.default.valCxt}.${L.default.parentData}`),e.var(L.default.parentDataProperty,(0,T._)`${L.default.valCxt}.${L.default.parentDataProperty}`),e.var(L.default.rootData,(0,T._)`${L.default.valCxt}.${L.default.rootData}`),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0,T._)`${L.default.valCxt}.${L.default.dynamicAnchors}`)},()=>{e.var(L.default.instancePath,(0,T._)`""`),e.var(L.default.parentData,(0,T._)`undefined`),e.var(L.default.parentDataProperty,(0,T._)`undefined`),e.var(L.default.rootData,L.default.data),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0,T._)`{}`)})}function rv(e){const{schema:t,opts:n,gen:r}=e;Rl(e,()=>{n.$comment&&t.$comment&&Ul(e),cv(e),r.let(L.default.vErrors,null),r.let(L.default.errors,0),n.unevaluated&&ov(e),Bl(e),fv(e)})}function ov(e){const{gen:t,validateName:n}=e;e.evaluated=t.const("evaluated",(0,T._)`${n}.evaluated`),t.if((0,T._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,T._)`${e.evaluated}.props`,(0,T._)`undefined`)),t.if((0,T._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,T._)`${e.evaluated}.items`,(0,T._)`undefined`))}function Fa(e,t){const n=typeof e=="object"&&e[t.schemaId];return n&&(t.code.source||t.code.process)?(0,T._)`/*# sourceURL=${n} */`:T.nil}function sv(e,t){if(Dl(e)&&(Ll(e),Ml(e))){iv(e,t);return}(0,Cl.boolOrEmptySchema)(e,t)}function Ml({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const n in e)if(t.RULES.all[n])return!0;return!1}function Dl(e){return typeof e.schema!="boolean"}function iv(e,t){const{schema:n,gen:r,opts:o}=e;o.$comment&&n.$comment&&Ul(e),uv(e),lv(e);const s=r.const("_errs",L.default.errors);Bl(e,s),r.var(t,(0,T._)`${s} === ${L.default.errors}`)}function Ll(e){(0,Fe.checkUnknownRules)(e),av(e)}function Bl(e,t){if(e.opts.jtd)return Va(e,[],!1,t);const n=(0,Ua.getSchemaTypes)(e.schema),r=(0,Ua.coerceAndCheckDataType)(e,n);Va(e,n,!r,t)}function av(e){const{schema:t,errSchemaPath:n,opts:r,self:o}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,Fe.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function cv(e){const{schema:t,opts:n}=e;t.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,Fe.checkStrictMode)(e,"default is ignored in the schema root")}function uv(e){const t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,Xy.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function lv(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ul({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:o}){const s=n.$comment;if(o.$comment===!0)e.code((0,T._)`${L.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){const i=(0,T.str)`${r}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,T._)`${L.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function fv(e){const{gen:t,schemaEnv:n,validateName:r,ValidationError:o,opts:s}=e;n.$async?t.if((0,T._)`${L.default.errors} === 0`,()=>t.return(L.default.data),()=>t.throw((0,T._)`new ${o}(${L.default.vErrors})`)):(t.assign((0,T._)`${r}.errors`,L.default.vErrors),s.unevaluated&&dv(e),t.return((0,T._)`${L.default.errors} === 0`))}function dv({gen:e,evaluated:t,props:n,items:r}){n instanceof T.Name&&e.assign((0,T._)`${t}.props`,n),r instanceof T.Name&&e.assign((0,T._)`${t}.items`,r)}function Va(e,t,n,r){const{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Fe.schemaHasRulesButRef)(s,l))){o.block(()=>ql(e,"$ref",l.all.$ref.definition));return}c.jtd||pv(e,t),o.block(()=>{for(const p of l.rules)f(p);f(l.post)});function f(p){(0,Rs.shouldUseGroup)(s,p)&&(p.type?(o.if((0,rr.checkDataType)(p.type,i,c.strictNumbers)),qa(e,p),t.length===1&&t[0]===p.type&&n&&(o.else(),(0,rr.reportTypeError)(e)),o.endIf()):qa(e,p),a||o.if((0,T._)`${L.default.errors} === ${r||0}`))}}function qa(e,t){const{gen:n,schema:r,opts:{useDefaults:o}}=e;o&&(0,Zy.assignDefaults)(e,t.type),n.block(()=>{for(const s of t.rules)(0,Rs.shouldUseRule)(r,s)&&ql(e,s.keyword,s.definition,t.type)})}function pv(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(hv(e,t),e.opts.allowUnionTypes||mv(e,t),gv(e,e.dataTypes))}function hv(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(n=>{Fl(e.dataTypes,n)||Ms(e,`type "${n}" not allowed by context "${e.dataTypes.join(",")}"`)}),vv(e,t)}}function mv(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Ms(e,"use allowUnionTypes to allow union type keyword")}function gv(e,t){const n=e.self.RULES.all;for(const r in n){const o=n[r];if(typeof o=="object"&&(0,Rs.shouldUseRule)(e.schema,o)){const{type:s}=o.definition;s.length&&!s.some(i=>yv(t,i))&&Ms(e,`missing type "${s.join(",")}" for keyword "${r}"`)}}}function yv(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Fl(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function vv(e,t){const n=[];for(const r of e.dataTypes)Fl(t,r)?n.push(r):t.includes("integer")&&r==="number"&&n.push("integer");e.dataTypes=n}function Ms(e,t){const n=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${n}" (strictTypes)`,(0,Fe.checkStrictMode)(e,t,e.opts.strictTypes)}class Vl{constructor(t,n,r){if((0,an.validateKeywordUsage)(t,n,r),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=r,this.data=t.data,this.schema=t.schema[r],this.$data=n.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Fe.schemaRefOrVal)(t,this.schema,r,this.$data),this.schemaType=n.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=n,this.$data)this.schemaCode=t.gen.const("vSchema",Kl(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,an.validSchemaType)(this.schema,n.schemaType,n.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(n.schemaType)}`);("code"in n?n.trackErrors:n.errors!==!1)&&(this.errsCount=t.gen.const("_errs",L.default.errors))}result(t,n,r){this.failResult((0,T.not)(t),n,r)}failResult(t,n,r){this.gen.if(t),r?r():this.error(),n?(this.gen.else(),n(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,n){this.failResult((0,T.not)(t),void 0,n)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);const{schemaCode:n}=this;this.fail((0,T._)`${n} !== undefined && (${(0,T.or)(this.invalid$data(),t)})`)}error(t,n,r){if(n){this.setParams(n),this._error(t,r),this.setParams({});return}this._error(t,r)}_error(t,n){(t?Jt.reportExtraError:Jt.reportError)(this,this.def.error,n)}$dataError(){(0,Jt.reportError)(this,this.def.$dataError||Jt.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Jt.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,n){n?Object.assign(this.params,t):this.params=t}block$data(t,n,r=T.nil){this.gen.block(()=>{this.check$data(t,r),n()})}check$data(t=T.nil,n=T.nil){if(!this.$data)return;const{gen:r,schemaCode:o,schemaType:s,def:i}=this;r.if((0,T.or)((0,T._)`${o} === undefined`,n)),t!==T.nil&&r.assign(t,!0),(s.length||i.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),t!==T.nil&&r.assign(t,!1)),r.else()}invalid$data(){const{gen:t,schemaCode:n,schemaType:r,def:o,it:s}=this;return(0,T.or)(i(),a());function i(){if(r.length){if(!(n instanceof T.Name))throw new Error("ajv implementation error");const c=Array.isArray(r)?r:[r];return(0,T._)`${(0,rr.checkDataTypes)(c,n,s.opts.strictNumbers,rr.DataType.Wrong)}`}return T.nil}function a(){if(o.validateSchema){const c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,T._)`!${c}(${n})`}return T.nil}}subschema(t,n){const r=(0,Xr.getSubschema)(this.it,t);(0,Xr.extendSubschemaData)(r,this.it,t),(0,Xr.extendSubschemaMode)(r,t);const o={...this.it,...r,items:void 0,props:void 0};return sv(o,n),o}mergeEvaluated(t,n){const{it:r,gen:o}=this;r.opts.unevaluated&&(r.props!==!0&&t.props!==void 0&&(r.props=Fe.mergeEvaluated.props(o,t.props,r.props,n)),r.items!==!0&&t.items!==void 0&&(r.items=Fe.mergeEvaluated.items(o,t.items,r.items,n)))}mergeValidEvaluated(t,n){const{it:r,gen:o}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return o.if(n,()=>this.mergeEvaluated(t,T.Name)),!0}}Ie.KeywordCxt=Vl;function ql(e,t,n,r){const o=new Vl(e,n,t);"code"in n?n.code(o,r):o.$data&&n.validate?(0,an.funcKeywordCode)(o,n):"macro"in n?(0,an.macroKeywordCode)(o,n):(n.compile||n.validate)&&(0,an.funcKeywordCode)(o,n)}const $v=/^\/(?:[^~]|~0|~1)*$/,wv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Kl(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let o,s;if(e==="")return L.default.rootData;if(e[0]==="/"){if(!$v.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,s=L.default.rootData}else{const u=wv.exec(e);if(!u)throw new Error(`Invalid JSON-pointer: ${e}`);const l=+u[1];if(o=u[2],o==="#"){if(l>=t)throw new Error(c("property/index",l));return r[t-l]}if(l>t)throw new Error(c("data",l));if(s=n[t-l],!o)return s}let i=s;const a=o.split("/");for(const u of a)u&&(s=(0,T._)`${s}${(0,T.getProperty)((0,Fe.unescapeJsonPointer)(u))}`,i=(0,T._)`${i} && ${s}`);return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}Ie.getData=Kl;var En={};Object.defineProperty(En,"__esModule",{value:!0});let bv=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};En.default=bv;var Kt={};Object.defineProperty(Kt,"__esModule",{value:!0});const eo=se;class Ev extends Error{constructor(t,n,r,o){super(o||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,eo.resolveUrl)(t,n,r),this.missingSchema=(0,eo.normalizeId)((0,eo.getFullPath)(t,this.missingRef))}}Kt.default=Ev;var ge={};Object.defineProperty(ge,"__esModule",{value:!0});ge.resolveSchema=ge.getCompilingSchema=ge.resolveRef=ge.compileSchema=ge.SchemaEnv=void 0;const Oe=V,Sv=En,ot=Re,_e=se,Ka=x,Ov=Ie;class br{constructor(t){var n;this.refs={},this.dynamicAnchors={};let r;typeof t.schema=="object"&&(r=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(n=t.baseId)!==null&&n!==void 0?n:(0,_e.normalizeId)(r==null?void 0:r[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=r==null?void 0:r.$async,this.refs={}}}ge.SchemaEnv=br;function Ds(e){const t=Gl.call(this,e);if(t)return t;const n=(0,_e.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:r,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Oe.CodeGen(this.scope,{es5:r,lines:o,ownProperties:s});let a;e.$async&&(a=i.scopeValue("Error",{ref:Sv.default,code:(0,Oe._)`require("ajv/dist/runtime/validation_error").default`}));const c=i.scopeName("validate");e.validateName=c;const u={gen:i,allErrors:this.opts.allErrors,data:ot.default.data,parentData:ot.default.parentData,parentDataProperty:ot.default.parentDataProperty,dataNames:[ot.default.data],dataPathArr:[Oe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Oe.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:n,baseId:e.baseId||n,schemaPath:Oe.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Oe._)`""`,opts:this.opts,self:this};let l;try{this._compilations.add(e),(0,Ov.validateFunctionCode)(u),i.optimize(this.opts.code.optimize);const f=i.toString();l=`${i.scopeRefs(ot.default.scope)}return ${f}`,this.opts.code.process&&(l=this.opts.code.process(l,e));const p=new Function(`${ot.default.self}`,`${ot.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=e.schema,p.schemaEnv=e,e.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:f,scopeValues:i._values}),this.opts.unevaluated){const{props:h,items:d}=u;p.evaluated={props:h instanceof Oe.Name?void 0:h,items:d instanceof Oe.Name?void 0:d,dynamicProps:h instanceof Oe.Name,dynamicItems:d instanceof Oe.Name},p.source&&(p.source.evaluated=(0,Oe.stringify)(p.evaluated))}return e.validate=p,e}catch(f){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),f}finally{this._compilations.delete(e)}}ge.compileSchema=Ds;function Nv(e,t,n){var r;n=(0,_e.resolveUrl)(this.opts.uriResolver,t,n);const o=e.refs[n];if(o)return o;let s=Av.call(this,e,n);if(s===void 0){const i=(r=e.localRefs)===null||r===void 0?void 0:r[n],{schemaId:a}=this.opts;i&&(s=new br({schema:i,schemaId:a,root:e,baseId:t}))}if(s!==void 0)return e.refs[n]=_v.call(this,s)}ge.resolveRef=Nv;function _v(e){return(0,_e.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Ds.call(this,e)}function Gl(e){for(const t of this._compilations)if(kv(t,e))return t}ge.getCompilingSchema=Gl;function kv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Av(e,t){let n;for(;typeof(n=this.refs[t])=="string";)t=n;return n||this.schemas[t]||Er.call(this,e,t)}function Er(e,t){const n=this.opts.uriResolver.parse(t),r=(0,_e._getFullPath)(this.opts.uriResolver,n);let o=(0,_e.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===o)return to.call(this,n,e);const s=(0,_e.normalizeId)(r),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){const a=Er.call(this,e,i);return typeof(a==null?void 0:a.schema)!="object"?void 0:to.call(this,n,a)}if(typeof(i==null?void 0:i.schema)=="object"){if(i.validate||Ds.call(this,i),s===(0,_e.normalizeId)(t)){const{schema:a}=i,{schemaId:c}=this.opts,u=a[c];return u&&(o=(0,_e.resolveUrl)(this.opts.uriResolver,o,u)),new br({schema:a,schemaId:c,root:e,baseId:o})}return to.call(this,n,i)}}ge.resolveSchema=Er;const Iv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function to(e,{baseId:t,schema:n,root:r}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(const a of e.fragment.slice(1).split("/")){if(typeof n=="boolean")return;const c=n[(0,Ka.unescapeFragment)(a)];if(c===void 0)return;n=c;const u=typeof n=="object"&&n[this.opts.schemaId];!Iv.has(a)&&u&&(t=(0,_e.resolveUrl)(this.opts.uriResolver,t,u))}let s;if(typeof n!="boolean"&&n.$ref&&!(0,Ka.schemaHasRulesButRef)(n,this.RULES)){const a=(0,_e.resolveUrl)(this.opts.uriResolver,t,n.$ref);s=Er.call(this,r,a)}const{schemaId:i}=this.opts;if(s=s||new br({schema:n,schemaId:i,root:r,baseId:t}),s.schema!==s.root.schema)return s}const jv="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Pv="Meta-schema for $data reference (JSON AnySchema extension proposal)",xv="object",Tv=["$data"],Cv={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},Rv=!1,Mv={$id:jv,description:Pv,type:xv,required:Tv,properties:Cv,additionalProperties:Rv};var Ls={},Sr={exports:{}};const Dv=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),zl=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),Bs=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Wl=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),Lv=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Hl(e){let t="",n=0,r=0;for(r=0;r<e.length;r++)if(n=e[r].charCodeAt(0),n!==48){if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";t+=e[r];break}for(r+=1;r<e.length;r++){if(n=e[r].charCodeAt(0),!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return"";t+=e[r]}return t}const Bv=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ga(e){return e.length=0,!0}function Uv(e,t,n){if(e.length){const r=Hl(e);if(r!=="")t.push(r);else return n.error=!0,!1;e.length=0}return!0}function Fv(e){let t=0;const n={error:!1,address:"",zone:""},r=[],o=[];let s=!1,i=!1,a=Uv;for(let c=0;c<e.length;c++){const u=e[c];if(!(u==="["||u==="]"))if(u===":"){if(s===!0&&(i=!0),!a(o,r,n))break;if(++t>7){n.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),r.push(":");continue}else if(u==="%"){if(!a(o,r,n))break;a=Ga}else{o.push(u);continue}}return o.length&&(a===Ga?n.zone=o.join(""):i?r.push(o.join("")):r.push(Hl(o))),n.address=r.join(""),n}function Jl(e){if(Vv(e,":")<2)return{host:e,isIPV6:!1};const t=Fv(e);if(t.error)return{host:e,isIPV6:!1};{let n=t.address,r=t.address;return t.zone&&(n+="%"+t.zone,r+="%25"+t.zone),{host:n,isIPV6:!0,escapedHost:r}}}function Vv(e,t){let n=0;for(let r=0;r<e.length;r++)e[r]===t&&n++;return n}function qv(e){let t=e;const n=[];let r=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){n.push("/");break}else{n.push(t);break}}else if(o===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){n.push("/");break}}else if(o===3&&t==="/.."){n.length!==0&&n.pop(),n.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),n.length!==0&&n.pop();continue}}if((r=t.indexOf("/",1))===-1){n.push(t);break}else n.push(t.slice(0,r)),t=t.slice(r)}return n.join("")}const Kv={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},Gv=/[@/?#:]/g,zv=/[@/?#]/g;function Yl(e,t){const n=t?zv:Gv;return n.lastIndex=0,e.replace(n,r=>Kv[r])}function Wv(e,t=!1){if(e.indexOf("%")===-1)return e;let n="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){const o=e.slice(r+1,r+3);if(Bs(o)){const s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));t&&Wl(i)?n+=i:n+="%"+s,r+=2;continue}}n+=e[r]}return n}function Hv(e){let t="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){const r=e.slice(n+1,n+3);if(Bs(r)){const o=r.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Wl(s)?t+=s:t+="%"+o,n+=2;continue}}Lv(e[n])?t+=e[n]:t+=escape(e[n])}return t}function Jv(e){let t="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){const r=e.slice(n+1,n+3);if(Bs(r)){t+="%"+r.toUpperCase(),n+=2;continue}}t+=escape(e[n])}return t}function Yv(e){const t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let n=unescape(e.host);if(!zl(n)){const r=Jl(n);r.isIPV6===!0?n=`[${r.escapedHost}]`:n=Yl(n,!1)}t.push(n)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}var Ql={nonSimpleDomain:Bv,recomposeAuthority:Yv,reescapeHostDelimiters:Yl,normalizePercentEncoding:Wv,normalizePathEncoding:Hv,escapePreservingEscapes:Jv,removeDotSegments:qv,isIPv4:zl,isUUID:Dv,normalizeIPv6:Jl};const{isUUID:Qv}=Ql,Zv=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Zl(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Xl(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function ef(e){const t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Xv(e){return e.secure=Zl(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function e$(e){if((e.port===(Zl(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){const[t,n]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=n,e.resourceName=void 0}return e.fragment=void 0,e}function t$(e,t){if(!e.path)return e.error="URN can not be parsed",e;const n=e.path.match(Zv);if(n){const r=t.scheme||e.scheme||"urn";e.nid=n[1].toLowerCase(),e.nss=n[2];const o=`${r}:${t.nid||e.nid}`,s=Us(o);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function n$(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");const n=t.scheme||e.scheme||"urn",r=e.nid.toLowerCase(),o=`${n}:${t.nid||r}`,s=Us(o);s&&(e=s.serialize(e,t));const i=e,a=e.nss;return i.path=`${r||t.nid}:${a}`,t.skipEscape=!0,i}function r$(e,t){const n=e;return n.uuid=n.nss,n.nss=void 0,!t.tolerant&&(!n.uuid||!Qv(n.uuid))&&(n.error=n.error||"UUID is not valid."),n}function o$(e){const t=e;return t.nss=(e.uuid||"").toLowerCase(),t}const tf={scheme:"http",domainHost:!0,parse:Xl,serialize:ef},s$={scheme:"https",domainHost:tf.domainHost,parse:Xl,serialize:ef},Hn={scheme:"ws",domainHost:!0,parse:Xv,serialize:e$},i$={scheme:"wss",domainHost:Hn.domainHost,parse:Hn.parse,serialize:Hn.serialize},a$={scheme:"urn",parse:t$,serialize:n$,skipNormalize:!0},c$={scheme:"urn:uuid",parse:r$,serialize:o$,skipNormalize:!0},or={http:tf,https:s$,ws:Hn,wss:i$,urn:a$,"urn:uuid":c$};Object.setPrototypeOf(or,null);function Us(e){return e&&(or[e]||or[e.toLowerCase()])||void 0}var u$={SCHEMES:or,getSchemeHandler:Us};const{normalizeIPv6:l$,removeDotSegments:tn,recomposeAuthority:f$,normalizePercentEncoding:d$,normalizePathEncoding:p$,escapePreservingEscapes:h$,reescapeHostDelimiters:m$,isIPv4:g$,nonSimpleDomain:y$}=Ql,{SCHEMES:v$,getSchemeHandler:nf}=u$;function $$(e,t){return typeof e=="string"?e=O$(e,t):typeof e=="object"&&(e=Ft(wt(e,t),t)),e}function w$(e,t,n){const r=n?Object.assign({scheme:"null"},n):{scheme:"null"},o=rf(Ft(e,r),Ft(t,r),r,!0);return r.skipEscape=!0,wt(o,r)}function rf(e,t,n,r){const o={};return r||(e=Ft(wt(e,n),n),t=Ft(wt(t,n),n)),n=n||{},!n.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=tn(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=tn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=tn(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=tn(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function b$(e,t,n){const r=za(e,n),o=za(t,n);return r!==void 0&&o!==void 0&&r.toLowerCase()===o.toLowerCase()}function wt(e,t){const n={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},r=Object.assign({},t),o=[],s=nf(r.scheme||n.scheme);s&&s.serialize&&s.serialize(n,r),n.path!==void 0&&(r.skipEscape?n.path=d$(n.path):(n.path=h$(n.path),n.scheme!==void 0&&(n.path=n.path.split("%3A").join(":")))),r.reference!=="suffix"&&n.scheme&&o.push(n.scheme,":");const i=f$(n);if(i!==void 0&&(r.reference!=="suffix"&&o.push("//"),o.push(i),n.path&&n.path[0]!=="/"&&o.push("/")),n.path!==void 0){let a=n.path;!r.absolutePath&&(!s||!s.absolutePath)&&(a=tn(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return n.query!==void 0&&o.push("?",n.query),n.fragment!==void 0&&o.push("#",n.fragment),o.join("")}const E$=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function S$(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function of(e,t){const n=Object.assign({},t),r={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let o=!1,s=!1;n.reference==="suffix"&&(n.scheme?e=n.scheme+":"+e:e="//"+e);const i=e.match(E$);if(i){r.scheme=i[1],r.userinfo=i[3],r.host=i[4],r.port=parseInt(i[5],10),r.path=i[6]||"",r.query=i[7],r.fragment=i[8],isNaN(r.port)&&(r.port=i[5]);const a=S$(r,i);if(a!==void 0&&(r.error=r.error||a,o=!0),r.host)if(g$(r.host)===!1){const u=l$(r.host);r.host=u.host.toLowerCase(),s=u.isIPV6}else s=!0;r.scheme===void 0&&r.userinfo===void 0&&r.host===void 0&&r.port===void 0&&r.query===void 0&&!r.path?r.reference="same-document":r.scheme===void 0?r.reference="relative":r.fragment===void 0?r.reference="absolute":r.reference="uri",n.reference&&n.reference!=="suffix"&&n.reference!==r.reference&&(r.error=r.error||"URI is not a "+n.reference+" reference.");const c=nf(n.scheme||r.scheme);if(!n.unicodeSupport&&(!c||!c.unicodeSupport)&&r.host&&(n.domainHost||c&&c.domainHost)&&s===!1&&y$(r.host))try{r.host=new URL("http://"+r.host).hostname}catch(u){r.error=r.error||"Host's domain name can not be converted to ASCII: "+u}if((!c||c&&!c.skipNormalize)&&(e.indexOf("%")!==-1&&(r.scheme!==void 0&&(r.scheme=unescape(r.scheme)),r.host!==void 0&&(r.host=m$(unescape(r.host),s))),r.path&&(r.path=p$(r.path)),r.fragment))try{r.fragment=encodeURI(decodeURIComponent(r.fragment))}catch{r.error=r.error||"URI malformed"}c&&c.parse&&c.parse(r,n)}else r.error=r.error||"URI can not be parsed.";return{parsed:r,malformedAuthorityOrPort:o}}function Ft(e,t){return of(e,t).parsed}function O$(e,t){return sf(e,t).normalized}function sf(e,t){const{parsed:n,malformedAuthorityOrPort:r}=of(e,t);return{normalized:r?e:wt(n,t),malformedAuthorityOrPort:r}}function za(e,t){if(typeof e=="string"){const{normalized:n,malformedAuthorityOrPort:r}=sf(e,t);return r?void 0:n}if(typeof e=="object")return wt(e,t)}const Fs={SCHEMES:v$,normalize:$$,resolve:w$,resolveComponent:rf,equal:b$,serialize:wt,parse:Ft};Sr.exports=Fs;Sr.exports.default=Fs;Sr.exports.fastUri=Fs;var N$=Sr.exports;Object.defineProperty(Ls,"__esModule",{value:!0});const af=N$;af.code='require("ajv/dist/runtime/uri").default';Ls.default=af;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=Ie;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var n=V;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return n.CodeGen}});const r=En,o=Kt,s=$t,i=ge,a=V,c=se,u=te,l=x,f=Mv,p=Ls,h=(P,E)=>new RegExp(P,E);h.code="new RegExp";const d=["removeAdditional","useDefaults","coerceTypes"],v=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),m={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},$=200;function S(P){var E,A,O,g,w,_,C,R,z,G,re,St,Tr,Cr,Rr,Mr,Dr,Lr,Br,Ur,Fr,Vr,qr,Kr,Gr;const Ht=P.strict,zr=(E=P.code)===null||E===void 0?void 0:E.optimize,Hi=zr===!0||zr===void 0?1:zr||0,Ji=(O=(A=P.code)===null||A===void 0?void 0:A.regExp)!==null&&O!==void 0?O:h,hp=(g=P.uriResolver)!==null&&g!==void 0?g:p.default;return{strictSchema:(_=(w=P.strictSchema)!==null&&w!==void 0?w:Ht)!==null&&_!==void 0?_:!0,strictNumbers:(R=(C=P.strictNumbers)!==null&&C!==void 0?C:Ht)!==null&&R!==void 0?R:!0,strictTypes:(G=(z=P.strictTypes)!==null&&z!==void 0?z:Ht)!==null&&G!==void 0?G:"log",strictTuples:(St=(re=P.strictTuples)!==null&&re!==void 0?re:Ht)!==null&&St!==void 0?St:"log",strictRequired:(Cr=(Tr=P.strictRequired)!==null&&Tr!==void 0?Tr:Ht)!==null&&Cr!==void 0?Cr:!1,code:P.code?{...P.code,optimize:Hi,regExp:Ji}:{optimize:Hi,regExp:Ji},loopRequired:(Rr=P.loopRequired)!==null&&Rr!==void 0?Rr:$,loopEnum:(Mr=P.loopEnum)!==null&&Mr!==void 0?Mr:$,meta:(Dr=P.meta)!==null&&Dr!==void 0?Dr:!0,messages:(Lr=P.messages)!==null&&Lr!==void 0?Lr:!0,inlineRefs:(Br=P.inlineRefs)!==null&&Br!==void 0?Br:!0,schemaId:(Ur=P.schemaId)!==null&&Ur!==void 0?Ur:"$id",addUsedSchema:(Fr=P.addUsedSchema)!==null&&Fr!==void 0?Fr:!0,validateSchema:(Vr=P.validateSchema)!==null&&Vr!==void 0?Vr:!0,validateFormats:(qr=P.validateFormats)!==null&&qr!==void 0?qr:!0,unicodeRegExp:(Kr=P.unicodeRegExp)!==null&&Kr!==void 0?Kr:!0,int32range:(Gr=P.int32range)!==null&&Gr!==void 0?Gr:!0,uriResolver:hp}}class b{constructor(E={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,E=this.opts={...E,...S(E)};const{es5:A,lines:O}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:v,es5:A,lines:O}),this.logger=ye(E.logger);const g=E.validateFormats;E.validateFormats=!1,this.RULES=(0,s.getRules)(),N.call(this,m,E,"NOT SUPPORTED"),N.call(this,y,E,"DEPRECATED","warn"),this._metaOpts=le.call(this),E.formats&&H.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),E.keywords&&Z.call(this,E.keywords),typeof E.meta=="object"&&this.addMetaSchema(E.meta),M.call(this),E.validateFormats=g}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:E,meta:A,schemaId:O}=this.opts;let g=f;O==="id"&&(g={...f},g.id=g.$id,delete g.$id),A&&E&&this.addMetaSchema(g,g[O],!1)}defaultMeta(){const{meta:E,schemaId:A}=this.opts;return this.opts.defaultMeta=typeof E=="object"?E[A]||E:void 0}validate(E,A){let O;if(typeof E=="string"){if(O=this.getSchema(E),!O)throw new Error(`no schema with key or ref "${E}"`)}else O=this.compile(E);const g=O(A);return"$async"in O||(this.errors=O.errors),g}compile(E,A){const O=this._addSchema(E,A);return O.validate||this._compileSchemaEnv(O)}compileAsync(E,A){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:O}=this.opts;return g.call(this,E,A);async function g(G,re){await w.call(this,G.$schema);const St=this._addSchema(G,re);return St.validate||_.call(this,St)}async function w(G){G&&!this.getSchema(G)&&await g.call(this,{$ref:G},!0)}async function _(G){try{return this._compileSchemaEnv(G)}catch(re){if(!(re instanceof o.default))throw re;return C.call(this,re),await R.call(this,re.missingSchema),_.call(this,G)}}function C({missingSchema:G,missingRef:re}){if(this.refs[G])throw new Error(`AnySchema ${G} is loaded but ${re} cannot be resolved`)}async function R(G){const re=await z.call(this,G);this.refs[G]||await w.call(this,re.$schema),this.refs[G]||this.addSchema(re,G,A)}async function z(G){const re=this._loading[G];if(re)return re;try{return await(this._loading[G]=O(G))}finally{delete this._loading[G]}}}addSchema(E,A,O,g=this.opts.validateSchema){if(Array.isArray(E)){for(const _ of E)this.addSchema(_,void 0,O,g);return this}let w;if(typeof E=="object"){const{schemaId:_}=this.opts;if(w=E[_],w!==void 0&&typeof w!="string")throw new Error(`schema ${_} must be string`)}return A=(0,c.normalizeId)(A||w),this._checkUnique(A),this.schemas[A]=this._addSchema(E,O,A,g,!0),this}addMetaSchema(E,A,O=this.opts.validateSchema){return this.addSchema(E,A,!0,O),this}validateSchema(E,A){if(typeof E=="boolean")return!0;let O;if(O=E.$schema,O!==void 0&&typeof O!="string")throw new Error("$schema must be a string");if(O=O||this.opts.defaultMeta||this.defaultMeta(),!O)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const g=this.validate(O,E);if(!g&&A){const w="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(w);else throw new Error(w)}return g}getSchema(E){let A;for(;typeof(A=j.call(this,E))=="string";)E=A;if(A===void 0){const{schemaId:O}=this.opts,g=new i.SchemaEnv({schema:{},schemaId:O});if(A=i.resolveSchema.call(this,g,E),!A)return;this.refs[E]=A}return A.validate||this._compileSchemaEnv(A)}removeSchema(E){if(E instanceof RegExp)return this._removeAllSchemas(this.schemas,E),this._removeAllSchemas(this.refs,E),this;switch(typeof E){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const A=j.call(this,E);return typeof A=="object"&&this._cache.delete(A.schema),delete this.schemas[E],delete this.refs[E],this}case"object":{const A=E;this._cache.delete(A);let O=E[this.opts.schemaId];return O&&(O=(0,c.normalizeId)(O),delete this.schemas[O],delete this.refs[O]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(E){for(const A of E)this.addKeyword(A);return this}addKeyword(E,A){let O;if(typeof E=="string")O=E,typeof A=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),A.keyword=O);else if(typeof E=="object"&&A===void 0){if(A=E,O=A.keyword,Array.isArray(O)&&!O.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Ge.call(this,O,A),!A)return(0,l.eachItem)(O,w=>Wt.call(this,w)),this;Pr.call(this,A);const g={...A,type:(0,u.getJSONTypes)(A.type),schemaType:(0,u.getJSONTypes)(A.schemaType)};return(0,l.eachItem)(O,g.type.length===0?w=>Wt.call(this,w,g):w=>g.type.forEach(_=>Wt.call(this,w,g,_))),this}getKeyword(E){const A=this.RULES.all[E];return typeof A=="object"?A.definition:!!A}removeKeyword(E){const{RULES:A}=this;delete A.keywords[E],delete A.all[E];for(const O of A.rules){const g=O.rules.findIndex(w=>w.keyword===E);g>=0&&O.rules.splice(g,1)}return this}addFormat(E,A){return typeof A=="string"&&(A=new RegExp(A)),this.formats[E]=A,this}errorsText(E=this.errors,{separator:A=", ",dataVar:O="data"}={}){return!E||E.length===0?"No errors":E.map(g=>`${O}${g.instancePath} ${g.message}`).reduce((g,w)=>g+A+w)}$dataMetaSchema(E,A){const O=this.RULES.all;E=JSON.parse(JSON.stringify(E));for(const g of A){const w=g.split("/").slice(1);let _=E;for(const C of w)_=_[C];for(const C in O){const R=O[C];if(typeof R!="object")continue;const{$data:z}=R.definition,G=_[C];z&&G&&(_[C]=Nn(G))}}return E}_removeAllSchemas(E,A){for(const O in E){const g=E[O];(!A||A.test(O))&&(typeof g=="string"?delete E[O]:g&&!g.meta&&(this._cache.delete(g.schema),delete E[O]))}}_addSchema(E,A,O,g=this.opts.validateSchema,w=this.opts.addUsedSchema){let _;const{schemaId:C}=this.opts;if(typeof E=="object")_=E[C];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof E!="boolean")throw new Error("schema must be object or boolean")}let R=this._cache.get(E);if(R!==void 0)return R;O=(0,c.normalizeId)(_||O);const z=c.getSchemaRefs.call(this,E,O);return R=new i.SchemaEnv({schema:E,schemaId:C,meta:A,baseId:O,localRefs:z}),this._cache.set(R.schema,R),w&&!O.startsWith("#")&&(O&&this._checkUnique(O),this.refs[O]=R),g&&this.validateSchema(E,!0),R}_checkUnique(E){if(this.schemas[E]||this.refs[E])throw new Error(`schema with key or id "${E}" already exists`)}_compileSchemaEnv(E){if(E.meta?this._compileMetaSchema(E):i.compileSchema.call(this,E),!E.validate)throw new Error("ajv implementation error");return E.validate}_compileMetaSchema(E){const A=this.opts;this.opts=this._metaOpts;try{i.compileSchema.call(this,E)}finally{this.opts=A}}}b.ValidationError=r.default,b.MissingRefError=o.default,e.default=b;function N(P,E,A,O="error"){for(const g in P){const w=g;w in E&&this.logger[O](`${A}: option ${g}. ${P[w]}`)}}function j(P){return P=(0,c.normalizeId)(P),this.schemas[P]||this.refs[P]}function M(){const P=this.opts.schemas;if(P)if(Array.isArray(P))this.addSchema(P);else for(const E in P)this.addSchema(P[E],E)}function H(){for(const P in this.opts.formats){const E=this.opts.formats[P];E&&this.addFormat(P,E)}}function Z(P){if(Array.isArray(P)){this.addVocabulary(P);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const E in P){const A=P[E];A.keyword||(A.keyword=E),this.addKeyword(A)}}function le(){const P={...this.opts};for(const E of d)delete P[E];return P}const fe={log(){},warn(){},error(){}};function ye(P){if(P===!1)return fe;if(P===void 0)return console;if(P.log&&P.warn&&P.error)return P;throw new Error("logger must implement log, warn and error methods")}const Et=/^[a-z_$][a-z0-9_$:-]*$/i;function Ge(P,E){const{RULES:A}=this;if((0,l.eachItem)(P,O=>{if(A.keywords[O])throw new Error(`Keyword ${O} is already defined`);if(!Et.test(O))throw new Error(`Keyword ${O} has invalid name`)}),!!E&&E.$data&&!("code"in E||"validate"in E))throw new Error('$data keyword must have "code" or "validate" function')}function Wt(P,E,A){var O;const g=E==null?void 0:E.post;if(A&&g)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:w}=this;let _=g?w.post:w.rules.find(({type:R})=>R===A);if(_||(_={type:A,rules:[]},w.rules.push(_)),w.keywords[P]=!0,!E)return;const C={keyword:P,definition:{...E,type:(0,u.getJSONTypes)(E.type),schemaType:(0,u.getJSONTypes)(E.schemaType)}};E.before?On.call(this,_,C,E.before):_.rules.push(C),w.all[P]=C,(O=E.implements)===null||O===void 0||O.forEach(R=>this.addKeyword(R))}function On(P,E,A){const O=P.rules.findIndex(g=>g.keyword===A);O>=0?P.rules.splice(O,0,E):(P.rules.push(E),this.logger.warn(`rule ${A} is not defined`))}function Pr(P){let{metaSchema:E}=P;E!==void 0&&(P.$data&&this.opts.$data&&(E=Nn(E)),P.validateSchema=this.compile(E,!0))}const xr={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Nn(P){return{anyOf:[P,xr]}}})(pl);var Vs={},qs={},Ks={};Object.defineProperty(Ks,"__esModule",{value:!0});const _$={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ks.default=_$;var bt={};Object.defineProperty(bt,"__esModule",{value:!0});bt.callRef=bt.getValidate=void 0;const k$=Kt,Wa=F,pe=V,_t=Re,Ha=ge,Tn=x,A$={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:n,it:r}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=r,{root:u}=s;if((n==="#"||n==="#/")&&o===u.baseId)return f();const l=Ha.resolveRef.call(c,u,o,n);if(l===void 0)throw new k$.default(r.opts.uriResolver,o,n);if(l instanceof Ha.SchemaEnv)return p(l);return h(l);function f(){if(s===u)return Jn(e,i,s,s.$async);const d=t.scopeValue("root",{ref:u});return Jn(e,(0,pe._)`${d}.validate`,u,u.$async)}function p(d){const v=cf(e,d);Jn(e,v,d,d.$async)}function h(d){const v=t.scopeValue("schema",a.code.source===!0?{ref:d,code:(0,pe.stringify)(d)}:{ref:d}),m=t.name("valid"),y=e.subschema({schema:d,dataTypes:[],schemaPath:pe.nil,topSchemaRef:v,errSchemaPath:n},m);e.mergeEvaluated(y),e.ok(m)}}};function cf(e,t){const{gen:n}=e;return t.validate?n.scopeValue("validate",{ref:t.validate}):(0,pe._)`${n.scopeValue("wrapper",{ref:t})}.validate`}bt.getValidate=cf;function Jn(e,t,n,r){const{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?_t.default.this:pe.nil;r?l():f();function l(){if(!a.$async)throw new Error("async schema referenced by sync schema");const d=o.let("valid");o.try(()=>{o.code((0,pe._)`await ${(0,Wa.callValidateCode)(e,t,u)}`),h(t),i||o.assign(d,!0)},v=>{o.if((0,pe._)`!(${v} instanceof ${s.ValidationError})`,()=>o.throw(v)),p(v),i||o.assign(d,!1)}),e.ok(d)}function f(){e.result((0,Wa.callValidateCode)(e,t,u),()=>h(t),()=>p(t))}function p(d){const v=(0,pe._)`${d}.errors`;o.assign(_t.default.vErrors,(0,pe._)`${_t.default.vErrors} === null ? ${v} : ${_t.default.vErrors}.concat(${v})`),o.assign(_t.default.errors,(0,pe._)`${_t.default.vErrors}.length`)}function h(d){var v;if(!s.opts.unevaluated)return;const m=(v=n==null?void 0:n.validate)===null||v===void 0?void 0:v.evaluated;if(s.props!==!0)if(m&&!m.dynamicProps)m.props!==void 0&&(s.props=Tn.mergeEvaluated.props(o,m.props,s.props));else{const y=o.var("props",(0,pe._)`${d}.evaluated.props`);s.props=Tn.mergeEvaluated.props(o,y,s.props,pe.Name)}if(s.items!==!0)if(m&&!m.dynamicItems)m.items!==void 0&&(s.items=Tn.mergeEvaluated.items(o,m.items,s.items));else{const y=o.var("items",(0,pe._)`${d}.evaluated.items`);s.items=Tn.mergeEvaluated.items(o,y,s.items,pe.Name)}}}bt.callRef=Jn;bt.default=A$;Object.defineProperty(qs,"__esModule",{value:!0});const I$=Ks,j$=bt,P$=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",I$.default,j$.default];qs.default=P$;var Gs={},zs={};Object.defineProperty(zs,"__esModule",{value:!0});const sr=V,He=sr.operators,ir={maximum:{okStr:"<=",ok:He.LTE,fail:He.GT},minimum:{okStr:">=",ok:He.GTE,fail:He.LT},exclusiveMaximum:{okStr:"<",ok:He.LT,fail:He.GTE},exclusiveMinimum:{okStr:">",ok:He.GT,fail:He.LTE}},x$={message:({keyword:e,schemaCode:t})=>(0,sr.str)`must be ${ir[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,sr._)`{comparison: ${ir[e].okStr}, limit: ${t}}`},T$={keyword:Object.keys(ir),type:"number",schemaType:"number",$data:!0,error:x$,code(e){const{keyword:t,data:n,schemaCode:r}=e;e.fail$data((0,sr._)`${n} ${ir[t].fail} ${r} || isNaN(${n})`)}};zs.default=T$;var Ws={};Object.defineProperty(Ws,"__esModule",{value:!0});const cn=V,C$={message:({schemaCode:e})=>(0,cn.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,cn._)`{multipleOf: ${e}}`},R$={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:C$,code(e){const{gen:t,data:n,schemaCode:r,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?(0,cn._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,cn._)`${i} !== parseInt(${i})`;e.fail$data((0,cn._)`(${r} === 0 || (${i} = ${n}/${r}, ${a}))`)}};Ws.default=R$;var Hs={},Js={};Object.defineProperty(Js,"__esModule",{value:!0});function uf(e){const t=e.length;let n=0,r=0,o;for(;r<t;)n++,o=e.charCodeAt(r++),o>=55296&&o<=56319&&r<t&&(o=e.charCodeAt(r),(o&64512)===56320&&r++);return n}Js.default=uf;uf.code='require("ajv/dist/runtime/ucs2length").default';Object.defineProperty(Hs,"__esModule",{value:!0});const lt=V,M$=x,D$=Js,L$={message({keyword:e,schemaCode:t}){const n=e==="maxLength"?"more":"fewer";return(0,lt.str)`must NOT have ${n} than ${t} characters`},params:({schemaCode:e})=>(0,lt._)`{limit: ${e}}`},B$={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:L$,code(e){const{keyword:t,data:n,schemaCode:r,it:o}=e,s=t==="maxLength"?lt.operators.GT:lt.operators.LT,i=o.opts.unicode===!1?(0,lt._)`${n}.length`:(0,lt._)`${(0,M$.useFunc)(e.gen,D$.default)}(${n})`;e.fail$data((0,lt._)`${i} ${s} ${r}`)}};Hs.default=B$;var Ys={};Object.defineProperty(Ys,"__esModule",{value:!0});const U$=F,F$=x,Rt=V,V$={message:({schemaCode:e})=>(0,Rt.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,Rt._)`{pattern: ${e}}`},q$={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:V$,code(e){const{gen:t,data:n,$data:r,schema:o,schemaCode:s,it:i}=e,a=i.opts.unicodeRegExp?"u":"";if(r){const{regExp:c}=i.opts.code,u=c.code==="new RegExp"?(0,Rt._)`new RegExp`:(0,F$.useFunc)(t,c),l=t.let("valid");t.try(()=>t.assign(l,(0,Rt._)`${u}(${s}, ${a}).test(${n})`),()=>t.assign(l,!1)),e.fail$data((0,Rt._)`!${l}`)}else{const c=(0,U$.usePattern)(e,o);e.fail$data((0,Rt._)`!${c}.test(${n})`)}}};Ys.default=q$;var Qs={};Object.defineProperty(Qs,"__esModule",{value:!0});const un=V,K$={message({keyword:e,schemaCode:t}){const n=e==="maxProperties"?"more":"fewer";return(0,un.str)`must NOT have ${n} than ${t} properties`},params:({schemaCode:e})=>(0,un._)`{limit: ${e}}`},G$={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:K$,code(e){const{keyword:t,data:n,schemaCode:r}=e,o=t==="maxProperties"?un.operators.GT:un.operators.LT;e.fail$data((0,un._)`Object.keys(${n}).length ${o} ${r}`)}};Qs.default=G$;var Zs={};Object.defineProperty(Zs,"__esModule",{value:!0});const Yt=F,ln=V,z$=x,W$={message:({params:{missingProperty:e}})=>(0,ln.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,ln._)`{missingProperty: ${e}}`},H$={keyword:"required",type:"object",schemaType:"array",$data:!0,error:W$,code(e){const{gen:t,schema:n,schemaCode:r,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&n.length===0)return;const c=n.length>=a.loopRequired;if(i.allErrors?u():l(),a.strictRequired){const h=e.parentSchema.properties,{definedProperties:d}=e.it;for(const v of n)if((h==null?void 0:h[v])===void 0&&!d.has(v)){const m=i.schemaEnv.baseId+i.errSchemaPath,y=`required property "${v}" is not defined at "${m}" (strictRequired)`;(0,z$.checkStrictMode)(i,y,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(ln.nil,f);else for(const h of n)(0,Yt.checkReportMissingProp)(e,h)}function l(){const h=t.let("missing");if(c||s){const d=t.let("valid",!0);e.block$data(d,()=>p(h,d)),e.ok(d)}else t.if((0,Yt.checkMissingProp)(e,n,h)),(0,Yt.reportMissingProp)(e,h),t.else()}function f(){t.forOf("prop",r,h=>{e.setParams({missingProperty:h}),t.if((0,Yt.noPropertyInData)(t,o,h,a.ownProperties),()=>e.error())})}function p(h,d){e.setParams({missingProperty:h}),t.forOf(h,r,()=>{t.assign(d,(0,Yt.propertyInData)(t,o,h,a.ownProperties)),t.if((0,ln.not)(d),()=>{e.error(),t.break()})},ln.nil)}}};Zs.default=H$;var Xs={};Object.defineProperty(Xs,"__esModule",{value:!0});const fn=V,J$={message({keyword:e,schemaCode:t}){const n=e==="maxItems"?"more":"fewer";return(0,fn.str)`must NOT have ${n} than ${t} items`},params:({schemaCode:e})=>(0,fn._)`{limit: ${e}}`},Y$={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:J$,code(e){const{keyword:t,data:n,schemaCode:r}=e,o=t==="maxItems"?fn.operators.GT:fn.operators.LT;e.fail$data((0,fn._)`${n}.length ${o} ${r}`)}};Xs.default=Y$;var ei={},Sn={};Object.defineProperty(Sn,"__esModule",{value:!0});const lf=Il;lf.code='require("ajv/dist/runtime/equal").default';Sn.default=lf;Object.defineProperty(ei,"__esModule",{value:!0});const no=te,oe=V,Q$=x,Z$=Sn,X$={message:({params:{i:e,j:t}})=>(0,oe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,oe._)`{i: ${e}, j: ${t}}`},e0={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:X$,code(e){const{gen:t,data:n,$data:r,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!r&&!o)return;const c=t.let("valid"),u=s.items?(0,no.getSchemaTypes)(s.items):[];e.block$data(c,l,(0,oe._)`${i} === false`),e.ok(c);function l(){const d=t.let("i",(0,oe._)`${n}.length`),v=t.let("j");e.setParams({i:d,j:v}),t.assign(c,!0),t.if((0,oe._)`${d} > 1`,()=>(f()?p:h)(d,v))}function f(){return u.length>0&&!u.some(d=>d==="object"||d==="array")}function p(d,v){const m=t.name("item"),y=(0,no.checkDataTypes)(u,m,a.opts.strictNumbers,no.DataType.Wrong),$=t.const("indices",(0,oe._)`{}`);t.for((0,oe._)`;${d}--;`,()=>{t.let(m,(0,oe._)`${n}[${d}]`),t.if(y,(0,oe._)`continue`),u.length>1&&t.if((0,oe._)`typeof ${m} == "string"`,(0,oe._)`${m} += "_"`),t.if((0,oe._)`typeof ${$}[${m}] == "number"`,()=>{t.assign(v,(0,oe._)`${$}[${m}]`),e.error(),t.assign(c,!1).break()}).code((0,oe._)`${$}[${m}] = ${d}`)})}function h(d,v){const m=(0,Q$.useFunc)(t,Z$.default),y=t.name("outer");t.label(y).for((0,oe._)`;${d}--;`,()=>t.for((0,oe._)`${v} = ${d}; ${v}--;`,()=>t.if((0,oe._)`${m}(${n}[${d}], ${n}[${v}])`,()=>{e.error(),t.assign(c,!1).break(y)})))}}};ei.default=e0;var ti={};Object.defineProperty(ti,"__esModule",{value:!0});const Ro=V,t0=x,n0=Sn,r0={message:"must be equal to constant",params:({schemaCode:e})=>(0,Ro._)`{allowedValue: ${e}}`},o0={keyword:"const",$data:!0,error:r0,code(e){const{gen:t,data:n,$data:r,schemaCode:o,schema:s}=e;r||s&&typeof s=="object"?e.fail$data((0,Ro._)`!${(0,t0.useFunc)(t,n0.default)}(${n}, ${o})`):e.fail((0,Ro._)`${s} !== ${n}`)}};ti.default=o0;var ni={};Object.defineProperty(ni,"__esModule",{value:!0});const nn=V,s0=x,i0=Sn,a0={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,nn._)`{allowedValues: ${e}}`},c0={keyword:"enum",schemaType:"array",$data:!0,error:a0,code(e){const{gen:t,data:n,$data:r,schema:o,schemaCode:s,it:i}=e;if(!r&&o.length===0)throw new Error("enum must have non-empty array");const a=o.length>=i.opts.loopEnum;let c;const u=()=>c??(c=(0,s0.useFunc)(t,i0.default));let l;if(a||r)l=t.let("valid"),e.block$data(l,f);else{if(!Array.isArray(o))throw new Error("ajv implementation error");const h=t.const("vSchema",s);l=(0,nn.or)(...o.map((d,v)=>p(h,v)))}e.pass(l);function f(){t.assign(l,!1),t.forOf("v",s,h=>t.if((0,nn._)`${u()}(${n}, ${h})`,()=>t.assign(l,!0).break()))}function p(h,d){const v=o[d];return typeof v=="object"&&v!==null?(0,nn._)`${u()}(${n}, ${h}[${d}])`:(0,nn._)`${n} === ${v}`}}};ni.default=c0;Object.defineProperty(Gs,"__esModule",{value:!0});const u0=zs,l0=Ws,f0=Hs,d0=Ys,p0=Qs,h0=Zs,m0=Xs,g0=ei,y0=ti,v0=ni,$0=[u0.default,l0.default,f0.default,d0.default,p0.default,h0.default,m0.default,g0.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},y0.default,v0.default];Gs.default=$0;var ri={},Gt={};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.validateAdditionalItems=void 0;const ft=V,Mo=x,w0={message:({params:{len:e}})=>(0,ft.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,ft._)`{limit: ${e}}`},b0={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:w0,code(e){const{parentSchema:t,it:n}=e,{items:r}=t;if(!Array.isArray(r)){(0,Mo.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas');return}ff(e,r)}};function ff(e,t){const{gen:n,schema:r,data:o,keyword:s,it:i}=e;i.items=!0;const a=n.const("len",(0,ft._)`${o}.length`);if(r===!1)e.setParams({len:t.length}),e.pass((0,ft._)`${a} <= ${t.length}`);else if(typeof r=="object"&&!(0,Mo.alwaysValidSchema)(i,r)){const u=n.var("valid",(0,ft._)`${a} <= ${t.length}`);n.if((0,ft.not)(u),()=>c(u)),e.ok(u)}function c(u){n.forRange("i",t.length,a,l=>{e.subschema({keyword:s,dataProp:l,dataPropType:Mo.Type.Num},u),i.allErrors||n.if((0,ft.not)(u),()=>n.break())})}}Gt.validateAdditionalItems=ff;Gt.default=b0;var oi={},zt={};Object.defineProperty(zt,"__esModule",{value:!0});zt.validateTuple=void 0;const Ja=V,Yn=x,E0=F,S0={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:n}=e;if(Array.isArray(t))return df(e,"additionalItems",t);n.items=!0,!(0,Yn.alwaysValidSchema)(n,t)&&e.ok((0,E0.validateArray)(e))}};function df(e,t,n=e.schema){const{gen:r,parentSchema:o,data:s,keyword:i,it:a}=e;l(o),a.opts.unevaluated&&n.length&&a.items!==!0&&(a.items=Yn.mergeEvaluated.items(r,n.length,a.items));const c=r.name("valid"),u=r.const("len",(0,Ja._)`${s}.length`);n.forEach((f,p)=>{(0,Yn.alwaysValidSchema)(a,f)||(r.if((0,Ja._)`${u} > ${p}`,()=>e.subschema({keyword:i,schemaProp:p,dataProp:p},c)),e.ok(c))});function l(f){const{opts:p,errSchemaPath:h}=a,d=n.length,v=d===f.minItems&&(d===f.maxItems||f[t]===!1);if(p.strictTuples&&!v){const m=`"${i}" is ${d}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0,Yn.checkStrictMode)(a,m,p.strictTuples)}}}zt.validateTuple=df;zt.default=S0;Object.defineProperty(oi,"__esModule",{value:!0});const O0=zt,N0={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,O0.validateTuple)(e,"items")};oi.default=N0;var si={};Object.defineProperty(si,"__esModule",{value:!0});const Ya=V,_0=x,k0=F,A0=Gt,I0={message:({params:{len:e}})=>(0,Ya.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ya._)`{limit: ${e}}`},j0={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:I0,code(e){const{schema:t,parentSchema:n,it:r}=e,{prefixItems:o}=n;r.items=!0,!(0,_0.alwaysValidSchema)(r,t)&&(o?(0,A0.validateAdditionalItems)(e,o):e.ok((0,k0.validateArray)(e)))}};si.default=j0;var ii={};Object.defineProperty(ii,"__esModule",{value:!0});const be=V,Cn=x,P0={message:({params:{min:e,max:t}})=>t===void 0?(0,be.str)`must contain at least ${e} valid item(s)`:(0,be.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,be._)`{minContains: ${e}}`:(0,be._)`{minContains: ${e}, maxContains: ${t}}`},x0={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:P0,code(e){const{gen:t,schema:n,parentSchema:r,data:o,it:s}=e;let i,a;const{minContains:c,maxContains:u}=r;s.opts.next?(i=c===void 0?1:c,a=u):i=1;const l=t.const("len",(0,be._)`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){(0,Cn.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,Cn.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Cn.alwaysValidSchema)(s,n)){let v=(0,be._)`${l} >= ${i}`;a!==void 0&&(v=(0,be._)`${v} && ${l} <= ${a}`),e.pass(v);return}s.items=!0;const f=t.name("valid");a===void 0&&i===1?h(f,()=>t.if(f,()=>t.break())):i===0?(t.let(f,!0),a!==void 0&&t.if((0,be._)`${o}.length > 0`,p)):(t.let(f,!1),p()),e.result(f,()=>e.reset());function p(){const v=t.name("_valid"),m=t.let("count",0);h(v,()=>t.if(v,()=>d(m)))}function h(v,m){t.forRange("i",0,l,y=>{e.subschema({keyword:"contains",dataProp:y,dataPropType:Cn.Type.Num,compositeRule:!0},v),m()})}function d(v){t.code((0,be._)`${v}++`),a===void 0?t.if((0,be._)`${v} >= ${i}`,()=>t.assign(f,!0).break()):(t.if((0,be._)`${v} > ${a}`,()=>t.assign(f,!1).break()),i===1?t.assign(f,!0):t.if((0,be._)`${v} >= ${i}`,()=>t.assign(f,!0)))}}};ii.default=x0;var pf={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;const t=V,n=x,r=F;e.error={message:({params:{property:c,depsCount:u,deps:l}})=>{const f=u===1?"property":"properties";return(0,t.str)`must have ${f} ${l} when property ${c} is present`},params:({params:{property:c,depsCount:u,deps:l,missingProperty:f}})=>(0,t._)`{property: ${c},
175
160
  missingProperty: ${f},
176
161
  depsCount: ${u},
177
- deps: ${l}}`};const s={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(c){const[u,l]=o(c);i(c,u),a(c,l)}};function o({schema:c}){const u={},l={};for(const f in c){if(f==="__proto__")continue;const m=Array.isArray(c[f])?u:l;m[f]=c[f]}return[u,l]}function i(c,u=c.schema){const{gen:l,data:f,it:m}=c;if(Object.keys(u).length===0)return;const p=l.let("missing");for(const d in u){const v=u[d];if(v.length===0)continue;const g=(0,r.propertyInData)(l,f,d,m.opts.ownProperties);c.setParams({property:d,depsCount:v.length,deps:v.join(", ")}),m.allErrors?l.if(g,()=>{for(const y of v)(0,r.checkReportMissingProp)(c,y)}):(l.if((0,e._)`${g} && (${(0,r.checkMissingProp)(c,v,p)})`),(0,r.reportMissingProp)(c,p),l.else())}}t.validatePropertyDeps=i;function a(c,u=c.schema){const{gen:l,data:f,keyword:m,it:p}=c,d=l.name("valid");for(const v in u)(0,n.alwaysValidSchema)(p,u[v])||(l.if((0,r.propertyInData)(l,f,v,p.opts.ownProperties),()=>{const g=c.subschema({keyword:m,schemaProp:v},d);c.mergeValidEvaluated(g,d)},()=>l.var(d,!0)),c.ok(d))}t.validateSchemaDeps=a,t.default=s})(nf);var Wo={};Object.defineProperty(Wo,"__esModule",{value:!0});const rf=U,J$=j,Q$={message:"property name must be valid",params:({params:t})=>(0,rf._)`{propertyName: ${t.propertyName}}`},Y$={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Q$,code(t){const{gen:e,schema:n,data:r,it:s}=t;if((0,J$.alwaysValidSchema)(s,n))return;const o=e.name("valid");e.forIn("key",r,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},o),e.if((0,rf.not)(o),()=>{t.error(!0),s.allErrors||e.break()})}),t.ok(o)}};Wo.default=Y$;var yr={};Object.defineProperty(yr,"__esModule",{value:!0});const Tn=B,be=U,X$=xe,Cn=j,Z$={message:"must NOT have additional properties",params:({params:t})=>(0,be._)`{additionalProperty: ${t.additionalProperty}}`},ew={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Z$,code(t){const{gen:e,schema:n,parentSchema:r,data:s,errsCount:o,it:i}=t;if(!o)throw new Error("ajv implementation error");const{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Cn.alwaysValidSchema)(i,n))return;const u=(0,Tn.allSchemaProperties)(r.properties),l=(0,Tn.allSchemaProperties)(r.patternProperties);f(),t.ok((0,be._)`${o} === ${X$.default.errors}`);function f(){e.forIn("key",s,g=>{!u.length&&!l.length?d(g):e.if(m(g),()=>d(g))})}function m(g){let y;if(u.length>8){const $=(0,Cn.schemaRefOrVal)(i,r.properties,"properties");y=(0,Tn.isOwnProperty)(e,$,g)}else u.length?y=(0,be.or)(...u.map($=>(0,be._)`${g} === ${$}`)):y=be.nil;return l.length&&(y=(0,be.or)(y,...l.map($=>(0,be._)`${(0,Tn.usePattern)(t,$)}.test(${g})`))),(0,be.not)(y)}function p(g){e.code((0,be._)`delete ${s}[${g}]`)}function d(g){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){p(g);return}if(n===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof n=="object"&&!(0,Cn.alwaysValidSchema)(i,n)){const y=e.name("valid");c.removeAdditional==="failing"?(v(g,y,!1),e.if((0,be.not)(y),()=>{t.reset(),p(g)})):(v(g,y),a||e.if((0,be.not)(y),()=>e.break()))}}function v(g,y,$){const S={keyword:"additionalProperties",dataProp:g,dataPropType:Cn.Type.Str};$===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(S,y)}}};yr.default=ew;var Ho={};Object.defineProperty(Ho,"__esModule",{value:!0});const tw=Ne,Aa=B,Yr=j,Pa=yr,nw={keyword:"properties",type:"object",schemaType:"object",code(t){const{gen:e,schema:n,parentSchema:r,data:s,it:o}=t;o.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&Pa.default.code(new tw.KeywordCxt(o,Pa.default,"additionalProperties"));const i=(0,Aa.allSchemaProperties)(n);for(const f of i)o.definedProperties.add(f);o.opts.unevaluated&&i.length&&o.props!==!0&&(o.props=Yr.mergeEvaluated.props(e,(0,Yr.toHash)(i),o.props));const a=i.filter(f=>!(0,Yr.alwaysValidSchema)(o,n[f]));if(a.length===0)return;const c=e.name("valid");for(const f of a)u(f)?l(f):(e.if((0,Aa.propertyInData)(e,s,f,o.opts.ownProperties)),l(f),o.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(f),t.ok(c);function u(f){return o.opts.useDefaults&&!o.compositeRule&&n[f].default!==void 0}function l(f){t.subschema({keyword:"properties",schemaProp:f,dataProp:f},c)}}};Ho.default=nw;var Jo={};Object.defineProperty(Jo,"__esModule",{value:!0});const ja=B,Rn=U,xa=j,Ta=j,rw={keyword:"patternProperties",type:"object",schemaType:"object",code(t){const{gen:e,schema:n,data:r,parentSchema:s,it:o}=t,{opts:i}=o,a=(0,ja.allSchemaProperties)(n),c=a.filter(v=>(0,xa.alwaysValidSchema)(o,n[v]));if(a.length===0||c.length===a.length&&(!o.opts.unevaluated||o.props===!0))return;const u=i.strictSchema&&!i.allowMatchingProperties&&s.properties,l=e.name("valid");o.props!==!0&&!(o.props instanceof Rn.Name)&&(o.props=(0,Ta.evaluatedPropsToName)(e,o.props));const{props:f}=o;m();function m(){for(const v of a)u&&p(v),o.allErrors?d(v):(e.var(l,!0),d(v),e.if(l))}function p(v){for(const g in u)new RegExp(v).test(g)&&(0,xa.checkStrictMode)(o,`property ${g} matches pattern ${v} (use allowMatchingProperties)`)}function d(v){e.forIn("key",r,g=>{e.if((0,Rn._)`${(0,ja.usePattern)(t,v)}.test(${g})`,()=>{const y=c.includes(v);y||t.subschema({keyword:"patternProperties",schemaProp:v,dataProp:g,dataPropType:Ta.Type.Str},l),o.opts.unevaluated&&f!==!0?e.assign((0,Rn._)`${f}[${g}]`,!0):!y&&!o.allErrors&&e.if((0,Rn.not)(l),()=>e.break())})})}}};Jo.default=rw;var Qo={};Object.defineProperty(Qo,"__esModule",{value:!0});const sw=j,ow={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){const{gen:e,schema:n,it:r}=t;if((0,sw.alwaysValidSchema)(r,n)){t.fail();return}const s=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),t.failResult(s,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Qo.default=ow;var Yo={};Object.defineProperty(Yo,"__esModule",{value:!0});const iw=B,aw={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:iw.validateUnion,error:{message:"must match a schema in anyOf"}};Yo.default=aw;var Xo={};Object.defineProperty(Xo,"__esModule",{value:!0});const Hn=U,cw=j,uw={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Hn._)`{passingSchemas: ${t.passing}}`},lw={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:uw,code(t){const{gen:e,schema:n,parentSchema:r,it:s}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");if(s.opts.discriminator&&r.discriminator)return;const o=n,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(u),t.result(i,()=>t.reset(),()=>t.error(!0));function u(){o.forEach((l,f)=>{let m;(0,cw.alwaysValidSchema)(s,l)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&e.if((0,Hn._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Hn._)`[${a}, ${f}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,f),m&&t.mergeEvaluated(m,Hn.Name)})})}}};Xo.default=lw;var Zo={};Object.defineProperty(Zo,"__esModule",{value:!0});const fw=j,dw={keyword:"allOf",schemaType:"array",code(t){const{gen:e,schema:n,it:r}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");const s=e.name("valid");n.forEach((o,i)=>{if((0,fw.alwaysValidSchema)(r,o))return;const a=t.subschema({keyword:"allOf",schemaProp:i},s);t.ok(s),t.mergeEvaluated(a)})}};Zo.default=dw;var ei={};Object.defineProperty(ei,"__esModule",{value:!0});const nr=U,sf=j,pw={message:({params:t})=>(0,nr.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,nr._)`{failingKeyword: ${t.ifClause}}`},hw={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:pw,code(t){const{gen:e,parentSchema:n,it:r}=t;n.then===void 0&&n.else===void 0&&(0,sf.checkStrictMode)(r,'"if" without "then" and "else" is ignored');const s=Ca(r,"then"),o=Ca(r,"else");if(!s&&!o)return;const i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),s&&o){const l=e.let("ifClause");t.setParams({ifClause:l}),e.if(a,u("then",l),u("else",l))}else s?e.if(a,u("then")):e.if((0,nr.not)(a),u("else"));t.pass(i,()=>t.error(!0));function c(){const l=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(l)}function u(l,f){return()=>{const m=t.subschema({keyword:l},a);e.assign(i,a),t.mergeValidEvaluated(m,i),f?e.assign(f,(0,nr._)`${l}`):t.setParams({ifClause:l})}}}};function Ca(t,e){const n=t.schema[e];return n!==void 0&&!(0,sf.alwaysValidSchema)(t,n)}ei.default=hw;var ti={};Object.defineProperty(ti,"__esModule",{value:!0});const mw=j,gw={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:n}){e.if===void 0&&(0,mw.checkStrictMode)(n,`"${t}" without "if" is ignored`)}};ti.default=gw;Object.defineProperty(qo,"__esModule",{value:!0});const yw=Vt,vw=Ko,$w=Ft,ww=zo,bw=Go,Ew=nf,Sw=Wo,Nw=yr,Ow=Ho,_w=Jo,kw=Qo,Iw=Yo,Aw=Xo,Pw=Zo,jw=ei,xw=ti;function Tw(t=!1){const e=[kw.default,Iw.default,Aw.default,Pw.default,jw.default,xw.default,Sw.default,Nw.default,Ew.default,Ow.default,_w.default];return t?e.push(vw.default,ww.default):e.push(yw.default,$w.default),e.push(bw.default),e}qo.default=Tw;var ni={},ri={};Object.defineProperty(ri,"__esModule",{value:!0});const X=U,Cw={message:({schemaCode:t})=>(0,X.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,X._)`{format: ${t}}`},Rw={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Cw,code(t,e){const{gen:n,data:r,$data:s,schema:o,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:u,schemaEnv:l,self:f}=a;if(!c.validateFormats)return;s?m():p();function m(){const d=n.scopeValue("formats",{ref:f.formats,code:c.code.formats}),v=n.const("fDef",(0,X._)`${d}[${i}]`),g=n.let("fType"),y=n.let("format");n.if((0,X._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>n.assign(g,(0,X._)`${v}.type || "string"`).assign(y,(0,X._)`${v}.validate`),()=>n.assign(g,(0,X._)`"string"`).assign(y,v)),t.fail$data((0,X.or)($(),S()));function $(){return c.strictSchema===!1?X.nil:(0,X._)`${i} && !${y}`}function S(){const N=l.$async?(0,X._)`(${v}.async ? await ${y}(${r}) : ${y}(${r}))`:(0,X._)`${y}(${r})`,k=(0,X._)`(typeof ${y} == "function" ? ${N} : ${y}.test(${r}))`;return(0,X._)`${y} && ${y} !== true && ${g} === ${e} && !${k}`}}function p(){const d=f.formats[o];if(!d){$();return}if(d===!0)return;const[v,g,y]=S(d);v===e&&t.pass(N());function $(){if(c.strictSchema===!1){f.logger.warn(k());return}throw new Error(k());function k(){return`unknown format "${o}" ignored in schema at path "${u}"`}}function S(k){const C=k instanceof RegExp?(0,X.regexpCode)(k):c.code.formats?(0,X._)`${c.code.formats}${(0,X.getProperty)(o)}`:void 0,F=n.scopeValue("formats",{key:o,ref:k,code:C});return typeof k=="object"&&!(k instanceof RegExp)?[k.type||"string",k.validate,(0,X._)`${F}.validate`]:["string",k,F]}function N(){if(typeof d=="object"&&!(d instanceof RegExp)&&d.async){if(!l.$async)throw new Error("async format in sync schema");return(0,X._)`await ${y}(${r})`}return typeof g=="function"?(0,X._)`${y}(${r})`:(0,X._)`${y}.test(${r})`}}}};ri.default=Rw;Object.defineProperty(ni,"__esModule",{value:!0});const Mw=ri,Dw=[Mw.default];ni.default=Dw;var Mt={};Object.defineProperty(Mt,"__esModule",{value:!0});Mt.contentVocabulary=Mt.metadataVocabulary=void 0;Mt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Mt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(Io,"__esModule",{value:!0});const Lw=Ao,Bw=jo,Uw=qo,Vw=ni,Ra=Mt,Fw=[Lw.default,Bw.default,(0,Uw.default)(),Vw.default,Ra.metadataVocabulary,Ra.contentVocabulary];Io.default=Fw;var si={},vr={};Object.defineProperty(vr,"__esModule",{value:!0});vr.DiscrError=void 0;var Ma;(function(t){t.Tag="tag",t.Mapping="mapping"})(Ma||(vr.DiscrError=Ma={}));Object.defineProperty(si,"__esModule",{value:!0});const kt=U,Is=vr,Da=he,qw=Ut,Kw=j,zw={message:({params:{discrError:t,tagName:e}})=>t===Is.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:n}})=>(0,kt._)`{error: ${t}, tag: ${n}, tagValue: ${e}}`},Gw={keyword:"discriminator",type:"object",schemaType:"object",error:zw,code(t){const{gen:e,data:n,schema:r,parentSchema:s,it:o}=t,{oneOf:i}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");const c=e.let("valid",!1),u=e.const("tag",(0,kt._)`${n}${(0,kt.getProperty)(a)}`);e.if((0,kt._)`typeof ${u} == "string"`,()=>l(),()=>t.error(!1,{discrError:Is.DiscrError.Tag,tag:u,tagName:a})),t.ok(c);function l(){const p=m();e.if(!1);for(const d in p)e.elseIf((0,kt._)`${u} === ${d}`),e.assign(c,f(p[d]));e.else(),t.error(!1,{discrError:Is.DiscrError.Mapping,tag:u,tagName:a}),e.endIf()}function f(p){const d=e.name("valid"),v=t.subschema({keyword:"oneOf",schemaProp:p},d);return t.mergeEvaluated(v,kt.Name),d}function m(){var p;const d={},v=y(s);let g=!0;for(let N=0;N<i.length;N++){let k=i[N];if(k!=null&&k.$ref&&!(0,Kw.schemaHasRulesButRef)(k,o.self.RULES)){const F=k.$ref;if(k=Da.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,F),k instanceof Da.SchemaEnv&&(k=k.schema),k===void 0)throw new qw.default(o.opts.uriResolver,o.baseId,F)}const C=(p=k==null?void 0:k.properties)===null||p===void 0?void 0:p[a];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(v||y(k)),$(C,N)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return d;function y({required:N}){return Array.isArray(N)&&N.includes(a)}function $(N,k){if(N.const)S(N.const,k);else if(N.enum)for(const C of N.enum)S(C,k);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(N,k){if(typeof N!="string"||N in d)throw new Error(`discriminator: "${a}" values must be unique strings`);d[N]=k}}}};si.default=Gw;const Ww="http://json-schema.org/draft-07/schema#",Hw="http://json-schema.org/draft-07/schema#",Jw="Core schema meta-schema",Qw={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},Yw=["object","boolean"],Xw={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},Zw={$schema:Ww,$id:Hw,title:Jw,definitions:Qw,type:Yw,properties:Xw,default:!0};(function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv=void 0;const n=rl,r=Io,s=si,o=Zw,i=["/properties"],a="http://json-schema.org/draft-07/schema";class c extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(d=>this.addVocabulary(d)),this.opts.discriminator&&this.addKeyword(s.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const d=this.opts.$data?this.$dataMetaSchema(o,i):o;this.addMetaSchema(d,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=c,t.exports=e=c,t.exports.Ajv=c,Object.defineProperty(e,"__esModule",{value:!0}),e.default=c;var u=Ne;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=U;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var f=vn;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return f.default}});var m=Ut;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return m.default}})})(bs,bs.exports);var eb=bs.exports;const tb=Em(eb);class of extends Error{constructor(e){super(e.length>0?`Config validation failed: ${e.map(n=>`${n.field} ${n.message}`).join("; ")}`:"Config validation failed"),this.fieldErrors=e,this.name="ValidationError"}}function nb(t,e){if(!e)return;const n=e,r=n.properties;if(r!==void 0&&Object.keys(r).length===0)return;const s=new tb({allErrors:!0,strict:!1}).compile(n);if(!s(t))throw new of(rb(s.errors??[]))}function rb(t){return t.map(e=>({field:sb(e),message:e.message??"is invalid",keyword:e.keyword}))}function sb(t){var e;return(t.instancePath??"").replace(/^\//,"").replace(/\//g,".")||(((e=t.params)==null?void 0:e.missingProperty)??"(root)")}function ob(t,e){return q.join(gu(t,e),xg)}const ib=384,ab=448;function cb(t,e,n={}){const r=n.mode??ib,s=n.dirMode??ab,o=q.dirname(t);Y.mkdirSync(o,{recursive:!0,mode:s}),Y.chmodSync(o,s);const i=`${t}.tmp`,a=typeof e=="string"?e:JSON.stringify(e,null,2);try{Y.writeFileSync(i,a,{encoding:"utf8",mode:r}),Y.chmodSync(i,r),Y.renameSync(i,t),Y.chmodSync(t,r)}catch(c){try{Y.existsSync(i)&&Y.unlinkSync(i)}catch{}throw c}}const ub="0.1.0";function La(t,e){if(!t||t==="."||t===".."||t.includes("/")||t.includes("\\")||t.includes("\0"))throw new Error(`${e} must be a non-empty path segment with no '.', '..', path separators, or NUL: ${JSON.stringify(t)}`)}function lb(){return`${process.pid}-${Af.randomBytes(3).toString("hex")}`}function af(t,e,n={}){if(!t)throw new Error("Environment requires a non-empty 'project' name");La(t,"project");const r=e.orgNamespace??Pg,s=e.envPrefixOverride??Dg(t),o=e.namespaces&&e.namespaces.length>0?e.namespaces:[jg],i=n.namespace??o[0];if(!o.includes(i))throw new Error(`Namespace "${i}" is not declared for project "${t}" (declared: ${o.join(", ")})`);La(i,"namespace");const a=n.processEnv??process.env,{scope:c,projectRoot:u}=$m({scope:n.scope,cwd:n.cwd},a),l=bm({project:t,namespace:i,orgNamespace:r,projectRoot:u,adhdRoot:n.adhdRoot});return{project:t,namespace:i,orgNamespace:r,envPrefix:s,scope:c,projectRoot:u,roots:l}}function fb(t,e,n={}){const{namespace:r,orgNamespace:s,envPrefix:o,scope:i,projectRoot:a,roots:c}=af(t,e,n),u=n.processEnv??process.env,l=Wg(c),f=n.instanceId??lb(),{raw:m,nested:p,typedRaw:d,provenance:v,fields:g}=Qg(e.config,l,u,{prefix:o,activeScope:i}),y={};for(const k of Object.keys(g)){const C=g[k];C.live&&(y[k]={env:C.env,type:C.type,fallback:C.secret===!0?void 0:C.fallbackValue})}const $=Bg(e.config);nb(nl(d),$);const S=Xg(e.dirs,{roots:c,activeScope:i,instanceId:f,projectRoot:a,namespace:r}),N=Zg(e.files,S);return{version:Ag,libraryVersion:ub,generatedAt:new Date().toISOString(),project:t,namespace:r,orgNamespace:s,envPrefix:o,scope:i,instanceId:f,config:p,raw:m,liveFields:y,fieldSchema:$,configHash:Rg(Object.fromEntries(Object.entries(d).map(([k,C])=>[k,String(C)]))),structureHash:Mg(Object.values(S).map(k=>({name:k.name,kind:k.kind,scope:k.scope}))),dirs:Object.values(S),files:Object.values(N),provenance:v}}class mn extends Error{constructor(e){super(e),this.name="EnvironmentError"}}class db extends mn{constructor(e){super(`adhd-environment snapshot not found: ${e}`),this.snapshotPath=e,this.name="SnapshotNotFoundError"}}class pb extends mn{constructor(e,n){super(`lock "${e}" is already held (${n})`),this.lockName=e,this.lockPath=n,this.name="LockHeldError"}}function hb(t,e){let n=t;for(const r of e.split("."))if(n!==null&&typeof n=="object"&&r in n)n=n[r];else return;return n}function As(t){if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(n=>As(n));const e={};for(const[n,r]of Object.entries(t))e[n]=As(r);return e}function mb(t,e){const n=As(t);for(const r of Object.keys(e)){const s=e[r],o=r.split(".");let i=n;for(let c=0;c<o.length-1;c++){const u=o[c],l=i[u];(typeof l!="object"||l===null||Array.isArray(l))&&(i[u]={}),i=i[u]}const a=o[o.length-1];Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get(){const c=process.env[s.env];return c!==void 0?ws(c,s.type):s.fallback}})}return n}function gb(t){if(!t||t==="."||t===".."||t.includes("/")||t.includes("\\")||t.includes("\0"))throw new mn(`lock name must be a non-empty path segment with no path separators: ${JSON.stringify(t)}`)}class oi{constructor(e,n,r={}){let s,o;try{s=fb(e,n,r);const i=af(e,n,r);o=ob(i.roots,s.scope)}catch(i){throw i instanceof of||i instanceof mn?i:new mn(i instanceof Error?i.message:String(i))}return Ba(this,s,o)}static fromSnapshot(e){if(!Y.existsSync(e))throw new db(e);const n=JSON.parse(Y.readFileSync(e,"utf8")),r=Object.create(oi.prototype);return Ba(r,n,e)}get(e){const n=e.indexOf(".");if(n===-1)return;const r=e.slice(0,n),s=e.slice(n+1);switch(r){case"config":return hb(this.config,s);case"path":return this.paths[s];case"env":return this.resolveEnvName(s);case"provenance":return this._data.provenance[s];default:return}}isEnvNameAllowed(e){return e.startsWith(this.prefix)}resolveEnvName(e){if(this.isEnvNameAllowed(e))return process.env[e]}lock(e="singleton"){gb(e);const n=this.paths.run??this._runDirFallback();Y.mkdirSync(n,{recursive:!0});const r=q.join(n,`${e}.lock`);let s;try{s=Y.openSync(r,"wx")}catch(i){throw(i==null?void 0:i.code)==="EEXIST"?new pb(e,r):i}Y.writeSync(s,`${process.pid}
162
+ deps: ${l}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:e.error,code(c){const[u,l]=s(c);i(c,u),a(c,l)}};function s({schema:c}){const u={},l={};for(const f in c){if(f==="__proto__")continue;const p=Array.isArray(c[f])?u:l;p[f]=c[f]}return[u,l]}function i(c,u=c.schema){const{gen:l,data:f,it:p}=c;if(Object.keys(u).length===0)return;const h=l.let("missing");for(const d in u){const v=u[d];if(v.length===0)continue;const m=(0,r.propertyInData)(l,f,d,p.opts.ownProperties);c.setParams({property:d,depsCount:v.length,deps:v.join(", ")}),p.allErrors?l.if(m,()=>{for(const y of v)(0,r.checkReportMissingProp)(c,y)}):(l.if((0,t._)`${m} && (${(0,r.checkMissingProp)(c,v,h)})`),(0,r.reportMissingProp)(c,h),l.else())}}e.validatePropertyDeps=i;function a(c,u=c.schema){const{gen:l,data:f,keyword:p,it:h}=c,d=l.name("valid");for(const v in u)(0,n.alwaysValidSchema)(h,u[v])||(l.if((0,r.propertyInData)(l,f,v,h.opts.ownProperties),()=>{const m=c.subschema({keyword:p,schemaProp:v},d);c.mergeValidEvaluated(m,d)},()=>l.var(d,!0)),c.ok(d))}e.validateSchemaDeps=a,e.default=o})(pf);var ai={};Object.defineProperty(ai,"__esModule",{value:!0});const hf=V,T0=x,C0={message:"property name must be valid",params:({params:e})=>(0,hf._)`{propertyName: ${e.propertyName}}`},R0={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:C0,code(e){const{gen:t,schema:n,data:r,it:o}=e;if((0,T0.alwaysValidSchema)(o,n))return;const s=t.name("valid");t.forIn("key",r,i=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if((0,hf.not)(s),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(s)}};ai.default=R0;var Or={};Object.defineProperty(Or,"__esModule",{value:!0});const Rn=F,Ne=V,M0=Re,Mn=x,D0={message:"must NOT have additional properties",params:({params:e})=>(0,Ne._)`{additionalProperty: ${e.additionalProperty}}`},L0={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:D0,code(e){const{gen:t,schema:n,parentSchema:r,data:o,errsCount:s,it:i}=e;if(!s)throw new Error("ajv implementation error");const{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,Mn.alwaysValidSchema)(i,n))return;const u=(0,Rn.allSchemaProperties)(r.properties),l=(0,Rn.allSchemaProperties)(r.patternProperties);f(),e.ok((0,Ne._)`${s} === ${M0.default.errors}`);function f(){t.forIn("key",o,m=>{!u.length&&!l.length?d(m):t.if(p(m),()=>d(m))})}function p(m){let y;if(u.length>8){const $=(0,Mn.schemaRefOrVal)(i,r.properties,"properties");y=(0,Rn.isOwnProperty)(t,$,m)}else u.length?y=(0,Ne.or)(...u.map($=>(0,Ne._)`${m} === ${$}`)):y=Ne.nil;return l.length&&(y=(0,Ne.or)(y,...l.map($=>(0,Ne._)`${(0,Rn.usePattern)(e,$)}.test(${m})`))),(0,Ne.not)(y)}function h(m){t.code((0,Ne._)`delete ${o}[${m}]`)}function d(m){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){h(m);return}if(n===!1){e.setParams({additionalProperty:m}),e.error(),a||t.break();return}if(typeof n=="object"&&!(0,Mn.alwaysValidSchema)(i,n)){const y=t.name("valid");c.removeAdditional==="failing"?(v(m,y,!1),t.if((0,Ne.not)(y),()=>{e.reset(),h(m)})):(v(m,y),a||t.if((0,Ne.not)(y),()=>t.break()))}}function v(m,y,$){const S={keyword:"additionalProperties",dataProp:m,dataPropType:Mn.Type.Str};$===!1&&Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(S,y)}}};Or.default=L0;var ci={};Object.defineProperty(ci,"__esModule",{value:!0});const B0=Ie,Qa=F,ro=x,Za=Or,U0={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,parentSchema:r,data:o,it:s}=e;s.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&Za.default.code(new B0.KeywordCxt(s,Za.default,"additionalProperties"));const i=(0,Qa.allSchemaProperties)(n);for(const f of i)s.definedProperties.add(f);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=ro.mergeEvaluated.props(t,(0,ro.toHash)(i),s.props));const a=i.filter(f=>!(0,ro.alwaysValidSchema)(s,n[f]));if(a.length===0)return;const c=t.name("valid");for(const f of a)u(f)?l(f):(t.if((0,Qa.propertyInData)(t,o,f,s.opts.ownProperties)),l(f),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(f),e.ok(c);function u(f){return s.opts.useDefaults&&!s.compositeRule&&n[f].default!==void 0}function l(f){e.subschema({keyword:"properties",schemaProp:f,dataProp:f},c)}}};ci.default=U0;var ui={};Object.defineProperty(ui,"__esModule",{value:!0});const Xa=F,Dn=V,ec=x,tc=x,F0={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:n,data:r,parentSchema:o,it:s}=e,{opts:i}=s,a=(0,Xa.allSchemaProperties)(n),c=a.filter(v=>(0,ec.alwaysValidSchema)(s,n[v]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;const u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=t.name("valid");s.props!==!0&&!(s.props instanceof Dn.Name)&&(s.props=(0,tc.evaluatedPropsToName)(t,s.props));const{props:f}=s;p();function p(){for(const v of a)u&&h(v),s.allErrors?d(v):(t.var(l,!0),d(v),t.if(l))}function h(v){for(const m in u)new RegExp(v).test(m)&&(0,ec.checkStrictMode)(s,`property ${m} matches pattern ${v} (use allowMatchingProperties)`)}function d(v){t.forIn("key",r,m=>{t.if((0,Dn._)`${(0,Xa.usePattern)(e,v)}.test(${m})`,()=>{const y=c.includes(v);y||e.subschema({keyword:"patternProperties",schemaProp:v,dataProp:m,dataPropType:tc.Type.Str},l),s.opts.unevaluated&&f!==!0?t.assign((0,Dn._)`${f}[${m}]`,!0):!y&&!s.allErrors&&t.if((0,Dn.not)(l),()=>t.break())})})}}};ui.default=F0;var li={};Object.defineProperty(li,"__esModule",{value:!0});const V0=x,q0={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){const{gen:t,schema:n,it:r}=e;if((0,V0.alwaysValidSchema)(r,n)){e.fail();return}const o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};li.default=q0;var fi={};Object.defineProperty(fi,"__esModule",{value:!0});const K0=F,G0={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:K0.validateUnion,error:{message:"must match a schema in anyOf"}};fi.default=G0;var di={};Object.defineProperty(di,"__esModule",{value:!0});const Qn=V,z0=x,W0={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Qn._)`{passingSchemas: ${e.passing}}`},H0={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:W0,code(e){const{gen:t,schema:n,parentSchema:r,it:o}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");if(o.opts.discriminator&&r.discriminator)return;const s=n,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(i,()=>e.reset(),()=>e.error(!0));function u(){s.forEach((l,f)=>{let p;(0,z0.alwaysValidSchema)(o,l)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&t.if((0,Qn._)`${c} && ${i}`).assign(i,!1).assign(a,(0,Qn._)`[${a}, ${f}]`).else(),t.if(c,()=>{t.assign(i,!0),t.assign(a,f),p&&e.mergeEvaluated(p,Qn.Name)})})}}};di.default=H0;var pi={};Object.defineProperty(pi,"__esModule",{value:!0});const J0=x,Y0={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:n,it:r}=e;if(!Array.isArray(n))throw new Error("ajv implementation error");const o=t.name("valid");n.forEach((s,i)=>{if((0,J0.alwaysValidSchema)(r,s))return;const a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};pi.default=Y0;var hi={};Object.defineProperty(hi,"__esModule",{value:!0});const ar=V,mf=x,Q0={message:({params:e})=>(0,ar.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,ar._)`{failingKeyword: ${e.ifClause}}`},Z0={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Q0,code(e){const{gen:t,parentSchema:n,it:r}=e;n.then===void 0&&n.else===void 0&&(0,mf.checkStrictMode)(r,'"if" without "then" and "else" is ignored');const o=nc(r,"then"),s=nc(r,"else");if(!o&&!s)return;const i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){const l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,u("then",l),u("else",l))}else o?t.if(a,u("then")):t.if((0,ar.not)(a),u("else"));e.pass(i,()=>e.error(!0));function c(){const l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function u(l,f){return()=>{const p=e.subschema({keyword:l},a);t.assign(i,a),e.mergeValidEvaluated(p,i),f?t.assign(f,(0,ar._)`${l}`):e.setParams({ifClause:l})}}}};function nc(e,t){const n=e.schema[t];return n!==void 0&&!(0,mf.alwaysValidSchema)(e,n)}hi.default=Z0;var mi={};Object.defineProperty(mi,"__esModule",{value:!0});const X0=x,ew={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:n}){t.if===void 0&&(0,X0.checkStrictMode)(n,`"${e}" without "if" is ignored`)}};mi.default=ew;Object.defineProperty(ri,"__esModule",{value:!0});const tw=Gt,nw=oi,rw=zt,ow=si,sw=ii,iw=pf,aw=ai,cw=Or,uw=ci,lw=ui,fw=li,dw=fi,pw=di,hw=pi,mw=hi,gw=mi;function yw(e=!1){const t=[fw.default,dw.default,pw.default,hw.default,mw.default,gw.default,aw.default,cw.default,iw.default,uw.default,lw.default];return e?t.push(nw.default,ow.default):t.push(tw.default,rw.default),t.push(sw.default),t}ri.default=yw;var gi={},yi={};Object.defineProperty(yi,"__esModule",{value:!0});const X=V,vw={message:({schemaCode:e})=>(0,X.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,X._)`{format: ${e}}`},$w={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:vw,code(e,t){const{gen:n,data:r,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:f}=a;if(!c.validateFormats)return;o?p():h();function p(){const d=n.scopeValue("formats",{ref:f.formats,code:c.code.formats}),v=n.const("fDef",(0,X._)`${d}[${i}]`),m=n.let("fType"),y=n.let("format");n.if((0,X._)`typeof ${v} == "object" && !(${v} instanceof RegExp)`,()=>n.assign(m,(0,X._)`${v}.type || "string"`).assign(y,(0,X._)`${v}.validate`),()=>n.assign(m,(0,X._)`"string"`).assign(y,v)),e.fail$data((0,X.or)($(),S()));function $(){return c.strictSchema===!1?X.nil:(0,X._)`${i} && !${y}`}function S(){const b=l.$async?(0,X._)`(${v}.async ? await ${y}(${r}) : ${y}(${r}))`:(0,X._)`${y}(${r})`,N=(0,X._)`(typeof ${y} == "function" ? ${b} : ${y}.test(${r}))`;return(0,X._)`${y} && ${y} !== true && ${m} === ${t} && !${N}`}}function h(){const d=f.formats[s];if(!d){$();return}if(d===!0)return;const[v,m,y]=S(d);v===t&&e.pass(b());function $(){if(c.strictSchema===!1){f.logger.warn(N());return}throw new Error(N());function N(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(N){const j=N instanceof RegExp?(0,X.regexpCode)(N):c.code.formats?(0,X._)`${c.code.formats}${(0,X.getProperty)(s)}`:void 0,M=n.scopeValue("formats",{key:s,ref:N,code:j});return typeof N=="object"&&!(N instanceof RegExp)?[N.type||"string",N.validate,(0,X._)`${M}.validate`]:["string",N,M]}function b(){if(typeof d=="object"&&!(d instanceof RegExp)&&d.async){if(!l.$async)throw new Error("async format in sync schema");return(0,X._)`await ${y}(${r})`}return typeof m=="function"?(0,X._)`${y}(${r})`:(0,X._)`${y}.test(${r})`}}}};yi.default=$w;Object.defineProperty(gi,"__esModule",{value:!0});const ww=yi,bw=[ww.default];gi.default=bw;var Vt={};Object.defineProperty(Vt,"__esModule",{value:!0});Vt.contentVocabulary=Vt.metadataVocabulary=void 0;Vt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Vt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(Vs,"__esModule",{value:!0});const Ew=qs,Sw=Gs,Ow=ri,Nw=gi,rc=Vt,_w=[Ew.default,Sw.default,(0,Ow.default)(),Nw.default,rc.metadataVocabulary,rc.contentVocabulary];Vs.default=_w;var vi={},Nr={};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.DiscrError=void 0;var oc;(function(e){e.Tag="tag",e.Mapping="mapping"})(oc||(Nr.DiscrError=oc={}));Object.defineProperty(vi,"__esModule",{value:!0});const It=V,Do=Nr,sc=ge,kw=Kt,Aw=x,Iw={message:({params:{discrError:e,tagName:t}})=>e===Do.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:n}})=>(0,It._)`{error: ${e}, tag: ${n}, tagValue: ${t}}`},jw={keyword:"discriminator",type:"object",schemaType:"object",error:Iw,code(e){const{gen:t,data:n,schema:r,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");const c=t.let("valid",!1),u=t.const("tag",(0,It._)`${n}${(0,It.getProperty)(a)}`);t.if((0,It._)`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:Do.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function l(){const h=p();t.if(!1);for(const d in h)t.elseIf((0,It._)`${u} === ${d}`),t.assign(c,f(h[d]));t.else(),e.error(!1,{discrError:Do.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function f(h){const d=t.name("valid"),v=e.subschema({keyword:"oneOf",schemaProp:h},d);return e.mergeEvaluated(v,It.Name),d}function p(){var h;const d={},v=y(o);let m=!0;for(let b=0;b<i.length;b++){let N=i[b];if(N!=null&&N.$ref&&!(0,Aw.schemaHasRulesButRef)(N,s.self.RULES)){const M=N.$ref;if(N=sc.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,M),N instanceof sc.SchemaEnv&&(N=N.schema),N===void 0)throw new kw.default(s.opts.uriResolver,s.baseId,M)}const j=(h=N==null?void 0:N.properties)===null||h===void 0?void 0:h[a];if(typeof j!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);m=m&&(v||y(N)),$(j,b)}if(!m)throw new Error(`discriminator: "${a}" must be required`);return d;function y({required:b}){return Array.isArray(b)&&b.includes(a)}function $(b,N){if(b.const)S(b.const,N);else if(b.enum)for(const j of b.enum)S(j,N);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(b,N){if(typeof b!="string"||b in d)throw new Error(`discriminator: "${a}" values must be unique strings`);d[b]=N}}}};vi.default=jw;const Pw="http://json-schema.org/draft-07/schema#",xw="http://json-schema.org/draft-07/schema#",Tw="Core schema meta-schema",Cw={schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},Rw=["object","boolean"],Mw={$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},Dw={$schema:Pw,$id:xw,title:Tw,definitions:Cw,type:Rw,properties:Mw,default:!0};(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;const n=pl,r=Vs,o=vi,s=Dw,i=["/properties"],a="http://json-schema.org/draft-07/schema";class c extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(d=>this.addVocabulary(d)),this.opts.discriminator&&this.addKeyword(o.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const d=this.opts.$data?this.$dataMetaSchema(s,i):s;this.addMetaSchema(d,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}t.Ajv=c,e.exports=t=c,e.exports.Ajv=c,Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;var u=Ie;Object.defineProperty(t,"KeywordCxt",{enumerable:!0,get:function(){return u.KeywordCxt}});var l=V;Object.defineProperty(t,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(t,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(t,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(t,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(t,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(t,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var f=En;Object.defineProperty(t,"ValidationError",{enumerable:!0,get:function(){return f.default}});var p=Kt;Object.defineProperty(t,"MissingRefError",{enumerable:!0,get:function(){return p.default}})})(jo,jo.exports);var Lw=jo.exports;const Bw=im(Lw);class gf extends Error{constructor(t){super(t.length>0?`Config validation failed: ${t.map(n=>`${n.field} ${n.message}`).join("; ")}`:"Config validation failed"),this.fieldErrors=t,this.name="ValidationError"}}function Uw(e,t){if(!t)return;const n=t,r=n.properties;if(r!==void 0&&Object.keys(r).length===0)return;const o=new Bw({allErrors:!0,strict:!1}).compile(n);if(!o(e))throw new gf(Fw(o.errors??[]))}function Fw(e){return e.map(t=>({field:Vw(t),message:t.message??"is invalid",keyword:t.keyword}))}function Vw(e){var t;return(e.instancePath??"").replace(/^\//,"").replace(/\//g,".")||(((t=e.params)==null?void 0:t.missingProperty)??"(root)")}function qw(e,t){return D.join($u(e,t),gg)}const Kw=384,Gw=448;function zw(e,t,n={}){const r=n.mode??Kw,o=n.dirMode??Gw,s=D.dirname(e);K.mkdirSync(s,{recursive:!0,mode:o}),K.chmodSync(s,o);const i=`${e}.tmp`,a=typeof t=="string"?t:JSON.stringify(t,null,2);try{K.writeFileSync(i,a,{encoding:"utf8",mode:r}),K.chmodSync(i,r),K.renameSync(i,e),K.chmodSync(e,r)}catch(c){try{K.existsSync(i)&&K.unlinkSync(i)}catch{}throw c}}const Ww="0.1.0";function ic(e,t){if(!e||e==="."||e===".."||e.includes("/")||e.includes("\\")||e.includes("\0"))throw new Error(`${t} must be a non-empty path segment with no '.', '..', path separators, or NUL: ${JSON.stringify(e)}`)}function Hw(){return`${process.pid}-${au.randomBytes(3).toString("hex")}`}function yf(e,t,n={}){if(!e)throw new Error("Environment requires a non-empty 'project' name");ic(e,"project");const r=t.orgNamespace??hg,o=t.envPrefixOverride??bg(e),s=t.namespaces&&t.namespaces.length>0?t.namespaces:[mg],i=n.namespace??s[0];if(!s.includes(i))throw new Error(`Namespace "${i}" is not declared for project "${e}" (declared: ${s.join(", ")})`);ic(i,"namespace");const a=n.processEnv??process.env,{scope:c,projectRoot:u}=rm({scope:n.scope,cwd:n.cwd},a),l=sm({project:e,namespace:i,orgNamespace:r,projectRoot:u,adhdRoot:n.adhdRoot});return{project:e,namespace:i,orgNamespace:r,envPrefix:o,scope:c,projectRoot:u,roots:l}}function Jw(e,t,n={}){const{namespace:r,orgNamespace:o,envPrefix:s,scope:i,projectRoot:a,roots:c}=yf(e,t,n),u=n.processEnv??process.env,l=Pg(c),f=n.instanceId??Hw(),{raw:p,nested:h,typedRaw:d,provenance:v,fields:m}=Cg(t.config,l,u,{prefix:s,activeScope:i}),y={};for(const N of Object.keys(m)){const j=m[N];j.live&&(y[N]={env:j.env,type:j.type,fallback:j.secret===!0?void 0:j.fallbackValue})}const $=Sg(t.config);Uw(dl(d),$);const S=Mg(t.dirs,{roots:c,activeScope:i,instanceId:f,projectRoot:a,namespace:r}),b=Dg(t.files,S);return{version:pg,libraryVersion:Ww,generatedAt:new Date().toISOString(),project:e,namespace:r,orgNamespace:o,envPrefix:s,scope:i,instanceId:f,config:h,raw:p,liveFields:y,fieldSchema:$,configHash:$g(Object.fromEntries(Object.entries(d).map(([N,j])=>[N,String(j)]))),structureHash:wg(Object.values(S).map(N=>({name:N.name,kind:N.kind,scope:N.scope}))),dirs:Object.values(S),files:Object.values(b),provenance:v}}let yn=class extends Error{constructor(t){super(t),this.name="EnvironmentError"}};class Yw extends yn{constructor(t){super(`adhd-environment snapshot not found: ${t}`),this.snapshotPath=t,this.name="SnapshotNotFoundError"}}class Qw extends yn{constructor(t,n){super(`lock "${t}" is already held (${n})`),this.lockName=t,this.lockPath=n,this.name="LockHeldError"}}function Zw(e,t){let n=e;for(const r of t.split("."))if(n!==null&&typeof n=="object"&&r in n)n=n[r];else return;return n}function Lo(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>Lo(n));const t={};for(const[n,r]of Object.entries(e))t[n]=Lo(r);return t}function Xw(e,t){const n=Lo(e);for(const r of Object.keys(t)){const o=t[r],s=r.split(".");let i=n;for(let c=0;c<s.length-1;c++){const u=s[c],l=i[u];(typeof l!="object"||l===null||Array.isArray(l))&&(i[u]={}),i=i[u]}const a=s[s.length-1];Object.defineProperty(i,a,{enumerable:!0,configurable:!0,get(){const c=process.env[o.env];return c!==void 0?Io(c,o.type):o.fallback}})}return n}function eb(e){if(!e||e==="."||e===".."||e.includes("/")||e.includes("\\")||e.includes("\0"))throw new yn(`lock name must be a non-empty path segment with no path separators: ${JSON.stringify(e)}`)}class $i{constructor(t,n,r={}){let o,s;try{o=Jw(t,n,r);const i=yf(t,n,r);s=qw(i.roots,o.scope)}catch(i){throw i instanceof gf||i instanceof yn?i:new yn(i instanceof Error?i.message:String(i))}return ac(this,o,s)}static fromSnapshot(t){if(!K.existsSync(t))throw new Yw(t);const n=JSON.parse(K.readFileSync(t,"utf8")),r=Object.create($i.prototype);return ac(r,n,t)}get(t){const n=t.indexOf(".");if(n===-1)return;const r=t.slice(0,n),o=t.slice(n+1);switch(r){case"config":return Zw(this.config,o);case"path":return this.paths[o];case"env":return this.resolveEnvName(o);case"provenance":return this._data.provenance[o];default:return}}isEnvNameAllowed(t){return t.startsWith(this.prefix)}resolveEnvName(t){if(this.isEnvNameAllowed(t))return process.env[t]}lock(t="singleton"){eb(t);const n=this.paths.run??this._runDirFallback();K.mkdirSync(n,{recursive:!0});const r=D.join(n,`${t}.lock`);let o;try{o=K.openSync(r,"wx")}catch(i){throw(i==null?void 0:i.code)==="EEXIST"?new Qw(t,r):i}K.writeSync(o,`${process.pid}
178
163
  ${this.instanceId}
179
- `),Y.closeSync(s);let o=!1;return()=>{if(!o){o=!0;try{Y.unlinkSync(r)}catch{}}}}_runDirFallback(){return q.join(q.dirname(this.snapshotPath),"run")}ensureDirs(){for(const e of Object.values(this.paths))Y.mkdirSync(e,{recursive:!0})}write(){return cb(this.snapshotPath,this._data),this.snapshotPath}toJSON(){return Object.freeze(JSON.parse(JSON.stringify(this._data)))}}function Ba(t,e,n){const r={};for(const i of e.dirs)r[i.name]=i.path;const s={};for(const i of e.files)s[i.name]=i.path;const o=mb(e.config,e.liveFields??{});return Object.defineProperties(t,{project:{value:e.project,enumerable:!0},namespace:{value:e.namespace,enumerable:!0},orgNamespace:{value:e.orgNamespace,enumerable:!0},scope:{value:e.scope,enumerable:!0},prefix:{value:e.envPrefix,enumerable:!0},instanceId:{value:e.instanceId,enumerable:!0},hash:{value:e.configHash,enumerable:!0},version:{value:{configHash:e.configHash,structureHash:e.structureHash,generatedAt:e.generatedAt,libraryVersion:e.libraryVersion},enumerable:!0},provenance:{value:e.provenance,enumerable:!0},dirs:{value:e.dirs,enumerable:!0},snapshotPath:{value:n,enumerable:!0},config:{value:o,enumerable:!0},paths:{value:r,enumerable:!0},files:{value:s,enumerable:!0},_data:{value:e,enumerable:!1}}),new Proxy(t,{get(i,a,c){return typeof a=="string"&&!(a in i)?i.get(a):Reflect.get(i,a,c)}})}const cf={envPrefixOverride:"ADHD_BACKLOG",namespaces:["production"],dirs:{data:{kind:"data"}},files:{db:{in:"data",name:"backlog.db"}},config:{"db.path":{type:"string",env:"ADHD_BACKLOG_DATABASE_PATH",description:"SQLite backlog-graph DB path. Unset ⇒ falls back to env.files.db under the resolved scope root."},"logging.level":{type:"string",env:"ADHD_BACKLOG_LOG_LEVEL",default:"info",enum:["trace","debug","info","warn","error","fatal","silent"]}}};function uf(t){if(t)return t;const e=process.env.ADHD_BACKLOG_SCOPE;if(e)return e;const n=process.env.ADHD_ENV_SCOPE;return n||"global"}function lf(t={}){const e={namespace:"production",scope:uf(t.scope)};return t.adhdRoot!==void 0&&(e.adhdRoot=t.adhdRoot),t.cwd!==void 0&&(e.cwd=t.cwd),t.instanceId!==void 0&&(e.instanceId=t.instanceId),new oi("backlog",cf,e)}function yb(t,e){return`${t}:${e}`}function Ua(t){if(!t.run)throw new Error(`@adhd/backlog: apigen plugin "${t.id}" declares no run() — cannot mount live`);return t.run}function ff(){return q.join(q.dirname(bf.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:Rr&&Rr.tagName.toUpperCase()==="SCRIPT"&&Rr.src||new URL("index.js",document.baseURI).href)),"..","dist")}function Va(t){if(!t||typeof t!="object")return t;const e={},n=s=>{if(Array.isArray(s)){for(const i of s)n(i);return}if(!s||typeof s!="object")return;const o=s;for(const i of["definitions","$defs"]){const a=o[i];if(a&&typeof a=="object"&&!Array.isArray(a))for(const[c,u]of Object.entries(a))c in e||(e[c]=u)}for(const[i,a]of Object.entries(o))i==="definitions"||i==="$defs"||n(a)};if(n(t),n(e),Object.keys(e).length===0)return t;const r=(s,o)=>{if(Array.isArray(s))return s.map(u=>r(u,o));if(!s||typeof s!="object")return s;const i=s,a=i.$ref;if(typeof a=="string"){const u=a.replace(/^#\/(?:definitions|\$defs)\//,"");return o.has(u)||!(u in e)?{}:r(e[u],new Set([...o,u]))}const c={};for(const[u,l]of Object.entries(i))u==="definitions"||u==="$defs"||(c[u]=r(l,o));return c};return r(t,new Set)}async function vb(){const t=q.join(ff(),"client.d.ts");if(!Y.existsSync(t))throw new Error(`@adhd/backlog: cannot mount — ${t} does not exist. Run "nx build backlog" first (extract() needs the built .d.ts for type information).`);return rp({sourceFile:t,namespace:"backlog"})}async function df(t){const e=await vb(),n={schemas:Object.fromEntries(e.filter(s=>s.kind==="action").map(s=>{var o;return[((o=s.path[s.path.length-1])==null?void 0:o.raw)??"",{input:Va(s.input),output:Va(s.output),hasCtx:s.hasCtx,safe:s.safe}]}))};return{pkg:{id:"backlog",schemas:Pd(n,[]),importPath:q.join(ff(),"client.js"),fns:Ed,createClient:async()=>t},operations:e}}async function $b(t){const e=lf({scope:t.scope,adhdRoot:t.adhdRoot,cwd:t.cwd});e.ensureDirs();const n=hu(e.files.db),r={store:n,env:e},{pkg:s,operations:o}=await df(r),i=[];(t.transport==="http"||t.transport==="both")&&i.push(Ua(dh)({packages:[s],outputDir:"",options:{port:t.port??3300,host:t.host??"127.0.0.1",usePlugins:[Sh]},signal:t.signal,operations:o})),(t.transport==="mcp"||t.transport==="both")&&i.push(Ua(gm)({packages:[s],outputDir:"",options:{transport:"stdio"},signal:t.signal,operations:o}));try{await Promise.all(i)}finally{mu(n)}}exports.BacklogItemNotFoundError=ye;exports.CitationRequiredError=Wa;exports.ClaimHeldError=Ja;exports.DependencyCycleError=xf;exports.ReasonRequiredError=Ha;exports.TERMINAL_DISMISSED_STATUSES=Ga;exports.TERMINAL_DONE_STATUSES=Ka;exports.TERMINAL_STATUSES=Ps;exports.TERMINAL_WORKAROUND_STATUSES=za;exports.addCitation=xc;exports.addDependency=Mc;exports.appendNote=Tc;exports.archiveResolved=Rc;exports.assignItem=Ac;exports.attachToPlan=qc;exports.auditTrail=Wc;exports.backlogEnvironmentSpec=cf;exports.blockers=Ec;exports.buildBacklogApigenPackage=df;exports.buildBacklogEnv=lf;exports.buildChangelogSection=dc;exports.claimItem=_c;exports.classifyStatus=ic;exports.closeGraphBacklogStore=mu;exports.createItem=hc;exports.dependencyGraph=Sc;exports.detectPriority=cc;exports.detectStatus=ac;exports.exportJson=Gc;exports.getItem=mc;exports.importFromMarkdown=Kc;exports.isTerminalStatus=je;exports.linkRelated=Lc;exports.listItems=yc;exports.mergeItems=Vc;exports.normalizeLegacyStatus=oc;exports.openGraphBacklogStore=hu;exports.parseBacklogMarkdown=uc;exports.readyItems=bc;exports.releaseClaim=Ic;exports.removeDependency=Dc;exports.renderItemsToMarkdown=fc;exports.renderToMarkdown=zc;exports.renewClaim=kc;exports.requiresCitation=js;exports.requiresReason=xs;exports.resolveBacklogScope=uf;exports.resolveItem=Cc;exports.setPriority=Fc;exports.softDeleteItem=vc;exports.splitItem=Uc;exports.spotlight=wc;exports.staleClaims=Oc;exports.startBacklogServer=$b;exports.startWork=Pc;exports.stats=$c;exports.suggestClaimantIdentity=yb;exports.supersedeItem=Bc;exports.toImportItems=pc;exports.topoOrder=Nc;exports.transitionStatus=jc;exports.updateItem=gc;
164
+ `),K.closeSync(o);let s=!1;return()=>{if(!s){s=!0;try{K.unlinkSync(r)}catch{}}}}_runDirFallback(){return D.join(D.dirname(this.snapshotPath),"run")}ensureDirs(){for(const t of Object.values(this.paths))K.mkdirSync(t,{recursive:!0})}write(){return zw(this.snapshotPath,this._data),this.snapshotPath}toJSON(){return Object.freeze(JSON.parse(JSON.stringify(this._data)))}}function ac(e,t,n){const r={};for(const i of t.dirs)r[i.name]=i.path;const o={};for(const i of t.files)o[i.name]=i.path;const s=Xw(t.config,t.liveFields??{});return Object.defineProperties(e,{project:{value:t.project,enumerable:!0},namespace:{value:t.namespace,enumerable:!0},orgNamespace:{value:t.orgNamespace,enumerable:!0},scope:{value:t.scope,enumerable:!0},prefix:{value:t.envPrefix,enumerable:!0},instanceId:{value:t.instanceId,enumerable:!0},hash:{value:t.configHash,enumerable:!0},version:{value:{configHash:t.configHash,structureHash:t.structureHash,generatedAt:t.generatedAt,libraryVersion:t.libraryVersion},enumerable:!0},provenance:{value:t.provenance,enumerable:!0},dirs:{value:t.dirs,enumerable:!0},snapshotPath:{value:n,enumerable:!0},config:{value:s,enumerable:!0},paths:{value:r,enumerable:!0},files:{value:o,enumerable:!0},_data:{value:t,enumerable:!1}}),new Proxy(e,{get(i,a,c){return typeof a=="string"&&!(a in i)?i.get(a):Reflect.get(i,a,c)}})}const vf={envPrefixOverride:"ADHD_BACKLOG",namespaces:["production"],dirs:{data:{kind:"data"}},files:{db:{in:"data",name:"backlog.db"}},config:{"db.path":{type:"string",env:"ADHD_BACKLOG_DATABASE_PATH",description:"SQLite backlog-graph DB path. Unset ⇒ falls back to env.files.db under the resolved scope root."},"db.busyTimeoutMs":{type:"integer",env:"ADHD_BACKLOG_DATABASE_BUSY_TIMEOUT_MS",default:5e3,description:"SQLite `busy_timeout` (ms) each write waits for a contended lock before retrying (DEBT-BACKLOG-CONCURRENCY-BUSY-RETRY-001). Raise this when scaling toward more concurrent agents writing the same global-scope store."},"logging.level":{type:"string",env:"ADHD_BACKLOG_LOG_LEVEL",default:"info",enum:["trace","debug","info","warn","error","fatal","silent"]},"migration.phase":{type:"string",env:"ADHD_BACKLOG_MIGRATION_PHASE",default:"not-started",enum:["not-started","phase-1","phase-2","phase-3","phase-4","phase-5","complete"],description:"MIGRATION.md §4.4 — a queried signal (never hardcoded prose) for whether BACKLOG.md or the tool is authoritative right now. Read via `migrationStatus(ctx)`/`backlog migration-status`. NOT yet per-repo-keyed (MIGRATION.md §9 open decision 6) — one global value."}}};function $f(e){if(e)return e;const t=process.env.ADHD_BACKLOG_SCOPE;if(t)return t;const n=process.env.ADHD_ENV_SCOPE;return n||"global"}function wi(e={}){const t={namespace:"production",scope:$f(e.scope)};return e.adhdRoot!==void 0&&(t.adhdRoot=e.adhdRoot),e.cwd!==void 0&&(t.cwd=e.cwd),e.instanceId!==void 0&&(t.instanceId=e.instanceId),new $i("backlog",vf,t)}function tb(e,t){return`${e}:${t}`}const wf=Symbol.for("adhd.apigen.extraction-session");function bf(e,t){const n=[...e.getImportDeclarations().map(r=>r.getModuleSpecifierSourceFile()),...e.getExportDeclarations().map(r=>r.getModuleSpecifierSourceFile())];for(const r of n){if(!r)continue;const o=r.getFilePath();if(!o.includes("/node_modules/")&&!t.has(o)){t.add(o);try{r.refreshFromFileSystemSync()}catch{}bf(r,t)}}}function Ef(e){try{const t=K.statSync(e);return`${t.mtimeMs}:${t.size}`}catch{return"nostat"}}const Zn=new Map,cc=new Map;function nb(e,t,n){const r=t??"",o=Zn.get(r);let s=n;if(o&&o.fileVersions.size>0){const c=[n],u=[...o.fileVersions.entries()].sort(([l],[f])=>l.localeCompare(f));for(const[l,f]of u)l!==e&&c.push(`${l}:${f}`);s=c.join("|")}const i=`${e}\0${t??""}`;let a=cc.get(i);return(!a||a.version!==s)&&(a={version:s,schemas:new Map},cc.set(i,a)),a.schemas}function rb(){const e={projectsBuilt:0,generatorsBuilt:0,schemaCacheHits:0,schemaCacheMisses:0},t=new Map;let n=!1;return{[wf]:!0,stats:e,schemaCache:new Map,aliasCache:new WeakMap,zodImportCache:new WeakMap,generatorCache:new Map,projectFor(r){if(n)throw new Error("apigen-core: ExtractionSession used after dispose()");const o=r??"",s=r?this.statVersion(r):"";let i=Zn.get(o);return i&&i.tsconfigVersion!==s&&(i=void 0),i||(i={project:r?new Qi.Project({tsConfigFilePath:r,skipAddingFilesFromTsConfig:!0}):new Qi.Project({skipAddingFilesFromTsConfig:!0}),tsconfigVersion:s,fileVersions:new Map},Zn.set(o,i),e.projectsBuilt++),i.project},sourceFileFor(r,o){const s=this.projectFor(o),i=Zn.get(o??""),a=this.statVersion(r);let c=s.getSourceFile(r);if(c===void 0?c=s.addSourceFileAtPath(r):i&&i.fileVersions.get(r)!==a&&c.refreshFromFileSystemSync(),i==null||i.fileVersions.set(r,a),i){const u=new Set([r]);bf(c,u);for(const l of u)l!==r&&i.fileVersions.set(l,this.statVersion(l))}return c},statVersion(r){let o=t.get(r);return o===void 0&&(o=Ef(r),t.set(r,o)),o},dispose(){n=!0,this.schemaCache.clear(),this.generatorCache.clear(),t.clear()}}}function ob(e){const t=e;if(t[wf]!==!0)throw new Error("apigen-core: unknown ExtractionSession implementation — create sessions with createExtractionSession()");return t}const cr="x-apigen-logical";function uc(e,t){const n=new Set,r=[e];for(;r.length>0;){const o=r.pop();if(!o||n.has(o))continue;n.add(o);const s=o.$ref;if(typeof s=="string"){if(t){const f=t[s];if(!f){const p=Object.keys(t).join(", ")||"(none)";throw new Error(`[apigen-logical] $ref "${s}" cannot be resolved. Available $defs: ${p}`)}r.push(f)}continue}const i=o.oneOf;if(Array.isArray(i))for(const f of i)typeof f=="object"&&f!==null&&r.push(f);const a=o.properties;if(a)for(const f of Object.values(a))r.push(f);const c=o.items;if(Array.isArray(c))for(const f of c)typeof f=="object"&&f!==null&&r.push(f);else typeof c=="object"&&c!==null&&r.push(c);const u=o.additionalProperties;typeof u=="object"&&u!==null&&r.push(u);const l=o.propertyNames;typeof l=="object"&&l!==null&&r.push(l)}}const lc=new Set(["string","number","boolean","integer"]);function sb(e){if(typeof e!="object"||e===null)return!1;const t=e;if(t.$ref!==void 0||t.oneOf||t.anyOf||t.allOf)return!1;const{type:n}=t;return typeof n=="string"?lc.has(n):Array.isArray(n)?n.every(r=>lc.has(r)||r==="null"):Array.isArray(t.enum)&&t.enum.length>0?t.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function ib(e){if(!e||typeof e!="object")return!1;const t=e.properties;return t===void 0||typeof t!="object"||t===null?!1:Object.values(t).every(sb)}function ab(e){const t={},n=r=>{for(const o of["definitions","$defs"]){const s=r[o];if(s)for(const[i,a]of Object.entries(s)){const c=i.startsWith("#/")?i:`#/${o}/${i}`;t[c]=a}}};for(const r of Object.values(e.schemas))n(r.input),n(r.output);if(Object.keys(t).length!==0)for(const[r,o]of Object.entries(e.schemas))try{uc(o.input,t),uc(o.output,t)}catch(s){throw new Error(`[apigen-core-client] Schema validation failed for function "${r}": ${s.message}`)}}function cb(e,t){const n=['apigen calling convention: all domain parameters go inside a "data" envelope — e.g. { "data": { ... } }'+(t?".":" (an empty object for this zero-parameter tool).")];return e.length>0&&n.push(`Field(s) ${e.map(r=>`"${r}"`).join(", ")} are transport-level envelope metadata, NOT domain data — do not nest them under "data". Over MCP they are read from arguments._meta["x-<pluginId>-<field>"] (default pluginId "adhd"); see @adhd/apigen-engine-naming's envelopeMetaKey/envelopeCliFlag/envelopeEnvVar for the HTTP-header / CLI-flag / env-var equivalents.`),n.join(" ")}function ub(e,t,n){ab(e);const r={};for(const[o,s]of Object.entries(e.schemas)){const i={},a=s.input.properties??{},c=s.input.required??[],u={},l=[],f={};for(const m of t)if(m.envelope&&i[m.id]!==!1)for(const[y,$]of Object.entries(m.envelope))u[y]=$,f[y]=m.id,l.includes(y)||l.push(y);const p={type:"object",properties:a,additionalProperties:!1,...c.length>0?{required:c}:{}},h=s.safe===!0||ib(s.input),d=s.input.definitions,v=s.input.$defs;r[o]={input:{type:"object",properties:{...u,data:p},required:[...l,...c.length>0?["data"]:[]],additionalProperties:!1,description:cb(Object.keys(u),Object.keys(a).length>0),...d?{definitions:d}:{},...v?{$defs:v}:{}},output:s.output,...s.hasCtx?{hasCtx:!0}:{},"x-apigen-safe":h,...Object.keys(f).length>0?{"x-apigen-envelope":f}:{}}}return r}const lb=8;function fb(e,t){try{return t?e.getText(t):e.getText()}catch{try{return e.getText()}catch{return}}}let db=0;async function pb(e,t,n,r){const o=`__ApigenProbe_${process.pid}_${db++}`;let s;try{s=t.addTypeAlias({name:o,type:n});const i=s.getType();return await r(i)}catch{return}finally{try{s==null||s.remove()}catch{}}}async function Sf(e,t,n){if(n>lb)return{};if(e.isString()||e.isStringLiteral())return e.isStringLiteral()?{type:"string",enum:[e.getLiteralValue()]}:{type:"string"};if(e.isNumber()||e.isNumberLiteral())return e.isNumberLiteral()?{type:"number",enum:[e.getLiteralValue()]}:{type:"number"};if(e.isBoolean())return{type:"boolean"};if(e.isBooleanLiteral())return{type:"boolean"};if(e.isNull()||e.isUndefined()||e.isVoid())return{type:"null"};if(e.isUnion()){const r=e.getUnionTypes();if(r.every(i=>i.isStringLiteral())&&r.length>0)return{type:"string",enum:r.map(i=>i.getLiteralValue())};if(r.every(i=>i.isNumberLiteral())&&r.length>0)return{type:"number",enum:r.map(i=>i.getLiteralValue())};const o=await Promise.all(r.map(i=>Sf(i,t,n+1))),s=bi(o);return{oneOf:o,...s?{discriminator:s}:{},[cr]:"union"}}if(e.isArray()){const r=e.getArrayElementType();return{type:"array",items:r?await t(r.getText()):{}}}if(e.isTuple()){const r=e.getTupleElements(),o=await Promise.all(r.map(s=>t(s.getText())));return{type:"array",items:o,minItems:o.length,maxItems:o.length}}if(e.isObject()){const r=e.getStringIndexType(),o=e.getNumberIndexType(),s=r??o,i=e.getProperties();if(s&&i.length===0)return{type:"object",additionalProperties:await t(s.getText())};const a={};for(const c of i){const u=c.getName(),l=c.getDeclarations()[0];let f;if(l)try{f=c.getTypeAtLocation(l)}catch{f=void 0}if(f!==void 0&&f.getCallSignatures().length>0)continue;const p=f!==void 0?fb(f,l):void 0;a[u]=p!==void 0?await t(p):{}}return Object.keys(a).length>0?{type:"object",properties:a}:{}}return{}}function bi(e){if(e.length<2)return;const t=[];for(const r of e){if(r.type!=="object")return;const o=r.properties;if(!o||typeof o!="object")return;t.push(o)}const n=Object.keys(t[0]).filter(r=>t.every(o=>Object.prototype.hasOwnProperty.call(o,r)));for(const r of n){const o=[];let s=!0;for(const a of t){const c=a[r],u=c&&(c.type==="string"||c.type==="number"),l=c==null?void 0:c.enum;if(!u||!Array.isArray(l)||l.length!==1){s=!1;break}o.push(String(l[0]))}if(!s||new Set(o).size!==o.length)continue;const i={};return o.forEach((a,c)=>{i[a]=`#/oneOf/${c}`}),{propertyName:r,mapping:i}}}function Xn(e,t,n){if(t>6)return{};const r=e.trim();if(r==="string")return{type:"string"};if(r==="number")return{type:"number"};if(r==="boolean")return{type:"boolean"};if(r==="null")return{type:"null"};if(r==="undefined")return{type:"null"};const o=Bo[r];if(o!==void 0)return o;if(n!=null&&n.size){const s=n.get(r);if(s!==void 0){const i=Bo[s];if(i!==void 0)return i}}if(r.endsWith("[]"))return{type:"array",items:Xn(r.slice(0,-2),t+1,n)};if(r.includes("|")){const s=r.split("|").map(c=>c.trim());if(s.every(c=>c.startsWith("'")))return{type:"string",enum:s.map(c=>c.replace(/'/g,""))};const i=s.map(c=>Xn(c,t+1,n)),a=bi(i);return{oneOf:i,...a?{discriminator:a}:{},[cr]:"union"}}if(r.startsWith("{")&&r.endsWith("}")){const s=r.slice(1,-1).trim(),i={};for(const a of s.split(";").filter(Boolean)){const[c,u]=a.split(":").map(l=>l.trim());c&&u&&(i[c.replace("?","")]=Xn(u,t+1,n))}return{type:"object",properties:i}}return{}}function Of(e){const t=[];let n=0,r=0;for(let s=0;s<e.length;s++){const i=e[s];i==="<"||i==="["||i==="{"||i==="("?n++:i===">"||i==="]"||i==="}"||i===")"?n--:i===","&&n===0&&(t.push(e.slice(r,s).trim()),r=s+1)}const o=e.slice(r).trim();return o.length>0&&t.push(o),t}function hb(e){const t=/^(?:Readonly)?Map<(.+)>$/.exec(e);return t?t[1]:void 0}function mb(e){const t=/^(?:Readonly)?Set<(.+)>$/.exec(e);return t?t[1]:void 0}function gb(e){let t=e.trim();if(t.startsWith("readonly ")&&(t=t.slice(9).trim()),!t.startsWith("[")||!t.endsWith("]"))return;const n=t.slice(1,-1).trim();if(n.length!==0)return Of(n)}async function yb(e,t){const n=e.trim(),r=hb(n);if(r!==void 0){const i=Of(r);if(i.length===2){const[a,c]=await Promise.all([t(i[0]),t(i[1])]);return{type:"array",items:{type:"array",items:[a,c],minItems:2,maxItems:2}}}}const o=mb(n);if(o!==void 0)return{type:"array",items:await t(o),uniqueItems:!0};const s=gb(n);if(s!==void 0){const i=await Promise.all(s.map(a=>t(a)));return{type:"array",items:i,minItems:i.length,maxItems:i.length}}}const Nf={"decimal.js":"Decimal"},Bo={Date:{type:"string",format:"date-time"},bigint:{type:"string",format:"int64"},Uint8Array:{type:"string",format:"byte"},Buffer:{type:"string",format:"byte"},URL:{type:"string",format:"uri"},RegExp:{type:"string",format:"regex"},Decimal:{type:"string",format:"decimal"}},fc={Uint8Array:"byte",Buffer:"byte",Decimal:"decimal"};function dc(e){var t;const n=new Map;for(const r of e.getImportDeclarations()){const o=r.getModuleSpecifierValue(),s=Nf[o];if(!s)continue;const i=r.getDefaultImport();if(i){const a=i.getText();a!==s&&n.set(a,s)}for(const a of r.getNamedImports()){const c=((t=a.getAliasNode())==null?void 0:t.getText())??a.getName();c!==s&&n.set(c,s)}}return n}function vb(e,t){return n=>{n.addNodeParser({supportsNode(r){var o,s,i;if(r.kind!==t)return!1;const a=((o=r.typeName)==null?void 0:o.escapedText)??((i=(s=r.typeName)==null?void 0:s.right)==null?void 0:i.escapedText);return a!==void 0&&Object.prototype.hasOwnProperty.call(fc,a)},createType(r){var o,s,i;const a=((o=r.typeName)==null?void 0:o.escapedText)??((i=(s=r.typeName)==null?void 0:s.right)==null?void 0:i.escapedText);return new dt.AnnotatedType(new dt.StringType,{format:fc[a]},!1)}}),n.addNodeParser({supportsNode(r){return r.kind===e},createType(){return new dt.AnnotatedType(new dt.StringType,{format:"int64"},!1)}})}}let Qt;function $b(){if(Qt)return Qt;try{const e=D.dirname(require.resolve("ts-json-schema-generator/package.json"));Qt=require(require.resolve("typescript",{paths:[e]}))}catch{Qt=require("typescript")}return Qt}const Je=new Map;function wb(){const e=process.env.APIGEN_PROGRAM_CACHE,t=e===void 0?NaN:Number(e);return Number.isFinite(t)&&t>=0?t:8}function bb(e){const t=Je.get(e);return t&&(Je.delete(e),Je.set(e,t)),t}function Eb(e,t){const n=wb();if(n!==0)for(Je.delete(e),Je.set(e,t);Je.size>n;){const r=Je.keys().next().value;Je.delete(r)}}function Sb(e,t){return`${e}\0${t??""}`}const Ob=new Set(["zod",/^zod\/./]);function Nb(e){for(const t of e.getImportDeclarations()){const n=t.getModuleSpecifierValue();for(const r of Ob)if(typeof r=="string"){if(n===r)return!0}else if(r.test(n))return!0}return!1}function _b(e){for(const t of["$defs","definitions"]){const n=e[t];if(!n||typeof n!="object")continue;const r=Object.keys(n);if(r.length===0)continue;const o=new Set(r.filter(s=>/zod/i.test(s)));for(const[s,i]of Object.entries(n)){if(o.has(s)||typeof i!="object"||i===null)continue;const a=i,c=typeof a.$ref=="string"?a.$ref:"";if(c){for(const u of o)if(c.includes(u)){o.add(s);break}}}for(const s of o)delete n[s]}Uo(e)}function Uo(e,t){if(!e||typeof e!="object")return;const n=t??new WeakSet;if(!n.has(e)){n.add(e);for(const r of Object.keys(e))if(r==="$ref"&&typeof e[r]=="string"){const o=e[r];/zod/i.test(o)&&delete e[r]}for(const[,r]of Object.entries(e))if(typeof r=="object"&&r!==null)if(Array.isArray(r))for(const o of r)typeof o=="object"&&o!==null&&Uo(o,n);else Uo(r,n)}}function kb(e){const t=new Set;for(const r of["$defs","definitions"]){const o=e[r];if(o&&typeof o=="object")for(const s of Object.keys(o))t.add(s)}const n=Fo(e,t);if(n.length>0)throw new Error(`[apigen-core-client] Generated schema contains ${n.length} unresolvable $ref(s): ${n.join(", ")}. This usually means zod-internal definitions were stripped but $ref references to them remain. Check the source file's imports or the ts-json-schema-generator output.`)}function Fo(e,t){if(!e||typeof e!="object")return[];const n=[];for(const[r,o]of Object.entries(e))if(r==="$ref"&&typeof o=="string"){const s=o.match(/#\/(?:\$defs|definitions)\/(.+)$/);s&&!t.has(s[1])&&n.push(o)}else if(typeof o=="object"&&o!==null)if(Array.isArray(o))for(const s of o)typeof s=="object"&&s!==null&&n.push(...Fo(s,t));else n.push(...Fo(o,t));return n}function Ab(e){const t=e.anyOf;if(!Array.isArray(t)||t.length<2)return e;const n=t,r=bi(n),o={...e};return delete o.anyOf,{...o,oneOf:n,...r?{discriminator:r}:{},[cr]:o[cr]??"union"}}function Ib(e,t,n){const{DEFAULT_CONFIG:r}=require("ts-json-schema-generator/dist/src/Config.js"),o={...r,...e},s=o.path,i=Sb(s,o.tsconfig);let a;a=n?n.statVersion(s):Ef(s);let c;if(i!==void 0){const l=(n==null?void 0:n.generatorCache.get(i))??bb(i);l&&l.version===a&&(c=l.gen)}if(!c){const{createProgram:l}=require("ts-json-schema-generator/dist/factory/program.js"),f=$b(),p=vb(f.SyntaxKind.BigIntKeyword,f.SyntaxKind.TypeReference),h=l(o),d=dt.createParser(h,o,p),v=dt.createFormatter(o);if(c=new dt.SchemaGenerator(h,d,v,o),n&&n.stats.generatorsBuilt++,i!==void 0&&a!==void 0){const m={version:a,gen:c};Eb(i,m),n==null||n.generatorCache.set(i,m)}}const u=c.createSchema(o.type);return _b(u),kb(u),u}function jb(e,t){let n=e.trim();if(n=kf(n),t!=null&&t.size){const o=t.get(n);if(o!==void 0)return o}const r=n.match(/^ReadonlyArray<(.+)>$/);for(r&&(n=`${r[1].trim()}[]`);n.startsWith("readonly ");)n=n.slice(9).trim();return n}function _f(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const Pb=Object.entries(Nf).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${_f(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function kf(e){let t=e;for(const{pattern:n,key:r}of Pb)t=t.replace(n,r);return t}function xb(e,t){let n=kf(e);for(const[r,o]of t)n=n.replace(new RegExp(`\\b${_f(r)}\\b`,"g"),o);return n}async function vn(e,t,n,r,o,s){const i=t.getFilePath(),a=`${i}\0${r??""}\0${n}`,c=s??new Set;if(c.has(a))return{};if(!o){const d=new Set(c);return d.add(a),pc(e,t,n,r,void 0,d)}const u=o.schemaCache.get(a);if(u!==void 0)return o.stats.schemaCacheHits++,u;const l=nb(i,r,o.statVersion(i)),f=l.get(n);if(f!==void 0)return o.stats.schemaCacheHits++,o.schemaCache.set(a,Promise.resolve(f)),f;o.stats.schemaCacheMisses++;const p=new Set(c);p.add(a);const h=pc(e,t,n,r,o,p).then(d=>(l.set(n,d),d)).catch(d=>{throw o.schemaCache.delete(a),d});return o.schemaCache.set(a,h),h}async function pc(e,t,n,r,o,s){if(["void","undefined","null","Promise<void>"].includes(n))return{type:"null"};let i;if(o){const p=o.aliasCache.get(t);i=p??dc(t),p||o.aliasCache.set(t,i)}else i=dc(t);const a=jb(n,i),c=Bo[a];if(c!==void 0)return c;const u=await yb(a,p=>vn(e,t,p,r,o,s));if(u!==void 0)return u;const l=(o==null?void 0:o.zodImportCache.get(t))??Nb(t);if(o&&o.zodImportCache.set(t,l),!l)try{const p={path:t.getFilePath(),type:a,skipTypeCheck:!0,tsconfig:r,topRef:!1},h=Ib(p,!0,o);return Ab(h)}catch{}try{const p=await pb(e,t,a,h=>Sf(h,d=>vn(e,t,d,r,o,s),0));if(p!==void 0)return p}catch{}const f=xb(a,i);return Xn(f,0,i)}function Ei(e,t,n){if(e!=null&&e.hasInitializer()){const r=e.getInitializer();if(r)return r.getText()}return Tb(n,t)}function Tb(e,t){var n;const r=e,o=((n=r==null?void 0:r.getJsDocs)==null?void 0:n.call(r))??[],s=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=new RegExp(`\\[\\s*${s}\\s*=\\s*([^\\]]+)\\]`);for(const a of o)for(const c of a.getTags()){if(c.getTagName()!=="param")continue;const u=c.getText().match(i);if(u)return u[1].trim()}}function Cb(e){const t=e.trim(),n=t.match(/^(['"`])([\s\S]*)\1$/);if(n)return n[2];if(t==="true")return!0;if(t==="false")return!1;if(t==="null")return null;if(t!=="undefined"){if(/^-?\d+(\.\d+)?$/.test(t))return Number(t);try{return JSON.parse(t)}catch{return t}}}function Rb(e,t){const n=Cb(t);if(n===void 0)return;e.default=n;const r=typeof n=="string"?n:JSON.stringify(n),o=typeof e.description=="string"?e.description:void 0;e.description=o?`${o} (default: ${r})`:`(default: ${r})`}async function Mb(e){const t=e.session===void 0,n=ob(e.session??rb());try{return await Db(e,n)}finally{t&&n.dispose()}}async function Db(e,t){const{sourceFile:n,namespace:r="",dropFileSegment:o=!1,tsconfig:s}=e,i=t.projectFor(s),a=t.sourceFileFor(n,s),c=D.basename(n),u=De(Fb(c)),l=o?null:u,f=De(r),p=[];for(const[v,m]of a.getExportedDeclarations()){if(v==="default"||Bn(v))continue;const y=qb(m);if(y){const N=y.getSignature(),j=hc(N,y),M=N.getReturnType().getText();p.push(await Ln(i,a,f,l,v,j,M,y.isAsync(),s,t));continue}const $=m.find(N=>N.getKindName()==="VariableDeclaration");if(!$)continue;const S=$.getInitializer(),b=S==null?void 0:S.getKindName();if(S&&["ArrowFunction","FunctionExpression"].includes(b??"")){const N=$.getType().getCallSignatures();if(N.length===0)continue;const j=N[0],M=mc(j,$,$.getVariableStatement()),H=j.getReturnType().getText(),Z=S.isAsync();p.push(await Ln(i,a,f,l,v,M,H,Z,s,t))}else if(b==="ObjectLiteralExpression"){const N=$.getType();for(const j of N.getProperties()){const M=j.getName();if(Bn(M))continue;const H=j.getTypeAtLocation($).getCallSignatures();if(H.length===0)continue;const Z=H[0],le=mc(Z,$,$.getVariableStatement()),fe=Z.getReturnType().getText(),ye=[...l?[l]:[],De(v),De(M)];p.push(await er(i,a,f,ye,M,le,fe,!1,s,t))}}else{const N=$.getType(),j=N.getText();if(ct(N,$)){const M=await vn(i,a,j,s,t);p.push(Bb(f,l,v,M))}else console.warn(`[apigen-core] Skipping non-callable, non-serializable export: ${v}`)}}const h=a.getDefaultExportSymbol();if(h){const v=a.getExportAssignment(m=>!m.isExportEquals());if(v){const m=v.getExpression(),y=m.getKindName();if(["ArrowFunction","FunctionExpression"].includes(y)){const $=m.getType().getCallSignatures();if($.length>0){const S=$[0],b=oo(S,v),N=S.getReturnType().getText(),j=m.isAsync();p.push(await Ln(i,a,f,l,"default",b,N,j,s,t))}}else{const $=m.getType();for(const S of $.getProperties()){const b=S.getName();if(Bn(b))continue;const N=S.getTypeAtLocation(v).getCallSignatures();if(N.length===0)continue;const j=N[0],M=oo(j,v),H=j.getReturnType().getText(),Z=[...l?[l]:[],De("default"),De(b)];p.push(await er(i,a,f,Z,b,M,H,!1,s,t))}}}else{const m=h.getDeclarations();for(const y of m){if(y.getKindName()!=="FunctionDeclaration")continue;const $=y,S=$.getName(),b=S&&S.length>0?S:"default",N=$.getSignature(),j=hc(N,$),M=N.getReturnType().getText();p.push(await Ln(i,a,f,l,b,j,M,$.isAsync(),s,t))}}}const d=Vb(a);if(d.length>0)for(const{name:v,sig:m}of d){if(Bn(v))continue;const y=oo(m),$=m.getReturnType().getText(),S=[...l?[l]:[],De(v)];p.push(await er(i,a,f,S,v,y,$,!1,s,t))}return p}function Lb(e,t,n,r){const o=new Set,s=i=>{if(Array.isArray(i))return i.map(s);if(!i||typeof i!="object"||o.has(i))return i;o.add(i);try{const a=i,c={};for(const[u,l]of Object.entries(a)){if(u==="definitions"||u==="$defs"){const f=u,p=t[f];for(const[h,d]of Object.entries(l)){const v=s(d),m=p[h];if(m!==void 0&&JSON.stringify(m)!==JSON.stringify(v))throw new Error(`[apigen-core-client] Function "${n}": param "${r}" contributes a "${f}.${h}" definition that conflicts with an identically-named definition already hoisted from another param/output in the same function. Two structurally different types share the same generated definition key, so apigen cannot safely merge them into one function-level schema.`);p[h]=v}continue}c[u]=s(l)}return c}finally{o.delete(i)}};return s(e)}async function Ln(e,t,n,r,o,s,i,a,c,u){const l=De(o);return er(e,t,n,r?[r,l]:[l],o,s,i,a,c,u)}async function er(e,t,n,r,o,s,i,a,c,u){const l=s.length>0&&s[0].name==="ctx",f=s.filter($=>$.name!=="ctx"),p=f.filter($=>!$.optional).map($=>$.name),h={},d={definitions:{},$defs:{}};for(const $ of f){const S=await vn(e,t,$.type,c,u),b=Lb(S,d,o,$.name);$.defaultValue!==void 0&&Rb(b,$.defaultValue),h[$.name]=b}const v=i.replace(/^Promise<(.+)>$/,"$1").trim(),m=await vn(e,t,v,c,u),y={type:"object",properties:h,required:p,...Object.keys(d.definitions).length>0?{definitions:d.definitions}:{},...Object.keys(d.$defs).length>0?{$defs:d.$defs}:{}};return{id:Af(n,r),host:"ts",namespace:n,path:r,kind:"action",async:a,streaming:!1,safe:!1,input:y,output:m,envelope:{},typeText:{lang:"ts",input:Kb(s),output:v},...l?{hasCtx:!0}:{}}}function Bb(e,t,n,r){const o=De(n),s=t?[t,o]:[o];return{id:Af(e,s),host:"ts",namespace:e,path:s,kind:"query",async:!1,streaming:!1,safe:!0,input:{type:"object",properties:{},required:[]},output:r,envelope:{},typeText:null}}function Af(e,t){return(e.raw?[e,...t]:t).map(n=>n.words.join("-")).join("/")}function Ub(e){return e.split(/[-_.]+/).flatMap(t=>t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").split("_").filter(Boolean)).map(t=>t.toLowerCase()).filter(Boolean)}function De(e){return{raw:e,words:Ub(e)}}function Fb(e){return e.replace(/\.[^.]+$/,"").replace(/[._]+/g,"-")}function Vb(e){const t=[];for(const n of e.getStatements()){if(n.getKindName()!=="ExpressionStatement")continue;const r=n.getExpression();if(r.getKindName()!=="BinaryExpression")continue;const o=r;if(o.getLeft().getText().trim()!=="module.exports"||o.getOperatorToken().getKindName()!=="EqualsToken")continue;const s=o.getRight(),i=s.getType();for(const a of i.getProperties()){const c=a.getTypeAtLocation(s).getCallSignatures();c.length!==0&&t.push({name:a.getName(),sig:c[0]})}}return t}function qb(e){let t;for(const n of e){if(n.getKindName()!=="FunctionDeclaration")continue;const r=n;if(t||(t=r),r.getBody())return r}return t}function hc(e,t){return e.getParameters().map(n=>{var r;const o=n.getDeclarations(),s=o.length>0&&o[0].getKindName()==="Parameter"?o[0]:null,i=n.isOptional()||((s==null?void 0:s.hasInitializer())??!1)||(((r=s==null?void 0:s.hasQuestionToken)==null?void 0:r.call(s))??!1);return{name:n.getName(),type:n.getTypeAtLocation(e.getDeclaration()).getText(),optional:i,defaultValue:Ei(s,n.getName(),t)}})}function mc(e,t,n){return e.getParameters().map(r=>{var o;const s=r.getDeclarations(),i=s.length>0&&s[0].getKindName()==="Parameter"?s[0]:null,a=r.isOptional()||((i==null?void 0:i.hasInitializer())??!1)||(((o=i==null?void 0:i.hasQuestionToken)==null?void 0:o.call(i))??!1);return{name:r.getName(),type:r.getTypeAtLocation(t).getText(),optional:a,defaultValue:Ei(i,r.getName(),n??t)}})}function oo(e,t){return e.getParameters().map(n=>{var r,o,s;const i=n.getDeclarations(),a=i.length>0&&i[0].getKindName()==="Parameter"?i[0]:null,c=n.isOptional()||((a==null?void 0:a.hasInitializer())??!1)||(((r=a==null?void 0:a.hasQuestionToken)==null?void 0:r.call(a))??!1);return{name:n.getName(),type:a?a.getType().getText():((s=(o=n.getValueDeclaration())==null?void 0:o.getType())==null?void 0:s.getText())??"unknown",optional:c,defaultValue:Ei(a,n.getName(),t)}})}function Kb(e){const t=e.filter(n=>n.name!=="ctx");return t.length===0?"()":"("+t.map(n=>`${n.name}${n.optional?"?":""}: ${n.type}`).join(", ")+")"}function Bn(e){return!!(e==="__samples__"||e.startsWith("__"))}function ct(e,t,n=new Set){if(e.getCallSignatures().length>0||e.getConstructSignatures().length>0)return!1;if(e.isString()||e.isNumber()||e.isBoolean()||e.isNull()||e.isUndefined()||e.isStringLiteral()||e.isNumberLiteral()||e.isBooleanLiteral()||e.isEnumLiteral())return!0;if(e.isArray()||e.isReadonlyArray()){const r=e.getArrayElementType();return r?ct(r,t,n):!1}if(e.isTuple())return e.getTupleElements().every(r=>ct(r,t,n));if(e.isUnion())return e.getUnionTypes().every(r=>ct(r,t,n));if(e.isIntersection())return e.getIntersectionTypes().every(r=>ct(r,t,n));if(e.isObject()){const r=e.getText(t);if(n.has(r))return!0;n.add(r);const o=e.getStringIndexType(),s=e.getNumberIndexType();if(o||s)return[o,s].every(a=>!a||ct(a,t,n));const i=e.getProperties();return i.length===0?!0:i.every(a=>{const c=a.getTypeAtLocation(t);return ct(c,t,n)})}return!1}const Gb={"decimal.js":"Decimal"};function zb(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(Gb).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${zb(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));const Wb=["invalid_argument","unauthenticated","permission_denied","not_found","internal"],Hb={invalid_argument:400,unauthenticated:401,permission_denied:403,not_found:404,internal:500};let Jb=class extends Error{constructor(t,n,r){super(n),this.name="ApiError",this.code=t,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){const t={code:this.code,message:this.message};return this.details!==void 0&&(t.details=this.details),t}};function Si(e){return typeof e=="object"&&e!==null&&e.name==="ApiError"&&Wb.includes(e.code)&&typeof e.toJSON=="function"}const Vo="$apigen";let gc=class extends Error{constructor(t){super(t),this.code="E_DUP_CODEC",this.name="CodecRegistryError"}};function Yb(e){const t=new Map;return{register(n,r){if(t.has(n.id)&&!(r!=null&&r.override))throw new gc(`E_DUP_CODEC: a codec is already registered for id "${n.id}"`);t.set(n.id,n)},resolve(n){for(const r of t.values())if(r.matches(n))return r},get(n){return t.get(n)},ids(){return[...t.keys()]},freeze(){const n=new Map(t),r={register(){throw new gc("E_DUP_CODEC: registry is frozen and cannot accept new codecs")},resolve(o){for(const s of n.values())if(s.matches(o))return s},get(o){return n.get(o)},ids(){return[...n.keys()]},freeze(){return r}};return r}}}const Oi="x-apigen-logical",Ni="x-apigen-codec",qo="x-apigen-ctor",Ko="x-apigen-tojson",Qb="0.1.0";function yc(e,t){return{registry:e,resolve:n=>{throw new Error(`[apigen-logical] $ref "${n}" cannot be resolved in run-mode without a descriptor root. Supply a resolve() in the ctx override to handle $ref.`)},seen:new WeakSet,path:"",mode:"strict",...t}}function jt(e,t,n){const r=n.registry.resolve(t);if(r)return r.encode(e,t,n);const o=t.$ref;if(typeof o=="string"){const a=n.resolve(o);return jt(e,a,n)}const s=t.oneOf;if(Array.isArray(s)){const a=If(e,s,t);return jt(e,a,n)}const i=t.type;if(i==="array"){if(!Array.isArray(e))return so(e,t,n);const a=t.items;if(!a)return e.map(u=>mt(u));const c=n.path;return Array.isArray(a)?e.map((u,l)=>{const f=a[l];return f===void 0?mt(u):jt(u,f,{...n,path:`${c}/${l}`})}):e.map((u,l)=>jt(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(e===null||typeof e!="object"||Array.isArray(e))return so(e,t,n);const a=t.properties;if(!a)return mt(e);const c=n.path,u={};for(const[l,f]of Object.entries(a)){const p=e[l];p!==void 0&&(u[l]=jt(p,f,{...n,path:`${c}/${l}`}))}return u}return i==null?so(e,t,n):mt(e)}function Pt(e,t,n){const r=n.registry.resolve(t);if(r)return r.decode(e,t,n);const o=t.$ref;if(typeof o=="string"){const a=n.resolve(o);return Pt(e,a,n)}const s=t.oneOf;if(Array.isArray(s)){const a=If(e,s,t);return Pt(e,a,n)}const i=t.type;if(i==="array"){if(!Array.isArray(e))return e;const a=t.items;if(!a)return e;const c=n.path;return Array.isArray(a)?e.map((u,l)=>{const f=a[l];return f===void 0?u:Pt(u,f,{...n,path:`${c}/${l}`})}):e.map((u,l)=>Pt(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(e===null||typeof e!="object"||Array.isArray(e))return e;const a=t.properties;if(!a)return e;const c=n.path,u={};for(const[l,f]of Object.entries(a)){const p=e[l];p!==void 0&&(u[l]=Pt(p,f,{...n,path:`${c}/${l}`}))}return u}return i==null?Zb(e,n):e}function If(e,t,n,r){const o=n.discriminator;if(o!=null&&o.propertyName){const s=e!==null&&typeof e=="object"?e[o.propertyName]:void 0;if(typeof s=="string"&&o.mapping){const i=o.mapping[s];if(i){const a=t.find(c=>c.$ref===i);if(a)return a}}}return t[0]??{}}function so(e,t,n){for(const r of n.registry.ids()){const o=n.registry.get(r);if(o)try{const s=o.encode(e,o.schema,n);return{[Vo]:r,v:s}}catch{}}return mt(e)}function Zb(e,t){if(e!==null&&typeof e=="object"&&!Array.isArray(e)&&Vo in e){const n=e,r=n[Vo],o=t.registry.get(r);if(o)return o.decode(n.v,o.schema,t)}return e}function mt(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(mt);if(typeof e=="object"){const t={};for(const[n,r]of Object.entries(e))r!==void 0&&(t[n]=mt(r));return t}return null}function Xb(e){return{encode(t,n,r){const o=yc(e,r);return jt(t,n,o)},decode(t,n,r){const o=yc(e,r);return Pt(t,n,o)}}}const _i={id:"date-time",kind:"scalar",schema:{type:"string",format:"date-time"},matches(e){return e.type==="string"&&e.format==="date-time"},encode(e,t,n){return e.toISOString()},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[date-time] expected a string on the wire at "${n.path}", got ${typeof e}`);return new Date(String(e))}if(n.mode==="strict"&&Number.isNaN(new Date(e).getTime()))throw new TypeError(`[date-time] invalid date-time string at "${n.path}": ${JSON.stringify(e)}`);return new Date(e)}},ki={id:"int64",kind:"scalar",schema:{type:"string",format:"int64"},matches(e){return e.type==="string"&&e.format==="int64"},encode(e,t,n){return String(e)},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[int64] expected a string on the wire at "${n.path}", got ${typeof e}`);try{return BigInt(Math.trunc(Number(e)))}catch{return BigInt(0)}}if(n.mode==="strict")return BigInt(e);if(/^-?\d+$/.test(e))try{return BigInt(e)}catch{return BigInt(0)}return BigInt(0)}},Ai={id:"decimal",kind:"scalar",schema:{type:"string",format:"decimal"},matches(e){return e.type==="string"&&e.format==="decimal"},encode(e,t,n){return e},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[decimal] expected a string on the wire at "${n.path}", got ${typeof e}`);return String(e)}if(n.mode==="strict"&&!/^-?\d+(\.\d+)?$/.test(e))throw new TypeError(`[decimal] wire value "${e}" at "${n.path}" is not a valid decimal string`);return e}},Ii={id:"byte",kind:"scalar",schema:{type:"string",format:"byte"},matches(e){return e.type==="string"&&e.format==="byte"},encode(e,t,n){return Buffer.from(e).toString("base64")},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[byte] expected a base64 string on the wire at "${n.path}", got ${typeof e}`);return new Uint8Array(0)}if(n.mode==="strict"&&!/^[A-Za-z0-9+/]*={0,2}$/.test(e))throw new TypeError(`[byte] wire value at "${n.path}" is not standard base64 (format:byte): "${e}"`);return new Uint8Array(Buffer.from(e,"base64"))}},eE=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,ji={id:"uuid",kind:"scalar",schema:{type:"string",format:"uuid"},matches(e){return e.type==="string"&&e.format==="uuid"},encode(e,t,n){return e.toLowerCase()},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[uuid] expected a string on the wire at "${n.path}", got ${typeof e}`);return String(e).toLowerCase()}if(n.mode==="strict"&&!eE.test(e))throw new TypeError(`[uuid] wire value "${e}" at "${n.path}" is not a lowercase-hyphenated RFC 4122 UUID`);return e}},Go="NaN",zo="Infinity",Wo="-Infinity",tE=new Set([Go,zo,Wo]),Pi={id:"number-special",kind:"scalar",schema:{type:"number"},matches(e){return e.type==="number"&&e.format===void 0},encode(e,t,n){return Number.isNaN(e)?Go:e===1/0?zo:e===-1/0?Wo:e},decode(e,t,n){if(typeof e=="number")return e;if(typeof e=="string"){if(e===Go)return NaN;if(e===zo)return 1/0;if(e===Wo)return-1/0;const r=Number(e);if(!Number.isNaN(r))return r}if(n.mode==="strict")throw new TypeError(`[number-special] unrecognized wire value at "${n.path}": ${JSON.stringify(e)}. Expected a number or one of ${[...tE].join(", ")}.`);return NaN}},nE=[_i,ki,Ai,Ii,ji,Pi];function rE(e,t={}){for(const n of nE)e.register(n,{override:t.override??!1})}_i.id,ki.id,Ai.id,Ii.id,ji.id,Pi.id;const jf=Yb();rE(jf);const Pf=Xb(jf.freeze());function oE(e,t){var n;const r=((n=e.input)==null?void 0:n.properties)??{};return t in r}function sE(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data;return Object.keys((r==null?void 0:r.properties)??{})}function iE(e,t){var n,r,o;const s=(o=(r=(n=e.input)==null?void 0:n.properties)==null?void 0:r.data)==null?void 0:o.properties,i=s==null?void 0:s[t];return i!==void 0?i:void 0}function aE(e,t){return t===void 0||e===void 0?e:Pf.decode(e,t)}function io(e,t){const n=t.output;return!n||Object.keys(n).length===0?e:Pf.encode(e,n)}async function cE(e,t,n,r,o,s){const i=sE(n).map(c=>aE(s[c],iE(n,c)));if(oE(n,"session")&&t){const c=await t({session:o.session}),u=await e[r](c,...i);return io(u,n)}if(n.hasCtx){const c=t?await t(o):void 0,u=await e[r](c,...i);return io(u,n)}const a=await e[r](...i);return io(a,n)}let uE=class{constructor(){this._map=new Map}set(t,n){this._map.set(t,n)}get(t){return this._map.get(t)}has(t){return this._map.has(t)}};function lE(e=[]){return async function(t,n,r){const o=r.schemas[t];if(!o)throw new Error(`apigen/invoke: no schema found for operation "${t}"`);const s=()=>cE(r.fns,r.createClient,o,t,n.envelope,n.domainArgs);return e.reduceRight((i,a)=>()=>a(n,i),s)()}}const fE={"decimal.js":"Decimal"};function dE(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(fE).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${dE(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function pE(e={}){const t=e.level??"info",n=typeof e.destination=="string"&&e.destination.length>0,r=!n&&!!process.stderr.isTTY,o=e.format??(r?"pretty":"json"),s={level:t};if(o==="pretty")return s.transport={target:"pino-pretty",options:{colorize:!n,translateTime:"SYS:HH:MM:ss.l",ignore:"pid,hostname",...n?{destination:e.destination,mkdir:!0}:{destination:2}}},Ee(s);const i=n?Ee.destination({dest:e.destination,mkdir:!0,sync:!0}):Ee.destination(2);return Ee(s,i)}function xf(e){return e?e.type==="array"?`${xf(e.items)}[]`:e.enum?"enum":e.$ref?String(e.$ref).split("/").pop()||"object":e.anyOf||e.oneOf?"union":e.type??"object":"unknown"}function Tf(e){var t;const n=(t=((e==null?void 0:e.input)??{}).properties)==null?void 0:t.data,r=(n==null?void 0:n.properties)??{},o=new Set((n==null?void 0:n.required)??[]),s=Object.entries(r).map(([a,c])=>({name:a,type:xf(c),required:o.has(a)})),i=s.map(a=>`${a.name}${a.required?"":"?"}: ${a.type}`).join(", ");return{params:s,text:i}}function hE(e){let t;return Array.isArray(e)?t=e:e?t=[e]:t=[],t.find(n=>n==="number"||n==="integer"||n==="boolean")}function mE(e,t){var n,r;const o=((r=(n=((t==null?void 0:t.input)??{}).properties)==null?void 0:n.data)==null?void 0:r.properties)??{},s={...e};for(const[i,a]of Object.entries(o)){const c=s[i];if(typeof c!="string")continue;const u=hE(a==null?void 0:a.type);if(u==="number"||u==="integer"){const l=Number(c);!Number.isNaN(l)&&c.trim()!==""&&(s[i]=l)}else u==="boolean"&&(c==="true"?s[i]=!0:c==="false"&&(s[i]=!1))}return s}let gE=class extends Error{constructor(t,n,r){super(n),this.name="ApiError",this.code=t,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){const t={code:this.code,message:this.message};return this.details!==void 0&&(t.details=this.details),t}};const _r=new os({allErrors:!0});ss(_r);for(const e of[Oi,Ni,qo,Ko,"discriminator"])_r.addKeyword({keyword:e,valid:!0});_r.addFormat("decimal",/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/);function yE(e){return e.map(t=>`${t.instancePath||"(root)"} ${t.message??"failed schema check"}`).join("; ")}function vE(e){return async function(t,n){const r=t.operation.id,o=e[r];if(o===void 0)return n();const s={data:t.domainArgs,...t.envelope},i=_r.compile(o.input);if(!i(s)){const a=i.errors??[];throw new gE("invalid_argument",`Validation failed: ${yE(a)}`,a)}return n()}}function $E(e){return e!==null&&typeof e=="object"&&Symbol.asyncIterator in e}let st=class extends Error{constructor(t,n){super(n),this.name="UnionCodecError",this.code=t}};function ao(e){const t=e.discriminator;if(t===null||typeof t!="object"||Array.isArray(t))return;const n=t;if(typeof n.propertyName!="string")return;const r=n.mapping;if(!(r===null||typeof r!="object"||Array.isArray(r)))return{propertyName:n.propertyName,mapping:r}}function Cf(e,t){const n=e[Ni];if(typeof n=="string"){const r=t.registry.get(n);if(r)return r}return t.registry.resolve(e)}function wE(e,t,n){const r=Cf(t,n);return r?r.encode(e,t,n):e}function bE(e,t,n){const r=Cf(t,n);return r?r.decode(e,t,n):e}function EE(e){const{id:t,schema:n}=e;return{id:t,kind:"union",schema:n,matches(r){if(r[Oi]==="union")return!0;const o=r.oneOf;return!Array.isArray(o)||o.length===0?!1:ao(r)!==void 0},encode(r,o,s){const i=ao(o);if(!i)throw new st("E_UNION_NO_DISCRIMINATOR",`[${t}] schema node at "${s.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:a,mapping:c}=i,u=r[a];if(u==null)throw new st("E_UNION_NO_DISCRIMINATOR",`[${t}] value at "${s.path}" is missing the discriminator property "${a}".`);const l=String(u),f=c[l];if(!f)throw new st("E_UNION_UNKNOWN_TAG",`[${t}] discriminator tag "${l}" at "${s.path}" is not in the mapping (known: ${Object.keys(c).join(", ")}).`);const p=s.resolve(f);return wE(r,p,{...s,path:`${s.path}[${l}]`})},decode(r,o,s){if(r===null||typeof r!="object"||Array.isArray(r)){let d;throw r===null?d="null":Array.isArray(r)?d="array":d=typeof r,new st("E_UNION_INVALID_WIRE",`[${t}] expected a JSON object on the wire at "${s.path}", got ${d}.`)}const i=r,a=ao(o);if(!a)throw new st("E_UNION_NO_DISCRIMINATOR",`[${t}] schema node at "${s.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:c,mapping:u}=a,l=i[c];if(l==null)throw new st("E_UNION_NO_DISCRIMINATOR",`[${t}] wire object at "${s.path}" is missing the discriminator property "${c}".`);const f=String(l),p=u[f];if(!p)throw new st("E_UNION_UNKNOWN_TAG",`[${t}] discriminator tag "${f}" on the wire at "${s.path}" is not in the mapping (known: ${Object.keys(u).join(", ")}).`);const h=s.resolve(p);return bE(r,h,{...s,path:`${s.path}[${f}]`})}}}const SE="x-apigen-instances";let Un=class extends Error{constructor(t,n){super(n),this.name="NominalCodecError",this.code=t}};function vc(e){const t=e.properties;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function OE(e){const t=e.required;return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}function $c(e,t,n){if(t){const r=n.registry.resolve(t);if(r)return r.encode(e,t,n)}return e}function NE(e,t,n){if(t){const r=n.registry.resolve(t);if(r)return r.decode(e,t,n)}return e}function _E(e){const{id:t,schema:n,ctor:r}=e;return{id:t,kind:"nominal",schema:n,matches(o){return o[Oi]==="nominal"?!0:o[Ni]===t},encode(o,s,i){if(o===null||typeof o!="object")return o;if(i.seen.has(o)){if(i.mode==="strict")throw new Un("E_NOMINAL_CYCLE",`[${t}] cycle detected at "${i.path}": a nominal instance references itself. Strict mode rejects cycles (DESIGN §8.3); break the cycle or use 'lossy' mode.`);return null}i.seen.add(o);try{const a=vc(s),c=typeof s[Ko]=="string"?s[Ko]:"toJSON",u=o[c];if(typeof u=="function"){const d=u.call(o);if(d!==null&&typeof d=="object"&&!Array.isArray(d)){const v={};for(const[m,y]of Object.entries(d))v[m]=$c(y,a[m],{...i,path:`${i.path}/${m}`});return v}return d}const l={},f=Object.keys(a),p=o,h=f.length>0?f:Object.keys(p);for(const d of h){const v=p[d];v!==void 0&&(l[d]=$c(v,a[d],{...i,path:`${i.path}/${d}`}))}return l}finally{i.seen.delete(o)}},decode(o,s,i){if(o===null||typeof o!="object"||Array.isArray(o)){let l;throw o===null?l="null":Array.isArray(o)?l="array":l=typeof o,new Un("E_NOMINAL_INVALID_WIRE",`[${t}] expected a JSON object on the wire at "${i.path}", got ${l}.`)}const a=o;for(const l of OE(s))if(!(l in a))throw new Un("E_NOMINAL_INVALID_WIRE",`[${t}] required field "${l}" missing on the wire at "${i.path}".`);if(s[SE]===!1)throw new Un("E_NOMINAL_NONRECONSTRUCTABLE",`[${t}] is encode-only: the extractor marked it non-reconstructable (x-apigen-instances:false). It cannot be decoded back to a live instance.`);const c=vc(s),u={};for(const[l,f]of Object.entries(a))u[l]=NE(f,c[l],{...i,path:`${i.path}/${l}`});if(r){const l=typeof s[qo]=="string"?s[qo]:"fromJSON",f=r[l];if(typeof f=="function")return f.call(r,u);const p=r;return new p(u)}return u}}}const kE=[_i,ki,Ai,Ii,ji,Pi],AE={type:"object","x-apigen-logical":"nominal","x-apigen-codec":"ts.NominalSentinel"},wc=_E({id:"ts.NominalSentinel",schema:AE}),IE={oneOf:[],discriminator:{propertyName:"kind",mapping:{}},"x-apigen-logical":"union","x-apigen-codec":"ts.UnionSentinel"},bc=EE({id:"ts.UnionSentinel",schema:IE});function jE(){const e=[...kE.map(t=>[t.id,t]),[wc.id,wc],[bc.id,bc]];return Object.freeze(new Map(e))}Object.freeze({host:"ts",logicalTypeVersion:Qb,codecs:jE()});const Ec=new Set(["string","number","boolean","integer"]);function PE(e){if(typeof e!="object"||e===null)return!1;const t=e;if(t.$ref!==void 0||t.oneOf||t.anyOf||t.allOf)return!1;const{type:n}=t;return typeof n=="string"?Ec.has(n):Array.isArray(n)?n.every(r=>Ec.has(r)||r==="null"):Array.isArray(t.enum)&&t.enum.length>0?t.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function xE(e){if(!e||typeof e!="object")return!1;const t=e.properties;return t===void 0||typeof t!="object"||t===null?!1:Object.values(t).every(PE)}const TE={"decimal.js":"Decimal"};function CE(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(TE).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${CE(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function Sc(e){return e.words.join("-")}function Oc(e){return e.words.map(BE).join("")}function Nc(e){return e.words.join("_")}function RE(e,t={}){var n,r;const o=[e.namespace,...e.path],s=e.safe||xE(e.input)?"GET":"POST",i=((r=(n=t.http)==null?void 0:n.verb)==null?void 0:r[e.id])??s,a="/"+o.map(h=>Sc(h)).join("/"),c=o.map(h=>Nc(h)).join("_"),u=o.map(h=>Nc(h)).slice(0,-1).join("."),l=Oc(o[o.length-2]??o[0]),f=Oc(o[o.length-1]),p=o.map(h=>Sc(h));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:p}}}function ME(e,t){return`x-${e}-${t}`}function DE(e,t){return`--${e}-${t}`}function LE(e,t){const n=r=>r.toUpperCase().replace(/-/g,"_");return e==="adhd"?`APIGEN_${n(t)}`:`APIGEN_${n(e)}_${n(t)}`}function BE(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function Rf(e){return e.anyOf??e.oneOf}function UE(e){if(!e)return!1;if(e.type==="array"||e.type==="object")return!0;const t=Rf(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="array"||r.type==="object")}return!1}function FE(e){if(!e)return!1;if(e.type==="boolean")return!0;const t=Rf(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="boolean")}return!1}function VE(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function qE(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data,o=(r==null?void 0:r.properties)??{},s=(r==null?void 0:r.required)??[];return{props:o,required:s}}function _c(e){return typeof e.handler=="function"}function KE(e){var t;const n=((t=e.input)==null?void 0:t.properties)??{},r=e["x-apigen-envelope"],o=[];for(const s of Object.keys(n)){if(s==="data")continue;const i=(r==null?void 0:r[s])??"adhd",a=ME(i,s);o.push({field:s,pluginId:i,httpHeader:a,mcpMetaKey:a,cliFlag:DE(i,s),envVar:LE(i,s)})}return o}function GE(e,t){const n=new Map,{props:r}=qE(e);for(const[o,s]of Object.entries(r)){let i="string";FE(s)?i="boolean":UE(s)&&(i="json"),n.set(VE(o),{camelKey:o,kind:"domain",valueKind:i})}for(const o of t){const s=o.cliFlag.replace(/^--/,"");n.set(s,{camelKey:o.field,kind:"envelope",valueKind:"string",envVar:o.envVar})}return n}function kc(e){const{op:t,schema:n,transport:r,projection:o}=e,s=RE(t,o),i=n?KE(n):[],a=n?GE(n,i):new Map,c=n?Tf(n).params:void 0,u={op:t,transport:r,http:s.http,mcp:s.mcp,cli:s.cli,grpc:s.grpc,params:c,envelope:i,cliFlags:a,streaming:t.streaming,isMount:_c(t)};if(_c(t)){const l=t.handler;u.mountHandler=async f=>l(f)}return u}function zE(e){const t=e.usePlugins;return Array.isArray(t)?t:[]}function WE(e){const t=e.useOptions;return t&&typeof t=="object"?t:{}}function HE(e){return async function(t,n){const r=Object.assign(t,{data:t.domainArgs});return await e.layer(r,n)}}function Ac(e,t){var n;const r=[];for(const o of t){const s=(n=o.capabilities)==null?void 0:n.layer;s&&r.push(HE(s))}return r.push(vE(e)),lE(r)}function JE(){const e=new Map;return{get:t=>e.get(t),set:(t,n)=>{e.set(t,n)}}}const YE={input:{type:"object",properties:{data:{type:"object",properties:{}}}},output:{}};async function Ic(e,t,n,r){const o={...n,operation:{id:e.op.id},ctx:new uE};if(e.isMount){const s=e.mountHandler;if(!s)throw new Error(`apigen-engine-runtime/dispatchForPlan: OpPlan for mount op "${e.op.id}" has isMount=true but no mountHandler`);const i={operation:e.op,data:n.domainArgs,envelope:n.envelope,ctx:JE(),transport:e.transport,signal:n.signal??new AbortController().signal},a={...r,fns:{[e.op.id]:()=>s(i)},schemas:{[e.op.id]:YE}};return t(e.op.id,o,a)}return t(e.op.id,o,r)}const QE={"decimal.js":"Decimal"};function ZE(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(QE).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${ZE(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function Ho(e){return e.split(/[-_.]+/).flatMap(t=>t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").split("_").filter(Boolean)).map(t=>t.toLowerCase()).filter(Boolean)}function jc(e){return{raw:e,words:Ho(e)}}function XE(e,t,n,r){for(const o of r??[]){const s=o.path[o.path.length-1];if(o.namespace.raw===e&&(s==null?void 0:s.raw)===t)return o}return{id:`${Ho(e).join("-")}/${Ho(t).join("-")}`,host:"ts",namespace:jc(e),path:[jc(t)],kind:"action",async:!1,streaming:!1,safe:n["x-apigen-safe"]??!1,input:n.input??{},output:n.output??{},envelope:{},typeText:null}}function eS(e){return`data: ${e}
165
+
166
+ `}function tS(e){return`event: error
167
+ data: ${e}
168
+
169
+ `}async function nS(e,t,n){const r=new AbortController;t.raw.once("close",()=>r.abort());const o=n.raw;let s=!1;try{for await(const i of e){if(r.signal.aborted)break;s||(o.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Transfer-Encoding":"chunked"}),s=!0),o.write(eS(JSON.stringify(i)))}s||o.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),o.end()}catch(i){const a=Si(i)?i:new Jb("internal",i instanceof Error?i.message:String(i));if(s)o.write(tS(JSON.stringify(a.toJSON()))),o.end();else{const c=oS(a.code);o.writeHead(c,{"Content-Type":"application/json"}),o.end(JSON.stringify(a.toJSON()))}}n.hijack()}const rS={invalid_argument:400,unauthenticated:401,permission_denied:403,not_found:404,internal:500};function oS(e){return rS[e]??500}function Mf(e){return Si(e)?Hb[e.code]??500:500}function Df(e){return Si(e)?e.toJSON():{code:"internal",message:e instanceof Error?e.message:"Internal error"}}function sS(e,t){if(e)for(const n of t){const r={method:n.method,route:n.route};let o=`${n.method} ${n.route}`;n.params.length&&(r.method==="GET"?o+=` params {${n.text?` ${n.text} `:""}}`:o+=` body { data: {${n.text?` ${n.text} `:""}} }`),e.info(n,o)}}let iS=class{constructor(t,n,r){this.app=t,this.routePrefix=n,this.signal=r,this.schemasByOpId=new Map}bindSchema(t,n){this.schemasByOpId.set(t,n)}routeFor(t){return t.isMount?`${this.routePrefix}/${t.op.id}`:this.routePrefix+t.http.route}registerRoute(t,n){const r=this.routeFor(t),o=async(s,i)=>{const a={req:s,reply:i};try{const c=await this.readCall(a,t),u=await n(c);await this.writeResult(a,u,t)}catch(c){await this.writeError(a,c,t)}};t.http.verb==="GET"?this.app.get(r,o):this.app.post(r,o)}readCall(t,n){const{req:r}=t,o=r.headers,s={};for(const a of n.envelope){const c=o[a.httpHeader];c!==void 0&&(s[a.field]=c)}let i={};if(!n.isMount){const a=this.schemasByOpId.get(n.op.id);if(n.http.verb==="GET"){const c=r.query??{};i=a?mE(c,a):c}else{const{data:c={}}=r.body??{};i=c}}return{envelope:s,domainArgs:i,signal:this.signal}}async writeResult(t,n,r){const{req:o,reply:s}=t;if($E(n)){await nS(n,o,s);return}s.type("application/json"),s.send(JSON.stringify(n===void 0?null:n))}writeError(t,n,r){const{reply:o}=t;o.status(Mf(n)).send(Df(n))}};function aS(e,t,n,r){var o;const s=[],i={host:n,operations:r};for(const a of e){const c=(o=a.capabilities)==null?void 0:o.mount;if(!c)continue;const u=c.operations(i,t[a.id]);for(const l of u)l.transports&&!l.transports.includes("http")||s.push(l)}return s}async function cS(e){var t;const n=e.options.port??3e3,r=e.options.host??"127.0.0.1",o=e.options.routePrefix??"",s=e.options.projection??{},i=zE(e.options),a=WE(e.options),c=e.logger??pE(),u=Op({logger:c});u.setErrorHandler((d,v,m)=>{m.status(Mf(d)).send(Df(d))});const l=new iS(u,o,e.signal),f=[];for(const d of e.packages){if(!d.fns)throw new Error(`Package "${d.id}" is missing fns`);const v=d.fns,m=Object.entries(d.schemas).map(([N,j])=>({fnName:N,fnSchema:j,op:XE(d.id,N,j,e.operations)})),y={},$={};for(const{fnName:N,fnSchema:j,op:M}of m)y[M.id]=j,$[M.id]=v[N];const S=Ac(y,i),b={fns:$,createClient:d.createClient,schemas:y};for(const{fnSchema:N,op:j}of m){const M=kc({op:j,schema:N,transport:"http",projection:s});l.bindSchema(j.id,N),l.registerRoute(M,le=>Ic(M,S,le,b));const{params:H,text:Z}=Tf(N);f.push({method:M.http.verb,route:o+M.http.route,text:Z,params:H})}}const p=((t=e.packages[0])==null?void 0:t.id)??"ts",h=aS(i,a,p,e.operations??[]);if(h.length>0){const d=Ac({},i),v={fns:{},schemas:{}};for(const m of h){const y=kc({op:m,transport:"http",projection:s});l.registerRoute(y,$=>Ic(y,d,$,v)),f.push({method:y.http.verb,route:`${o}/${m.id}`,text:"",params:[]})}}return await u.listen({port:n,host:r}),c.info({host:r,port:n},`listening on http://${r}:${n}`),sS(c,f),new Promise(d=>{e.signal&&e.signal.addEventListener("abort",async()=>{await u.close(),d()})})}const uS={id:"api-fastify",run(e){return cS(e)}},Pc=new Set(["string","number","boolean","integer"]);function lS(e){if(typeof e!="object"||e===null)return!1;const t=e;if(t.$ref!==void 0||t.oneOf||t.anyOf||t.allOf)return!1;const{type:n}=t;return typeof n=="string"?Pc.has(n):Array.isArray(n)?n.every(r=>Pc.has(r)||r==="null"):Array.isArray(t.enum)&&t.enum.length>0?t.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function fS(e){if(!e||typeof e!="object")return!1;const t=e.properties;return t===void 0||typeof t!="object"||t===null?!1:Object.values(t).every(lS)}const dS={"decimal.js":"Decimal"};function pS(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(dS).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${pS(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function xc(e){return e.words.join("-")}function Tc(e){return e.words.map(mS).join("")}function Cc(e){return e.words.join("_")}function hS(e,t={}){var n,r;const o=[e.namespace,...e.path],s=e.safe||fS(e.input)?"GET":"POST",i=((r=(n=t.http)==null?void 0:n.verb)==null?void 0:r[e.id])??s,a="/"+o.map(h=>xc(h)).join("/"),c=o.map(h=>Cc(h)).join("_"),u=o.map(h=>Cc(h)).slice(0,-1).join("."),l=Tc(o[o.length-2]??o[0]),f=Tc(o[o.length-1]),p=o.map(h=>xc(h));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:p}}}function mS(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function gS(e,t={}){const n=t.title??"API",r=t.version??"0.0.0",o={};for(const s of e){const i=hS(s),{verb:a,route:c}=i.http,u=a.toLowerCase(),l={operationId:s.id,summary:s.id,responses:{200:yS(s.output)}};if(a==="GET")l.parameters=vS(s.input);else{const f=s.input;typeof f=="object"&&f!==null&&Object.keys(f).length>0&&(l.requestBody={required:!0,content:{"application/json":{schema:f}}})}o[c]===void 0&&(o[c]={}),o[c][u]=l}return{openapi:"3.1.0",info:{title:n,version:r},paths:o}}function yS(e){return typeof e=="object"&&e!==null&&Object.keys(e).length>0?{description:"Success",content:{"application/json":{schema:e}}}:{description:"Success"}}function vS(e){if(typeof e!="object"||e===null||typeof e.properties!="object"||e.properties===null)return[];const t=Array.isArray(e.required)?e.required:[],n=e.properties;return Object.entries(n).map(([r,o])=>({name:r,in:"query",required:t.includes(r),schema:o}))}function Rc(e){return{raw:e,words:e.split(/(?=[A-Z])|[-_]/).map(t=>t.toLowerCase()).filter(Boolean)}}function $S(e,t={}){return[{id:"_meta/openapi",host:e.host,namespace:Rc("meta"),path:[Rc("openapi")],kind:"query",async:!1,streaming:!1,safe:!0,input:{},output:{type:"object"},envelope:{},typeText:null,transports:["http"],handler:n=>gS(e.operations,{title:t.title,version:t.version})}]}const wS={id:"openapi",description:"Mount plugin: serves the OpenAPI 3.1 doc at GET /meta/openapi",language:"ts",optionsSchema:{type:"object",properties:{title:{type:"string",description:"OpenAPI info.title"},version:{type:"string",description:"OpenAPI info.version"}},additionalProperties:!1},capabilities:{mount:{operations(e,t){return $S(e,t)}}}},Jo="$apigen";class Mc extends Error{constructor(t){super(t),this.code="E_DUP_CODEC",this.name="CodecRegistryError"}}function bS(e){const t=new Map;return{register(n,r){if(t.has(n.id)&&!(r!=null&&r.override))throw new Mc(`E_DUP_CODEC: a codec is already registered for id "${n.id}"`);t.set(n.id,n)},resolve(n){for(const r of t.values())if(r.matches(n))return r},get(n){return t.get(n)},ids(){return[...t.keys()]},freeze(){const n=new Map(t),r={register(){throw new Mc("E_DUP_CODEC: registry is frozen and cannot accept new codecs")},resolve(o){for(const s of n.values())if(s.matches(o))return s},get(o){return n.get(o)},ids(){return[...n.keys()]},freeze(){return r}};return r}}}const xi="x-apigen-logical",Ti="x-apigen-codec",Yo="x-apigen-ctor",Qo="x-apigen-tojson",ES="0.1.0";function Dc(e,t){return{registry:e,resolve:n=>{throw new Error(`[apigen-logical] $ref "${n}" cannot be resolved in run-mode without a descriptor root. Supply a resolve() in the ctx override to handle $ref.`)},seen:new WeakSet,path:"",mode:"strict",...t}}function xt(e,t,n){const r=n.registry.resolve(t);if(r)return r.encode(e,t,n);const o=t.$ref;if(typeof o=="string"){const a=n.resolve(o);return xt(e,a,n)}const s=t.oneOf;if(Array.isArray(s)){const a=Lf(e,s,t);return xt(e,a,n)}const i=t.type;if(i==="array"){if(!Array.isArray(e))return co(e,t,n);const a=t.items;if(!a)return e.map(u=>gt(u));const c=n.path;return Array.isArray(a)?e.map((u,l)=>{const f=a[l];return f===void 0?gt(u):xt(u,f,{...n,path:`${c}/${l}`})}):e.map((u,l)=>xt(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(e===null||typeof e!="object"||Array.isArray(e))return co(e,t,n);const a=t.properties;if(!a)return gt(e);const c=n.path,u={};for(const[l,f]of Object.entries(a)){const p=e[l];p!==void 0&&(u[l]=xt(p,f,{...n,path:`${c}/${l}`}))}return u}return i==null?co(e,t,n):gt(e)}function Tt(e,t,n){const r=n.registry.resolve(t);if(r)return r.decode(e,t,n);const o=t.$ref;if(typeof o=="string"){const a=n.resolve(o);return Tt(e,a,n)}const s=t.oneOf;if(Array.isArray(s)){const a=Lf(e,s,t);return Tt(e,a,n)}const i=t.type;if(i==="array"){if(!Array.isArray(e))return e;const a=t.items;if(!a)return e;const c=n.path;return Array.isArray(a)?e.map((u,l)=>{const f=a[l];return f===void 0?u:Tt(u,f,{...n,path:`${c}/${l}`})}):e.map((u,l)=>Tt(u,a,{...n,path:`${c}/${l}`}))}if(i==="object"){if(e===null||typeof e!="object"||Array.isArray(e))return e;const a=t.properties;if(!a)return e;const c=n.path,u={};for(const[l,f]of Object.entries(a)){const p=e[l];p!==void 0&&(u[l]=Tt(p,f,{...n,path:`${c}/${l}`}))}return u}return i==null?SS(e,n):e}function Lf(e,t,n,r){const o=n.discriminator;if(o!=null&&o.propertyName){const s=e!==null&&typeof e=="object"?e[o.propertyName]:void 0;if(typeof s=="string"&&o.mapping){const i=o.mapping[s];if(i){const a=t.find(c=>c.$ref===i);if(a)return a}}}return t[0]??{}}function co(e,t,n){for(const r of n.registry.ids()){const o=n.registry.get(r);if(o)try{const s=o.encode(e,o.schema,n);return{[Jo]:r,v:s}}catch{}}return gt(e)}function SS(e,t){if(e!==null&&typeof e=="object"&&!Array.isArray(e)&&Jo in e){const n=e,r=n[Jo],o=t.registry.get(r);if(o)return o.decode(n.v,o.schema,t)}return e}function gt(e){if(e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean")return e;if(Array.isArray(e))return e.map(gt);if(typeof e=="object"){const t={};for(const[n,r]of Object.entries(e))r!==void 0&&(t[n]=gt(r));return t}return null}function OS(e){return{encode(t,n,r){const o=Dc(e,r);return xt(t,n,o)},decode(t,n,r){const o=Dc(e,r);return Tt(t,n,o)}}}const Ci={id:"date-time",kind:"scalar",schema:{type:"string",format:"date-time"},matches(e){return e.type==="string"&&e.format==="date-time"},encode(e,t,n){return e.toISOString()},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[date-time] expected a string on the wire at "${n.path}", got ${typeof e}`);return new Date(String(e))}if(n.mode==="strict"&&Number.isNaN(new Date(e).getTime()))throw new TypeError(`[date-time] invalid date-time string at "${n.path}": ${JSON.stringify(e)}`);return new Date(e)}},Ri={id:"int64",kind:"scalar",schema:{type:"string",format:"int64"},matches(e){return e.type==="string"&&e.format==="int64"},encode(e,t,n){return String(e)},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[int64] expected a string on the wire at "${n.path}", got ${typeof e}`);try{return BigInt(Math.trunc(Number(e)))}catch{return BigInt(0)}}if(n.mode==="strict")return BigInt(e);if(/^-?\d+$/.test(e))try{return BigInt(e)}catch{return BigInt(0)}return BigInt(0)}},Mi={id:"decimal",kind:"scalar",schema:{type:"string",format:"decimal"},matches(e){return e.type==="string"&&e.format==="decimal"},encode(e,t,n){return e},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[decimal] expected a string on the wire at "${n.path}", got ${typeof e}`);return String(e)}if(n.mode==="strict"&&!/^-?\d+(\.\d+)?$/.test(e))throw new TypeError(`[decimal] wire value "${e}" at "${n.path}" is not a valid decimal string`);return e}},Di={id:"byte",kind:"scalar",schema:{type:"string",format:"byte"},matches(e){return e.type==="string"&&e.format==="byte"},encode(e,t,n){return Buffer.from(e).toString("base64")},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[byte] expected a base64 string on the wire at "${n.path}", got ${typeof e}`);return new Uint8Array(0)}if(n.mode==="strict"&&!/^[A-Za-z0-9+/]*={0,2}$/.test(e))throw new TypeError(`[byte] wire value at "${n.path}" is not standard base64 (format:byte): "${e}"`);return new Uint8Array(Buffer.from(e,"base64"))}},NS=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,Li={id:"uuid",kind:"scalar",schema:{type:"string",format:"uuid"},matches(e){return e.type==="string"&&e.format==="uuid"},encode(e,t,n){return e.toLowerCase()},decode(e,t,n){if(typeof e!="string"){if(n.mode==="strict")throw new TypeError(`[uuid] expected a string on the wire at "${n.path}", got ${typeof e}`);return String(e).toLowerCase()}if(n.mode==="strict"&&!NS.test(e))throw new TypeError(`[uuid] wire value "${e}" at "${n.path}" is not a lowercase-hyphenated RFC 4122 UUID`);return e}},Zo="NaN",Xo="Infinity",es="-Infinity",_S=new Set([Zo,Xo,es]),Bi={id:"number-special",kind:"scalar",schema:{type:"number"},matches(e){return e.type==="number"&&e.format===void 0},encode(e,t,n){return Number.isNaN(e)?Zo:e===1/0?Xo:e===-1/0?es:e},decode(e,t,n){if(typeof e=="number")return e;if(typeof e=="string"){if(e===Zo)return NaN;if(e===Xo)return 1/0;if(e===es)return-1/0;const r=Number(e);if(!Number.isNaN(r))return r}if(n.mode==="strict")throw new TypeError(`[number-special] unrecognized wire value at "${n.path}": ${JSON.stringify(e)}. Expected a number or one of ${[..._S].join(", ")}.`);return NaN}},kS=[Ci,Ri,Mi,Di,Li,Bi];function AS(e,t={}){for(const n of kS)e.register(n,{override:t.override??!1})}Ci.id,Ri.id,Mi.id,Di.id,Li.id,Bi.id;const Bf=bS();AS(Bf);const Uf=OS(Bf.freeze());function IS(e,t){var n;const r=((n=e.input)==null?void 0:n.properties)??{};return t in r}function jS(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data;return Object.keys((r==null?void 0:r.properties)??{})}function PS(e,t){var n,r,o;const s=(o=(r=(n=e.input)==null?void 0:n.properties)==null?void 0:r.data)==null?void 0:o.properties,i=s==null?void 0:s[t];return i!==void 0?i:void 0}function xS(e,t){return t===void 0||e===void 0?e:Uf.decode(e,t)}function uo(e,t){const n=t.output;return!n||Object.keys(n).length===0?e:Uf.encode(e,n)}async function TS(e,t,n,r,o,s){const i=jS(n).map(c=>xS(s[c],PS(n,c)));if(IS(n,"session")&&t){const c=await t({session:o.session}),u=await e[r](c,...i);return uo(u,n)}if(n.hasCtx){const c=t?await t(o):void 0,u=await e[r](c,...i);return uo(u,n)}const a=await e[r](...i);return uo(a,n)}class CS{constructor(){this._map=new Map}set(t,n){this._map.set(t,n)}get(t){return this._map.get(t)}has(t){return this._map.has(t)}}function RS(e=[]){return async function(t,n,r){const o=r.schemas[t];if(!o)throw new Error(`apigen/invoke: no schema found for operation "${t}"`);const s=()=>TS(r.fns,r.createClient,o,t,n.envelope,n.domainArgs);return e.reduceRight((i,a)=>()=>a(n,i),s)()}}const MS={"decimal.js":"Decimal"};function DS(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(MS).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${DS(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function LS(e={}){const t=e.level??"info",n=typeof e.destination=="string"&&e.destination.length>0,r=!n&&!!process.stderr.isTTY,o=e.format??(r?"pretty":"json"),s={level:t};if(o==="pretty")return s.transport={target:"pino-pretty",options:{colorize:!n,translateTime:"SYS:HH:MM:ss.l",ignore:"pid,hostname",...n?{destination:e.destination,mkdir:!0}:{destination:2}}},Ee(s);const i=n?Ee.destination({dest:e.destination,mkdir:!0,sync:!0}):Ee.destination(2);return Ee(s,i)}function Ff(e){return e?e.type==="array"?`${Ff(e.items)}[]`:e.enum?"enum":e.$ref?String(e.$ref).split("/").pop()||"object":e.anyOf||e.oneOf?"union":e.type??"object":"unknown"}function BS(e){var t;const n=(t=((e==null?void 0:e.input)??{}).properties)==null?void 0:t.data,r=(n==null?void 0:n.properties)??{},o=new Set((n==null?void 0:n.required)??[]),s=Object.entries(r).map(([a,c])=>({name:a,type:Ff(c),required:o.has(a)})),i=s.map(a=>`${a.name}${a.required?"":"?"}: ${a.type}`).join(", ");return{params:s,text:i}}const US=["invalid_argument","unauthenticated","permission_denied","not_found","internal"];class Vf extends Error{constructor(t,n,r){super(n),this.name="ApiError",this.code=t,this.details=r,Object.setPrototypeOf(this,new.target.prototype)}toJSON(){const t={code:this.code,message:this.message};return this.details!==void 0&&(t.details=this.details),t}}function FS(e){return typeof e=="object"&&e!==null&&e.name==="ApiError"&&US.includes(e.code)&&typeof e.toJSON=="function"}function Lc(e,t,n=0){return e==="before-first-chunk"?{phase:e,error:t}:{phase:e,error:t,chunksDelivered:n}}const kr=new os({allErrors:!0});ss(kr);for(const e of[xi,Ti,Yo,Qo,"discriminator"])kr.addKeyword({keyword:e,valid:!0});kr.addFormat("decimal",/^[+-]?(?:\d+(?:\.\d+)?|\.\d+)$/);function VS(e){return e.map(t=>`${t.instancePath||"(root)"} ${t.message??"failed schema check"}`).join("; ")}function qS(e){return async function(t,n){const r=t.operation.id,o=e[r];if(o===void 0)return n();const s={data:t.domainArgs,...t.envelope},i=kr.compile(o.input);if(!i(s)){const a=i.errors??[];throw new Vf("invalid_argument",`Validation failed: ${VS(a)}`,a)}return n()}}async function KS(e){const t=[];try{for await(const n of e)t.push(n);return{ok:!0,chunks:t}}catch(n){const r=FS(n)?n:new Vf("internal",n instanceof Error?n.message:String(n));return t.length===0?{ok:!1,carrier:Lc("before-first-chunk",r)}:{ok:!1,carrier:Lc("after-first-chunk",r,t.length)}}}function GS(e){return e!==null&&typeof e=="object"&&Symbol.asyncIterator in e}class it extends Error{constructor(t,n){super(n),this.name="UnionCodecError",this.code=t}}function lo(e){const t=e.discriminator;if(t===null||typeof t!="object"||Array.isArray(t))return;const n=t;if(typeof n.propertyName!="string")return;const r=n.mapping;if(!(r===null||typeof r!="object"||Array.isArray(r)))return{propertyName:n.propertyName,mapping:r}}function qf(e,t){const n=e[Ti];if(typeof n=="string"){const r=t.registry.get(n);if(r)return r}return t.registry.resolve(e)}function zS(e,t,n){const r=qf(t,n);return r?r.encode(e,t,n):e}function WS(e,t,n){const r=qf(t,n);return r?r.decode(e,t,n):e}function HS(e){const{id:t,schema:n}=e;return{id:t,kind:"union",schema:n,matches(r){if(r[xi]==="union")return!0;const o=r.oneOf;return!Array.isArray(o)||o.length===0?!1:lo(r)!==void 0},encode(r,o,s){const i=lo(o);if(!i)throw new it("E_UNION_NO_DISCRIMINATOR",`[${t}] schema node at "${s.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:a,mapping:c}=i,u=r[a];if(u==null)throw new it("E_UNION_NO_DISCRIMINATOR",`[${t}] value at "${s.path}" is missing the discriminator property "${a}".`);const l=String(u),f=c[l];if(!f)throw new it("E_UNION_UNKNOWN_TAG",`[${t}] discriminator tag "${l}" at "${s.path}" is not in the mapping (known: ${Object.keys(c).join(", ")}).`);const p=s.resolve(f);return zS(r,p,{...s,path:`${s.path}[${l}]`})},decode(r,o,s){if(r===null||typeof r!="object"||Array.isArray(r)){let d;throw r===null?d="null":Array.isArray(r)?d="array":d=typeof r,new it("E_UNION_INVALID_WIRE",`[${t}] expected a JSON object on the wire at "${s.path}", got ${d}.`)}const i=r,a=lo(o);if(!a)throw new it("E_UNION_NO_DISCRIMINATOR",`[${t}] schema node at "${s.path}" has no discriminator.propertyName; cannot dispatch union branch.`);const{propertyName:c,mapping:u}=a,l=i[c];if(l==null)throw new it("E_UNION_NO_DISCRIMINATOR",`[${t}] wire object at "${s.path}" is missing the discriminator property "${c}".`);const f=String(l),p=u[f];if(!p)throw new it("E_UNION_UNKNOWN_TAG",`[${t}] discriminator tag "${f}" on the wire at "${s.path}" is not in the mapping (known: ${Object.keys(u).join(", ")}).`);const h=s.resolve(p);return WS(r,h,{...s,path:`${s.path}[${f}]`})}}}const JS="x-apigen-instances";class Fn extends Error{constructor(t,n){super(n),this.name="NominalCodecError",this.code=t}}function Bc(e){const t=e.properties;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function YS(e){const t=e.required;return Array.isArray(t)?t.filter(n=>typeof n=="string"):[]}function Uc(e,t,n){if(t){const r=n.registry.resolve(t);if(r)return r.encode(e,t,n)}return e}function QS(e,t,n){if(t){const r=n.registry.resolve(t);if(r)return r.decode(e,t,n)}return e}function ZS(e){const{id:t,schema:n,ctor:r}=e;return{id:t,kind:"nominal",schema:n,matches(o){return o[xi]==="nominal"?!0:o[Ti]===t},encode(o,s,i){if(o===null||typeof o!="object")return o;if(i.seen.has(o)){if(i.mode==="strict")throw new Fn("E_NOMINAL_CYCLE",`[${t}] cycle detected at "${i.path}": a nominal instance references itself. Strict mode rejects cycles (DESIGN §8.3); break the cycle or use 'lossy' mode.`);return null}i.seen.add(o);try{const a=Bc(s),c=typeof s[Qo]=="string"?s[Qo]:"toJSON",u=o[c];if(typeof u=="function"){const d=u.call(o);if(d!==null&&typeof d=="object"&&!Array.isArray(d)){const v={};for(const[m,y]of Object.entries(d))v[m]=Uc(y,a[m],{...i,path:`${i.path}/${m}`});return v}return d}const l={},f=Object.keys(a),p=o,h=f.length>0?f:Object.keys(p);for(const d of h){const v=p[d];v!==void 0&&(l[d]=Uc(v,a[d],{...i,path:`${i.path}/${d}`}))}return l}finally{i.seen.delete(o)}},decode(o,s,i){if(o===null||typeof o!="object"||Array.isArray(o)){let l;throw o===null?l="null":Array.isArray(o)?l="array":l=typeof o,new Fn("E_NOMINAL_INVALID_WIRE",`[${t}] expected a JSON object on the wire at "${i.path}", got ${l}.`)}const a=o;for(const l of YS(s))if(!(l in a))throw new Fn("E_NOMINAL_INVALID_WIRE",`[${t}] required field "${l}" missing on the wire at "${i.path}".`);if(s[JS]===!1)throw new Fn("E_NOMINAL_NONRECONSTRUCTABLE",`[${t}] is encode-only: the extractor marked it non-reconstructable (x-apigen-instances:false). It cannot be decoded back to a live instance.`);const c=Bc(s),u={};for(const[l,f]of Object.entries(a))u[l]=QS(f,c[l],{...i,path:`${i.path}/${l}`});if(r){const l=typeof s[Yo]=="string"?s[Yo]:"fromJSON",f=r[l];if(typeof f=="function")return f.call(r,u);const p=r;return new p(u)}return u}}}const XS=[Ci,Ri,Mi,Di,Li,Bi],eO={type:"object","x-apigen-logical":"nominal","x-apigen-codec":"ts.NominalSentinel"},Fc=ZS({id:"ts.NominalSentinel",schema:eO}),tO={oneOf:[],discriminator:{propertyName:"kind",mapping:{}},"x-apigen-logical":"union","x-apigen-codec":"ts.UnionSentinel"},Vc=HS({id:"ts.UnionSentinel",schema:tO});function nO(){const e=[...XS.map(t=>[t.id,t]),[Fc.id,Fc],[Vc.id,Vc]];return Object.freeze(new Map(e))}Object.freeze({host:"ts",logicalTypeVersion:ES,codecs:nO()});function qc(e,t,n){var r;const o=typeof((r=t==null?void 0:t.input)==null?void 0:r.description)=="string"?t.input.description:void 0,s=[n,o].filter(i=>typeof i=="string"&&i.length>0);return s.length>0?s.join(" — "):e}function Kf(e){if(!e||typeof e!="object"||Array.isArray(e)||Object.keys(e).length===0)return{outputSchema:void 0,wrapped:!1};const t=e;return t.type==="object"?{outputSchema:t,wrapped:!1}:{outputSchema:{type:"object",properties:{result:t},required:["result"]},wrapped:!0}}function rO(e,t){return e?{result:t}:t&&typeof t=="object"&&!Array.isArray(t)?t:void 0}const Kc=new Set(["string","number","boolean","integer"]);function oO(e){if(typeof e!="object"||e===null)return!1;const t=e;if(t.$ref!==void 0||t.oneOf||t.anyOf||t.allOf)return!1;const{type:n}=t;return typeof n=="string"?Kc.has(n):Array.isArray(n)?n.every(r=>Kc.has(r)||r==="null"):Array.isArray(t.enum)&&t.enum.length>0?t.enum.every(r=>["string","number","boolean"].includes(typeof r)):!1}function sO(e){if(!e||typeof e!="object")return!1;const t=e.properties;return t===void 0||typeof t!="object"||t===null?!1:Object.values(t).every(oO)}const iO={"decimal.js":"Decimal"};function aO(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(iO).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${aO(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function Gc(e){return e.words.join("-")}function zc(e){return e.words.map(dO).join("")}function Wc(e){return e.words.join("_")}function cO(e,t={}){var n,r;const o=[e.namespace,...e.path],s=e.safe||sO(e.input)?"GET":"POST",i=((r=(n=t.http)==null?void 0:n.verb)==null?void 0:r[e.id])??s,a="/"+o.map(h=>Gc(h)).join("/"),c=o.map(h=>Wc(h)).join("_"),u=o.map(h=>Wc(h)).slice(0,-1).join("."),l=zc(o[o.length-2]??o[0]),f=zc(o[o.length-1]),p=o.map(h=>Gc(h));return{http:{verb:i,route:a},mcp:{name:c},grpc:{package:u,service:l,method:f},cli:{path:p}}}function uO(e,t){return`x-${e}-${t}`}function lO(e,t){return`--${e}-${t}`}function fO(e,t){const n=r=>r.toUpperCase().replace(/-/g,"_");return e==="adhd"?`APIGEN_${n(t)}`:`APIGEN_${n(e)}_${n(t)}`}function dO(e){return e.length===0?e:e[0].toUpperCase()+e.slice(1)}function Gf(e){return e.anyOf??e.oneOf}function pO(e){if(!e)return!1;if(e.type==="array"||e.type==="object")return!0;const t=Gf(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="array"||r.type==="object")}return!1}function hO(e){if(!e)return!1;if(e.type==="boolean")return!0;const t=Gf(e);if(t){const n=t.filter(r=>r.type!=="null");return n.length>0&&n.every(r=>r.type==="boolean")}return!1}function mO(e){return e.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())}function gO(e){var t,n;const r=(n=(t=e.input)==null?void 0:t.properties)==null?void 0:n.data,o=(r==null?void 0:r.properties)??{},s=(r==null?void 0:r.required)??[];return{props:o,required:s}}function Hc(e){return typeof e.handler=="function"}function yO(e){var t;const n=((t=e.input)==null?void 0:t.properties)??{},r=e["x-apigen-envelope"],o=[];for(const s of Object.keys(n)){if(s==="data")continue;const i=(r==null?void 0:r[s])??"adhd",a=uO(i,s);o.push({field:s,pluginId:i,httpHeader:a,mcpMetaKey:a,cliFlag:lO(i,s),envVar:fO(i,s)})}return o}function vO(e,t){const n=new Map,{props:r}=gO(e);for(const[o,s]of Object.entries(r)){let i="string";hO(s)?i="boolean":pO(s)&&(i="json"),n.set(mO(o),{camelKey:o,kind:"domain",valueKind:i})}for(const o of t){const s=o.cliFlag.replace(/^--/,"");n.set(s,{camelKey:o.field,kind:"envelope",valueKind:"string",envVar:o.envVar})}return n}function Jc(e){const{op:t,schema:n,transport:r,projection:o}=e,s=cO(t,o),i=n?yO(n):[],a=n?vO(n,i):new Map,c=n?BS(n).params:void 0,u={op:t,transport:r,http:s.http,mcp:s.mcp,cli:s.cli,grpc:s.grpc,params:c,envelope:i,cliFlags:a,streaming:t.streaming,isMount:Hc(t)};if(Hc(t)){const l=t.handler;u.mountHandler=async f=>l(f)}return u}function $O(e){const t=e.usePlugins;return Array.isArray(t)?t:[]}function wO(e){const t=e.useOptions;return t&&typeof t=="object"?t:{}}function bO(e){return async function(t,n){const r=Object.assign(t,{data:t.domainArgs});return await e.layer(r,n)}}function Yc(e,t){var n;const r=[];for(const o of t){const s=(n=o.capabilities)==null?void 0:n.layer;s&&r.push(bO(s))}return r.push(qS(e)),RS(r)}function EO(){const e=new Map;return{get:t=>e.get(t),set:(t,n)=>{e.set(t,n)}}}const SO={input:{type:"object",properties:{data:{type:"object",properties:{}}}},output:{}};async function Qc(e,t,n,r){const o={...n,operation:{id:e.op.id},ctx:new CS};if(e.isMount){const s=e.mountHandler;if(!s)throw new Error(`apigen-engine-runtime/dispatchForPlan: OpPlan for mount op "${e.op.id}" has isMount=true but no mountHandler`);const i={operation:e.op,data:n.domainArgs,envelope:n.envelope,ctx:EO(),transport:e.transport,signal:n.signal??new AbortController().signal},a={...r,fns:{[e.op.id]:()=>s(i)},schemas:{[e.op.id]:SO}};return t(e.op.id,o,a)}return t(e.op.id,o,r)}const OO={"decimal.js":"Decimal"};function NO(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(OO).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${NO(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function _O(e){return e.split(/[-_.]+/).flatMap(t=>t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").split("_").filter(Boolean)).map(t=>t.toLowerCase()).filter(Boolean)}const kO={"decimal.js":"Decimal"};function AO(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}Object.entries(kO).map(([e,t])=>({pattern:new RegExp(`import\\(["'][^"']*${AO(e)}[^"']*["']\\)\\.\\w+`,"g"),key:t}));function IO(e){return e.replace(/\.[^.]+$/,"").replace(/[._]+/g,"-")}function ts(e){return{raw:e,words:_O(e)}}function jO(e){return ts(IO(ho.basename(e)))}function PO(e,t,n){if(n){const o=n.find(s=>{var i;return s.kind==="action"&&s.namespace.raw===e.id&&((i=s.path[s.path.length-1])==null?void 0:i.raw)===t});if(!o)throw new Error(`@adhd/apigen-plugin-mcp: no Operation found for package "${e.id}" fn "${t}" in the supplied operations[] — every fn in pkg.schemas must correspond to a real extracted Operation (orchestrator.ts buildDescriptor Step 5 invariant). This indicates a correlation bug, not a naming gap.`);return o}const r=ts(t);return{id:`${e.id}/${t}`,host:"ts",namespace:ts(e.id),path:e.dropFileSegment?[r]:[jO(e.importPath),r],kind:"action",async:!1,streaming:!1,safe:!1,input:{},output:{},envelope:{},typeText:null}}const xO=["invalid_argument","unauthenticated","permission_denied","not_found","internal"];function TO(e){return typeof e=="object"&&e!==null&&e.name==="ApiError"&&xO.includes(e.code)&&typeof e.toJSON=="function"}async function CO(e){const t=await KS(e);if(t.ok){const o=t.chunks.map(s=>({type:"text",text:JSON.stringify(s)}));return o.push({type:"text",text:"[stream complete]"}),{content:o}}const{carrier:n}=t;if(n.phase==="before-first-chunk")return{content:[{type:"text",text:JSON.stringify(n.error.toJSON())}],isError:!0};const r={...n.error.toJSON(),chunksDelivered:n.chunksDelivered};return{content:[{type:"text",text:JSON.stringify(r)}],isError:!0}}class RO{constructor(){this.plans=new Map,this.dispatchers=new Map,this.schemasByOpId=new Map,this.toolMeta=new Map}bindSchema(t,n){this.schemasByOpId.set(t,n)}bindToolMeta(t,n){this.toolMeta.set(t,n)}registerRoute(t,n){this.plans.set(t.mcp.name,t),this.dispatchers.set(t.mcp.name,n)}getPlan(t){return this.plans.get(t)}getDispatch(t){return this.dispatchers.get(t)}listTools(){return[...this.plans.keys()].map(t=>{const n=this.toolMeta.get(t);return{name:t,description:(n==null?void 0:n.description)??t,inputSchema:(n==null?void 0:n.inputSchema)??{type:"object",properties:{}},...n!=null&&n.outputSchema?{outputSchema:n.outputSchema}:{}}})}readCall(t,n){const r={};for(const s of n.envelope){const i=t.meta[s.mcpMetaKey];i!==void 0&&(r[s.field]=i)}const o=t.args.data??{};return{envelope:r,domainArgs:o}}async writeResult(t,n,r){if(GS(n)){t.output=await CO(n);return}const o=this.schemasByOpId.get(r.op.id),{wrapped:s}=Kf(o==null?void 0:o.output),i=rO(s,n);t.output={content:[{type:"text",text:JSON.stringify(n)}],...i?{structuredContent:i}:{}}}writeError(t,n,r){throw TO(n)&&n.code,n}}function MO(e,t,n,r){var o;const s=[],i={host:n,operations:r};for(const a of e){const c=(o=a.capabilities)==null?void 0:o.mount;if(!c)continue;const u=c.operations(i,t[a.id]);for(const l of u)l.transports&&!l.transports.includes("mcp")||s.push(l)}return s}function DO(e,t){var n;const r=e.options.projection??{},o=e.options.toolDescriptions??{},s=$O(e.options),i=wO(e.options);for(const u of e.packages){if(!u.fns)throw new Error(`Package "${u.id}" is missing fns`);const l=u.fns,f=Object.entries(u.schemas).map(([m,y])=>({fnName:m,fnSchema:y,op:PO({id:u.id,importPath:u.importPath},m,e.operations)})),p={},h={};for(const{fnName:m,fnSchema:y,op:$}of f)p[$.id]=y,h[$.id]=l[m];const d=Yc(p,s),v={fns:h,createClient:u.createClient,schemas:p};for(const{fnName:m,fnSchema:y,op:$}of f){const S=Jc({op:$,schema:y,transport:"mcp",projection:r});t.bindSchema($.id,y);const{outputSchema:b}=Kf(y.output),N=qc(S.mcp.name,y,o[S.mcp.name]??o[m]);t.bindToolMeta(S.mcp.name,{description:N,inputSchema:y.input,outputSchema:b}),t.registerRoute(S,j=>Qc(S,d,j,v))}}const a=((n=e.packages[0])==null?void 0:n.id)??"ts",c=MO(s,i,a,e.operations??[]);if(c.length>0){const u=Yc({},s),l={fns:{},schemas:{}};for(const f of c){const p=Jc({op:f,transport:"mcp",projection:r}),h=qc(p.mcp.name,void 0,o[p.mcp.name]),d=f.input&&typeof f.input=="object"&&f.input.type==="object"?f.input:{type:"object",properties:{}};t.bindToolMeta(p.mcp.name,{description:h,inputSchema:d}),t.registerRoute(p,v=>Qc(p,u,v,l))}}}function fo(e,t){const n=new Np.Server({name:"apigen-mcp",version:"1.0.0"},{capabilities:{tools:{}}});return n.setRequestHandler(Xi.ListToolsRequestSchema,async()=>({tools:e.listTools()})),n.setRequestHandler(Xi.CallToolRequestSchema,async r=>{const{name:o,arguments:s={}}=r.params,i=e.getPlan(o),a=e.getDispatch(o);if(!i||!a)throw new Error(`Unknown tool: ${o}`);const c=s,u=c._meta??{},l={args:c,meta:u},f=Date.now();try{const p=await e.readCall(l,i),h=await a(p);return await e.writeResult(l,h,i),t.info({tool:o,ms:Date.now()-f},`→ ${o}`),l.output}catch(p){throw t.error({tool:o,ms:Date.now()-f,err:p},`✗ ${o}`),e.writeError(l,p,i),p}}),n}function Zc(e,t){return async(n,r)=>{try{await t(n,r)}catch(o){e.error({err:o},"mcp http transport handler error"),r.headersSent||r.writeHead(500),r.writableEnded||r.end("Internal Server Error")}}}async function LO(e){const t=e.options.transport??"stdio",n=e.options.port??3e3,r=e.options.host??"127.0.0.1",o=e.logger??LS();o.info(`mcp server starting (${t})`);const s=new RO;DO(e,s);const i=s.listTools().map(c=>c.name);o.info({tools:i},`${i.length} tools available`);for(const c of i){const u=s.getPlan(c),l=(u==null?void 0:u.params)??[],f=l.map(p=>`${p.name}${p.required?"":"?"}: ${p.type}`).join(", ");o.info({tool:c,args:{data:l}},`tool: ${c} args { data: {${f?` ${f} `:""}} }`)}if(t==="stdio"){const c=fo(s,o),u=new _p.StdioServerTransport;return await c.connect(u),o.info("stdio transport ready"),new Promise(l=>{e.signal&&e.signal.addEventListener("abort",()=>{o.info("mcp server shutting down"),l()})})}if(t==="sse"){const c=new Map,u=Zi.createServer(Zc(o,async(l,f)=>{const p=l.url??"";if(l.method==="GET"&&p==="/sse"){const h=fo(s,o),d=new kp.SSEServerTransport("/messages",f);c.set(d.sessionId,d),d.onclose=()=>c.delete(d.sessionId),await h.connect(d)}else if(l.method==="POST"&&p.startsWith("/messages")){const h=new URLSearchParams(p.split("?")[1]??"").get("sessionId"),d=h?c.get(h):void 0;if(!d){f.writeHead(404),f.end("Session not found");return}await d.handlePostMessage(l,f)}else f.writeHead(404),f.end("Not found")}));return u.listen(n,r,()=>{o.info({host:r,port:n},`listening on http://${r}:${n}`)}),new Promise(l=>{e.signal&&e.signal.addEventListener("abort",()=>{o.info("mcp server shutting down"),u.close(()=>l())})})}const a=Zi.createServer(Zc(o,async(c,u)=>{const l=fo(s,o),f=new Ap.StreamableHTTPServerTransport({sessionIdGenerator:void 0});await l.connect(f),await f.handleRequest(c,u)}));return a.listen(n,r,()=>{o.info({host:r,port:n},`listening on http://${r}:${n}`)}),new Promise(c=>{e.signal&&e.signal.addEventListener("abort",()=>{o.info("mcp server shutting down"),a.close(()=>c())})})}const BO={id:"mcp",run(e){return LO(e)}},zf=new Set(["FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED"]),Wf=new Set(["MITIGATED"]),Hf=new Set(["SUPERSEDED","INVALID","DUPLICATE","WONTFIX"]),Ui=new Set(["FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED","MITIGATED","SUPERSEDED","INVALID","DUPLICATE","WONTFIX"]);function Ce(e){return Ui.has(e)}function ur(e){return zf.has(e)||Wf.has(e)}function lr(e){return Hf.has(e)}class $e extends Error{constructor(t,n){super(`backlog item not found: ${t}::${n}`),this.name="BacklogItemNotFoundError"}}class Jf extends Error{constructor(t){super(`transition to terminal status "${t}" requires at least one citation (either already attached via addCitation or passed inline to transitionStatus/resolveItem) — per the global CLAUDE.md rule "No citation, no claim."`),this.name="CitationRequiredError"}}class Yf extends Error{constructor(t){super(`transition to terminal-dismissed status "${t}" requires a reason string`),this.name="ReasonRequiredError"}}class Qf extends Error{constructor(t,n){super(`item is claimed by "${t}" since ${n} (not stale) — cannot start work`),this.heldBy=t,this.heldSince=n,this.name="ClaimHeldError"}}class UO extends Error{constructor(t){super(`dependency cycle detected: ${t.join(" -> ")}`),this.cycle=t,this.name="DependencyCycleError"}}function FO(e,t){const n=t??D.join(Lt.homedir(),`.${e.orgNamespace}`);return D.join(n,e.project,e.namespace,"config.yaml")}function VO(e,t,n){const r=FO(e,n);let o={};if(K.existsSync(r))try{const a=ea.parse(K.readFileSync(r,"utf8"));a!==null&&typeof a=="object"&&!Array.isArray(a)&&(o=a)}catch{o={}}const s=o.migration&&typeof o.migration=="object"&&!Array.isArray(o.migration)?o.migration:{},i={...o,migration:{...s,phase:t}};return K.mkdirSync(D.dirname(r),{recursive:!0}),K.writeFileSync(r,ea.stringify(i),"utf8"),r}const ke="backlog-item",Xc="backlog-plan",eu="backlog-assignee",qO="adhd-backlog:";function KO(e){return au.createHash("sha256").update(e.trim().toLowerCase()).digest("hex")}function Zf(e){return e.replace(/[^\p{L}\p{N}_\s]/gu," ").trim().replace(/\s+/g," ")}function Ar(e){return e.split("-")[0]??e}function Ir(e){return e.replace(/-\d+$/,"")}function Fi(e,t,n,r){return`${n}
170
+
171
+ ${r}
172
+
173
+ <!-- ${qO}${e}::${t} -->`}function Vi(e,t){return`${e}::${t}`}function qi(e){switch(e){case"CRITICAL":return 10;case"HIGH":return 8;case"MEDIUM":return 5;case"LOW":return 2;default:return 1}}function Xf(e,t,n=[]){return[...new Set([ke,e,t,...n])]}function Ze(e){return e.tags.includes(ke)&&!e.isSuperseded}function ne(e){const t=e.metadata??{},n=t.humanId??"",r=t.kind??Ar(n),o=t.family??Ir(n),s=new Set([ke,r,o]);return{nodeId:e.id,humanId:n,kind:r,family:o,title:t.title??e.summary??"",body:t.body??"",status:t.status??"UNKNOWN",priority:t.priority,repo:t.repo??e.namespace,projectPath:t.projectPath,plan:t.plan,importedFrom:t.importedFrom,assignee:t.assignee,claimedBy:t.claimedBy,claimedAt:t.claimedAt,citations:t.citations??[],notes:t.notes??[],tags:e.tags.filter(i=>!s.has(i)),createdAt:t.createdAt??e.tCreated,updatedAt:t.updatedAt??t.createdAt??e.tCreated}}const GO=5,zO=20,WO=500;function HO(e){const t=e==null?void 0:e.code;return t==="SQLITE_BUSY"||t==="SQLITE_BUSY_TIMEOUT"||t==="SQLITE_BUSY_SNAPSHOT"}function JO(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,Math.max(0,Math.round(e)))}function ed(e,t={}){const n=t.maxAttempts??GO;for(let r=0;;r++)try{return e()}catch(o){if(!HO(o)||r>=n-1)throw o;const s=Math.min(WO,zO*2**r);JO(s*(.5+Math.random()*.5))}}function YO(e,t,n){const r=e.graph.queryNodes({kind:"generic",tags:[ke],namespace:t,metadata:{family:n}});let o=0;for(const s of r){const i=s.metadata,a=/-(\d+)$/.exec((i==null?void 0:i.humanId)??"");a&&(o=Math.max(o,Number(a[1])))}return`${n}-${String(o+1).padStart(3,"0")}`}function QO(e,t,n){return e.graph.queryNodes({kind:"generic",tags:[ke],namespace:t,metadata:{humanId:n}}).find(o=>{var s;return Ze(o)&&((s=o.metadata)==null?void 0:s.humanId)===n})??null}function td(e,t,n,r,o){return ed(()=>e.db.transaction(()=>{if(r){const i=QO(e,t,r);return o(r,i)}const s=YO(e,t,n);return o(s,null)}).immediate())}const nd="backlog-audit-event";function rd(e,t,n,r,o,s){const i=new Date().toISOString(),a={itemNodeId:t,kind:o,at:i,detail:s},c=`audit-event::${n}::${r}::${o}::${i}::${Math.random().toString(36).slice(2)}`,u=e.graph.writeNode(c,{kind:"generic",name:`audit-event::${n}::${r}::${i}`,tags:[nd],namespace:n,metadata:a});e.graph.writeEdge(u,t,"DERIVED_FROM")}function ZO(e,t){return e.graph.queryNodes({kind:"generic",tags:[nd],metadata:{itemNodeId:t}}).map(r=>r.metadata).filter(r=>r!==void 0&&r.itemNodeId===t).map(r=>({at:r.at,kind:r.kind,detail:r.detail})).sort((r,o)=>r.at.localeCompare(o.at))}const tu={CRITICAL:0,HIGH:1,MEDIUM:2,LOW:3};function nu(e){const t=[ke];e.kind&&t.push(e.kind),e.tags&&t.push(...e.tags);const n={};e.family&&(n.family=e.family),e.priority&&(n.priority=e.priority),e.plan&&(n.plan=e.plan),e.importedFrom&&(n.importedFrom=e.importedFrom),e.assignee&&(n.assignee=e.assignee),e.claimedBy&&(n.claimedBy=e.claimedBy),e.status&&e.status!=="open"&&e.status!=="closed"&&(n.status=e.status);const r={kind:"generic",tags:t,tagsMatchAll:!0};return e.repo!==void 0&&(r.namespace=e.repo),e.projectPath!==void 0&&(r.projectPath=e.projectPath),Object.keys(n).length>0&&(r.metadata=n),r}function XO(e,t){return t.status==="open"?e.filter(n=>!Ce(n.status)):t.status==="closed"?e.filter(n=>Ce(n.status)):e}function ru(e,t){return t.rootLevel?e.filter(n=>{const r=n.metadata;return!(r!=null&&r.projectPath)&&!(r!=null&&r.plan)}):e}function ou(e,t){return t.excludeArchived?e.filter(n=>{var r;return!((r=n.metadata)!=null&&r.archivedAt)}):e}function od(e,t={}){if(t.grep){const o=nu({...t}),s=Zf(t.grep);if(!s)return[];const i=e.graph.searchNodes(s,{limit:t.limit??1e3,filter:o});let a=ou(ru(i.filter(Ze),t),t);return t.offset&&(a=a.slice(t.offset)),a}const n=nu(t);t.limit!==void 0&&(n.limit=t.limit),t.offset!==void 0&&(n.offset=t.offset);const r=e.graph.queryNodes(n);return ou(ru(r.filter(Ze),t),t)}function nt(e,t={}){const r=od(e,t).map(ne);return XO(r,t)}function Ke(e,t,n){const r=Vi(t,n),s=e.graph.queryNodes({kind:"generic",tags:[ke],namespace:t,metadata:{humanId:n}}).filter(Ze);return s.find(i=>i.name===r)??s[0]??null}function Zt(e,t){const n={};for(const r of e){const o=t(r);o&&(n[o]=(n[o]??0)+1)}return n}function eN(e,t={}){const n=nt(e,{repo:t.repo,projectPath:t.projectPath}),r=n.filter(s=>!Ce(s.status)),o=n.filter(s=>Ce(s.status));return{total:n.length,open:r.length,closed:o.length,byStatus:Zt(n,s=>s.status),byKind:Zt(n,s=>s.kind),byFamily:Zt(n,s=>s.family),byPriority:Zt(n,s=>s.priority),byRepo:t.repo===void 0?Zt(n,s=>s.repo):{}}}function tN(e,t={},n=20){const o=nt(e,{repo:t.repo,projectPath:t.projectPath,status:"open"}).filter(s=>s.priority!==void 0);return o.sort((s,i)=>{const a=tu[s.priority??""]??4,c=tu[i.priority??""]??4;return a-c||s.humanId.localeCompare(i.humanId)}),o.slice(0,n)}function sd(e,t){const n=e.graph.getEdges({src:t,rel:"DEPENDS_ON"}),r=[];for(const o of n){const s=e.graph.getNode(o.dst);s&&r.push(s)}return r}function nN(e,t,n){const r=Ke(e,t,n);return r?sd(e,r.id).filter(o=>!o.tInvalid).map(ne).filter(o=>!Ce(o.status)):[]}function rN(e,t={}){return nt(e,{repo:t.repo,projectPath:t.projectPath,status:"open"}).filter(r=>{if(r.claimedBy)return!1;const o=Ke(e,r.repo,r.humanId);return o?sd(e,o.id).filter(i=>!i.tInvalid).every(i=>Ce(ne(i).status)):!1})}function id(e,t={}){const n=nt(e,{repo:t.repo,projectPath:t.projectPath}),r=n.map(s=>({humanId:s.humanId,title:s.title,status:s.status})),o=[];for(const s of n){const i=Ke(e,s.repo,s.humanId);if(i)for(const a of["DEPENDS_ON","RELATES_TO","PART_OF"])for(const c of e.graph.getEdges({src:i.id,rel:a})){const u=e.graph.getNode(c.dst);if(!u||u.tInvalid)continue;const l=u.metadata;l!=null&&l.humanId&&o.push({from:s.humanId,to:l.humanId,rel:a})}}return{nodes:r,edges:o}}function oN(e,t={}){var c;const n=id(e,t),r=n.edges.filter(u=>u.rel==="DEPENDS_ON"),o=new Map;for(const u of n.nodes)o.set(u.humanId,new Set);for(const u of r)(c=o.get(u.from))==null||c.add(u.to);const s=new Set(n.nodes.map(u=>u.humanId)),i=[];let a=!0;for(;s.size>0&&a;){a=!1;for(const u of[...s].sort())[...o.get(u)??new Set].every(p=>!s.has(p))&&(i.push(u),s.delete(u),a=!0)}return s.size>0?{ok:!1,cycle:sN([...s],o)}:{ok:!0,order:i}}function sN(e,t){const n=new Set(e),r=new Set,o=[];function s(i){if(r.has(i)){const a=o.indexOf(i);return[...o.slice(a),i]}if(!n.has(i))return null;r.add(i),o.push(i);for(const a of t.get(i)??[]){const c=s(a);if(c)return c}return o.pop(),r.delete(i),null}for(const i of e){const a=s(i);if(a)return a}return e}function iN(e,t,n={}){const r=nt(e,{repo:n.repo,projectPath:n.projectPath}),o=t*6e4,s=Date.now();return r.filter(i=>!i.claimedBy||!i.claimedAt?!1:s-Date.parse(i.claimedAt)>=o)}function aN(e,t,n){var u,l,f,p;const r=Ke(e,t,n);if(!r)throw new $e(t,n);const o=ne(r),s=[{at:o.createdAt,kind:"created",detail:{title:o.title,repo:o.repo}}];for(const h of o.citations)s.push({at:o.updatedAt,kind:"citation",detail:{...h}});for(const h of o.notes)s.push({at:h.at,kind:"note",detail:{by:h.by,text:h.text}});s.push(...ZO(e,r.id)),s.sort((h,d)=>h.at.localeCompare(d.at));const i=e.graph.getSupersessionChain(r.id);let a;if(i.length>1){const h=i.findIndex(m=>m.id===r.id),d=h>0?((l=(u=i[h-1])==null?void 0:u.metadata)==null?void 0:l.humanId)??void 0:void 0,v=h>=0&&h<i.length-1?((p=(f=i[h+1])==null?void 0:f.metadata)==null?void 0:p.humanId)??void 0:void 0;a={},d&&(a.supersedes=d),v&&(a.supersededBy=v)}const c={humanId:o.humanId,history:s};return a&&(c.supersessionChain=a),c}class cN extends Error{constructor(t){super(`backlog item not found or invalidated: node ${t}`),this.nodeId=t,this.name="NotFoundError"}}function we(e,t,n){return ed(()=>e.db.transaction(()=>{const r=e.graph.getNode(t);if(!r||r.tInvalid)throw new cN(t);const o=r.metadata??{},s=n(o);return e.graph.touch(t,{metadata:s}),s}).immediate())}function uN(e,t,n){const r=new Map,o=Zf(n.title);if(o)for(const i of e.graph.searchNodes(o,{limit:10,filter:{tags:[ke],namespace:t}}))Ze(i)&&r.set(i.id,i);const s=n.dedupeScan;if(s!=null&&s.symbol)for(const i of e.graph.queryNodes({kind:"generic",tags:[ke],namespace:t,metadata:{dedupeSymbol:s.symbol}}))Ze(i)&&r.set(i.id,i);if(s!=null&&s.path)for(const i of e.graph.queryNodes({kind:"generic",tags:[ke],namespace:t,metadata:{dedupePath:s.path}}))Ze(i)&&r.set(i.id,i);if(s!=null&&s.errorText)for(const i of e.graph.queryNodes({kind:"generic",tags:[ke],namespace:t,metadata:{dedupeErrorText:s.errorText}}))Ze(i)&&r.set(i.id,i);return[...r.values()].map(ne)}function Ki(e,t){if(t.idOverride){const r=Ke(e,t.repo,t.idOverride);if(r){const o=ne(r);return{item:o,created:!1,duplicateCandidates:[o]}}}const n=t.force?[]:uN(e,t.repo,t);return n.length>0&&!t.force?{item:n[0],created:!1,duplicateCandidates:n}:td(e,t.repo,t.family,t.idOverride,(r,o)=>{var f,p,h;if(o){const d=ne(o);return{item:d,created:!1,duplicateCandidates:[d]}}const s=Ar(r),i=Ir(r),a=new Date().toISOString(),c={humanId:r,kind:s,family:i,title:t.title,body:t.body,status:"OPEN",repo:t.repo,citations:[],notes:[],createdAt:a,updatedAt:a};t.priority!==void 0&&(c.priority=t.priority),t.projectPath!==void 0&&(c.projectPath=t.projectPath),t.plan!==void 0&&(c.plan=t.plan),t.importedFrom!==void 0&&(c.importedFrom=t.importedFrom),((f=t.dedupeScan)==null?void 0:f.symbol)!==void 0&&(c.dedupeSymbol=t.dedupeScan.symbol),((p=t.dedupeScan)==null?void 0:p.path)!==void 0&&(c.dedupePath=t.dedupeScan.path),((h=t.dedupeScan)==null?void 0:h.errorText)!==void 0&&(c.dedupeErrorText=t.dedupeScan.errorText);const u=e.graph.writeNode(Fi(t.repo,r,t.title,t.body),{kind:"generic",name:Vi(t.repo,r),summary:t.title,tags:Xf(s,i,t.tags),namespace:t.repo,importance:qi(t.priority),confidence:"confirmed",...t.projectPath!==void 0?{projectPath:t.projectPath}:{},metadata:c}),l=e.graph.getNode(u);if(!l)throw new Error(`backlog: writeNode returned an id that does not resolve: ${u}`);return{item:ne(l),created:!0,duplicateCandidates:[]}})}function ad(e,t,n){const r=Ke(e,t,n);return r?ne(r):null}function cd(e,t,n){const r=Ke(e,t,n);if(!r)throw new $e(t,n);return r}function ud(e,t,n,r){const o=cd(e,t,n);let s="",i="";if(we(e,o.id,c=>{const u={...c,updatedAt:new Date().toISOString()};return r.title!==void 0&&(u.title=r.title),r.body!==void 0&&(u.body=r.body),r.projectPath!==void 0&&(u.projectPath=r.projectPath),r.importedFrom!==void 0&&(u.importedFrom=r.importedFrom),s=u.title,i=u.body,u}),r.title!==void 0||r.tags!==void 0||r.projectPath!==void 0){const c={};if(r.title!==void 0&&(c.summary=r.title),r.tags!==void 0){const u=Ar(n),l=Ir(n);c.tags=Xf(u,l,r.tags)}r.projectPath!==void 0&&(c.projectPath=r.projectPath),e.graph.touch(o.id,c)}if(r.title!==void 0||r.body!==void 0){const c=Fi(t,n,s,i);e.db.prepare("UPDATE node SET content = ?, content_hash = ? WHERE rowid = ? AND t_invalid IS NULL").run(c,KO(c),o.id)}const a=e.graph.getNode(o.id);if(!a)throw new $e(t,n);return ne(a)}function lN(e,t,n,r){const o=cd(e,t,n);e.graph.invalidate(o.id,r)}function Gi(e,t,n){const r=e.graph.getNode(t),o=r==null?void 0:r.metadata;o!=null&&o.repo&&(o!=null&&o.humanId)&&rd(e,t,o.repo,o.humanId,"claim",n)}const fN=30;class dN extends Error{constructor(t,n){super(`cannot release claim held by "${t}" as "${n}" without force`),this.heldBy=t,this.name="ClaimContentionError"}}function ld(e,t,n,r={}){const o=(r.staleAfterMin??fN)*6e4;let s;return we(e,t,i=>{const a=Date.now(),c=new Date(a).toISOString();return!i.claimedBy||i.claimedBy===n?(s={status:i.claimedBy?"renewed":"claimed",claimedBy:n,claimedAt:c},{...i,claimedBy:n,claimedAt:c,updatedAt:c}):(i.claimedAt?a-Date.parse(i.claimedAt):Number.POSITIVE_INFINITY)<=o&&!r.force?(s={status:"held",claimedBy:n,claimedAt:c,heldBy:i.claimedBy,...i.claimedAt!==void 0?{heldSince:i.claimedAt}:{}},i):(s={status:"reclaimed-stale",claimedBy:n,claimedAt:c,previousClaimant:i.claimedBy},{...i,claimedBy:n,claimedAt:c,updatedAt:c})}),s.status!=="held"&&Gi(e,t,{status:s.status,by:n}),s}function pN(e,t,n){let r;return we(e,t,o=>{const s=new Date().toISOString();return r={status:o.claimedBy?"renewed":"claimed",claimedBy:n,claimedAt:s},{...o,claimedBy:n,claimedAt:s,updatedAt:s}}),Gi(e,t,{status:r.status,by:n}),r}function hN(e,t,n,r={}){let o;return we(e,t,s=>{if(!s.claimedBy)return o={status:"release-noop"},s;if(s.claimedBy!==n&&!r.force)throw new dN(s.claimedBy,n);o={status:"released",wasClaimedBy:s.claimedBy};const a=new Date().toISOString(),c={...s,updatedAt:a};return delete c.claimedBy,delete c.claimedAt,c}),o.status!=="release-noop"&&Gi(e,t,{status:o.status,by:n,wasClaimedBy:o.wasClaimedBy}),o}function jr(e,t,n){const r=Ke(e,t,n);if(!r)throw new $e(t,n);return r}function $n(e,t,n,r,o){const s=jr(e,t,n);let i;we(e,s.id,c=>{i=c.status;const u=o.citations&&o.citations.length>0?[...c.citations,...o.citations]:c.citations;if(ur(r)&&u.length===0)throw new Jf(r);if(lr(r)&&!o.reason)throw new Yf(r);const l=new Date().toISOString(),f=[...c.notes];o.note&&f.push({by:o.by,at:l,text:o.note}),o.reason&&f.push({by:o.by,at:l,text:`[transition to ${r}] ${o.reason}`});const p={...c,status:r,citations:u,notes:f,updatedAt:l};return Ui.has(r)&&(delete p.claimedBy,delete p.claimedAt),p}),rd(e,s.id,t,n,"transition",{from:i,to:r,by:o.by,...o.reason?{reason:o.reason}:{}});const a=e.graph.getNode(s.id);if(!a)throw new $e(t,n);return ne(a)}function mN(e,t,n,r,o){return $n(e,t,n,r,o)}function gN(e,t,n,r){const o=jr(e,t,n),s=ld(e,o.id,r);if(s.status==="held")throw new Qf(s.heldBy??"unknown",s.heldSince??"unknown");return $n(e,t,n,"IN_PROGRESS",{by:r})}function yN(e,t,n,r){const o=jr(e,t,n);we(e,o.id,i=>({...i,citations:[...i.citations,r],updatedAt:new Date().toISOString()}));const s=e.graph.getNode(o.id);if(!s)throw new $e(t,n);return ne(s)}function vN(e,t,n,r,o){const s=jr(e,t,n);we(e,s.id,a=>{const c=new Date().toISOString();return{...a,notes:[...a.notes,{by:r,at:c,text:o}],updatedAt:c}});const i=e.graph.getNode(s.id);if(!i)throw new $e(t,n);return ne(i)}function $N(e,t,n={}){const r=new Set((n.exclude??[]).map(i=>i.toUpperCase())),o=nt(e,{repo:t.repo,projectPath:t.projectPath,status:"closed"}),s=[];for(const i of o){if(r.has(i.humanId.toUpperCase())||!Ce(i.status))continue;const a=new Date().toISOString();we(e,i.nodeId,u=>({...u,archivedAt:a,updatedAt:a}));const c=e.graph.getNode(i.nodeId);c&&s.push(ne(c))}return s}function ve(e,t,n){const r=Ke(e,t,n);if(!r)throw new $e(t,n);return r}function wN(e,t,n,r){const o=ve(e,t,n),s=ve(e,t,r);e.graph.writeEdge(o.id,s.id,"DEPENDS_ON")}function bN(e,t,n,r){const o=ve(e,t,n),s=ve(e,t,r);e.db.prepare("DELETE FROM edge WHERE src = ? AND dst = ? AND rel = 'DEPENDS_ON'").run(o.id,s.id)}function EN(e,t,n,r){const o=ve(e,t,n),s=ve(e,t,r);e.graph.writeEdge(o.id,s.id,"RELATES_TO")}function SN(e,t,n,r,o){const s=ve(e,t,n),i=new Date().toISOString();let a="";const c=td(e,t,r.family,r.idOverride,l=>{a=l;const f=Ar(a),p=Ir(a),h={humanId:a,kind:f,family:p,title:r.title,body:r.body,status:"OPEN",repo:t,citations:[],notes:[],createdAt:i,updatedAt:i};return r.priority!==void 0&&(h.priority=r.priority),r.projectPath!==void 0&&(h.projectPath=r.projectPath),r.plan!==void 0&&(h.plan=r.plan),e.graph.supersede(s.id,Fi(t,a,r.title,r.body),{kind:"generic",name:Vi(t,a),summary:r.title,tags:["backlog-item",f,p,...r.tags??[]],namespace:t,importance:qi(r.priority),confidence:"confirmed",...r.projectPath!==void 0?{projectPath:r.projectPath}:{},metadata:h})});we(e,s.id,l=>{const f=[...l.notes,{by:"system",at:i,text:`[superseded by ${a}] ${o}`}],p={...l,status:"SUPERSEDED",notes:f,updatedAt:i};return delete p.claimedBy,delete p.claimedAt,p}),e.graph.invalidate(s.id,o);const u=e.graph.getNode(c);if(!u)throw new Error(`backlog: supersede() returned an id that does not resolve: ${c}`);return ne(u)}function ON(e,t,n,r){const o=ve(e,t,n),s=[];for(const i of r){const a=Ki(e,{...i,repo:t});e.graph.writeEdge(a.item.nodeId,o.id,"PART_OF"),s.push(a.item)}return s}function NN(e,t,n,r,o){const s=ve(e,t,n),i=ve(e,t,r);we(e,i.id,c=>{const u=new Date().toISOString(),l={...c,status:"DUPLICATE",notes:[...c.notes,{by:"system",at:u,text:`[merged into ${n}] ${o}`}],updatedAt:u};return delete l.claimedBy,delete l.claimedAt,l}),e.graph.writeEdge(i.id,s.id,"SAME_AS"),e.graph.invalidate(i.id,o);const a=e.graph.getNode(s.id);if(!a)throw new $e(t,n);return ne(a)}function fd(e,t,n,r){const o=ve(e,t,n);we(e,o.id,i=>({...i,priority:r,updatedAt:new Date().toISOString()})),e.graph.touch(o.id,{importance:qi(r)});const s=e.graph.getNode(o.id);if(!s)throw new $e(t,n);return ne(s)}function _N(e,t,n){const r=`${t}::plan:${n}`,s=e.graph.queryNodes({kind:"generic",tags:[Xc],namespace:t,metadata:{planSlug:n}}).find(i=>i.name===r&&!i.isSuperseded);return s?s.id:e.graph.writeNode(`plan:${n}`,{kind:"generic",name:r,summary:n,tags:[Xc],namespace:t,metadata:{planSlug:n}})}function ns(e,t,n,r){const o=ve(e,t,n),s=_N(e,t,r);we(e,o.id,i=>({...i,plan:r,updatedAt:new Date().toISOString()})),e.graph.writeEdge(o.id,s,"MEMBER_OF")}function kN(e,t){const r=e.graph.queryNodes({kind:"entity",tags:[eu],metadata:{identity:t}}).find(o=>o.name===t&&!o.isSuperseded);return r?r.id:e.graph.writeNode(`assignee:${t}`,{kind:"entity",name:t,summary:t,tags:[eu],metadata:{identity:t}})}function AN(e,t,n,r,o){const s=ve(e,t,n),i=kN(e,r);we(e,s.id,c=>{const u=new Date().toISOString();return{...c,assignee:r,notes:[...c.notes,{by:o,at:u,text:`assigned to ${r}`}],updatedAt:u}}),e.graph.writeEdge(s.id,i,"ASSIGNED_TO");const a=e.graph.getNode(s.id);if(!a)throw new $e(t,n);return ne(a)}const su=/^(#{2,3})\s+([A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+)/,IN=["FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED","CLOSED"],jN=["MITIGATED"],PN=["INVALID","SUPERSEDED","DUPLICATE","WONTFIX"],xN=new Set([...IN,...jN,...PN]),TN=new Set(["OPEN","IN_PROGRESS","PARTIAL","OUTSTANDING","DEFERRED","BLOCKED","MIXED","UNKNOWN","FIXED","RESOLVED","DONE","SHIPPED","VERIFIED","REMOVED","MITIGATED","SUPERSEDED","INVALID","DUPLICATE","WONTFIX"]);function dd(e){const t=e.toUpperCase();return t==="IN-PROGRESS"?"IN_PROGRESS":t==="CLOSED"?"RESOLVED":TN.has(t)?t:"UNKNOWN"}function pd(e){var s;const t=(e??"").toLowerCase();if(!t.trim())return null;const n=i=>t.includes(i);if(n("outstanding"))return{label:"OUTSTANDING",open:!0};if(n("partially"))return{label:"PARTIAL",open:!0};if(n("in progress"))return{label:"IN-PROGRESS",open:!0};const r=n("shipped")&&"SHIPPED"||n("superseded")&&"SUPERSEDED"||n("invalid")&&"INVALID"||n("mitigated")&&"MITIGATED"||n("removed")&&!n("open")&&"REMOVED"||n("fixed")&&"FIXED"||n("resolved")&&"RESOLVED"||n("done")&&"DONE"||null,o=n("open")&&"OPEN"||(n("deferred")||n("defer"))&&"DEFERRED"||null;return r&&o?{label:"MIXED",open:!0}:r?{label:r,open:!1}:o?{label:o,open:!0}:n("downgraded")?{label:"OPEN",open:!0}:{label:((s=t.trim().split(/\s+/)[0])==null?void 0:s.toUpperCase().replace(/[^A-Z]/g,""))||"UNKNOWN",open:!0}}function hd(e,t){const n=t.match(/^\s*-?\s*\*\*Status:\*?\*?\s*([^\n]+)/im),r=n?pd(n[1]):null;if(r)return r;const o=e.toUpperCase();for(const s of["RESOLVED","FIXED","MITIGATED","DONE","CLOSED"])if(o.includes(s))return{label:s,open:!1};return{label:"UNKNOWN",open:!0}}function md(e,t){const r=`${e}
174
+ ${t}`.match(/\*{0,2}priority:?\*{0,2}\s*[:-]?\s*(CRITICAL|HIGH|MEDIUM|LOW)/i);return r?r[1].toUpperCase():/—\s*CRITICAL\b/i.test(e)||/\bCRITICAL\b/.test(e)?"CRITICAL":""}const CN=/^[A-Z][A-Z0-9_-]*$/;function RN(e){const t=e.trim().split(/\s+/)[0]??"";return CN.test(t)&&/[0-9_]/.test(t)}function gd(e){const t=e.split(`
175
+ `),n=[],r=[];let o=null;const s=()=>{if(!o)return;const i=o.bodyLines.join(`
176
+ `),a=hd(o.headerLine,i),c=md(o.headerLine,i),{bodyLines:u,...l}=o,f=!xN.has(a.label);n.push({...l,status:a.label,open:f,terminal:!f,priority:c,body:i.trim()}),o=null};return t.forEach((i,a)=>{const c=i.match(su),u=/^#{2,3}\s/.test(i);if(c&&/\d/.test(c[2])){s();const l=c[2],f=i.replace(su,"").replace(/^\s*[—–-]\s*/,"").trim(),p=l.split("-");o={id:l,kind:p[0]??l,family:l.replace(/-\d+[a-z]?$/i,""),title:f,level:c[1].length,line:a+1,headerLine:i,bodyLines:[]}}else if(u){const l=i.replace(/^#{2,3}\s+/,"");RN(l)&&r.push({line:a+1,headerLine:i}),s(),o=null}else o&&o.bodyLines.push(i)}),s(),{items:n,malformedHeaders:r}}function MN(e){return gd(e).items}function yd(e){return gd(e)}function DN(e){return`**Citations:** [${e.map(n=>{const r=n.lines?`${n.file}:${n.lines}`:n.file;return n.context?`${r} (${n.context})`:r}).join(", ")}]`}function LN(e){return e==="IN_PROGRESS"?"IN PROGRESS":e}function vd(e){const t=[];t.push(`### ${e.humanId} — ${e.title}`),t.push(""),t.push(`**Status:** ${LN(e.status)}`),e.priority&&t.push(`**Priority:** ${e.priority}`),e.assignee&&t.push(`**Assignee:** ${e.assignee}`),e.plan&&t.push(`**Plan:** ${e.plan}`),t.push(""),e.body&&t.push(e.body,""),e.citations.length>0&&t.push(DN(e.citations));for(const n of e.notes)t.push(`- Note (${n.by}, ${n.at}): ${n.text}`);return t.join(`
177
+ `).trimEnd()}function $d(e){return e.length===0?"":`${e.map(vd).join(`
178
+
179
+ `)}
180
+ `}function BN(e){return e.split(`
181
+ `).map(UN).join(`
182
+ `)}function UN(e){return/^###\s/.test(e)?`##${e}`:/^##\s/.test(e)?`##${e}`:e}function wd(e,t){let n=`### Archived — resolved/terminal backlog items relocated in batch (${t})
183
+
184
+ `;return n+="> Moved via `@adhd/backlog`'s `archiveResolved` (canonical terminal statuses: FIXED/RESOLVED/DONE/\n",n+=`> SHIPPED/VERIFIED/REMOVED/MITIGATED/SUPERSEDED/INVALID/DUPLICATE/WONTFIX). The graph node itself is
185
+ `,n+=`> NEVER deleted — this is a rendered snapshot; full history remains queryable via auditTrail.
186
+
187
+ `,n+=e.map(r=>BN(vd(r))).join(`
188
+
189
+ `),n+=`
190
+ `,n}function bd(e){return e.map(t=>{const n={humanId:t.id,title:t.title,body:t.body,status:dd(t.status)};return t.priority&&(t.priority==="CRITICAL"||t.priority==="HIGH"||t.priority==="MEDIUM"||t.priority==="LOW")&&(n.priority=t.priority),n})}function zi(e,t,n){const r=ad(e.store,t,n);if(!r)throw new $e(t,n);return r}async function Ed(e,t){return Ki(e.store,t)}async function Sd(e,t,n){return ad(e.store,t,n)}async function Od(e,t,n,r){return ud(e.store,t,n,r)}async function Nd(e,t){return nt(e.store,t??{})}async function _d(e,t,n,r){lN(e.store,t,n,r)}async function kd(e,t){return eN(e.store,t??{})}async function Ad(e,t,n){return tN(e.store,t??{},n??20)}async function Id(e,t){return rN(e.store,t??{})}async function jd(e,t,n){return nN(e.store,t,n)}async function Pd(e,t){return id(e.store,t??{})}async function xd(e,t){return oN(e.store,t??{})}async function Td(e,t,n){return iN(e.store,t,n??{})}async function Cd(e,t,n,r,o){const s=zi(e,t,n);return ld(e.store,s.nodeId,r,o??{})}async function Rd(e,t,n,r){const o=zi(e,t,n);return pN(e.store,o.nodeId,r)}async function Md(e,t,n,r,o){const s=zi(e,t,n);return hN(e.store,s.nodeId,r,o??{})}async function Dd(e,t,n,r,o){return AN(e.store,t,n,r,o)}async function Ld(e,t,n,r){return gN(e.store,t,n,r)}async function Bd(e,t,n,r,o){return $n(e.store,t,n,r,o)}async function Ud(e,t,n,r){return yN(e.store,t,n,r)}async function Fd(e,t,n,r,o){return vN(e.store,t,n,r,o)}async function Vd(e,t,n,r,o){return mN(e.store,t,n,r,o)}async function qd(e,t,n){const r=$N(e.store,t,n??{}),o=r.length>0?wd(r,new Date().toISOString().slice(0,10)):"";return{archivedCount:r.length,changelogMarkdown:o}}async function Kd(e,t,n,r){wN(e.store,t,n,r)}async function Gd(e,t,n,r){bN(e.store,t,n,r)}async function zd(e,t,n,r){EN(e.store,t,n,r)}async function Wd(e,t,n,r,o){return SN(e.store,t,n,r,o)}async function Hd(e,t,n,r){return ON(e.store,t,n,r)}async function Jd(e,t,n,r,o){return NN(e.store,t,n,r,o)}async function Yd(e,t,n,r){return fd(e.store,t,n,r)}async function Qd(e,t,n,r){ns(e.store,t,n,r)}async function Zd(e,t){const n=K.readFileSync(t.path,"utf8"),{items:r,malformedHeaders:o}=yd(n),s=bd(r),i=t.sourcePath??t.path,a={parsed:s.length,created:0,skippedDuplicates:0,updated:0,errors:[],malformedHeaders:o};if(t.dryRun)return a;for(const c of s)try{const u=Ki(e.store,{family:c.humanId.replace(/-\d+$/,""),idOverride:c.humanId,title:c.title,body:c.body,repo:t.repo,...t.projectPath!==void 0?{projectPath:t.projectPath}:{},...t.plan!==void 0?{plan:t.plan}:{},importedFrom:i,...c.priority!==void 0?{priority:c.priority}:{},force:!0});if(u.created&&t.plan!==void 0&&ns(e.store,t.repo,c.humanId,t.plan),u.created&&c.status!=="OPEN"&&$n(e.store,t.repo,c.humanId,c.status,{by:"system:importFromMarkdown",...ur(c.status)?{citations:[{file:t.path}]}:{},...lr(c.status)?{reason:`imported from markdown at status ${c.status}`}:{}}),u.created){a.created+=1;continue}a.skippedDuplicates+=1;const l=u.duplicateCandidates[0]??u.item;let f=!1;if(l.importedFrom===void 0||l.importedFrom===i){const h={};l.title!==c.title&&(h.title=c.title),l.body!==c.body&&(h.body=c.body),l.importedFrom===void 0&&(h.importedFrom=i),t.projectPath!==void 0&&l.projectPath!==t.projectPath&&(h.projectPath=t.projectPath),Object.keys(h).length>0&&(ud(e.store,t.repo,c.humanId,h),f=!0),c.priority!==void 0&&l.priority!==c.priority&&(fd(e.store,t.repo,c.humanId,c.priority),f=!0),l.status!==c.status&&($n(e.store,t.repo,c.humanId,c.status,{by:"system:importFromMarkdown",...ur(c.status)?{citations:[{file:t.path}]}:{},...lr(c.status)?{reason:`re-imported from markdown at status ${c.status}`}:{}}),f=!0)}t.plan!==void 0&&l.plan!==t.plan&&(ns(e.store,t.repo,c.humanId,t.plan),f=!0),f&&(a.updated+=1)}catch(u){a.errors.push({humanId:c.humanId,message:u instanceof Error?u.message:String(u)})}return a}async function Xd(e,t){let r=od(e.store,{...t,excludeArchived:!0}).map(ne);return(t==null?void 0:t.status)==="open"?r=r.filter(o=>!Ce(o.status)):(t==null?void 0:t.status)==="closed"&&(r=r.filter(o=>Ce(o.status))),$d(r)}async function ep(e,t){return nt(e.store,t??{})}async function tp(e,t,n){return aN(e.store,t,n)}const FN={"not-started":"not-started: BACKLOG.md is authoritative everywhere; the tool has not been adopted for this repo yet.","phase-1":"phase-1: seed import complete (or in progress) — BACKLOG.md remains authoritative; the graph is a read-only shadow copy.","phase-2":"phase-2: BACKLOG.md is still authoritative; the tool is shadow-running in parity-check mode (render vs. hand-edited markdown, non-blocking).","phase-3":"phase-3: the graph is authoritative. File/claim/transition/resolve via the backlog CLI/MCP — every BACKLOG.md is a generated projection, never hand-edited.","phase-4":"phase-4: phase-3 write path is live; the backlog-usage skill is published and distributed for agent discovery.","phase-5":"phase-5: the legacy tools/util/backlog.mjs parser has been deprecated/removed.",complete:"complete: migration fully done, including cross-repo rollout (Phase 6) where applicable."};async function np(e){const t=e.env.config.migration.phase;return rp(t)}function rp(e){const t=FN[e]??`unknown phase value: ${e}`;return{phase:e,description:t,toolIsAuthoritative:e==="phase-3"||e==="phase-4"||e==="phase-5"||e==="complete"}}async function op(e,t){const n=VO(e.env,t,e.adhdRoot);return{...rp(t),configPath:n}}const VN=Object.freeze(Object.defineProperty({__proto__:null,addCitation:Ud,addDependency:Kd,appendNote:Fd,archiveResolved:qd,assignItem:Dd,attachToPlan:Qd,auditTrail:tp,blockers:jd,claimItem:Cd,createItem:Ed,dependencyGraph:Pd,exportJson:ep,getItem:Sd,importFromMarkdown:Zd,linkRelated:zd,listItems:Nd,mergeItems:Jd,migrationStatus:np,readyItems:Id,releaseClaim:Md,removeDependency:Gd,renderToMarkdown:Xd,renewClaim:Rd,resolveItem:Vd,setMigrationPhase:op,setPriority:Yd,softDeleteItem:_d,splitItem:Hd,spotlight:Ad,staleClaims:Td,startWork:Ld,stats:kd,supersedeItem:Wd,topoOrder:xd,transitionStatus:Bd,updateItem:Od},Symbol.toStringTag,{value:"Module"}));function rs(e){if(!e.run)throw new Error(`@adhd/backlog: apigen plugin "${e.id}" declares no run() — cannot mount live`);return e.run}function sp(){if(!process.env.VITEST)return;const e=()=>{},t={info:e,error:e,debug:e,fatal:e,warn:e,trace:e};return t.child=()=>t,t}function ip(){return D.join(D.dirname(fr.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:Se&&Se.tagName.toUpperCase()==="SCRIPT"&&Se.src||new URL("index.js",document.baseURI).href)),"..","dist")}function iu(e){if(!e||typeof e!="object")return e;const t={},n=o=>{if(Array.isArray(o)){for(const i of o)n(i);return}if(!o||typeof o!="object")return;const s=o;for(const i of["definitions","$defs"]){const a=s[i];if(a&&typeof a=="object"&&!Array.isArray(a))for(const[c,u]of Object.entries(a))c in t||(t[c]=u)}for(const[i,a]of Object.entries(s))i==="definitions"||i==="$defs"||n(a)};if(n(e),n(t),Object.keys(t).length===0)return e;const r=(o,s)=>{if(Array.isArray(o))return o.map(u=>r(u,s));if(!o||typeof o!="object")return o;const i=o,a=i.$ref;if(typeof a=="string"){const u=a.replace(/^#\/(?:definitions|\$defs)\//,"");return s.has(u)||!(u in t)?{}:r(t[u],new Set([...s,u]))}const c={};for(const[u,l]of Object.entries(i))u==="definitions"||u==="$defs"||(c[u]=r(l,s));return c};return r(e,new Set)}async function qN(){const e=D.join(ip(),"client.d.ts");if(!K.existsSync(e))throw new Error(`@adhd/backlog: cannot mount — ${e} does not exist. Run "nx build backlog" first (extract() needs the built .d.ts for type information).`);return Mb({sourceFile:e,namespace:"backlog",dropFileSegment:!0})}async function Wi(e){const t=typeof e=="function"?e:()=>e,n=await qN(),r={schemas:Object.fromEntries(n.filter(s=>s.kind==="action").map(s=>{var i;return[((i=s.path[s.path.length-1])==null?void 0:i.raw)??"",{input:iu(s.input),output:iu(s.output),hasCtx:s.hasCtx,safe:s.safe}]}))};return{pkg:{id:"backlog",schemas:ub(r,[]),importPath:D.join(ip(),"client.js"),fns:VN,createClient:async()=>t()},operations:n}}async function ap(e){const t=wi({scope:e.scope,adhdRoot:e.adhdRoot,cwd:e.cwd});t.ensureDirs();const n=hs(t.files.db,t.config.db.busyTimeoutMs),r={store:n,env:t},{pkg:o,operations:s}=await Wi(r),i=sp(),a=[];(e.transport==="http"||e.transport==="both")&&a.push(rs(uS)({packages:[o],outputDir:"",options:{port:e.port??3300,host:e.host??"127.0.0.1",usePlugins:[wS]},signal:e.signal,operations:s,logger:i})),(e.transport==="mcp"||e.transport==="both")&&a.push(rs(BO)({packages:[o],outputDir:"",options:{transport:"stdio"},signal:e.signal,operations:s,logger:i}));try{await Promise.all(a)}finally{ms(n)}}const po=["claude","codex","opencode"],KN={claude:".claude",codex:".codex",opencode:".opencode"};function GN(e,t,n,r){if(t==="project")return D.join(n,KN[e],"skills");const o=r??Lt.homedir();if(e==="claude")return D.join(o,".claude","skills");if(e==="codex"){const s=r?D.join(o,".codex"):process.env.CODEX_HOME??D.join(o,".codex");return D.join(s,"skills")}return D.join(o,".config","opencode","skills")}function zN(){const e=D.dirname(fr.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:Se&&Se.tagName.toUpperCase()==="SCRIPT"&&Se.src||new URL("index.js",document.baseURI).href));return D.join(e,"..","skill","SKILL.md")}function WN(e){let t="all",n="user";for(let o=0;o<e.length;o++){const s=e[o];if(s==="--host")t=e[++o]??"all";else if(s==="--scope")n=e[++o]??"user";else throw new Error(`backlog install-skill: unknown argument "${s}" (expected --host/--scope)`)}if(n!=="user"&&n!=="project")throw new Error(`backlog install-skill: --scope must be "user" or "project", got "${n}"`);const r=t==="all"?[...po]:[t];for(const o of r)if(!po.includes(o))throw new Error(`backlog install-skill: --host must be one of ${po.join("|")}|all, got "${t}"`);return{hosts:r,scope:n}}function cp(e,t=process.cwd(),n){const{hosts:r,scope:o}=WN(e),s=zN();if(!K.existsSync(s))throw new Error(`backlog install-skill: packaged skill file not found at ${s} — was @adhd/backlog built/installed correctly?`);const i=K.readFileSync(s,"utf8"),a=D.join(D.dirname(fr.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:Se&&Se.tagName.toUpperCase()==="SCRIPT"&&Se.src||new URL("index.js",document.baseURI).href)),"..","package.json"),c=JSON.parse(K.readFileSync(a,"utf8")),u=[];for(const l of r){const f=D.join(GN(l,o,t,n),"backlog");K.mkdirSync(f,{recursive:!0});const p=D.join(f,"SKILL.md");K.writeFileSync(p,i,"utf8"),K.writeFileSync(D.join(f,"extension.json"),JSON.stringify({name:c.name,version:c.version,type:"skill",entrypoint:"SKILL.md"},null,2)+`
191
+ `,"utf8"),u.push({host:l,scope:o,path:p})}return u}async function up(e){const t=cp(e);console.log(JSON.stringify({installed:t}))}function HN(e){let t="mcp",n,r;for(let s=0;s<e.length;s++){const i=e[s];if(i==="--transport")t=e[++s];else if(i==="--port")n=Number(e[++s]);else if(i==="--host")r=e[++s];else throw new Error(`backlog serve: unknown argument "${i}" (expected --transport/--port/--host)`)}if(t!=="mcp"&&t!=="http"&&t!=="both")throw new Error(`backlog serve: --transport must be mcp|http|both, got "${t}"`);const o={transport:t};return n!==void 0&&(o.port=n),r!==void 0&&(o.host=r),o}async function lp(e,t={}){const n=HN(e),r=new AbortController;process.on("SIGTERM",()=>r.abort()),process.on("SIGINT",()=>r.abort()),await ap({...n,...t,signal:r.signal})}function fp(e){const t=e.find(n=>n.kind==="action");if(!t)throw new Error('@adhd/backlog: cli mount found zero "action" operations in client.ts — cannot derive a command prefix');return Xh(t).cli.path.slice(0,-1)}function dp(e,t){var r;return e.length===0?[...e]:(r=e[0])!=null&&r.startsWith("-")?[...e]:t.length>0&&t.every((o,s)=>e[s]===o)?[...e]:[...t,...e]}async function pp(e,t={}){const n=e??process.argv.slice(2);if(n[0]==="install-skill"){await up(n.slice(1));return}if(n[0]==="serve"){await lp(n.slice(1),t);return}let r;const o=()=>{if(!r){const s=wi({scope:t.scope,adhdRoot:t.adhdRoot,cwd:t.cwd});s.ensureDirs();const i=hs(s.files.db,s.config.db.busyTimeoutMs);r={store:i,ctx:{store:i,env:s}}}return r.ctx};try{const{pkg:s,operations:i}=await Wi(o),a=n,c=fp(i);await rs(Hh)({packages:[s],operations:i,outputDir:"",options:{argv:dp(a,c)},signal:t.signal??new AbortController().signal,logger:sp()})}finally{r&&ms(r.store)}}process.argv[1]&&(typeof document>"u"?require("url").pathToFileURL(__filename).href:Se&&Se.tagName.toUpperCase()==="SCRIPT"&&Se.src||new URL("index.js",document.baseURI).href)===fr.pathToFileURL(K.realpathSync(process.argv[1])).href&&pp().catch(e=>{console.error(e instanceof Error?e.stack??e.message:String(e)),process.exitCode=1});exports.BacklogItemNotFoundError=$e;exports.CitationRequiredError=Jf;exports.ClaimHeldError=Qf;exports.DependencyCycleError=UO;exports.ReasonRequiredError=Yf;exports.TERMINAL_DISMISSED_STATUSES=Hf;exports.TERMINAL_DONE_STATUSES=zf;exports.TERMINAL_STATUSES=Ui;exports.TERMINAL_WORKAROUND_STATUSES=Wf;exports.addCitation=Ud;exports.addDependency=Kd;exports.appendNote=Fd;exports.archiveResolved=qd;exports.assignItem=Dd;exports.attachToPlan=Qd;exports.auditTrail=tp;exports.backlogEnvironmentSpec=vf;exports.blockers=jd;exports.buildBacklogApigenPackage=Wi;exports.buildBacklogEnv=wi;exports.buildChangelogSection=wd;exports.claimItem=Cd;exports.classifyStatus=pd;exports.closeGraphBacklogStore=ms;exports.createItem=Ed;exports.dependencyGraph=Pd;exports.detectPriority=md;exports.detectStatus=hd;exports.exportJson=ep;exports.getItem=Sd;exports.importFromMarkdown=Zd;exports.installSkill=cp;exports.isTerminalStatus=Ce;exports.linkRelated=zd;exports.listItems=Nd;exports.mergeItems=Jd;exports.migrationStatus=np;exports.normalizeLegacyStatus=dd;exports.openGraphBacklogStore=hs;exports.parseBacklogMarkdown=MN;exports.parseBacklogMarkdownWithDiagnostics=yd;exports.prefixCommand=dp;exports.readyItems=Id;exports.releaseClaim=Md;exports.removeDependency=Gd;exports.renderItemsToMarkdown=$d;exports.renderToMarkdown=Xd;exports.renewClaim=Rd;exports.requiresCitation=ur;exports.requiresReason=lr;exports.resolveBacklogScope=$f;exports.resolveCommandPrefix=fp;exports.resolveItem=Vd;exports.runBacklogCli=pp;exports.runInstallSkillCommand=up;exports.runServeCommand=lp;exports.setMigrationPhase=op;exports.setPriority=Yd;exports.softDeleteItem=_d;exports.splitItem=Hd;exports.spotlight=Ad;exports.staleClaims=Td;exports.startBacklogServer=ap;exports.startWork=Ld;exports.stats=kd;exports.suggestClaimantIdentity=tb;exports.supersedeItem=Wd;exports.toImportItems=bd;exports.topoOrder=xd;exports.transitionStatus=Bd;exports.updateItem=Od;