@aipt/cli 0.1.36 → 0.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
- import{a as E,b as nn,c as Fn,d as rp,e as j,f as np,g as ip,h as op,i as ap,j as sp}from"./chunk.js";var Bn=E(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.regexpCode=Y.getEsmExportName=Y.getProperty=Y.safeStringify=Y.stringify=Y.strConcat=Y.addCodeArg=Y.str=Y._=Y.nil=Y._Code=Y.Name=Y.IDENTIFIER=Y._CodeOrName=void 0;var Un=class{};Y._CodeOrName=Un;Y.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ir=class extends Un{constructor(t){if(super(),!Y.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Y.Name=Ir;var at=class extends Un{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Ir&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Y._Code=at;Y.nil=new at("");function cp(e,...t){let r=[e[0]],n=0;for(;n<t.length;)gs(r,t[n]),r.push(e[++n]);return new at(r)}Y._=cp;var ms=new at("+");function lp(e,...t){let r=[qn(e[0])],n=0;for(;n<t.length;)r.push(ms),gs(r,t[n]),r.push(ms,qn(e[++n]));return Hh(r),new at(r)}Y.str=lp;function gs(e,t){t instanceof at?e.push(...t._items):t instanceof Ir?e.push(t):e.push(Qh(t))}Y.addCodeArg=gs;function Hh(e){let t=1;for(;t<e.length-1;){if(e[t]===ms){let r=Xh(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function Xh(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Ir||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Ir))return`"${e}${t.slice(1)}`}function Zh(e,t){return t.emptyStr()?e:e.emptyStr()?t:lp`${e}${t}`}Y.strConcat=Zh;function Qh(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:qn(Array.isArray(e)?e.join(","):e)}function ew(e){return new at(qn(e))}Y.stringify=ew;function qn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Y.safeStringify=qn;function tw(e){return typeof e=="string"&&Y.IDENTIFIER.test(e)?new at(`.${e}`):cp`[${e}]`}Y.getProperty=tw;function rw(e){if(typeof e=="string"&&Y.IDENTIFIER.test(e))return new at(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Y.getEsmExportName=rw;function nw(e){return new at(e.toString())}Y.regexpCode=nw});var ws=E(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.ValueScope=Ye.ValueScopeName=Ye.Scope=Ye.varKinds=Ye.UsedValueState=void 0;var Ke=Bn(),ys=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},co;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(co||(Ye.UsedValueState=co={}));Ye.varKinds={const:new Ke.Name("const"),let:new Ke.Name("let"),var:new Ke.Name("var")};var lo=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Ke.Name?t:this.name(t)}name(t){return new Ke.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Ye.Scope=lo;var po=class extends Ke.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Ke._)`.${new Ke.Name(r)}[${n}]`}};Ye.ValueScopeName=po;var iw=(0,Ke._)`\n`,hs=class extends lo{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?iw:Ke.nil}}get(){return this._scope}name(t){return new po(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(t),{prefix:o}=i,a=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[o];if(s){let d=s.get(a);if(d)return d}else s=this._values[o]=new Map;s.set(a,i);let c=this._scope[o]||(this._scope[o]=[]),l=c.length;return c[l]=r.ref,i.setValue(r,{property:o,itemIndex:l}),i}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ke._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(t,r,n={},i){let o=Ke.nil;for(let a in t){let s=t[a];if(!s)continue;let c=n[a]=n[a]||new Map;s.forEach(l=>{if(c.has(l))return;c.set(l,co.Started);let d=r(l);if(d){let p=this.opts.es5?Ye.varKinds.var:Ye.varKinds.const;o=(0,Ke._)`${o}${p} ${l} = ${d};${this.opts._n}`}else if(d=i?.(l))o=(0,Ke._)`${o}${d}${this.opts._n}`;else throw new ys(l);c.set(l,co.Completed)})}return o}};Ye.ValueScope=hs});var x=E(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var z=Bn(),wt=ws(),Xt=Bn();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return Xt._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return Xt.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return Xt.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return Xt.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return Xt.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return Xt.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return Xt.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return Xt.Name}});var go=ws();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return go.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return go.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return go.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return go.varKinds}});F.operators={GT:new z._Code(">"),GTE:new z._Code(">="),LT:new z._Code("<"),LTE:new z._Code("<="),EQ:new z._Code("==="),NEQ:new z._Code("!=="),NOT:new z._Code("!"),OR:new z._Code("||"),AND:new z._Code("&&"),ADD:new z._Code("+")};var xt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Is=class extends xt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?wt.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=an(this.rhs,t,r)),this}get names(){return this.rhs instanceof z._CodeOrName?this.rhs.names:{}}},uo=class extends xt{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof z.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=an(this.rhs,t,r),this}get names(){let t=this.lhs instanceof z.Name?{}:{...this.lhs.names};return mo(t,this.rhs)}},vs=class extends uo{constructor(t,r,n,i){super(t,n,i),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},bs=class extends xt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},ks=class extends xt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},_s=class extends xt{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},As=class extends xt{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=an(this.code,t,r),this}get names(){return this.code instanceof z._CodeOrName?this.code.names:{}}},zn=class extends xt{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,i=n.length;for(;i--;){let o=n[i];o.optimizeNames(t,r)||(ow(t,o.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>kr(t,r.names),{})}},Vt=class extends zn{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Rs=class extends zn{},on=class extends Vt{};on.kind="else";var vr=class e extends Vt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new on(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(dp(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=an(this.condition,t,r),this}get names(){let t=super.names;return mo(t,this.condition),this.else&&kr(t,this.else.names),t}};vr.kind="if";var br=class extends Vt{};br.kind="for";var Es=class extends br{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=an(this.iteration,t,r),this}get names(){return kr(super.names,this.iteration.names)}},Ps=class extends br{constructor(t,r,n,i){super(),this.varKind=t,this.name=r,this.from=n,this.to=i}render(t){let r=t.es5?wt.varKinds.var:this.varKind,{name:n,from:i,to:o}=this;return`for(${r} ${n}=${i}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=mo(super.names,this.from);return mo(t,this.to)}},fo=class extends br{constructor(t,r,n,i){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=i}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=an(this.iterable,t,r),this}get names(){return kr(super.names,this.iterable.names)}},Gn=class extends Vt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Gn.kind="func";var Jn=class extends zn{render(t){return"return "+super.render(t)}};Jn.kind="return";var Ns=class extends Vt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,i;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(i=this.finally)===null||i===void 0||i.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&kr(t,this.catch.names),this.finally&&kr(t,this.finally.names),t}},Wn=class extends Vt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Wn.kind="catch";var Kn=class extends Vt{render(t){return"finally"+super.render(t)}};Kn.kind="finally";var Os=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
1
+ import{a as E,b as nn,c as Fn,d as rp,e as j,f as np,g as ip,h as op,i as ap,j as sp}from"./chunk.js";var Bn=E(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.regexpCode=Y.getEsmExportName=Y.getProperty=Y.safeStringify=Y.stringify=Y.strConcat=Y.addCodeArg=Y.str=Y._=Y.nil=Y._Code=Y.Name=Y.IDENTIFIER=Y._CodeOrName=void 0;var Un=class{};Y._CodeOrName=Un;Y.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ir=class extends Un{constructor(t){if(super(),!Y.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Y.Name=Ir;var at=class extends Un{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Ir&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Y._Code=at;Y.nil=new at("");function cp(e,...t){let r=[e[0]],n=0;for(;n<t.length;)gs(r,t[n]),r.push(e[++n]);return new at(r)}Y._=cp;var ms=new at("+");function lp(e,...t){let r=[qn(e[0])],n=0;for(;n<t.length;)r.push(ms),gs(r,t[n]),r.push(ms,qn(e[++n]));return Hh(r),new at(r)}Y.str=lp;function gs(e,t){t instanceof at?e.push(...t._items):t instanceof Ir?e.push(t):e.push(Qh(t))}Y.addCodeArg=gs;function Hh(e){let t=1;for(;t<e.length-1;){if(e[t]===ms){let r=Xh(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function Xh(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Ir||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Ir))return`"${e}${t.slice(1)}`}function Zh(e,t){return t.emptyStr()?e:e.emptyStr()?t:lp`${e}${t}`}Y.strConcat=Zh;function Qh(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:qn(Array.isArray(e)?e.join(","):e)}function ew(e){return new at(qn(e))}Y.stringify=ew;function qn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Y.safeStringify=qn;function tw(e){return typeof e=="string"&&Y.IDENTIFIER.test(e)?new at(`.${e}`):cp`[${e}]`}Y.getProperty=tw;function rw(e){if(typeof e=="string"&&Y.IDENTIFIER.test(e))return new at(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Y.getEsmExportName=rw;function nw(e){return new at(e.toString())}Y.regexpCode=nw});var ws=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.ValueScope=He.ValueScopeName=He.Scope=He.varKinds=He.UsedValueState=void 0;var Ye=Bn(),ys=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},co;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(co||(He.UsedValueState=co={}));He.varKinds={const:new Ye.Name("const"),let:new Ye.Name("let"),var:new Ye.Name("var")};var lo=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof Ye.Name?t:this.name(t)}name(t){return new Ye.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};He.Scope=lo;var po=class extends Ye.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,Ye._)`.${new Ye.Name(r)}[${n}]`}};He.ValueScopeName=po;var iw=(0,Ye._)`\n`,hs=class extends lo{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?iw:Ye.nil}}get(){return this._scope}name(t){return new po(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let i=this.toName(t),{prefix:o}=i,a=(n=r.key)!==null&&n!==void 0?n:r.ref,s=this._values[o];if(s){let d=s.get(a);if(d)return d}else s=this._values[o]=new Map;s.set(a,i);let c=this._scope[o]||(this._scope[o]=[]),l=c.length;return c[l]=r.ref,i.setValue(r,{property:o,itemIndex:l}),i}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return(0,Ye._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(t,r,n={},i){let o=Ye.nil;for(let a in t){let s=t[a];if(!s)continue;let c=n[a]=n[a]||new Map;s.forEach(l=>{if(c.has(l))return;c.set(l,co.Started);let d=r(l);if(d){let p=this.opts.es5?He.varKinds.var:He.varKinds.const;o=(0,Ye._)`${o}${p} ${l} = ${d};${this.opts._n}`}else if(d=i?.(l))o=(0,Ye._)`${o}${d}${this.opts._n}`;else throw new ys(l);c.set(l,co.Completed)})}return o}};He.ValueScope=hs});var x=E(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.or=F.and=F.not=F.CodeGen=F.operators=F.varKinds=F.ValueScopeName=F.ValueScope=F.Scope=F.Name=F.regexpCode=F.stringify=F.getProperty=F.nil=F.strConcat=F.str=F._=void 0;var z=Bn(),wt=ws(),Xt=Bn();Object.defineProperty(F,"_",{enumerable:!0,get:function(){return Xt._}});Object.defineProperty(F,"str",{enumerable:!0,get:function(){return Xt.str}});Object.defineProperty(F,"strConcat",{enumerable:!0,get:function(){return Xt.strConcat}});Object.defineProperty(F,"nil",{enumerable:!0,get:function(){return Xt.nil}});Object.defineProperty(F,"getProperty",{enumerable:!0,get:function(){return Xt.getProperty}});Object.defineProperty(F,"stringify",{enumerable:!0,get:function(){return Xt.stringify}});Object.defineProperty(F,"regexpCode",{enumerable:!0,get:function(){return Xt.regexpCode}});Object.defineProperty(F,"Name",{enumerable:!0,get:function(){return Xt.Name}});var go=ws();Object.defineProperty(F,"Scope",{enumerable:!0,get:function(){return go.Scope}});Object.defineProperty(F,"ValueScope",{enumerable:!0,get:function(){return go.ValueScope}});Object.defineProperty(F,"ValueScopeName",{enumerable:!0,get:function(){return go.ValueScopeName}});Object.defineProperty(F,"varKinds",{enumerable:!0,get:function(){return go.varKinds}});F.operators={GT:new z._Code(">"),GTE:new z._Code(">="),LT:new z._Code("<"),LTE:new z._Code("<="),EQ:new z._Code("==="),NEQ:new z._Code("!=="),NOT:new z._Code("!"),OR:new z._Code("||"),AND:new z._Code("&&"),ADD:new z._Code("+")};var xt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Is=class extends xt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n}render({es5:t,_n:r}){let n=t?wt.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=an(this.rhs,t,r)),this}get names(){return this.rhs instanceof z._CodeOrName?this.rhs.names:{}}},uo=class extends xt{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof z.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=an(this.rhs,t,r),this}get names(){let t=this.lhs instanceof z.Name?{}:{...this.lhs.names};return mo(t,this.rhs)}},vs=class extends uo{constructor(t,r,n,i){super(t,n,i),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},bs=class extends xt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},ks=class extends xt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},_s=class extends xt{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},As=class extends xt{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=an(this.code,t,r),this}get names(){return this.code instanceof z._CodeOrName?this.code.names:{}}},zn=class extends xt{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,i=n.length;for(;i--;){let o=n[i];o.optimizeNames(t,r)||(ow(t,o.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>kr(t,r.names),{})}},Vt=class extends zn{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Rs=class extends zn{},on=class extends Vt{};on.kind="else";var vr=class e extends Vt{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new on(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(dp(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=an(this.condition,t,r),this}get names(){let t=super.names;return mo(t,this.condition),this.else&&kr(t,this.else.names),t}};vr.kind="if";var br=class extends Vt{};br.kind="for";var Es=class extends br{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=an(this.iteration,t,r),this}get names(){return kr(super.names,this.iteration.names)}},Ps=class extends br{constructor(t,r,n,i){super(),this.varKind=t,this.name=r,this.from=n,this.to=i}render(t){let r=t.es5?wt.varKinds.var:this.varKind,{name:n,from:i,to:o}=this;return`for(${r} ${n}=${i}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=mo(super.names,this.from);return mo(t,this.to)}},fo=class extends br{constructor(t,r,n,i){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=i}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=an(this.iterable,t,r),this}get names(){return kr(super.names,this.iterable.names)}},Gn=class extends Vt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Gn.kind="func";var Jn=class extends zn{render(t){return"return "+super.render(t)}};Jn.kind="return";var Ns=class extends Vt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,i;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(i=this.finally)===null||i===void 0||i.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&kr(t,this.catch.names),this.finally&&kr(t,this.finally.names),t}},Wn=class extends Vt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Wn.kind="catch";var Kn=class extends Vt{render(t){return"finally"+super.render(t)}};Kn.kind="finally";var Os=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
2
  `:""},this._extScope=t,this._scope=new wt.Scope({parent:t}),this._nodes=[new Rs]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,i){let o=this._scope.toName(r);return n!==void 0&&i&&(this._constants[o.str]=n),this._leafNode(new Is(t,o,n)),o}const(t,r,n){return this._def(wt.varKinds.const,t,r,n)}let(t,r,n){return this._def(wt.varKinds.let,t,r,n)}var(t,r,n){return this._def(wt.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new uo(t,r,n))}add(t,r){return this._leafNode(new vs(t,F.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==z.nil&&this._leafNode(new As(t)),this}object(...t){let r=["{"];for(let[n,i]of t)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,z.addCodeArg)(r,i));return r.push("}"),new z._Code(r)}if(t,r,n){if(this._blockNode(new vr(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new vr(t))}else(){return this._elseNode(new on)}endIf(){return this._endBlockNode(vr,on)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Es(t),r)}forRange(t,r,n,i,o=this.opts.es5?wt.varKinds.var:wt.varKinds.let){let a=this._scope.toName(t);return this._for(new Ps(o,a,r,n),()=>i(a))}forOf(t,r,n,i=wt.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof z.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,z._)`${a}.length`,s=>{this.var(o,(0,z._)`${a}[${s}]`),n(o)})}return this._for(new fo("of",i,o,r),()=>n(o))}forIn(t,r,n,i=this.opts.es5?wt.varKinds.var:wt.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,z._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new fo("in",i,o,r),()=>n(o))}endFor(){return this._endBlockNode(br)}label(t){return this._leafNode(new bs(t))}break(t){return this._leafNode(new ks(t))}return(t){let r=new Jn;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Jn)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new Ns;if(this._blockNode(i),this.code(t),r){let o=this.name("e");this._currNode=i.catch=new Wn(o),r(o)}return n&&(this._currNode=i.finally=new Kn,this.code(n)),this._endBlockNode(Wn,Kn)}throw(t){return this._leafNode(new _s(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=z.nil,n,i){return this._blockNode(new Gn(t,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Gn)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof vr))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};F.CodeGen=Os;function kr(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function mo(e,t){return t instanceof z._CodeOrName?kr(e,t.names):e}function an(e,t,r){if(e instanceof z.Name)return n(e);if(!i(e))return e;return new z._Code(e._items.reduce((o,a)=>(a instanceof z.Name&&(a=n(a)),a instanceof z._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||t[o.str]!==1?o:(delete t[o.str],a)}function i(o){return o instanceof z._Code&&o._items.some(a=>a instanceof z.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function ow(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function dp(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,z._)`!${Ss(e)}`}F.not=dp;var aw=pp(F.operators.AND);function sw(...e){return e.reduce(aw)}F.and=sw;var cw=pp(F.operators.OR);function lw(...e){return e.reduce(cw)}F.or=lw;function pp(e){return(t,r)=>t===z.nil?r:r===z.nil?t:(0,z._)`${Ss(t)} ${e} ${Ss(r)}`}function Ss(e){return e instanceof z.Name?e:(0,z._)`(${e})`}});var q=E(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.checkStrictMode=U.getErrorPath=U.Type=U.useFunc=U.setEvaluated=U.evaluatedPropsToName=U.mergeEvaluated=U.eachItem=U.unescapeJsonPointer=U.escapeJsonPointer=U.escapeFragment=U.unescapeFragment=U.schemaRefOrVal=U.schemaHasRulesButRef=U.schemaHasRules=U.checkUnknownRules=U.alwaysValidSchema=U.toHash=void 0;var oe=x(),dw=Bn();function pw(e){let t={};for(let r of e)t[r]=!0;return t}U.toHash=pw;function uw(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(mp(e,t),!gp(t,e.self.RULES.all))}U.alwaysValidSchema=uw;function mp(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let i=n.RULES.keywords;for(let o in t)i[o]||wp(e,`unknown keyword: "${o}"`)}U.checkUnknownRules=mp;function gp(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}U.schemaHasRules=gp;function fw(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}U.schemaHasRulesButRef=fw;function mw({topSchemaRef:e,schemaPath:t},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,oe._)`${r}`}return(0,oe._)`${e}${t}${(0,oe.getProperty)(n)}`}U.schemaRefOrVal=mw;function gw(e){return yp(decodeURIComponent(e))}U.unescapeFragment=gw;function yw(e){return encodeURIComponent(js(e))}U.escapeFragment=yw;function js(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}U.escapeJsonPointer=js;function yp(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}U.unescapeJsonPointer=yp;function hw(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}U.eachItem=hw;function up({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(i,o,a,s)=>{let c=a===void 0?o:a instanceof oe.Name?(o instanceof oe.Name?e(i,o,a):t(i,o,a),a):o instanceof oe.Name?(t(i,a,o),o):r(o,a);return s===oe.Name&&!(c instanceof oe.Name)?n(i,c):c}}U.mergeEvaluated={props:up({mergeNames:(e,t,r)=>e.if((0,oe._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,oe._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,oe._)`${r} || {}`).code((0,oe._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,oe._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,oe._)`${r} || {}`),Cs(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:hp}),items:up({mergeNames:(e,t,r)=>e.if((0,oe._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,oe._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,oe._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,oe._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function hp(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,oe._)`{}`);return t!==void 0&&Cs(e,r,t),r}U.evaluatedPropsToName=hp;function Cs(e,t,r){Object.keys(r).forEach(n=>e.assign((0,oe._)`${t}${(0,oe.getProperty)(n)}`,!0))}U.setEvaluated=Cs;var fp={};function ww(e,t){return e.scopeValue("func",{ref:t,code:fp[t.code]||(fp[t.code]=new dw._Code(t.code))})}U.useFunc=ww;var Ds;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Ds||(U.Type=Ds={}));function Iw(e,t,r){if(e instanceof oe.Name){let n=t===Ds.Num;return r?n?(0,oe._)`"[" + ${e} + "]"`:(0,oe._)`"['" + ${e} + "']"`:n?(0,oe._)`"/" + ${e}`:(0,oe._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,oe.getProperty)(e).toString():"/"+js(e)}U.getErrorPath=Iw;function wp(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}U.checkStrictMode=wp});var st=E($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var xe=x(),vw={data:new xe.Name("data"),valCxt:new xe.Name("valCxt"),instancePath:new xe.Name("instancePath"),parentData:new xe.Name("parentData"),parentDataProperty:new xe.Name("parentDataProperty"),rootData:new xe.Name("rootData"),dynamicAnchors:new xe.Name("dynamicAnchors"),vErrors:new xe.Name("vErrors"),errors:new xe.Name("errors"),this:new xe.Name("this"),self:new xe.Name("self"),scope:new xe.Name("scope"),json:new xe.Name("json"),jsonPos:new xe.Name("jsonPos"),jsonLen:new xe.Name("jsonLen"),jsonPart:new xe.Name("jsonPart")};$s.default=vw});var Yn=E(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.extendErrors=Ve.resetErrorsCount=Ve.reportExtraError=Ve.reportError=Ve.keyword$DataError=Ve.keywordError=void 0;var J=x(),yo=q(),Be=st();Ve.keywordError={message:({keyword:e})=>(0,J.str)`must pass "${e}" keyword validation`};Ve.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,J.str)`"${e}" keyword must be ${t} ($data)`:(0,J.str)`"${e}" keyword is invalid ($data)`};function bw(e,t=Ve.keywordError,r,n){let{it:i}=e,{gen:o,compositeRule:a,allErrors:s}=i,c=bp(e,t,r);n??(a||s)?Ip(o,c):vp(i,(0,J._)`[${c}]`)}Ve.reportError=bw;function kw(e,t=Ve.keywordError,r){let{it:n}=e,{gen:i,compositeRule:o,allErrors:a}=n,s=bp(e,t,r);Ip(i,s),o||a||vp(n,Be.default.vErrors)}Ve.reportExtraError=kw;function _w(e,t){e.assign(Be.default.errors,t),e.if((0,J._)`${Be.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,J._)`${Be.default.vErrors}.length`,t),()=>e.assign(Be.default.vErrors,null)))}Ve.resetErrorsCount=_w;function Aw({gen:e,keyword:t,schemaValue:r,data:n,errsCount:i,it:o}){if(i===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",i,Be.default.errors,s=>{e.const(a,(0,J._)`${Be.default.vErrors}[${s}]`),e.if((0,J._)`${a}.instancePath === undefined`,()=>e.assign((0,J._)`${a}.instancePath`,(0,J.strConcat)(Be.default.instancePath,o.errorPath))),e.assign((0,J._)`${a}.schemaPath`,(0,J.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0,J._)`${a}.schema`,r),e.assign((0,J._)`${a}.data`,n))})}Ve.extendErrors=Aw;function Ip(e,t){let r=e.const("err",t);e.if((0,J._)`${Be.default.vErrors} === null`,()=>e.assign(Be.default.vErrors,(0,J._)`[${r}]`),(0,J._)`${Be.default.vErrors}.push(${r})`),e.code((0,J._)`${Be.default.errors}++`)}function vp(e,t){let{gen:r,validateName:n,schemaEnv:i}=e;i.$async?r.throw((0,J._)`new ${e.ValidationError}(${t})`):(r.assign((0,J._)`${n}.errors`,t),r.return(!1))}var _r={keyword:new J.Name("keyword"),schemaPath:new J.Name("schemaPath"),params:new J.Name("params"),propertyName:new J.Name("propertyName"),message:new J.Name("message"),schema:new J.Name("schema"),parentSchema:new J.Name("parentSchema")};function bp(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,J._)`{}`:Rw(e,t,r)}function Rw(e,t,r={}){let{gen:n,it:i}=e,o=[Ew(i,r),Pw(e,r)];return Nw(e,t,o),n.object(...o)}function Ew({errorPath:e},{instancePath:t}){let r=t?(0,J.str)`${e}${(0,yo.getErrorPath)(t,yo.Type.Str)}`:e;return[Be.default.instancePath,(0,J.strConcat)(Be.default.instancePath,r)]}function Pw({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let i=n?t:(0,J.str)`${t}/${e}`;return r&&(i=(0,J.str)`${i}${(0,yo.getErrorPath)(r,yo.Type.Str)}`),[_r.schemaPath,i]}function Nw(e,{params:t,message:r},n){let{keyword:i,data:o,schemaValue:a,it:s}=e,{opts:c,propertyName:l,topSchemaRef:d,schemaPath:p}=s;n.push([_r.keyword,i],[_r.params,typeof t=="function"?t(e):t||(0,J._)`{}`]),c.messages&&n.push([_r.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([_r.schema,a],[_r.parentSchema,(0,J._)`${d}${p}`],[Be.default.data,o]),l&&n.push([_r.propertyName,l])}});var _p=E(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.boolOrEmptySchema=sn.topBoolOrEmptySchema=void 0;var Ow=Yn(),Sw=x(),Dw=st(),jw={message:"boolean schema is false"};function Cw(e){let{gen:t,schema:r,validateName:n}=e;r===!1?kp(e,!1):typeof r=="object"&&r.$async===!0?t.return(Dw.default.data):(t.assign((0,Sw._)`${n}.errors`,null),t.return(!0))}sn.topBoolOrEmptySchema=Cw;function $w(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),kp(e)):r.var(t,!0)}sn.boolOrEmptySchema=$w;function kp(e,t){let{gen:r,data:n}=e,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Ow.reportError)(i,jw,void 0,t)}});var Ts=E(cn=>{"use strict";Object.defineProperty(cn,"__esModule",{value:!0});cn.getRules=cn.isJSONType=void 0;var Tw=["string","number","integer","boolean","null","object","array"],Lw=new Set(Tw);function xw(e){return typeof e=="string"&&Lw.has(e)}cn.isJSONType=xw;function Vw(){let 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:{}}}cn.getRules=Vw});var Ls=E(Zt=>{"use strict";Object.defineProperty(Zt,"__esModule",{value:!0});Zt.shouldUseRule=Zt.shouldUseGroup=Zt.schemaHasRulesForType=void 0;function Mw({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&Ap(e,n)}Zt.schemaHasRulesForType=Mw;function Ap(e,t){return t.rules.some(r=>Rp(e,r))}Zt.shouldUseGroup=Ap;function Rp(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}Zt.shouldUseRule=Rp});var Hn=E(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.reportTypeError=Me.checkDataTypes=Me.checkDataType=Me.coerceAndCheckDataType=Me.getJSONTypes=Me.getSchemaTypes=Me.DataType=void 0;var Fw=Ts(),Uw=Ls(),qw=Yn(),V=x(),Ep=q(),ln;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(ln||(Me.DataType=ln={}));function Bw(e){let t=Pp(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}Me.getSchemaTypes=Bw;function Pp(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Fw.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Me.getJSONTypes=Pp;function zw(e,t){let{gen:r,data:n,opts:i}=e,o=Gw(t,i.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0,Uw.schemaHasRulesForType)(e,t[0]));if(a){let s=Vs(t,n,i.strictNumbers,ln.Wrong);r.if(s,()=>{o.length?Jw(e,t,o):Ms(e)})}return a}Me.coerceAndCheckDataType=zw;var Np=new Set(["string","number","integer","boolean","null"]);function Gw(e,t){return t?e.filter(r=>Np.has(r)||t==="array"&&r==="array"):[]}function Jw(e,t,r){let{gen:n,data:i,opts:o}=e,a=n.let("dataType",(0,V._)`typeof ${i}`),s=n.let("coerced",(0,V._)`undefined`);o.coerceTypes==="array"&&n.if((0,V._)`${a} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,V._)`${i}[0]`).assign(a,(0,V._)`typeof ${i}`).if(Vs(t,i,o.strictNumbers),()=>n.assign(s,i))),n.if((0,V._)`${s} !== undefined`);for(let l of r)(Np.has(l)||l==="array"&&o.coerceTypes==="array")&&c(l);n.else(),Ms(e),n.endIf(),n.if((0,V._)`${s} !== undefined`,()=>{n.assign(i,s),Ww(e,s)});function c(l){switch(l){case"string":n.elseIf((0,V._)`${a} == "number" || ${a} == "boolean"`).assign(s,(0,V._)`"" + ${i}`).elseIf((0,V._)`${i} === null`).assign(s,(0,V._)`""`);return;case"number":n.elseIf((0,V._)`${a} == "boolean" || ${i} === null
3
3
  || (${a} == "string" && ${i} && ${i} == +${i})`).assign(s,(0,V._)`+${i}`);return;case"integer":n.elseIf((0,V._)`${a} === "boolean" || ${i} === null
4
4
  || (${a} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(s,(0,V._)`+${i}`);return;case"boolean":n.elseIf((0,V._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(s,!1).elseIf((0,V._)`${i} === "true" || ${i} === 1`).assign(s,!0);return;case"null":n.elseIf((0,V._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(s,null);return;case"array":n.elseIf((0,V._)`${a} === "string" || ${a} === "number"
5
- || ${a} === "boolean" || ${i} === null`).assign(s,(0,V._)`[${i}]`)}}}function Ww({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,V._)`${t} !== undefined`,()=>e.assign((0,V._)`${t}[${r}]`,n))}function xs(e,t,r,n=ln.Correct){let i=n===ln.Correct?V.operators.EQ:V.operators.NEQ,o;switch(e){case"null":return(0,V._)`${t} ${i} null`;case"array":o=(0,V._)`Array.isArray(${t})`;break;case"object":o=(0,V._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=a((0,V._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=a();break;default:return(0,V._)`typeof ${t} ${i} ${e}`}return n===ln.Correct?o:(0,V.not)(o);function a(s=V.nil){return(0,V.and)((0,V._)`typeof ${t} == "number"`,s,r?(0,V._)`isFinite(${t})`:V.nil)}}Me.checkDataType=xs;function Vs(e,t,r,n){if(e.length===1)return xs(e[0],t,r,n);let i,o=(0,Ep.toHash)(e);if(o.array&&o.object){let a=(0,V._)`typeof ${t} != "object"`;i=o.null?a:(0,V._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object}else i=V.nil;o.number&&delete o.integer;for(let a in o)i=(0,V.and)(i,xs(a,t,r,n));return i}Me.checkDataTypes=Vs;var Kw={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,V._)`{type: ${e}}`:(0,V._)`{type: ${t}}`};function Ms(e){let t=Yw(e);(0,qw.reportError)(t,Kw)}Me.reportTypeError=Ms;function Yw(e){let{gen:t,data:r,schema:n}=e,i=(0,Ep.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var Sp=E(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.assignDefaults=void 0;var dn=x(),Hw=q();function Xw(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)Op(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,o)=>Op(e,o,i.default))}ho.assignDefaults=Xw;function Op(e,t,r){let{gen:n,compositeRule:i,data:o,opts:a}=e;if(r===void 0)return;let s=(0,dn._)`${o}${(0,dn.getProperty)(t)}`;if(i){(0,Hw.checkStrictMode)(e,`default is ignored for: ${s}`);return}let c=(0,dn._)`${s} === undefined`;a.useDefaults==="empty"&&(c=(0,dn._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,dn._)`${s} = ${(0,dn.stringify)(r)}`)}});var ct=E(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var fe=x(),Fs=q(),Qt=st(),Zw=q();function Qw(e,t){let{gen:r,data:n,it:i}=e;r.if(qs(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,fe._)`${t}`},!0),e.error()})}ne.checkReportMissingProp=Qw;function eI({gen:e,data:t,it:{opts:r}},n,i){return(0,fe.or)(...n.map(o=>(0,fe.and)(qs(e,t,o,r.ownProperties),(0,fe._)`${i} = ${o}`)))}ne.checkMissingProp=eI;function tI(e,t){e.setParams({missingProperty:t},!0),e.error()}ne.reportMissingProp=tI;function Dp(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=Dp;function Us(e,t,r){return(0,fe._)`${Dp(e)}.call(${t}, ${r})`}ne.isOwnProperty=Us;function rI(e,t,r,n){let i=(0,fe._)`${t}${(0,fe.getProperty)(r)} !== undefined`;return n?(0,fe._)`${i} && ${Us(e,t,r)}`:i}ne.propertyInData=rI;function qs(e,t,r,n){let i=(0,fe._)`${t}${(0,fe.getProperty)(r)} === undefined`;return n?(0,fe.or)(i,(0,fe.not)(Us(e,t,r))):i}ne.noPropertyInData=qs;function jp(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}ne.allSchemaProperties=jp;function nI(e,t){return jp(t).filter(r=>!(0,Fs.alwaysValidSchema)(e,t[r]))}ne.schemaProperties=nI;function iI({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:o},it:a},s,c,l){let d=l?(0,fe._)`${e}, ${t}, ${n}${i}`:t,p=[[Qt.default.instancePath,(0,fe.strConcat)(Qt.default.instancePath,o)],[Qt.default.parentData,a.parentData],[Qt.default.parentDataProperty,a.parentDataProperty],[Qt.default.rootData,Qt.default.rootData]];a.opts.dynamicRef&&p.push([Qt.default.dynamicAnchors,Qt.default.dynamicAnchors]);let f=(0,fe._)`${d}, ${r.object(...p)}`;return c!==fe.nil?(0,fe._)`${s}.call(${c}, ${f})`:(0,fe._)`${s}(${f})`}ne.callValidateCode=iI;var oI=(0,fe._)`new RegExp`;function aI({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,o=i(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,fe._)`${i.code==="new RegExp"?oI:(0,Zw.useFunc)(e,i)}(${r}, ${n})`})}ne.usePattern=aI;function sI(e){let{gen:t,data:r,keyword:n,it:i}=e,o=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return a(()=>t.assign(s,!1)),s}return t.var(o,!0),a(()=>t.break()),o;function a(s){let c=t.const("len",(0,fe._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:Fs.Type.Num},o),t.if((0,fe.not)(o),s)})}}ne.validateArray=sI;function cI(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Fs.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let a=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let d=e.subschema({keyword:n,schemaProp:l,compositeRule:!0},s);t.assign(a,(0,fe._)`${a} || ${s}`),e.mergeValidEvaluated(d,s)||t.if((0,fe.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}ne.validateUnion=cI});var Tp=E(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.validateKeywordUsage=St.validSchemaType=St.funcKeywordCode=St.macroKeywordCode=void 0;var ze=x(),Ar=st(),lI=ct(),dI=Yn();function pI(e,t){let{gen:r,keyword:n,schema:i,parentSchema:o,it:a}=e,s=t.macro.call(a.self,i,o,a),c=$p(r,n,s);a.opts.validateSchema!==!1&&a.self.validateSchema(s,!0);let l=r.name("valid");e.subschema({schema:s,schemaPath:ze.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}St.macroKeywordCode=pI;function uI(e,t){var r;let{gen:n,keyword:i,schema:o,parentSchema:a,$data:s,it:c}=e;mI(c,t);let l=!s&&t.compile?t.compile.call(c.self,o,a,c):t.validate,d=$p(n,i,l),p=n.let("valid");e.block$data(p,f),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function f(){if(t.errors===!1)g(),t.modifying&&Cp(e),y(()=>e.error());else{let w=t.async?u():m();t.modifying&&Cp(e),y(()=>fI(e,w))}}function u(){let w=n.let("ruleErrs",null);return n.try(()=>g((0,ze._)`await `),A=>n.assign(p,!1).if((0,ze._)`${A} instanceof ${c.ValidationError}`,()=>n.assign(w,(0,ze._)`${A}.errors`),()=>n.throw(A))),w}function m(){let w=(0,ze._)`${d}.errors`;return n.assign(w,null),g(ze.nil),w}function g(w=t.async?(0,ze._)`await `:ze.nil){let A=c.opts.passContext?Ar.default.this:Ar.default.self,b=!("compile"in t&&!s||t.schema===!1);n.assign(p,(0,ze._)`${w}${(0,lI.callValidateCode)(e,d,A,b)}`,t.modifying)}function y(w){var A;n.if((0,ze.not)((A=t.valid)!==null&&A!==void 0?A:p),w)}}St.funcKeywordCode=uI;function Cp(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,ze._)`${n.parentData}[${n.parentDataProperty}]`))}function fI(e,t){let{gen:r}=e;r.if((0,ze._)`Array.isArray(${t})`,()=>{r.assign(Ar.default.vErrors,(0,ze._)`${Ar.default.vErrors} === null ? ${t} : ${Ar.default.vErrors}.concat(${t})`).assign(Ar.default.errors,(0,ze._)`${Ar.default.vErrors}.length`),(0,dI.extendErrors)(e)},()=>e.error())}function mI({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function $p(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ze.stringify)(r)})}function gI(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}St.validSchemaType=gI;function yI({schema:e,opts:t,self:r,errSchemaPath:n},i,o){if(Array.isArray(i.keyword)?!i.keyword.includes(o):i.keyword!==o)throw new Error("ajv implementation error");let a=i.dependencies;if(a?.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[o])){let c=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}St.validateKeywordUsage=yI});var xp=E(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.extendSubschemaMode=er.extendSubschemaData=er.getSubschema=void 0;var Dt=x(),Lp=q();function hI(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,Dt._)`${e.schemaPath}${(0,Dt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Dt._)`${e.schemaPath}${(0,Dt.getProperty)(t)}${(0,Dt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,Lp.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}er.getSubschema=hI;function wI(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:o,propertyName:a}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:l,dataPathArr:d,opts:p}=t,f=s.let("data",(0,Dt._)`${t.data}${(0,Dt.getProperty)(r)}`,!0);c(f),e.errorPath=(0,Dt.str)`${l}${(0,Lp.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0,Dt._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty]}if(i!==void 0){let l=i instanceof Dt.Name?i:s.let("data",i,!0);c(l),a!==void 0&&(e.propertyName=a)}o&&(e.dataTypes=o);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}er.extendSubschemaData=wI;function II(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:o}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r}er.extendSubschemaMode=II});var Bs=E((NO,Vp)=>{"use strict";Vp.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;i--!==0;){var a=o[i];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var Fp=E((OO,Mp)=>{"use strict";var tr=Mp.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};wo(t,n,i,e,"",e)};tr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};tr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};tr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};tr.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 wo(e,t,r,n,i,o,a,s,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,o,a,s,c,l);for(var d in n){var p=n[d];if(Array.isArray(p)){if(d in tr.arrayKeywords)for(var f=0;f<p.length;f++)wo(e,t,r,p[f],i+"/"+d+"/"+f,o,i,d,n,f)}else if(d in tr.propsKeywords){if(p&&typeof p=="object")for(var u in p)wo(e,t,r,p[u],i+"/"+d+"/"+vI(u),o,i,d,n,u)}else(d in tr.keywords||e.allKeys&&!(d in tr.skipKeywords))&&wo(e,t,r,p,i+"/"+d,o,i,d,n)}r(n,i,o,a,s,c,l)}}function vI(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Xn=E(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.getSchemaRefs=He.resolveUrl=He.normalizeId=He._getFullPath=He.getFullPath=He.inlineRef=void 0;var bI=q(),kI=Bs(),_I=Fp(),AI=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function RI(e,t=!0){return typeof e=="boolean"?!0:t===!0?!zs(e):t?Up(e)<=t:!1}He.inlineRef=RI;var EI=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function zs(e){for(let t in e){if(EI.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(zs)||typeof r=="object"&&zs(r))return!0}return!1}function Up(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!AI.has(r)&&(typeof e[r]=="object"&&(0,bI.eachItem)(e[r],n=>t+=Up(n)),t===1/0))return 1/0}return t}function qp(e,t="",r){r!==!1&&(t=pn(t));let n=e.parse(t);return Bp(e,n)}He.getFullPath=qp;function Bp(e,t){return e.serialize(t).split("#")[0]+"#"}He._getFullPath=Bp;var PI=/#\/?$/;function pn(e){return e?e.replace(PI,""):""}He.normalizeId=pn;function NI(e,t,r){return r=pn(r),e.resolve(t,r)}He.resolveUrl=NI;var OI=/^[a-z_][-a-z0-9._]*$/i;function SI(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=pn(e[r]||t),o={"":i},a=qp(n,i,!1),s={},c=new Set;return _I(e,{allKeys:!0},(p,f,u,m)=>{if(m===void 0)return;let g=a+f,y=o[m];typeof p[r]=="string"&&(y=w.call(this,p[r])),A.call(this,p.$anchor),A.call(this,p.$dynamicAnchor),o[f]=y;function w(b){let R=this.opts.uriResolver.resolve;if(b=pn(y?R(y,b):b),c.has(b))throw d(b);c.add(b);let I=this.refs[b];return typeof I=="string"&&(I=this.refs[I]),typeof I=="object"?l(p,I.schema,b):b!==pn(g)&&(b[0]==="#"?(l(p,s[b],b),s[b]=p):this.refs[b]=g),b}function A(b){if(typeof b=="string"){if(!OI.test(b))throw new Error(`invalid anchor "${b}"`);w.call(this,`#${b}`)}}}),s;function l(p,f,u){if(f!==void 0&&!kI(p,f))throw d(u)}function d(p){return new Error(`reference "${p}" resolves to more than one schema`)}}He.getSchemaRefs=SI});var ei=E(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.getData=rr.KeywordCxt=rr.validateFunctionCode=void 0;var Kp=_p(),zp=Hn(),Js=Ls(),Io=Hn(),DI=Sp(),Qn=Tp(),Gs=xp(),O=x(),L=st(),jI=Xn(),Mt=q(),Zn=Yn();function CI(e){if(Xp(e)&&(Zp(e),Hp(e))){LI(e);return}Yp(e,()=>(0,Kp.topBoolOrEmptySchema)(e))}rr.validateFunctionCode=CI;function Yp({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},o){i.code.es5?e.func(t,(0,O._)`${L.default.data}, ${L.default.valCxt}`,n.$async,()=>{e.code((0,O._)`"use strict"; ${Gp(r,i)}`),TI(e,i),e.code(o)}):e.func(t,(0,O._)`${L.default.data}, ${$I(i)}`,n.$async,()=>e.code(Gp(r,i)).code(o))}function $I(e){return(0,O._)`{${L.default.instancePath}="", ${L.default.parentData}, ${L.default.parentDataProperty}, ${L.default.rootData}=${L.default.data}${e.dynamicRef?(0,O._)`, ${L.default.dynamicAnchors}={}`:O.nil}}={}`}function TI(e,t){e.if(L.default.valCxt,()=>{e.var(L.default.instancePath,(0,O._)`${L.default.valCxt}.${L.default.instancePath}`),e.var(L.default.parentData,(0,O._)`${L.default.valCxt}.${L.default.parentData}`),e.var(L.default.parentDataProperty,(0,O._)`${L.default.valCxt}.${L.default.parentDataProperty}`),e.var(L.default.rootData,(0,O._)`${L.default.valCxt}.${L.default.rootData}`),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0,O._)`${L.default.valCxt}.${L.default.dynamicAnchors}`)},()=>{e.var(L.default.instancePath,(0,O._)`""`),e.var(L.default.parentData,(0,O._)`undefined`),e.var(L.default.parentDataProperty,(0,O._)`undefined`),e.var(L.default.rootData,L.default.data),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0,O._)`{}`)})}function LI(e){let{schema:t,opts:r,gen:n}=e;Yp(e,()=>{r.$comment&&t.$comment&&eu(e),UI(e),n.let(L.default.vErrors,null),n.let(L.default.errors,0),r.unevaluated&&xI(e),Qp(e),zI(e)})}function xI(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,O._)`${r}.evaluated`),t.if((0,O._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,O._)`${e.evaluated}.props`,(0,O._)`undefined`)),t.if((0,O._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,O._)`${e.evaluated}.items`,(0,O._)`undefined`))}function Gp(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function VI(e,t){if(Xp(e)&&(Zp(e),Hp(e))){MI(e,t);return}(0,Kp.boolOrEmptySchema)(e,t)}function Hp({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Xp(e){return typeof e.schema!="boolean"}function MI(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&eu(e),qI(e),BI(e);let o=n.const("_errs",L.default.errors);Qp(e,o),n.var(t,(0,O._)`${o} === ${L.default.errors}`)}function Zp(e){(0,Mt.checkUnknownRules)(e),FI(e)}function Qp(e,t){if(e.opts.jtd)return Jp(e,[],!1,t);let r=(0,zp.getSchemaTypes)(e.schema),n=(0,zp.coerceAndCheckDataType)(e,r);Jp(e,r,!n,t)}function FI(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Mt.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function UI(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Mt.checkStrictMode)(e,"default is ignored in the schema root")}function qI(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,jI.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function BI(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function eu({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let o=r.$comment;if(i.$comment===!0)e.code((0,O._)`${L.default.self}.logger.log(${o})`);else if(typeof i.$comment=="function"){let a=(0,O.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,O._)`${L.default.self}.opts.$comment(${o}, ${a}, ${s}.schema)`)}}function zI(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:o}=e;r.$async?t.if((0,O._)`${L.default.errors} === 0`,()=>t.return(L.default.data),()=>t.throw((0,O._)`new ${i}(${L.default.vErrors})`)):(t.assign((0,O._)`${n}.errors`,L.default.vErrors),o.unevaluated&&GI(e),t.return((0,O._)`${L.default.errors} === 0`))}function GI({gen:e,evaluated:t,props:r,items:n}){r instanceof O.Name&&e.assign((0,O._)`${t}.props`,r),n instanceof O.Name&&e.assign((0,O._)`${t}.items`,n)}function Jp(e,t,r,n){let{gen:i,schema:o,data:a,allErrors:s,opts:c,self:l}=e,{RULES:d}=l;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0,Mt.schemaHasRulesButRef)(o,d))){i.block(()=>ru(e,"$ref",d.all.$ref.definition));return}c.jtd||JI(e,t),i.block(()=>{for(let f of d.rules)p(f);p(d.post)});function p(f){(0,Js.shouldUseGroup)(o,f)&&(f.type?(i.if((0,Io.checkDataType)(f.type,a,c.strictNumbers)),Wp(e,f),t.length===1&&t[0]===f.type&&r&&(i.else(),(0,Io.reportTypeError)(e)),i.endIf()):Wp(e,f),s||i.if((0,O._)`${L.default.errors} === ${n||0}`))}}function Wp(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,DI.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0,Js.shouldUseRule)(n,o)&&ru(e,o.keyword,o.definition,t.type)})}function JI(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(WI(e,t),e.opts.allowUnionTypes||KI(e,t),YI(e,e.dataTypes))}function WI(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{tu(e.dataTypes,r)||Ws(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),XI(e,t)}}function KI(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Ws(e,"use allowUnionTypes to allow union type keyword")}function YI(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,Js.shouldUseRule)(e.schema,i)){let{type:o}=i.definition;o.length&&!o.some(a=>HI(t,a))&&Ws(e,`missing type "${o.join(",")}" for keyword "${n}"`)}}}function HI(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function tu(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function XI(e,t){let r=[];for(let n of e.dataTypes)tu(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function Ws(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Mt.checkStrictMode)(e,t,e.opts.strictTypes)}var vo=class{constructor(t,r,n){if((0,Qn.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Mt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",nu(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Qn.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",L.default.errors))}result(t,r,n){this.failResult((0,O.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,O.not)(t),void 0,r)}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);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Zn.reportExtraError:Zn.reportError)(this,this.def.error,r)}$dataError(){(0,Zn.reportError)(this,this.def.$dataError||Zn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Zn.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=O.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=O.nil,r=O.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:o,def:a}=this;n.if((0,O.or)((0,O._)`${i} === undefined`,r)),t!==O.nil&&n.assign(t,!0),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==O.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:o}=this;return(0,O.or)(a(),s());function a(){if(n.length){if(!(r instanceof O.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,O._)`${(0,Io.checkDataTypes)(c,r,o.opts.strictNumbers,Io.DataType.Wrong)}`}return O.nil}function s(){if(i.validateSchema){let c=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(t,r){let n=(0,Gs.getSubschema)(this.it,t);(0,Gs.extendSubschemaData)(n,this.it,t),(0,Gs.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return VI(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Mt.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Mt.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,O.Name)),!0}};rr.KeywordCxt=vo;function ru(e,t,r,n){let i=new vo(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Qn.funcKeywordCode)(i,r):"macro"in r?(0,Qn.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Qn.funcKeywordCode)(i,r)}var ZI=/^\/(?:[^~]|~0|~1)*$/,QI=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function nu(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,o;if(e==="")return L.default.rootData;if(e[0]==="/"){if(!ZI.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,o=L.default.rootData}else{let l=QI.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+l[1];if(i=l[2],i==="#"){if(d>=t)throw new Error(c("property/index",d));return n[t-d]}if(d>t)throw new Error(c("data",d));if(o=r[t-d],!i)return o}let a=o,s=i.split("/");for(let l of s)l&&(o=(0,O._)`${o}${(0,O.getProperty)((0,Mt.unescapeJsonPointer)(l))}`,a=(0,O._)`${a} && ${o}`);return a;function c(l,d){return`Cannot access ${l} ${d} levels up, current level is ${t}`}}rr.getData=nu});var bo=E(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});var Ks=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Ys.default=Ks});var ti=E(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});var Hs=Xn(),Xs=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Hs.resolveUrl)(t,r,n),this.missingSchema=(0,Hs.normalizeId)((0,Hs.getFullPath)(t,this.missingRef))}};Zs.default=Xs});var ri=E(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.resolveSchema=lt.getCompilingSchema=lt.resolveRef=lt.compileSchema=lt.SchemaEnv=void 0;var It=x(),ev=bo(),Rr=st(),vt=Xn(),iu=q(),tv=ei(),un=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,vt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};lt.SchemaEnv=un;function ec(e){let t=ou.call(this,e);if(t)return t;let r=(0,vt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:o}=this.opts,a=new It.CodeGen(this.scope,{es5:n,lines:i,ownProperties:o}),s;e.$async&&(s=a.scopeValue("Error",{ref:ev.default,code:(0,It._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let l={gen:a,allErrors:this.opts.allErrors,data:Rr.default.data,parentData:Rr.default.parentData,parentDataProperty:Rr.default.parentDataProperty,dataNames:[Rr.default.data],dataPathArr:[It.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,It.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:It.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,It._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,tv.validateFunctionCode)(l),a.optimize(this.opts.code.optimize);let p=a.toString();d=`${a.scopeRefs(Rr.default.scope)}return ${p}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let u=new Function(`${Rr.default.self}`,`${Rr.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:u}),u.errors=null,u.schema=e.schema,u.schemaEnv=e,e.$async&&(u.$async=!0),this.opts.code.source===!0&&(u.source={validateName:c,validateCode:p,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:g}=l;u.evaluated={props:m instanceof It.Name?void 0:m,items:g instanceof It.Name?void 0:g,dynamicProps:m instanceof It.Name,dynamicItems:g instanceof It.Name},u.source&&(u.source.evaluated=(0,It.stringify)(u.evaluated))}return e.validate=u,e}catch(p){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),p}finally{this._compilations.delete(e)}}lt.compileSchema=ec;function rv(e,t,r){var n;r=(0,vt.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let o=ov.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;a&&(o=new un({schema:a,schemaId:s,root:e,baseId:t}))}if(o!==void 0)return e.refs[r]=nv.call(this,o)}lt.resolveRef=rv;function nv(e){return(0,vt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ec.call(this,e)}function ou(e){for(let t of this._compilations)if(iv(t,e))return t}lt.getCompilingSchema=ou;function iv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function ov(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ko.call(this,e,t)}function ko(e,t){let r=this.opts.uriResolver.parse(t),n=(0,vt._getFullPath)(this.opts.uriResolver,r),i=(0,vt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return Qs.call(this,r,e);let o=(0,vt.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let s=ko.call(this,e,a);return typeof s?.schema!="object"?void 0:Qs.call(this,r,s)}if(typeof a?.schema=="object"){if(a.validate||ec.call(this,a),o===(0,vt.normalizeId)(t)){let{schema:s}=a,{schemaId:c}=this.opts,l=s[c];return l&&(i=(0,vt.resolveUrl)(this.opts.uriResolver,i,l)),new un({schema:s,schemaId:c,root:e,baseId:i})}return Qs.call(this,r,a)}}lt.resolveSchema=ko;var av=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Qs(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,iu.unescapeFragment)(s)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!av.has(s)&&l&&(t=(0,vt.resolveUrl)(this.opts.uriResolver,t,l))}let o;if(typeof r!="boolean"&&r.$ref&&!(0,iu.schemaHasRulesButRef)(r,this.RULES)){let s=(0,vt.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=ko.call(this,n,s)}let{schemaId:a}=this.opts;if(o=o||new un({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var au=E((TO,sv)=>{sv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var nc=E((LO,uu)=>{"use strict";var cv=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),cu=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),tc=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),lu=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),lv=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function rc(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var dv=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function su(e){return e.length=0,!0}function pv(e,t,r){if(e.length){let n=rc(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function uv(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],o=!1,a=!1,s=pv;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(o===!0&&(a=!0),!s(i,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(o=!0),n.push(":");continue}else if(l==="%"){if(!s(i,n,r))break;s=su}else{i.push(l);continue}}return i.length&&(s===su?r.zone=i.join(""):a?n.push(i.join("")):n.push(rc(i))),r.address=n.join(""),r}function du(e){if(fv(e,":")<2)return{host:e,isIPV6:!1};let t=uv(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function fv(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function mv(e){let t=e,r=[],n=-1,i=0;for(;i=t.length;){if(i===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(i===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(i===3&&t==="/.."){r.length!==0&&r.pop(),r.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),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var gv={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},yv=/[@/?#:]/g,hv=/[@/?#]/g;function pu(e,t){let r=t?hv:yv;return r.lastIndex=0,e.replace(r,n=>gv[n])}function wv(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let i=e.slice(n+1,n+3);if(tc(i)){let o=i.toUpperCase(),a=String.fromCharCode(parseInt(o,16));t&&lu(a)?r+=a:r+="%"+o,n+=2;continue}}r+=e[n]}return r}function Iv(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(tc(n)){let i=n.toUpperCase(),o=String.fromCharCode(parseInt(i,16));o!=="."&&lu(o)?t+=o:t+="%"+i,r+=2;continue}}lv(e[r])?t+=e[r]:t+=escape(e[r])}return t}function vv(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(tc(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function bv(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!cu(r)){let n=du(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=pu(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}uu.exports={nonSimpleDomain:dv,recomposeAuthority:bv,reescapeHostDelimiters:pu,normalizePercentEncoding:wv,normalizePathEncoding:Iv,escapePreservingEscapes:vv,removeDotSegments:mv,isIPv4:cu,isUUID:cv,normalizeIPv6:du,stringArrayToHexStripped:rc}});var hu=E((xO,yu)=>{"use strict";var{isUUID:kv}=nc(),_v=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Av=["http","https","ws","wss","urn","urn:uuid"];function Rv(e){return Av.indexOf(e)!==-1}function ic(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 fu(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function mu(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Ev(e){return e.secure=ic(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Pv(e){if((e.port===(ic(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){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Nv(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(_v);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,o=oc(i);e.path=void 0,o&&(e=o.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Ov(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,o=oc(i);o&&(e=o.serialize(e,t));let a=e,s=e.nss;return a.path=`${n||t.nid}:${s}`,t.skipEscape=!0,a}function Sv(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!kv(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Dv(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var gu={scheme:"http",domainHost:!0,parse:fu,serialize:mu},jv={scheme:"https",domainHost:gu.domainHost,parse:fu,serialize:mu},_o={scheme:"ws",domainHost:!0,parse:Ev,serialize:Pv},Cv={scheme:"wss",domainHost:_o.domainHost,parse:_o.parse,serialize:_o.serialize},$v={scheme:"urn",parse:Nv,serialize:Ov,skipNormalize:!0},Tv={scheme:"urn:uuid",parse:Sv,serialize:Dv,skipNormalize:!0},Ao={http:gu,https:jv,ws:_o,wss:Cv,urn:$v,"urn:uuid":Tv};Object.setPrototypeOf(Ao,null);function oc(e){return e&&(Ao[e]||Ao[e.toLowerCase()])||void 0}yu.exports={wsIsSecure:ic,SCHEMES:Ao,isValidSchemeName:Rv,getSchemeHandler:oc}});var ku=E((VO,Po)=>{"use strict";var{normalizeIPv6:Lv,removeDotSegments:ni,recomposeAuthority:xv,normalizePercentEncoding:Vv,normalizePathEncoding:Mv,escapePreservingEscapes:Fv,reescapeHostDelimiters:Uv,isIPv4:qv,nonSimpleDomain:Bv}=nc(),{SCHEMES:zv,getSchemeHandler:Iu}=hu();function Gv(e,t){return typeof e=="string"?e=Zv(e,t):typeof e=="object"&&(e=Eo(Er(e,t),t)),e}function Jv(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},{parsed:i,malformedAuthorityOrPort:o}=Ro(e,n),{parsed:a,malformedAuthorityOrPort:s}=Ro(t,n);if(o||s)throw new Error(i.error||a.error||"URI is malformed.");let c=vu(i,a,n,!0);return n.skipEscape=!0,Er(c,n)}function vu(e,t,r,n){let i={};return n||(e=Eo(Er(e,r),r),t=Eo(Er(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=ni(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=ni(t.path||""),i.query=t.query):(t.path?(t.path[0]==="/"?i.path=ni(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=ni(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function Wv(e,t,r){let n=wu(e,r),i=wu(t,r);return n!==void 0&&i!==void 0&&n.toLowerCase()===i.toLowerCase()}function Er(e,t){let r={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:""},n=Object.assign({},t),i=[],o=Iu(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=Vv(r.path):(r.path=Fv(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let a=xv(r);if(a!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(a),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(s=ni(s)),a===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var Kv=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,Yv=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,Hv=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function Xv(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 Ro(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1,o=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let a=e.match(Yv);a!==null&&a[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",i=!0);let s=e.match(Hv);if(s!==null){let l=s[1],d=l.replace(/[\t\n\r]/g,"");d.length>=2&&(d.slice(0,2)!=="//"?(n.error=n.error||"URI authority must not contain a literal backslash.",i=!0):l.length!==d.length&&(n.error=n.error||"URI authority introducer must not contain whitespace.",i=!0))}let c=e.match(Kv);if(c){n.scheme=c[1],n.userinfo=c[3],n.host=c[4],n.port=parseInt(c[5],10),n.path=c[6]||"",n.query=c[7],n.fragment=c[8],isNaN(n.port)&&(n.port=c[5]);let l=Xv(n,c);if(l!==void 0&&(n.error=n.error||l,i=!0),n.host)if(qv(n.host)===!1){let f=Lv(n.host);n.host=f.host.toLowerCase(),o=f.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let d=Iu(r.scheme||n.scheme);if(!r.unicodeSupport&&(!d||!d.unicodeSupport)&&n.host&&(r.domainHost||d&&d.domainHost)&&o===!1&&Bv(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(p){n.error=n.error||"Host's domain name can not be converted to ASCII: "+p}if((!d||d&&!d.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=Uv(unescape(n.host),o))),n.path&&(n.path=Mv(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}d&&d.parse&&d.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:i}}function Eo(e,t){return Ro(e,t).parsed}function Zv(e,t){return bu(e,t).normalized}function bu(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Ro(e,t);return{normalized:n?e:Er(r,t),malformedAuthorityOrPort:n}}function wu(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=bu(e,t);return n?void 0:r}if(typeof e=="object")return Er(e,t)}var ac={SCHEMES:zv,normalize:Gv,resolve:Jv,resolveComponent:vu,equal:Wv,serialize:Er,parse:Eo};Po.exports=ac;Po.exports.default=ac;Po.exports.fastUri=ac});var Au=E(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var _u=ku();_u.code='require("ajv/dist/runtime/uri").default';sc.default=_u});var ju=E(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.CodeGen=Se.Name=Se.nil=Se.stringify=Se.str=Se._=Se.KeywordCxt=void 0;var Qv=ei();Object.defineProperty(Se,"KeywordCxt",{enumerable:!0,get:function(){return Qv.KeywordCxt}});var fn=x();Object.defineProperty(Se,"_",{enumerable:!0,get:function(){return fn._}});Object.defineProperty(Se,"str",{enumerable:!0,get:function(){return fn.str}});Object.defineProperty(Se,"stringify",{enumerable:!0,get:function(){return fn.stringify}});Object.defineProperty(Se,"nil",{enumerable:!0,get:function(){return fn.nil}});Object.defineProperty(Se,"Name",{enumerable:!0,get:function(){return fn.Name}});Object.defineProperty(Se,"CodeGen",{enumerable:!0,get:function(){return fn.CodeGen}});var eb=bo(),Ou=ti(),tb=Ts(),ii=ri(),rb=x(),oi=Xn(),No=Hn(),lc=q(),Ru=au(),nb=Au(),Su=(e,t)=>new RegExp(e,t);Su.code="new RegExp";var ib=["removeAdditional","useDefaults","coerceTypes"],ob=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ab={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."},sb={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Eu=200;function cb(e){var t,r,n,i,o,a,s,c,l,d,p,f,u,m,g,y,w,A,b,R,I,_,S,T,ue;let $=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,Z=P===!0||P===void 0?1:P||0,se=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Su,ot=(i=e.uriResolver)!==null&&i!==void 0?i:nb.default;return{strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:$)!==null&&a!==void 0?a:!0,strictNumbers:(c=(s=e.strictNumbers)!==null&&s!==void 0?s:$)!==null&&c!==void 0?c:!0,strictTypes:(d=(l=e.strictTypes)!==null&&l!==void 0?l:$)!==null&&d!==void 0?d:"log",strictTuples:(f=(p=e.strictTuples)!==null&&p!==void 0?p:$)!==null&&f!==void 0?f:"log",strictRequired:(m=(u=e.strictRequired)!==null&&u!==void 0?u:$)!==null&&m!==void 0?m:!1,code:e.code?{...e.code,optimize:Z,regExp:se}:{optimize:Z,regExp:se},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Eu,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:Eu,meta:(w=e.meta)!==null&&w!==void 0?w:!0,messages:(A=e.messages)!==null&&A!==void 0?A:!0,inlineRefs:(b=e.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(R=e.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(I=e.addUsedSchema)!==null&&I!==void 0?I:!0,validateSchema:(_=e.validateSchema)!==null&&_!==void 0?_:!0,validateFormats:(S=e.validateFormats)!==null&&S!==void 0?S:!0,unicodeRegExp:(T=e.unicodeRegExp)!==null&&T!==void 0?T:!0,int32range:(ue=e.int32range)!==null&&ue!==void 0?ue:!0,uriResolver:ot}}var ai=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...cb(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new rb.ValueScope({scope:{},prefixes:ob,es5:r,lines:n}),this.logger=mb(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,tb.getRules)(),Pu.call(this,ab,t,"NOT SUPPORTED"),Pu.call(this,sb,t,"DEPRECATED","warn"),this._metaOpts=ub.call(this),t.formats&&db.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&pb.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),lb.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=Ru;n==="id"&&(i={...Ru},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(d,p){await o.call(this,d.$schema);let f=this._addSchema(d,p);return f.validate||a.call(this,f)}async function o(d){d&&!this.getSchema(d)&&await i.call(this,{$ref:d},!0)}async function a(d){try{return this._compileSchemaEnv(d)}catch(p){if(!(p instanceof Ou.default))throw p;return s.call(this,p),await c.call(this,p.missingSchema),a.call(this,d)}}function s({missingSchema:d,missingRef:p}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${p} cannot be resolved`)}async function c(d){let p=await l.call(this,d);this.refs[d]||await o.call(this,p.$schema),this.refs[d]||this.addSchema(p,d,r)}async function l(d){let p=this._loading[d];if(p)return p;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,i);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0,oi.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return i}getSchema(t){let r;for(;typeof(r=Nu.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new ii.SchemaEnv({schema:{},schemaId:n});if(r=ii.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nu.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,oi.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(yb.call(this,n,r),!r)return(0,lc.eachItem)(n,o=>cc.call(this,o)),this;wb.call(this,r);let i={...r,type:(0,No.getJSONTypes)(r.type),schemaType:(0,No.getJSONTypes)(r.schemaType)};return(0,lc.eachItem)(n,i.type.length===0?o=>cc.call(this,o,i):o=>i.type.forEach(a=>cc.call(this,o,i,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(o=>o.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,o)=>i+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let o=i.split("/").slice(1),a=t;for(let s of o)a=a[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:l}=c.definition,d=a[s];l&&d&&(a[s]=Du(d))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof t=="object")a=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,oi.normalizeId)(a||n);let l=oi.getSchemaRefs.call(this,t,n);return c=new ii.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):ii.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{ii.compileSchema.call(this,t)}finally{this.opts=r}}};ai.ValidationError=eb.default;ai.MissingRefError=Ou.default;Se.default=ai;function Pu(e,t,r,n="error"){for(let i in e){let o=i;o in t&&this.logger[n](`${r}: option ${i}. ${e[o]}`)}}function Nu(e){return e=(0,oi.normalizeId)(e),this.schemas[e]||this.refs[e]}function lb(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function db(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function pb(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function ub(){let e={...this.opts};for(let t of ib)delete e[t];return e}var fb={log(){},warn(){},error(){}};function mb(e){if(e===!1)return fb;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var gb=/^[a-z_$][a-z0-9_$:-]*$/i;function yb(e,t){let{RULES:r}=this;if((0,lc.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!gb.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function cc(e,t,r){var n;let i=t?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=i?o.post:o.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,No.getJSONTypes)(t.type),schemaType:(0,No.getJSONTypes)(t.schemaType)}};t.before?hb.call(this,a,s,t.before):a.rules.push(s),o.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function hb(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function wb(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Du(t)),e.validateSchema=this.compile(t,!0))}var Ib={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Du(e){return{anyOf:[e,Ib]}}});var Cu=E(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var vb={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};dc.default=vb});var Do=E(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.callRef=Pr.getValidate=void 0;var bb=ti(),$u=ct(),Xe=x(),mn=st(),Tu=ri(),Oo=q(),kb={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:o,validateName:a,opts:s,self:c}=n,{root:l}=o;if((r==="#"||r==="#/")&&i===l.baseId)return p();let d=Tu.resolveRef.call(c,l,i,r);if(d===void 0)throw new bb.default(n.opts.uriResolver,i,r);if(d instanceof Tu.SchemaEnv)return f(d);return u(d);function p(){if(o===l)return So(e,a,o,o.$async);let m=t.scopeValue("root",{ref:l});return So(e,(0,Xe._)`${m}.validate`,l,l.$async)}function f(m){let g=Lu(e,m);So(e,g,m,m.$async)}function u(m){let g=t.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,Xe.stringify)(m)}:{ref:m}),y=t.name("valid"),w=e.subschema({schema:m,dataTypes:[],schemaPath:Xe.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(w),e.ok(y)}}};function Lu(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Xe._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Pr.getValidate=Lu;function So(e,t,r,n){let{gen:i,it:o}=e,{allErrors:a,schemaEnv:s,opts:c}=o,l=c.passContext?mn.default.this:Xe.nil;n?d():p();function d(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,Xe._)`await ${(0,$u.callValidateCode)(e,t,l)}`),u(t),a||i.assign(m,!0)},g=>{i.if((0,Xe._)`!(${g} instanceof ${o.ValidationError})`,()=>i.throw(g)),f(g),a||i.assign(m,!1)}),e.ok(m)}function p(){e.result((0,$u.callValidateCode)(e,t,l),()=>u(t),()=>f(t))}function f(m){let g=(0,Xe._)`${m}.errors`;i.assign(mn.default.vErrors,(0,Xe._)`${mn.default.vErrors} === null ? ${g} : ${mn.default.vErrors}.concat(${g})`),i.assign(mn.default.errors,(0,Xe._)`${mn.default.vErrors}.length`)}function u(m){var g;if(!o.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(o.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(o.props=Oo.mergeEvaluated.props(i,y.props,o.props));else{let w=i.var("props",(0,Xe._)`${m}.evaluated.props`);o.props=Oo.mergeEvaluated.props(i,w,o.props,Xe.Name)}if(o.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(o.items=Oo.mergeEvaluated.items(i,y.items,o.items));else{let w=i.var("items",(0,Xe._)`${m}.evaluated.items`);o.items=Oo.mergeEvaluated.items(i,w,o.items,Xe.Name)}}}Pr.callRef=So;Pr.default=kb});var xu=E(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var _b=Cu(),Ab=Do(),Rb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",_b.default,Ab.default];pc.default=Rb});var Vu=E(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var jo=x(),nr=jo.operators,Co={maximum:{okStr:"<=",ok:nr.LTE,fail:nr.GT},minimum:{okStr:">=",ok:nr.GTE,fail:nr.LT},exclusiveMaximum:{okStr:"<",ok:nr.LT,fail:nr.GTE},exclusiveMinimum:{okStr:">",ok:nr.GT,fail:nr.LTE}},Eb={message:({keyword:e,schemaCode:t})=>(0,jo.str)`must be ${Co[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,jo._)`{comparison: ${Co[e].okStr}, limit: ${t}}`},Pb={keyword:Object.keys(Co),type:"number",schemaType:"number",$data:!0,error:Eb,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,jo._)`${r} ${Co[t].fail} ${n} || isNaN(${r})`)}};uc.default=Pb});var Mu=E(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var si=x(),Nb={message:({schemaCode:e})=>(0,si.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,si._)`{multipleOf: ${e}}`},Ob={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Nb,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,o=i.opts.multipleOfPrecision,a=t.let("res"),s=o?(0,si._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0,si._)`${a} !== parseInt(${a})`;e.fail$data((0,si._)`(${n} === 0 || (${a} = ${r}/${n}, ${s}))`)}};fc.default=Ob});var Uu=E(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});function Fu(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}mc.default=Fu;Fu.code='require("ajv/dist/runtime/ucs2length").default'});var qu=E(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});var Nr=x(),Sb=q(),Db=Uu(),jb={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Nr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Nr._)`{limit: ${e}}`},Cb={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:jb,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,o=t==="maxLength"?Nr.operators.GT:Nr.operators.LT,a=i.opts.unicode===!1?(0,Nr._)`${r}.length`:(0,Nr._)`${(0,Sb.useFunc)(e.gen,Db.default)}(${r})`;e.fail$data((0,Nr._)`${a} ${o} ${n}`)}};gc.default=Cb});var Bu=E(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});var $b=ct(),Tb=q(),gn=x(),Lb={message:({schemaCode:e})=>(0,gn.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,gn._)`{pattern: ${e}}`},xb={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Lb,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:a}=e,s=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=a.opts.code,l=c.code==="new RegExp"?(0,gn._)`new RegExp`:(0,Tb.useFunc)(t,c),d=t.let("valid");t.try(()=>t.assign(d,(0,gn._)`${l}(${o}, ${s}).test(${r})`),()=>t.assign(d,!1)),e.fail$data((0,gn._)`!${d}`)}else{let c=(0,$b.usePattern)(e,i);e.fail$data((0,gn._)`!${c}.test(${r})`)}}};yc.default=xb});var zu=E(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});var ci=x(),Vb={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,ci.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,ci._)`{limit: ${e}}`},Mb={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Vb,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?ci.operators.GT:ci.operators.LT;e.fail$data((0,ci._)`Object.keys(${r}).length ${i} ${n}`)}};hc.default=Mb});var Gu=E(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});var li=ct(),di=x(),Fb=q(),Ub={message:({params:{missingProperty:e}})=>(0,di.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,di._)`{missingProperty: ${e}}`},qb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Ub,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:o,it:a}=e,{opts:s}=a;if(!o&&r.length===0)return;let c=r.length>=s.loopRequired;if(a.allErrors?l():d(),s.strictRequired){let u=e.parentSchema.properties,{definedProperties:m}=e.it;for(let g of r)if(u?.[g]===void 0&&!m.has(g)){let y=a.schemaEnv.baseId+a.errSchemaPath,w=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,Fb.checkStrictMode)(a,w,a.opts.strictRequired)}}function l(){if(c||o)e.block$data(di.nil,p);else for(let u of r)(0,li.checkReportMissingProp)(e,u)}function d(){let u=t.let("missing");if(c||o){let m=t.let("valid",!0);e.block$data(m,()=>f(u,m)),e.ok(m)}else t.if((0,li.checkMissingProp)(e,r,u)),(0,li.reportMissingProp)(e,u),t.else()}function p(){t.forOf("prop",n,u=>{e.setParams({missingProperty:u}),t.if((0,li.noPropertyInData)(t,i,u,s.ownProperties),()=>e.error())})}function f(u,m){e.setParams({missingProperty:u}),t.forOf(u,n,()=>{t.assign(m,(0,li.propertyInData)(t,i,u,s.ownProperties)),t.if((0,di.not)(m),()=>{e.error(),t.break()})},di.nil)}}};wc.default=qb});var Ju=E(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});var pi=x(),Bb={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,pi.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,pi._)`{limit: ${e}}`},zb={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Bb,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?pi.operators.GT:pi.operators.LT;e.fail$data((0,pi._)`${r}.length ${i} ${n}`)}};Ic.default=zb});var $o=E(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});var Wu=Bs();Wu.code='require("ajv/dist/runtime/equal").default';vc.default=Wu});var Ku=E(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});var bc=Hn(),De=x(),Gb=q(),Jb=$o(),Wb={message:({params:{i:e,j:t}})=>(0,De.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,De._)`{i: ${e}, j: ${t}}`},Kb={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Wb,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:o,schemaCode:a,it:s}=e;if(!n&&!i)return;let c=t.let("valid"),l=o.items?(0,bc.getSchemaTypes)(o.items):[];e.block$data(c,d,(0,De._)`${a} === false`),e.ok(c);function d(){let m=t.let("i",(0,De._)`${r}.length`),g=t.let("j");e.setParams({i:m,j:g}),t.assign(c,!0),t.if((0,De._)`${m} > 1`,()=>(p()?f:u)(m,g))}function p(){return l.length>0&&!l.some(m=>m==="object"||m==="array")}function f(m,g){let y=t.name("item"),w=(0,bc.checkDataTypes)(l,y,s.opts.strictNumbers,bc.DataType.Wrong),A=t.const("indices",(0,De._)`{}`);t.for((0,De._)`;${m}--;`,()=>{t.let(y,(0,De._)`${r}[${m}]`),t.if(w,(0,De._)`continue`),l.length>1&&t.if((0,De._)`typeof ${y} == "string"`,(0,De._)`${y} += "_"`),t.if((0,De._)`typeof ${A}[${y}] == "number"`,()=>{t.assign(g,(0,De._)`${A}[${y}]`),e.error(),t.assign(c,!1).break()}).code((0,De._)`${A}[${y}] = ${m}`)})}function u(m,g){let y=(0,Gb.useFunc)(t,Jb.default),w=t.name("outer");t.label(w).for((0,De._)`;${m}--;`,()=>t.for((0,De._)`${g} = ${m}; ${g}--;`,()=>t.if((0,De._)`${y}(${r}[${m}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(w)})))}}};kc.default=Kb});var Yu=E(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var _c=x(),Yb=q(),Hb=$o(),Xb={message:"must be equal to constant",params:({schemaCode:e})=>(0,_c._)`{allowedValue: ${e}}`},Zb={keyword:"const",$data:!0,error:Xb,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0,_c._)`!${(0,Yb.useFunc)(t,Hb.default)}(${r}, ${i})`):e.fail((0,_c._)`${o} !== ${r}`)}};Ac.default=Zb});var Hu=E(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});var ui=x(),Qb=q(),ek=$o(),tk={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ui._)`{allowedValues: ${e}}`},rk={keyword:"enum",schemaType:"array",$data:!0,error:tk,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:a}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=a.opts.loopEnum,c,l=()=>c??(c=(0,Qb.useFunc)(t,ek.default)),d;if(s||n)d=t.let("valid"),e.block$data(d,p);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let u=t.const("vSchema",o);d=(0,ui.or)(...i.map((m,g)=>f(u,g)))}e.pass(d);function p(){t.assign(d,!1),t.forOf("v",o,u=>t.if((0,ui._)`${l()}(${r}, ${u})`,()=>t.assign(d,!0).break()))}function f(u,m){let g=i[m];return typeof g=="object"&&g!==null?(0,ui._)`${l()}(${r}, ${u}[${m}])`:(0,ui._)`${r} === ${g}`}}};Rc.default=rk});var Xu=E(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var nk=Vu(),ik=Mu(),ok=qu(),ak=Bu(),sk=zu(),ck=Gu(),lk=Ju(),dk=Ku(),pk=Yu(),uk=Hu(),fk=[nk.default,ik.default,ok.default,ak.default,sk.default,ck.default,lk.default,dk.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},pk.default,uk.default];Ec.default=fk});var Nc=E(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.validateAdditionalItems=void 0;var Or=x(),Pc=q(),mk={message:({params:{len:e}})=>(0,Or.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Or._)`{limit: ${e}}`},gk={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:mk,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Pc.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Zu(e,n)}};function Zu(e,t){let{gen:r,schema:n,data:i,keyword:o,it:a}=e;a.items=!0;let s=r.const("len",(0,Or._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Or._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,Pc.alwaysValidSchema)(a,n)){let l=r.var("valid",(0,Or._)`${s} <= ${t.length}`);r.if((0,Or.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,s,d=>{e.subschema({keyword:o,dataProp:d,dataPropType:Pc.Type.Num},l),a.allErrors||r.if((0,Or.not)(l),()=>r.break())})}}fi.validateAdditionalItems=Zu;fi.default=gk});var Oc=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateTuple=void 0;var Qu=x(),To=q(),yk=ct(),hk={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return ef(e,"additionalItems",t);r.items=!0,!(0,To.alwaysValidSchema)(r,t)&&e.ok((0,yk.validateArray)(e))}};function ef(e,t,r=e.schema){let{gen:n,parentSchema:i,data:o,keyword:a,it:s}=e;d(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=To.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),l=n.const("len",(0,Qu._)`${o}.length`);r.forEach((p,f)=>{(0,To.alwaysValidSchema)(s,p)||(n.if((0,Qu._)`${l} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},c)),e.ok(c))});function d(p){let{opts:f,errSchemaPath:u}=s,m=r.length,g=m===p.minItems&&(m===p.maxItems||p[t]===!1);if(f.strictTuples&&!g){let y=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${u}"`;(0,To.checkStrictMode)(s,y,f.strictTuples)}}}mi.validateTuple=ef;mi.default=hk});var tf=E(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});var wk=Oc(),Ik={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,wk.validateTuple)(e,"items")};Sc.default=Ik});var nf=E(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});var rf=x(),vk=q(),bk=ct(),kk=Nc(),_k={message:({params:{len:e}})=>(0,rf.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,rf._)`{limit: ${e}}`},Ak={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:_k,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,vk.alwaysValidSchema)(n,t)&&(i?(0,kk.validateAdditionalItems)(e,i):e.ok((0,bk.validateArray)(e)))}};Dc.default=Ak});var of=E(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});var dt=x(),Lo=q(),Rk={message:({params:{min:e,max:t}})=>t===void 0?(0,dt.str)`must contain at least ${e} valid item(s)`:(0,dt.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,dt._)`{minContains: ${e}}`:(0,dt._)`{minContains: ${e}, maxContains: ${t}}`},Ek={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Rk,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e,a,s,{minContains:c,maxContains:l}=n;o.opts.next?(a=c===void 0?1:c,s=l):a=1;let d=t.const("len",(0,dt._)`${i}.length`);if(e.setParams({min:a,max:s}),s===void 0&&a===0){(0,Lo.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&a>s){(0,Lo.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Lo.alwaysValidSchema)(o,r)){let g=(0,dt._)`${d} >= ${a}`;s!==void 0&&(g=(0,dt._)`${g} && ${d} <= ${s}`),e.pass(g);return}o.items=!0;let p=t.name("valid");s===void 0&&a===1?u(p,()=>t.if(p,()=>t.break())):a===0?(t.let(p,!0),s!==void 0&&t.if((0,dt._)`${i}.length > 0`,f)):(t.let(p,!1),f()),e.result(p,()=>e.reset());function f(){let g=t.name("_valid"),y=t.let("count",0);u(g,()=>t.if(g,()=>m(y)))}function u(g,y){t.forRange("i",0,d,w=>{e.subschema({keyword:"contains",dataProp:w,dataPropType:Lo.Type.Num,compositeRule:!0},g),y()})}function m(g){t.code((0,dt._)`${g}++`),s===void 0?t.if((0,dt._)`${g} >= ${a}`,()=>t.assign(p,!0).break()):(t.if((0,dt._)`${g} > ${s}`,()=>t.assign(p,!1).break()),a===1?t.assign(p,!0):t.if((0,dt._)`${g} >= ${a}`,()=>t.assign(p,!0)))}}};jc.default=Ek});var xo=E(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.validateSchemaDeps=jt.validatePropertyDeps=jt.error=void 0;var Cc=x(),Pk=q(),gi=ct();jt.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Cc.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Cc._)`{property: ${e},
5
+ || ${a} === "boolean" || ${i} === null`).assign(s,(0,V._)`[${i}]`)}}}function Ww({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,V._)`${t} !== undefined`,()=>e.assign((0,V._)`${t}[${r}]`,n))}function xs(e,t,r,n=ln.Correct){let i=n===ln.Correct?V.operators.EQ:V.operators.NEQ,o;switch(e){case"null":return(0,V._)`${t} ${i} null`;case"array":o=(0,V._)`Array.isArray(${t})`;break;case"object":o=(0,V._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":o=a((0,V._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":o=a();break;default:return(0,V._)`typeof ${t} ${i} ${e}`}return n===ln.Correct?o:(0,V.not)(o);function a(s=V.nil){return(0,V.and)((0,V._)`typeof ${t} == "number"`,s,r?(0,V._)`isFinite(${t})`:V.nil)}}Me.checkDataType=xs;function Vs(e,t,r,n){if(e.length===1)return xs(e[0],t,r,n);let i,o=(0,Ep.toHash)(e);if(o.array&&o.object){let a=(0,V._)`typeof ${t} != "object"`;i=o.null?a:(0,V._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object}else i=V.nil;o.number&&delete o.integer;for(let a in o)i=(0,V.and)(i,xs(a,t,r,n));return i}Me.checkDataTypes=Vs;var Kw={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,V._)`{type: ${e}}`:(0,V._)`{type: ${t}}`};function Ms(e){let t=Yw(e);(0,qw.reportError)(t,Kw)}Me.reportTypeError=Ms;function Yw(e){let{gen:t,data:r,schema:n}=e,i=(0,Ep.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:e}}});var Sp=E(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.assignDefaults=void 0;var dn=x(),Hw=q();function Xw(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let i in r)Op(e,i,r[i].default);else t==="array"&&Array.isArray(n)&&n.forEach((i,o)=>Op(e,o,i.default))}ho.assignDefaults=Xw;function Op(e,t,r){let{gen:n,compositeRule:i,data:o,opts:a}=e;if(r===void 0)return;let s=(0,dn._)`${o}${(0,dn.getProperty)(t)}`;if(i){(0,Hw.checkStrictMode)(e,`default is ignored for: ${s}`);return}let c=(0,dn._)`${s} === undefined`;a.useDefaults==="empty"&&(c=(0,dn._)`${c} || ${s} === null || ${s} === ""`),n.if(c,(0,dn._)`${s} = ${(0,dn.stringify)(r)}`)}});var ct=E(ne=>{"use strict";Object.defineProperty(ne,"__esModule",{value:!0});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var fe=x(),Fs=q(),Qt=st(),Zw=q();function Qw(e,t){let{gen:r,data:n,it:i}=e;r.if(qs(r,n,t,i.opts.ownProperties),()=>{e.setParams({missingProperty:(0,fe._)`${t}`},!0),e.error()})}ne.checkReportMissingProp=Qw;function eI({gen:e,data:t,it:{opts:r}},n,i){return(0,fe.or)(...n.map(o=>(0,fe.and)(qs(e,t,o,r.ownProperties),(0,fe._)`${i} = ${o}`)))}ne.checkMissingProp=eI;function tI(e,t){e.setParams({missingProperty:t},!0),e.error()}ne.reportMissingProp=tI;function Dp(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,fe._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=Dp;function Us(e,t,r){return(0,fe._)`${Dp(e)}.call(${t}, ${r})`}ne.isOwnProperty=Us;function rI(e,t,r,n){let i=(0,fe._)`${t}${(0,fe.getProperty)(r)} !== undefined`;return n?(0,fe._)`${i} && ${Us(e,t,r)}`:i}ne.propertyInData=rI;function qs(e,t,r,n){let i=(0,fe._)`${t}${(0,fe.getProperty)(r)} === undefined`;return n?(0,fe.or)(i,(0,fe.not)(Us(e,t,r))):i}ne.noPropertyInData=qs;function jp(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}ne.allSchemaProperties=jp;function nI(e,t){return jp(t).filter(r=>!(0,Fs.alwaysValidSchema)(e,t[r]))}ne.schemaProperties=nI;function iI({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:o},it:a},s,c,l){let d=l?(0,fe._)`${e}, ${t}, ${n}${i}`:t,p=[[Qt.default.instancePath,(0,fe.strConcat)(Qt.default.instancePath,o)],[Qt.default.parentData,a.parentData],[Qt.default.parentDataProperty,a.parentDataProperty],[Qt.default.rootData,Qt.default.rootData]];a.opts.dynamicRef&&p.push([Qt.default.dynamicAnchors,Qt.default.dynamicAnchors]);let f=(0,fe._)`${d}, ${r.object(...p)}`;return c!==fe.nil?(0,fe._)`${s}.call(${c}, ${f})`:(0,fe._)`${s}(${f})`}ne.callValidateCode=iI;var oI=(0,fe._)`new RegExp`;function aI({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:i}=t.code,o=i(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0,fe._)`${i.code==="new RegExp"?oI:(0,Zw.useFunc)(e,i)}(${r}, ${n})`})}ne.usePattern=aI;function sI(e){let{gen:t,data:r,keyword:n,it:i}=e,o=t.name("valid");if(i.allErrors){let s=t.let("valid",!0);return a(()=>t.assign(s,!1)),s}return t.var(o,!0),a(()=>t.break()),o;function a(s){let c=t.const("len",(0,fe._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:Fs.Type.Num},o),t.if((0,fe.not)(o),s)})}}ne.validateArray=sI;function cI(e){let{gen:t,schema:r,keyword:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Fs.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let a=t.let("valid",!1),s=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let d=e.subschema({keyword:n,schemaProp:l,compositeRule:!0},s);t.assign(a,(0,fe._)`${a} || ${s}`),e.mergeValidEvaluated(d,s)||t.if((0,fe.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}ne.validateUnion=cI});var Tp=E(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.validateKeywordUsage=St.validSchemaType=St.funcKeywordCode=St.macroKeywordCode=void 0;var ze=x(),Ar=st(),lI=ct(),dI=Yn();function pI(e,t){let{gen:r,keyword:n,schema:i,parentSchema:o,it:a}=e,s=t.macro.call(a.self,i,o,a),c=$p(r,n,s);a.opts.validateSchema!==!1&&a.self.validateSchema(s,!0);let l=r.name("valid");e.subschema({schema:s,schemaPath:ze.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}St.macroKeywordCode=pI;function uI(e,t){var r;let{gen:n,keyword:i,schema:o,parentSchema:a,$data:s,it:c}=e;mI(c,t);let l=!s&&t.compile?t.compile.call(c.self,o,a,c):t.validate,d=$p(n,i,l),p=n.let("valid");e.block$data(p,f),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function f(){if(t.errors===!1)g(),t.modifying&&Cp(e),y(()=>e.error());else{let w=t.async?u():m();t.modifying&&Cp(e),y(()=>fI(e,w))}}function u(){let w=n.let("ruleErrs",null);return n.try(()=>g((0,ze._)`await `),A=>n.assign(p,!1).if((0,ze._)`${A} instanceof ${c.ValidationError}`,()=>n.assign(w,(0,ze._)`${A}.errors`),()=>n.throw(A))),w}function m(){let w=(0,ze._)`${d}.errors`;return n.assign(w,null),g(ze.nil),w}function g(w=t.async?(0,ze._)`await `:ze.nil){let A=c.opts.passContext?Ar.default.this:Ar.default.self,b=!("compile"in t&&!s||t.schema===!1);n.assign(p,(0,ze._)`${w}${(0,lI.callValidateCode)(e,d,A,b)}`,t.modifying)}function y(w){var A;n.if((0,ze.not)((A=t.valid)!==null&&A!==void 0?A:p),w)}}St.funcKeywordCode=uI;function Cp(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,ze._)`${n.parentData}[${n.parentDataProperty}]`))}function fI(e,t){let{gen:r}=e;r.if((0,ze._)`Array.isArray(${t})`,()=>{r.assign(Ar.default.vErrors,(0,ze._)`${Ar.default.vErrors} === null ? ${t} : ${Ar.default.vErrors}.concat(${t})`).assign(Ar.default.errors,(0,ze._)`${Ar.default.vErrors}.length`),(0,dI.extendErrors)(e)},()=>e.error())}function mI({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function $p(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ze.stringify)(r)})}function gI(e,t,r=!1){return!t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}St.validSchemaType=gI;function yI({schema:e,opts:t,self:r,errSchemaPath:n},i,o){if(Array.isArray(i.keyword)?!i.keyword.includes(o):i.keyword!==o)throw new Error("ajv implementation error");let a=i.dependencies;if(a?.some(s=>!Object.prototype.hasOwnProperty.call(e,s)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(i.validateSchema&&!i.validateSchema(e[o])){let c=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}St.validateKeywordUsage=yI});var xp=E(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.extendSubschemaMode=er.extendSubschemaData=er.getSubschema=void 0;var Dt=x(),Lp=q();function hI(e,{keyword:t,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let s=e.schema[t];return r===void 0?{schema:s,schemaPath:(0,Dt._)`${e.schemaPath}${(0,Dt.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,Dt._)`${e.schemaPath}${(0,Dt.getProperty)(t)}${(0,Dt.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,Lp.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}er.getSubschema=hI;function wI(e,t,{dataProp:r,dataPropType:n,data:i,dataTypes:o,propertyName:a}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:s}=t;if(r!==void 0){let{errorPath:l,dataPathArr:d,opts:p}=t,f=s.let("data",(0,Dt._)`${t.data}${(0,Dt.getProperty)(r)}`,!0);c(f),e.errorPath=(0,Dt.str)`${l}${(0,Lp.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0,Dt._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty]}if(i!==void 0){let l=i instanceof Dt.Name?i:s.let("data",i,!0);c(l),a!==void 0&&(e.propertyName=a)}o&&(e.dataTypes=o);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}er.extendSubschemaData=wI;function II(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:o}){n!==void 0&&(e.compositeRule=n),i!==void 0&&(e.createErrors=i),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r}er.extendSubschemaMode=II});var Bs=E((PO,Vp)=>{"use strict";Vp.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,i,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!e(t[i],r[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[i]))return!1;for(i=n;i--!==0;){var a=o[i];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var Fp=E((NO,Mp)=>{"use strict";var tr=Mp.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};wo(t,n,i,e,"",e)};tr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};tr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};tr.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};tr.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 wo(e,t,r,n,i,o,a,s,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,i,o,a,s,c,l);for(var d in n){var p=n[d];if(Array.isArray(p)){if(d in tr.arrayKeywords)for(var f=0;f<p.length;f++)wo(e,t,r,p[f],i+"/"+d+"/"+f,o,i,d,n,f)}else if(d in tr.propsKeywords){if(p&&typeof p=="object")for(var u in p)wo(e,t,r,p[u],i+"/"+d+"/"+vI(u),o,i,d,n,u)}else(d in tr.keywords||e.allKeys&&!(d in tr.skipKeywords))&&wo(e,t,r,p,i+"/"+d,o,i,d,n)}r(n,i,o,a,s,c,l)}}function vI(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Xn=E(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.getSchemaRefs=Xe.resolveUrl=Xe.normalizeId=Xe._getFullPath=Xe.getFullPath=Xe.inlineRef=void 0;var bI=q(),kI=Bs(),_I=Fp(),AI=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function RI(e,t=!0){return typeof e=="boolean"?!0:t===!0?!zs(e):t?Up(e)<=t:!1}Xe.inlineRef=RI;var EI=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function zs(e){for(let t in e){if(EI.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(zs)||typeof r=="object"&&zs(r))return!0}return!1}function Up(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!AI.has(r)&&(typeof e[r]=="object"&&(0,bI.eachItem)(e[r],n=>t+=Up(n)),t===1/0))return 1/0}return t}function qp(e,t="",r){r!==!1&&(t=pn(t));let n=e.parse(t);return Bp(e,n)}Xe.getFullPath=qp;function Bp(e,t){return e.serialize(t).split("#")[0]+"#"}Xe._getFullPath=Bp;var PI=/#\/?$/;function pn(e){return e?e.replace(PI,""):""}Xe.normalizeId=pn;function NI(e,t,r){return r=pn(r),e.resolve(t,r)}Xe.resolveUrl=NI;var OI=/^[a-z_][-a-z0-9._]*$/i;function SI(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=pn(e[r]||t),o={"":i},a=qp(n,i,!1),s={},c=new Set;return _I(e,{allKeys:!0},(p,f,u,m)=>{if(m===void 0)return;let g=a+f,y=o[m];typeof p[r]=="string"&&(y=w.call(this,p[r])),A.call(this,p.$anchor),A.call(this,p.$dynamicAnchor),o[f]=y;function w(b){let R=this.opts.uriResolver.resolve;if(b=pn(y?R(y,b):b),c.has(b))throw d(b);c.add(b);let I=this.refs[b];return typeof I=="string"&&(I=this.refs[I]),typeof I=="object"?l(p,I.schema,b):b!==pn(g)&&(b[0]==="#"?(l(p,s[b],b),s[b]=p):this.refs[b]=g),b}function A(b){if(typeof b=="string"){if(!OI.test(b))throw new Error(`invalid anchor "${b}"`);w.call(this,`#${b}`)}}}),s;function l(p,f,u){if(f!==void 0&&!kI(p,f))throw d(u)}function d(p){return new Error(`reference "${p}" resolves to more than one schema`)}}Xe.getSchemaRefs=SI});var ei=E(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.getData=rr.KeywordCxt=rr.validateFunctionCode=void 0;var Kp=_p(),zp=Hn(),Js=Ls(),Io=Hn(),DI=Sp(),Qn=Tp(),Gs=xp(),O=x(),L=st(),jI=Xn(),Mt=q(),Zn=Yn();function CI(e){if(Xp(e)&&(Zp(e),Hp(e))){LI(e);return}Yp(e,()=>(0,Kp.topBoolOrEmptySchema)(e))}rr.validateFunctionCode=CI;function Yp({gen:e,validateName:t,schema:r,schemaEnv:n,opts:i},o){i.code.es5?e.func(t,(0,O._)`${L.default.data}, ${L.default.valCxt}`,n.$async,()=>{e.code((0,O._)`"use strict"; ${Gp(r,i)}`),TI(e,i),e.code(o)}):e.func(t,(0,O._)`${L.default.data}, ${$I(i)}`,n.$async,()=>e.code(Gp(r,i)).code(o))}function $I(e){return(0,O._)`{${L.default.instancePath}="", ${L.default.parentData}, ${L.default.parentDataProperty}, ${L.default.rootData}=${L.default.data}${e.dynamicRef?(0,O._)`, ${L.default.dynamicAnchors}={}`:O.nil}}={}`}function TI(e,t){e.if(L.default.valCxt,()=>{e.var(L.default.instancePath,(0,O._)`${L.default.valCxt}.${L.default.instancePath}`),e.var(L.default.parentData,(0,O._)`${L.default.valCxt}.${L.default.parentData}`),e.var(L.default.parentDataProperty,(0,O._)`${L.default.valCxt}.${L.default.parentDataProperty}`),e.var(L.default.rootData,(0,O._)`${L.default.valCxt}.${L.default.rootData}`),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0,O._)`${L.default.valCxt}.${L.default.dynamicAnchors}`)},()=>{e.var(L.default.instancePath,(0,O._)`""`),e.var(L.default.parentData,(0,O._)`undefined`),e.var(L.default.parentDataProperty,(0,O._)`undefined`),e.var(L.default.rootData,L.default.data),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0,O._)`{}`)})}function LI(e){let{schema:t,opts:r,gen:n}=e;Yp(e,()=>{r.$comment&&t.$comment&&eu(e),UI(e),n.let(L.default.vErrors,null),n.let(L.default.errors,0),r.unevaluated&&xI(e),Qp(e),zI(e)})}function xI(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,O._)`${r}.evaluated`),t.if((0,O._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,O._)`${e.evaluated}.props`,(0,O._)`undefined`)),t.if((0,O._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,O._)`${e.evaluated}.items`,(0,O._)`undefined`))}function Gp(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,O._)`/*# sourceURL=${r} */`:O.nil}function VI(e,t){if(Xp(e)&&(Zp(e),Hp(e))){MI(e,t);return}(0,Kp.boolOrEmptySchema)(e,t)}function Hp({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Xp(e){return typeof e.schema!="boolean"}function MI(e,t){let{schema:r,gen:n,opts:i}=e;i.$comment&&r.$comment&&eu(e),qI(e),BI(e);let o=n.const("_errs",L.default.errors);Qp(e,o),n.var(t,(0,O._)`${o} === ${L.default.errors}`)}function Zp(e){(0,Mt.checkUnknownRules)(e),FI(e)}function Qp(e,t){if(e.opts.jtd)return Jp(e,[],!1,t);let r=(0,zp.getSchemaTypes)(e.schema),n=(0,zp.coerceAndCheckDataType)(e,r);Jp(e,r,!n,t)}function FI(e){let{schema:t,errSchemaPath:r,opts:n,self:i}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,Mt.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function UI(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Mt.checkStrictMode)(e,"default is ignored in the schema root")}function qI(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,jI.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function BI(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function eu({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:i}){let o=r.$comment;if(i.$comment===!0)e.code((0,O._)`${L.default.self}.logger.log(${o})`);else if(typeof i.$comment=="function"){let a=(0,O.str)`${n}/$comment`,s=e.scopeValue("root",{ref:t.root});e.code((0,O._)`${L.default.self}.opts.$comment(${o}, ${a}, ${s}.schema)`)}}function zI(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:i,opts:o}=e;r.$async?t.if((0,O._)`${L.default.errors} === 0`,()=>t.return(L.default.data),()=>t.throw((0,O._)`new ${i}(${L.default.vErrors})`)):(t.assign((0,O._)`${n}.errors`,L.default.vErrors),o.unevaluated&&GI(e),t.return((0,O._)`${L.default.errors} === 0`))}function GI({gen:e,evaluated:t,props:r,items:n}){r instanceof O.Name&&e.assign((0,O._)`${t}.props`,r),n instanceof O.Name&&e.assign((0,O._)`${t}.items`,n)}function Jp(e,t,r,n){let{gen:i,schema:o,data:a,allErrors:s,opts:c,self:l}=e,{RULES:d}=l;if(o.$ref&&(c.ignoreKeywordsWithRef||!(0,Mt.schemaHasRulesButRef)(o,d))){i.block(()=>ru(e,"$ref",d.all.$ref.definition));return}c.jtd||JI(e,t),i.block(()=>{for(let f of d.rules)p(f);p(d.post)});function p(f){(0,Js.shouldUseGroup)(o,f)&&(f.type?(i.if((0,Io.checkDataType)(f.type,a,c.strictNumbers)),Wp(e,f),t.length===1&&t[0]===f.type&&r&&(i.else(),(0,Io.reportTypeError)(e)),i.endIf()):Wp(e,f),s||i.if((0,O._)`${L.default.errors} === ${n||0}`))}}function Wp(e,t){let{gen:r,schema:n,opts:{useDefaults:i}}=e;i&&(0,DI.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0,Js.shouldUseRule)(n,o)&&ru(e,o.keyword,o.definition,t.type)})}function JI(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(WI(e,t),e.opts.allowUnionTypes||KI(e,t),YI(e,e.dataTypes))}function WI(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{tu(e.dataTypes,r)||Ws(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),XI(e,t)}}function KI(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Ws(e,"use allowUnionTypes to allow union type keyword")}function YI(e,t){let r=e.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,Js.shouldUseRule)(e.schema,i)){let{type:o}=i.definition;o.length&&!o.some(a=>HI(t,a))&&Ws(e,`missing type "${o.join(",")}" for keyword "${n}"`)}}}function HI(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function tu(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function XI(e,t){let r=[];for(let n of e.dataTypes)tu(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function Ws(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Mt.checkStrictMode)(e,t,e.opts.strictTypes)}var vo=class{constructor(t,r,n){if((0,Qn.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Mt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",nu(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Qn.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",L.default.errors))}result(t,r,n){this.failResult((0,O.not)(t),r,n)}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,O.not)(t),void 0,r)}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);let{schemaCode:r}=this;this.fail((0,O._)`${r} !== undefined && (${(0,O.or)(this.invalid$data(),t)})`)}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n)}_error(t,r){(t?Zn.reportExtraError:Zn.reportError)(this,this.def.error,r)}$dataError(){(0,Zn.reportError)(this,this.def.$dataError||Zn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Zn.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,n=O.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=O.nil,r=O.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:o,def:a}=this;n.if((0,O.or)((0,O._)`${i} === undefined`,r)),t!==O.nil&&n.assign(t,!0),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==O.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:i,it:o}=this;return(0,O.or)(a(),s());function a(){if(n.length){if(!(r instanceof O.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,O._)`${(0,Io.checkDataTypes)(c,r,o.opts.strictNumbers,Io.DataType.Wrong)}`}return O.nil}function s(){if(i.validateSchema){let c=t.scopeValue("validate$data",{ref:i.validateSchema});return(0,O._)`!${c}(${r})`}return O.nil}}subschema(t,r){let n=(0,Gs.getSubschema)(this.it,t);(0,Gs.extendSubschemaData)(n,this.it,t),(0,Gs.extendSubschemaMode)(n,t);let i={...this.it,...n,items:void 0,props:void 0};return VI(i,r),i}mergeEvaluated(t,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=Mt.mergeEvaluated.props(i,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=Mt.mergeEvaluated.items(i,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(t,O.Name)),!0}};rr.KeywordCxt=vo;function ru(e,t,r,n){let i=new vo(e,r,t);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Qn.funcKeywordCode)(i,r):"macro"in r?(0,Qn.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Qn.funcKeywordCode)(i,r)}var ZI=/^\/(?:[^~]|~0|~1)*$/,QI=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function nu(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let i,o;if(e==="")return L.default.rootData;if(e[0]==="/"){if(!ZI.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);i=e,o=L.default.rootData}else{let l=QI.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+l[1];if(i=l[2],i==="#"){if(d>=t)throw new Error(c("property/index",d));return n[t-d]}if(d>t)throw new Error(c("data",d));if(o=r[t-d],!i)return o}let a=o,s=i.split("/");for(let l of s)l&&(o=(0,O._)`${o}${(0,O.getProperty)((0,Mt.unescapeJsonPointer)(l))}`,a=(0,O._)`${a} && ${o}`);return a;function c(l,d){return`Cannot access ${l} ${d} levels up, current level is ${t}`}}rr.getData=nu});var bo=E(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});var Ks=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Ys.default=Ks});var ti=E(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});var Hs=Xn(),Xs=class extends Error{constructor(t,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Hs.resolveUrl)(t,r,n),this.missingSchema=(0,Hs.normalizeId)((0,Hs.getFullPath)(t,this.missingRef))}};Zs.default=Xs});var ri=E(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.resolveSchema=lt.getCompilingSchema=lt.resolveRef=lt.compileSchema=lt.SchemaEnv=void 0;var It=x(),ev=bo(),Rr=st(),vt=Xn(),iu=q(),tv=ei(),un=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,vt.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};lt.SchemaEnv=un;function ec(e){let t=ou.call(this,e);if(t)return t;let r=(0,vt.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:o}=this.opts,a=new It.CodeGen(this.scope,{es5:n,lines:i,ownProperties:o}),s;e.$async&&(s=a.scopeValue("Error",{ref:ev.default,code:(0,It._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let l={gen:a,allErrors:this.opts.allErrors,data:Rr.default.data,parentData:Rr.default.parentData,parentDataProperty:Rr.default.parentDataProperty,dataNames:[Rr.default.data],dataPathArr:[It.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,It.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:s,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:It.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,It._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,tv.validateFunctionCode)(l),a.optimize(this.opts.code.optimize);let p=a.toString();d=`${a.scopeRefs(Rr.default.scope)}return ${p}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let u=new Function(`${Rr.default.self}`,`${Rr.default.scope}`,d)(this,this.scope.get());if(this.scope.value(c,{ref:u}),u.errors=null,u.schema=e.schema,u.schemaEnv=e,e.$async&&(u.$async=!0),this.opts.code.source===!0&&(u.source={validateName:c,validateCode:p,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:g}=l;u.evaluated={props:m instanceof It.Name?void 0:m,items:g instanceof It.Name?void 0:g,dynamicProps:m instanceof It.Name,dynamicItems:g instanceof It.Name},u.source&&(u.source.evaluated=(0,It.stringify)(u.evaluated))}return e.validate=u,e}catch(p){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),p}finally{this._compilations.delete(e)}}lt.compileSchema=ec;function rv(e,t,r){var n;r=(0,vt.resolveUrl)(this.opts.uriResolver,t,r);let i=e.refs[r];if(i)return i;let o=ov.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:s}=this.opts;a&&(o=new un({schema:a,schemaId:s,root:e,baseId:t}))}if(o!==void 0)return e.refs[r]=nv.call(this,o)}lt.resolveRef=rv;function nv(e){return(0,vt.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ec.call(this,e)}function ou(e){for(let t of this._compilations)if(iv(t,e))return t}lt.getCompilingSchema=ou;function iv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function ov(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||ko.call(this,e,t)}function ko(e,t){let r=this.opts.uriResolver.parse(t),n=(0,vt._getFullPath)(this.opts.uriResolver,r),i=(0,vt.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===i)return Qs.call(this,r,e);let o=(0,vt.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let s=ko.call(this,e,a);return typeof s?.schema!="object"?void 0:Qs.call(this,r,s)}if(typeof a?.schema=="object"){if(a.validate||ec.call(this,a),o===(0,vt.normalizeId)(t)){let{schema:s}=a,{schemaId:c}=this.opts,l=s[c];return l&&(i=(0,vt.resolveUrl)(this.opts.uriResolver,i,l)),new un({schema:s,schemaId:c,root:e,baseId:i})}return Qs.call(this,r,a)}}lt.resolveSchema=ko;var av=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Qs(e,{baseId:t,schema:r,root:n}){var i;if(((i=e.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let s of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,iu.unescapeFragment)(s)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!av.has(s)&&l&&(t=(0,vt.resolveUrl)(this.opts.uriResolver,t,l))}let o;if(typeof r!="boolean"&&r.$ref&&!(0,iu.schemaHasRulesButRef)(r,this.RULES)){let s=(0,vt.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=ko.call(this,n,s)}let{schemaId:a}=this.opts;if(o=o||new un({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var au=E(($O,sv)=>{sv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var nc=E((TO,uu)=>{"use strict";var cv=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),cu=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),tc=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),lu=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),lv=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function rc(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var dv=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function su(e){return e.length=0,!0}function pv(e,t,r){if(e.length){let n=rc(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function uv(e){let t=0,r={error:!1,address:"",zone:""},n=[],i=[],o=!1,a=!1,s=pv;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(o===!0&&(a=!0),!s(i,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(o=!0),n.push(":");continue}else if(l==="%"){if(!s(i,n,r))break;s=su}else{i.push(l);continue}}return i.length&&(s===su?r.zone=i.join(""):a?n.push(i.join("")):n.push(rc(i))),r.address=n.join(""),r}function du(e){if(fv(e,":")<2)return{host:e,isIPV6:!1};let t=uv(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function fv(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function mv(e){let t=e,r=[],n=-1,i=0;for(;i=t.length;){if(i===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(i===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(i===3&&t==="/.."){r.length!==0&&r.pop(),r.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),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var gv={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},yv=/[@/?#:]/g,hv=/[@/?#]/g;function pu(e,t){let r=t?hv:yv;return r.lastIndex=0,e.replace(r,n=>gv[n])}function wv(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let i=e.slice(n+1,n+3);if(tc(i)){let o=i.toUpperCase(),a=String.fromCharCode(parseInt(o,16));t&&lu(a)?r+=a:r+="%"+o,n+=2;continue}}r+=e[n]}return r}function Iv(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(tc(n)){let i=n.toUpperCase(),o=String.fromCharCode(parseInt(i,16));o!=="."&&lu(o)?t+=o:t+="%"+i,r+=2;continue}}lv(e[r])?t+=e[r]:t+=escape(e[r])}return t}function vv(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(tc(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function bv(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!cu(r)){let n=du(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=pu(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}uu.exports={nonSimpleDomain:dv,recomposeAuthority:bv,reescapeHostDelimiters:pu,normalizePercentEncoding:wv,normalizePathEncoding:Iv,escapePreservingEscapes:vv,removeDotSegments:mv,isIPv4:cu,isUUID:cv,normalizeIPv6:du,stringArrayToHexStripped:rc}});var hu=E((LO,yu)=>{"use strict";var{isUUID:kv}=nc(),_v=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Av=["http","https","ws","wss","urn","urn:uuid"];function Rv(e){return Av.indexOf(e)!==-1}function ic(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 fu(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function mu(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Ev(e){return e.secure=ic(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Pv(e){if((e.port===(ic(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){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Nv(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(_v);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let i=`${n}:${t.nid||e.nid}`,o=oc(i);e.path=void 0,o&&(e=o.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Ov(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),i=`${r}:${t.nid||n}`,o=oc(i);o&&(e=o.serialize(e,t));let a=e,s=e.nss;return a.path=`${n||t.nid}:${s}`,t.skipEscape=!0,a}function Sv(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!kv(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Dv(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var gu={scheme:"http",domainHost:!0,parse:fu,serialize:mu},jv={scheme:"https",domainHost:gu.domainHost,parse:fu,serialize:mu},_o={scheme:"ws",domainHost:!0,parse:Ev,serialize:Pv},Cv={scheme:"wss",domainHost:_o.domainHost,parse:_o.parse,serialize:_o.serialize},$v={scheme:"urn",parse:Nv,serialize:Ov,skipNormalize:!0},Tv={scheme:"urn:uuid",parse:Sv,serialize:Dv,skipNormalize:!0},Ao={http:gu,https:jv,ws:_o,wss:Cv,urn:$v,"urn:uuid":Tv};Object.setPrototypeOf(Ao,null);function oc(e){return e&&(Ao[e]||Ao[e.toLowerCase()])||void 0}yu.exports={wsIsSecure:ic,SCHEMES:Ao,isValidSchemeName:Rv,getSchemeHandler:oc}});var ku=E((xO,Po)=>{"use strict";var{normalizeIPv6:Lv,removeDotSegments:ni,recomposeAuthority:xv,normalizePercentEncoding:Vv,normalizePathEncoding:Mv,escapePreservingEscapes:Fv,reescapeHostDelimiters:Uv,isIPv4:qv,nonSimpleDomain:Bv}=nc(),{SCHEMES:zv,getSchemeHandler:Iu}=hu();function Gv(e,t){return typeof e=="string"?e=Zv(e,t):typeof e=="object"&&(e=Eo(Er(e,t),t)),e}function Jv(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},{parsed:i,malformedAuthorityOrPort:o}=Ro(e,n),{parsed:a,malformedAuthorityOrPort:s}=Ro(t,n);if(o||s)throw new Error(i.error||a.error||"URI is malformed.");let c=vu(i,a,n,!0);return n.skipEscape=!0,Er(c,n)}function vu(e,t,r,n){let i={};return n||(e=Eo(Er(e,r),r),t=Eo(Er(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=ni(t.path||""),i.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=ni(t.path||""),i.query=t.query):(t.path?(t.path[0]==="/"?i.path=ni(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?i.path="/"+t.path:e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path,i.path=ni(i.path)),i.query=t.query):(i.path=e.path,t.query!==void 0?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function Wv(e,t,r){let n=wu(e,r),i=wu(t,r);return n!==void 0&&i!==void 0&&n.toLowerCase()===i.toLowerCase()}function Er(e,t){let r={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:""},n=Object.assign({},t),i=[],o=Iu(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=Vv(r.path):(r.path=Fv(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let a=xv(r);if(a!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(a),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let s=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(s=ni(s)),a===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),i.push(s)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var Kv=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,Yv=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,Hv=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function Xv(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 Ro(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=!1,o=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let a=e.match(Yv);a!==null&&a[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",i=!0);let s=e.match(Hv);if(s!==null){let l=s[1],d=l.replace(/[\t\n\r]/g,"");d.length>=2&&(d.slice(0,2)!=="//"?(n.error=n.error||"URI authority must not contain a literal backslash.",i=!0):l.length!==d.length&&(n.error=n.error||"URI authority introducer must not contain whitespace.",i=!0))}let c=e.match(Kv);if(c){n.scheme=c[1],n.userinfo=c[3],n.host=c[4],n.port=parseInt(c[5],10),n.path=c[6]||"",n.query=c[7],n.fragment=c[8],isNaN(n.port)&&(n.port=c[5]);let l=Xv(n,c);if(l!==void 0&&(n.error=n.error||l,i=!0),n.host)if(qv(n.host)===!1){let f=Lv(n.host);n.host=f.host.toLowerCase(),o=f.isIPV6}else o=!0;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let d=Iu(r.scheme||n.scheme);if(!r.unicodeSupport&&(!d||!d.unicodeSupport)&&n.host&&(r.domainHost||d&&d.domainHost)&&o===!1&&Bv(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(p){n.error=n.error||"Host's domain name can not be converted to ASCII: "+p}if((!d||d&&!d.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=Uv(unescape(n.host),o))),n.path&&(n.path=Mv(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}d&&d.parse&&d.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:i}}function Eo(e,t){return Ro(e,t).parsed}function Zv(e,t){return bu(e,t).normalized}function bu(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Ro(e,t);return{normalized:n?e:Er(r,t),malformedAuthorityOrPort:n}}function wu(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=bu(e,t);return n?void 0:r}if(typeof e=="object")return Er(e,t)}var ac={SCHEMES:zv,normalize:Gv,resolve:Jv,resolveComponent:vu,equal:Wv,serialize:Er,parse:Eo};Po.exports=ac;Po.exports.default=ac;Po.exports.fastUri=ac});var Au=E(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var _u=ku();_u.code='require("ajv/dist/runtime/uri").default';sc.default=_u});var ju=E(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.CodeGen=Se.Name=Se.nil=Se.stringify=Se.str=Se._=Se.KeywordCxt=void 0;var Qv=ei();Object.defineProperty(Se,"KeywordCxt",{enumerable:!0,get:function(){return Qv.KeywordCxt}});var fn=x();Object.defineProperty(Se,"_",{enumerable:!0,get:function(){return fn._}});Object.defineProperty(Se,"str",{enumerable:!0,get:function(){return fn.str}});Object.defineProperty(Se,"stringify",{enumerable:!0,get:function(){return fn.stringify}});Object.defineProperty(Se,"nil",{enumerable:!0,get:function(){return fn.nil}});Object.defineProperty(Se,"Name",{enumerable:!0,get:function(){return fn.Name}});Object.defineProperty(Se,"CodeGen",{enumerable:!0,get:function(){return fn.CodeGen}});var eb=bo(),Ou=ti(),tb=Ts(),ii=ri(),rb=x(),oi=Xn(),No=Hn(),lc=q(),Ru=au(),nb=Au(),Su=(e,t)=>new RegExp(e,t);Su.code="new RegExp";var ib=["removeAdditional","useDefaults","coerceTypes"],ob=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ab={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."},sb={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Eu=200;function cb(e){var t,r,n,i,o,a,s,c,l,d,p,f,u,m,g,y,w,A,b,R,I,_,S,T,ue;let $=e.strict,P=(t=e.code)===null||t===void 0?void 0:t.optimize,Z=P===!0||P===void 0?1:P||0,se=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Su,ot=(i=e.uriResolver)!==null&&i!==void 0?i:nb.default;return{strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:$)!==null&&a!==void 0?a:!0,strictNumbers:(c=(s=e.strictNumbers)!==null&&s!==void 0?s:$)!==null&&c!==void 0?c:!0,strictTypes:(d=(l=e.strictTypes)!==null&&l!==void 0?l:$)!==null&&d!==void 0?d:"log",strictTuples:(f=(p=e.strictTuples)!==null&&p!==void 0?p:$)!==null&&f!==void 0?f:"log",strictRequired:(m=(u=e.strictRequired)!==null&&u!==void 0?u:$)!==null&&m!==void 0?m:!1,code:e.code?{...e.code,optimize:Z,regExp:se}:{optimize:Z,regExp:se},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:Eu,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:Eu,meta:(w=e.meta)!==null&&w!==void 0?w:!0,messages:(A=e.messages)!==null&&A!==void 0?A:!0,inlineRefs:(b=e.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(R=e.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(I=e.addUsedSchema)!==null&&I!==void 0?I:!0,validateSchema:(_=e.validateSchema)!==null&&_!==void 0?_:!0,validateFormats:(S=e.validateFormats)!==null&&S!==void 0?S:!0,unicodeRegExp:(T=e.unicodeRegExp)!==null&&T!==void 0?T:!0,int32range:(ue=e.int32range)!==null&&ue!==void 0?ue:!0,uriResolver:ot}}var ai=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...cb(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new rb.ValueScope({scope:{},prefixes:ob,es5:r,lines:n}),this.logger=mb(t.logger);let i=t.validateFormats;t.validateFormats=!1,this.RULES=(0,tb.getRules)(),Pu.call(this,ab,t,"NOT SUPPORTED"),Pu.call(this,sb,t,"DEPRECATED","warn"),this._metaOpts=ub.call(this),t.formats&&db.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&pb.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),lb.call(this),t.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,i=Ru;n==="id"&&(i={...Ru},i.id=i.$id,delete i.$id),r&&t&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,t,r);async function i(d,p){await o.call(this,d.$schema);let f=this._addSchema(d,p);return f.validate||a.call(this,f)}async function o(d){d&&!this.getSchema(d)&&await i.call(this,{$ref:d},!0)}async function a(d){try{return this._compileSchemaEnv(d)}catch(p){if(!(p instanceof Ou.default))throw p;return s.call(this,p),await c.call(this,p.missingSchema),a.call(this,d)}}function s({missingSchema:d,missingRef:p}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${p} cannot be resolved`)}async function c(d){let p=await l.call(this,d);this.refs[d]||await o.call(this,p.$schema),this.refs[d]||this.addSchema(p,d,r)}async function l(d){let p=this._loading[d];if(p)return p;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d]}}}addSchema(t,r,n,i=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,i);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0,oi.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,i,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,t);if(!i&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return i}getSchema(t){let r;for(;typeof(r=Nu.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,i=new ii.SchemaEnv({schema:{},schemaId:n});if(r=ii.resolveSchema.call(this,i,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Nu.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0,oi.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(yb.call(this,n,r),!r)return(0,lc.eachItem)(n,o=>cc.call(this,o)),this;wb.call(this,r);let i={...r,type:(0,No.getJSONTypes)(r.type),schemaType:(0,No.getJSONTypes)(r.schemaType)};return(0,lc.eachItem)(n,i.type.length===0?o=>cc.call(this,o,i):o=>i.type.forEach(a=>cc.call(this,o,i,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let i=n.rules.findIndex(o=>o.keyword===t);i>=0&&n.rules.splice(i,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!t||t.length===0?"No errors":t.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,o)=>i+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let i of r){let o=i.split("/").slice(1),a=t;for(let s of o)a=a[s];for(let s in n){let c=n[s];if(typeof c!="object")continue;let{$data:l}=c.definition,d=a[s];l&&d&&(a[s]=Du(d))}}return t}_removeAllSchemas(t,r){for(let n in t){let i=t[n];(!r||r.test(n))&&(typeof i=="string"?delete t[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete t[n]))}}_addSchema(t,r,n,i=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof t=="object")a=t[s];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;n=(0,oi.normalizeId)(a||n);let l=oi.getSchemaRefs.call(this,t,n);return c=new ii.SchemaEnv({schema:t,schemaId:s,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):ii.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{ii.compileSchema.call(this,t)}finally{this.opts=r}}};ai.ValidationError=eb.default;ai.MissingRefError=Ou.default;Se.default=ai;function Pu(e,t,r,n="error"){for(let i in e){let o=i;o in t&&this.logger[n](`${r}: option ${i}. ${e[o]}`)}}function Nu(e){return e=(0,oi.normalizeId)(e),this.schemas[e]||this.refs[e]}function lb(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function db(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function pb(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function ub(){let e={...this.opts};for(let t of ib)delete e[t];return e}var fb={log(){},warn(){},error(){}};function mb(e){if(e===!1)return fb;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var gb=/^[a-z_$][a-z0-9_$:-]*$/i;function yb(e,t){let{RULES:r}=this;if((0,lc.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!gb.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function cc(e,t,r){var n;let i=t?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=i?o.post:o.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,No.getJSONTypes)(t.type),schemaType:(0,No.getJSONTypes)(t.schemaType)}};t.before?hb.call(this,a,s,t.before):a.rules.push(s),o.all[e]=s,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function hb(e,t,r){let n=e.rules.findIndex(i=>i.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function wb(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Du(t)),e.validateSchema=this.compile(t,!0))}var Ib={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Du(e){return{anyOf:[e,Ib]}}});var Cu=E(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var vb={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};dc.default=vb});var Do=E(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.callRef=Pr.getValidate=void 0;var bb=ti(),$u=ct(),Ze=x(),mn=st(),Tu=ri(),Oo=q(),kb={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:i,schemaEnv:o,validateName:a,opts:s,self:c}=n,{root:l}=o;if((r==="#"||r==="#/")&&i===l.baseId)return p();let d=Tu.resolveRef.call(c,l,i,r);if(d===void 0)throw new bb.default(n.opts.uriResolver,i,r);if(d instanceof Tu.SchemaEnv)return f(d);return u(d);function p(){if(o===l)return So(e,a,o,o.$async);let m=t.scopeValue("root",{ref:l});return So(e,(0,Ze._)`${m}.validate`,l,l.$async)}function f(m){let g=Lu(e,m);So(e,g,m,m.$async)}function u(m){let g=t.scopeValue("schema",s.code.source===!0?{ref:m,code:(0,Ze.stringify)(m)}:{ref:m}),y=t.name("valid"),w=e.subschema({schema:m,dataTypes:[],schemaPath:Ze.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(w),e.ok(y)}}};function Lu(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,Ze._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Pr.getValidate=Lu;function So(e,t,r,n){let{gen:i,it:o}=e,{allErrors:a,schemaEnv:s,opts:c}=o,l=c.passContext?mn.default.this:Ze.nil;n?d():p();function d(){if(!s.$async)throw new Error("async schema referenced by sync schema");let m=i.let("valid");i.try(()=>{i.code((0,Ze._)`await ${(0,$u.callValidateCode)(e,t,l)}`),u(t),a||i.assign(m,!0)},g=>{i.if((0,Ze._)`!(${g} instanceof ${o.ValidationError})`,()=>i.throw(g)),f(g),a||i.assign(m,!1)}),e.ok(m)}function p(){e.result((0,$u.callValidateCode)(e,t,l),()=>u(t),()=>f(t))}function f(m){let g=(0,Ze._)`${m}.errors`;i.assign(mn.default.vErrors,(0,Ze._)`${mn.default.vErrors} === null ? ${g} : ${mn.default.vErrors}.concat(${g})`),i.assign(mn.default.errors,(0,Ze._)`${mn.default.vErrors}.length`)}function u(m){var g;if(!o.opts.unevaluated)return;let y=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(o.props!==!0)if(y&&!y.dynamicProps)y.props!==void 0&&(o.props=Oo.mergeEvaluated.props(i,y.props,o.props));else{let w=i.var("props",(0,Ze._)`${m}.evaluated.props`);o.props=Oo.mergeEvaluated.props(i,w,o.props,Ze.Name)}if(o.items!==!0)if(y&&!y.dynamicItems)y.items!==void 0&&(o.items=Oo.mergeEvaluated.items(i,y.items,o.items));else{let w=i.var("items",(0,Ze._)`${m}.evaluated.items`);o.items=Oo.mergeEvaluated.items(i,w,o.items,Ze.Name)}}}Pr.callRef=So;Pr.default=kb});var xu=E(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var _b=Cu(),Ab=Do(),Rb=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",_b.default,Ab.default];pc.default=Rb});var Vu=E(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var jo=x(),nr=jo.operators,Co={maximum:{okStr:"<=",ok:nr.LTE,fail:nr.GT},minimum:{okStr:">=",ok:nr.GTE,fail:nr.LT},exclusiveMaximum:{okStr:"<",ok:nr.LT,fail:nr.GTE},exclusiveMinimum:{okStr:">",ok:nr.GT,fail:nr.LTE}},Eb={message:({keyword:e,schemaCode:t})=>(0,jo.str)`must be ${Co[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,jo._)`{comparison: ${Co[e].okStr}, limit: ${t}}`},Pb={keyword:Object.keys(Co),type:"number",schemaType:"number",$data:!0,error:Eb,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,jo._)`${r} ${Co[t].fail} ${n} || isNaN(${r})`)}};uc.default=Pb});var Mu=E(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var si=x(),Nb={message:({schemaCode:e})=>(0,si.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,si._)`{multipleOf: ${e}}`},Ob={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Nb,code(e){let{gen:t,data:r,schemaCode:n,it:i}=e,o=i.opts.multipleOfPrecision,a=t.let("res"),s=o?(0,si._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0,si._)`${a} !== parseInt(${a})`;e.fail$data((0,si._)`(${n} === 0 || (${a} = ${r}/${n}, ${s}))`)}};fc.default=Ob});var Uu=E(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});function Fu(e){let t=e.length,r=0,n=0,i;for(;n<t;)r++,i=e.charCodeAt(n++),i>=55296&&i<=56319&&n<t&&(i=e.charCodeAt(n),(i&64512)===56320&&n++);return r}mc.default=Fu;Fu.code='require("ajv/dist/runtime/ucs2length").default'});var qu=E(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});var Nr=x(),Sb=q(),Db=Uu(),jb={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,Nr.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,Nr._)`{limit: ${e}}`},Cb={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:jb,code(e){let{keyword:t,data:r,schemaCode:n,it:i}=e,o=t==="maxLength"?Nr.operators.GT:Nr.operators.LT,a=i.opts.unicode===!1?(0,Nr._)`${r}.length`:(0,Nr._)`${(0,Sb.useFunc)(e.gen,Db.default)}(${r})`;e.fail$data((0,Nr._)`${a} ${o} ${n}`)}};gc.default=Cb});var Bu=E(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});var $b=ct(),Tb=q(),gn=x(),Lb={message:({schemaCode:e})=>(0,gn.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,gn._)`{pattern: ${e}}`},xb={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Lb,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:a}=e,s=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=a.opts.code,l=c.code==="new RegExp"?(0,gn._)`new RegExp`:(0,Tb.useFunc)(t,c),d=t.let("valid");t.try(()=>t.assign(d,(0,gn._)`${l}(${o}, ${s}).test(${r})`),()=>t.assign(d,!1)),e.fail$data((0,gn._)`!${d}`)}else{let c=(0,$b.usePattern)(e,i);e.fail$data((0,gn._)`!${c}.test(${r})`)}}};yc.default=xb});var zu=E(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});var ci=x(),Vb={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,ci.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,ci._)`{limit: ${e}}`},Mb={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Vb,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxProperties"?ci.operators.GT:ci.operators.LT;e.fail$data((0,ci._)`Object.keys(${r}).length ${i} ${n}`)}};hc.default=Mb});var Gu=E(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});var li=ct(),di=x(),Fb=q(),Ub={message:({params:{missingProperty:e}})=>(0,di.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,di._)`{missingProperty: ${e}}`},qb={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Ub,code(e){let{gen:t,schema:r,schemaCode:n,data:i,$data:o,it:a}=e,{opts:s}=a;if(!o&&r.length===0)return;let c=r.length>=s.loopRequired;if(a.allErrors?l():d(),s.strictRequired){let u=e.parentSchema.properties,{definedProperties:m}=e.it;for(let g of r)if(u?.[g]===void 0&&!m.has(g)){let y=a.schemaEnv.baseId+a.errSchemaPath,w=`required property "${g}" is not defined at "${y}" (strictRequired)`;(0,Fb.checkStrictMode)(a,w,a.opts.strictRequired)}}function l(){if(c||o)e.block$data(di.nil,p);else for(let u of r)(0,li.checkReportMissingProp)(e,u)}function d(){let u=t.let("missing");if(c||o){let m=t.let("valid",!0);e.block$data(m,()=>f(u,m)),e.ok(m)}else t.if((0,li.checkMissingProp)(e,r,u)),(0,li.reportMissingProp)(e,u),t.else()}function p(){t.forOf("prop",n,u=>{e.setParams({missingProperty:u}),t.if((0,li.noPropertyInData)(t,i,u,s.ownProperties),()=>e.error())})}function f(u,m){e.setParams({missingProperty:u}),t.forOf(u,n,()=>{t.assign(m,(0,li.propertyInData)(t,i,u,s.ownProperties)),t.if((0,di.not)(m),()=>{e.error(),t.break()})},di.nil)}}};wc.default=qb});var Ju=E(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});var pi=x(),Bb={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,pi.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,pi._)`{limit: ${e}}`},zb={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Bb,code(e){let{keyword:t,data:r,schemaCode:n}=e,i=t==="maxItems"?pi.operators.GT:pi.operators.LT;e.fail$data((0,pi._)`${r}.length ${i} ${n}`)}};Ic.default=zb});var $o=E(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});var Wu=Bs();Wu.code='require("ajv/dist/runtime/equal").default';vc.default=Wu});var Ku=E(kc=>{"use strict";Object.defineProperty(kc,"__esModule",{value:!0});var bc=Hn(),De=x(),Gb=q(),Jb=$o(),Wb={message:({params:{i:e,j:t}})=>(0,De.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,De._)`{i: ${e}, j: ${t}}`},Kb={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Wb,code(e){let{gen:t,data:r,$data:n,schema:i,parentSchema:o,schemaCode:a,it:s}=e;if(!n&&!i)return;let c=t.let("valid"),l=o.items?(0,bc.getSchemaTypes)(o.items):[];e.block$data(c,d,(0,De._)`${a} === false`),e.ok(c);function d(){let m=t.let("i",(0,De._)`${r}.length`),g=t.let("j");e.setParams({i:m,j:g}),t.assign(c,!0),t.if((0,De._)`${m} > 1`,()=>(p()?f:u)(m,g))}function p(){return l.length>0&&!l.some(m=>m==="object"||m==="array")}function f(m,g){let y=t.name("item"),w=(0,bc.checkDataTypes)(l,y,s.opts.strictNumbers,bc.DataType.Wrong),A=t.const("indices",(0,De._)`{}`);t.for((0,De._)`;${m}--;`,()=>{t.let(y,(0,De._)`${r}[${m}]`),t.if(w,(0,De._)`continue`),l.length>1&&t.if((0,De._)`typeof ${y} == "string"`,(0,De._)`${y} += "_"`),t.if((0,De._)`typeof ${A}[${y}] == "number"`,()=>{t.assign(g,(0,De._)`${A}[${y}]`),e.error(),t.assign(c,!1).break()}).code((0,De._)`${A}[${y}] = ${m}`)})}function u(m,g){let y=(0,Gb.useFunc)(t,Jb.default),w=t.name("outer");t.label(w).for((0,De._)`;${m}--;`,()=>t.for((0,De._)`${g} = ${m}; ${g}--;`,()=>t.if((0,De._)`${y}(${r}[${m}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(w)})))}}};kc.default=Kb});var Yu=E(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});var _c=x(),Yb=q(),Hb=$o(),Xb={message:"must be equal to constant",params:({schemaCode:e})=>(0,_c._)`{allowedValue: ${e}}`},Zb={keyword:"const",$data:!0,error:Xb,code(e){let{gen:t,data:r,$data:n,schemaCode:i,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0,_c._)`!${(0,Yb.useFunc)(t,Hb.default)}(${r}, ${i})`):e.fail((0,_c._)`${o} !== ${r}`)}};Ac.default=Zb});var Hu=E(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});var ui=x(),Qb=q(),ek=$o(),tk={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ui._)`{allowedValues: ${e}}`},rk={keyword:"enum",schemaType:"array",$data:!0,error:tk,code(e){let{gen:t,data:r,$data:n,schema:i,schemaCode:o,it:a}=e;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let s=i.length>=a.opts.loopEnum,c,l=()=>c??(c=(0,Qb.useFunc)(t,ek.default)),d;if(s||n)d=t.let("valid"),e.block$data(d,p);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let u=t.const("vSchema",o);d=(0,ui.or)(...i.map((m,g)=>f(u,g)))}e.pass(d);function p(){t.assign(d,!1),t.forOf("v",o,u=>t.if((0,ui._)`${l()}(${r}, ${u})`,()=>t.assign(d,!0).break()))}function f(u,m){let g=i[m];return typeof g=="object"&&g!==null?(0,ui._)`${l()}(${r}, ${u}[${m}])`:(0,ui._)`${r} === ${g}`}}};Rc.default=rk});var Xu=E(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});var nk=Vu(),ik=Mu(),ok=qu(),ak=Bu(),sk=zu(),ck=Gu(),lk=Ju(),dk=Ku(),pk=Yu(),uk=Hu(),fk=[nk.default,ik.default,ok.default,ak.default,sk.default,ck.default,lk.default,dk.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},pk.default,uk.default];Ec.default=fk});var Nc=E(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.validateAdditionalItems=void 0;var Or=x(),Pc=q(),mk={message:({params:{len:e}})=>(0,Or.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Or._)`{limit: ${e}}`},gk={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:mk,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Pc.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Zu(e,n)}};function Zu(e,t){let{gen:r,schema:n,data:i,keyword:o,it:a}=e;a.items=!0;let s=r.const("len",(0,Or._)`${i}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Or._)`${s} <= ${t.length}`);else if(typeof n=="object"&&!(0,Pc.alwaysValidSchema)(a,n)){let l=r.var("valid",(0,Or._)`${s} <= ${t.length}`);r.if((0,Or.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,s,d=>{e.subschema({keyword:o,dataProp:d,dataPropType:Pc.Type.Num},l),a.allErrors||r.if((0,Or.not)(l),()=>r.break())})}}fi.validateAdditionalItems=Zu;fi.default=gk});var Oc=E(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateTuple=void 0;var Qu=x(),To=q(),yk=ct(),hk={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return ef(e,"additionalItems",t);r.items=!0,!(0,To.alwaysValidSchema)(r,t)&&e.ok((0,yk.validateArray)(e))}};function ef(e,t,r=e.schema){let{gen:n,parentSchema:i,data:o,keyword:a,it:s}=e;d(i),s.opts.unevaluated&&r.length&&s.items!==!0&&(s.items=To.mergeEvaluated.items(n,r.length,s.items));let c=n.name("valid"),l=n.const("len",(0,Qu._)`${o}.length`);r.forEach((p,f)=>{(0,To.alwaysValidSchema)(s,p)||(n.if((0,Qu._)`${l} > ${f}`,()=>e.subschema({keyword:a,schemaProp:f,dataProp:f},c)),e.ok(c))});function d(p){let{opts:f,errSchemaPath:u}=s,m=r.length,g=m===p.minItems&&(m===p.maxItems||p[t]===!1);if(f.strictTuples&&!g){let y=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${u}"`;(0,To.checkStrictMode)(s,y,f.strictTuples)}}}mi.validateTuple=ef;mi.default=hk});var tf=E(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});var wk=Oc(),Ik={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,wk.validateTuple)(e,"items")};Sc.default=Ik});var nf=E(Dc=>{"use strict";Object.defineProperty(Dc,"__esModule",{value:!0});var rf=x(),vk=q(),bk=ct(),kk=Nc(),_k={message:({params:{len:e}})=>(0,rf.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,rf._)`{limit: ${e}}`},Ak={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:_k,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:i}=r;n.items=!0,!(0,vk.alwaysValidSchema)(n,t)&&(i?(0,kk.validateAdditionalItems)(e,i):e.ok((0,bk.validateArray)(e)))}};Dc.default=Ak});var of=E(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});var dt=x(),Lo=q(),Rk={message:({params:{min:e,max:t}})=>t===void 0?(0,dt.str)`must contain at least ${e} valid item(s)`:(0,dt.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,dt._)`{minContains: ${e}}`:(0,dt._)`{minContains: ${e}, maxContains: ${t}}`},Ek={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Rk,code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e,a,s,{minContains:c,maxContains:l}=n;o.opts.next?(a=c===void 0?1:c,s=l):a=1;let d=t.const("len",(0,dt._)`${i}.length`);if(e.setParams({min:a,max:s}),s===void 0&&a===0){(0,Lo.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(s!==void 0&&a>s){(0,Lo.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Lo.alwaysValidSchema)(o,r)){let g=(0,dt._)`${d} >= ${a}`;s!==void 0&&(g=(0,dt._)`${g} && ${d} <= ${s}`),e.pass(g);return}o.items=!0;let p=t.name("valid");s===void 0&&a===1?u(p,()=>t.if(p,()=>t.break())):a===0?(t.let(p,!0),s!==void 0&&t.if((0,dt._)`${i}.length > 0`,f)):(t.let(p,!1),f()),e.result(p,()=>e.reset());function f(){let g=t.name("_valid"),y=t.let("count",0);u(g,()=>t.if(g,()=>m(y)))}function u(g,y){t.forRange("i",0,d,w=>{e.subschema({keyword:"contains",dataProp:w,dataPropType:Lo.Type.Num,compositeRule:!0},g),y()})}function m(g){t.code((0,dt._)`${g}++`),s===void 0?t.if((0,dt._)`${g} >= ${a}`,()=>t.assign(p,!0).break()):(t.if((0,dt._)`${g} > ${s}`,()=>t.assign(p,!1).break()),a===1?t.assign(p,!0):t.if((0,dt._)`${g} >= ${a}`,()=>t.assign(p,!0)))}}};jc.default=Ek});var xo=E(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.validateSchemaDeps=jt.validatePropertyDeps=jt.error=void 0;var Cc=x(),Pk=q(),gi=ct();jt.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Cc.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Cc._)`{property: ${e},
6
6
  missingProperty: ${n},
7
7
  depsCount: ${t},
8
- deps: ${r}}`};var Nk={keyword:"dependencies",type:"object",schemaType:"object",error:jt.error,code(e){let[t,r]=Ok(e);af(e,t),sf(e,r)}};function Ok({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function af(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let s=t[a];if(s.length===0)continue;let c=(0,gi.propertyInData)(r,n,a,i.opts.ownProperties);e.setParams({property:a,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(c,()=>{for(let l of s)(0,gi.checkReportMissingProp)(e,l)}):(r.if((0,Cc._)`${c} && (${(0,gi.checkMissingProp)(e,s,o)})`),(0,gi.reportMissingProp)(e,o),r.else())}}jt.validatePropertyDeps=af;function sf(e,t=e.schema){let{gen:r,data:n,keyword:i,it:o}=e,a=r.name("valid");for(let s in t)(0,Pk.alwaysValidSchema)(o,t[s])||(r.if((0,gi.propertyInData)(r,n,s,o.opts.ownProperties),()=>{let c=e.subschema({keyword:i,schemaProp:s},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}jt.validateSchemaDeps=sf;jt.default=Nk});var lf=E($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});var cf=x(),Sk=q(),Dk={message:"property name must be valid",params:({params:e})=>(0,cf._)`{propertyName: ${e.propertyName}}`},jk={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Dk,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,Sk.alwaysValidSchema)(i,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},o),t.if((0,cf.not)(o),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(o)}};$c.default=jk});var Lc=E(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});var Vo=ct(),bt=x(),Ck=st(),Mo=q(),$k={message:"must NOT have additional properties",params:({params:e})=>(0,bt._)`{additionalProperty: ${e.additionalProperty}}`},Tk={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:$k,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,Mo.alwaysValidSchema)(a,r))return;let l=(0,Vo.allSchemaProperties)(n.properties),d=(0,Vo.allSchemaProperties)(n.patternProperties);p(),e.ok((0,bt._)`${o} === ${Ck.default.errors}`);function p(){t.forIn("key",i,y=>{!l.length&&!d.length?m(y):t.if(f(y),()=>m(y))})}function f(y){let w;if(l.length>8){let A=(0,Mo.schemaRefOrVal)(a,n.properties,"properties");w=(0,Vo.isOwnProperty)(t,A,y)}else l.length?w=(0,bt.or)(...l.map(A=>(0,bt._)`${y} === ${A}`)):w=bt.nil;return d.length&&(w=(0,bt.or)(w,...d.map(A=>(0,bt._)`${(0,Vo.usePattern)(e,A)}.test(${y})`))),(0,bt.not)(w)}function u(y){t.code((0,bt._)`delete ${i}[${y}]`)}function m(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){u(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,Mo.alwaysValidSchema)(a,r)){let w=t.name("valid");c.removeAdditional==="failing"?(g(y,w,!1),t.if((0,bt.not)(w),()=>{e.reset(),u(y)})):(g(y,w),s||t.if((0,bt.not)(w),()=>t.break()))}}function g(y,w,A){let b={keyword:"additionalProperties",dataProp:y,dataPropType:Mo.Type.Str};A===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(b,w)}}};Tc.default=Tk});var uf=E(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});var Lk=ei(),df=ct(),xc=q(),pf=Lc(),xk={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&pf.default.code(new Lk.KeywordCxt(o,pf.default,"additionalProperties"));let a=(0,df.allSchemaProperties)(r);for(let p of a)o.definedProperties.add(p);o.opts.unevaluated&&a.length&&o.props!==!0&&(o.props=xc.mergeEvaluated.props(t,(0,xc.toHash)(a),o.props));let s=a.filter(p=>!(0,xc.alwaysValidSchema)(o,r[p]));if(s.length===0)return;let c=t.name("valid");for(let p of s)l(p)?d(p):(t.if((0,df.propertyInData)(t,i,p,o.opts.ownProperties)),d(p),o.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(c);function l(p){return o.opts.useDefaults&&!o.compositeRule&&r[p].default!==void 0}function d(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},c)}}};Vc.default=xk});var yf=E(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});var ff=ct(),Fo=x(),mf=q(),gf=q(),Vk={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:o}=e,{opts:a}=o,s=(0,ff.allSchemaProperties)(r),c=s.filter(g=>(0,mf.alwaysValidSchema)(o,r[g]));if(s.length===0||c.length===s.length&&(!o.opts.unevaluated||o.props===!0))return;let l=a.strictSchema&&!a.allowMatchingProperties&&i.properties,d=t.name("valid");o.props!==!0&&!(o.props instanceof Fo.Name)&&(o.props=(0,gf.evaluatedPropsToName)(t,o.props));let{props:p}=o;f();function f(){for(let g of s)l&&u(g),o.allErrors?m(g):(t.var(d,!0),m(g),t.if(d))}function u(g){for(let y in l)new RegExp(g).test(y)&&(0,mf.checkStrictMode)(o,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){t.forIn("key",n,y=>{t.if((0,Fo._)`${(0,ff.usePattern)(e,g)}.test(${y})`,()=>{let w=c.includes(g);w||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:gf.Type.Str},d),o.opts.unevaluated&&p!==!0?t.assign((0,Fo._)`${p}[${y}]`,!0):!w&&!o.allErrors&&t.if((0,Fo.not)(d),()=>t.break())})})}}};Mc.default=Vk});var hf=E(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});var Mk=q(),Fk={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,Mk.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Fc.default=Fk});var wf=E(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});var Uk=ct(),qk={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Uk.validateUnion,error:{message:"must match a schema in anyOf"}};Uc.default=qk});var If=E(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});var Uo=x(),Bk=q(),zk={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Uo._)`{passingSchemas: ${e.passing}}`},Gk={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:zk,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",!1),s=t.let("passing",null),c=t.name("_valid");e.setParams({passing:s}),t.block(l),e.result(a,()=>e.reset(),()=>e.error(!0));function l(){o.forEach((d,p)=>{let f;(0,Bk.alwaysValidSchema)(i,d)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},c),p>0&&t.if((0,Uo._)`${c} && ${a}`).assign(a,!1).assign(s,(0,Uo._)`[${s}, ${p}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(s,p),f&&e.mergeEvaluated(f,Uo.Name)})})}}};qc.default=Gk});var vf=E(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});var Jk=q(),Wk={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((o,a)=>{if((0,Jk.alwaysValidSchema)(n,o))return;let s=e.subschema({keyword:"allOf",schemaProp:a},i);e.ok(i),e.mergeEvaluated(s)})}};Bc.default=Wk});var _f=E(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var qo=x(),kf=q(),Kk={message:({params:e})=>(0,qo.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,qo._)`{failingKeyword: ${e.ifClause}}`},Yk={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Kk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,kf.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=bf(n,"then"),o=bf(n,"else");if(!i&&!o)return;let a=t.let("valid",!0),s=t.name("_valid");if(c(),e.reset(),i&&o){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(s,l("then",d),l("else",d))}else i?t.if(s,l("then")):t.if((0,qo.not)(s),l("else"));e.pass(a,()=>e.error(!0));function c(){let d=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(d)}function l(d,p){return()=>{let f=e.subschema({keyword:d},s);t.assign(a,s),e.mergeValidEvaluated(f,a),p?t.assign(p,(0,qo._)`${d}`):e.setParams({ifClause:d})}}}};function bf(e,t){let r=e.schema[t];return r!==void 0&&!(0,kf.alwaysValidSchema)(e,r)}zc.default=Yk});var Af=E(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var Hk=q(),Xk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Hk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Gc.default=Xk});var Rf=E(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});var Zk=Nc(),Qk=tf(),e_=Oc(),t_=nf(),r_=of(),n_=xo(),i_=lf(),o_=Lc(),a_=uf(),s_=yf(),c_=hf(),l_=wf(),d_=If(),p_=vf(),u_=_f(),f_=Af();function m_(e=!1){let t=[c_.default,l_.default,d_.default,p_.default,u_.default,f_.default,i_.default,o_.default,n_.default,a_.default,s_.default];return e?t.push(Qk.default,t_.default):t.push(Zk.default,e_.default),t.push(r_.default),t}Jc.default=m_});var Kc=E(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.dynamicAnchor=void 0;var Wc=x(),g_=st(),Ef=ri(),y_=Do(),h_={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Pf(e,e.schema)};function Pf(e,t){let{gen:r,it:n}=e;n.schemaEnv.root.dynamicAnchors[t]=!0;let i=(0,Wc._)`${g_.default.dynamicAnchors}${(0,Wc.getProperty)(t)}`,o=n.errSchemaPath==="#"?n.validateName:w_(e);r.if((0,Wc._)`!${i}`,()=>r.assign(i,o))}yi.dynamicAnchor=Pf;function w_(e){let{schemaEnv:t,schema:r,self:n}=e.it,{root:i,baseId:o,localRefs:a,meta:s}=t.root,{schemaId:c}=n.opts,l=new Ef.SchemaEnv({schema:r,schemaId:c,root:i,baseId:o,localRefs:a,meta:s});return Ef.compileSchema.call(n,l),(0,y_.getValidate)(e,l)}yi.default=h_});var Yc=E(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.dynamicRef=void 0;var Nf=x(),I_=st(),Of=Do(),v_={keyword:"$dynamicRef",schemaType:"string",code:e=>Sf(e,e.schema)};function Sf(e,t){let{gen:r,keyword:n,it:i}=e;if(t[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let o=t.slice(1);if(i.allErrors)a();else{let c=r.let("valid",!1);a(c),e.ok(c)}function a(c){if(i.schemaEnv.root.dynamicAnchors[o]){let l=r.let("_v",(0,Nf._)`${I_.default.dynamicAnchors}${(0,Nf.getProperty)(o)}`);r.if(l,s(l,c),s(i.validateName,c))}else s(i.validateName,c)()}function s(c,l){return l?()=>r.block(()=>{(0,Of.callRef)(e,c),r.let(l,!0)}):()=>(0,Of.callRef)(e,c)}}hi.dynamicRef=Sf;hi.default=v_});var Df=E(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});var b_=Kc(),k_=q(),__={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,b_.dynamicAnchor)(e,""):(0,k_.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};Hc.default=__});var jf=E(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});var A_=Yc(),R_={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,A_.dynamicRef)(e,e.schema)};Xc.default=R_});var Cf=E(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});var E_=Kc(),P_=Yc(),N_=Df(),O_=jf(),S_=[E_.default,P_.default,N_.default,O_.default];Zc.default=S_});var Tf=E(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});var $f=xo(),D_={keyword:"dependentRequired",type:"object",schemaType:"object",error:$f.error,code:e=>(0,$f.validatePropertyDeps)(e)};Qc.default=D_});var Lf=E(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var j_=xo(),C_={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,j_.validateSchemaDeps)(e)};el.default=C_});var xf=E(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var $_=q(),T_={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0,$_.checkStrictMode)(r,`"${e}" without "contains" is ignored`)}};tl.default=T_});var Vf=E(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});var L_=Tf(),x_=Lf(),V_=xf(),M_=[L_.default,x_.default,V_.default];rl.default=M_});var Ff=E(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});var ir=x(),Mf=q(),F_=st(),U_={message:"must NOT have unevaluated properties",params:({params:e})=>(0,ir._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},q_={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:U_,code(e){let{gen:t,schema:r,data:n,errsCount:i,it:o}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,props:s}=o;s instanceof ir.Name?t.if((0,ir._)`${s} !== true`,()=>t.forIn("key",n,p=>t.if(l(s,p),()=>c(p)))):s!==!0&&t.forIn("key",n,p=>s===void 0?c(p):t.if(d(s,p),()=>c(p))),o.props=!0,e.ok((0,ir._)`${i} === ${F_.default.errors}`);function c(p){if(r===!1){e.setParams({unevaluatedProperty:p}),e.error(),a||t.break();return}if(!(0,Mf.alwaysValidSchema)(o,r)){let f=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:p,dataPropType:Mf.Type.Str},f),a||t.if((0,ir.not)(f),()=>t.break())}}function l(p,f){return(0,ir._)`!${p} || !${p}[${f}]`}function d(p,f){let u=[];for(let m in p)p[m]===!0&&u.push((0,ir._)`${f} !== ${m}`);return(0,ir.and)(...u)}}};nl.default=q_});var qf=E(il=>{"use strict";Object.defineProperty(il,"__esModule",{value:!0});var Sr=x(),Uf=q(),B_={message:({params:{len:e}})=>(0,Sr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Sr._)`{limit: ${e}}`},z_={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:B_,code(e){let{gen:t,schema:r,data:n,it:i}=e,o=i.items||0;if(o===!0)return;let a=t.const("len",(0,Sr._)`${n}.length`);if(r===!1)e.setParams({len:o}),e.fail((0,Sr._)`${a} > ${o}`);else if(typeof r=="object"&&!(0,Uf.alwaysValidSchema)(i,r)){let c=t.var("valid",(0,Sr._)`${a} <= ${o}`);t.if((0,Sr.not)(c),()=>s(c,o)),e.ok(c)}i.items=!0;function s(c,l){t.forRange("i",l,a,d=>{e.subschema({keyword:"unevaluatedItems",dataProp:d,dataPropType:Uf.Type.Num},c),i.allErrors||t.if((0,Sr.not)(c),()=>t.break())})}}};il.default=z_});var Bf=E(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});var G_=Ff(),J_=qf(),W_=[G_.default,J_.default];ol.default=W_});var zf=E(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});var ke=x(),K_={message:({schemaCode:e})=>(0,ke.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ke._)`{format: ${e}}`},Y_={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:K_,code(e,t){let{gen:r,data:n,$data:i,schema:o,schemaCode:a,it:s}=e,{opts:c,errSchemaPath:l,schemaEnv:d,self:p}=s;if(!c.validateFormats)return;i?f():u();function f(){let m=r.scopeValue("formats",{ref:p.formats,code:c.code.formats}),g=r.const("fDef",(0,ke._)`${m}[${a}]`),y=r.let("fType"),w=r.let("format");r.if((0,ke._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,ke._)`${g}.type || "string"`).assign(w,(0,ke._)`${g}.validate`),()=>r.assign(y,(0,ke._)`"string"`).assign(w,g)),e.fail$data((0,ke.or)(A(),b()));function A(){return c.strictSchema===!1?ke.nil:(0,ke._)`${a} && !${w}`}function b(){let R=d.$async?(0,ke._)`(${g}.async ? await ${w}(${n}) : ${w}(${n}))`:(0,ke._)`${w}(${n})`,I=(0,ke._)`(typeof ${w} == "function" ? ${R} : ${w}.test(${n}))`;return(0,ke._)`${w} && ${w} !== true && ${y} === ${t} && !${I}`}}function u(){let m=p.formats[o];if(!m){A();return}if(m===!0)return;let[g,y,w]=b(m);g===t&&e.pass(R());function A(){if(c.strictSchema===!1){p.logger.warn(I());return}throw new Error(I());function I(){return`unknown format "${o}" ignored in schema at path "${l}"`}}function b(I){let _=I instanceof RegExp?(0,ke.regexpCode)(I):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.getProperty)(o)}`:void 0,S=r.scopeValue("formats",{key:o,ref:I,code:_});return typeof I=="object"&&!(I instanceof RegExp)?[I.type||"string",I.validate,(0,ke._)`${S}.validate`]:["string",I,S]}function R(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${w}(${n})`}return typeof y=="function"?(0,ke._)`${w}(${n})`:(0,ke._)`${w}.test(${n})`}}}};al.default=Y_});var Gf=E(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var H_=zf(),X_=[H_.default];sl.default=X_});var Jf=E(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.contentVocabulary=yn.metadataVocabulary=void 0;yn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];yn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Kf=E(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});var Z_=xu(),Q_=Xu(),eA=Rf(),tA=Cf(),rA=Vf(),nA=Bf(),iA=Gf(),Wf=Jf(),oA=[tA.default,Z_.default,Q_.default,(0,eA.default)(!0),iA.default,Wf.metadataVocabulary,Wf.contentVocabulary,rA.default,nA.default];cl.default=oA});var Hf=E(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.DiscrError=void 0;var Yf;(function(e){e.Tag="tag",e.Mapping="mapping"})(Yf||(Bo.DiscrError=Yf={}))});var Zf=E(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});var hn=x(),ll=Hf(),Xf=ri(),aA=ti(),sA=q(),cA={message:({params:{discrError:e,tagName:t}})=>e===ll.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,hn._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},lA={keyword:"discriminator",type:"object",schemaType:"object",error:cA,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:o}=e,{oneOf:a}=i;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,hn._)`${r}${(0,hn.getProperty)(s)}`);t.if((0,hn._)`typeof ${l} == "string"`,()=>d(),()=>e.error(!1,{discrError:ll.DiscrError.Tag,tag:l,tagName:s})),e.ok(c);function d(){let u=f();t.if(!1);for(let m in u)t.elseIf((0,hn._)`${l} === ${m}`),t.assign(c,p(u[m]));t.else(),e.error(!1,{discrError:ll.DiscrError.Mapping,tag:l,tagName:s}),t.endIf()}function p(u){let m=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:u},m);return e.mergeEvaluated(g,hn.Name),m}function f(){var u;let m={},g=w(i),y=!0;for(let R=0;R<a.length;R++){let I=a[R];if(I?.$ref&&!(0,sA.schemaHasRulesButRef)(I,o.self.RULES)){let S=I.$ref;if(I=Xf.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,S),I instanceof Xf.SchemaEnv&&(I=I.schema),I===void 0)throw new aA.default(o.opts.uriResolver,o.baseId,S)}let _=(u=I?.properties)===null||u===void 0?void 0:u[s];if(typeof _!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);y=y&&(g||w(I)),A(_,R)}if(!y)throw new Error(`discriminator: "${s}" must be required`);return m;function w({required:R}){return Array.isArray(R)&&R.includes(s)}function A(R,I){if(R.const)b(R.const,I);else if(R.enum)for(let _ of R.enum)b(_,I);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function b(R,I){if(typeof R!="string"||R in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[R]=I}}}};dl.default=lA});var Qf=E((VS,dA)=>{dA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}}});var em=E((MS,pA)=>{pA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":!0},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}});var tm=E((FS,uA)=>{uA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}});var rm=E((US,fA)=>{fA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}});var nm=E((qS,mA)=>{mA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}});var im=E((BS,gA)=>{gA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}});var om=E((zS,yA)=>{yA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var am=E((GS,hA)=>{hA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":!0},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var sm=E(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});var wA=Qf(),IA=em(),vA=tm(),bA=rm(),kA=nm(),_A=im(),AA=om(),RA=am(),EA=["/properties"];function PA(e){return[wA,IA,vA,bA,kA,t(this,_A),AA,t(this,RA)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function t(r,n){return e?r.$dataMetaSchema(n,EA):n}}pl.default=PA});var Dr=E((me,fl)=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MissingRefError=me.ValidationError=me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=me.Ajv2020=void 0;var NA=ju(),OA=Kf(),SA=Zf(),DA=sm(),ul="https://json-schema.org/draft/2020-12/schema",wn=class extends NA.default{constructor(t={}){super({...t,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),OA.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(SA.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(DA.default.call(this,t),this.refs["http://json-schema.org/schema"]=ul)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ul)?ul:void 0)}};me.Ajv2020=wn;fl.exports=me=wn;fl.exports.Ajv2020=wn;Object.defineProperty(me,"__esModule",{value:!0});me.default=wn;var jA=ei();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return jA.KeywordCxt}});var In=x();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return In._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return In.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return In.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return In.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return In.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return In.CodeGen}});var CA=bo();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return CA.default}});var $A=ti();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return $A.default}})});import be from"node:process";import Qe from"node:path";import{spawnSync as dO}from"node:child_process";import{readFile as pO}from"node:fs/promises";var te="^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$",Ot="^sha256:[a-f0-9]{64}$";import{constants as ca}from"node:fs";import{lstat as dR,mkdir as Nn,open as Am,readFile as Ri,realpath as Vr,rename as pR,unlink as Sl}from"node:fs/promises";import{randomUUID as Dl}from"node:crypto";import Ne from"node:path";var cm=nn(Dr(),1);var je={type:"string",pattern:Ot},TA={type:"string",pattern:"^[a-z][a-z0-9.-]{2,127}$"},ml={type:"string",format:"date-time"},gl={enum:["typescript.typecheck","vitest.run","typescript.build","npm.pack-dry-run","workspace.structure","capability.assets","node.application-smoke","web.application-build","web.application-smoke","expo.application-config","expo.application-export","react.library-build","next.application-test","next.application-build","next.application-package","next.application-smoke","application.config-contract"]},lm={type:"object",additionalProperties:!1,required:["node","pnpm","typescript"],properties:{node:{type:"string",minLength:1,maxLength:64},pnpm:{type:"string",minLength:1,maxLength:64},typescript:{type:"string",minLength:1,maxLength:64}}},yl={$id:"https://schemas.dyyto.dev/platform/capability-bundle-release-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","capabilityId","version","integrity","consumerProfile","compatibility","assets","verifiers","exit"],properties:{schemaVersion:{const:1},capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:je,consumerProfile:{enum:["blank-typescript-library","standalone-npm-package","react-component-library","nextjs-full-stack-application","workspace-root","workspace-npm-package","workspace-node-application","workspace-web-application","workspace-expo-application","any-project"]},kind:{enum:["profile","engineering-feature","integration-feature","domain-extension"]},dependencies:{type:"object",additionalProperties:!1,required:["profiles"],properties:{profiles:{type:"array",minItems:1,uniqueItems:!0,items:{type:"string",minLength:1,maxLength:128}},capabilities:{type:"array",minItems:1,uniqueItems:!0,items:{type:"string",pattern:te}}}},compatibility:lm,integration:{type:"object",additionalProperties:!1,required:["title","purpose","packages","codeAssets"],properties:{title:{type:"string",minLength:1,maxLength:128},purpose:{type:"string",minLength:1,maxLength:512},packages:{type:"array",items:{type:"object",additionalProperties:!1,required:["packageName","version","usage","imports"],properties:{packageName:{type:"string",minLength:1,maxLength:214},version:{type:"string",minLength:1,maxLength:128},usage:{enum:["runtime","development","build","test"]},imports:{type:"array",items:{type:"object",additionalProperties:!1,required:["importFrom","symbol"],properties:{importFrom:{type:"string",minLength:1,maxLength:214},symbol:{type:"string",minLength:1,maxLength:128},referencePath:{type:"string",minLength:1,maxLength:512}}}}}}},codeAssets:{type:"array",items:{type:"object",additionalProperties:!1,required:["sourcePath","targetPath","ownership"],properties:{sourcePath:{type:"string",minLength:1,maxLength:512},targetPath:{type:"string",minLength:1,maxLength:512},ownership:{enum:["owned-file","managed-region","seed-file"]}}}}}},assets:{type:"array",minItems:1,items:{type:"object",additionalProperties:!1,required:["path","ownership","digest","mode"],properties:{path:{type:"string",minLength:1,maxLength:512},ownership:{enum:["owned-file","managed-region","seed-file"]},digest:je,mode:{type:"integer",minimum:0,maximum:511},regionId:{type:"string",pattern:te},renderer:{enum:["npm-package-json-v1","npm-package-json-v2","react-component-package-json-v1","nextjs-application-package-json-v1","workspace-root-package-json-v1","node-application-package-json-v1","web-application-package-json-v1","expo-application-package-json-v1","application-config-contract-v1","application-config-binding-v1"]}},allOf:[{if:{properties:{ownership:{const:"managed-region"}},required:["ownership"]},then:{properties:{regionId:{type:"string",pattern:te}},required:["regionId"]},else:{not:{required:["regionId"]}}}]}},verifiers:{type:"array",minItems:1,items:{type:"object",additionalProperties:!1,required:["id"],properties:{id:gl}}},exit:{type:"object",additionalProperties:!1,required:["ownedAssets"],properties:{ownedAssets:{type:"array",items:{type:"string",minLength:1,maxLength:512}}}}}},dm={type:"object",additionalProperties:!1,required:["registryId","packageName","version","integrity","tarballDigest","deliveryReceiptId","usage"],properties:{registryId:{type:"string",pattern:"^registry\\.[a-z0-9][a-z0-9.-]{1,126}$"},packageName:{type:"string",pattern:"^@[a-z0-9][a-z0-9._-]*/[a-z0-9][a-z0-9._-]*$",maxLength:214},version:{type:"string",pattern:"^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$",maxLength:64},integrity:{type:"string",pattern:"^sha512-[A-Za-z0-9+/]{86}==$"},tarballDigest:je,deliveryReceiptId:je,usage:{enum:["runtime","development"]}}},{$id:KS,...pm}=yl,LA={...pm,$id:"https://schemas.dyyto.dev/platform/capability-bundle-release-v2.json",required:[...yl.required,"availability","packageSources"],properties:{...yl.properties,schemaVersion:{const:2},availability:{oneOf:[{type:"object",additionalProperties:!1,required:["maturity","visibility","sourceState"],properties:{maturity:{const:"candidate"},visibility:{const:"maintainers-only"},sourceState:{const:"local-artifact"}}},{type:"object",additionalProperties:!1,required:["maturity","visibility","sourceState"],properties:{maturity:{const:"candidate"},visibility:{const:"maintainers-only"},sourceState:{const:"development-registry"}}},{type:"object",additionalProperties:!1,required:["maturity","visibility","sourceState"],properties:{maturity:{const:"available"},visibility:{const:"catalog-consumers"},sourceState:{const:"registry-verified"}}},{type:"object",additionalProperties:!1,required:["maturity","visibility","reasonCode"],properties:{maturity:{const:"withdrawn"},visibility:{const:"existing-locks-only"},reasonCode:{type:"string",pattern:"^[A-Z][A-Z0-9_]{2,63}$"}}}]},packageSources:{type:"array",maxItems:128,items:dm}}},xA={$id:"https://schemas.dyyto.dev/platform/capability-bundle-release.json",oneOf:[pm,(()=>{let{$id:e,...t}=LA;return t})()]},zo={$id:"https://schemas.dyyto.dev/platform/verification-result-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","verifierId","result","issuer","commandId","exitCode","stdoutDigest","stderrDigest","startedAt","completedAt","projectStateDigest","runtime"],properties:{schemaVersion:{const:1},verifierId:gl,result:{enum:["passed","failed"]},issuer:{enum:["dyyto-cli","test-harness","external-ci"]},commandId:gl,exitCode:{type:"integer",minimum:0,maximum:255},stdoutDigest:je,stderrDigest:je,startedAt:ml,completedAt:ml,projectStateDigest:je,runtime:lm}},VA={...zo,$id:"https://schemas.dyyto.dev/platform/adoption-evidence-v1.json",required:[...zo.required,"evidenceId","capabilityId","capabilityVersion","capabilityIntegrity"],properties:{...zo.properties,evidenceId:je,capabilityId:{type:"string",pattern:te},capabilityVersion:{type:"string",minLength:1,maxLength:128},capabilityIntegrity:je}},MA={$id:"https://schemas.dyyto.dev/platform/project-adoption-lock.json",type:"object",additionalProperties:!1,required:["schemaVersion","capabilities"],properties:{schemaVersion:{enum:[1,2]},capabilities:{type:"array",items:{type:"object",additionalProperties:!1,required:["capabilityId","version","integrity","consumerProfile","appliedPlanId","projectStateDigest","assets","evidenceIds","committedAt"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:je,consumerProfile:{type:"string",minLength:1,maxLength:128},appliedPlanId:je,projectStateDigest:je,assets:{type:"array",items:{type:"object",additionalProperties:!1,required:["path","digest"],properties:{path:{type:"string",minLength:1,maxLength:512},digest:je,ownership:{enum:["owned-file","managed-region","seed-file"]},regionId:{type:"string",pattern:te}},allOf:[{if:{properties:{ownership:{const:"managed-region"}},required:["ownership"]},then:{properties:{regionId:{type:"string",pattern:te}},required:["regionId"]}}]}},evidenceIds:{type:"array",items:je},committedAt:ml,packageAdoption:{type:"object",additionalProperties:!1,required:["registryRevisions","sources","packageJsonDigest","lockfileDigest"],properties:{sourceChannel:{enum:["production","development"]},registryRevisions:{type:"array",items:{type:"object",additionalProperties:!1,required:["registryId","revision"],properties:{registryId:TA,revision:je}}},sources:{type:"array",minItems:1,maxItems:128,items:dm},packageJsonDigest:je,lockfileDigest:je}}}}}},allOf:[{if:{properties:{schemaVersion:{const:1}},required:["schemaVersion"]},then:{properties:{capabilities:{type:"array",items:{type:"object",not:{type:"object",properties:{packageAdoption:{}},required:["packageAdoption"]}}}}}}]},wi=new cm.Ajv2020({allErrors:!0,strict:!0});wi.addFormat("date-time",{type:"string",validate:e=>!Number.isNaN(Date.parse(e))});var Jo={capabilityBundleRelease:wi.compile(xA),verificationResult:wi.compile(zo),adoptionEvidence:wi.compile(VA),projectAdoptionLock:wi.compile(MA)},Go=class extends Error{contract;issues;code="ADOPTION_CONTRACT_INVALID";constructor(t,r){super(`Invalid ${t} contract`),this.contract=t,this.issues=r}};function Wo(e,t,r){if(!t(r))throw new Go(e,t.errors??[]);return r}var um=e=>{let t=Wo("capabilityBundleRelease",Jo.capabilityBundleRelease,e);if(t.schemaVersion===2){let r=()=>{throw new Go("capabilityBundleRelease",[])},n=t.packageSources;(t.availability.maturity==="candidate"&&t.availability.sourceState==="local-artifact"&&n.length!==0||t.availability.maturity==="candidate"&&t.availability.sourceState==="development-registry"&&n.length===0||t.availability.maturity!=="candidate"&&n.length===0)&&r();let i="",o=new Set;for(let s of n){let c=`${s.packageName}@${s.version}`;(c.localeCompare(i)<=0||o.has(c))&&r(),i=c,o.add(c)}let a=t.integration?.packages??[];(t.availability.maturity!=="candidate"||t.availability.sourceState==="development-registry")&&(a.length!==n.length||a.some(s=>!n.some(c=>c.packageName===s.packageName&&c.version===s.version&&c.usage===s.usage)))&&r()}return t},fm=e=>Wo("verificationResult",Jo.verificationResult,e),Ii=e=>Wo("adoptionEvidence",Jo.adoptionEvidence,e),Ge=e=>Wo("projectAdoptionLock",Jo.projectAdoptionLock,e);import{lstat as KA,readFile as vl,realpath as bl}from"node:fs/promises";import bn from"node:path";import{createHash as FA}from"node:crypto";function h(e){return`sha256:${FA("sha256").update(e).digest("hex")}`}function k(e){return Array.isArray(e)?`[${e.map(k).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>`${JSON.stringify(r)}:${k(n)}`).join(",")}}`:JSON.stringify(e)}var Ct=class extends Error{code="MANAGED_REGION_INVALID";constructor(t){super(t)}};function mm(e){if(!new RegExp(te).test(e))throw new Ct("Region identity is invalid");return{begin:`<!-- dyyto:begin ${e} -->`,end:`<!-- dyyto:end ${e} -->`}}function Ko(e,t){if(e.includes("\r"))throw new Ct("Managed regions require LF newlines");let{begin:r,end:n}=mm(t),i=e.split(r).length-1,o=e.split(n).length-1;if(i!==1||o!==1)throw new Ct("Managed region markers are unavailable or ambiguous");let a=e.indexOf(r)+r.length,s=e.indexOf(n,a),c=e.slice(a,s);if(/<!-- dyyto:(?:begin|end) /.test(c))throw new Ct("Managed regions cannot overlap");return`${c.replace(/^\n+|\n+$/g,"")}
8
+ deps: ${r}}`};var Nk={keyword:"dependencies",type:"object",schemaType:"object",error:jt.error,code(e){let[t,r]=Ok(e);af(e,t),sf(e,r)}};function Ok({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let i=Array.isArray(e[n])?t:r;i[n]=e[n]}return[t,r]}function af(e,t=e.schema){let{gen:r,data:n,it:i}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let s=t[a];if(s.length===0)continue;let c=(0,gi.propertyInData)(r,n,a,i.opts.ownProperties);e.setParams({property:a,depsCount:s.length,deps:s.join(", ")}),i.allErrors?r.if(c,()=>{for(let l of s)(0,gi.checkReportMissingProp)(e,l)}):(r.if((0,Cc._)`${c} && (${(0,gi.checkMissingProp)(e,s,o)})`),(0,gi.reportMissingProp)(e,o),r.else())}}jt.validatePropertyDeps=af;function sf(e,t=e.schema){let{gen:r,data:n,keyword:i,it:o}=e,a=r.name("valid");for(let s in t)(0,Pk.alwaysValidSchema)(o,t[s])||(r.if((0,gi.propertyInData)(r,n,s,o.opts.ownProperties),()=>{let c=e.subschema({keyword:i,schemaProp:s},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}jt.validateSchemaDeps=sf;jt.default=Nk});var lf=E($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});var cf=x(),Sk=q(),Dk={message:"property name must be valid",params:({params:e})=>(0,cf._)`{propertyName: ${e.propertyName}}`},jk={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Dk,code(e){let{gen:t,schema:r,data:n,it:i}=e;if((0,Sk.alwaysValidSchema)(i,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},o),t.if((0,cf.not)(o),()=>{e.error(!0),i.allErrors||t.break()})}),e.ok(o)}};$c.default=jk});var Lc=E(Tc=>{"use strict";Object.defineProperty(Tc,"__esModule",{value:!0});var Vo=ct(),bt=x(),Ck=st(),Mo=q(),$k={message:"must NOT have additional properties",params:({params:e})=>(0,bt._)`{additionalProperty: ${e.additionalProperty}}`},Tk={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:$k,code(e){let{gen:t,schema:r,parentSchema:n,data:i,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:s,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,Mo.alwaysValidSchema)(a,r))return;let l=(0,Vo.allSchemaProperties)(n.properties),d=(0,Vo.allSchemaProperties)(n.patternProperties);p(),e.ok((0,bt._)`${o} === ${Ck.default.errors}`);function p(){t.forIn("key",i,y=>{!l.length&&!d.length?m(y):t.if(f(y),()=>m(y))})}function f(y){let w;if(l.length>8){let A=(0,Mo.schemaRefOrVal)(a,n.properties,"properties");w=(0,Vo.isOwnProperty)(t,A,y)}else l.length?w=(0,bt.or)(...l.map(A=>(0,bt._)`${y} === ${A}`)):w=bt.nil;return d.length&&(w=(0,bt.or)(w,...d.map(A=>(0,bt._)`${(0,Vo.usePattern)(e,A)}.test(${y})`))),(0,bt.not)(w)}function u(y){t.code((0,bt._)`delete ${i}[${y}]`)}function m(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){u(y);return}if(r===!1){e.setParams({additionalProperty:y}),e.error(),s||t.break();return}if(typeof r=="object"&&!(0,Mo.alwaysValidSchema)(a,r)){let w=t.name("valid");c.removeAdditional==="failing"?(g(y,w,!1),t.if((0,bt.not)(w),()=>{e.reset(),u(y)})):(g(y,w),s||t.if((0,bt.not)(w),()=>t.break()))}}function g(y,w,A){let b={keyword:"additionalProperties",dataProp:y,dataPropType:Mo.Type.Str};A===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(b,w)}}};Tc.default=Tk});var uf=E(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});var Lk=ei(),df=ct(),xc=q(),pf=Lc(),xk={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:i,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&pf.default.code(new Lk.KeywordCxt(o,pf.default,"additionalProperties"));let a=(0,df.allSchemaProperties)(r);for(let p of a)o.definedProperties.add(p);o.opts.unevaluated&&a.length&&o.props!==!0&&(o.props=xc.mergeEvaluated.props(t,(0,xc.toHash)(a),o.props));let s=a.filter(p=>!(0,xc.alwaysValidSchema)(o,r[p]));if(s.length===0)return;let c=t.name("valid");for(let p of s)l(p)?d(p):(t.if((0,df.propertyInData)(t,i,p,o.opts.ownProperties)),d(p),o.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(p),e.ok(c);function l(p){return o.opts.useDefaults&&!o.compositeRule&&r[p].default!==void 0}function d(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},c)}}};Vc.default=xk});var yf=E(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});var ff=ct(),Fo=x(),mf=q(),gf=q(),Vk={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:i,it:o}=e,{opts:a}=o,s=(0,ff.allSchemaProperties)(r),c=s.filter(g=>(0,mf.alwaysValidSchema)(o,r[g]));if(s.length===0||c.length===s.length&&(!o.opts.unevaluated||o.props===!0))return;let l=a.strictSchema&&!a.allowMatchingProperties&&i.properties,d=t.name("valid");o.props!==!0&&!(o.props instanceof Fo.Name)&&(o.props=(0,gf.evaluatedPropsToName)(t,o.props));let{props:p}=o;f();function f(){for(let g of s)l&&u(g),o.allErrors?m(g):(t.var(d,!0),m(g),t.if(d))}function u(g){for(let y in l)new RegExp(g).test(y)&&(0,mf.checkStrictMode)(o,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){t.forIn("key",n,y=>{t.if((0,Fo._)`${(0,ff.usePattern)(e,g)}.test(${y})`,()=>{let w=c.includes(g);w||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:gf.Type.Str},d),o.opts.unevaluated&&p!==!0?t.assign((0,Fo._)`${p}[${y}]`,!0):!w&&!o.allErrors&&t.if((0,Fo.not)(d),()=>t.break())})})}}};Mc.default=Vk});var hf=E(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});var Mk=q(),Fk={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,Mk.alwaysValidSchema)(n,r)){e.fail();return}let i=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),e.failResult(i,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Fc.default=Fk});var wf=E(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});var Uk=ct(),qk={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Uk.validateUnion,error:{message:"must match a schema in anyOf"}};Uc.default=qk});var If=E(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});var Uo=x(),Bk=q(),zk={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,Uo._)`{passingSchemas: ${e.passing}}`},Gk={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:zk,code(e){let{gen:t,schema:r,parentSchema:n,it:i}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",!1),s=t.let("passing",null),c=t.name("_valid");e.setParams({passing:s}),t.block(l),e.result(a,()=>e.reset(),()=>e.error(!0));function l(){o.forEach((d,p)=>{let f;(0,Bk.alwaysValidSchema)(i,d)?t.var(c,!0):f=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:!0},c),p>0&&t.if((0,Uo._)`${c} && ${a}`).assign(a,!1).assign(s,(0,Uo._)`[${s}, ${p}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(s,p),f&&e.mergeEvaluated(f,Uo.Name)})})}}};qc.default=Gk});var vf=E(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});var Jk=q(),Wk={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=t.name("valid");r.forEach((o,a)=>{if((0,Jk.alwaysValidSchema)(n,o))return;let s=e.subschema({keyword:"allOf",schemaProp:a},i);e.ok(i),e.mergeEvaluated(s)})}};Bc.default=Wk});var _f=E(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});var qo=x(),kf=q(),Kk={message:({params:e})=>(0,qo.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,qo._)`{failingKeyword: ${e.ifClause}}`},Yk={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Kk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,kf.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=bf(n,"then"),o=bf(n,"else");if(!i&&!o)return;let a=t.let("valid",!0),s=t.name("_valid");if(c(),e.reset(),i&&o){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(s,l("then",d),l("else",d))}else i?t.if(s,l("then")):t.if((0,qo.not)(s),l("else"));e.pass(a,()=>e.error(!0));function c(){let d=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},s);e.mergeEvaluated(d)}function l(d,p){return()=>{let f=e.subschema({keyword:d},s);t.assign(a,s),e.mergeValidEvaluated(f,a),p?t.assign(p,(0,qo._)`${d}`):e.setParams({ifClause:d})}}}};function bf(e,t){let r=e.schema[t];return r!==void 0&&!(0,kf.alwaysValidSchema)(e,r)}zc.default=Yk});var Af=E(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});var Hk=q(),Xk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Hk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};Gc.default=Xk});var Rf=E(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});var Zk=Nc(),Qk=tf(),e_=Oc(),t_=nf(),r_=of(),n_=xo(),i_=lf(),o_=Lc(),a_=uf(),s_=yf(),c_=hf(),l_=wf(),d_=If(),p_=vf(),u_=_f(),f_=Af();function m_(e=!1){let t=[c_.default,l_.default,d_.default,p_.default,u_.default,f_.default,i_.default,o_.default,n_.default,a_.default,s_.default];return e?t.push(Qk.default,t_.default):t.push(Zk.default,e_.default),t.push(r_.default),t}Jc.default=m_});var Kc=E(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});yi.dynamicAnchor=void 0;var Wc=x(),g_=st(),Ef=ri(),y_=Do(),h_={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Pf(e,e.schema)};function Pf(e,t){let{gen:r,it:n}=e;n.schemaEnv.root.dynamicAnchors[t]=!0;let i=(0,Wc._)`${g_.default.dynamicAnchors}${(0,Wc.getProperty)(t)}`,o=n.errSchemaPath==="#"?n.validateName:w_(e);r.if((0,Wc._)`!${i}`,()=>r.assign(i,o))}yi.dynamicAnchor=Pf;function w_(e){let{schemaEnv:t,schema:r,self:n}=e.it,{root:i,baseId:o,localRefs:a,meta:s}=t.root,{schemaId:c}=n.opts,l=new Ef.SchemaEnv({schema:r,schemaId:c,root:i,baseId:o,localRefs:a,meta:s});return Ef.compileSchema.call(n,l),(0,y_.getValidate)(e,l)}yi.default=h_});var Yc=E(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.dynamicRef=void 0;var Nf=x(),I_=st(),Of=Do(),v_={keyword:"$dynamicRef",schemaType:"string",code:e=>Sf(e,e.schema)};function Sf(e,t){let{gen:r,keyword:n,it:i}=e;if(t[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let o=t.slice(1);if(i.allErrors)a();else{let c=r.let("valid",!1);a(c),e.ok(c)}function a(c){if(i.schemaEnv.root.dynamicAnchors[o]){let l=r.let("_v",(0,Nf._)`${I_.default.dynamicAnchors}${(0,Nf.getProperty)(o)}`);r.if(l,s(l,c),s(i.validateName,c))}else s(i.validateName,c)()}function s(c,l){return l?()=>r.block(()=>{(0,Of.callRef)(e,c),r.let(l,!0)}):()=>(0,Of.callRef)(e,c)}}hi.dynamicRef=Sf;hi.default=v_});var Df=E(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});var b_=Kc(),k_=q(),__={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,b_.dynamicAnchor)(e,""):(0,k_.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};Hc.default=__});var jf=E(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});var A_=Yc(),R_={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,A_.dynamicRef)(e,e.schema)};Xc.default=R_});var Cf=E(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});var E_=Kc(),P_=Yc(),N_=Df(),O_=jf(),S_=[E_.default,P_.default,N_.default,O_.default];Zc.default=S_});var Tf=E(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});var $f=xo(),D_={keyword:"dependentRequired",type:"object",schemaType:"object",error:$f.error,code:e=>(0,$f.validatePropertyDeps)(e)};Qc.default=D_});var Lf=E(el=>{"use strict";Object.defineProperty(el,"__esModule",{value:!0});var j_=xo(),C_={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,j_.validateSchemaDeps)(e)};el.default=C_});var xf=E(tl=>{"use strict";Object.defineProperty(tl,"__esModule",{value:!0});var $_=q(),T_={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0,$_.checkStrictMode)(r,`"${e}" without "contains" is ignored`)}};tl.default=T_});var Vf=E(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});var L_=Tf(),x_=Lf(),V_=xf(),M_=[L_.default,x_.default,V_.default];rl.default=M_});var Ff=E(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});var ir=x(),Mf=q(),F_=st(),U_={message:"must NOT have unevaluated properties",params:({params:e})=>(0,ir._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},q_={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:U_,code(e){let{gen:t,schema:r,data:n,errsCount:i,it:o}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,props:s}=o;s instanceof ir.Name?t.if((0,ir._)`${s} !== true`,()=>t.forIn("key",n,p=>t.if(l(s,p),()=>c(p)))):s!==!0&&t.forIn("key",n,p=>s===void 0?c(p):t.if(d(s,p),()=>c(p))),o.props=!0,e.ok((0,ir._)`${i} === ${F_.default.errors}`);function c(p){if(r===!1){e.setParams({unevaluatedProperty:p}),e.error(),a||t.break();return}if(!(0,Mf.alwaysValidSchema)(o,r)){let f=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:p,dataPropType:Mf.Type.Str},f),a||t.if((0,ir.not)(f),()=>t.break())}}function l(p,f){return(0,ir._)`!${p} || !${p}[${f}]`}function d(p,f){let u=[];for(let m in p)p[m]===!0&&u.push((0,ir._)`${f} !== ${m}`);return(0,ir.and)(...u)}}};nl.default=q_});var qf=E(il=>{"use strict";Object.defineProperty(il,"__esModule",{value:!0});var Sr=x(),Uf=q(),B_={message:({params:{len:e}})=>(0,Sr.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Sr._)`{limit: ${e}}`},z_={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:B_,code(e){let{gen:t,schema:r,data:n,it:i}=e,o=i.items||0;if(o===!0)return;let a=t.const("len",(0,Sr._)`${n}.length`);if(r===!1)e.setParams({len:o}),e.fail((0,Sr._)`${a} > ${o}`);else if(typeof r=="object"&&!(0,Uf.alwaysValidSchema)(i,r)){let c=t.var("valid",(0,Sr._)`${a} <= ${o}`);t.if((0,Sr.not)(c),()=>s(c,o)),e.ok(c)}i.items=!0;function s(c,l){t.forRange("i",l,a,d=>{e.subschema({keyword:"unevaluatedItems",dataProp:d,dataPropType:Uf.Type.Num},c),i.allErrors||t.if((0,Sr.not)(c),()=>t.break())})}}};il.default=z_});var Bf=E(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});var G_=Ff(),J_=qf(),W_=[G_.default,J_.default];ol.default=W_});var zf=E(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});var ke=x(),K_={message:({schemaCode:e})=>(0,ke.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ke._)`{format: ${e}}`},Y_={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:K_,code(e,t){let{gen:r,data:n,$data:i,schema:o,schemaCode:a,it:s}=e,{opts:c,errSchemaPath:l,schemaEnv:d,self:p}=s;if(!c.validateFormats)return;i?f():u();function f(){let m=r.scopeValue("formats",{ref:p.formats,code:c.code.formats}),g=r.const("fDef",(0,ke._)`${m}[${a}]`),y=r.let("fType"),w=r.let("format");r.if((0,ke._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,(0,ke._)`${g}.type || "string"`).assign(w,(0,ke._)`${g}.validate`),()=>r.assign(y,(0,ke._)`"string"`).assign(w,g)),e.fail$data((0,ke.or)(A(),b()));function A(){return c.strictSchema===!1?ke.nil:(0,ke._)`${a} && !${w}`}function b(){let R=d.$async?(0,ke._)`(${g}.async ? await ${w}(${n}) : ${w}(${n}))`:(0,ke._)`${w}(${n})`,I=(0,ke._)`(typeof ${w} == "function" ? ${R} : ${w}.test(${n}))`;return(0,ke._)`${w} && ${w} !== true && ${y} === ${t} && !${I}`}}function u(){let m=p.formats[o];if(!m){A();return}if(m===!0)return;let[g,y,w]=b(m);g===t&&e.pass(R());function A(){if(c.strictSchema===!1){p.logger.warn(I());return}throw new Error(I());function I(){return`unknown format "${o}" ignored in schema at path "${l}"`}}function b(I){let _=I instanceof RegExp?(0,ke.regexpCode)(I):c.code.formats?(0,ke._)`${c.code.formats}${(0,ke.getProperty)(o)}`:void 0,S=r.scopeValue("formats",{key:o,ref:I,code:_});return typeof I=="object"&&!(I instanceof RegExp)?[I.type||"string",I.validate,(0,ke._)`${S}.validate`]:["string",I,S]}function R(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return(0,ke._)`await ${w}(${n})`}return typeof y=="function"?(0,ke._)`${w}(${n})`:(0,ke._)`${w}.test(${n})`}}}};al.default=Y_});var Gf=E(sl=>{"use strict";Object.defineProperty(sl,"__esModule",{value:!0});var H_=zf(),X_=[H_.default];sl.default=X_});var Jf=E(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.contentVocabulary=yn.metadataVocabulary=void 0;yn.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];yn.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Kf=E(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});var Z_=xu(),Q_=Xu(),eA=Rf(),tA=Cf(),rA=Vf(),nA=Bf(),iA=Gf(),Wf=Jf(),oA=[tA.default,Z_.default,Q_.default,(0,eA.default)(!0),iA.default,Wf.metadataVocabulary,Wf.contentVocabulary,rA.default,nA.default];cl.default=oA});var Hf=E(Bo=>{"use strict";Object.defineProperty(Bo,"__esModule",{value:!0});Bo.DiscrError=void 0;var Yf;(function(e){e.Tag="tag",e.Mapping="mapping"})(Yf||(Bo.DiscrError=Yf={}))});var Zf=E(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});var hn=x(),ll=Hf(),Xf=ri(),aA=ti(),sA=q(),cA={message:({params:{discrError:e,tagName:t}})=>e===ll.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,hn._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},lA={keyword:"discriminator",type:"object",schemaType:"object",error:cA,code(e){let{gen:t,data:r,schema:n,parentSchema:i,it:o}=e,{oneOf:a}=i;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let s=n.propertyName;if(typeof s!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,hn._)`${r}${(0,hn.getProperty)(s)}`);t.if((0,hn._)`typeof ${l} == "string"`,()=>d(),()=>e.error(!1,{discrError:ll.DiscrError.Tag,tag:l,tagName:s})),e.ok(c);function d(){let u=f();t.if(!1);for(let m in u)t.elseIf((0,hn._)`${l} === ${m}`),t.assign(c,p(u[m]));t.else(),e.error(!1,{discrError:ll.DiscrError.Mapping,tag:l,tagName:s}),t.endIf()}function p(u){let m=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:u},m);return e.mergeEvaluated(g,hn.Name),m}function f(){var u;let m={},g=w(i),y=!0;for(let R=0;R<a.length;R++){let I=a[R];if(I?.$ref&&!(0,sA.schemaHasRulesButRef)(I,o.self.RULES)){let S=I.$ref;if(I=Xf.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,S),I instanceof Xf.SchemaEnv&&(I=I.schema),I===void 0)throw new aA.default(o.opts.uriResolver,o.baseId,S)}let _=(u=I?.properties)===null||u===void 0?void 0:u[s];if(typeof _!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${s}"`);y=y&&(g||w(I)),A(_,R)}if(!y)throw new Error(`discriminator: "${s}" must be required`);return m;function w({required:R}){return Array.isArray(R)&&R.includes(s)}function A(R,I){if(R.const)b(R.const,I);else if(R.enum)for(let _ of R.enum)b(_,I);else throw new Error(`discriminator: "properties/${s}" must have "const" or "enum"`)}function b(R,I){if(typeof R!="string"||R in m)throw new Error(`discriminator: "${s}" values must be unique strings`);m[R]=I}}}};dl.default=lA});var Qf=E((xS,dA)=>{dA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}}});var em=E((VS,pA)=>{pA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":!0},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}});var tm=E((MS,uA)=>{uA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}});var rm=E((FS,fA)=>{fA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}});var nm=E((US,mA)=>{mA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}});var im=E((qS,gA)=>{gA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}});var om=E((BS,yA)=>{yA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var am=E((zS,hA)=>{hA.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":!0},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var sm=E(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});var wA=Qf(),IA=em(),vA=tm(),bA=rm(),kA=nm(),_A=im(),AA=om(),RA=am(),EA=["/properties"];function PA(e){return[wA,IA,vA,bA,kA,t(this,_A),AA,t(this,RA)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function t(r,n){return e?r.$dataMetaSchema(n,EA):n}}pl.default=PA});var Dr=E((me,fl)=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MissingRefError=me.ValidationError=me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=me.Ajv2020=void 0;var NA=ju(),OA=Kf(),SA=Zf(),DA=sm(),ul="https://json-schema.org/draft/2020-12/schema",wn=class extends NA.default{constructor(t={}){super({...t,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),OA.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(SA.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(DA.default.call(this,t),this.refs["http://json-schema.org/schema"]=ul)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ul)?ul:void 0)}};me.Ajv2020=wn;fl.exports=me=wn;fl.exports.Ajv2020=wn;Object.defineProperty(me,"__esModule",{value:!0});me.default=wn;var jA=ei();Object.defineProperty(me,"KeywordCxt",{enumerable:!0,get:function(){return jA.KeywordCxt}});var In=x();Object.defineProperty(me,"_",{enumerable:!0,get:function(){return In._}});Object.defineProperty(me,"str",{enumerable:!0,get:function(){return In.str}});Object.defineProperty(me,"stringify",{enumerable:!0,get:function(){return In.stringify}});Object.defineProperty(me,"nil",{enumerable:!0,get:function(){return In.nil}});Object.defineProperty(me,"Name",{enumerable:!0,get:function(){return In.Name}});Object.defineProperty(me,"CodeGen",{enumerable:!0,get:function(){return In.CodeGen}});var CA=bo();Object.defineProperty(me,"ValidationError",{enumerable:!0,get:function(){return CA.default}});var $A=ti();Object.defineProperty(me,"MissingRefError",{enumerable:!0,get:function(){return $A.default}})});import be from"node:process";import et from"node:path";import{spawnSync as lO}from"node:child_process";import{readFile as dO}from"node:fs/promises";var te="^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$",Ot="^sha256:[a-f0-9]{64}$";import{constants as ca}from"node:fs";import{lstat as dR,mkdir as Nn,open as Am,readFile as Ri,realpath as Vr,rename as pR,unlink as Sl}from"node:fs/promises";import{randomUUID as Dl}from"node:crypto";import Ne from"node:path";var cm=nn(Dr(),1);var je={type:"string",pattern:Ot},TA={type:"string",pattern:"^[a-z][a-z0-9.-]{2,127}$"},ml={type:"string",format:"date-time"},gl={enum:["typescript.typecheck","vitest.run","typescript.build","npm.pack-dry-run","workspace.structure","capability.assets","node.application-smoke","web.application-build","web.application-smoke","expo.application-config","expo.application-export","react.library-build","next.application-test","next.application-build","next.application-package","next.application-smoke","application.config-contract"]},lm={type:"object",additionalProperties:!1,required:["node","pnpm","typescript"],properties:{node:{type:"string",minLength:1,maxLength:64},pnpm:{type:"string",minLength:1,maxLength:64},typescript:{type:"string",minLength:1,maxLength:64}}},yl={$id:"https://schemas.dyyto.dev/platform/capability-bundle-release-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","capabilityId","version","integrity","consumerProfile","compatibility","assets","verifiers","exit"],properties:{schemaVersion:{const:1},capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:je,consumerProfile:{enum:["blank-typescript-library","standalone-npm-package","react-component-library","nextjs-full-stack-application","workspace-root","workspace-npm-package","workspace-node-application","workspace-web-application","workspace-expo-application","any-project"]},kind:{enum:["profile","engineering-feature","integration-feature","domain-extension"]},dependencies:{type:"object",additionalProperties:!1,required:["profiles"],properties:{profiles:{type:"array",minItems:1,uniqueItems:!0,items:{type:"string",minLength:1,maxLength:128}},capabilities:{type:"array",minItems:1,uniqueItems:!0,items:{type:"string",pattern:te}}}},compatibility:lm,integration:{type:"object",additionalProperties:!1,required:["title","purpose","packages","codeAssets"],properties:{title:{type:"string",minLength:1,maxLength:128},purpose:{type:"string",minLength:1,maxLength:512},packages:{type:"array",items:{type:"object",additionalProperties:!1,required:["packageName","version","usage","imports"],properties:{packageName:{type:"string",minLength:1,maxLength:214},version:{type:"string",minLength:1,maxLength:128},usage:{enum:["runtime","development","build","test"]},imports:{type:"array",items:{type:"object",additionalProperties:!1,required:["importFrom","symbol"],properties:{importFrom:{type:"string",minLength:1,maxLength:214},symbol:{type:"string",minLength:1,maxLength:128},referencePath:{type:"string",minLength:1,maxLength:512}}}}}}},codeAssets:{type:"array",items:{type:"object",additionalProperties:!1,required:["sourcePath","targetPath","ownership"],properties:{sourcePath:{type:"string",minLength:1,maxLength:512},targetPath:{type:"string",minLength:1,maxLength:512},ownership:{enum:["owned-file","managed-region","seed-file"]}}}}}},assets:{type:"array",minItems:1,items:{type:"object",additionalProperties:!1,required:["path","ownership","digest","mode"],properties:{path:{type:"string",minLength:1,maxLength:512},ownership:{enum:["owned-file","managed-region","seed-file"]},digest:je,mode:{type:"integer",minimum:0,maximum:511},regionId:{type:"string",pattern:te},renderer:{enum:["npm-package-json-v1","npm-package-json-v2","react-component-package-json-v1","nextjs-application-package-json-v1","workspace-root-package-json-v1","node-application-package-json-v1","web-application-package-json-v1","expo-application-package-json-v1","application-config-contract-v1","application-config-binding-v1"]}},allOf:[{if:{properties:{ownership:{const:"managed-region"}},required:["ownership"]},then:{properties:{regionId:{type:"string",pattern:te}},required:["regionId"]},else:{not:{required:["regionId"]}}}]}},verifiers:{type:"array",minItems:1,items:{type:"object",additionalProperties:!1,required:["id"],properties:{id:gl}}},exit:{type:"object",additionalProperties:!1,required:["ownedAssets"],properties:{ownedAssets:{type:"array",items:{type:"string",minLength:1,maxLength:512}}}}}},dm={type:"object",additionalProperties:!1,required:["registryId","packageName","version","integrity","tarballDigest","deliveryReceiptId","usage"],properties:{registryId:{type:"string",pattern:"^registry\\.[a-z0-9][a-z0-9.-]{1,126}$"},packageName:{type:"string",pattern:"^@[a-z0-9][a-z0-9._-]*/[a-z0-9][a-z0-9._-]*$",maxLength:214},version:{type:"string",pattern:"^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$",maxLength:64},integrity:{type:"string",pattern:"^sha512-[A-Za-z0-9+/]{86}==$"},tarballDigest:je,deliveryReceiptId:je,usage:{enum:["runtime","development"]}}},{$id:WS,...pm}=yl,LA={...pm,$id:"https://schemas.dyyto.dev/platform/capability-bundle-release-v2.json",required:[...yl.required,"availability","packageSources"],properties:{...yl.properties,schemaVersion:{const:2},availability:{oneOf:[{type:"object",additionalProperties:!1,required:["maturity","visibility","sourceState"],properties:{maturity:{const:"candidate"},visibility:{const:"maintainers-only"},sourceState:{const:"local-artifact"}}},{type:"object",additionalProperties:!1,required:["maturity","visibility","sourceState"],properties:{maturity:{const:"candidate"},visibility:{const:"maintainers-only"},sourceState:{const:"development-registry"}}},{type:"object",additionalProperties:!1,required:["maturity","visibility","sourceState"],properties:{maturity:{const:"available"},visibility:{const:"catalog-consumers"},sourceState:{const:"registry-verified"}}},{type:"object",additionalProperties:!1,required:["maturity","visibility","reasonCode"],properties:{maturity:{const:"withdrawn"},visibility:{const:"existing-locks-only"},reasonCode:{type:"string",pattern:"^[A-Z][A-Z0-9_]{2,63}$"}}}]},packageSources:{type:"array",maxItems:128,items:dm}}},xA={$id:"https://schemas.dyyto.dev/platform/capability-bundle-release.json",oneOf:[pm,(()=>{let{$id:e,...t}=LA;return t})()]},zo={$id:"https://schemas.dyyto.dev/platform/verification-result-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","verifierId","result","issuer","commandId","exitCode","stdoutDigest","stderrDigest","startedAt","completedAt","projectStateDigest","runtime"],properties:{schemaVersion:{const:1},verifierId:gl,result:{enum:["passed","failed"]},issuer:{enum:["dyyto-cli","test-harness","external-ci"]},commandId:gl,exitCode:{type:"integer",minimum:0,maximum:255},stdoutDigest:je,stderrDigest:je,startedAt:ml,completedAt:ml,projectStateDigest:je,runtime:lm}},VA={...zo,$id:"https://schemas.dyyto.dev/platform/adoption-evidence-v1.json",required:[...zo.required,"evidenceId","capabilityId","capabilityVersion","capabilityIntegrity"],properties:{...zo.properties,evidenceId:je,capabilityId:{type:"string",pattern:te},capabilityVersion:{type:"string",minLength:1,maxLength:128},capabilityIntegrity:je}},MA={$id:"https://schemas.dyyto.dev/platform/project-adoption-lock.json",type:"object",additionalProperties:!1,required:["schemaVersion","capabilities"],properties:{schemaVersion:{enum:[1,2]},capabilities:{type:"array",items:{type:"object",additionalProperties:!1,required:["capabilityId","version","integrity","consumerProfile","appliedPlanId","projectStateDigest","assets","evidenceIds","committedAt"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:je,consumerProfile:{type:"string",minLength:1,maxLength:128},appliedPlanId:je,projectStateDigest:je,assets:{type:"array",items:{type:"object",additionalProperties:!1,required:["path","digest"],properties:{path:{type:"string",minLength:1,maxLength:512},digest:je,ownership:{enum:["owned-file","managed-region","seed-file"]},regionId:{type:"string",pattern:te}},allOf:[{if:{properties:{ownership:{const:"managed-region"}},required:["ownership"]},then:{properties:{regionId:{type:"string",pattern:te}},required:["regionId"]}}]}},evidenceIds:{type:"array",items:je},committedAt:ml,packageAdoption:{type:"object",additionalProperties:!1,required:["registryRevisions","sources","packageJsonDigest","lockfileDigest"],properties:{sourceChannel:{enum:["production","development"]},registryRevisions:{type:"array",items:{type:"object",additionalProperties:!1,required:["registryId","revision"],properties:{registryId:TA,revision:je}}},sources:{type:"array",minItems:1,maxItems:128,items:dm},packageJsonDigest:je,lockfileDigest:je}}}}}},allOf:[{if:{properties:{schemaVersion:{const:1}},required:["schemaVersion"]},then:{properties:{capabilities:{type:"array",items:{type:"object",not:{type:"object",properties:{packageAdoption:{}},required:["packageAdoption"]}}}}}}]},wi=new cm.Ajv2020({allErrors:!0,strict:!0});wi.addFormat("date-time",{type:"string",validate:e=>!Number.isNaN(Date.parse(e))});var Jo={capabilityBundleRelease:wi.compile(xA),verificationResult:wi.compile(zo),adoptionEvidence:wi.compile(VA),projectAdoptionLock:wi.compile(MA)},Go=class extends Error{contract;issues;code="ADOPTION_CONTRACT_INVALID";constructor(t,r){super(`Invalid ${t} contract`),this.contract=t,this.issues=r}};function Wo(e,t,r){if(!t(r))throw new Go(e,t.errors??[]);return r}var um=e=>{let t=Wo("capabilityBundleRelease",Jo.capabilityBundleRelease,e);if(t.schemaVersion===2){let r=()=>{throw new Go("capabilityBundleRelease",[])},n=t.packageSources;(t.availability.maturity==="candidate"&&t.availability.sourceState==="local-artifact"&&n.length!==0||t.availability.maturity==="candidate"&&t.availability.sourceState==="development-registry"&&n.length===0||t.availability.maturity!=="candidate"&&n.length===0)&&r();let i="",o=new Set;for(let s of n){let c=`${s.packageName}@${s.version}`;(c.localeCompare(i)<=0||o.has(c))&&r(),i=c,o.add(c)}let a=t.integration?.packages??[];(t.availability.maturity!=="candidate"||t.availability.sourceState==="development-registry")&&(a.length!==n.length||a.some(s=>!n.some(c=>c.packageName===s.packageName&&c.version===s.version&&c.usage===s.usage)))&&r()}return t},fm=e=>Wo("verificationResult",Jo.verificationResult,e),Ii=e=>Wo("adoptionEvidence",Jo.adoptionEvidence,e),Ge=e=>Wo("projectAdoptionLock",Jo.projectAdoptionLock,e);import{lstat as KA,readFile as vl,realpath as bl}from"node:fs/promises";import bn from"node:path";import{createHash as FA}from"node:crypto";function h(e){return`sha256:${FA("sha256").update(e).digest("hex")}`}function k(e){return Array.isArray(e)?`[${e.map(k).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,r])=>r!==void 0).sort(([r],[n])=>r.localeCompare(n)).map(([r,n])=>`${JSON.stringify(r)}:${k(n)}`).join(",")}}`:JSON.stringify(e)}var Ct=class extends Error{code="MANAGED_REGION_INVALID";constructor(t){super(t)}};function mm(e){if(!new RegExp(te).test(e))throw new Ct("Region identity is invalid");return{begin:`<!-- dyyto:begin ${e} -->`,end:`<!-- dyyto:end ${e} -->`}}function Ko(e,t){if(e.includes("\r"))throw new Ct("Managed regions require LF newlines");let{begin:r,end:n}=mm(t),i=e.split(r).length-1,o=e.split(n).length-1;if(i!==1||o!==1)throw new Ct("Managed region markers are unavailable or ambiguous");let a=e.indexOf(r)+r.length,s=e.indexOf(n,a),c=e.slice(a,s);if(/<!-- dyyto:(?:begin|end) /.test(c))throw new Ct("Managed regions cannot overlap");return`${c.replace(/^\n+|\n+$/g,"")}
9
9
  `}function gm(e){let{begin:t,end:r}=mm(e.regionId);if(e.source.includes("\r")||e.content.includes("\r"))throw new Ct("Managed regions require LF newlines");let n=e.source.split(t).length-1,i=e.source.split(r).length-1;if(n>1||i>1||n!==i)throw new Ct("Managed region markers are ambiguous");let o=e.content.replace(/^\n+|\n+$/g,"");if(/<!-- dyyto:(?:begin|end) /.test(o))throw new Ct("Managed regions cannot contain nested Dyyto markers");let a=`${t}
10
10
  ${o}
11
11
  ${r}`;if(n===0){let d=e.source.replace(/\n*$/g,"");return`${d}${d.length===0?"":`
@@ -27,39 +27,39 @@ ${r}`;if(n===0){let d=e.source.replace(/\n*$/g,"");return`${d}${d.length===0?"":
27
27
  `)}function FR(e){return Buffer.from(`${JSON.stringify({name:e,version:"0.0.0",private:!0,type:"module",engines:{node:">=24.18.0 <25",pnpm:"11.21.0"},packageManager:"pnpm@11.21.0",scripts:{dev:"next dev",build:"next build",start:"node .artifacts/standalone/server.js",typecheck:"tsc --noEmit",lint:"eslint .","test:unit":"vitest run","test:e2e":"playwright test",test:"pnpm test:unit && pnpm test:e2e",package:"pnpm build && node tooling/package-standalone.mjs",check:"pnpm lint && pnpm typecheck && pnpm test:unit && pnpm build"},dependencies:{next:"16.2.11",react:"19.2.8","react-dom":"19.2.8","server-only":"0.0.1"},devDependencies:{"@playwright/test":"1.62.1","@testing-library/dom":"10.4.1","@testing-library/jest-dom":"6.9.1","@testing-library/react":"16.3.2","@types/node":"24.10.13","@types/react":"19.2.18","@types/react-dom":"19.2.4","@vitejs/plugin-react":"6.0.5",eslint:"9.39.5","eslint-config-next":"16.2.11",jsdom:"30.0.1",typescript:"6.0.3",vitest:"4.1.10"}},null,2)}
28
28
  `)}function UR(e){return Buffer.from(`${JSON.stringify({name:e,version:"0.0.0",private:!0,main:"expo-router/entry",engines:{node:">=24.18.0 <25",pnpm:"11.21.0"},packageManager:"pnpm@11.21.0",scripts:{dev:"expo start",android:"expo start --android",ios:"expo start --ios",web:"expo start --web",build:"expo export --platform web --output-dir dist",package:"corepack pnpm build && node tooling/verify-expo-export.mjs",typecheck:"tsc --noEmit",test:"vitest run",check:"corepack pnpm typecheck && corepack pnpm test && corepack pnpm package"},dependencies:{expo:"~57.0.15","expo-router":"~57.0.15","expo-status-bar":"~57.0.1",react:"19.2.3","react-dom":"19.2.3","react-native":"0.86.2","react-native-safe-area-context":"5.9.1","react-native-screens":"4.27.0","react-native-web":"0.21.2"},devDependencies:{"@types/node":"24.10.13","@types/react":"19.2.14",typescript:"6.0.3",vitest:"4.1.10"}},null,2)}
29
29
  `)}async function Gm(e,t){let r=Ni.join(e,...t.split("/"));try{let n=await jR(r);if(!n.isFile()||n.isSymbolicLink())throw new M("PROJECT_STATE_INVALID","Managed target must be a regular file",t);return{path:t,exists:!0,digest:h(await Bl(r))}}catch(n){if(n.code==="ENOENT")return{path:t,exists:!1};throw n}}async function qr(e,t){let r=W(e.manifest),n=t==="workspace-node-application"||t==="workspace-web-application"||t==="workspace-expo-application"||t==="nextjs-full-stack-application"?t==="workspace-web-application"?MR(Ur(r).name):t==="workspace-expo-application"?UR(Ur(r).name):t==="nextjs-full-stack-application"?FR(Ur(r).name):VR(Ur(r).name):t==="react-component-library"?Gl(fr(r,t)):zl(fr(r,t));if(r.capabilities.filter(u=>u.capabilityId===e.release.release.capabilityId&&u.version===e.release.release.version).length!==1||e.release.release.consumerProfile!==t)throw new M("RELEASE_NOT_FOUND","Manifest must select exactly the loaded standalone npm release");let a=(e.currentLock===void 0?void 0:Ge(e.currentLock))?.capabilities.find(u=>u.capabilityId===e.release.release.capabilityId);if(a!==void 0&&(a.version!==e.release.release.version||a.integrity!==e.release.release.integrity))throw new M("CONSUMER_PROFILE_UNSUPPORTED","Changing locked npm profile parameters or release is not supported");let s=new Map(e.release.contents);s.set("package.json",n);let c=await zm(Ni.resolve(e.projectRoot)),l=[],d=[];for(let u of e.release.release.assets){if(s.get(u.path)===void 0)throw new M("RELEASE_NOT_FOUND","Release asset content is unavailable",u.path);let g=await Gm(c,u.path);if(g.exists&&a===void 0&&e.allowExistingWithoutLock!==!0&&u.ownership!=="seed-file")throw new M("CONSUMER_PROFILE_UNSUPPORTED","Profile cannot adopt over an existing owned file without a lock",u.path);u.ownership==="seed-file"&&g.exists&&s.set(u.path,await Bl(Ni.join(c,...u.path.split("/"))));let y=h(s.get(u.path));l.push(g),d.push({path:u.path,kind:"create",ownership:u.ownership,desiredDigest:y})}let p={schemaVersion:1,capabilityId:e.release.release.capabilityId,version:e.release.release.version,integrity:e.release.release.integrity,assets:d.map(u=>({path:u.path,ownership:u.ownership,desiredDigest:u.desiredDigest})),verifiers:e.release.release.verifiers.map(({id:u})=>({id:u,kind:"command"}))},f=Pe({action:"adopt",capability:p,changes:d,observedAssets:l,generatedAt:e.generatedAt,expiresAt:e.expiresAt});return{manifest:r,release:e.release,plan:f,desiredContents:s}}function Oi(e){return qr(e,"standalone-npm-package")}function Si(e){return qr(e,"react-component-library")}function Sn(e){return qr(e,"nextjs-full-stack-application")}async function Jl(e){let t=W(e.manifest);if(t.profile?.id!=="nextjs-full-stack-application"||e.release.release.consumerProfile!=="nextjs-full-stack-application"||e.release.release.assets.some(u=>u.ownership!=="seed-file"))throw new M("CONSUMER_PROFILE_UNSUPPORTED","Historical adoption requires a seed-only Next.js Profile Release");let r=W({...t,capabilities:[{capabilityId:e.release.release.capabilityId,version:e.release.release.version}]}),n=await Sn({...e,manifest:r}),i=await zm(Ni.resolve(e.projectRoot)),o="project-capabilities.json",a=await Bl(Ni.join(i,o)),s=Buffer.from(`${JSON.stringify(r,null,2)}
30
- `),c=n.plan.operations.map(({disposition:u,conflictCode:m,...g})=>g);c.push({path:o,kind:"replace",ownership:"owned-file",baseDigest:h(a),desiredDigest:h(s)});let l=await Promise.all(c.map(u=>Gm(i,u.path))),d=Pe({action:"adopt",capability:{schemaVersion:1,capabilityId:e.release.release.capabilityId,version:e.release.release.version,integrity:e.release.release.integrity,assets:c.filter(u=>u.path!==o).map(u=>({path:u.path,ownership:u.ownership,desiredDigest:u.desiredDigest})),verifiers:e.release.release.verifiers.map(({id:u})=>({id:u,kind:"command"}))},changes:c,observedAssets:l,generatedAt:e.generatedAt,expiresAt:e.expiresAt}),p=new Map([...n.desiredContents,[o,s]]),f=new Map;for(let u of d.operations)u.disposition==="ready"&&u.kind!=="remove"&&f.set(u.path,p.get(u.path));return{...n,manifest:r,plan:d,desiredContents:f}}function Di(e){return qr(e,"workspace-npm-package")}function ji(e){return qr(e,"workspace-node-application")}function Ci(e){return qr(e,"workspace-web-application")}function $i(e){return qr(e,"workspace-expo-application")}async function Jm(e){if(e.currentLock!==void 0){let n=await Oi(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Oi({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Wm(e){if(e.currentLock!==void 0){let n=await Si(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Si({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Km(e){if(e.currentLock!==void 0){let n=await Sn(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Sn({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Ym(e){if(e.currentLock!==void 0){let n=await Di(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Di({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Hm(e){if(e.currentLock!==void 0){let n=await ji(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await ji({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Xm(e){if(e.currentLock!==void 0){let n=await Ci(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Ci({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Zm(e){if(e.currentLock!==void 0){let n=await $i(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await $i({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}import{lstat as dE,readFile as Da,realpath as pE}from"node:fs/promises";import Fi from"node:path";var At=class extends Error{code;constructor(t,r){super(r),this.code=t}},Br=/^sha256:[a-f0-9]{64}$/,qR=/^sha512-[A-Za-z0-9+/]{86}==$/,BR=/^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/,eg=/^registry\.[a-z0-9][a-z0-9.-]{1,126}$/,zR=/^@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/,Qm=/^[a-z][a-z0-9._:-]{2,127}$/;function zr(e,t){let r=Object.keys(e).sort();return r.length===t.length&&r.every((n,i)=>n===[...t].sort()[i])}function GR(e){if(!zr(e,["registryId","tenantId","origin","scopes","authentication","capabilities","status"])||!eg.test(e.registryId)||!Qm.test(e.tenantId)||e.scopes.length===0||e.scopes.length>32||e.scopes.some((n,i)=>!/^@[a-z0-9][a-z0-9._-]*$/.test(n)||e.scopes.indexOf(n)!==i)||!zr(e.authentication,e.authentication.credentialRef===void 0?["kind"]:["kind","credentialRef"])||!zr(e.capabilities,["read","write","provenance","staging"])||!["workload-identity","short-lived-token","restricted-token","anonymous-test"].includes(e.authentication.kind)||e.authentication.kind==="anonymous-test"!=(e.authentication.credentialRef===void 0)||e.authentication.credentialRef!==void 0&&!Qm.test(e.authentication.credentialRef))return!1;let t;try{t=new URL(e.origin)}catch{return!1}if(t.username||t.password||t.search||t.hash||!t.pathname.endsWith("/")||t.pathname.includes("..")||/%2f|%5c/iu.test(t.pathname))return!1;let r=t.hostname==="127.0.0.1"||t.hostname==="localhost"||t.hostname==="[::1]";return e.authentication.kind==="anonymous-test"&&(!r||t.protocol!=="http:")||e.authentication.kind!=="anonymous-test"&&t.protocol!=="https:"?!1:typeof e.capabilities.read=="boolean"&&typeof e.capabilities.write=="boolean"&&typeof e.capabilities.provenance=="boolean"&&typeof e.capabilities.staging=="boolean"&&(e.status==="enabled"||e.status==="disabled")}function Wl(e){if(!GR(e))throw new At("REGISTRY_CONFIG_INVALID","Registry configuration is invalid");let t={schemaVersion:1,...e};return Object.freeze({...t,scopes:Object.freeze([...e.scopes]),authentication:Object.freeze({...e.authentication}),capabilities:Object.freeze({...e.capabilities}),revision:h(k(t))})}function Ti(e){let t=e;if(typeof t!="object"||t===null||!zr(t,["schemaVersion","revision","registryId","tenantId","origin","scopes","authentication","capabilities","status"])||t.schemaVersion!==1||!Br.test(t.revision))throw new At("REGISTRY_CONFIG_INVALID","Registry configuration is invalid");let{schemaVersion:r,revision:n,...i}=t;if(Wl(i).revision!==n)throw new At("REGISTRY_CONFIG_INVALID","Registry configuration has been modified");return t}function JR(e,t){let r,n;try{r=new URL(e.origin),n=new URL(t)}catch{return!1}return n.username||n.password||n.search||n.hash||n.pathname!==r.pathname||n.protocol!==r.protocol||n.hostname!==r.hostname?!1:e.authentication.kind==="anonymous-test"||n.port===r.port}function Kl(e,t){let r=Ti(t);if(!zr(e,["registryId","registryConfigRevision","origin","resolvedAt","expiresAt"])||e.registryId!==r.registryId||e.registryConfigRevision!==r.revision||!JR(r,e.origin)||Number.isNaN(Date.parse(e.resolvedAt))||Number.isNaN(Date.parse(e.expiresAt))||Date.parse(e.expiresAt)<=Date.parse(e.resolvedAt))throw new At("REGISTRY_ENDPOINT_BINDING_INVALID","Registry endpoint binding is invalid");let n={schemaVersion:1,...e};return Object.freeze({...n,bindingDigest:h(k(n))})}function tg(e,t){let r=e;if(typeof r!="object"||r===null||!zr(r,["schemaVersion","bindingDigest","registryId","registryConfigRevision","origin","resolvedAt","expiresAt"])||r.schemaVersion!==1||!Br.test(r.bindingDigest))throw new At("REGISTRY_ENDPOINT_BINDING_INVALID","Registry endpoint binding is invalid");let{schemaVersion:n,bindingDigest:i,...o}=r;if(Kl(o,t).bindingDigest!==i)throw new At("REGISTRY_ENDPOINT_BINDING_INVALID","Registry endpoint binding has been modified");return r}function WR(e){let t=["registryId","registryConfigRevision","packageName","version","integrity","tarballDigest","access","provenance","sourceDeliveryReceiptId","verifiedAt",...e.verificationIdentityDigest===void 0?[]:["verificationIdentityDigest"]];return zr(e,t)&&eg.test(e.registryId)&&Br.test(e.registryConfigRevision)&&zR.test(e.packageName)&&BR.test(e.version)&&qR.test(e.integrity)&&Br.test(e.tarballDigest)&&Br.test(e.sourceDeliveryReceiptId)&&!Number.isNaN(Date.parse(e.verifiedAt))&&(e.access==="restricted"||e.access==="private")&&["registry-attested","external-attested","local-readback-verified","development-readback-verified","registry-verified-no-attestation"].includes(e.provenance)&&(e.provenance!=="registry-verified-no-attestation"?e.verificationIdentityDigest!==void 0&&Br.test(e.verificationIdentityDigest):e.verificationIdentityDigest===void 0)}function Yl(e){if(!WR(e))throw new At("PACKAGE_RECEIPT_INVALID","Package delivery receipt is invalid");let t={schemaVersion:1,...e};return Object.freeze({...t,receiptId:h(k(t))})}function rg(e){let t=e;if(typeof t!="object"||t===null||t.schemaVersion!==1||!Br.test(t.receiptId))throw new At("PACKAGE_RECEIPT_INVALID","Package delivery receipt is invalid");let{schemaVersion:r,receiptId:n,...i}=t;if(Yl(i).receiptId!==n)throw new At("PACKAGE_RECEIPT_INVALID","Package delivery receipt has been modified");return t}var Oe=class extends Error{code;constructor(t){super(t),this.code=t,this.name="ResolutionEvidenceError"}};function Li(e){return h(k(e))}var Hl=/^sha256:[a-f0-9]{64}$/u,KR=/^sha512-[A-Za-z0-9+/]{86}==$/u,YR=/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u,ga=/^[a-z0-9][a-z0-9._/-]{0,255}$/u,HR=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u,XR=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*@[0-9][a-zA-Z0-9.+()_@/-]*$/u;function ya(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function ng(e){return h(k(e))}function ig(e){let t=Buffer.from(e.desiredLockfile),r=h(t),n={schemaVersion:1,workerReleaseId:e.workerReleaseId,workerStateRevision:e.workerStateRevision,requestDigest:e.requestDigest,pnpmVersion:e.pnpmVersion,desiredLockDigest:r,importerFacts:e.importerFacts.map(a=>({...a})),packageFacts:e.packageFacts.map(a=>({...a})),snapshotClosureDigest:e.snapshotClosureDigest,networkObservationDigest:e.networkObservationDigest,cacheObservation:{...e.cacheObservation},commandDigest:e.commandDigest,completedAt:e.completedAt,expiresAt:e.expiresAt},i={...n,jobId:ng(n),desiredLockfile:t};og(i);let o={...i,importerFacts:Object.freeze(i.importerFacts.map(a=>Object.freeze({...a}))),packageFacts:Object.freeze(i.packageFacts.map(a=>Object.freeze({...a}))),cacheObservation:Object.freeze({...i.cacheObservation})};return Object.freeze(o)}function og(e){if(!ya(e,["schemaVersion","jobId","workerReleaseId","workerStateRevision","requestDigest","pnpmVersion","desiredLockfile","desiredLockDigest","importerFacts","packageFacts","snapshotClosureDigest","networkObservationDigest","cacheObservation","commandDigest","completedAt","expiresAt"])||e.schemaVersion!==1||e.pnpmVersion!=="11.21.0")throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(![e.jobId,e.workerStateRevision,e.requestDigest,e.desiredLockDigest,e.snapshotClosureDigest,e.networkObservationDigest,e.commandDigest,e.cacheObservation.preimageRevision,e.cacheObservation.desiredRevision,e.cacheObservation.writesDigest].every(i=>Hl.test(i)))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(!ga.test(e.workerReleaseId)||!ga.test(e.cacheObservation.namespace)||e.desiredLockfile.byteLength===0||h(e.desiredLockfile)!==e.desiredLockDigest||Number.isNaN(Date.parse(e.completedAt))||Number.isNaN(Date.parse(e.expiresAt))||Date.parse(e.expiresAt)<=Date.parse(e.completedAt))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(!ya(e.cacheObservation,["namespace","preimageRevision","desiredRevision","writesDigest"])||e.importerFacts.length===0||e.packageFacts.length===0)throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(e.importerFacts.some(i=>!ya(i,["importerId","manifestDigest","preimageDigest","desiredDigest"])||i.importerId!=="."&&!ga.test(i.importerId)||![i.manifestDigest,i.preimageDigest,i.desiredDigest].every(o=>Hl.test(o))))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(e.packageFacts.some(i=>!ya(i,["identity","packageName","version","integrity","registryId","managed","edgesDigest"])||!XR.test(i.identity)||!HR.test(i.packageName)||!ga.test(i.registryId)||!YR.test(i.version)||!KR.test(i.integrity)||typeof i.managed!="boolean"||!Hl.test(i.edgesDigest)))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(new Set(e.importerFacts.map(i=>i.importerId)).size!==e.importerFacts.length||new Set(e.packageFacts.map(i=>i.identity)).size!==e.packageFacts.length)throw new Oe("RESOLUTION_EVIDENCE_INVALID");let{jobId:t,desiredLockfile:r,...n}=e;if(ng(n)!==e.jobId)throw new Oe("RESOLUTION_EVIDENCE_INVALID")}function Xl(e,t){if(og(e),Date.parse(t.now)>Date.parse(e.expiresAt))throw new Oe("RESOLUTION_EVIDENCE_EXPIRED");if(e.requestDigest!==t.requestDigest||e.pnpmVersion!==t.pnpmVersion||e.workerReleaseId!==t.workerReleaseId)throw new Oe("RESOLUTION_EVIDENCE_INVALID");let r=e.importerFacts.find(n=>n.importerId===t.targetImporterId);if(!r||r.manifestDigest!==t.targetManifestDigest)throw new Oe("RESOLUTION_EVIDENCE_IMPORTER_DRIFT");for(let n of t.preservedImporterDigests){let i=e.importerFacts.find(o=>o.importerId===n.importerId);if(!i||i.preimageDigest!==n.preimageDigest||i.desiredDigest!==n.preimageDigest)throw new Oe("RESOLUTION_EVIDENCE_IMPORTER_DRIFT")}for(let n of t.managedSources){let i=e.packageFacts.filter(o=>o.managed&&o.packageName===n.packageName);if(i.length!==1||i[0].registryId!==n.registryId||i[0].version!==n.version||i[0].integrity!==n.integrity)throw new Oe("RESOLUTION_EVIDENCE_SOURCE_MISMATCH")}if(e.packageFacts.filter(n=>n.managed).length!==t.managedSources.length)throw new Oe("RESOLUTION_EVIDENCE_SOURCE_MISMATCH");return e}var H=class extends Error{code;constructor(t,r){super(t,r),this.code=t,this.name="PackageAdoptionError"}};function Ia(e){let t={sourceChannel:e.sourceChannel,packageJsonPreimageDigest:e.packageJsonPreimageDigest,desiredPackageJsonDigest:e.desiredPackageJsonDigest,lockfilePreimage:{...e.lockfilePreimage},desiredLockfileDigest:e.desiredLockfileDigest,registryRevisions:e.registryRevisions.map(r=>({...r})),endpointBindings:e.endpointBindings.map(({registryId:r,registryConfigRevision:n,bindingDigest:i,expiresAt:o})=>({registryId:r,registryConfigRevision:n,bindingDigest:i,expiresAt:o})),sources:e.sources.map(r=>({...r})),installPolicy:{...e.installPolicy}};if(e.schemaVersion===1)return{schemaVersion:1,...t};if(!e.topology||!e.preservedDependencies||!e.preservedImporterDigests)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");return{schemaVersion:2,...t,topology:{...e.topology},preservedDependencies:e.preservedDependencies.map(r=>({...r})),preservedImporterDigests:e.preservedImporterDigests.map(r=>({...r}))}}var ha=/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/u,ag=/^(?:workspace:|file:|link:|git(?:\+|:)|https?:|npm:)|[~^*<>=|]/u;function Zl(e){return Array.isArray(e)?`[${e.map(Zl).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${Zl(r)}`).join(",")}}`:JSON.stringify(e)}function Gt(e){let t;try{t=JSON.parse(Buffer.from(e).toString("utf8"))}catch{throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}if(!t||typeof t!="object"||Array.isArray(t))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");return t}function mt(e){if(e===void 0)return{};if(!e||typeof e!="object"||Array.isArray(e))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let t=Object.entries(e);if(t.some(([,r])=>typeof r!="string"))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");return Object.fromEntries(t)}function wa(e){for(let t of[mt(e.dependencies),mt(e.devDependencies),mt(e.optionalDependencies)])for(let[r,n]of Object.entries(t))if(r.startsWith("@aipt/")&&(!ha.test(n)||ag.test(n)))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}var ZR=["dependencies","devDependencies","optionalDependencies"];function va(e,t){let r=[];for(let n of ZR)for(let[i,o]of Object.entries(mt(e[n]))){if(t.has(i)){if(!ha.test(o))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");continue}if(/^(?:file:|link:|git(?:\+|:)|https?:|npm:)/u.test(o))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");r.push({section:n,packageName:i,specifier:o})}return r.sort((n,i)=>`${n.section}:${n.packageName}`.localeCompare(`${i.section}:${i.packageName}`))}function Ql(e){let t=Gt(e.packageJson);wa(t);let r=Object.fromEntries(e.release.packageSources.filter(({usage:o})=>o==="runtime").map(({packageName:o,version:a})=>[o,a])),n=Object.fromEntries(e.release.packageSources.filter(({usage:o})=>o==="development").map(({packageName:o,version:a})=>[o,a])),i={...t,...Object.keys(r).length?{dependencies:{...mt(t.dependencies),...r}}:{},...Object.keys(n).length?{devDependencies:{...mt(t.devDependencies),...n}}:{}};return Buffer.from(`${JSON.stringify(i,null,2)}
30
+ `),c=n.plan.operations.map(({disposition:u,conflictCode:m,...g})=>g);c.push({path:o,kind:"replace",ownership:"owned-file",baseDigest:h(a),desiredDigest:h(s)});let l=await Promise.all(c.map(u=>Gm(i,u.path))),d=Pe({action:"adopt",capability:{schemaVersion:1,capabilityId:e.release.release.capabilityId,version:e.release.release.version,integrity:e.release.release.integrity,assets:c.filter(u=>u.path!==o).map(u=>({path:u.path,ownership:u.ownership,desiredDigest:u.desiredDigest})),verifiers:e.release.release.verifiers.map(({id:u})=>({id:u,kind:"command"}))},changes:c,observedAssets:l,generatedAt:e.generatedAt,expiresAt:e.expiresAt}),p=new Map([...n.desiredContents,[o,s]]),f=new Map;for(let u of d.operations)u.disposition==="ready"&&u.kind!=="remove"&&f.set(u.path,p.get(u.path));return{...n,manifest:r,plan:d,desiredContents:f}}function Di(e){return qr(e,"workspace-npm-package")}function ji(e){return qr(e,"workspace-node-application")}function Ci(e){return qr(e,"workspace-web-application")}function $i(e){return qr(e,"workspace-expo-application")}async function Jm(e){if(e.currentLock!==void 0){let n=await Oi(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Oi({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Wm(e){if(e.currentLock!==void 0){let n=await Si(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Si({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Km(e){if(e.currentLock!==void 0){let n=await Sn(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Sn({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Ym(e){if(e.currentLock!==void 0){let n=await Di(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Di({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Hm(e){if(e.currentLock!==void 0){let n=await ji(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await ji({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Xm(e){if(e.currentLock!==void 0){let n=await Ci(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await Ci({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}async function Zm(e){if(e.currentLock!==void 0){let n=await $i(e);return{state:n.plan.state==="conflicted"?"drifted":"adopted",operations:n.plan.operations}}let t=await $i({...e,allowExistingWithoutLock:!0});return t.plan.operations.filter(n=>n.disposition!=="ready").length===0?{state:"planned",operations:t.plan.operations}:t.plan.operations.every(n=>n.disposition==="noop")?{state:"applied-unverified",operations:t.plan.operations}:{state:"drifted",operations:t.plan.operations}}import{lstat as lE,readFile as Da,realpath as dE}from"node:fs/promises";import Fi from"node:path";var At=class extends Error{code;constructor(t,r){super(r),this.code=t}},Br=/^sha256:[a-f0-9]{64}$/,qR=/^sha512-[A-Za-z0-9+/]{86}==$/,BR=/^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/,eg=/^registry\.[a-z0-9][a-z0-9.-]{1,126}$/,zR=/^@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/,Qm=/^[a-z][a-z0-9._:-]{2,127}$/;function zr(e,t){let r=Object.keys(e).sort();return r.length===t.length&&r.every((n,i)=>n===[...t].sort()[i])}function GR(e){if(!zr(e,["registryId","tenantId","origin","scopes","authentication","capabilities","status"])||!eg.test(e.registryId)||!Qm.test(e.tenantId)||e.scopes.length===0||e.scopes.length>32||e.scopes.some((n,i)=>!/^@[a-z0-9][a-z0-9._-]*$/.test(n)||e.scopes.indexOf(n)!==i)||!zr(e.authentication,e.authentication.credentialRef===void 0?["kind"]:["kind","credentialRef"])||!zr(e.capabilities,["read","write","provenance","staging"])||!["workload-identity","short-lived-token","restricted-token","anonymous-test"].includes(e.authentication.kind)||e.authentication.kind==="anonymous-test"!=(e.authentication.credentialRef===void 0)||e.authentication.credentialRef!==void 0&&!Qm.test(e.authentication.credentialRef))return!1;let t;try{t=new URL(e.origin)}catch{return!1}if(t.username||t.password||t.search||t.hash||!t.pathname.endsWith("/")||t.pathname.includes("..")||/%2f|%5c/iu.test(t.pathname))return!1;let r=t.hostname==="127.0.0.1"||t.hostname==="localhost"||t.hostname==="[::1]";return e.authentication.kind==="anonymous-test"&&(!r||t.protocol!=="http:")||e.authentication.kind!=="anonymous-test"&&t.protocol!=="https:"?!1:typeof e.capabilities.read=="boolean"&&typeof e.capabilities.write=="boolean"&&typeof e.capabilities.provenance=="boolean"&&typeof e.capabilities.staging=="boolean"&&(e.status==="enabled"||e.status==="disabled")}function Wl(e){if(!GR(e))throw new At("REGISTRY_CONFIG_INVALID","Registry configuration is invalid");let t={schemaVersion:1,...e};return Object.freeze({...t,scopes:Object.freeze([...e.scopes]),authentication:Object.freeze({...e.authentication}),capabilities:Object.freeze({...e.capabilities}),revision:h(k(t))})}function Ti(e){let t=e;if(typeof t!="object"||t===null||!zr(t,["schemaVersion","revision","registryId","tenantId","origin","scopes","authentication","capabilities","status"])||t.schemaVersion!==1||!Br.test(t.revision))throw new At("REGISTRY_CONFIG_INVALID","Registry configuration is invalid");let{schemaVersion:r,revision:n,...i}=t;if(Wl(i).revision!==n)throw new At("REGISTRY_CONFIG_INVALID","Registry configuration has been modified");return t}function JR(e,t){let r,n;try{r=new URL(e.origin),n=new URL(t)}catch{return!1}return n.username||n.password||n.search||n.hash||n.pathname!==r.pathname||n.protocol!==r.protocol||n.hostname!==r.hostname?!1:e.authentication.kind==="anonymous-test"||n.port===r.port}function Kl(e,t){let r=Ti(t);if(!zr(e,["registryId","registryConfigRevision","origin","resolvedAt","expiresAt"])||e.registryId!==r.registryId||e.registryConfigRevision!==r.revision||!JR(r,e.origin)||Number.isNaN(Date.parse(e.resolvedAt))||Number.isNaN(Date.parse(e.expiresAt))||Date.parse(e.expiresAt)<=Date.parse(e.resolvedAt))throw new At("REGISTRY_ENDPOINT_BINDING_INVALID","Registry endpoint binding is invalid");let n={schemaVersion:1,...e};return Object.freeze({...n,bindingDigest:h(k(n))})}function tg(e,t){let r=e;if(typeof r!="object"||r===null||!zr(r,["schemaVersion","bindingDigest","registryId","registryConfigRevision","origin","resolvedAt","expiresAt"])||r.schemaVersion!==1||!Br.test(r.bindingDigest))throw new At("REGISTRY_ENDPOINT_BINDING_INVALID","Registry endpoint binding is invalid");let{schemaVersion:n,bindingDigest:i,...o}=r;if(Kl(o,t).bindingDigest!==i)throw new At("REGISTRY_ENDPOINT_BINDING_INVALID","Registry endpoint binding has been modified");return r}function WR(e){let t=["registryId","registryConfigRevision","packageName","version","integrity","tarballDigest","access","provenance","sourceDeliveryReceiptId","verifiedAt",...e.verificationIdentityDigest===void 0?[]:["verificationIdentityDigest"]];return zr(e,t)&&eg.test(e.registryId)&&Br.test(e.registryConfigRevision)&&zR.test(e.packageName)&&BR.test(e.version)&&qR.test(e.integrity)&&Br.test(e.tarballDigest)&&Br.test(e.sourceDeliveryReceiptId)&&!Number.isNaN(Date.parse(e.verifiedAt))&&(e.access==="restricted"||e.access==="private")&&["registry-attested","external-attested","local-readback-verified","development-readback-verified","registry-verified-no-attestation"].includes(e.provenance)&&(e.provenance!=="registry-verified-no-attestation"?e.verificationIdentityDigest!==void 0&&Br.test(e.verificationIdentityDigest):e.verificationIdentityDigest===void 0)}function Yl(e){if(!WR(e))throw new At("PACKAGE_RECEIPT_INVALID","Package delivery receipt is invalid");let t={schemaVersion:1,...e};return Object.freeze({...t,receiptId:h(k(t))})}function rg(e){let t=e;if(typeof t!="object"||t===null||t.schemaVersion!==1||!Br.test(t.receiptId))throw new At("PACKAGE_RECEIPT_INVALID","Package delivery receipt is invalid");let{schemaVersion:r,receiptId:n,...i}=t;if(Yl(i).receiptId!==n)throw new At("PACKAGE_RECEIPT_INVALID","Package delivery receipt has been modified");return t}var Oe=class extends Error{code;constructor(t){super(t),this.code=t,this.name="ResolutionEvidenceError"}};function Li(e){return h(k(e))}var Hl=/^sha256:[a-f0-9]{64}$/u,KR=/^sha512-[A-Za-z0-9+/]{86}==$/u,YR=/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u,ga=/^[a-z0-9][a-z0-9._/-]{0,255}$/u,HR=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u,XR=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*@[0-9][a-zA-Z0-9.+()_@/-]*$/u;function ya(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function ng(e){return h(k(e))}function ig(e){let t=Buffer.from(e.desiredLockfile),r=h(t),n={schemaVersion:1,workerReleaseId:e.workerReleaseId,workerStateRevision:e.workerStateRevision,requestDigest:e.requestDigest,pnpmVersion:e.pnpmVersion,desiredLockDigest:r,importerFacts:e.importerFacts.map(a=>({...a})),packageFacts:e.packageFacts.map(a=>({...a})),snapshotClosureDigest:e.snapshotClosureDigest,networkObservationDigest:e.networkObservationDigest,cacheObservation:{...e.cacheObservation},commandDigest:e.commandDigest,completedAt:e.completedAt,expiresAt:e.expiresAt},i={...n,jobId:ng(n),desiredLockfile:t};og(i);let o={...i,importerFacts:Object.freeze(i.importerFacts.map(a=>Object.freeze({...a}))),packageFacts:Object.freeze(i.packageFacts.map(a=>Object.freeze({...a}))),cacheObservation:Object.freeze({...i.cacheObservation})};return Object.freeze(o)}function og(e){if(!ya(e,["schemaVersion","jobId","workerReleaseId","workerStateRevision","requestDigest","pnpmVersion","desiredLockfile","desiredLockDigest","importerFacts","packageFacts","snapshotClosureDigest","networkObservationDigest","cacheObservation","commandDigest","completedAt","expiresAt"])||e.schemaVersion!==1||e.pnpmVersion!=="11.21.0")throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(![e.jobId,e.workerStateRevision,e.requestDigest,e.desiredLockDigest,e.snapshotClosureDigest,e.networkObservationDigest,e.commandDigest,e.cacheObservation.preimageRevision,e.cacheObservation.desiredRevision,e.cacheObservation.writesDigest].every(i=>Hl.test(i)))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(!ga.test(e.workerReleaseId)||!ga.test(e.cacheObservation.namespace)||e.desiredLockfile.byteLength===0||h(e.desiredLockfile)!==e.desiredLockDigest||Number.isNaN(Date.parse(e.completedAt))||Number.isNaN(Date.parse(e.expiresAt))||Date.parse(e.expiresAt)<=Date.parse(e.completedAt))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(!ya(e.cacheObservation,["namespace","preimageRevision","desiredRevision","writesDigest"])||e.importerFacts.length===0||e.packageFacts.length===0)throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(e.importerFacts.some(i=>!ya(i,["importerId","manifestDigest","preimageDigest","desiredDigest"])||i.importerId!=="."&&!ga.test(i.importerId)||![i.manifestDigest,i.preimageDigest,i.desiredDigest].every(o=>Hl.test(o))))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(e.packageFacts.some(i=>!ya(i,["identity","packageName","version","integrity","registryId","managed","edgesDigest"])||!XR.test(i.identity)||!HR.test(i.packageName)||!ga.test(i.registryId)||!YR.test(i.version)||!KR.test(i.integrity)||typeof i.managed!="boolean"||!Hl.test(i.edgesDigest)))throw new Oe("RESOLUTION_EVIDENCE_INVALID");if(new Set(e.importerFacts.map(i=>i.importerId)).size!==e.importerFacts.length||new Set(e.packageFacts.map(i=>i.identity)).size!==e.packageFacts.length)throw new Oe("RESOLUTION_EVIDENCE_INVALID");let{jobId:t,desiredLockfile:r,...n}=e;if(ng(n)!==e.jobId)throw new Oe("RESOLUTION_EVIDENCE_INVALID")}function Xl(e,t){if(og(e),Date.parse(t.now)>Date.parse(e.expiresAt))throw new Oe("RESOLUTION_EVIDENCE_EXPIRED");if(e.requestDigest!==t.requestDigest||e.pnpmVersion!==t.pnpmVersion||e.workerReleaseId!==t.workerReleaseId)throw new Oe("RESOLUTION_EVIDENCE_INVALID");let r=e.importerFacts.find(n=>n.importerId===t.targetImporterId);if(!r||r.manifestDigest!==t.targetManifestDigest)throw new Oe("RESOLUTION_EVIDENCE_IMPORTER_DRIFT");for(let n of t.preservedImporterDigests){let i=e.importerFacts.find(o=>o.importerId===n.importerId);if(!i||i.preimageDigest!==n.preimageDigest||i.desiredDigest!==n.preimageDigest)throw new Oe("RESOLUTION_EVIDENCE_IMPORTER_DRIFT")}for(let n of t.managedSources){let i=e.packageFacts.filter(o=>o.managed&&o.packageName===n.packageName);if(i.length!==1||i[0].registryId!==n.registryId||i[0].version!==n.version||i[0].integrity!==n.integrity)throw new Oe("RESOLUTION_EVIDENCE_SOURCE_MISMATCH")}if(e.packageFacts.filter(n=>n.managed).length!==t.managedSources.length)throw new Oe("RESOLUTION_EVIDENCE_SOURCE_MISMATCH");return e}var H=class extends Error{code;constructor(t,r){super(t,r),this.code=t,this.name="PackageAdoptionError"}};function Ia(e){let t={sourceChannel:e.sourceChannel,packageJsonPreimageDigest:e.packageJsonPreimageDigest,desiredPackageJsonDigest:e.desiredPackageJsonDigest,lockfilePreimage:{...e.lockfilePreimage},desiredLockfileDigest:e.desiredLockfileDigest,registryRevisions:e.registryRevisions.map(r=>({...r})),endpointBindings:e.endpointBindings.map(({registryId:r,registryConfigRevision:n,bindingDigest:i,expiresAt:o})=>({registryId:r,registryConfigRevision:n,bindingDigest:i,expiresAt:o})),sources:e.sources.map(r=>({...r})),installPolicy:{...e.installPolicy}};if(e.schemaVersion===1)return{schemaVersion:1,...t};if(!e.topology||!e.preservedDependencies||!e.preservedImporterDigests)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");return{schemaVersion:2,...t,topology:{...e.topology},preservedDependencies:e.preservedDependencies.map(r=>({...r})),preservedImporterDigests:e.preservedImporterDigests.map(r=>({...r}))}}var ha=/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)$/u,ag=/^(?:workspace:|file:|link:|git(?:\+|:)|https?:|npm:)|[~^*<>=|]/u;function Zl(e){return Array.isArray(e)?`[${e.map(Zl).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${Zl(r)}`).join(",")}}`:JSON.stringify(e)}function Gt(e){let t;try{t=JSON.parse(Buffer.from(e).toString("utf8"))}catch{throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}if(!t||typeof t!="object"||Array.isArray(t))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");return t}function mt(e){if(e===void 0)return{};if(!e||typeof e!="object"||Array.isArray(e))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let t=Object.entries(e);if(t.some(([,r])=>typeof r!="string"))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");return Object.fromEntries(t)}function wa(e){for(let t of[mt(e.dependencies),mt(e.devDependencies),mt(e.optionalDependencies)])for(let[r,n]of Object.entries(t))if(r.startsWith("@aipt/")&&(!ha.test(n)||ag.test(n)))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}var ZR=["dependencies","devDependencies","optionalDependencies"];function va(e,t){let r=[];for(let n of ZR)for(let[i,o]of Object.entries(mt(e[n]))){if(t.has(i)){if(!ha.test(o))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");continue}if(/^(?:file:|link:|git(?:\+|:)|https?:|npm:)/u.test(o))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");r.push({section:n,packageName:i,specifier:o})}return r.sort((n,i)=>`${n.section}:${n.packageName}`.localeCompare(`${i.section}:${i.packageName}`))}function Ql(e){let t=Gt(e.packageJson);wa(t);let r=Object.fromEntries(e.release.packageSources.filter(({usage:o})=>o==="runtime").map(({packageName:o,version:a})=>[o,a])),n=Object.fromEntries(e.release.packageSources.filter(({usage:o})=>o==="development").map(({packageName:o,version:a})=>[o,a])),i={...t,...Object.keys(r).length?{dependencies:{...mt(t.dependencies),...r}}:{},...Object.keys(n).length?{devDependencies:{...mt(t.devDependencies),...n}}:{}};return Buffer.from(`${JSON.stringify(i,null,2)}
31
31
  `)}function xi(e){let t=Gt(e.packageJson);va(t,new Set(e.release.packageSources.map(i=>i.packageName)));let r=Object.fromEntries(e.release.packageSources.filter(({usage:i})=>i==="runtime").map(({packageName:i,version:o})=>[i,o])),n=Object.fromEntries(e.release.packageSources.filter(({usage:i})=>i==="development").map(({packageName:i,version:o})=>[i,o]));return Buffer.from(`${JSON.stringify({...t,...Object.keys(r).length?{dependencies:{...mt(t.dependencies),...r}}:{},...Object.keys(n).length?{devDependencies:{...mt(t.devDependencies),...n}}:{}},null,2)}
32
32
  `)}function ed(e){let t=Gt(e.packageJson);wa(t);let r=mt(t.dependencies),n=mt(t.devDependencies);for(let o of e.remove)delete(o.usage==="runtime"?r:n)[o.packageName];let i={...t};return Object.keys(r).length===0?delete i.dependencies:i.dependencies=r,Object.keys(n).length===0?delete i.devDependencies:i.devDependencies=n,Buffer.from(`${JSON.stringify(i,null,2)}
33
33
  `)}function td(e){let t=Gt(e.packageJson);va(t,new Set(e.remove.map(o=>o.packageName)));let r=mt(t.dependencies),n=mt(t.devDependencies);for(let o of e.remove)delete(o.usage==="runtime"?r:n)[o.packageName];let i={...t};return Object.keys(r).length===0?delete i.dependencies:i.dependencies=r,Object.keys(n).length===0?delete i.devDependencies:i.devDependencies=n,Buffer.from(`${JSON.stringify(i,null,2)}
34
34
  `)}function sg(e){let t=e.currentLock.capabilities.find(p=>p.capabilityId===e.release.capabilityId&&p.version===e.release.version);if(!t?.packageAdoption)throw new H("PACKAGE_SOURCE_NOT_FOUND");let r=new Set(e.currentLock.capabilities.filter(p=>p!==t).flatMap(p=>p.packageAdoption?.sources.map(f=>f.packageName)??[])),n=t.packageAdoption.sources.filter(p=>!r.has(p.packageName)),i=ed({packageJson:e.packageJson,remove:n}),o=Gt(e.projectManifest),a=Array.isArray(o.capabilities)?o.capabilities:[],s=Buffer.from(`${JSON.stringify({...o,capabilities:a.filter(p=>p.capabilityId!==e.release.capabilityId||p.version!==e.release.version)},null,2)}
35
35
  `),c=e.endpointBindings.filter(p=>n.some(f=>f.registryId===p.registryId)),l=[{path:"project-capabilities.json",kind:"replace",ownership:"owned-file",baseDigest:h(e.projectManifest),desiredDigest:h(s)},{path:"package.json",kind:"replace",ownership:"owned-file",baseDigest:h(e.packageJson),desiredDigest:h(i)},{path:"pnpm-lock.yaml",kind:"replace",ownership:"owned-file",baseDigest:h(e.currentLockfile),desiredDigest:h(e.desiredLockfile)},...t.assets.map(p=>({path:p.path,kind:"remove",ownership:p.ownership??"owned-file",baseDigest:p.digest}))];return{plan:Pe({action:"remove",capability:{schemaVersion:1,capabilityId:e.release.capabilityId,version:e.release.version,integrity:e.release.integrity,assets:t.assets.map(p=>({path:p.path,ownership:p.ownership??"owned-file",desiredDigest:p.digest})),verifiers:e.release.verifiers.map(p=>({id:p.id,kind:"file-digest"}))},changes:l,observedAssets:[...e.observedAssets],generatedAt:e.generatedAt,expiresAt:e.expiresAt,packageAdoption:{schemaVersion:1,sourceChannel:t.packageAdoption.sourceChannel??"production",packageJsonPreimageDigest:h(e.packageJson),desiredPackageJsonDigest:h(i),lockfilePreimage:{kind:"present",digest:h(e.currentLockfile)},desiredLockfileDigest:h(e.desiredLockfile),registryRevisions:t.packageAdoption.registryRevisions.map(p=>({...p})),endpointBindings:c.map(({registryId:p,registryConfigRevision:f,bindingDigest:u,expiresAt:m})=>({registryId:p,registryConfigRevision:f,bindingDigest:u,expiresAt:m})),sources:n.map(p=>({...p})),installPolicy:{ignoreScripts:!0,allowWorkspaceProtocol:!1,allowPublicRegistryFallback:!1}}}),desiredContents:new Map([["project-capabilities.json",s],["package.json",i],["pnpm-lock.yaml",e.desiredLockfile]]),removedSources:n}}function cg(e){let t=e.currentLock.capabilities.find(g=>g.capabilityId===e.release.capabilityId&&g.version===e.release.version);if(!t?.packageAdoption||e.topology.mode!=="pnpm-shared-lockfile")throw new H("PACKAGE_SOURCE_NOT_FOUND");let r=new Set(e.currentLock.capabilities.filter(g=>g!==t).flatMap(g=>g.packageAdoption?.sources.map(y=>y.packageName)??[])),n=t.packageAdoption.sources.filter(g=>!r.has(g.packageName)),i=td({packageJson:e.packageJson,remove:n}),o=e.remainingSources.map(({registryId:g,packageName:y,version:w,integrity:A})=>({registryId:g,packageName:y,version:w,integrity:A})),a={mode:e.topology.mode,unitRelativeRoot:e.topology.unitRelativeRoot,unitImporterId:e.topology.unitImporterId,lockfilePath:e.topology.lockfilePath,...e.topology.workspaceManifestPath?{workspaceManifestPath:e.topology.workspaceManifestPath,workspaceManifestDigest:e.topology.workspaceManifestDigest}:{}},s=Xl(e.resolutionEvidence,{requestDigest:Li({schemaVersion:1,pnpmVersion:"11.21.0",topology:a,currentLockfileDigest:h(e.currentLockfile),desiredPackageJsonDigest:h(i),sources:o,preservedImporterDigests:e.preservedImporterDigests.map(({importerId:g,preimageDigest:y})=>({importerId:g,preimageDigest:y}))}),pnpmVersion:"11.21.0",workerReleaseId:e.resolutionWorkerReleaseId,targetImporterId:e.topology.unitImporterId,targetManifestDigest:h(i),preservedImporterDigests:e.preservedImporterDigests.map(({importerId:g,preimageDigest:y})=>({importerId:g,preimageDigest:y})),managedSources:o,now:e.generatedAt}),c=Gt(e.projectManifest),l=Array.isArray(c.capabilities)?c.capabilities:[],d=Buffer.from(`${JSON.stringify({...c,capabilities:l.filter(g=>g.capabilityId!==e.release.capabilityId||g.version!==e.release.version)},null,2)}
36
- `),p=g=>`${e.topology.unitRelativeRoot}/${g}`,f=e.endpointBindings.filter(g=>n.some(y=>y.registryId===g.registryId)),u=[{path:p("project-capabilities.json"),kind:"replace",ownership:"owned-file",baseDigest:h(e.projectManifest),desiredDigest:h(d)},{path:p("package.json"),kind:"replace",ownership:"owned-file",baseDigest:h(e.packageJson),desiredDigest:h(i)},{path:e.topology.lockfilePath,kind:"replace",ownership:"owned-file",baseDigest:h(e.currentLockfile),desiredDigest:s.desiredLockDigest},...t.assets.map(g=>({path:p(g.path),kind:"remove",ownership:g.ownership??"owned-file",baseDigest:g.digest}))];return{plan:Pe({action:"remove",capability:{schemaVersion:1,capabilityId:e.release.capabilityId,version:e.release.version,integrity:e.release.integrity,assets:t.assets.map(g=>({path:g.path,ownership:g.ownership??"owned-file",desiredDigest:g.digest})),verifiers:e.release.verifiers.map(g=>({id:g.id,kind:"file-digest"}))},changes:u,observedAssets:[...e.observedAssets],generatedAt:e.generatedAt,expiresAt:e.expiresAt,packageAdoption:{schemaVersion:2,sourceChannel:t.packageAdoption.sourceChannel??"production",packageJsonPreimageDigest:h(e.packageJson),desiredPackageJsonDigest:h(i),lockfilePreimage:{kind:"present",digest:h(e.currentLockfile)},desiredLockfileDigest:s.desiredLockDigest,registryRevisions:t.packageAdoption.registryRevisions.map(g=>({...g})),endpointBindings:f.map(({registryId:g,registryConfigRevision:y,bindingDigest:w,expiresAt:A})=>({registryId:g,registryConfigRevision:y,bindingDigest:w,expiresAt:A})),sources:n.map(g=>({...g})),installPolicy:{ignoreScripts:!0,allowWorkspaceProtocol:!1,allowPublicRegistryFallback:!1},topology:a,preservedDependencies:va(Gt(i),new Set(e.remainingSources.map(g=>g.packageName))),preservedImporterDigests:e.preservedImporterDigests.map(g=>({...g}))}}),desiredContents:new Map([[p("project-capabilities.json"),d],[p("package.json"),i],[e.topology.lockfilePath,s.desiredLockfile]]),removedSources:n,transactionRoot:e.transactionRoot}}function ba(e,t){let r=e.release.availability,n=r.maturity==="available"&&r.visibility==="catalog-consumers"&&r.sourceState==="registry-verified",i=r.maturity==="candidate"&&r.visibility==="maintainers-only"&&r.sourceState==="development-registry";if((t==="production"?!n:!i)||e.release.packageSources.length===0)throw new H("PACKAGE_SOURCE_NOT_FOUND");let o=Gt(e.packageJson),a=e.desiredBasePackageJson??e.packageJson,s=Gt(a),c="topology"in e,l=c?va(s,new Set(e.release.packageSources.map(I=>I.packageName))):void 0;c||wa(o),c||wa(s);let d=new Map(e.registryConfigs.map(I=>{let _=Ti(I);return[_.registryId,_]})),p=new Map(e.endpointBindings.map(I=>{let _=d.get(I.registryId);if(_===void 0)throw new H("PACKAGE_SOURCE_NOT_FOUND");let S=tg(I,_);return[S.registryId,S]})),f=new Map(e.receipts.map(I=>{let _=rg(I);return[_.receiptId,_]})),u=new Map(e.inspections.map(I=>[`${I.registryId}:${I.packageName}@${I.version}`,I])),m=new Map(e.release.packageSources.map(I=>[I.packageName,I])),g=c?Xl(e.resolutionEvidence,{requestDigest:Li({schemaVersion:1,pnpmVersion:"11.21.0",topology:e.topology,currentLockfileDigest:e.currentLockfile===void 0?null:h(e.currentLockfile),desiredPackageJsonDigest:h(xi({release:e.release,packageJson:a})),sources:e.release.packageSources.map(({registryId:I,packageName:_,version:S,integrity:T})=>({registryId:I,packageName:_,version:S,integrity:T})),preservedImporterDigests:e.preservedImporterDigests.map(({importerId:I,preimageDigest:_})=>({importerId:I,preimageDigest:_}))}),pnpmVersion:"11.21.0",workerReleaseId:e.resolutionWorkerReleaseId,targetImporterId:e.topology.unitImporterId,targetManifestDigest:h(xi({release:e.release,packageJson:a})),preservedImporterDigests:e.preservedImporterDigests.map(({importerId:I,preimageDigest:_})=>({importerId:I,preimageDigest:_})),managedSources:e.release.packageSources.map(({registryId:I,packageName:_,version:S,integrity:T})=>({registryId:I,packageName:_,version:S,integrity:T})),now:e.generatedAt}):void 0,y=c?{lockfile:g.desiredLockfile,packages:g.packageFacts.filter(I=>I.managed).map(({registryId:I,packageName:_,version:S,integrity:T})=>({registryId:I,packageName:_,version:S,integrity:T}))}:e.lockResolution;if(y.lockfile.byteLength===0||y.packages.length!==e.release.packageSources.length)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION",{cause:new Error(`managed resolution count ${y.packages.length}/${e.release.packageSources.length}`)});let w=new Map(y.packages.map(I=>[I.packageName,I]));for(let I of e.release.packageSources){let _=d.get(I.registryId),S=p.get(I.registryId),T=f.get(I.deliveryReceiptId),ue=u.get(`${I.registryId}:${I.packageName}@${I.version}`),$=w.get(I.packageName);if(T!==void 0&&(t==="production"&&T.provenance==="development-readback-verified"||t==="development"&&T.provenance!=="development-readback-verified"))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");if(!_||!S||Date.parse(S.expiresAt)<=Date.parse(e.expiresAt)||_.status!=="enabled"||!_.scopes.some(P=>I.packageName.startsWith(`${P}/`))||!T||!ue||!$)throw new H("PACKAGE_SOURCE_NOT_FOUND");if(T.registryId!==I.registryId||T.registryConfigRevision!==_.revision||T.packageName!==I.packageName||T.version!==I.version||T.integrity!==I.integrity||T.tarballDigest!==I.tarballDigest||ue.integrity!==I.integrity||ue.tarballDigest!==I.tarballDigest||ue.deliveryReceiptId!==I.deliveryReceiptId||$.registryId!==I.registryId||$.version!==I.version||$.integrity!==I.integrity)throw new H("PACKAGE_SOURCE_INTEGRITY_MISMATCH");if(!ha.test(I.version)||ue.lifecycleScripts.length>0)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");for(let[P,Z]of Object.entries(ue.dependencies)){let se=m.get(P);if(P.startsWith("@aipt/")&&(!se||se.version!==Z||!ha.test(Z)))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION",{cause:new Error(`undeclared internal dependency ${I.packageName}->${P}@${Z}`)});if(ag.test(Z))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}}let A=c?xi({release:e.release,packageJson:a}):Ql({release:e.release,packageJson:a}),b={schemaVersion:c?2:1,sourceChannel:t,capabilityId:e.release.capabilityId,capabilityVersion:e.release.version,capabilityIntegrity:e.release.integrity,consumerProfile:e.consumerProfile,generatedAt:e.generatedAt,expiresAt:e.expiresAt,packageJsonPreimageDigest:h(e.packageJson),desiredPackageJsonDigest:h(A),lockfilePreimage:Object.freeze(e.currentLockfile===void 0?{kind:"absent"}:{kind:"present",digest:h(e.currentLockfile)}),desiredLockfileDigest:h(y.lockfile),registryRevisions:Object.freeze([...d.values()].filter(I=>e.release.packageSources.some(_=>_.registryId===I.registryId)).map(({registryId:I,revision:_})=>Object.freeze({registryId:I,revision:_})).sort((I,_)=>I.registryId.localeCompare(_.registryId))),endpointBindings:Object.freeze([...p.values()].filter(I=>e.release.packageSources.some(_=>_.registryId===I.registryId)).map(({registryId:I,registryConfigRevision:_,bindingDigest:S,expiresAt:T})=>Object.freeze({registryId:I,registryConfigRevision:_,bindingDigest:S,expiresAt:T})).sort((I,_)=>I.registryId.localeCompare(_.registryId))),sources:Object.freeze(e.release.packageSources.map(I=>Object.freeze({...I}))),installPolicy:Object.freeze({ignoreScripts:!0,allowWorkspaceProtocol:!1,allowPublicRegistryFallback:!1}),...c?{topology:Object.freeze({...e.topology}),preservedDependencies:Object.freeze(l.map(I=>Object.freeze({...I}))),preservedImporterDigests:Object.freeze(e.preservedImporterDigests.map(I=>Object.freeze({...I})))}:{}},R=h(Zl(b));return Object.freeze({...b,planId:R,desiredPackageJson:A,desiredLockfile:y.lockfile})}function ka(e){return ba(e,"production")}function _a(e){return ba(e,"development")}function Aa(e){return ba(e,"production")}function Ra(e){return ba(e,"development")}function QR(e){let t=e.packageAdoption;if(t===void 0)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let r=t.schemaVersion===2&&t.topology.mode==="pnpm-shared-lockfile"?`${t.topology.unitRelativeRoot}/package.json`:"package.json",n=t.schemaVersion===2?t.topology.lockfilePath:"pnpm-lock.yaml",i=e.operations.filter(({path:d})=>d===r),o=e.operations.filter(({path:d})=>d===n);if(i.length!==1||o.length!==1)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let a=i[0],s=o[0],c=a.kind==="replace"&&a.baseDigest===t.packageJsonPreimageDigest&&a.desiredDigest===t.desiredPackageJsonDigest&&a.disposition==="ready",l=s.kind===(t.lockfilePreimage.kind==="absent"?"create":"replace")&&(t.lockfilePreimage.kind==="absent"?s.baseDigest===void 0:s.baseDigest===t.lockfilePreimage.digest)&&s.desiredDigest===t.desiredLockfileDigest&&s.disposition==="ready";if(!c||!l)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}async function lg(e){QR(e.plan);let t=!1;try{await e.packageManager.prepare({projectRoot:e.projectRoot,plan:e.plan});let r=await lr({projectRoot:e.projectRoot,plan:e.plan,approvedPlanId:e.approvedPlanId,desiredContents:e.desiredContents,now:e.now}),n=await dr(r);return t=!0,await e.packageManager.install({projectRoot:e.projectRoot,plan:e.plan}),await e.packageManager.verify({projectRoot:e.projectRoot,plan:e.plan}),n}catch(r){if(t){await Ol({projectRoot:e.projectRoot,planId:e.plan.planId,now:new Date().toISOString(),failureCode:"PACKAGE_INSTALL_FAILED"});try{await e.packageManager.restore({projectRoot:e.projectRoot,plan:e.plan})}catch(n){throw new H("PACKAGE_INSTALL_RECOVERY_REQUIRED",{cause:n})}}throw r}finally{await e.packageManager.cleanup({projectRoot:e.projectRoot,plan:e.plan})}}var fg=nn(Dr(),1);var mg=["workspace-node-application","workspace-web-application","nextjs-full-stack-application"],gg="^[a-z0-9][a-z0-9._-]{0,127}$",rd="^[A-Z][A-Z0-9_]{0,127}$",dg="^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\\\)(?!.*[\\u0000-\\u001f]).+$",eE={$id:"https://schemas.dyyto.dev/platform/application-config-contract-v1.json",type:"object",additionalProperties:!1,required:["$schema","schemaVersion","kind","application","configDirectory","bindings"],properties:{$schema:{const:"https://schemas.dyyto.dev/platform/application-config-contract-v1.json"},schemaVersion:{const:1},kind:{const:"ApplicationConfigContract"},application:{type:"object",additionalProperties:!1,required:["id","profile"],properties:{id:{type:"string",pattern:gg},profile:{enum:mg}}},configDirectory:{type:"object",additionalProperties:!1,required:["rootEnvironmentVariable","relativeDirectory","environmentFile","materializationOwner"],properties:{rootEnvironmentVariable:{const:"IDP_CONFIG_DIR"},relativeDirectory:{type:"string",pattern:"^applications/[a-z0-9][a-z0-9._-]{0,127}$"},environmentFile:{const:".env"},materializationOwner:{const:"external-deployment-control-plane"}}},bindings:{type:"array",maxItems:128,items:{oneOf:[{type:"object",additionalProperties:!1,required:["name","kind","required"],properties:{name:{type:"string",pattern:rd},kind:{const:"value"},required:{type:"boolean"},default:{type:"string",maxLength:1024}}},{type:"object",additionalProperties:!1,required:["name","kind","required","file"],properties:{name:{type:"string",pattern:rd},kind:{const:"secret-file"},required:{type:"boolean"},file:{type:"string",maxLength:512,pattern:dg}}},{type:"object",additionalProperties:!1,required:["name","kind","required","file"],properties:{name:{type:"string",pattern:rd},kind:{const:"certificate-file"},required:{type:"boolean"},file:{type:"string",maxLength:512,pattern:dg}}}]}}}},pg=new fg.Ajv2020({allErrors:!0,strict:!0}).compile(eE),ug=/(?:^|_)(?:PASSWORD|PASSWD|TOKEN|SECRET|PRIVATE_KEY|ACCESS_KEY|API_KEY|DATABASE_URL|CONNECTION_STRING|DSN|AUTHORIZATION|CREDENTIALS?)(?:_|$)/u,tE=/(?:^|_)(?:PRIVATE_KEY|PRIVATE|KEYPAIR|KEYSTORE|PKCS12|P12|PFX|KEY)(?:_|$)/u,et=class extends Error{code;issues;constructor(t,r,n=[]){super(r),this.code=t,this.issues=n}};function yg(e){let t=W(e),r=t.profile?.id;if(!mg.includes(r))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID","\u73AF\u5883\u914D\u7F6E\u5951\u7EA6\u53EA\u652F\u6301\u53EF\u90E8\u7F72 Application Profile\u3002");let n=t.profile?.parameters??{},i=n.name;if(Object.keys(n).length!==1||typeof i!="string"||!new RegExp(gg,"u").test(i))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID","Application Manifest \u5FC5\u987B\u5305\u542B\u552F\u4E00\u4E14\u5408\u6CD5\u7684 name \u53C2\u6570\u3002");return{id:i,profile:r}}function Ea(e,t){if(!pg(e))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID","Application ConfigContract \u4E0D\u7B26\u5408 v1 Schema\u3002",pg.errors??[]);let r=e;if(r.configDirectory.relativeDirectory!==`applications/${r.application.id}`)throw new et("APPLICATION_CONFIG_CONTRACT_INVALID","Config Dir \u76F8\u5BF9\u76EE\u5F55\u5FC5\u987B\u7531 Application identity \u552F\u4E00\u786E\u5B9A\u3002");let n=new Set,i=new Set;for(let o of r.bindings){if(n.has(o.name))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID",`\u73AF\u5883 Binding \u540D\u79F0\u91CD\u590D\uFF1A${o.name}`);if(n.add(o.name),o.kind==="value"){if(ug.test(o.name))throw new et("APPLICATION_CONFIG_SECRET_LITERAL_FORBIDDEN",`\u654F\u611F\u914D\u7F6E ${o.name} \u5FC5\u987B\u4F7F\u7528\u6587\u4EF6 Binding\uFF0C\u7981\u6B62\u5728\u4ED3\u5E93\u4E2D\u58F0\u660E\u503C\u3002`);continue}if(!o.name.endsWith("_FILE"))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID",`\u6587\u4EF6 Binding ${o.name} \u5FC5\u987B\u4EE5 _FILE \u7ED3\u5C3E\u3002`);let a=o.kind==="secret-file"?"secrets/":"certs/";if(o.kind==="certificate-file"&&(ug.test(o.name)||tE.test(o.name)))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID",`${o.name} \u5305\u542B\u79C1\u5BC6\u6750\u6599\u8BED\u4E49\uFF0C\u5FC5\u987B\u4F7F\u7528 secret-file \u5E76\u653E\u5165 secrets/\uFF1Bcertificate-file \u53EA\u5141\u8BB8\u516C\u5F00\u8BC1\u4E66\u3002`);let s=o.file.split("/");if(!o.file.startsWith(a)||s.some(c=>c===""||c==="."||c===".."))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID",`${o.name} \u5FC5\u987B\u4F4D\u4E8E ${a} \u4E0B\u7684\u5177\u4F53\u6587\u4EF6\u3002`);if(i.has(o.file))throw new et("APPLICATION_CONFIG_CONTRACT_INVALID",`\u914D\u7F6E\u6587\u4EF6 Binding \u8DEF\u5F84\u91CD\u590D\uFF1A${o.file}`);i.add(o.file)}if(t!==void 0){let o=yg(t);if(r.application.id!==o.id||r.application.profile!==o.profile)throw new et("APPLICATION_CONFIG_IDENTITY_MISMATCH","ConfigContract \u7684\u5E94\u7528\u8EAB\u4EFD\u6216 Profile \u4E0E Project Manifest \u4E0D\u4E00\u81F4\u3002")}return r}function Pa(e){let t=yg(e),r=t.profile==="workspace-web-application"?[]:[{name:"PORT",kind:"value",required:!1,default:"3000"}],n={$schema:"https://schemas.dyyto.dev/platform/application-config-contract-v1.json",schemaVersion:1,kind:"ApplicationConfigContract",application:t,configDirectory:{rootEnvironmentVariable:"IDP_CONFIG_DIR",relativeDirectory:`applications/${t.id}`,environmentFile:".env",materializationOwner:"external-deployment-control-plane"},bindings:r};return Ea(n,e),Buffer.from(`${JSON.stringify(n,null,2)}
36
+ `),p=g=>`${e.topology.unitRelativeRoot}/${g}`,f=e.endpointBindings.filter(g=>n.some(y=>y.registryId===g.registryId)),u=[{path:p("project-capabilities.json"),kind:"replace",ownership:"owned-file",baseDigest:h(e.projectManifest),desiredDigest:h(d)},{path:p("package.json"),kind:"replace",ownership:"owned-file",baseDigest:h(e.packageJson),desiredDigest:h(i)},{path:e.topology.lockfilePath,kind:"replace",ownership:"owned-file",baseDigest:h(e.currentLockfile),desiredDigest:s.desiredLockDigest},...t.assets.map(g=>({path:p(g.path),kind:"remove",ownership:g.ownership??"owned-file",baseDigest:g.digest}))];return{plan:Pe({action:"remove",capability:{schemaVersion:1,capabilityId:e.release.capabilityId,version:e.release.version,integrity:e.release.integrity,assets:t.assets.map(g=>({path:g.path,ownership:g.ownership??"owned-file",desiredDigest:g.digest})),verifiers:e.release.verifiers.map(g=>({id:g.id,kind:"file-digest"}))},changes:u,observedAssets:[...e.observedAssets],generatedAt:e.generatedAt,expiresAt:e.expiresAt,packageAdoption:{schemaVersion:2,sourceChannel:t.packageAdoption.sourceChannel??"production",packageJsonPreimageDigest:h(e.packageJson),desiredPackageJsonDigest:h(i),lockfilePreimage:{kind:"present",digest:h(e.currentLockfile)},desiredLockfileDigest:s.desiredLockDigest,registryRevisions:t.packageAdoption.registryRevisions.map(g=>({...g})),endpointBindings:f.map(({registryId:g,registryConfigRevision:y,bindingDigest:w,expiresAt:A})=>({registryId:g,registryConfigRevision:y,bindingDigest:w,expiresAt:A})),sources:n.map(g=>({...g})),installPolicy:{ignoreScripts:!0,allowWorkspaceProtocol:!1,allowPublicRegistryFallback:!1},topology:a,preservedDependencies:va(Gt(i),new Set(e.remainingSources.map(g=>g.packageName))),preservedImporterDigests:e.preservedImporterDigests.map(g=>({...g}))}}),desiredContents:new Map([[p("project-capabilities.json"),d],[p("package.json"),i],[e.topology.lockfilePath,s.desiredLockfile]]),removedSources:n,transactionRoot:e.transactionRoot}}function ba(e,t){let r=e.release.availability,n=r.maturity==="available"&&r.visibility==="catalog-consumers"&&r.sourceState==="registry-verified",i=r.maturity==="candidate"&&r.visibility==="maintainers-only"&&r.sourceState==="development-registry";if((t==="production"?!n:!i)||e.release.packageSources.length===0)throw new H("PACKAGE_SOURCE_NOT_FOUND");let o=Gt(e.packageJson),a=e.desiredBasePackageJson??e.packageJson,s=Gt(a),c="topology"in e,l=c?va(s,new Set(e.release.packageSources.map(I=>I.packageName))):void 0;c||wa(o),c||wa(s);let d=new Map(e.registryConfigs.map(I=>{let _=Ti(I);return[_.registryId,_]})),p=new Map(e.endpointBindings.map(I=>{let _=d.get(I.registryId);if(_===void 0)throw new H("PACKAGE_SOURCE_NOT_FOUND");let S=tg(I,_);return[S.registryId,S]})),f=new Map(e.receipts.map(I=>{let _=rg(I);return[_.receiptId,_]})),u=new Map(e.inspections.map(I=>[`${I.registryId}:${I.packageName}@${I.version}`,I])),m=new Map(e.release.packageSources.map(I=>[I.packageName,I])),g=c?Xl(e.resolutionEvidence,{requestDigest:Li({schemaVersion:1,pnpmVersion:"11.21.0",topology:e.topology,currentLockfileDigest:e.currentLockfile===void 0?null:h(e.currentLockfile),desiredPackageJsonDigest:h(xi({release:e.release,packageJson:a})),sources:e.release.packageSources.map(({registryId:I,packageName:_,version:S,integrity:T})=>({registryId:I,packageName:_,version:S,integrity:T})),preservedImporterDigests:e.preservedImporterDigests.map(({importerId:I,preimageDigest:_})=>({importerId:I,preimageDigest:_}))}),pnpmVersion:"11.21.0",workerReleaseId:e.resolutionWorkerReleaseId,targetImporterId:e.topology.unitImporterId,targetManifestDigest:h(xi({release:e.release,packageJson:a})),preservedImporterDigests:e.preservedImporterDigests.map(({importerId:I,preimageDigest:_})=>({importerId:I,preimageDigest:_})),managedSources:e.release.packageSources.map(({registryId:I,packageName:_,version:S,integrity:T})=>({registryId:I,packageName:_,version:S,integrity:T})),now:e.generatedAt}):void 0,y=c?{lockfile:g.desiredLockfile,packages:g.packageFacts.filter(I=>I.managed).map(({registryId:I,packageName:_,version:S,integrity:T})=>({registryId:I,packageName:_,version:S,integrity:T}))}:e.lockResolution;if(y.lockfile.byteLength===0||y.packages.length!==e.release.packageSources.length)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION",{cause:new Error(`managed resolution count ${y.packages.length}/${e.release.packageSources.length}`)});let w=new Map(y.packages.map(I=>[I.packageName,I]));for(let I of e.release.packageSources){let _=d.get(I.registryId),S=p.get(I.registryId),T=f.get(I.deliveryReceiptId),ue=u.get(`${I.registryId}:${I.packageName}@${I.version}`),$=w.get(I.packageName);if(T!==void 0&&(t==="production"&&T.provenance==="development-readback-verified"||t==="development"&&T.provenance!=="development-readback-verified"))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");if(!_||!S||Date.parse(S.expiresAt)<=Date.parse(e.expiresAt)||_.status!=="enabled"||!_.scopes.some(P=>I.packageName.startsWith(`${P}/`))||!T||!ue||!$)throw new H("PACKAGE_SOURCE_NOT_FOUND");if(T.registryId!==I.registryId||T.registryConfigRevision!==_.revision||T.packageName!==I.packageName||T.version!==I.version||T.integrity!==I.integrity||T.tarballDigest!==I.tarballDigest||ue.integrity!==I.integrity||ue.tarballDigest!==I.tarballDigest||ue.deliveryReceiptId!==I.deliveryReceiptId||$.registryId!==I.registryId||$.version!==I.version||$.integrity!==I.integrity)throw new H("PACKAGE_SOURCE_INTEGRITY_MISMATCH");if(!ha.test(I.version)||ue.lifecycleScripts.length>0)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");for(let[P,Z]of Object.entries(ue.dependencies)){let se=m.get(P);if(P.startsWith("@aipt/")&&(!se||se.version!==Z||!ha.test(Z)))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION",{cause:new Error(`undeclared internal dependency ${I.packageName}->${P}@${Z}`)});if(ag.test(Z))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}}let A=c?xi({release:e.release,packageJson:a}):Ql({release:e.release,packageJson:a}),b={schemaVersion:c?2:1,sourceChannel:t,capabilityId:e.release.capabilityId,capabilityVersion:e.release.version,capabilityIntegrity:e.release.integrity,consumerProfile:e.consumerProfile,generatedAt:e.generatedAt,expiresAt:e.expiresAt,packageJsonPreimageDigest:h(e.packageJson),desiredPackageJsonDigest:h(A),lockfilePreimage:Object.freeze(e.currentLockfile===void 0?{kind:"absent"}:{kind:"present",digest:h(e.currentLockfile)}),desiredLockfileDigest:h(y.lockfile),registryRevisions:Object.freeze([...d.values()].filter(I=>e.release.packageSources.some(_=>_.registryId===I.registryId)).map(({registryId:I,revision:_})=>Object.freeze({registryId:I,revision:_})).sort((I,_)=>I.registryId.localeCompare(_.registryId))),endpointBindings:Object.freeze([...p.values()].filter(I=>e.release.packageSources.some(_=>_.registryId===I.registryId)).map(({registryId:I,registryConfigRevision:_,bindingDigest:S,expiresAt:T})=>Object.freeze({registryId:I,registryConfigRevision:_,bindingDigest:S,expiresAt:T})).sort((I,_)=>I.registryId.localeCompare(_.registryId))),sources:Object.freeze(e.release.packageSources.map(I=>Object.freeze({...I}))),installPolicy:Object.freeze({ignoreScripts:!0,allowWorkspaceProtocol:!1,allowPublicRegistryFallback:!1}),...c?{topology:Object.freeze({...e.topology}),preservedDependencies:Object.freeze(l.map(I=>Object.freeze({...I}))),preservedImporterDigests:Object.freeze(e.preservedImporterDigests.map(I=>Object.freeze({...I})))}:{}},R=h(Zl(b));return Object.freeze({...b,planId:R,desiredPackageJson:A,desiredLockfile:y.lockfile})}function ka(e){return ba(e,"production")}function _a(e){return ba(e,"development")}function Aa(e){return ba(e,"production")}function Ra(e){return ba(e,"development")}function QR(e){let t=e.packageAdoption;if(t===void 0)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let r=t.schemaVersion===2&&t.topology.mode==="pnpm-shared-lockfile"?`${t.topology.unitRelativeRoot}/package.json`:"package.json",n=t.schemaVersion===2?t.topology.lockfilePath:"pnpm-lock.yaml",i=e.operations.filter(({path:d})=>d===r),o=e.operations.filter(({path:d})=>d===n);if(i.length!==1||o.length!==1)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let a=i[0],s=o[0],c=a.kind==="replace"&&a.baseDigest===t.packageJsonPreimageDigest&&a.desiredDigest===t.desiredPackageJsonDigest&&a.disposition==="ready",l=s.kind===(t.lockfilePreimage.kind==="absent"?"create":"replace")&&(t.lockfilePreimage.kind==="absent"?s.baseDigest===void 0:s.baseDigest===t.lockfilePreimage.digest)&&s.desiredDigest===t.desiredLockfileDigest&&s.disposition==="ready";if(!c||!l)throw new H("PACKAGE_SOURCE_POLICY_VIOLATION")}async function lg(e){QR(e.plan);let t=!1;try{await e.packageManager.prepare({projectRoot:e.projectRoot,plan:e.plan});let r=await lr({projectRoot:e.projectRoot,plan:e.plan,approvedPlanId:e.approvedPlanId,desiredContents:e.desiredContents,now:e.now}),n=await dr(r);return t=!0,await e.packageManager.install({projectRoot:e.projectRoot,plan:e.plan}),await e.packageManager.verify({projectRoot:e.projectRoot,plan:e.plan}),n}catch(r){if(t){await Ol({projectRoot:e.projectRoot,planId:e.plan.planId,now:new Date().toISOString(),failureCode:"PACKAGE_INSTALL_FAILED"});try{await e.packageManager.restore({projectRoot:e.projectRoot,plan:e.plan})}catch(n){throw new H("PACKAGE_INSTALL_RECOVERY_REQUIRED",{cause:n})}}throw r}finally{await e.packageManager.cleanup({projectRoot:e.projectRoot,plan:e.plan})}}var fg=nn(Dr(),1);var mg=["workspace-node-application","workspace-web-application","nextjs-full-stack-application"],gg="^[a-z0-9][a-z0-9._-]{0,127}$",rd="^[A-Z][A-Z0-9_]{0,127}$",dg="^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*(?:^|/)\\.(?:/|$))(?!.*\\\\)(?!.*[\\u0000-\\u001f]).+$",eE={$id:"https://schemas.dyyto.dev/platform/application-config-contract-v1.json",type:"object",additionalProperties:!1,required:["$schema","schemaVersion","kind","application","configDirectory","bindings"],properties:{$schema:{const:"https://schemas.dyyto.dev/platform/application-config-contract-v1.json"},schemaVersion:{const:1},kind:{const:"ApplicationConfigContract"},application:{type:"object",additionalProperties:!1,required:["id","profile"],properties:{id:{type:"string",pattern:gg},profile:{enum:mg}}},configDirectory:{type:"object",additionalProperties:!1,required:["rootEnvironmentVariable","relativeDirectory","environmentFile","materializationOwner"],properties:{rootEnvironmentVariable:{const:"IDP_CONFIG_DIR"},relativeDirectory:{type:"string",pattern:"^applications/[a-z0-9][a-z0-9._-]{0,127}$"},environmentFile:{const:".env"},materializationOwner:{const:"external-deployment-control-plane"}}},bindings:{type:"array",maxItems:128,items:{oneOf:[{type:"object",additionalProperties:!1,required:["name","kind","required"],properties:{name:{type:"string",pattern:rd},kind:{const:"value"},required:{type:"boolean"},default:{type:"string",maxLength:1024}}},{type:"object",additionalProperties:!1,required:["name","kind","required","file"],properties:{name:{type:"string",pattern:rd},kind:{const:"secret-file"},required:{type:"boolean"},file:{type:"string",maxLength:512,pattern:dg},provisioning:{oneOf:[{type:"object",additionalProperties:!1,required:["strategy"],properties:{strategy:{const:"external"}}},{type:"object",additionalProperties:!1,required:["strategy"],properties:{strategy:{const:"generated"},bytes:{type:"integer",minimum:16,maximum:128}}},{type:"object",additionalProperties:!1,required:["strategy","template"],properties:{strategy:{const:"derived"},template:{type:"string",minLength:1,maxLength:2048}}}]}}},{type:"object",additionalProperties:!1,required:["name","kind","required","file"],properties:{name:{type:"string",pattern:rd},kind:{const:"certificate-file"},required:{type:"boolean"},file:{type:"string",maxLength:512,pattern:dg}}}]}}}},pg=new fg.Ajv2020({allErrors:!0,strict:!0}).compile(eE),ug=/(?:^|_)(?:PASSWORD|PASSWD|TOKEN|SECRET|PRIVATE_KEY|ACCESS_KEY|API_KEY|DATABASE_URL|CONNECTION_STRING|DSN|AUTHORIZATION|CREDENTIALS?)(?:_|$)/u,tE=/(?:^|_)(?:PRIVATE_KEY|PRIVATE|KEYPAIR|KEYSTORE|PKCS12|P12|PFX|KEY)(?:_|$)/u,Je=class extends Error{code;issues;constructor(t,r,n=[]){super(r),this.code=t,this.issues=n}};function yg(e){let t=W(e),r=t.profile?.id;if(!mg.includes(r))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID","\u73AF\u5883\u914D\u7F6E\u5951\u7EA6\u53EA\u652F\u6301\u53EF\u90E8\u7F72 Application Profile\u3002");let n=t.profile?.parameters??{},i=n.name;if(Object.keys(n).length!==1||typeof i!="string"||!new RegExp(gg,"u").test(i))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID","Application Manifest \u5FC5\u987B\u5305\u542B\u552F\u4E00\u4E14\u5408\u6CD5\u7684 name \u53C2\u6570\u3002");return{id:i,profile:r}}function Ea(e,t){if(!pg(e))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID","Application ConfigContract \u4E0D\u7B26\u5408 v1 Schema\u3002",pg.errors??[]);let r=e;if(r.configDirectory.relativeDirectory!==`applications/${r.application.id}`)throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID","Config Dir \u76F8\u5BF9\u76EE\u5F55\u5FC5\u987B\u7531 Application identity \u552F\u4E00\u786E\u5B9A\u3002");let n=new Set,i=new Set;for(let l of r.bindings){if(n.has(l.name))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`\u73AF\u5883 Binding \u540D\u79F0\u91CD\u590D\uFF1A${l.name}`);if(n.add(l.name),l.kind==="value"){if(ug.test(l.name))throw new Je("APPLICATION_CONFIG_SECRET_LITERAL_FORBIDDEN",`\u654F\u611F\u914D\u7F6E ${l.name} \u5FC5\u987B\u4F7F\u7528\u6587\u4EF6 Binding\uFF0C\u7981\u6B62\u5728\u4ED3\u5E93\u4E2D\u58F0\u660E\u503C\u3002`);continue}if(!l.name.endsWith("_FILE"))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`\u6587\u4EF6 Binding ${l.name} \u5FC5\u987B\u4EE5 _FILE \u7ED3\u5C3E\u3002`);let d=l.kind==="secret-file"?"secrets/":"certs/";if(l.kind==="certificate-file"&&(ug.test(l.name)||tE.test(l.name)))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`${l.name} \u5305\u542B\u79C1\u5BC6\u6750\u6599\u8BED\u4E49\uFF0C\u5FC5\u987B\u4F7F\u7528 secret-file \u5E76\u653E\u5165 secrets/\uFF1Bcertificate-file \u53EA\u5141\u8BB8\u516C\u5F00\u8BC1\u4E66\u3002`);let p=l.file.split("/");if(!l.file.startsWith(d)||p.some(f=>f===""||f==="."||f===".."))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`${l.name} \u5FC5\u987B\u4F4D\u4E8E ${d} \u4E0B\u7684\u5177\u4F53\u6587\u4EF6\u3002`);if(i.has(l.file))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`\u914D\u7F6E\u6587\u4EF6 Binding \u8DEF\u5F84\u91CD\u590D\uFF1A${l.file}`);i.add(l.file)}let o=new Map(r.bindings.map(l=>[l.name,l])),a=new Set,s=new Set,c=l=>{if(s.has(l))return;if(a.has(l))throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`\u6D3E\u751F\u914D\u7F6E\u5B58\u5728\u5FAA\u73AF\u5F15\u7528\uFF1A${l}`);a.add(l);let d=o.get(l);if(d?.kind==="secret-file"&&d.provisioning?.strategy==="derived")for(let p of d.provisioning.template.matchAll(/\$\{([A-Z][A-Z0-9_]{0,127})\}/gu)){let f=p[1],u=o.get(f);if(!u||u.kind==="certificate-file")throw new Je("APPLICATION_CONFIG_CONTRACT_INVALID",`${l}\u5F15\u7528\u672A\u77E5\u6216\u4E0D\u5141\u8BB8\u7684\u914D\u7F6E\uFF1A${f}`);c(f)}a.delete(l),s.add(l)};for(let l of o.keys())c(l);if(t!==void 0){let l=yg(t);if(r.application.id!==l.id||r.application.profile!==l.profile)throw new Je("APPLICATION_CONFIG_IDENTITY_MISMATCH","ConfigContract \u7684\u5E94\u7528\u8EAB\u4EFD\u6216 Profile \u4E0E Project Manifest \u4E0D\u4E00\u81F4\u3002")}return r}function Pa(e){let t=yg(e),r=t.profile==="workspace-web-application"?[]:[{name:"PORT",kind:"value",required:!1,default:"3000"}],n={$schema:"https://schemas.dyyto.dev/platform/application-config-contract-v1.json",schemaVersion:1,kind:"ApplicationConfigContract",application:t,configDirectory:{rootEnvironmentVariable:"IDP_CONFIG_DIR",relativeDirectory:`applications/${t.id}`,environmentFile:".env",materializationOwner:"external-deployment-control-plane"},bindings:r};return Ea(n,e),Buffer.from(`${JSON.stringify(n,null,2)}
37
37
  `)}import{createHash as rE,X509Certificate as nE}from"node:crypto";import{lstat as Vi,readFile as gt,realpath as Na}from"node:fs/promises";import X from"node:path";var he=class extends Error{code;constructor(t,r){super(r),this.code=t}};function wg(e){let t=W(e),r=t.profile?.parameters?.name;if(typeof r!="string"||!/^[a-z0-9][a-z0-9._-]{0,127}$/u.test(r))throw new he("APPLICATION_CONFIG_BINDING_IDENTITY_INVALID","\u9879\u76EE\u7F3A\u5C11\u5408\u6CD5Application identity\u3002");return{id:r,profile:t.profile.id}}function Sa(e){let t=wg(e);return Buffer.from(`${JSON.stringify({$schema:"https://schemas.dyyto.dev/platform/application-config-binding-v1.json",schemaVersion:1,kind:"ApplicationConfigBinding",application:t,environment:{name:"local"},configDirectory:{rootEnvironmentVariable:"APP_CONFIG_DIR",scope:"application-environment"},contract:{path:"config/application-config.json"},materializationOwner:"external-deployment-control-plane"},null,2)}
38
- `)}function Ig(e,t){let r=e;if(r?.$schema!=="https://schemas.dyyto.dev/platform/application-config-binding-v1.json"||r.schemaVersion!==1||r.kind!=="ApplicationConfigBinding"||r.environment?.name!=="local"||r.configDirectory?.rootEnvironmentVariable!=="APP_CONFIG_DIR"||r.configDirectory.scope!=="application-environment"||r.contract?.path!=="config/application-config.json"||r.materializationOwner!=="external-deployment-control-plane")throw new he("APPLICATION_CONFIG_BINDING_INVALID","ApplicationConfigBinding\u4E0D\u7B26\u5408v1\u5408\u540C\u3002");if(!r.application||typeof r.application.id!="string"||typeof r.application.profile!="string")throw new he("APPLICATION_CONFIG_BINDING_INVALID","ApplicationConfigBinding\u5E94\u7528\u8EAB\u4EFD\u65E0\u6548\u3002");if(t!==void 0){let n=wg(t);if(r.application.id!==n.id||r.application.profile!==n.profile)throw new he("APPLICATION_CONFIG_BINDING_IDENTITY_MISMATCH","ApplicationConfigBinding\u4E0EProject Manifest\u8EAB\u4EFD\u4E0D\u4E00\u81F4\u3002")}return r}function iE(e){let t={};for(let[r,n]of e.split(/\r?\n/u).entries()){let i=n.trim();if(!i||i.startsWith("#"))continue;let o=/^([A-Z][A-Z0-9_]*)=(.*)$/u.exec(i),a=o?.[1],s=o?.[2];if(!a||s===void 0||a in t)throw new he("APPLICATION_CONFIG_ENV_INVALID",`.env:${r+1}\u683C\u5F0F\u65E0\u6548\u6216\u53D8\u91CF\u91CD\u590D\u3002`);t[a]=s.trim().replace(/^(?:"([\s\S]*)"|'([\s\S]*)')$/u,"$1$2")}return t}function Oa(e){return`sha256:${rE("sha256").update(e).digest("hex")}`}function oE(e){return e?e.length<=4?"\u2022\u2022\u2022\u2022":`${e.slice(0,2)}\u2022\u2022\u2022\u2022${e.slice(-2)}`:""}async function hg(e,t,r){let n=await Vi(e).catch(()=>null);if(!n||!n.isFile()||n.isSymbolicLink()||n.nlink!==1||!r&&n.size===0||(n.mode&511&-385)!==0)throw new he("APPLICATION_CONFIG_FILE_INVALID",`${t}\u4E0D\u5B58\u5728\u3001\u4E3A\u7A7A\u3001\u4E0D\u662F\u5B89\u5168\u666E\u901A\u6587\u4EF6\u6216\u6743\u9650\u8D85\u8FC70600\u3002`);return n}var aE=new Set(["APPLICATION_CONFIG_FILE_INVALID","APPLICATION_CONFIG_REFERENCE_CHANGED"]),sE=new Set(["APP_CONFIG_DIR_REQUIRED","ENOENT"]);async function nd({projectRoot:e,environment:t=process.env}){let r=await Na(X.resolve(e)),n=X.join(r,"config/application-config.json");if(!await Vi(n).catch(()=>null))return{schemaVersion:1,application:null,environment:"local",configDirectory:null,contractDigest:null,state:"not-declared",needsConfigInit:!1,missingBindings:[],issueCode:"APPLICATION_CONFIG_CONTRACT_NOT_DECLARED",entries:[]};try{let[o,a]=await Promise.all([gt(X.join(r,"project-capabilities.json")),gt(n)]),s=JSON.parse(o.toString("utf8")),c=Ea(JSON.parse(a.toString("utf8")),s),l=await gt(X.join(r,".dyyto/application-config-binding.json")).catch(p=>{if(p.code==="ENOENT")return null;throw p});if(!l)return{schemaVersion:1,application:c.application.id,environment:"local",configDirectory:null,contractDigest:Oa(a),state:"invalid",needsConfigInit:!1,missingBindings:[],issueCode:"APPLICATION_CONFIG_BINDING_NOT_DECLARED",entries:[]};let d=Ig(JSON.parse(l.toString("utf8")),s);try{let p=await Mi({projectRoot:r,environment:t}),f=p.entries.filter(m=>m.required&&!m.configured).map(m=>m.name),u=f.length?"incomplete":"ready";return{schemaVersion:1,...p,state:u,needsConfigInit:u==="incomplete",missingBindings:f}}catch(p){let f=p instanceof he?p.code:p.code??"APPLICATION_CONFIG_UNKNOWN",u=sE.has(f)?"missing":aE.has(f)?"incomplete":"invalid",m=await bg(r,d.application.id,t).catch(()=>{});return{schemaVersion:1,application:d.application.id,environment:"local",configDirectory:m??null,contractDigest:Oa(a),state:u,needsConfigInit:u==="missing"||u==="incomplete",missingBindings:u==="missing"?c.bindings.filter(g=>g.required).map(g=>g.name):[],issueCode:f,entries:[]}}}catch(o){let a=o instanceof he||o instanceof Error&&"code"in o?String(o.code):"APPLICATION_CONFIG_INVALID";return{schemaVersion:1,application:null,environment:"local",configDirectory:null,contractDigest:null,state:"invalid",needsConfigInit:!1,missingBindings:[],issueCode:a,entries:[]}}}var cE=new Set(["workspace-node-application","workspace-web-application","workspace-expo-application","nextjs-full-stack-application"]);async function vg({workspaceRoot:e,environment:t=process.env}){let r=await Na(X.resolve(e));if(W(JSON.parse(await gt(X.join(r,"project-capabilities.json"),"utf8"))).profile?.id!=="workspace-root")throw new he("APPLICATION_CONFIG_WORKSPACE_INVALID","\u914D\u7F6E\u5C31\u7EEA\u5EA6\u5DE5\u4F5C\u533A\u5FC5\u987B\u91C7\u7528workspace-root Profile\u3002");let i=await On(r),o=[];for(let s of i){let c=X.join(r,...s.relativeRoot.split("/")),l=X.join(c,"project-capabilities.json"),d=await gt(l,"utf8").catch(()=>null),p=await Vi(X.join(c,"config/application-config.json")).then(m=>m.isFile()&&!m.isSymbolicLink()).catch(()=>!1),f="";if(d!==null)try{f=W(JSON.parse(d)).profile?.id??""}catch{p&&(f="invalid-application")}if(!cE.has(f)&&!p)continue;let u=await nd({projectRoot:c,environment:t}).catch(m=>({schemaVersion:1,application:null,environment:"local",configDirectory:null,contractDigest:null,state:"invalid",needsConfigInit:!1,missingBindings:[],issueCode:m instanceof Error&&"code"in m?String(m.code):"APPLICATION_CONFIG_UNIT_INSPECTION_FAILED",entries:[]}));o.push({unit:s.relativeRoot,readiness:u})}let a=s=>o.filter(c=>c.readiness.state===s).length;return Object.freeze({schemaVersion:1,scope:"workspace",workspaceRoot:r,summary:Object.freeze({total:o.length,ready:a("ready"),missing:a("missing"),incomplete:a("incomplete"),invalid:a("invalid"),notDeclared:a("not-declared"),needsConfigInit:o.filter(s=>s.readiness.needsConfigInit).length}),applications:Object.freeze(o.map(s=>Object.freeze(s)))})}async function lE(e,t,r){let n=X.dirname(e);for(;n!==X.dirname(n);){try{if(JSON.parse(await gt(X.join(n,"project-capabilities.json"),"utf8")).profile?.id==="workspace-root"){let o=X.relative(n,e);if(!/^(?:apps|packages)[/\\][a-z0-9][a-z0-9._-]*$/u.test(o))throw new he("APPLICATION_CONFIG_WORKSPACE_UNIT_INVALID","Workspace\u5E94\u7528\u5FC5\u987B\u4F4D\u4E8Eapps/<name>\u6216packages/<name>\u3002");return X.join(X.basename(n),o,r)}}catch(i){if(i instanceof he)throw i}n=X.dirname(n)}return X.join(t,r)}async function bg(e,t,r){let n=r.DYYTO_WORKBENCH_PROJECT_BINDINGS_FILE;if(n){if(!X.isAbsolute(n))throw new he("WORKBENCH_PROJECT_BINDINGS_INVALID","\u5DE5\u4F5C\u53F0\u9879\u76EEBinding\u6587\u4EF6\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");let o=await Vi(n).catch(()=>null);if(!o?.isFile()||o.isSymbolicLink()||o.nlink!==1||(o.mode&511&-385)!==0)throw new he("WORKBENCH_PROJECT_BINDINGS_INVALID","\u5DE5\u4F5C\u53F0\u9879\u76EEBinding\u6587\u4EF6\u4E0D\u5B89\u5168\u3002");let a=JSON.parse(await gt(n,"utf8"));if(a.schemaVersion!==1||!Array.isArray(a.projects))throw new he("WORKBENCH_PROJECT_BINDINGS_INVALID","\u5DE5\u4F5C\u53F0\u9879\u76EEBinding\u7248\u672C\u65E0\u6548\u3002");let s=a.projects.filter(c=>typeof c.containerPath=="string"&&typeof c.configDirectory=="string"&&(e===c.containerPath||e.startsWith(`${c.containerPath}${X.sep}`))).sort((c,l)=>l.containerPath.length-c.containerPath.length);if(s[0])return s[0].configDirectory}let i=r.APP_CONFIG_DIR;if(i){if(!X.isAbsolute(i))throw new he("APP_CONFIG_DIR_REQUIRED","APP_CONFIG_DIR\u5FC5\u987B\u662F\u7EDD\u5BF9\u4E1A\u52A1\u914D\u7F6E\u603B\u6839\u3002");return X.join(i,await lE(e,t,r.DYYTO_APPLICATION_ENVIRONMENT??"local"))}}async function Mi({projectRoot:e,environment:t=process.env}){let r=await Na(X.resolve(e)),[n,i,o]=await Promise.all([gt(X.join(r,"project-capabilities.json")),gt(X.join(r,".dyyto/application-config-binding.json")),gt(X.join(r,"config/application-config.json"))]),a=JSON.parse(n.toString("utf8")),s=Ig(JSON.parse(i.toString("utf8")),a),c=Ea(JSON.parse(o.toString("utf8")),a),l=await bg(r,s.application.id,t);if(!l||!X.isAbsolute(l))throw new he("APP_CONFIG_DIR_REQUIRED","\u8BF7\u4E3A\u5F53\u524D\u9879\u76EE\u8BBE\u7F6E\u7EDD\u5BF9APP_CONFIG_DIR\u3002");let d=await Na(l),p=await Vi(d);if(!p.isDirectory()||p.isSymbolicLink()||(p.mode&511&-449)!==0)throw new he("APP_CONFIG_DIR_INVALID","APP_CONFIG_DIR\u5FC5\u987B\u662F\u6743\u9650\u4E0D\u8D85\u8FC70700\u7684\u666E\u901A\u76EE\u5F55\u3002");let f=X.relative(r,d);if(f===""||!f.startsWith("..")&&!X.isAbsolute(f))throw new he("APP_CONFIG_DIR_INSIDE_PROJECT","APP_CONFIG_DIR\u4E0D\u80FD\u4F4D\u4E8E\u9879\u76EE\u4ED3\u5E93\u5185\u3002");let u=X.join(d,".env");await hg(u,"\u5E94\u7528.env",c.bindings.length===0);let m=iE(await gt(u,"utf8")),g=[];for(let y of c.bindings){if(y.kind==="value"){let T=m[y.name]??"";g.push({name:y.name,kind:y.kind,required:y.required,configured:T.length>0,source:"APP_CONFIG_DIR",display:oE(T)});continue}if(m[y.name]!==y.file)throw new he("APPLICATION_CONFIG_REFERENCE_CHANGED",`${y.name}\u672A\u4FDD\u6301\u5408\u540C\u6587\u4EF6\u5F15\u7528\u3002`);let A=X.resolve(d,y.file),b=X.relative(d,A);if(!b||b.startsWith("..")||X.isAbsolute(b))throw new he("APPLICATION_CONFIG_REFERENCE_ESCAPE",`${y.name}\u9003\u9038APP_CONFIG_DIR\u3002`);let R=await hg(A,y.name,!y.required),I=await gt(A),_=I.length>0,S;if(_&&y.kind==="certificate-file")try{let T=new nE(I);S={subject:T.subject,issuer:T.issuer,validFrom:T.validFrom,validTo:T.validTo}}catch{throw new he("APPLICATION_CERTIFICATE_INVALID",`${y.name}\u4E0D\u662F\u6709\u6548X.509\u8BC1\u4E66\u3002`)}g.push({name:y.name,kind:y.kind,required:y.required,configured:_,source:"APP_CONFIG_DIR",display:_?"\u5DF2\u914D\u7F6E":"\u672A\u914D\u7F6E",..._?{fingerprint:Oa(I),updatedAt:R.mtime.toISOString()}:{},...S?{certificate:S}:{}})}return{application:s.application.id,environment:"local",configDirectory:d,contractDigest:Oa(o),entries:g}}var Gr="project-capabilities.json",kg=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function uE(e,t){if(!kg.test(e)||!kg.test(t))throw new M("CONSUMER_PROFILE_UNSUPPORTED","Upgrade requires stable SemVer releases");let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let i=0;i<3;i+=1)if(r[i]!==n[i])return r[i]-n[i];return 0}async function fE(e,t){let r=Fi.join(e,...t.split("/"));try{let n=await dE(r);if(!n.isFile()||n.isSymbolicLink())throw new M("PROJECT_STATE_INVALID","Managed upgrade target must be a regular file",t);return{path:t,exists:!0,digest:h(await Da(r))}}catch(n){if(n.code==="ENOENT")return{path:t,exists:!1};throw n}}function ja(e,t){let r=W(e),n=t.release,i=n.assets.find(a=>a.path==="package.json");if((n.consumerProfile==="standalone-npm-package"||n.consumerProfile==="workspace-npm-package")&&i?.renderer?.startsWith("npm-package-json-")===!0)return zl(fr(r,n.consumerProfile));if(n.consumerProfile==="react-component-library"&&i?.renderer==="react-component-package-json-v1")return Gl(fr(r,n.consumerProfile));let o=t.contents.get("package.json");if(o===void 0)throw new M("RELEASE_NOT_FOUND","Transition target package.json is unavailable");return o}async function id(e){let t=W(e.manifest),r=Ge(e.currentLock),n=e.sourceRelease.release,i=e.targetRelease.release,o=t.capabilities.find(P=>P.capabilityId===n.capabilityId),a=r.capabilities.find(P=>P.capabilityId===n.capabilityId),s=i.capabilityId!==n.capabilityId&&i.dependencies?.capabilities?.includes(n.capabilityId)===!0;if(o===void 0||a===void 0||o.capabilityId!==a.capabilityId||o.version!==a.version||n.capabilityId!==a.capabilityId||n.version!==a.version||n.integrity!==a.integrity||!s&&i.capabilityId!==a.capabilityId||i.consumerProfile!==a.consumerProfile||n.consumerProfile!==i.consumerProfile)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Upgrade source, target, Manifest, and Lock must describe one compatible capability");if(!s&&uE(i.version,n.version)<=0)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Upgrade target must be newer than the locked release");let c=await pE(Fi.resolve(e.projectRoot)),l={...t,...e.targetTemplate===void 0?{}:{template:e.targetTemplate},capabilities:t.capabilities.map(P=>P.capabilityId===n.capabilityId?{capabilityId:i.capabilityId,version:i.version}:P)},d=new Map(e.targetRelease.contents);i.assets.some(P=>P.path==="package.json")&&d.set("package.json",ja(l,e.targetRelease));for(let P of i.assets)P.renderer==="application-config-contract-v1"&&d.set(P.path,Pa(l)),P.renderer==="application-config-binding-v1"&&d.set(P.path,Sa(l));let p,f=c,u="package.json",m;if(i.schemaVersion===2&&i.availability.maturity!=="withdrawn"&&(i.packageSources?.length??0)>0){if(e.packageSource===void 0)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Profile transition requires verified Package Source facts");let P=d.get("package.json");if(P===void 0)throw new M("RELEASE_NOT_FOUND","Transition target package.json is unavailable");let Z=await Da(Fi.join(c,"package.json")),se=e.packageSource.topology??{schemaVersion:1,mode:"standalone",transactionRoot:c,unitRoot:c,unitRelativeRoot:".",unitImporterId:".",lockfilePath:"pnpm-lock.yaml"};f=se.transactionRoot,u=se.mode==="pnpm-shared-lockfile"?`${se.unitRelativeRoot}/package.json`:"package.json",m=se.lockfilePath;let ot={release:i,registryConfigs:e.packageSource.registryConfigs,endpointBindings:e.packageSource.endpointBindings,receipts:e.packageSource.receipts,inspections:e.packageSource.inspections,consumerProfile:i.consumerProfile,packageJson:Z,desiredBasePackageJson:P,...e.packageSource.currentLockfile===void 0?{}:{currentLockfile:e.packageSource.currentLockfile},generatedAt:e.generatedAt,expiresAt:e.expiresAt};try{let ht=se.mode==="pnpm-shared-lockfile"?(e.packageChannel==="development"?Ra:Aa)({...ot,topology:{mode:se.mode,unitRelativeRoot:se.unitRelativeRoot,unitImporterId:se.unitImporterId,lockfilePath:se.lockfilePath,workspaceManifestPath:se.workspaceManifestPath,workspaceManifestDigest:se.workspaceManifestDigest},preservedImporterDigests:e.packageSource.preservedImporterDigests??[],resolutionEvidence:e.packageSource.resolutionEvidence,resolutionWorkerReleaseId:e.packageSource.resolutionWorkerReleaseId}):(e.packageChannel==="development"?_a:ka)({...ot,lockResolution:e.packageSource.lockResolution});p=Ia(ht),d.set("package.json",ht.desiredPackageJson),d.set(m,ht.desiredLockfile)}catch(ht){throw ht instanceof H?new M("CONSUMER_PROFILE_UNSUPPORTED",ht.code):ht}}let g=new Map(a.assets.filter(P=>P.path!==Gr).map(P=>[P.path,P.digest])),y=new Map(i.assets.filter(P=>P.path!==Gr).map(P=>{let Z=d.get(P.path);if(Z===void 0)throw new M("RELEASE_NOT_FOUND","Upgrade target asset content is unavailable",P.path);return[P.path,h(Z)]})),w=[...new Set([...g.keys(),...y.keys()])].sort(),A=[],b=[];for(let P of w){let Z=await fE(c,P);A.push(Z);let se=g.get(P),ot=y.get(P),ht=i.assets.find(Yh=>Yh.path===P);if(ht?.ownership==="seed-file"&&Z.exists&&Z.digest!==void 0){y.set(P,Z.digest),d.set(P,await Da(Fi.join(c,...P.split("/")))),b.push({path:P,kind:"replace",ownership:"seed-file",baseDigest:Z.digest,desiredDigest:Z.digest});continue}if(se===void 0){if(ot===void 0)throw new M("RELEASE_NOT_FOUND","Target asset digest is unavailable",P);b.push({path:P,kind:"create",ownership:ht?.ownership??"owned-file",desiredDigest:ot})}else ot===void 0?b.push({path:P,kind:"remove",ownership:"owned-file",baseDigest:se}):b.push({path:P,kind:"replace",ownership:ht?.ownership??"owned-file",baseDigest:se,desiredDigest:ot})}if(p!==void 0&&m!==void 0){let P=e.packageSource?.currentLockfile;if(P===void 0)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Transition lockfile preimage is unavailable");let Z=d.get(m);A.push({path:m,exists:!0,digest:h(P)}),b.push({path:m,kind:"replace",ownership:"owned-file",baseDigest:h(P),desiredDigest:h(Z)})}let R=await Da(Fi.join(c,Gr)),I=Buffer.from(`${JSON.stringify(l,null,2)}
39
- `);A.push({path:Gr,exists:!0,digest:h(R)}),b.push({path:Gr,kind:"replace",ownership:"owned-file",baseDigest:h(R),desiredDigest:h(I)});let _={schemaVersion:1,capabilityId:i.capabilityId,version:i.version,integrity:i.integrity,assets:i.assets.filter(P=>P.path!==Gr).map(P=>({path:P.path,ownership:P.ownership,desiredDigest:y.get(P.path)})),verifiers:i.verifiers.map(({id:P})=>({id:P,kind:"command"}))},S=f===c?b:b.map(P=>P.path===m?P:{...P,path:`${e.packageSource.topology.unitRelativeRoot}/${P.path}`}),T=f===c?A:A.map(P=>P.path===m?P:{...P,path:`${e.packageSource.topology.unitRelativeRoot}/${P.path}`}),ue=Pe({action:"upgrade",capability:_,changes:S,observedAssets:T,generatedAt:e.generatedAt,expiresAt:e.expiresAt,...p===void 0?{}:{packageAdoption:p}});d.set(Gr,I);let $=new Map;for(let P of ue.operations){if(P.disposition!=="ready"||P.kind==="remove")continue;let Z=f===c?"":`${e.packageSource.topology.unitRelativeRoot}/`,se=P.path===m?P.path:P.path.startsWith(Z)?P.path.slice(Z.length):P.path,ot=d.get(se);if(ot===void 0)throw new M("RELEASE_NOT_FOUND","Upgrade desired content is unavailable",P.path);$.set(P.path,ot)}return{sourceLock:r,targetManifest:l,release:e.targetRelease,plan:ue,desiredContents:$,transactionRoot:f}}import{link as mE,mkdir as gE,open as _g,readFile as Rt,readdir as yE,realpath as Et,rm as hE,unlink as wE}from"node:fs/promises";import ge from"node:path";var D=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="DeliveryError"}};function $e(e){return/^sha256:[a-f0-9]{64}$/.test(e)}function Ag(e){return h(k(e))}function ld(e){if(!$e(e.project.lockDigest)||!$e(e.project.appliedPlanId)||!$e(e.artifact.digest))throw new D("DELIVERY_PRECONDITION_FAILED","Delivery identities must use canonical SHA-256 digests");if(Date.parse(e.expiresAt)<=Date.parse(e.createdAt)||Number.isNaN(Date.parse(e.createdAt)))throw new D("DELIVERY_PRECONDITION_FAILED","Delivery plan expiry must follow creation time");if(e.kind==="npm-publish"&&(e.artifact.type!=="npm-package"||e.target.adapterId!=="registry.npmjs"||e.risk!=="irreversible-publish")||e.kind==="application-deploy"&&(e.artifact.type!=="node-application"&&e.artifact.type!=="web-application"||e.target.adapterId!=="deployment.local-docker"||e.risk!=="local-reversible-deployment")||e.kind==="artifact-publication"&&(e.artifact.type!=="published-package"||e.target.adapterId!=="publication.offline-web"&&e.target.adapterId!=="publication.hosted-static"||(e.target.adapterId==="publication.offline-web"?e.risk!=="local-reversible-publication":e.risk!=="external-reversible-publication"))||e.kind==="hosted-static"&&(e.artifact.type!=="web-bundle"||e.target.adapterId!=="publication.hosted-static"||e.risk!=="external-reversible-publication"))throw new D("DELIVERY_PROJECT_UNSUPPORTED","Delivery kind, artifact, target, and risk must be compatible");if(e.kind==="npm-publish"&&e.publication!==void 0){let r=e.publication,n=r.execution;if(r.mode!=="staged"||r.access!=="public"||r.authentication!=="trusted-publishing"||r.trustedAction!=="stage-only"||r.provenance!=="required"||!/^[a-z0-9][a-z0-9._-]*$/.test(r.tag)||n?.provider!=="github-actions"&&n?.provider!=="gitlab-ci"||!n.repository||!n.workflow||!n.ref||Object.values(n).some(i=>typeof i!="string"||i.length>512||/[\u0000-\u001f\u007f]/.test(i)))throw new D("DELIVERY_PRECONDITION_FAILED","npm publication policy is invalid")}if(e.kind!=="npm-publish"&&e.publication!==void 0)throw new D("DELIVERY_PRECONDITION_FAILED","Publication policy is only valid for npm delivery");let t={schemaVersion:e.kind==="npm-publish"&&e.publication!==void 0?2:1,...e,state:"reviewable"};return{...t,planId:Ag(t)}}function od(e){let t=e;if(t?.schemaVersion!==1&&t?.schemaVersion!==2||t.state!=="reviewable")throw new D("DELIVERY_PRECONDITION_FAILED","Delivery Plan is invalid or has been modified");if(t.schemaVersion===2&&(t.kind!=="npm-publish"||t.publication===void 0)||t.schemaVersion===1&&t.publication!==void 0)throw new D("DELIVERY_PRECONDITION_FAILED","Delivery Plan schema and publication policy do not match");let{planId:r,...n}=t;if(Ag(n)!==r)throw new D("DELIVERY_PRECONDITION_FAILED","Delivery Plan is invalid or has been modified");return ld({kind:t.kind,project:t.project,artifact:t.artifact,target:t.target,risk:t.risk,createdAt:t.createdAt,expiresAt:t.expiresAt,...t.publication===void 0?{}:{publication:t.publication}})}function Rg(e){if(!$e(e.planId)||!$e(e.artifactDigest)||!/^[A-Za-z0-9._:-]{1,256}$/.test(e.stageId)||Number.isNaN(Date.parse(e.createdAt)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Record identities are invalid");let t={schemaVersion:1,...e,status:"registry-accepted"};return{...t,recordId:h(k(t))}}function Eg(e){if(!$e(e.planId)||!$e(e.artifactDigest)||Number.isNaN(Date.parse(e.startedAt)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Record identities are invalid");let t={schemaVersion:1,...e,status:"remote-write-started"};return{...t,recordId:h(k(t))}}function Ca(e){let t=e,{recordId:r,...n}=t??{};if(t?.schemaVersion!==1||t.status!=="remote-write-started"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Record is invalid or has been modified");return t}function ad(e){let t=e,{recordId:r,...n}=t??{};if(t?.schemaVersion!==1||t.status!=="registry-accepted"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Record is invalid or has been modified");return t}function Pg(e){if(!$e(e.planId)||!$e(e.artifactDigest)||!/^[A-Za-z0-9._:-]{1,256}$/.test(e.stageId)||Number.isNaN(Date.parse(e.reviewedAt)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Record identities are invalid");let t={schemaVersion:1,...e,status:"artifact-digest-verified"};return{...t,recordId:h(k(t))}}function sd(e){let t=e,{recordId:r,...n}=t??{};if(t?.schemaVersion!==1||t.status!=="artifact-digest-verified"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Record is invalid or has been modified");return t}function $a(e){if(!$e(e.planId)||!$e(e.artifactDigest)||e.externalIdentity.length===0)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt identities are invalid");if("npm"in e){let r=e.npm;if(e.adapterId!=="registry.npmjs"||r===void 0||r.stageId.length===0||r.registry!=="https://registry.npmjs.org"||r.tarballDigest!==e.artifactDigest||r.access!=="public"||!/^[a-z0-9][a-z0-9._-]*$/.test(r.tag)||r.provenance!=="registry-attested"||!$e(r.attestationUrlDigest))throw new D("DELIVERY_RECEIPT_INVALID","Verified npm Receipt facts are incomplete or inconsistent");let n={schemaVersion:2,...e,status:"verified"};return{...n,receiptId:h(k(n))}}if(e.kind==="npm-publish"||e.kind==="application-deploy"&&e.adapterId!=="deployment.local-docker"||e.kind==="artifact-publication"&&e.adapterId!=="publication.offline-web"&&e.adapterId!=="publication.hosted-static"||e.kind==="hosted-static"&&(e.adapterId!=="publication.hosted-static"||e.details.renderMode!=="csr"))throw new D("DELIVERY_RECEIPT_INVALID","Application or artifact Delivery Receipt facts are invalid");let t={schemaVersion:1,...e,status:"verified"};return{...t,receiptId:h(k(t))}}function cd(e){let t=e,{receiptId:r,...n}=t??{};if(t?.schemaVersion!==1&&t?.schemaVersion!==2||t.status!=="verified"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt is invalid or has been modified");let{receiptId:i,schemaVersion:o,status:a,...s}=t;return $a(s)}async function IE(e){let t=await _g(e,"r");try{await t.sync()}finally{await t.close()}}async function Ui(e,t){let r=ge.dirname(e);await gE(r,{recursive:!0,mode:448});let n=`${e}.tmp-${process.pid}-${crypto.randomUUID()}`,i=await _g(n,"wx",384);try{await i.writeFile(`${k(t)}
40
- `,"utf8"),await i.sync()}finally{await i.close()}try{await mE(n,e),await wE(n),await IE(r)}catch(o){throw await hE(n,{force:!0}),o}}async function Ng(e){let t=await Et(ge.resolve(e.projectRoot)),r=od(e.plan),n=ge.join(t,".dyyto","delivery","plans",`${r.planId}.json`);try{await Ui(n,r)}catch(i){if(i.code!=="EEXIST")throw i;if(k(od(JSON.parse(await Rt(n,"utf8"))))!==k(r))throw new D("DELIVERY_PRECONDITION_FAILED","Stored Delivery Plan content does not match its identity")}return r}async function Jt(e){if(!$e(e.planId))throw new D("DELIVERY_PLAN_NOT_FOUND","Delivery Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=od(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","plans",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_PRECONDITION_FAILED","Stored Delivery Plan identity does not match its path");return r}catch(r){throw r.code==="ENOENT"?new D("DELIVERY_PLAN_NOT_FOUND","Delivery Plan was not found"):r}}async function dd(e){let t=await Et(ge.resolve(e.projectRoot)),r=cd(e.receipt),n=await Jt({projectRoot:t,planId:r.planId});if(r.kind!==n.kind||r.adapterId!==n.target.adapterId||r.artifactDigest!==n.artifact.digest||r.target!==n.target.location)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt does not match its immutable Plan");if(r.schemaVersion===2){let o=await jn({projectRoot:t,planId:r.planId});if(n.schemaVersion!==2||n.publication===void 0||o===null||r.npm.stageId!==o.stageId||r.npm.tarballDigest!==o.artifactDigest||r.npm.tag!==n.publication.tag||r.npm.access!==n.publication.access)throw new D("DELIVERY_RECEIPT_INVALID","Verified npm Receipt does not match its Plan and Stage Record")}let i=ge.join(t,".dyyto","delivery","receipts",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=cd(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Receipt already exists for this Plan");return a}return r}async function Dn(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=cd(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","receipts",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Receipt identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}async function Og(e){let t=await Et(ge.resolve(e.projectRoot)),r=Ca(e.record),n=await Jt({projectRoot:t,planId:r.planId});if(n.schemaVersion!==2||n.kind!=="npm-publish"||r.artifactDigest!==n.artifact.digest)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Record does not match an npm Plan v2");let i=ge.join(t,".dyyto","delivery","attempts",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=Ca(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Attempt Record already exists for this Plan");return a}return r}async function Sg(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=Ca(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","attempts",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Attempt identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}async function Dg(e){let t=await Et(ge.resolve(e.projectRoot)),r=ge.join(t,".dyyto","delivery","attempts"),n;try{n=await yE(r)}catch(i){if(i.code==="ENOENT")return null;throw i}for(let i of n.sort()){if(!i.endsWith(".json"))continue;let o=Ca(JSON.parse(await Rt(ge.join(r,i),"utf8")));if((await Jt({projectRoot:t,planId:o.planId})).artifact.identity!==e.artifactIdentity)continue;let[s,c]=await Promise.all([jn({projectRoot:t,planId:o.planId}),Dn({projectRoot:t,planId:o.planId})]);if(s===null&&c===null)return o}return null}async function jg(e){let t=await Et(ge.resolve(e.projectRoot)),r=ad(e.record),n=await Jt({projectRoot:t,planId:r.planId});if(n.schemaVersion!==2||n.kind!=="npm-publish"||n.publication===void 0||r.artifactDigest!==n.artifact.digest)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Record does not match an npm Plan v2");let i=ge.join(t,".dyyto","delivery","stages",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=ad(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Stage Record already exists for this Plan");return a}return r}async function jn(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=ad(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","stages",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Stage identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}async function Cg(e){let t=await Et(ge.resolve(e.projectRoot)),r=sd(e.record),n=await jn({projectRoot:t,planId:r.planId});if(n===null||r.stageId!==n.stageId||r.artifactDigest!==n.artifactDigest)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Record does not match its immutable Stage Record");let i=ge.join(t,".dyyto","delivery","stage-reviews",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=sd(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Stage Review Record already exists for this Plan");return a}return r}async function $g(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=sd(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","stage-reviews",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Stage Review identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}import{readFile as Zg,readdir as iP}from"node:fs/promises";import md from"node:path";import{mkdir as pd,open as Va,readFile as Bi,readdir as ud,rename as Ma,rm as Yg}from"node:fs/promises";import ve from"node:path";var vE=44;var Tg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bE=new Uint8Array(64),xg=new Uint8Array(128);for(let e=0;e<Tg.length;e++){let t=Tg.charCodeAt(e);bE[e]=t,xg[t]=e}function qi(e,t){let r=0,n=0,i=0;do{let a=e.next();i=xg[a],r|=(i&31)<<n,n+=5}while(i&32);let o=r&1;return r>>>=1,o&&(r=-2147483648|-r),t+r}function Lg(e,t){return e.pos>=t?!1:e.peek()!==vE}var eC=1024*16;var kE=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:r}=this,n=t.indexOf(e,r);return n===-1?t.length:n}};function Vg(e){let{length:t}=e,r=new kE(e),n=[],i=0,o=0,a=0,s=0,c=0;do{let l=r.indexOf(";"),d=[],p=!0,f=0;for(i=0;r.pos<l;){let u;i=qi(r,i),i<f&&(p=!1),f=i,Lg(r,l)?(o=qi(r,o),a=qi(r,a),s=qi(r,s),Lg(r,l)?(c=qi(r,c),u=[i,o,a,s,c]):u=[i,o,a,s]):u=[i],d.push(u),r.pos++}p||_E(d),n.push(d),r.pos=l+1}while(r.pos<=t);return n}function _E(e){e.sort(AE)}function AE(e,t){return e[0]-t[0]}var RE=/^[\w+.-]+:\/\//,EE=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,PE=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function NE(e){return RE.test(e)}function OE(e){return e.startsWith("//")}function Ug(e){return e.startsWith("/")}function SE(e){return e.startsWith("file:")}function Mg(e){return/^[.?#]/.test(e)}function Ta(e){let t=EE.exec(e);return qg(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function DE(e){let t=PE.exec(e),r=t[2];return qg("file:","",t[1]||"","",Ug(r)?r:"/"+r,t[3]||"",t[4]||"")}function qg(e,t,r,n,i,o,a){return{scheme:e,user:t,host:r,port:n,path:i,query:o,hash:a,type:7}}function Fg(e){if(OE(e)){let r=Ta("http:"+e);return r.scheme="",r.type=6,r}if(Ug(e)){let r=Ta("http://foo.com"+e);return r.scheme="",r.host="",r.type=5,r}if(SE(e))return DE(e);if(NE(e))return Ta(e);let t=Ta("http://foo.com/"+e);return t.scheme="",t.host="",t.type=e?e.startsWith("?")?3:e.startsWith("#")?2:4:1,t}function jE(e){if(e.endsWith("/.."))return e;let t=e.lastIndexOf("/");return e.slice(0,t+1)}function CE(e,t){Bg(t,t.type),e.path==="/"?e.path=t.path:e.path=jE(t.path)+e.path}function Bg(e,t){let r=t<=4,n=e.path.split("/"),i=1,o=0,a=!1;for(let c=1;c<n.length;c++){let l=n[c];if(!l){a=!0;continue}if(a=!1,l!=="."){if(l===".."){o?(a=!0,o--,i--):r&&(n[i++]=l);continue}n[i++]=l,o++}}let s="";for(let c=1;c<i;c++)s+="/"+n[c];(!s||a&&!s.endsWith("/.."))&&(s+="/"),e.path=s}function zg(e,t){if(!e&&!t)return"";let r=Fg(e),n=r.type;if(t&&n!==7){let o=Fg(t),a=o.type;switch(n){case 1:r.hash=o.hash;case 2:r.query=o.query;case 3:case 4:CE(r,o);case 5:r.user=o.user,r.host=o.host,r.port=o.port;case 6:r.scheme=o.scheme}a>n&&(n=a)}Bg(r,n);let i=r.query+r.hash;switch(n){case 2:case 3:return i;case 4:{let o=r.path.slice(1);return o?Mg(t||e)&&!Mg(o)?"./"+o+i:o+i:i||"."}case 5:return r.path+i;default:return r.scheme+"//"+r.user+r.host+r.port+r.path+i}}function $E(e){if(!e)return"";let t=e.lastIndexOf("/");return e.slice(0,t+1)}function TE(e,t){let r=$E(e),n=t?t+"/":"";return i=>zg(n+(i||""),r)}var mr=0,LE=1,xE=2,VE=3,ME=4;function FE(e,t){let r=Gg(e,0);if(r===e.length)return e;t||(e=e.slice());for(let n=r;n<e.length;n=Gg(e,n+1))e[n]=qE(e[n],t);return e}function Gg(e,t){for(let r=t;r<e.length;r++)if(!UE(e[r]))return r;return e.length}function UE(e){for(let t=1;t<e.length;t++)if(e[t][mr]<e[t-1][mr])return!1;return!0}function qE(e,t){return t||(e=e.slice()),e.sort(BE)}function BE(e,t){return e[mr]-t[mr]}var xa=!1;function zE(e,t,r,n){for(;r<=n;){let i=r+(n-r>>1),o=e[i][mr]-t;if(o===0)return xa=!0,i;o<0?r=i+1:n=i-1}return xa=!1,r-1}function GE(e,t,r){for(let n=r+1;n<e.length&&e[n][mr]===t;r=n++);return r}function JE(e,t,r){for(let n=r-1;n>=0&&e[n][mr]===t;r=n--);return r}function WE(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function KE(e,t,r,n){let{lastKey:i,lastNeedle:o,lastIndex:a}=r,s=0,c=e.length-1;if(n===i){if(t===o)return xa=a!==-1&&e[a][mr]===t,a;t>=o?s=a===-1?0:a:c=a}return r.lastKey=n,r.lastNeedle=t,r.lastIndex=zE(e,t,s,c)}function YE(e){return typeof e=="string"?JSON.parse(e):e}var HE="`line` must be greater than 0 (lines start at line 1)",XE="`column` must be greater than or equal to 0 (columns start at column 0)",Jg=-1,ZE=1,Wg=class{constructor(e,t){let r=typeof e=="string";if(!r&&e._decodedMemo)return e;let n=YE(e),{version:i,file:o,names:a,sourceRoot:s,sources:c,sourcesContent:l}=n;this.version=i,this.file=o,this.names=a||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=n.ignoreList||n.x_google_ignoreList||void 0;let d=TE(t,s);this.resolvedSources=c.map(d);let{mappings:p}=n;if(typeof p=="string")this._encoded=p,this._decoded=void 0;else if(Array.isArray(p))this._encoded=void 0,this._decoded=FE(p,r);else throw n.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(n)}`);this._decodedMemo=WE(),this._bySources=void 0,this._bySourceMemos=void 0}};function QE(e){var t;return(t=e)._decoded||(t._decoded=Vg(e._encoded))}function Kg(e,t){let{line:r,column:n,bias:i}=t;if(r--,r<0)throw new Error(HE);if(n<0)throw new Error(XE);let o=QE(e);if(r>=o.length)return La(null,null,null,null);let a=o[r],s=eP(a,e._decodedMemo,r,n,i||ZE);if(s===-1)return La(null,null,null,null);let c=a[s];if(c.length===1)return La(null,null,null,null);let{names:l,resolvedSources:d}=e;return La(d[c[LE]],c[xE]+1,c[VE],c.length===5?l[c[ME]]:null)}function La(e,t,r,n){return{source:e,line:t,column:r,name:n}}function eP(e,t,r,n,i){let o=KE(e,n,t,r);return xa?o=(i===Jg?GE:JE)(e,n,o):i===Jg&&o++,o===-1||o===e.length?-1:o}var ae=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="RuntimeObservabilityError"}},fd=/^sha256:[a-f0-9]{64}$/,Hg=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,tP=/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/,Fa=(e,t)=>Object.keys(e).every(r=>t.includes(r)),zi=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Cn=(e,t)=>e.replace(/[\u0000-\u001f\u007f]/g," ").replace(/([a-z]+:\/\/)[^/@\s]+@/gi,"$1").slice(0,t);async function Xg(e,t){if(t.releaseId===void 0&&t.deploymentId===void 0)return"unknown";if(!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(t.applicationId))throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error application identity is unavailable");let r=ve.join(ve.resolve(e),"apps",t.applicationId);if(t.deploymentId!==void 0)try{let n=await Jt({projectRoot:r,planId:t.deploymentId}),i=await Dn({projectRoot:r,planId:n.planId});if(i===null||n.kind!=="application-deploy"||n.artifact.type!=="web-application"||n.artifact.identity!==t.applicationId||n.artifact.digest!==t.releaseId||i.artifactDigest!==n.artifact.digest)throw new Error("mismatch");return"deployment-verified"}catch{throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error deployment identity does not resolve to a matching verified delivery")}try{return await ud(ve.join(ve.resolve(e),".dyyto","observability","releases",t.releaseId)),"release-verified"}catch{throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error release identity is not registered")}}function rP(e){if(!zi(e)||!Fa(e,["schemaVersion","eventId","occurredAt","applicationId","releaseId","deploymentId","kind","error","page","traceparent"]))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error Envelope contains unknown fields");if(!zi(e.error)||!zi(e.page)||!Fa(e.error,["type","message","frames"])||!Fa(e.page,["origin","path"]))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error Envelope structure is invalid");if(e.schemaVersion!==1||typeof e.eventId!="string"||!Hg.test(e.eventId)||typeof e.occurredAt!="string"||Number.isNaN(Date.parse(e.occurredAt))||typeof e.applicationId!="string"||e.applicationId.length<1||e.applicationId.length>128)throw new ae("RUNTIME_ERROR_INVALID","Runtime Error Envelope identity is invalid");if(!["uncaught-error","unhandled-rejection","reported-error"].includes(e.kind))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error kind is invalid");for(let n of[e.releaseId,e.deploymentId])if(n!==void 0&&(typeof n!="string"||!fd.test(n)))throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error correlation identity is invalid");if(e.traceparent!==void 0&&(typeof e.traceparent!="string"||!tP.test(e.traceparent)))throw new ae("RUNTIME_ERROR_INVALID","traceparent is invalid");if(typeof e.error.type!="string"||typeof e.error.message!="string"||!Array.isArray(e.error.frames)||e.error.frames.length>50||typeof e.page.origin!="string"||typeof e.page.path!="string")throw new ae("RUNTIME_ERROR_INVALID","Runtime Error content is invalid");if(e.error.message.length>4096||e.error.type.length>256||e.page.path.length>2048)throw new ae("RUNTIME_ERROR_TOO_LARGE","Runtime Error content exceeds a hard limit");let t=e.error.frames.map(n=>{if(!zi(n)||!Fa(n,["file","line","column","function"])||typeof n.file!="string"||n.file.length>2048)throw new ae("RUNTIME_ERROR_INVALID","Runtime Error stack frame is invalid");for(let i of[n.line,n.column])if(i!==void 0&&(!Number.isSafeInteger(i)||Number(i)<1))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error stack location is invalid");if(n.function!==void 0&&(typeof n.function!="string"||n.function.length>256))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error stack function is invalid");return n}),r;try{r=new URL(e.page.origin)}catch{throw new ae("RUNTIME_ERROR_INVALID","Runtime Error page origin is invalid")}if(r.origin!==e.page.origin||!e.page.path.startsWith("/")||e.page.path.includes("?")||e.page.path.includes("#"))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error page must contain only origin and path");return{...e,error:{...e.error,frames:t}}}function nP(e,t,r="unknown"){let n=e.error.frames.map(a=>({file:Cn(a.file,2048),...a.line===void 0?{}:{line:a.line},...a.column===void 0?{}:{column:a.column},...a.function===void 0?{}:{function:Cn(a.function,256)}})),i={type:Cn(e.error.type,256),message:Cn(e.error.message,4096),frames:n},o=h(k({type:i.type,message:i.message,frames:n.slice(0,5).map(({file:a,line:s,column:c})=>({file:a,line:s,column:c}))}));return{schemaVersion:1,eventId:e.eventId,occurredAt:e.occurredAt,receivedAt:t,applicationId:Cn(e.applicationId,128),...e.releaseId===void 0?{}:{releaseId:e.releaseId},...e.deploymentId===void 0?{}:{deploymentId:e.deploymentId},kind:e.kind,error:i,page:{origin:e.page.origin,path:Cn(e.page.path,2048)},...e.traceparent===void 0?{}:{traceparent:e.traceparent},fingerprint:o,state:e.releaseId===void 0?"persisted":"map-missing",correlation:r}}var Wt=class{workspaceRoot;adapterId="observability.local";#e=Promise.resolve();constructor(t){this.workspaceRoot=t}directory(){return ve.join(ve.resolve(this.workspaceRoot),".dyyto","observability","events")}releases(){return ve.join(ve.resolve(this.workspaceRoot),".dyyto","observability","releases")}async accept(t,r){let n=rP(t);if(!r.allowedOrigins.includes(n.page.origin))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error origin is not registered");let i=r.resolveCorrelation===void 0?"unknown":await r.resolveCorrelation(n),o=nP(n,r.receivedAt,i);return this.#t(async()=>{let a=this.directory();await pd(a,{recursive:!0,mode:448});let s=ve.join(a,`${o.eventId}.json`);try{let f=JSON.parse(await Bi(s,"utf8")),u={...f,correlation:f.correlation??"unknown"};if(k({...u,receivedAt:o.receivedAt})!==k(o))throw new ae("RUNTIME_ERROR_INVALID","eventId is already used for different content");return{eventId:o.eventId,state:u.state,duplicate:!0}}catch(f){if(f.code!=="ENOENT")throw f}let c=`${s}.tmp-${process.pid}-${crypto.randomUUID()}`,l=await Va(c,"wx",384);try{await l.writeFile(`${k(o)}
38
+ `)}function Ig(e,t){let r=e;if(r?.$schema!=="https://schemas.dyyto.dev/platform/application-config-binding-v1.json"||r.schemaVersion!==1||r.kind!=="ApplicationConfigBinding"||r.environment?.name!=="local"||r.configDirectory?.rootEnvironmentVariable!=="APP_CONFIG_DIR"||r.configDirectory.scope!=="application-environment"||r.contract?.path!=="config/application-config.json"||r.materializationOwner!=="external-deployment-control-plane")throw new he("APPLICATION_CONFIG_BINDING_INVALID","ApplicationConfigBinding\u4E0D\u7B26\u5408v1\u5408\u540C\u3002");if(!r.application||typeof r.application.id!="string"||typeof r.application.profile!="string")throw new he("APPLICATION_CONFIG_BINDING_INVALID","ApplicationConfigBinding\u5E94\u7528\u8EAB\u4EFD\u65E0\u6548\u3002");if(t!==void 0){let n=wg(t);if(r.application.id!==n.id||r.application.profile!==n.profile)throw new he("APPLICATION_CONFIG_BINDING_IDENTITY_MISMATCH","ApplicationConfigBinding\u4E0EProject Manifest\u8EAB\u4EFD\u4E0D\u4E00\u81F4\u3002")}return r}function iE(e){let t={};for(let[r,n]of e.split(/\r?\n/u).entries()){let i=n.trim();if(!i||i.startsWith("#"))continue;let o=/^([A-Z][A-Z0-9_]*)=(.*)$/u.exec(i),a=o?.[1],s=o?.[2];if(!a||s===void 0||a in t)throw new he("APPLICATION_CONFIG_ENV_INVALID",`.env:${r+1}\u683C\u5F0F\u65E0\u6548\u6216\u53D8\u91CF\u91CD\u590D\u3002`);t[a]=s.trim().replace(/^(?:"([\s\S]*)"|'([\s\S]*)')$/u,"$1$2")}return t}function Oa(e){return`sha256:${rE("sha256").update(e).digest("hex")}`}async function hg(e,t,r){let n=await Vi(e).catch(()=>null);if(!n||!n.isFile()||n.isSymbolicLink()||n.nlink!==1||!r&&n.size===0||(n.mode&511&-385)!==0)throw new he("APPLICATION_CONFIG_FILE_INVALID",`${t}\u4E0D\u5B58\u5728\u3001\u4E3A\u7A7A\u3001\u4E0D\u662F\u5B89\u5168\u666E\u901A\u6587\u4EF6\u6216\u6743\u9650\u8D85\u8FC70600\u3002`);return n}var oE=new Set(["APPLICATION_CONFIG_FILE_INVALID","APPLICATION_CONFIG_REFERENCE_CHANGED"]),aE=new Set(["APP_CONFIG_DIR_REQUIRED","ENOENT"]);async function nd({projectRoot:e,environment:t=process.env}){let r=await Na(X.resolve(e)),n=X.join(r,"config/application-config.json");if(!await Vi(n).catch(()=>null))return{schemaVersion:1,application:null,environment:"local",configDirectory:null,contractDigest:null,state:"not-declared",needsConfigInit:!1,missingBindings:[],issueCode:"APPLICATION_CONFIG_CONTRACT_NOT_DECLARED",entries:[]};try{let[o,a]=await Promise.all([gt(X.join(r,"project-capabilities.json")),gt(n)]),s=JSON.parse(o.toString("utf8")),c=Ea(JSON.parse(a.toString("utf8")),s),l=await gt(X.join(r,".dyyto/application-config-binding.json")).catch(p=>{if(p.code==="ENOENT")return null;throw p});if(!l)return{schemaVersion:1,application:c.application.id,environment:"local",configDirectory:null,contractDigest:Oa(a),state:"invalid",needsConfigInit:!1,missingBindings:[],issueCode:"APPLICATION_CONFIG_BINDING_NOT_DECLARED",entries:[]};let d=Ig(JSON.parse(l.toString("utf8")),s);try{let p=await Mi({projectRoot:r,environment:t}),f=p.entries.filter(m=>m.required&&!m.configured).map(m=>m.name),u=f.length?"incomplete":"ready";return{schemaVersion:1,...p,state:u,needsConfigInit:u==="incomplete",missingBindings:f}}catch(p){let f=p instanceof he?p.code:p.code??"APPLICATION_CONFIG_UNKNOWN",u=aE.has(f)?"missing":oE.has(f)?"incomplete":"invalid",m=await bg(r,d.application.id,t).catch(()=>{});return{schemaVersion:1,application:d.application.id,environment:"local",configDirectory:m??null,contractDigest:Oa(a),state:u,needsConfigInit:u==="missing"||u==="incomplete",missingBindings:u==="missing"?c.bindings.filter(g=>g.required).map(g=>g.name):[],issueCode:f,entries:[]}}}catch(o){let a=o instanceof he||o instanceof Error&&"code"in o?String(o.code):"APPLICATION_CONFIG_INVALID";return{schemaVersion:1,application:null,environment:"local",configDirectory:null,contractDigest:null,state:"invalid",needsConfigInit:!1,missingBindings:[],issueCode:a,entries:[]}}}var sE=new Set(["workspace-node-application","workspace-web-application","workspace-expo-application","nextjs-full-stack-application"]);async function vg({workspaceRoot:e,environment:t=process.env}){let r=await Na(X.resolve(e));if(W(JSON.parse(await gt(X.join(r,"project-capabilities.json"),"utf8"))).profile?.id!=="workspace-root")throw new he("APPLICATION_CONFIG_WORKSPACE_INVALID","\u914D\u7F6E\u5C31\u7EEA\u5EA6\u5DE5\u4F5C\u533A\u5FC5\u987B\u91C7\u7528workspace-root Profile\u3002");let i=await On(r),o=[];for(let s of i){let c=X.join(r,...s.relativeRoot.split("/")),l=X.join(c,"project-capabilities.json"),d=await gt(l,"utf8").catch(()=>null),p=await Vi(X.join(c,"config/application-config.json")).then(m=>m.isFile()&&!m.isSymbolicLink()).catch(()=>!1),f="";if(d!==null)try{f=W(JSON.parse(d)).profile?.id??""}catch{p&&(f="invalid-application")}if(!sE.has(f)&&!p)continue;let u=await nd({projectRoot:c,environment:t}).catch(m=>({schemaVersion:1,application:null,environment:"local",configDirectory:null,contractDigest:null,state:"invalid",needsConfigInit:!1,missingBindings:[],issueCode:m instanceof Error&&"code"in m?String(m.code):"APPLICATION_CONFIG_UNIT_INSPECTION_FAILED",entries:[]}));o.push({unit:s.relativeRoot,readiness:u})}let a=s=>o.filter(c=>c.readiness.state===s).length;return Object.freeze({schemaVersion:1,scope:"workspace",workspaceRoot:r,summary:Object.freeze({total:o.length,ready:a("ready"),missing:a("missing"),incomplete:a("incomplete"),invalid:a("invalid"),notDeclared:a("not-declared"),needsConfigInit:o.filter(s=>s.readiness.needsConfigInit).length}),applications:Object.freeze(o.map(s=>Object.freeze(s)))})}async function cE(e,t,r){let n=X.dirname(e);for(;n!==X.dirname(n);){try{if(JSON.parse(await gt(X.join(n,"project-capabilities.json"),"utf8")).profile?.id==="workspace-root"){let o=X.relative(n,e);if(!/^(?:apps|packages)[/\\][a-z0-9][a-z0-9._-]*$/u.test(o))throw new he("APPLICATION_CONFIG_WORKSPACE_UNIT_INVALID","Workspace\u5E94\u7528\u5FC5\u987B\u4F4D\u4E8Eapps/<name>\u6216packages/<name>\u3002");return X.join(X.basename(n),o,r)}}catch(i){if(i instanceof he)throw i}n=X.dirname(n)}return X.join(t,r)}async function bg(e,t,r){let n=r.DYYTO_WORKBENCH_PROJECT_BINDINGS_FILE;if(n){if(!X.isAbsolute(n))throw new he("WORKBENCH_PROJECT_BINDINGS_INVALID","\u5DE5\u4F5C\u53F0\u9879\u76EEBinding\u6587\u4EF6\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");let o=await Vi(n).catch(()=>null);if(!o?.isFile()||o.isSymbolicLink()||o.nlink!==1||(o.mode&511&-385)!==0)throw new he("WORKBENCH_PROJECT_BINDINGS_INVALID","\u5DE5\u4F5C\u53F0\u9879\u76EEBinding\u6587\u4EF6\u4E0D\u5B89\u5168\u3002");let a=JSON.parse(await gt(n,"utf8"));if(a.schemaVersion!==1||!Array.isArray(a.projects))throw new he("WORKBENCH_PROJECT_BINDINGS_INVALID","\u5DE5\u4F5C\u53F0\u9879\u76EEBinding\u7248\u672C\u65E0\u6548\u3002");let s=a.projects.filter(c=>typeof c.containerPath=="string"&&typeof c.configDirectory=="string"&&(e===c.containerPath||e.startsWith(`${c.containerPath}${X.sep}`))).sort((c,l)=>l.containerPath.length-c.containerPath.length);if(s[0])return s[0].configDirectory}let i=r.APP_CONFIG_DIR;if(i){if(!X.isAbsolute(i))throw new he("APP_CONFIG_DIR_REQUIRED","APP_CONFIG_DIR\u5FC5\u987B\u662F\u7EDD\u5BF9\u4E1A\u52A1\u914D\u7F6E\u603B\u6839\u3002");return X.join(i,await cE(e,t,r.DYYTO_APPLICATION_ENVIRONMENT??"local"))}}async function Mi({projectRoot:e,environment:t=process.env}){let r=await Na(X.resolve(e)),[n,i,o]=await Promise.all([gt(X.join(r,"project-capabilities.json")),gt(X.join(r,".dyyto/application-config-binding.json")),gt(X.join(r,"config/application-config.json"))]),a=JSON.parse(n.toString("utf8")),s=Ig(JSON.parse(i.toString("utf8")),a),c=Ea(JSON.parse(o.toString("utf8")),a),l=await bg(r,s.application.id,t);if(!l||!X.isAbsolute(l))throw new he("APP_CONFIG_DIR_REQUIRED","\u8BF7\u4E3A\u5F53\u524D\u9879\u76EE\u8BBE\u7F6E\u7EDD\u5BF9APP_CONFIG_DIR\u3002");let d=await Na(l),p=await Vi(d);if(!p.isDirectory()||p.isSymbolicLink()||(p.mode&511&-449)!==0)throw new he("APP_CONFIG_DIR_INVALID","APP_CONFIG_DIR\u5FC5\u987B\u662F\u6743\u9650\u4E0D\u8D85\u8FC70700\u7684\u666E\u901A\u76EE\u5F55\u3002");let f=X.relative(r,d);if(f===""||!f.startsWith("..")&&!X.isAbsolute(f))throw new he("APP_CONFIG_DIR_INSIDE_PROJECT","APP_CONFIG_DIR\u4E0D\u80FD\u4F4D\u4E8E\u9879\u76EE\u4ED3\u5E93\u5185\u3002");let u=X.join(d,".env");await hg(u,"\u5E94\u7528.env",c.bindings.length===0);let m=iE(await gt(u,"utf8")),g=[];for(let y of c.bindings){if(y.kind==="value"){let T=m[y.name]??"";g.push({name:y.name,kind:y.kind,required:y.required,configured:T.length>0,source:"APP_CONFIG_DIR",display:T});continue}if(m[y.name]!==y.file)throw new he("APPLICATION_CONFIG_REFERENCE_CHANGED",`${y.name}\u672A\u4FDD\u6301\u5408\u540C\u6587\u4EF6\u5F15\u7528\u3002`);let A=X.resolve(d,y.file),b=X.relative(d,A);if(!b||b.startsWith("..")||X.isAbsolute(b))throw new he("APPLICATION_CONFIG_REFERENCE_ESCAPE",`${y.name}\u9003\u9038APP_CONFIG_DIR\u3002`);let R=await hg(A,y.name,!y.required),I=await gt(A),_=I.length>0,S;if(_&&y.kind==="certificate-file")try{let T=new nE(I);S={subject:T.subject,issuer:T.issuer,validFrom:T.validFrom,validTo:T.validTo}}catch{throw new he("APPLICATION_CERTIFICATE_INVALID",`${y.name}\u4E0D\u662F\u6709\u6548X.509\u8BC1\u4E66\u3002`)}g.push({name:y.name,kind:y.kind,required:y.required,configured:_,source:"APP_CONFIG_DIR",display:_?"\u5DF2\u914D\u7F6E":"\u672A\u914D\u7F6E",..._?{fingerprint:Oa(I),updatedAt:R.mtime.toISOString()}:{},...S?{certificate:S}:{}})}return{application:s.application.id,environment:"local",configDirectory:d,contractDigest:Oa(o),entries:g}}var Gr="project-capabilities.json",kg=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function pE(e,t){if(!kg.test(e)||!kg.test(t))throw new M("CONSUMER_PROFILE_UNSUPPORTED","Upgrade requires stable SemVer releases");let r=e.split(".").map(Number),n=t.split(".").map(Number);for(let i=0;i<3;i+=1)if(r[i]!==n[i])return r[i]-n[i];return 0}async function uE(e,t){let r=Fi.join(e,...t.split("/"));try{let n=await lE(r);if(!n.isFile()||n.isSymbolicLink())throw new M("PROJECT_STATE_INVALID","Managed upgrade target must be a regular file",t);return{path:t,exists:!0,digest:h(await Da(r))}}catch(n){if(n.code==="ENOENT")return{path:t,exists:!1};throw n}}function ja(e,t){let r=W(e),n=t.release,i=n.assets.find(a=>a.path==="package.json");if((n.consumerProfile==="standalone-npm-package"||n.consumerProfile==="workspace-npm-package")&&i?.renderer?.startsWith("npm-package-json-")===!0)return zl(fr(r,n.consumerProfile));if(n.consumerProfile==="react-component-library"&&i?.renderer==="react-component-package-json-v1")return Gl(fr(r,n.consumerProfile));let o=t.contents.get("package.json");if(o===void 0)throw new M("RELEASE_NOT_FOUND","Transition target package.json is unavailable");return o}async function id(e){let t=W(e.manifest),r=Ge(e.currentLock),n=e.sourceRelease.release,i=e.targetRelease.release,o=t.capabilities.find(P=>P.capabilityId===n.capabilityId),a=r.capabilities.find(P=>P.capabilityId===n.capabilityId),s=i.capabilityId!==n.capabilityId&&i.dependencies?.capabilities?.includes(n.capabilityId)===!0;if(o===void 0||a===void 0||o.capabilityId!==a.capabilityId||o.version!==a.version||n.capabilityId!==a.capabilityId||n.version!==a.version||n.integrity!==a.integrity||!s&&i.capabilityId!==a.capabilityId||i.consumerProfile!==a.consumerProfile||n.consumerProfile!==i.consumerProfile)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Upgrade source, target, Manifest, and Lock must describe one compatible capability");if(!s&&pE(i.version,n.version)<=0)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Upgrade target must be newer than the locked release");let c=await dE(Fi.resolve(e.projectRoot)),l={...t,...e.targetTemplate===void 0?{}:{template:e.targetTemplate},capabilities:t.capabilities.map(P=>P.capabilityId===n.capabilityId?{capabilityId:i.capabilityId,version:i.version}:P)},d=new Map(e.targetRelease.contents);i.assets.some(P=>P.path==="package.json")&&d.set("package.json",ja(l,e.targetRelease));for(let P of i.assets)P.renderer==="application-config-contract-v1"&&d.set(P.path,Pa(l)),P.renderer==="application-config-binding-v1"&&d.set(P.path,Sa(l));let p,f=c,u="package.json",m;if(i.schemaVersion===2&&i.availability.maturity!=="withdrawn"&&(i.packageSources?.length??0)>0){if(e.packageSource===void 0)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Profile transition requires verified Package Source facts");let P=d.get("package.json");if(P===void 0)throw new M("RELEASE_NOT_FOUND","Transition target package.json is unavailable");let Z=await Da(Fi.join(c,"package.json")),se=e.packageSource.topology??{schemaVersion:1,mode:"standalone",transactionRoot:c,unitRoot:c,unitRelativeRoot:".",unitImporterId:".",lockfilePath:"pnpm-lock.yaml"};f=se.transactionRoot,u=se.mode==="pnpm-shared-lockfile"?`${se.unitRelativeRoot}/package.json`:"package.json",m=se.lockfilePath;let ot={release:i,registryConfigs:e.packageSource.registryConfigs,endpointBindings:e.packageSource.endpointBindings,receipts:e.packageSource.receipts,inspections:e.packageSource.inspections,consumerProfile:i.consumerProfile,packageJson:Z,desiredBasePackageJson:P,...e.packageSource.currentLockfile===void 0?{}:{currentLockfile:e.packageSource.currentLockfile},generatedAt:e.generatedAt,expiresAt:e.expiresAt};try{let ht=se.mode==="pnpm-shared-lockfile"?(e.packageChannel==="development"?Ra:Aa)({...ot,topology:{mode:se.mode,unitRelativeRoot:se.unitRelativeRoot,unitImporterId:se.unitImporterId,lockfilePath:se.lockfilePath,workspaceManifestPath:se.workspaceManifestPath,workspaceManifestDigest:se.workspaceManifestDigest},preservedImporterDigests:e.packageSource.preservedImporterDigests??[],resolutionEvidence:e.packageSource.resolutionEvidence,resolutionWorkerReleaseId:e.packageSource.resolutionWorkerReleaseId}):(e.packageChannel==="development"?_a:ka)({...ot,lockResolution:e.packageSource.lockResolution});p=Ia(ht),d.set("package.json",ht.desiredPackageJson),d.set(m,ht.desiredLockfile)}catch(ht){throw ht instanceof H?new M("CONSUMER_PROFILE_UNSUPPORTED",ht.code):ht}}let g=new Map(a.assets.filter(P=>P.path!==Gr).map(P=>[P.path,P.digest])),y=new Map(i.assets.filter(P=>P.path!==Gr).map(P=>{let Z=d.get(P.path);if(Z===void 0)throw new M("RELEASE_NOT_FOUND","Upgrade target asset content is unavailable",P.path);return[P.path,h(Z)]})),w=[...new Set([...g.keys(),...y.keys()])].sort(),A=[],b=[];for(let P of w){let Z=await uE(c,P);A.push(Z);let se=g.get(P),ot=y.get(P),ht=i.assets.find(Yh=>Yh.path===P);if(ht?.ownership==="seed-file"&&Z.exists&&Z.digest!==void 0){y.set(P,Z.digest),d.set(P,await Da(Fi.join(c,...P.split("/")))),b.push({path:P,kind:"replace",ownership:"seed-file",baseDigest:Z.digest,desiredDigest:Z.digest});continue}if(se===void 0){if(ot===void 0)throw new M("RELEASE_NOT_FOUND","Target asset digest is unavailable",P);b.push({path:P,kind:"create",ownership:ht?.ownership??"owned-file",desiredDigest:ot})}else ot===void 0?b.push({path:P,kind:"remove",ownership:"owned-file",baseDigest:se}):b.push({path:P,kind:"replace",ownership:ht?.ownership??"owned-file",baseDigest:se,desiredDigest:ot})}if(p!==void 0&&m!==void 0){let P=e.packageSource?.currentLockfile;if(P===void 0)throw new M("CONSUMER_PROFILE_UNSUPPORTED","Transition lockfile preimage is unavailable");let Z=d.get(m);A.push({path:m,exists:!0,digest:h(P)}),b.push({path:m,kind:"replace",ownership:"owned-file",baseDigest:h(P),desiredDigest:h(Z)})}let R=await Da(Fi.join(c,Gr)),I=Buffer.from(`${JSON.stringify(l,null,2)}
39
+ `);A.push({path:Gr,exists:!0,digest:h(R)}),b.push({path:Gr,kind:"replace",ownership:"owned-file",baseDigest:h(R),desiredDigest:h(I)});let _={schemaVersion:1,capabilityId:i.capabilityId,version:i.version,integrity:i.integrity,assets:i.assets.filter(P=>P.path!==Gr).map(P=>({path:P.path,ownership:P.ownership,desiredDigest:y.get(P.path)})),verifiers:i.verifiers.map(({id:P})=>({id:P,kind:"command"}))},S=f===c?b:b.map(P=>P.path===m?P:{...P,path:`${e.packageSource.topology.unitRelativeRoot}/${P.path}`}),T=f===c?A:A.map(P=>P.path===m?P:{...P,path:`${e.packageSource.topology.unitRelativeRoot}/${P.path}`}),ue=Pe({action:"upgrade",capability:_,changes:S,observedAssets:T,generatedAt:e.generatedAt,expiresAt:e.expiresAt,...p===void 0?{}:{packageAdoption:p}});d.set(Gr,I);let $=new Map;for(let P of ue.operations){if(P.disposition!=="ready"||P.kind==="remove")continue;let Z=f===c?"":`${e.packageSource.topology.unitRelativeRoot}/`,se=P.path===m?P.path:P.path.startsWith(Z)?P.path.slice(Z.length):P.path,ot=d.get(se);if(ot===void 0)throw new M("RELEASE_NOT_FOUND","Upgrade desired content is unavailable",P.path);$.set(P.path,ot)}return{sourceLock:r,targetManifest:l,release:e.targetRelease,plan:ue,desiredContents:$,transactionRoot:f}}import{link as fE,mkdir as mE,open as _g,readFile as Rt,readdir as gE,realpath as Et,rm as yE,unlink as hE}from"node:fs/promises";import ge from"node:path";var D=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="DeliveryError"}};function $e(e){return/^sha256:[a-f0-9]{64}$/.test(e)}function Ag(e){return h(k(e))}function ld(e){if(!$e(e.project.lockDigest)||!$e(e.project.appliedPlanId)||!$e(e.artifact.digest))throw new D("DELIVERY_PRECONDITION_FAILED","Delivery identities must use canonical SHA-256 digests");if(Date.parse(e.expiresAt)<=Date.parse(e.createdAt)||Number.isNaN(Date.parse(e.createdAt)))throw new D("DELIVERY_PRECONDITION_FAILED","Delivery plan expiry must follow creation time");if(e.kind==="npm-publish"&&(e.artifact.type!=="npm-package"||e.target.adapterId!=="registry.npmjs"||e.risk!=="irreversible-publish")||e.kind==="application-deploy"&&(e.artifact.type!=="node-application"&&e.artifact.type!=="web-application"||e.target.adapterId!=="deployment.local-docker"||e.risk!=="local-reversible-deployment")||e.kind==="artifact-publication"&&(e.artifact.type!=="published-package"||e.target.adapterId!=="publication.offline-web"&&e.target.adapterId!=="publication.hosted-static"||(e.target.adapterId==="publication.offline-web"?e.risk!=="local-reversible-publication":e.risk!=="external-reversible-publication"))||e.kind==="hosted-static"&&(e.artifact.type!=="web-bundle"||e.target.adapterId!=="publication.hosted-static"||e.risk!=="external-reversible-publication"))throw new D("DELIVERY_PROJECT_UNSUPPORTED","Delivery kind, artifact, target, and risk must be compatible");if(e.kind==="npm-publish"&&e.publication!==void 0){let r=e.publication,n=r.execution;if(r.mode!=="staged"||r.access!=="public"||r.authentication!=="trusted-publishing"||r.trustedAction!=="stage-only"||r.provenance!=="required"||!/^[a-z0-9][a-z0-9._-]*$/.test(r.tag)||n?.provider!=="github-actions"&&n?.provider!=="gitlab-ci"||!n.repository||!n.workflow||!n.ref||Object.values(n).some(i=>typeof i!="string"||i.length>512||/[\u0000-\u001f\u007f]/.test(i)))throw new D("DELIVERY_PRECONDITION_FAILED","npm publication policy is invalid")}if(e.kind!=="npm-publish"&&e.publication!==void 0)throw new D("DELIVERY_PRECONDITION_FAILED","Publication policy is only valid for npm delivery");let t={schemaVersion:e.kind==="npm-publish"&&e.publication!==void 0?2:1,...e,state:"reviewable"};return{...t,planId:Ag(t)}}function od(e){let t=e;if(t?.schemaVersion!==1&&t?.schemaVersion!==2||t.state!=="reviewable")throw new D("DELIVERY_PRECONDITION_FAILED","Delivery Plan is invalid or has been modified");if(t.schemaVersion===2&&(t.kind!=="npm-publish"||t.publication===void 0)||t.schemaVersion===1&&t.publication!==void 0)throw new D("DELIVERY_PRECONDITION_FAILED","Delivery Plan schema and publication policy do not match");let{planId:r,...n}=t;if(Ag(n)!==r)throw new D("DELIVERY_PRECONDITION_FAILED","Delivery Plan is invalid or has been modified");return ld({kind:t.kind,project:t.project,artifact:t.artifact,target:t.target,risk:t.risk,createdAt:t.createdAt,expiresAt:t.expiresAt,...t.publication===void 0?{}:{publication:t.publication}})}function Rg(e){if(!$e(e.planId)||!$e(e.artifactDigest)||!/^[A-Za-z0-9._:-]{1,256}$/.test(e.stageId)||Number.isNaN(Date.parse(e.createdAt)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Record identities are invalid");let t={schemaVersion:1,...e,status:"registry-accepted"};return{...t,recordId:h(k(t))}}function Eg(e){if(!$e(e.planId)||!$e(e.artifactDigest)||Number.isNaN(Date.parse(e.startedAt)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Record identities are invalid");let t={schemaVersion:1,...e,status:"remote-write-started"};return{...t,recordId:h(k(t))}}function Ca(e){let t=e,{recordId:r,...n}=t??{};if(t?.schemaVersion!==1||t.status!=="remote-write-started"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Record is invalid or has been modified");return t}function ad(e){let t=e,{recordId:r,...n}=t??{};if(t?.schemaVersion!==1||t.status!=="registry-accepted"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Record is invalid or has been modified");return t}function Pg(e){if(!$e(e.planId)||!$e(e.artifactDigest)||!/^[A-Za-z0-9._:-]{1,256}$/.test(e.stageId)||Number.isNaN(Date.parse(e.reviewedAt)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Record identities are invalid");let t={schemaVersion:1,...e,status:"artifact-digest-verified"};return{...t,recordId:h(k(t))}}function sd(e){let t=e,{recordId:r,...n}=t??{};if(t?.schemaVersion!==1||t.status!=="artifact-digest-verified"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Record is invalid or has been modified");return t}function $a(e){if(!$e(e.planId)||!$e(e.artifactDigest)||e.externalIdentity.length===0)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt identities are invalid");if("npm"in e){let r=e.npm;if(e.adapterId!=="registry.npmjs"||r===void 0||r.stageId.length===0||r.registry!=="https://registry.npmjs.org"||r.tarballDigest!==e.artifactDigest||r.access!=="public"||!/^[a-z0-9][a-z0-9._-]*$/.test(r.tag)||r.provenance!=="registry-attested"||!$e(r.attestationUrlDigest))throw new D("DELIVERY_RECEIPT_INVALID","Verified npm Receipt facts are incomplete or inconsistent");let n={schemaVersion:2,...e,status:"verified"};return{...n,receiptId:h(k(n))}}if(e.kind==="npm-publish"||e.kind==="application-deploy"&&e.adapterId!=="deployment.local-docker"||e.kind==="artifact-publication"&&e.adapterId!=="publication.offline-web"&&e.adapterId!=="publication.hosted-static"||e.kind==="hosted-static"&&(e.adapterId!=="publication.hosted-static"||e.details.renderMode!=="csr"))throw new D("DELIVERY_RECEIPT_INVALID","Application or artifact Delivery Receipt facts are invalid");let t={schemaVersion:1,...e,status:"verified"};return{...t,receiptId:h(k(t))}}function cd(e){let t=e,{receiptId:r,...n}=t??{};if(t?.schemaVersion!==1&&t?.schemaVersion!==2||t.status!=="verified"||r!==h(k(n)))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt is invalid or has been modified");let{receiptId:i,schemaVersion:o,status:a,...s}=t;return $a(s)}async function wE(e){let t=await _g(e,"r");try{await t.sync()}finally{await t.close()}}async function Ui(e,t){let r=ge.dirname(e);await mE(r,{recursive:!0,mode:448});let n=`${e}.tmp-${process.pid}-${crypto.randomUUID()}`,i=await _g(n,"wx",384);try{await i.writeFile(`${k(t)}
40
+ `,"utf8"),await i.sync()}finally{await i.close()}try{await fE(n,e),await hE(n),await wE(r)}catch(o){throw await yE(n,{force:!0}),o}}async function Ng(e){let t=await Et(ge.resolve(e.projectRoot)),r=od(e.plan),n=ge.join(t,".dyyto","delivery","plans",`${r.planId}.json`);try{await Ui(n,r)}catch(i){if(i.code!=="EEXIST")throw i;if(k(od(JSON.parse(await Rt(n,"utf8"))))!==k(r))throw new D("DELIVERY_PRECONDITION_FAILED","Stored Delivery Plan content does not match its identity")}return r}async function Jt(e){if(!$e(e.planId))throw new D("DELIVERY_PLAN_NOT_FOUND","Delivery Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=od(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","plans",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_PRECONDITION_FAILED","Stored Delivery Plan identity does not match its path");return r}catch(r){throw r.code==="ENOENT"?new D("DELIVERY_PLAN_NOT_FOUND","Delivery Plan was not found"):r}}async function dd(e){let t=await Et(ge.resolve(e.projectRoot)),r=cd(e.receipt),n=await Jt({projectRoot:t,planId:r.planId});if(r.kind!==n.kind||r.adapterId!==n.target.adapterId||r.artifactDigest!==n.artifact.digest||r.target!==n.target.location)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt does not match its immutable Plan");if(r.schemaVersion===2){let o=await jn({projectRoot:t,planId:r.planId});if(n.schemaVersion!==2||n.publication===void 0||o===null||r.npm.stageId!==o.stageId||r.npm.tarballDigest!==o.artifactDigest||r.npm.tag!==n.publication.tag||r.npm.access!==n.publication.access)throw new D("DELIVERY_RECEIPT_INVALID","Verified npm Receipt does not match its Plan and Stage Record")}let i=ge.join(t,".dyyto","delivery","receipts",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=cd(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Receipt already exists for this Plan");return a}return r}async function Dn(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Receipt Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=cd(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","receipts",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Receipt identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}async function Og(e){let t=await Et(ge.resolve(e.projectRoot)),r=Ca(e.record),n=await Jt({projectRoot:t,planId:r.planId});if(n.schemaVersion!==2||n.kind!=="npm-publish"||r.artifactDigest!==n.artifact.digest)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Record does not match an npm Plan v2");let i=ge.join(t,".dyyto","delivery","attempts",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=Ca(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Attempt Record already exists for this Plan");return a}return r}async function Sg(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Attempt Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=Ca(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","attempts",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Attempt identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}async function Dg(e){let t=await Et(ge.resolve(e.projectRoot)),r=ge.join(t,".dyyto","delivery","attempts"),n;try{n=await gE(r)}catch(i){if(i.code==="ENOENT")return null;throw i}for(let i of n.sort()){if(!i.endsWith(".json"))continue;let o=Ca(JSON.parse(await Rt(ge.join(r,i),"utf8")));if((await Jt({projectRoot:t,planId:o.planId})).artifact.identity!==e.artifactIdentity)continue;let[s,c]=await Promise.all([jn({projectRoot:t,planId:o.planId}),Dn({projectRoot:t,planId:o.planId})]);if(s===null&&c===null)return o}return null}async function jg(e){let t=await Et(ge.resolve(e.projectRoot)),r=ad(e.record),n=await Jt({projectRoot:t,planId:r.planId});if(n.schemaVersion!==2||n.kind!=="npm-publish"||n.publication===void 0||r.artifactDigest!==n.artifact.digest)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Record does not match an npm Plan v2");let i=ge.join(t,".dyyto","delivery","stages",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=ad(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Stage Record already exists for this Plan");return a}return r}async function jn(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=ad(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","stages",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Stage identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}async function Cg(e){let t=await Et(ge.resolve(e.projectRoot)),r=sd(e.record),n=await jn({projectRoot:t,planId:r.planId});if(n===null||r.stageId!==n.stageId||r.artifactDigest!==n.artifactDigest)throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Record does not match its immutable Stage Record");let i=ge.join(t,".dyyto","delivery","stage-reviews",`${r.planId}.json`);try{await Ui(i,r)}catch(o){if(o.code!=="EEXIST")throw o;let a=sd(JSON.parse(await Rt(i,"utf8")));if(k(a)!==k(r))throw new D("DELIVERY_RECEIPT_INVALID","A different Stage Review Record already exists for this Plan");return a}return r}async function $g(e){if(!$e(e.planId))throw new D("DELIVERY_RECEIPT_INVALID","Delivery Stage Review Plan identity is invalid");let t=await Et(ge.resolve(e.projectRoot));try{let r=sd(JSON.parse(await Rt(ge.join(t,".dyyto","delivery","stage-reviews",`${e.planId}.json`),"utf8")));if(r.planId!==e.planId)throw new D("DELIVERY_RECEIPT_INVALID","Stored Delivery Stage Review identity does not match its path");return r}catch(r){if(r.code==="ENOENT")return null;throw r}}import{readFile as Zg,readdir as nP}from"node:fs/promises";import md from"node:path";import{mkdir as pd,open as Va,readFile as Bi,readdir as ud,rename as Ma,rm as Yg}from"node:fs/promises";import ve from"node:path";var IE=44;var Tg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",vE=new Uint8Array(64),xg=new Uint8Array(128);for(let e=0;e<Tg.length;e++){let t=Tg.charCodeAt(e);vE[e]=t,xg[t]=e}function qi(e,t){let r=0,n=0,i=0;do{let a=e.next();i=xg[a],r|=(i&31)<<n,n+=5}while(i&32);let o=r&1;return r>>>=1,o&&(r=-2147483648|-r),t+r}function Lg(e,t){return e.pos>=t?!1:e.peek()!==IE}var Qj=1024*16;var bE=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:r}=this,n=t.indexOf(e,r);return n===-1?t.length:n}};function Vg(e){let{length:t}=e,r=new bE(e),n=[],i=0,o=0,a=0,s=0,c=0;do{let l=r.indexOf(";"),d=[],p=!0,f=0;for(i=0;r.pos<l;){let u;i=qi(r,i),i<f&&(p=!1),f=i,Lg(r,l)?(o=qi(r,o),a=qi(r,a),s=qi(r,s),Lg(r,l)?(c=qi(r,c),u=[i,o,a,s,c]):u=[i,o,a,s]):u=[i],d.push(u),r.pos++}p||kE(d),n.push(d),r.pos=l+1}while(r.pos<=t);return n}function kE(e){e.sort(_E)}function _E(e,t){return e[0]-t[0]}var AE=/^[\w+.-]+:\/\//,RE=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,EE=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function PE(e){return AE.test(e)}function NE(e){return e.startsWith("//")}function Ug(e){return e.startsWith("/")}function OE(e){return e.startsWith("file:")}function Mg(e){return/^[.?#]/.test(e)}function Ta(e){let t=RE.exec(e);return qg(t[1],t[2]||"",t[3],t[4]||"",t[5]||"/",t[6]||"",t[7]||"")}function SE(e){let t=EE.exec(e),r=t[2];return qg("file:","",t[1]||"","",Ug(r)?r:"/"+r,t[3]||"",t[4]||"")}function qg(e,t,r,n,i,o,a){return{scheme:e,user:t,host:r,port:n,path:i,query:o,hash:a,type:7}}function Fg(e){if(NE(e)){let r=Ta("http:"+e);return r.scheme="",r.type=6,r}if(Ug(e)){let r=Ta("http://foo.com"+e);return r.scheme="",r.host="",r.type=5,r}if(OE(e))return SE(e);if(PE(e))return Ta(e);let t=Ta("http://foo.com/"+e);return t.scheme="",t.host="",t.type=e?e.startsWith("?")?3:e.startsWith("#")?2:4:1,t}function DE(e){if(e.endsWith("/.."))return e;let t=e.lastIndexOf("/");return e.slice(0,t+1)}function jE(e,t){Bg(t,t.type),e.path==="/"?e.path=t.path:e.path=DE(t.path)+e.path}function Bg(e,t){let r=t<=4,n=e.path.split("/"),i=1,o=0,a=!1;for(let c=1;c<n.length;c++){let l=n[c];if(!l){a=!0;continue}if(a=!1,l!=="."){if(l===".."){o?(a=!0,o--,i--):r&&(n[i++]=l);continue}n[i++]=l,o++}}let s="";for(let c=1;c<i;c++)s+="/"+n[c];(!s||a&&!s.endsWith("/.."))&&(s+="/"),e.path=s}function zg(e,t){if(!e&&!t)return"";let r=Fg(e),n=r.type;if(t&&n!==7){let o=Fg(t),a=o.type;switch(n){case 1:r.hash=o.hash;case 2:r.query=o.query;case 3:case 4:jE(r,o);case 5:r.user=o.user,r.host=o.host,r.port=o.port;case 6:r.scheme=o.scheme}a>n&&(n=a)}Bg(r,n);let i=r.query+r.hash;switch(n){case 2:case 3:return i;case 4:{let o=r.path.slice(1);return o?Mg(t||e)&&!Mg(o)?"./"+o+i:o+i:i||"."}case 5:return r.path+i;default:return r.scheme+"//"+r.user+r.host+r.port+r.path+i}}function CE(e){if(!e)return"";let t=e.lastIndexOf("/");return e.slice(0,t+1)}function $E(e,t){let r=CE(e),n=t?t+"/":"";return i=>zg(n+(i||""),r)}var mr=0,TE=1,LE=2,xE=3,VE=4;function ME(e,t){let r=Gg(e,0);if(r===e.length)return e;t||(e=e.slice());for(let n=r;n<e.length;n=Gg(e,n+1))e[n]=UE(e[n],t);return e}function Gg(e,t){for(let r=t;r<e.length;r++)if(!FE(e[r]))return r;return e.length}function FE(e){for(let t=1;t<e.length;t++)if(e[t][mr]<e[t-1][mr])return!1;return!0}function UE(e,t){return t||(e=e.slice()),e.sort(qE)}function qE(e,t){return e[mr]-t[mr]}var xa=!1;function BE(e,t,r,n){for(;r<=n;){let i=r+(n-r>>1),o=e[i][mr]-t;if(o===0)return xa=!0,i;o<0?r=i+1:n=i-1}return xa=!1,r-1}function zE(e,t,r){for(let n=r+1;n<e.length&&e[n][mr]===t;r=n++);return r}function GE(e,t,r){for(let n=r-1;n>=0&&e[n][mr]===t;r=n--);return r}function JE(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function WE(e,t,r,n){let{lastKey:i,lastNeedle:o,lastIndex:a}=r,s=0,c=e.length-1;if(n===i){if(t===o)return xa=a!==-1&&e[a][mr]===t,a;t>=o?s=a===-1?0:a:c=a}return r.lastKey=n,r.lastNeedle=t,r.lastIndex=BE(e,t,s,c)}function KE(e){return typeof e=="string"?JSON.parse(e):e}var YE="`line` must be greater than 0 (lines start at line 1)",HE="`column` must be greater than or equal to 0 (columns start at column 0)",Jg=-1,XE=1,Wg=class{constructor(e,t){let r=typeof e=="string";if(!r&&e._decodedMemo)return e;let n=KE(e),{version:i,file:o,names:a,sourceRoot:s,sources:c,sourcesContent:l}=n;this.version=i,this.file=o,this.names=a||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=n.ignoreList||n.x_google_ignoreList||void 0;let d=$E(t,s);this.resolvedSources=c.map(d);let{mappings:p}=n;if(typeof p=="string")this._encoded=p,this._decoded=void 0;else if(Array.isArray(p))this._encoded=void 0,this._decoded=ME(p,r);else throw n.sections?new Error("TraceMap passed sectioned source map, please use FlattenMap export instead"):new Error(`invalid source map: ${JSON.stringify(n)}`);this._decodedMemo=JE(),this._bySources=void 0,this._bySourceMemos=void 0}};function ZE(e){var t;return(t=e)._decoded||(t._decoded=Vg(e._encoded))}function Kg(e,t){let{line:r,column:n,bias:i}=t;if(r--,r<0)throw new Error(YE);if(n<0)throw new Error(HE);let o=ZE(e);if(r>=o.length)return La(null,null,null,null);let a=o[r],s=QE(a,e._decodedMemo,r,n,i||XE);if(s===-1)return La(null,null,null,null);let c=a[s];if(c.length===1)return La(null,null,null,null);let{names:l,resolvedSources:d}=e;return La(d[c[TE]],c[LE]+1,c[xE],c.length===5?l[c[VE]]:null)}function La(e,t,r,n){return{source:e,line:t,column:r,name:n}}function QE(e,t,r,n,i){let o=WE(e,n,t,r);return xa?o=(i===Jg?zE:GE)(e,n,o):i===Jg&&o++,o===-1||o===e.length?-1:o}var ae=class extends Error{code;constructor(t,r){super(r),this.code=t,this.name="RuntimeObservabilityError"}},fd=/^sha256:[a-f0-9]{64}$/,Hg=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,eP=/^00-[0-9a-f]{32}-[0-9a-f]{16}-[0-9a-f]{2}$/,Fa=(e,t)=>Object.keys(e).every(r=>t.includes(r)),zi=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),Cn=(e,t)=>e.replace(/[\u0000-\u001f\u007f]/g," ").replace(/([a-z]+:\/\/)[^/@\s]+@/gi,"$1").slice(0,t);async function Xg(e,t){if(t.releaseId===void 0&&t.deploymentId===void 0)return"unknown";if(!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(t.applicationId))throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error application identity is unavailable");let r=ve.join(ve.resolve(e),"apps",t.applicationId);if(t.deploymentId!==void 0)try{let n=await Jt({projectRoot:r,planId:t.deploymentId}),i=await Dn({projectRoot:r,planId:n.planId});if(i===null||n.kind!=="application-deploy"||n.artifact.type!=="web-application"||n.artifact.identity!==t.applicationId||n.artifact.digest!==t.releaseId||i.artifactDigest!==n.artifact.digest)throw new Error("mismatch");return"deployment-verified"}catch{throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error deployment identity does not resolve to a matching verified delivery")}try{return await ud(ve.join(ve.resolve(e),".dyyto","observability","releases",t.releaseId)),"release-verified"}catch{throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error release identity is not registered")}}function tP(e){if(!zi(e)||!Fa(e,["schemaVersion","eventId","occurredAt","applicationId","releaseId","deploymentId","kind","error","page","traceparent"]))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error Envelope contains unknown fields");if(!zi(e.error)||!zi(e.page)||!Fa(e.error,["type","message","frames"])||!Fa(e.page,["origin","path"]))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error Envelope structure is invalid");if(e.schemaVersion!==1||typeof e.eventId!="string"||!Hg.test(e.eventId)||typeof e.occurredAt!="string"||Number.isNaN(Date.parse(e.occurredAt))||typeof e.applicationId!="string"||e.applicationId.length<1||e.applicationId.length>128)throw new ae("RUNTIME_ERROR_INVALID","Runtime Error Envelope identity is invalid");if(!["uncaught-error","unhandled-rejection","reported-error"].includes(e.kind))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error kind is invalid");for(let n of[e.releaseId,e.deploymentId])if(n!==void 0&&(typeof n!="string"||!fd.test(n)))throw new ae("RUNTIME_ERROR_IDENTITY_UNKNOWN","Runtime Error correlation identity is invalid");if(e.traceparent!==void 0&&(typeof e.traceparent!="string"||!eP.test(e.traceparent)))throw new ae("RUNTIME_ERROR_INVALID","traceparent is invalid");if(typeof e.error.type!="string"||typeof e.error.message!="string"||!Array.isArray(e.error.frames)||e.error.frames.length>50||typeof e.page.origin!="string"||typeof e.page.path!="string")throw new ae("RUNTIME_ERROR_INVALID","Runtime Error content is invalid");if(e.error.message.length>4096||e.error.type.length>256||e.page.path.length>2048)throw new ae("RUNTIME_ERROR_TOO_LARGE","Runtime Error content exceeds a hard limit");let t=e.error.frames.map(n=>{if(!zi(n)||!Fa(n,["file","line","column","function"])||typeof n.file!="string"||n.file.length>2048)throw new ae("RUNTIME_ERROR_INVALID","Runtime Error stack frame is invalid");for(let i of[n.line,n.column])if(i!==void 0&&(!Number.isSafeInteger(i)||Number(i)<1))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error stack location is invalid");if(n.function!==void 0&&(typeof n.function!="string"||n.function.length>256))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error stack function is invalid");return n}),r;try{r=new URL(e.page.origin)}catch{throw new ae("RUNTIME_ERROR_INVALID","Runtime Error page origin is invalid")}if(r.origin!==e.page.origin||!e.page.path.startsWith("/")||e.page.path.includes("?")||e.page.path.includes("#"))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error page must contain only origin and path");return{...e,error:{...e.error,frames:t}}}function rP(e,t,r="unknown"){let n=e.error.frames.map(a=>({file:Cn(a.file,2048),...a.line===void 0?{}:{line:a.line},...a.column===void 0?{}:{column:a.column},...a.function===void 0?{}:{function:Cn(a.function,256)}})),i={type:Cn(e.error.type,256),message:Cn(e.error.message,4096),frames:n},o=h(k({type:i.type,message:i.message,frames:n.slice(0,5).map(({file:a,line:s,column:c})=>({file:a,line:s,column:c}))}));return{schemaVersion:1,eventId:e.eventId,occurredAt:e.occurredAt,receivedAt:t,applicationId:Cn(e.applicationId,128),...e.releaseId===void 0?{}:{releaseId:e.releaseId},...e.deploymentId===void 0?{}:{deploymentId:e.deploymentId},kind:e.kind,error:i,page:{origin:e.page.origin,path:Cn(e.page.path,2048)},...e.traceparent===void 0?{}:{traceparent:e.traceparent},fingerprint:o,state:e.releaseId===void 0?"persisted":"map-missing",correlation:r}}var Wt=class{workspaceRoot;adapterId="observability.local";#e=Promise.resolve();constructor(t){this.workspaceRoot=t}directory(){return ve.join(ve.resolve(this.workspaceRoot),".dyyto","observability","events")}releases(){return ve.join(ve.resolve(this.workspaceRoot),".dyyto","observability","releases")}async accept(t,r){let n=tP(t);if(!r.allowedOrigins.includes(n.page.origin))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error origin is not registered");let i=r.resolveCorrelation===void 0?"unknown":await r.resolveCorrelation(n),o=rP(n,r.receivedAt,i);return this.#t(async()=>{let a=this.directory();await pd(a,{recursive:!0,mode:448});let s=ve.join(a,`${o.eventId}.json`);try{let f=JSON.parse(await Bi(s,"utf8")),u={...f,correlation:f.correlation??"unknown"};if(k({...u,receivedAt:o.receivedAt})!==k(o))throw new ae("RUNTIME_ERROR_INVALID","eventId is already used for different content");return{eventId:o.eventId,state:u.state,duplicate:!0}}catch(f){if(f.code!=="ENOENT")throw f}let c=`${s}.tmp-${process.pid}-${crypto.randomUUID()}`,l=await Va(c,"wx",384);try{await l.writeFile(`${k(o)}
41
41
  `,"utf8"),await l.sync()}finally{await l.close()}await Ma(c,s);let d=await Va(a,"r");try{await d.sync()}finally{await d.close()}await this.rotate(),o.releaseId!==void 0&&await this.resymbolicate(o.releaseId);let p=JSON.parse(await Bi(s,"utf8"));return{eventId:o.eventId,state:p.state,duplicate:!1}})}#t(t){let r=this.#e.then(t,t);return this.#e=r.catch(()=>{}),r}async quarantine(t){let r=ve.join(this.directory(),t),n=ve.join(ve.resolve(this.workspaceRoot),".dyyto","observability","quarantine");await pd(n,{recursive:!0,mode:448}),await Ma(r,ve.join(n,`${Date.now()}-${t}`))}async all(){let t=await ud(this.directory()).catch(()=>[]),r=[];for(let n of t){if(!n.endsWith(".json")){n.includes(".tmp-")&&await this.quarantine(n).catch(()=>{});continue}try{let i=JSON.parse(await Bi(ve.join(this.directory(),n),"utf8"));if(i.eventId!==n.slice(0,-5))throw new Error("identity mismatch");r.push({...i,correlation:i.correlation??"unknown"})}catch{await this.quarantine(n).catch(()=>{})}}return r.sort((n,i)=>i.occurredAt.localeCompare(n.occurredAt)||n.eventId.localeCompare(i.eventId))}selected(t,r){return t.filter(n=>(!r.applicationId||n.applicationId===r.applicationId)&&(!r.releaseId||n.releaseId===r.releaseId)&&(!r.deploymentId||n.deploymentId===r.deploymentId))}cursor(t,r){let n=k({v:1,offset:t,snapshot:r});return Buffer.from(k({content:n,digest:h(n)})).toString("base64url")}parseCursor(t,r){try{let n=JSON.parse(Buffer.from(t,"base64url").toString("utf8"));if(typeof n.content!="string"||n.digest!==h(n.content))throw new Error("tampered");let i=JSON.parse(n.content);if(i.v!==1||!Number.isSafeInteger(i.offset)||i.offset<0||i.snapshot!==r)throw new Error("expired");return i.offset}catch{throw new ae("OBSERVABILITY_CURSOR_EXPIRED","Runtime Error query cursor is invalid or expired")}}async list(t){let r=Math.max(1,Math.min(t.limit??100,100)),n=this.selected(await this.all(),t),i=h(k(n.map(s=>s.eventId))),o=t.cursor===void 0?0:this.parseCursor(t.cursor,i),a=n.slice(o,o+r);return{events:a,...o+a.length<n.length?{nextCursor:this.cursor(o+a.length,i)}:{}}}async get(t){if(!Hg.test(t))throw new ae("RUNTIME_ERROR_INVALID","Runtime Error eventId is invalid");let r=`${t}.json`;try{let n=JSON.parse(await Bi(ve.join(this.directory(),r),"utf8"));if(n.eventId!==t)throw new Error("identity mismatch");return{...n,correlation:n.correlation??"unknown"}}catch(n){if(n.code==="ENOENT")return null;throw await this.quarantine(r).catch(()=>{}),new ae("OBSERVABILITY_STORE_DAMAGED","Runtime Error record is damaged and has been quarantined")}}async summary(t){let r=this.selected(await this.all(),t),n=new Map;for(let i of r){let o=n.get(i.fingerprint);o?o.count+=1:n.set(i.fingerprint,{count:1,latestAt:i.occurredAt,event:i})}return{total:r.length,groups:[...n.entries()].map(([i,o])=>({fingerprint:i,...o}))}}async rotate(){let t=await this.all(),n=t.reduce((i,o)=>Math.max(i,Date.parse(o.receivedAt)),0)-10080*60*1e3;for(let i of t.slice(1e4))await Yg(ve.join(this.directory(),`${i.eventId}.json`),{force:!0});for(let i of t.slice(0,1e4))Date.parse(i.receivedAt)<n&&await Yg(ve.join(this.directory(),`${i.eventId}.json`),{force:!0})}async registerSourceMap(t){if(!fd.test(t.releaseId)||!fd.test(t.assetDigest)||!/^[A-Za-z0-9._/-]+\.js$/.test(t.asset)||t.asset.includes("..")||!zi(t.map)||"sourcesContent"in t.map)throw new ae("RUNTIME_ERROR_INVALID","Source Map registration is invalid or contains sourcesContent");let r=Buffer.from(k(t.map)),n=h(r),i=ve.join(this.releases(),t.releaseId);await pd(i,{recursive:!0,mode:448});let o=h(t.asset),a=ve.join(i,`${o}.json`),s={releaseId:t.releaseId,asset:t.asset,assetDigest:t.assetDigest,mapDigest:n,registeredAt:t.registeredAt},c=await Va(`${a}.tmp`,"w",384);try{await c.writeFile(`${k({registration:s,map:t.map})}
42
42
  `),await c.sync()}finally{await c.close()}return await Ma(`${a}.tmp`,a),await this.resymbolicate(t.releaseId),s}async resymbolicate(t){let r=await ud(ve.join(this.releases(),t)).catch(()=>[]),n=[];for(let i of r)try{n.push(JSON.parse(await Bi(ve.join(this.releases(),t,i),"utf8")))}catch{}for(let i of(await this.all()).filter(o=>o.releaseId===t&&o.state==="map-missing")){let o=!1,a=i.error.frames.map(d=>{let p=n.find(f=>new URL(d.file,"http://local").pathname.endsWith(`/${f.registration.asset}`));if(!p||d.line===void 0||d.column===void 0)return d;try{let f=Kg(new Wg(p.map),{line:d.line,column:Math.max(0,d.column-1)});return f.source===null||f.line===null||f.column===null?d:(o=!0,{...d,source:f.source.replace(/^file:\/\//,""),sourceLine:f.line,sourceColumn:f.column+1})}catch{return d}});if(!o)continue;let s={...i,error:{...i.error,frames:a},state:"symbolicated"},c=ve.join(this.directory(),`${i.eventId}.json`),l=await Va(`${c}.tmp`,"w",384);try{await l.writeFile(`${k(s)}
43
- `),await l.sync()}finally{await l.close()}await Ma(`${c}.tmp`,c)}}};var tt=(e,t,r,n,i)=>({code:e,severity:t,fact:r,message:n,...i===void 0?{}:{action:i}});async function Gi(e){if(e.lock.capabilities.length===0||e.lock.capabilities.some(r=>r.evidenceIds.length===0))return[tt("EVIDENCE_INVALID","critical","evidence","\u5DF2\u9A8C\u8BC1\u9501\u7F3A\u5C11\u5B8C\u6574\u8BC1\u636E\u5F15\u7528\u3002","\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\uFF1B\u82E5\u4E8B\u52A1\u672A\u5B8C\u6210\uFF0C\u5148\u6267\u884C\u5B89\u5168\u6062\u590D\u3002")];for(let r of e.lock.capabilities)for(let n of r.evidenceIds)try{let i=Ii(JSON.parse(await Zg(md.join(e.projectRoot,".dyyto","evidence",`${n}.json`),"utf8")));if(i.evidenceId!==n||i.capabilityId!==r.capabilityId||i.capabilityVersion!==r.version||i.capabilityIntegrity!==r.integrity||i.projectStateDigest!==r.projectStateDigest||i.result!=="passed")return[tt("EVIDENCE_INVALID","critical","evidence","\u91C7\u7528\u8BC1\u636E\u4E0E\u5DF2\u9A8C\u8BC1\u9501\u7684\u8EAB\u4EFD\u6216\u5DE5\u7A0B\u72B6\u6001\u4E0D\u4E00\u81F4\u3002","\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\uFF1B\u82E5\u73B0\u573A\u5DF2\u53D8\u5316\uFF0C\u5148\u68C0\u67E5\u5E76\u91CD\u65B0\u89C4\u5212\u3002")]}catch{return[tt("EVIDENCE_INVALID","critical","evidence","\u91C7\u7528\u8BC1\u636E\u7F3A\u5931\u3001\u635F\u574F\u6216\u4E0D\u7B26\u5408\u5951\u7EA6\u3002","\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\uFF1B\u82E5\u4E8B\u52A1\u672A\u5B8C\u6210\uFF0C\u5148\u6267\u884C\u5B89\u5168\u6062\u590D\u3002")]}let t=e.lock.capabilities.reduce((r,n)=>r+n.evidenceIds.length,0);return[tt("EVIDENCE_VALID","info","evidence",`\u5DF2\u6838\u9A8C ${e.lock.capabilities.length} \u9879\u80FD\u529B\u7684 ${t} \u6761\u91C7\u7528\u8BC1\u636E\u3002`)]}function gd(e){return e==="adopted"?[]:e==="planned"?[tt("ADOPTION_PLANNED","warning","lock","\u80FD\u529B\u91C7\u7528\u4ECD\u5904\u4E8E\u8BA1\u5212\u9636\u6BB5\u3002","\u5BA1\u9605\u5E76\u6279\u51C6\u7CBE\u786E Plan\u3002")]:e==="applied-unverified"?[tt("VERIFICATION_REQUIRED","warning","evidence","\u53D8\u66F4\u5DF2\u5E94\u7528\u4F46\u5C1A\u672A\u5F62\u6210\u9A8C\u8BC1\u8BC1\u636E\u3002","\u8FD0\u884C\u9A8C\u8BC1\u5E76\u63D0\u4EA4\u91C7\u7528\u9501\u3002")]:e==="drifted"?[tt("REPOSITORY_DRIFT","warning","repository","\u5DE5\u7A0B\u73B0\u573A\u4E0E\u5DF2\u9501\u5B9A\u4E8B\u5B9E\u4E0D\u4E00\u81F4\u3002","\u68C0\u67E5\u5DEE\u5F02\u5E76\u91CD\u65B0\u89C4\u5212\uFF0C\u5E73\u53F0\u4E0D\u4F1A\u8986\u76D6\u7528\u6237\u4FEE\u6539\u3002")]:e==="recovery-required"?[tt("RECOVERY_REQUIRED","critical","recovery","\u68C0\u6D4B\u5230\u672A\u5B8C\u6210\u7684\u6301\u4E45\u5316\u4E8B\u52A1\u3002","\u5148\u6267\u884C\u5B89\u5168\u6062\u590D\uFF0C\u518D\u7EE7\u7EED\u5176\u4ED6\u64CD\u4F5C\u3002")]:[tt("FACT_INVALID","critical","manifest","\u5DE5\u7A0B\u5355\u5143\u4E8B\u5B9E\u65E0\u6CD5\u5B89\u5168\u8BFB\u53D6\u3002","\u4FEE\u590D\u8BE5\u5355\u5143\u7684 Manifest \u6216\u5143\u6570\u636E\u540E\u91CD\u65B0\u8BCA\u65AD\u3002")]}async function Qg(e){try{let r=JSON.parse(await Zg(md.join(e.workspaceRoot,".dyyto","observability","config.json"),"utf8"));if(!Array.isArray(r.applications)||!r.applications.includes(e.applicationId))return[tt("OBSERVABILITY_NOT_CONFIGURED","warning","repository","\u5F53\u524D Web \u5E94\u7528\u5C1A\u672A\u914D\u7F6E\u8FD0\u884C\u65F6\u9519\u8BEF\u91C7\u96C6\u3002","\u767B\u8BB0\u5E94\u7528 Origin\uFF0C\u5E76\u542F\u52A8\u672C\u5730\u91C7\u96C6\u7AEF\u3002")]}catch{return[tt("OBSERVABILITY_NOT_CONFIGURED","warning","repository","\u5F53\u524D Web \u5E94\u7528\u5C1A\u672A\u914D\u7F6E\u8FD0\u884C\u65F6\u9519\u8BEF\u91C7\u96C6\u3002","\u767B\u8BB0\u5E94\u7528 Origin\uFF0C\u5E76\u542F\u52A8\u672C\u5730\u91C7\u96C6\u7AEF\u3002")]}await new Wt(e.workspaceRoot).list({applicationId:e.applicationId});let t=(await iP(md.join(e.workspaceRoot,".dyyto","observability","quarantine")).catch(()=>[])).length;return t>0?[tt("OBSERVABILITY_STORE_DAMAGED","critical","repository",`\u8FD0\u884C\u65F6\u9519\u8BEF\u672C\u5730\u5B58\u50A8\u5DF2\u9694\u79BB ${t} \u6761\u635F\u574F\u8BB0\u5F55\uFF0C\u5065\u5EB7\u4E8B\u4EF6\u4ECD\u53EF\u67E5\u8BE2\u3002`,"\u68C0\u67E5\u672C\u673A\u78C1\u76D8\u72B6\u6001\uFF0C\u5E76\u663E\u5F0F\u5904\u7406\u9694\u79BB\u8BB0\u5F55\u3002")]:[tt("OBSERVABILITY_CONFIGURED","info","repository","\u8FD0\u884C\u65F6\u9519\u8BEF\u91C7\u96C6\u914D\u7F6E\u4E0E\u672C\u5730\u5B58\u50A8\u53EF\u8BFB\u53D6\u3002")]}function ey(e){let t=e.units.map(n=>{let i=n.findings.some(o=>o.severity==="critical")?"blocked":n.findings.some(o=>o.severity==="warning")?"attention":"healthy";return{...n,status:i}}),r={total:t.length,healthy:t.filter(n=>n.status==="healthy").length,attention:t.filter(n=>n.status==="attention").length,blocked:t.filter(n=>n.status==="blocked").length};return{schemaVersion:1,workspace:e.workspace,generatedAt:e.generatedAt,status:r.blocked>0?"blocked":r.attention>0?"attention":"healthy",summary:r,units:t}}import{readFile as Ji,realpath as ty}from"node:fs/promises";import Jr from"node:path";var le=class extends Error{code;constructor(t,r){super(r),this.code=t}};async function ry(e){let t=await ty(Jr.resolve(e.projectRoot)),r=W(e.manifest),n=e.release.release,i=e.currentLock.capabilities.find(f=>f.capabilityId===n.capabilityId&&f.version===n.version);if(!i||i.packageAdoption!==void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Asset-only removal requires an adopted Capability without package ownership");let o=W({...r,capabilities:r.capabilities.filter(f=>f.capabilityId!==n.capabilityId)}),a=Buffer.from(`${JSON.stringify(o,null,2)}
43
+ `),await l.sync()}finally{await l.close()}await Ma(`${c}.tmp`,c)}}};var tt=(e,t,r,n,i)=>({code:e,severity:t,fact:r,message:n,...i===void 0?{}:{action:i}});async function Gi(e){if(e.lock.capabilities.length===0||e.lock.capabilities.some(r=>r.evidenceIds.length===0))return[tt("EVIDENCE_INVALID","critical","evidence","\u5DF2\u9A8C\u8BC1\u9501\u7F3A\u5C11\u5B8C\u6574\u8BC1\u636E\u5F15\u7528\u3002","\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\uFF1B\u82E5\u4E8B\u52A1\u672A\u5B8C\u6210\uFF0C\u5148\u6267\u884C\u5B89\u5168\u6062\u590D\u3002")];for(let r of e.lock.capabilities)for(let n of r.evidenceIds)try{let i=Ii(JSON.parse(await Zg(md.join(e.projectRoot,".dyyto","evidence",`${n}.json`),"utf8")));if(i.evidenceId!==n||i.capabilityId!==r.capabilityId||i.capabilityVersion!==r.version||i.capabilityIntegrity!==r.integrity||i.projectStateDigest!==r.projectStateDigest||i.result!=="passed")return[tt("EVIDENCE_INVALID","critical","evidence","\u91C7\u7528\u8BC1\u636E\u4E0E\u5DF2\u9A8C\u8BC1\u9501\u7684\u8EAB\u4EFD\u6216\u5DE5\u7A0B\u72B6\u6001\u4E0D\u4E00\u81F4\u3002","\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\uFF1B\u82E5\u73B0\u573A\u5DF2\u53D8\u5316\uFF0C\u5148\u68C0\u67E5\u5E76\u91CD\u65B0\u89C4\u5212\u3002")]}catch{return[tt("EVIDENCE_INVALID","critical","evidence","\u91C7\u7528\u8BC1\u636E\u7F3A\u5931\u3001\u635F\u574F\u6216\u4E0D\u7B26\u5408\u5951\u7EA6\u3002","\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\uFF1B\u82E5\u4E8B\u52A1\u672A\u5B8C\u6210\uFF0C\u5148\u6267\u884C\u5B89\u5168\u6062\u590D\u3002")]}let t=e.lock.capabilities.reduce((r,n)=>r+n.evidenceIds.length,0);return[tt("EVIDENCE_VALID","info","evidence",`\u5DF2\u6838\u9A8C ${e.lock.capabilities.length} \u9879\u80FD\u529B\u7684 ${t} \u6761\u91C7\u7528\u8BC1\u636E\u3002`)]}function gd(e){return e==="adopted"?[]:e==="planned"?[tt("ADOPTION_PLANNED","warning","lock","\u80FD\u529B\u91C7\u7528\u4ECD\u5904\u4E8E\u8BA1\u5212\u9636\u6BB5\u3002","\u5BA1\u9605\u5E76\u6279\u51C6\u7CBE\u786E Plan\u3002")]:e==="applied-unverified"?[tt("VERIFICATION_REQUIRED","warning","evidence","\u53D8\u66F4\u5DF2\u5E94\u7528\u4F46\u5C1A\u672A\u5F62\u6210\u9A8C\u8BC1\u8BC1\u636E\u3002","\u8FD0\u884C\u9A8C\u8BC1\u5E76\u63D0\u4EA4\u91C7\u7528\u9501\u3002")]:e==="drifted"?[tt("REPOSITORY_DRIFT","warning","repository","\u5DE5\u7A0B\u73B0\u573A\u4E0E\u5DF2\u9501\u5B9A\u4E8B\u5B9E\u4E0D\u4E00\u81F4\u3002","\u68C0\u67E5\u5DEE\u5F02\u5E76\u91CD\u65B0\u89C4\u5212\uFF0C\u5E73\u53F0\u4E0D\u4F1A\u8986\u76D6\u7528\u6237\u4FEE\u6539\u3002")]:e==="recovery-required"?[tt("RECOVERY_REQUIRED","critical","recovery","\u68C0\u6D4B\u5230\u672A\u5B8C\u6210\u7684\u6301\u4E45\u5316\u4E8B\u52A1\u3002","\u5148\u6267\u884C\u5B89\u5168\u6062\u590D\uFF0C\u518D\u7EE7\u7EED\u5176\u4ED6\u64CD\u4F5C\u3002")]:[tt("FACT_INVALID","critical","manifest","\u5DE5\u7A0B\u5355\u5143\u4E8B\u5B9E\u65E0\u6CD5\u5B89\u5168\u8BFB\u53D6\u3002","\u4FEE\u590D\u8BE5\u5355\u5143\u7684 Manifest \u6216\u5143\u6570\u636E\u540E\u91CD\u65B0\u8BCA\u65AD\u3002")]}async function Qg(e){try{let r=JSON.parse(await Zg(md.join(e.workspaceRoot,".dyyto","observability","config.json"),"utf8"));if(!Array.isArray(r.applications)||!r.applications.includes(e.applicationId))return[tt("OBSERVABILITY_NOT_CONFIGURED","warning","repository","\u5F53\u524D Web \u5E94\u7528\u5C1A\u672A\u914D\u7F6E\u8FD0\u884C\u65F6\u9519\u8BEF\u91C7\u96C6\u3002","\u767B\u8BB0\u5E94\u7528 Origin\uFF0C\u5E76\u542F\u52A8\u672C\u5730\u91C7\u96C6\u7AEF\u3002")]}catch{return[tt("OBSERVABILITY_NOT_CONFIGURED","warning","repository","\u5F53\u524D Web \u5E94\u7528\u5C1A\u672A\u914D\u7F6E\u8FD0\u884C\u65F6\u9519\u8BEF\u91C7\u96C6\u3002","\u767B\u8BB0\u5E94\u7528 Origin\uFF0C\u5E76\u542F\u52A8\u672C\u5730\u91C7\u96C6\u7AEF\u3002")]}await new Wt(e.workspaceRoot).list({applicationId:e.applicationId});let t=(await nP(md.join(e.workspaceRoot,".dyyto","observability","quarantine")).catch(()=>[])).length;return t>0?[tt("OBSERVABILITY_STORE_DAMAGED","critical","repository",`\u8FD0\u884C\u65F6\u9519\u8BEF\u672C\u5730\u5B58\u50A8\u5DF2\u9694\u79BB ${t} \u6761\u635F\u574F\u8BB0\u5F55\uFF0C\u5065\u5EB7\u4E8B\u4EF6\u4ECD\u53EF\u67E5\u8BE2\u3002`,"\u68C0\u67E5\u672C\u673A\u78C1\u76D8\u72B6\u6001\uFF0C\u5E76\u663E\u5F0F\u5904\u7406\u9694\u79BB\u8BB0\u5F55\u3002")]:[tt("OBSERVABILITY_CONFIGURED","info","repository","\u8FD0\u884C\u65F6\u9519\u8BEF\u91C7\u96C6\u914D\u7F6E\u4E0E\u672C\u5730\u5B58\u50A8\u53EF\u8BFB\u53D6\u3002")]}function ey(e){let t=e.units.map(n=>{let i=n.findings.some(o=>o.severity==="critical")?"blocked":n.findings.some(o=>o.severity==="warning")?"attention":"healthy";return{...n,status:i}}),r={total:t.length,healthy:t.filter(n=>n.status==="healthy").length,attention:t.filter(n=>n.status==="attention").length,blocked:t.filter(n=>n.status==="blocked").length};return{schemaVersion:1,workspace:e.workspace,generatedAt:e.generatedAt,status:r.blocked>0?"blocked":r.attention>0?"attention":"healthy",summary:r,units:t}}import{readFile as Ji,realpath as ty}from"node:fs/promises";import Jr from"node:path";var le=class extends Error{code;constructor(t,r){super(r),this.code=t}};async function ry(e){let t=await ty(Jr.resolve(e.projectRoot)),r=W(e.manifest),n=e.release.release,i=e.currentLock.capabilities.find(f=>f.capabilityId===n.capabilityId&&f.version===n.version);if(!i||i.packageAdoption!==void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Asset-only removal requires an adopted Capability without package ownership");let o=W({...r,capabilities:r.capabilities.filter(f=>f.capabilityId!==n.capabilityId)}),a=Buffer.from(`${JSON.stringify(o,null,2)}
44
44
  `),s=await Wi(t,"project-capabilities.json");if(!s.exists||s.digest===void 0)throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","Project manifest is unavailable");let c=[{path:"project-capabilities.json",kind:"replace",ownership:"owned-file",baseDigest:s.digest,desiredDigest:h(a)},...i.assets.map(f=>({path:f.path,kind:"remove",ownership:f.ownership??"owned-file",baseDigest:f.digest}))],l=await Promise.all(c.map(f=>Wi(t,f.path))),d={schemaVersion:1,capabilityId:n.capabilityId,version:n.version,integrity:n.integrity,assets:i.assets.map(f=>({path:f.path,ownership:f.ownership??"owned-file",desiredDigest:f.digest})),verifiers:n.verifiers.map(f=>({id:f.id,kind:"file-digest"}))};return{plan:Pe({action:"remove",capability:d,changes:c,observedAssets:l,generatedAt:e.generatedAt,expiresAt:e.expiresAt}),manifest:o,desiredContents:new Map([["project-capabilities.json",a]]),transactionRoot:t,removedSources:[]}}async function Wi(e,t){try{let r=await Ji(Jr.join(e,...t.split("/")));return{path:t,exists:!0,digest:h(r)}}catch(r){if(r.code==="ENOENT")return{path:t,exists:!1};throw r}}async function yd(e){if(e.release.release.schemaVersion===2&&e.release.release.packageSources.length>0&&e.packageSource===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Capability Release v2 requires verified package source facts");let t=await ty(Jr.resolve(e.projectRoot)),r=W(e.manifest),n=e.release.release,i=e.packageSource?.topology,o=i?.transactionRoot??t,a=_=>i?.mode==="pnpm-shared-lockfile"?`${i.unitRelativeRoot}/${_}`:_;if(n.kind!=="engineering-feature"||n.consumerProfile!=="any-project")throw new le("CAPABILITY_KIND_UNSUPPORTED","Only an addable engineering feature can use this lifecycle");if(r.capabilities.some(_=>_.capabilityId===n.capabilityId))throw new le("CAPABILITY_ALREADY_SELECTED","The capability is already selected by this project");let s=r.profile?.id,c=s==="typescript-library"?"blank-typescript-library":s,l=n.dependencies?.profiles??[],d=e.currentLock.capabilities.find(_=>_.consumerProfile===c);if(c===void 0||!l.includes(c)||d===void 0)throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","The project profile does not satisfy this capability dependency");if((n.dependencies?.capabilities??[]).some(_=>!r.capabilities.some(S=>S.capabilityId===_)||!e.currentLock.capabilities.some(S=>S.capabilityId===_)))throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","A required project capability is not adopted and verified");let f=W({...r,capabilities:[...r.capabilities,{capabilityId:n.capabilityId,version:n.version}]}),u=a("project-capabilities.json"),m=Buffer.from(`${JSON.stringify(f,null,2)}
45
- `),g=await Wi(o,u);if(!g.exists||g.digest===void 0)throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","The project manifest is unavailable");let y=[{path:u,kind:"replace",ownership:"owned-file",baseDigest:g.digest,desiredDigest:h(m)}],w=new Map([[u,m]]),A;if(n.schemaVersion===2&&n.packageSources.length>0){if(e.packageSource===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Capability Release v2 requires verified package source facts");let _;try{_=await Ji(Jr.join(t,"package.json"))}catch{throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","\u9879\u76EE package.json \u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u751F\u6210\u5305\u91C7\u7528\u8BA1\u5212")}try{let S=e.packageSource.currentLockfile??await Ji(Jr.join(t,"pnpm-lock.yaml")).catch(se=>se.code==="ENOENT"?void 0:Promise.reject(se)),T=e.packageSource.topology??{schemaVersion:1,mode:"standalone",transactionRoot:t,unitRoot:t,unitRelativeRoot:".",unitImporterId:".",lockfilePath:"pnpm-lock.yaml"},ue=T.mode==="pnpm-shared-lockfile",$={mode:T.mode,unitRelativeRoot:T.unitRelativeRoot,unitImporterId:T.unitImporterId,lockfilePath:T.lockfilePath,...T.workspaceManifestPath?{workspaceManifestPath:T.workspaceManifestPath,workspaceManifestDigest:T.workspaceManifestDigest}:{}},P={registryConfigs:e.packageSource.registryConfigs,endpointBindings:e.packageSource.endpointBindings,receipts:e.packageSource.receipts,inspections:e.packageSource.inspections};if(ue&&(!e.packageSource.resolutionEvidence||!e.packageSource.resolutionWorkerReleaseId))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let Z=ue?(e.packageChannel==="development"?Ra:Aa)({release:n,...P,consumerProfile:c,packageJson:_,currentLockfile:S,generatedAt:e.generatedAt,expiresAt:e.expiresAt,topology:$,preservedImporterDigests:e.packageSource.preservedImporterDigests??[],resolutionEvidence:e.packageSource.resolutionEvidence,resolutionWorkerReleaseId:e.packageSource.resolutionWorkerReleaseId}):(e.packageChannel==="development"?_a:ka)({release:n,...P,lockResolution:e.packageSource.lockResolution,consumerProfile:c,packageJson:_,...S===void 0?{}:{currentLockfile:S},generatedAt:e.generatedAt,expiresAt:e.expiresAt});A=Ia(Z),y.push({path:a("package.json"),kind:"replace",ownership:"owned-file",baseDigest:Z.packageJsonPreimageDigest,desiredDigest:Z.desiredPackageJsonDigest}),w.set(a("package.json"),Z.desiredPackageJson),y.push({path:T.lockfilePath,kind:S===void 0?"create":"replace",ownership:"owned-file",...S===void 0?{}:{baseDigest:h(S)},desiredDigest:Z.desiredLockfileDigest}),w.set(T.lockfilePath,Z.desiredLockfile)}catch(S){throw S instanceof H?new le("CAPABILITY_PACKAGE_SOURCE_INVALID",S.code):S}}for(let _ of n.assets){let S=e.release.contents.get(_.path);if(S===void 0)throw new le("CAPABILITY_KIND_UNSUPPORTED","Capability asset content is unavailable");let T=_.renderer==="application-config-contract-v1"?Pa(r):_.renderer==="application-config-binding-v1"?Sa(r):S;if(_.ownership==="managed-region"){if(_.regionId===void 0)throw new le("CAPABILITY_KIND_UNSUPPORTED","Managed region identity is unavailable");let ue;try{ue=await Ji(Jr.join(t,..._.path.split("/")))}catch{throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","The managed shared file is unavailable")}let $=Buffer.from(gm({source:ue.toString("utf8"),regionId:_.regionId,content:Buffer.from(T).toString("utf8")}));y.push({path:a(_.path),kind:"merge",ownership:"managed-region",regionId:_.regionId,baseDigest:h(ue),desiredDigest:h($)}),w.set(a(_.path),$)}else{let ue=await Wi(t,_.path);if(_.ownership==="seed-file"&&ue.exists){let $=await Ji(Jr.join(t,..._.path.split("/")));y.push({path:a(_.path),kind:"create",ownership:"seed-file",desiredDigest:h($)}),w.set(a(_.path),$)}else y.push({path:a(_.path),kind:"create",ownership:_.ownership,desiredDigest:h(T)}),w.set(a(_.path),T)}}let b=await Promise.all(y.map(_=>Wi(o,_.path))),R={schemaVersion:1,capabilityId:n.capabilityId,version:n.version,integrity:n.integrity,assets:y.filter(_=>_.path!==u&&_.path!==i?.lockfilePath).map(_=>({path:i?.mode==="pnpm-shared-lockfile"?_.path.slice(i.unitRelativeRoot.length+1):_.path,ownership:_.ownership,desiredDigest:_.desiredDigest})),verifiers:n.verifiers.map(_=>({id:_.id,kind:"file-digest"}))};return{plan:Pe({action:"adopt",capability:R,changes:y,observedAssets:b,generatedAt:e.generatedAt,expiresAt:e.expiresAt,...A===void 0?{}:{packageAdoption:A}}),manifest:f,desiredContents:w,transactionRoot:o,dependency:{profile:c,satisfied:!0}}}var ny=nn(Dr(),1);var oP={$id:"https://schemas.dyyto.dev/platform/solution-catalog-entry-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","solutionId","version","integrity","title","summary","maturity","members","integration","exit"],properties:{schemaVersion:{const:1},solutionId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:{type:"string",pattern:Ot},title:{type:"string",minLength:1,maxLength:80},summary:{type:"string",minLength:1,maxLength:240},maturity:{enum:["guided","automated"]},members:{type:"array",minItems:1,maxItems:32,items:{type:"object",additionalProperties:!1,required:["capabilityId","version","role","required"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},role:{type:"string",minLength:1,maxLength:80},required:{type:"boolean"}}}},integration:{type:"object",additionalProperties:!1,required:["prerequisites","steps","verification","result"],properties:{prerequisites:{type:"array",minItems:1,maxItems:16,items:{type:"string",minLength:1,maxLength:200}},steps:{type:"array",minItems:1,maxItems:32,items:{type:"object",additionalProperties:!1,required:["label","command"],properties:{label:{type:"string",minLength:1,maxLength:80},command:{type:"string",minLength:1,maxLength:2e3}}}},verification:{type:"array",minItems:1,maxItems:32,items:{type:"string",minLength:1,maxLength:1e3}},result:{type:"string",minLength:1,maxLength:400}}},exit:{type:"object",additionalProperties:!1,required:["summary"],properties:{summary:{type:"string",minLength:1,maxLength:400}}}}},jC=new ny.Ajv2020({allErrors:!0,strict:!0}).compile(oP);var cy=nn(Dr(),1);import{readFile as aP,realpath as sP}from"node:fs/promises";import iy from"node:path";var oy="^[a-z0-9]+(?:[.-][a-z0-9]+)*$",ay="^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)[^\\u0000]+$",cP={$id:"https://schemas.dyyto.dev/platform/example-recipe-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","recipeId","version","integrity","title","locale","rootProfile","capabilities","expectedEntrypoint","verifiers","manualAcceptance","cleanup"],properties:{schemaVersion:{const:1},recipeId:{type:"string",pattern:oy},version:{type:"string",minLength:1,maxLength:128},integrity:{type:"string",pattern:Ot},title:{type:"string",minLength:1,maxLength:80},locale:{const:"zh-CN"},rootProfile:{type:"object",additionalProperties:!1,required:["capabilityId","version"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128}}},capabilities:{type:"array",minItems:1,maxItems:16,items:{type:"object",additionalProperties:!1,required:["capabilityId","version","channel"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},channel:{const:"development"}}}},expectedEntrypoint:{type:"string",pattern:ay,maxLength:240},verifiers:{type:"array",minItems:1,maxItems:16,uniqueItems:!0,items:{type:"string",pattern:oy}},manualAcceptance:{type:"array",minItems:1,maxItems:32,items:{type:"string",minLength:1,maxLength:240}},cleanup:{type:"object",additionalProperties:!1,required:["ownedStateDirectories"],properties:{ownedStateDirectories:{type:"array",maxItems:8,uniqueItems:!0,items:{type:"string",pattern:ay,maxLength:240}}}}}},sy=new cy.Ajv2020({allErrors:!0,strict:!0}).compile(cP),Wr=class extends Error{code;issues;constructor(t,r=[]){super(t),this.code=t,this.issues=r}};function lP(e){return h(k(e))}function dP(e){if(!sy(e))throw new Wr("EXAMPLE_RECIPE_INVALID",sy.errors??[]);let t=e,r=[t.rootProfile.capabilityId,...t.capabilities.map(n=>n.capabilityId)];if(new Set(r).size!==r.length||t.capabilities.some(n=>n.version.includes("workspace:")||n.capabilityId.includes("ai-education-poc")))throw new Wr("EXAMPLE_RECIPE_INVALID");return t}async function ly(e){let t=await sP(iy.resolve(e)),r;try{r=dP(JSON.parse(await aP(iy.join(t,"recipe.json"),"utf8")))}catch(o){throw o instanceof Wr?o:new Wr("EXAMPLE_RECIPE_INVALID")}let{integrity:n,...i}=r;if(lP(i)!==n)throw new Wr("EXAMPLE_RECIPE_INTEGRITY_MISMATCH");return r}var uy=nn(Dr(),1);import{readFile as pP,realpath as uP}from"node:fs/promises";import dy from"node:path";var fP={$id:"https://schemas.dyyto.dev/platform/engineering-template-release-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","templateId","version","integrity","title","summary","status","profile","parameters","commands","technology","support","integration","metrics"],properties:{schemaVersion:{const:1},templateId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:{type:"string",pattern:Ot},title:{type:"string",minLength:1,maxLength:80},summary:{type:"string",minLength:1,maxLength:240},status:{enum:["candidate","recommended","deprecated"]},profile:{type:"object",additionalProperties:!1,required:["id","capability"],properties:{id:{type:"string",pattern:te},capability:{type:"string",pattern:`${te.slice(1,-1)}@[0-9]+\\.[0-9]+\\.[0-9]+$`}}},parameters:{type:"array",minItems:0,maxItems:32,items:{type:"object",additionalProperties:!1,required:["id","required","description"],properties:{id:{type:"string",pattern:"^[a-z][A-Za-z0-9]*$"},required:{type:"boolean"},description:{type:"string",minLength:1,maxLength:160}}}},commands:{type:"object",minProperties:1,additionalProperties:!1,properties:{dev:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"},build:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"},test:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"},package:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"}}},technology:{type:"array",minItems:1,maxItems:32,items:{type:"object",additionalProperties:!1,required:["id","version","policy","verifiedAt","rationale","alternative","exit"],properties:{id:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:64},policy:{enum:["recommended","allowed"]},verifiedAt:{type:"string",format:"date"},rationale:{type:"string",minLength:1,maxLength:240},alternative:{type:"string",minLength:1,maxLength:160},exit:{type:"string",minLength:1,maxLength:240}}}},support:{type:"object",additionalProperties:!1,required:["owner","tier","supportedFrom","supportedUntil","upgradeCadence","eolNoticeDays"],properties:{owner:{type:"string",pattern:te},tier:{const:"production"},supportedFrom:{type:"string",format:"date"},supportedUntil:{type:"string",format:"date"},upgradeCadence:{type:"string",minLength:1,maxLength:80},eolNoticeDays:{type:"integer",minimum:30,maximum:730}}},integration:{type:"object",additionalProperties:!1,required:["prerequisites","createCommand","result"],properties:{prerequisites:{type:"array",minItems:1,maxItems:16,items:{type:"string",minLength:1,maxLength:200}},createCommand:{type:"string",minLength:1,maxLength:2e3},result:{type:"string",minLength:1,maxLength:400}}},metrics:{type:"array",minItems:1,uniqueItems:!0,items:{enum:["time-to-green-build","time-to-first-business-commit","manual-engineering-edits","upgrade-conflicts"]}}}},py=new uy.Ajv2020({allErrors:!0,strict:!0,formats:{date:/^\d{4}-\d{2}-\d{2}$/}}).compile(fP),Kt=class extends Error{code;issues;constructor(t,r=[]){super(t),this.code=t,this.issues=r}};function mP(e){return h(k(e))}function gP(e){if(!py(e))throw new Kt("TEMPLATE_INVALID",py.errors??[]);let t=e;if(new Set(t.parameters.map(r=>r.id)).size!==t.parameters.length||new Set(t.technology.map(r=>r.id)).size!==t.technology.length)throw new Kt("TEMPLATE_INVALID");if(Date.parse(t.support.supportedUntil)<=Date.parse(t.support.supportedFrom))throw new Kt("TEMPLATE_INVALID");return t}async function Ki(e,t=new Date){let r=await uP(dy.resolve(e)),n;try{n=gP(JSON.parse(await pP(dy.join(r,"template.json"),"utf8")))}catch(a){throw a instanceof Kt?a:new Kt("TEMPLATE_INVALID")}let{integrity:i,...o}=n;if(mP(o)!==i)throw new Kt("TEMPLATE_INTEGRITY_MISMATCH");if(n.status==="recommended"&&Date.parse(n.support.supportedUntil)<t.getTime())throw new Kt("TEMPLATE_SUPPORT_EXPIRED");return n}import{readFile as fy}from"node:fs/promises";import my from"node:path";var yP=/^[A-Z][A-Z0-9_]*$/u,hP=/(?:API_KEY|ACCESS_KEY|SECRET|TOKEN|PASSWORD|PRIVATE_KEY|DATABASE_URL|POSTGRES_URL)$/u;function wP(e){let t=new Map;for(let r of e.split(/\r?\n/u)){let n=/^([A-Z][A-Z0-9_]*)=(.*)$/u.exec(r.trim());if(!n||!yP.test(n[1]))continue;let i=n[1],o=n[2].trim();t.set(i,{name:i,requirement:o.length===0?"conditional":"optional",secret:hP.test(i),configured:!1,source:".env.example",configuredSource:null})}return[...t.values()]}async function gy(e){let t=await fy(my.join(e.projectRoot,".env.example"),"utf8").then(()=>".env.example").catch(()=>null),r=t?await fy(my.join(e.projectRoot,t),"utf8"):"",n=await Mi({projectRoot:e.projectRoot}).catch(()=>null);return{commands:["dev","build","test","package"].flatMap(o=>e.commands[o]?[{id:o,script:e.commands[o],mode:o==="dev"?"managed-process":"foreground-task"}]:[]),environment:n?n.entries.map(o=>({name:o.name,requirement:o.required?"conditional":"optional",secret:o.kind!=="value",configured:o.configured,source:"application-config-contract",configuredSource:"APP_CONFIG_DIR",display:o.display,...o.fingerprint?{fingerprint:o.fingerprint}:{}})):wP(r),environmentExample:t,productionValidation:{contract:!0,live:["provider-read","oss-write-read-delete"]}}}var yy={change:new Set(["plan","apply","upgrade","recover","baseline-next","add-package","add-application","add-feature"]),quality:new Set(["inspect","verify","doctor","maintenance","test","build"]),delivery:new Set(["package","delivery-plan","delivery-apply","delivery-inspect"])},hy=new Set(["queued","running","succeeded","failed","outcome-unknown","cancelled"]);function wy(e,t){if(!yy[t.plane]||t.state&&!hy.has(t.state)||t.limit!==void 0&&(!Number.isSafeInteger(t.limit)||t.limit<1||t.limit>200))throw new Error("OPERATION_FILTER_INVALID");let r=yy[t.plane],n=t.from?Date.parse(t.from):null,i=t.to?Date.parse(t.to):null;if(n!==null&&Number.isNaN(n)||i!==null&&Number.isNaN(i)||n!==null&&i!==null&&n>i)throw new Error("OPERATION_FILTER_INVALID");let o=e.filter(l=>r.has(l.operation)),a=[...new Map(o.map(l=>[l.projectId,{id:l.projectId,name:l.projectName}])).values()].sort((l,d)=>l.name.localeCompare(d.name)),s=o.filter(l=>(!t.projectId||l.projectId===t.projectId)&&(!t.state||l.state===t.state)&&(!t.kind||l.operation===t.kind)&&(n===null||Date.parse(l.createdAt)>=n)&&(i===null||Date.parse(l.createdAt)<=i)).sort((l,d)=>d.updatedAt.localeCompare(l.updatedAt)),c={total:s.length,running:s.filter(l=>l.state==="running"||l.state==="queued").length,succeeded:s.filter(l=>l.state==="succeeded").length,attention:s.filter(l=>l.state==="failed"||l.state==="outcome-unknown").length};return Object.freeze({schemaVersion:1,plane:t.plane,summary:Object.freeze(c),facets:Object.freeze({projects:Object.freeze(a),states:Object.freeze([...hy]),kinds:Object.freeze([...r])}),items:Object.freeze(s.slice(0,t.limit??50).map(Object.freeze)),hasMore:s.length>(t.limit??50)})}var rt=class extends Error{code;constructor(t){super(t),this.code=t}},IP=/^@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/u,Iy=/^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/u,vP=/^sha512-[A-Za-z0-9+/]{86}==$/u,Ua=/^sha256:[a-f0-9]{64}$/u,bP=/^[a-z0-9][a-z0-9._-]{1,214}\.tgz$/u,kP=/^(?:workspace:|file:|link:|git(?:\+|:)|https?:|ssh:|github:)/u,_P=new Set(["preinstall","install","postinstall","prepublish","prepare"]);function Kr(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function AP(e){if(!Kr(e,["packageName","version","assetName","integrity","tarballDigest","dependencies","lifecycleScripts"])||!IP.test(e.packageName)||!Iy.test(e.version)||!bP.test(e.assetName)||!vP.test(e.integrity)||!Ua.test(e.tarballDigest)||typeof e.dependencies!="object"||e.dependencies===null||Array.isArray(e.dependencies)||e.lifecycleScripts.length>0)return!1;let t=Object.entries(e.dependencies);return t.length>256||t.some(([r,n])=>!/^(@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u.test(r)||!Iy.test(n)||kP.test(n))?!1:e.lifecycleScripts.every(r=>_P.has(r))}function hd(e){if(!Kr(e,["artifacts"])||e.artifacts.length===0||e.artifacts.length>128)throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");let t=e.artifacts.map(o=>Object.freeze({...o,dependencies:Object.freeze({...o.dependencies}),lifecycleScripts:Object.freeze([...o.lifecycleScripts])}));if(t.some(o=>!AP(o)))throw new rt("LOCAL_ARTIFACT_POLICY_VIOLATION");let r=t.map(o=>o.packageName+"@"+o.version);if(new Set(r).size!==r.length||r.some((o,a)=>a>0&&o.localeCompare(r[a-1])<=0))throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");let n=new Set(t.map(o=>o.packageName));for(let o of t)for(let[a,s]of Object.entries(o.dependencies))if(a.startsWith("@aipt/")&&(!n.has(a)||!t.some(c=>c.packageName===a&&c.version===s)))throw new rt("LOCAL_ARTIFACT_POLICY_VIOLATION");let i={schemaVersion:1,channel:"development",artifacts:t};return Object.freeze({...i,bundleId:h(k(i))})}function Yr(e){let t=e;if(typeof t!="object"||t===null||!Kr(t,["schemaVersion","bundleId","channel","artifacts"])||t.schemaVersion!==1||t.channel!=="development"||!Ua.test(t.bundleId)||!Array.isArray(t.artifacts))throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");if(hd({artifacts:t.artifacts}).bundleId!==t.bundleId)throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");return t}function wd(e){if(!Kr(e,["packageInputs","bundle","generatedAt","expiresAt"])||e.packageInputs.length!==e.bundle.artifacts.length||e.packageInputs.length===0||Number.isNaN(Date.parse(e.generatedAt))||Number.isNaN(Date.parse(e.expiresAt))||Date.parse(e.expiresAt)<=Date.parse(e.generatedAt))throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");let t=e.packageInputs.map(i=>Object.freeze({...i}));if(t.some(i=>!Kr(i,["relativeRoot","manifestDigest"])||!/^(?:packages|fixtures)\/[a-z0-9][a-z0-9._-]{1,127}$/u.test(i.relativeRoot)||!Ua.test(i.manifestDigest))||new Set(t.map(i=>i.relativeRoot)).size!==t.length)throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");let r=Yr(e.bundle),n={schemaVersion:1,state:"awaiting-approval",packageInputs:t,bundle:r,targetPreimage:{kind:"absent"},generatedAt:e.generatedAt,expiresAt:e.expiresAt};return Object.freeze({...n,planId:h(k(n))})}function vy(e){let t=e;if(typeof t!="object"||t===null||!Kr(t,["schemaVersion","planId","state","packageInputs","bundle","targetPreimage","generatedAt","expiresAt"])||t.schemaVersion!==1||t.state!=="awaiting-approval"||!Ua.test(t.planId)||!Kr(t.targetPreimage,["kind"])||t.targetPreimage.kind!=="absent")throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");if(wd({packageInputs:t.packageInputs,bundle:t.bundle,generatedAt:t.generatedAt,expiresAt:t.expiresAt}).planId!==t.planId)throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");return t}function by(e){let t=Yr(e.bundle),r=Ti(e.registry);if(r.authentication.kind!=="anonymous-test"||r.status!=="enabled"||!r.capabilities.read||Number.isNaN(Date.parse(e.verifiedAt)))throw new rt("LOCAL_ARTIFACT_POLICY_VIOLATION");return Object.freeze(t.artifacts.map(n=>Yl({registryId:r.registryId,registryConfigRevision:r.revision,packageName:n.packageName,version:n.version,integrity:n.integrity,tarballDigest:n.tarballDigest,access:"private",provenance:"development-readback-verified",verificationIdentityDigest:t.bundleId,sourceDeliveryReceiptId:t.bundleId,verifiedAt:e.verifiedAt})))}var Ze=class extends Error{code;constructor(t){super(t),this.code=t,this.name="ResolutionWorkerBuildError"}},ky=/^sha256:[a-f0-9]{64}$/u,qa=/^[a-z0-9][a-z0-9._/-]{0,255}$/u;function Id(e){if(!qa.test(e.workerReleaseId)||e.pnpmVersion!=="11.21.0"||![e.workspaceManifestDigest,e.rootLockDigest].every(r=>ky.test(r))||!qa.test(e.cacheNamespace)||!Number.isSafeInteger(e.maximumBytes)||e.maximumBytes<1||Number.isNaN(Date.parse(e.generatedAt))||Date.parse(e.expiresAt)<=Date.parse(e.generatedAt))throw new Ze("RESOLUTION_WORKER_BUILD_INVALID");let t={schemaVersion:1,...e};return Object.freeze({...t,planId:h(k(t))})}function _y(e){let t=e;if(!t||typeof t!="object"||Object.keys(t).length!==10)throw new Ze("RESOLUTION_WORKER_BUILD_INVALID");let r=Id({workerReleaseId:t.workerReleaseId,pnpmVersion:t.pnpmVersion,workspaceManifestDigest:t.workspaceManifestDigest,rootLockDigest:t.rootLockDigest,cacheNamespace:t.cacheNamespace,maximumBytes:t.maximumBytes,generatedAt:t.generatedAt,expiresAt:t.expiresAt});if(t.schemaVersion!==1||t.planId!==r.planId)throw new Ze("RESOLUTION_WORKER_BUILD_INVALID");return r}function vd(e){if(![e.planId,e.cacheDigest,e.commandDigest].every(r=>ky.test(r))||!qa.test(e.workerReleaseId)||!qa.test(e.cacheNamespace)||e.pnpmVersion!=="11.21.0"||!Number.isSafeInteger(e.cacheBytes)||e.cacheBytes<0||Number.isNaN(Date.parse(e.completedAt)))throw new Ze("RESOLUTION_WORKER_BUILD_INVALID");let t={schemaVersion:1,...e};return Object.freeze({...t,receiptId:h(k(t))})}function Ba(e){let t=e;if(!t||typeof t!="object"||Object.keys(t).length!==10)throw new Ze("RESOLUTION_WORKER_BUILD_INVALID");let r=vd({planId:t.planId,workerReleaseId:t.workerReleaseId,pnpmVersion:t.pnpmVersion,cacheNamespace:t.cacheNamespace,cacheDigest:t.cacheDigest,cacheBytes:t.cacheBytes,commandDigest:t.commandDigest,completedAt:t.completedAt});if(t.schemaVersion!==1||t.receiptId!==r.receiptId)throw new Ze("RESOLUTION_WORKER_BUILD_INVALID");return r}var Yi=class extends Error{code;constructor(t){super(t),this.code=t,this.name="RecoveryOverrideError"}},bd=/^sha256:[a-f0-9]{64}$/u,RP=/^(?!\/)(?!.*(?:^|\/)\.\.(?:\/|$))[a-zA-Z0-9._@:/-]+$/u;function kd(e){if(![e.transactionPlanId,e.transactionRootDigest].every(r=>bd.test(r))||e.conflicts.length===0||new Set(e.conflicts.map(r=>r.path)).size!==e.conflicts.length||e.conflicts.some(r=>!RP.test(r.path)||!bd.test(r.currentDigest)||!bd.test(r.preimageDigest))||Number.isNaN(Date.parse(e.generatedAt))||Date.parse(e.expiresAt)<=Date.parse(e.generatedAt))throw new Yi("RECOVERY_OVERRIDE_INVALID");let t={schemaVersion:1,...e,conflicts:e.conflicts.map(r=>({...r})).sort((r,n)=>r.path.localeCompare(n.path))};return Object.freeze({...t,planId:h(k(t))})}function Ay(e){let t=e;if(!t||typeof t!="object"||Object.keys(t).length!==7)throw new Yi("RECOVERY_OVERRIDE_INVALID");let r=kd({transactionPlanId:t.transactionPlanId,transactionRootDigest:t.transactionRootDigest,conflicts:t.conflicts,generatedAt:t.generatedAt,expiresAt:t.expiresAt});if(t.schemaVersion!==1||t.planId!==r.planId)throw new Yi("RECOVERY_OVERRIDE_INVALID");return r}var Hi=class extends Error{code;constructor(t,r){super(r),this.code=t}},Ad=/^sha256:[a-f0-9]{64}$/u,EP=/^sha512-[A-Za-z0-9+/]{86}==$/u,PP=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u,NP=/^(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z.-]+)?$/u,OP=/[\u0000-\u001f\u007f]/u;function $n(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}function Tn(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function Yt(e,t=500){return typeof e=="string"&&e.length>0&&e.length<=t&&!OP.test(e)}function _d(e){return Yt(e,500)&&!e.startsWith("/")&&!e.startsWith("../")&&!e.includes("/../")&&!e.includes("\\")}function Ry(e,t=128){return Array.isArray(e)&&e.length<=t&&e.every(r=>Yt(r,500))&&e.every((r,n)=>n===0||e[n-1]<r)}function SP(e){return e===null?!0:!$n(e)||!Tn(e,["fileName","digest","integrity","fileCount","unpackedBytes"])?!1:_d(e.fileName)&&Ad.test(String(e.digest))&&EP.test(String(e.integrity))&&Number.isSafeInteger(e.fileCount)&&Number(e.fileCount)>0&&Number.isSafeInteger(e.unpackedBytes)&&Number(e.unpackedBytes)>0}function DP(e){if(!$n(e)||!Tn(e,["schemaVersion","kind","packageName","version","title","summary","maturity","source","artifact","compatibility","exports","documentation","consumerEvidence"])||e.schemaVersion!==1||e.kind!=="PackageRelease"||!PP.test(e.packageName)||!NP.test(e.version)||!Yt(e.title,120)||!Yt(e.summary,1e3)||!["candidate","stable","deprecated"].includes(e.maturity)||!$n(e.source)||!Tn(e.source,["repository","path","revision","treeDigest"])||!Yt(e.source.repository)||!_d(e.source.path)||!Yt(e.source.revision,200)||!Ad.test(String(e.source.treeDigest))||!SP(e.artifact)||!$n(e.compatibility)||!Tn(e.compatibility,["node","packageManager"])||!Yt(e.compatibility.node,100)||!Yt(e.compatibility.packageManager,100)||!Ry(e.exports)||!Ry(e.consumerEvidence)||!$n(e.documentation))return!1;let t=e.documentation.knowledgeRef===void 0?["readme"]:["readme","knowledgeRef"];return!Tn(e.documentation,t)||!_d(e.documentation.readme)||e.documentation.knowledgeRef!==void 0&&!Yt(e.documentation.knowledgeRef,500)?!1:e.artifact!==null||e.maturity!=="stable"}function jP(e){let t={schemaVersion:1,kind:"PackageRelease",...e,source:Object.freeze({...e.source}),artifact:e.artifact===null?null:Object.freeze({...e.artifact}),compatibility:Object.freeze({...e.compatibility}),exports:Object.freeze([...e.exports]),documentation:Object.freeze({...e.documentation}),consumerEvidence:Object.freeze([...e.consumerEvidence])};if(!DP(t))throw new Hi("PACKAGE_RELEASE_INVALID","PackageRelease \u5185\u5BB9\u65E0\u6548");return Object.freeze({...t,releaseDigest:h(k(t))})}function Ey(e){if(!$n(e)||!Tn(e,["schemaVersion","kind","packageName","version","title","summary","maturity","source","artifact","compatibility","exports","documentation","consumerEvidence","releaseDigest"])||!Ad.test(String(e.releaseDigest)))throw new Hi("PACKAGE_RELEASE_INVALID","PackageRelease \u7ED3\u6784\u65E0\u6548");let{releaseDigest:t,schemaVersion:r,kind:n,...i}=e,o=jP(i);if(o.releaseDigest!==t)throw new Hi("PACKAGE_RELEASE_MODIFIED","PackageRelease \u5DF2\u88AB\u4FEE\u6539");return o}import{lstat as CP,readFile as $P,realpath as TP}from"node:fs/promises";import Py from"node:path";async function Ny(e){let t=await TP(Py.resolve(e.projectRoot)),r=new Set(e.excludeCapabilityIds??[]),n=new Map,i=[...e.lock.capabilities].sort((a,s)=>a.committedAt.localeCompare(s.committedAt)||a.capabilityId.localeCompare(s.capabilityId));for(let a of i)if(!r.has(a.capabilityId))for(let s of a.assets){let c=s.ownership??"owned-file",l=`${s.path}\0`;if(c==="managed-region")n.delete(l);else for(let p of n.keys())p.startsWith(l)&&n.delete(p);let d=c==="managed-region"?`${l}${s.regionId??""}`:l;n.set(d,{capabilityId:a.capabilityId,path:s.path,digest:s.digest,ownership:c,...s.regionId===void 0?{}:{regionId:s.regionId}})}let o=[];for(let a of[...n.values()].sort((s,c)=>s.path.localeCompare(c.path)||(s.regionId??"").localeCompare(c.regionId??"")||s.capabilityId.localeCompare(c.capabilityId))){let s=Py.join(t,...a.path.split("/")),l=await CP(s).then(async d=>{if(!d.isFile()||d.isSymbolicLink())return;let p=await $P(s);if(a.ownership!=="managed-region")return h(p);if(a.regionId!==void 0)try{return h(Ko(p.toString("utf8"),a.regionId))}catch{return}}).catch(d=>d.code==="ENOENT"?void 0:Promise.reject(d))===a.digest;o.push({capabilityId:a.capabilityId,path:a.path,kind:"create",ownership:a.ownership,...a.regionId===void 0?{}:{regionId:a.regionId},desiredDigest:a.digest,disposition:l?"noop":"conflict",...l?{}:{conflictCode:"BASE_DIGEST_MISMATCH"}})}return o}import{createHash as LP}from"node:crypto";var xP=/[\u0000-\u001f\u007f]/u,za=e=>`sha256:${LP("sha256").update(Rd(e)).digest("hex")}`,Rd=e=>Array.isArray(e)?`[${e.map(Rd).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${Rd(r)}`).join(",")}}`:JSON.stringify(e),gr=(e,t)=>{if(!e.trim()||e.length>500||xP.test(e))throw new Error(`DEVELOPMENT_${t.toUpperCase()}_INVALID`);return e.trim()},VP=e=>Object.freeze({repository:gr(e.repository,"repository"),branch:gr(e.branch,"branch"),commit:gr(e.commit,"commit")});function Oy(e){if(e.source==="requirement-task"&&(!e.requirementId||!e.taskId))throw new Error("DEVELOPMENT_REQUIREMENT_TASK_REQUIRED");if(e.source==="direct"&&(e.requirementId!==null||e.taskId!==null))throw new Error("DEVELOPMENT_DIRECT_LINK_INVALID");let t={schemaVersion:1,kind:"DevelopmentIntent",source:e.source,intentId:gr(e.intentId,"intent_id"),title:gr(e.title,"title"),summary:gr(e.summary,"summary"),repository:VP(e.repository),requirementId:e.requirementId,taskId:e.taskId,acceptance:Object.freeze(e.acceptance.map(r=>gr(r,"acceptance")))};return Object.freeze({...t,intentDigest:za(t)})}function Sy(e){let t={intentDigest:e.intent.intentDigest,repository:e.intent.repository,worktreePath:gr(e.worktreePath,"worktree"),startedAt:e.startedAt},r={schemaVersion:1,kind:"DevelopmentSession",sessionId:za(t),revision:1,state:"active",intent:e.intent,worktree:Object.freeze({path:t.worktreePath,writable:!0}),engineeringContextDigest:e.engineeringContextDigest,knowledgeContextDigest:e.knowledgeContextDigest??null,startedAt:e.startedAt,finishedAt:null};return Object.freeze({...r,sessionDigest:za(r)})}function Dy(e,t){if(e.state!=="active")throw new Error("DEVELOPMENT_SESSION_NOT_ACTIVE");let r={...e,revision:e.revision+1,state:"finished",worktree:Object.freeze({...e.worktree,writable:!1}),finishedAt:t},{sessionDigest:n,...i}=r;return Object.freeze({...i,sessionDigest:za(i)})}import{readFile as ie,readdir as Jy,realpath as Pt}from"node:fs/promises";import{execFile as QP,spawn as eN}from"node:child_process";import N from"node:path";import{parseArgs as de,promisify as tN}from"node:util";import{lstat as jy,mkdir as Pd,readFile as Cy,realpath as Ed,rm as MP,writeFile as $y}from"node:fs/promises";import nt from"node:path";var it=class extends Error{constructor(r,n){super(r,n===void 0?void 0:{cause:n});this.code=r}code},FP=e=>k(e),Ty=e=>h(FP(e));async function Ly(e,t){let r=await Ed(nt.resolve(e)),n=nt.join(r,".examples");await Pd(n,{recursive:!0});let i=await Ed(n),o=nt.resolve(r,t);if(nt.dirname(o)!==i||nt.basename(o).startsWith(".")||nt.basename(o).length<1)throw new it("SCAFFOLD_ARGUMENT_INVALID");if(await jy(o).then(()=>!0).catch(a=>a.code==="ENOENT"?!1:Promise.reject(a)))throw new it("SCAFFOLD_TARGET_CONFLICT");return{workspaceRoot:r,output:o,outputRelativePath:nt.relative(r,o)}}async function xy(e){let t=e.artifactFallbackBundles??[];if(!/^sha256:[a-f0-9]{64}$/u.test(e.artifactBundle)||t.some(c=>!/^sha256:[a-f0-9]{64}$/u.test(c))||new Set([e.artifactBundle,...t]).size!==1+t.length||!Number.isSafeInteger(e.artifactPort)||e.artifactPort<1||e.artifactPort>65535)throw new it("SCAFFOLD_ARGUMENT_INVALID");let r=await Ly(e.workspaceRoot,e.output),n=e.now??new Date().toISOString(),i={schemaVersion:1,state:"reviewable",recipeId:e.recipe.recipeId,recipeVersion:e.recipe.version,recipeIntegrity:e.recipe.integrity,workspaceRoot:r.workspaceRoot,outputRelativePath:r.outputRelativePath,locale:e.recipe.locale,channel:"development",artifactBundle:e.artifactBundle,artifactFallbackBundles:t,artifactPort:e.artifactPort,generatedAt:n,expiresAt:new Date(Date.parse(n)+30*6e4).toISOString()},o={...i,planId:Ty(i)},a=nt.join(r.workspaceRoot,".dyyto","scaffold-plans");await Pd(a,{recursive:!0});let s=nt.join(a,`${o.planId}.json`);return await $y(s,`${k(o)}
45
+ `),g=await Wi(o,u);if(!g.exists||g.digest===void 0)throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","The project manifest is unavailable");let y=[{path:u,kind:"replace",ownership:"owned-file",baseDigest:g.digest,desiredDigest:h(m)}],w=new Map([[u,m]]),A;if(n.schemaVersion===2&&n.packageSources.length>0){if(e.packageSource===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Capability Release v2 requires verified package source facts");let _;try{_=await Ji(Jr.join(t,"package.json"))}catch{throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","\u9879\u76EE package.json \u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u751F\u6210\u5305\u91C7\u7528\u8BA1\u5212")}try{let S=e.packageSource.currentLockfile??await Ji(Jr.join(t,"pnpm-lock.yaml")).catch(se=>se.code==="ENOENT"?void 0:Promise.reject(se)),T=e.packageSource.topology??{schemaVersion:1,mode:"standalone",transactionRoot:t,unitRoot:t,unitRelativeRoot:".",unitImporterId:".",lockfilePath:"pnpm-lock.yaml"},ue=T.mode==="pnpm-shared-lockfile",$={mode:T.mode,unitRelativeRoot:T.unitRelativeRoot,unitImporterId:T.unitImporterId,lockfilePath:T.lockfilePath,...T.workspaceManifestPath?{workspaceManifestPath:T.workspaceManifestPath,workspaceManifestDigest:T.workspaceManifestDigest}:{}},P={registryConfigs:e.packageSource.registryConfigs,endpointBindings:e.packageSource.endpointBindings,receipts:e.packageSource.receipts,inspections:e.packageSource.inspections};if(ue&&(!e.packageSource.resolutionEvidence||!e.packageSource.resolutionWorkerReleaseId))throw new H("PACKAGE_SOURCE_POLICY_VIOLATION");let Z=ue?(e.packageChannel==="development"?Ra:Aa)({release:n,...P,consumerProfile:c,packageJson:_,currentLockfile:S,generatedAt:e.generatedAt,expiresAt:e.expiresAt,topology:$,preservedImporterDigests:e.packageSource.preservedImporterDigests??[],resolutionEvidence:e.packageSource.resolutionEvidence,resolutionWorkerReleaseId:e.packageSource.resolutionWorkerReleaseId}):(e.packageChannel==="development"?_a:ka)({release:n,...P,lockResolution:e.packageSource.lockResolution,consumerProfile:c,packageJson:_,...S===void 0?{}:{currentLockfile:S},generatedAt:e.generatedAt,expiresAt:e.expiresAt});A=Ia(Z),y.push({path:a("package.json"),kind:"replace",ownership:"owned-file",baseDigest:Z.packageJsonPreimageDigest,desiredDigest:Z.desiredPackageJsonDigest}),w.set(a("package.json"),Z.desiredPackageJson),y.push({path:T.lockfilePath,kind:S===void 0?"create":"replace",ownership:"owned-file",...S===void 0?{}:{baseDigest:h(S)},desiredDigest:Z.desiredLockfileDigest}),w.set(T.lockfilePath,Z.desiredLockfile)}catch(S){throw S instanceof H?new le("CAPABILITY_PACKAGE_SOURCE_INVALID",S.code):S}}for(let _ of n.assets){let S=e.release.contents.get(_.path);if(S===void 0)throw new le("CAPABILITY_KIND_UNSUPPORTED","Capability asset content is unavailable");let T=_.renderer==="application-config-contract-v1"?Pa(r):_.renderer==="application-config-binding-v1"?Sa(r):S;if(_.ownership==="managed-region"){if(_.regionId===void 0)throw new le("CAPABILITY_KIND_UNSUPPORTED","Managed region identity is unavailable");let ue;try{ue=await Ji(Jr.join(t,..._.path.split("/")))}catch{throw new le("CAPABILITY_DEPENDENCY_UNSATISFIED","The managed shared file is unavailable")}let $=Buffer.from(gm({source:ue.toString("utf8"),regionId:_.regionId,content:Buffer.from(T).toString("utf8")}));y.push({path:a(_.path),kind:"merge",ownership:"managed-region",regionId:_.regionId,baseDigest:h(ue),desiredDigest:h($)}),w.set(a(_.path),$)}else{let ue=await Wi(t,_.path);if(_.ownership==="seed-file"&&ue.exists){let $=await Ji(Jr.join(t,..._.path.split("/")));y.push({path:a(_.path),kind:"create",ownership:"seed-file",desiredDigest:h($)}),w.set(a(_.path),$)}else y.push({path:a(_.path),kind:"create",ownership:_.ownership,desiredDigest:h(T)}),w.set(a(_.path),T)}}let b=await Promise.all(y.map(_=>Wi(o,_.path))),R={schemaVersion:1,capabilityId:n.capabilityId,version:n.version,integrity:n.integrity,assets:y.filter(_=>_.path!==u&&_.path!==i?.lockfilePath).map(_=>({path:i?.mode==="pnpm-shared-lockfile"?_.path.slice(i.unitRelativeRoot.length+1):_.path,ownership:_.ownership,desiredDigest:_.desiredDigest})),verifiers:n.verifiers.map(_=>({id:_.id,kind:"file-digest"}))};return{plan:Pe({action:"adopt",capability:R,changes:y,observedAssets:b,generatedAt:e.generatedAt,expiresAt:e.expiresAt,...A===void 0?{}:{packageAdoption:A}}),manifest:f,desiredContents:w,transactionRoot:o,dependency:{profile:c,satisfied:!0}}}var ny=nn(Dr(),1);var iP={$id:"https://schemas.dyyto.dev/platform/solution-catalog-entry-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","solutionId","version","integrity","title","summary","maturity","members","integration","exit"],properties:{schemaVersion:{const:1},solutionId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:{type:"string",pattern:Ot},title:{type:"string",minLength:1,maxLength:80},summary:{type:"string",minLength:1,maxLength:240},maturity:{enum:["guided","automated"]},members:{type:"array",minItems:1,maxItems:32,items:{type:"object",additionalProperties:!1,required:["capabilityId","version","role","required"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},role:{type:"string",minLength:1,maxLength:80},required:{type:"boolean"}}}},integration:{type:"object",additionalProperties:!1,required:["prerequisites","steps","verification","result"],properties:{prerequisites:{type:"array",minItems:1,maxItems:16,items:{type:"string",minLength:1,maxLength:200}},steps:{type:"array",minItems:1,maxItems:32,items:{type:"object",additionalProperties:!1,required:["label","command"],properties:{label:{type:"string",minLength:1,maxLength:80},command:{type:"string",minLength:1,maxLength:2e3}}}},verification:{type:"array",minItems:1,maxItems:32,items:{type:"string",minLength:1,maxLength:1e3}},result:{type:"string",minLength:1,maxLength:400}}},exit:{type:"object",additionalProperties:!1,required:["summary"],properties:{summary:{type:"string",minLength:1,maxLength:400}}}}},DC=new ny.Ajv2020({allErrors:!0,strict:!0}).compile(iP);var cy=nn(Dr(),1);import{readFile as oP,realpath as aP}from"node:fs/promises";import iy from"node:path";var oy="^[a-z0-9]+(?:[.-][a-z0-9]+)*$",ay="^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)[^\\u0000]+$",sP={$id:"https://schemas.dyyto.dev/platform/example-recipe-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","recipeId","version","integrity","title","locale","rootProfile","capabilities","expectedEntrypoint","verifiers","manualAcceptance","cleanup"],properties:{schemaVersion:{const:1},recipeId:{type:"string",pattern:oy},version:{type:"string",minLength:1,maxLength:128},integrity:{type:"string",pattern:Ot},title:{type:"string",minLength:1,maxLength:80},locale:{const:"zh-CN"},rootProfile:{type:"object",additionalProperties:!1,required:["capabilityId","version"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128}}},capabilities:{type:"array",minItems:1,maxItems:16,items:{type:"object",additionalProperties:!1,required:["capabilityId","version","channel"],properties:{capabilityId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},channel:{const:"development"}}}},expectedEntrypoint:{type:"string",pattern:ay,maxLength:240},verifiers:{type:"array",minItems:1,maxItems:16,uniqueItems:!0,items:{type:"string",pattern:oy}},manualAcceptance:{type:"array",minItems:1,maxItems:32,items:{type:"string",minLength:1,maxLength:240}},cleanup:{type:"object",additionalProperties:!1,required:["ownedStateDirectories"],properties:{ownedStateDirectories:{type:"array",maxItems:8,uniqueItems:!0,items:{type:"string",pattern:ay,maxLength:240}}}}}},sy=new cy.Ajv2020({allErrors:!0,strict:!0}).compile(sP),Wr=class extends Error{code;issues;constructor(t,r=[]){super(t),this.code=t,this.issues=r}};function cP(e){return h(k(e))}function lP(e){if(!sy(e))throw new Wr("EXAMPLE_RECIPE_INVALID",sy.errors??[]);let t=e,r=[t.rootProfile.capabilityId,...t.capabilities.map(n=>n.capabilityId)];if(new Set(r).size!==r.length||t.capabilities.some(n=>n.version.includes("workspace:")||n.capabilityId.includes("ai-education-poc")))throw new Wr("EXAMPLE_RECIPE_INVALID");return t}async function ly(e){let t=await aP(iy.resolve(e)),r;try{r=lP(JSON.parse(await oP(iy.join(t,"recipe.json"),"utf8")))}catch(o){throw o instanceof Wr?o:new Wr("EXAMPLE_RECIPE_INVALID")}let{integrity:n,...i}=r;if(cP(i)!==n)throw new Wr("EXAMPLE_RECIPE_INTEGRITY_MISMATCH");return r}var uy=nn(Dr(),1);import{readFile as dP,realpath as pP}from"node:fs/promises";import dy from"node:path";var uP={$id:"https://schemas.dyyto.dev/platform/engineering-template-release-v1.json",type:"object",additionalProperties:!1,required:["schemaVersion","templateId","version","integrity","title","summary","status","profile","parameters","commands","technology","support","integration","metrics"],properties:{schemaVersion:{const:1},templateId:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:128},integrity:{type:"string",pattern:Ot},title:{type:"string",minLength:1,maxLength:80},summary:{type:"string",minLength:1,maxLength:240},status:{enum:["candidate","recommended","deprecated"]},profile:{type:"object",additionalProperties:!1,required:["id","capability"],properties:{id:{type:"string",pattern:te},capability:{type:"string",pattern:`${te.slice(1,-1)}@[0-9]+\\.[0-9]+\\.[0-9]+$`}}},parameters:{type:"array",minItems:0,maxItems:32,items:{type:"object",additionalProperties:!1,required:["id","required","description"],properties:{id:{type:"string",pattern:"^[a-z][A-Za-z0-9]*$"},required:{type:"boolean"},description:{type:"string",minLength:1,maxLength:160}}}},commands:{type:"object",minProperties:1,additionalProperties:!1,properties:{dev:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"},build:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"},test:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"},package:{type:"string",pattern:"^[a-z][a-z0-9.:-]*$"}}},technology:{type:"array",minItems:1,maxItems:32,items:{type:"object",additionalProperties:!1,required:["id","version","policy","verifiedAt","rationale","alternative","exit"],properties:{id:{type:"string",pattern:te},version:{type:"string",minLength:1,maxLength:64},policy:{enum:["recommended","allowed"]},verifiedAt:{type:"string",format:"date"},rationale:{type:"string",minLength:1,maxLength:240},alternative:{type:"string",minLength:1,maxLength:160},exit:{type:"string",minLength:1,maxLength:240}}}},support:{type:"object",additionalProperties:!1,required:["owner","tier","supportedFrom","supportedUntil","upgradeCadence","eolNoticeDays"],properties:{owner:{type:"string",pattern:te},tier:{const:"production"},supportedFrom:{type:"string",format:"date"},supportedUntil:{type:"string",format:"date"},upgradeCadence:{type:"string",minLength:1,maxLength:80},eolNoticeDays:{type:"integer",minimum:30,maximum:730}}},integration:{type:"object",additionalProperties:!1,required:["prerequisites","createCommand","result"],properties:{prerequisites:{type:"array",minItems:1,maxItems:16,items:{type:"string",minLength:1,maxLength:200}},createCommand:{type:"string",minLength:1,maxLength:2e3},result:{type:"string",minLength:1,maxLength:400}}},metrics:{type:"array",minItems:1,uniqueItems:!0,items:{enum:["time-to-green-build","time-to-first-business-commit","manual-engineering-edits","upgrade-conflicts"]}}}},py=new uy.Ajv2020({allErrors:!0,strict:!0,formats:{date:/^\d{4}-\d{2}-\d{2}$/}}).compile(uP),Kt=class extends Error{code;issues;constructor(t,r=[]){super(t),this.code=t,this.issues=r}};function fP(e){return h(k(e))}function mP(e){if(!py(e))throw new Kt("TEMPLATE_INVALID",py.errors??[]);let t=e;if(new Set(t.parameters.map(r=>r.id)).size!==t.parameters.length||new Set(t.technology.map(r=>r.id)).size!==t.technology.length)throw new Kt("TEMPLATE_INVALID");if(Date.parse(t.support.supportedUntil)<=Date.parse(t.support.supportedFrom))throw new Kt("TEMPLATE_INVALID");return t}async function Ki(e,t=new Date){let r=await pP(dy.resolve(e)),n;try{n=mP(JSON.parse(await dP(dy.join(r,"template.json"),"utf8")))}catch(a){throw a instanceof Kt?a:new Kt("TEMPLATE_INVALID")}let{integrity:i,...o}=n;if(fP(o)!==i)throw new Kt("TEMPLATE_INTEGRITY_MISMATCH");if(n.status==="recommended"&&Date.parse(n.support.supportedUntil)<t.getTime())throw new Kt("TEMPLATE_SUPPORT_EXPIRED");return n}import{readFile as fy}from"node:fs/promises";import my from"node:path";var gP=/^[A-Z][A-Z0-9_]*$/u,yP=/(?:API_KEY|ACCESS_KEY|SECRET|TOKEN|PASSWORD|PRIVATE_KEY|DATABASE_URL|POSTGRES_URL)$/u;function hP(e){let t=new Map;for(let r of e.split(/\r?\n/u)){let n=/^([A-Z][A-Z0-9_]*)=(.*)$/u.exec(r.trim());if(!n||!gP.test(n[1]))continue;let i=n[1],o=n[2].trim();t.set(i,{name:i,requirement:o.length===0?"conditional":"optional",secret:yP.test(i),configured:!1,source:".env.example",configuredSource:null})}return[...t.values()]}async function gy(e){let t=await fy(my.join(e.projectRoot,".env.example"),"utf8").then(()=>".env.example").catch(()=>null),r=t?await fy(my.join(e.projectRoot,t),"utf8"):"",n=await Mi({projectRoot:e.projectRoot}).catch(()=>null);return{commands:["dev","build","test","package"].flatMap(o=>e.commands[o]?[{id:o,script:e.commands[o],mode:o==="dev"?"managed-process":"foreground-task"}]:[]),environment:n?n.entries.map(o=>({name:o.name,requirement:o.required?"conditional":"optional",kind:o.kind,secret:o.kind!=="value",configured:o.configured,source:"application-config-contract",configuredSource:"APP_CONFIG_DIR",display:o.display,...o.fingerprint?{fingerprint:o.fingerprint}:{}})):hP(r),environmentExample:t,productionValidation:{contract:!0,live:["provider-read","oss-write-read-delete"]}}}var yy={change:new Set(["plan","apply","upgrade","recover","baseline-next","add-package","add-application","add-feature"]),quality:new Set(["inspect","verify","doctor","maintenance","test","build"]),delivery:new Set(["package","delivery-plan","delivery-apply","delivery-inspect"])},hy=new Set(["queued","running","succeeded","failed","outcome-unknown","cancelled"]);function wy(e,t){if(!yy[t.plane]||t.state&&!hy.has(t.state)||t.limit!==void 0&&(!Number.isSafeInteger(t.limit)||t.limit<1||t.limit>200))throw new Error("OPERATION_FILTER_INVALID");let r=yy[t.plane],n=t.from?Date.parse(t.from):null,i=t.to?Date.parse(t.to):null;if(n!==null&&Number.isNaN(n)||i!==null&&Number.isNaN(i)||n!==null&&i!==null&&n>i)throw new Error("OPERATION_FILTER_INVALID");let o=e.filter(l=>r.has(l.operation)),a=[...new Map(o.map(l=>[l.projectId,{id:l.projectId,name:l.projectName}])).values()].sort((l,d)=>l.name.localeCompare(d.name)),s=o.filter(l=>(!t.projectId||l.projectId===t.projectId)&&(!t.state||l.state===t.state)&&(!t.kind||l.operation===t.kind)&&(n===null||Date.parse(l.createdAt)>=n)&&(i===null||Date.parse(l.createdAt)<=i)).sort((l,d)=>d.updatedAt.localeCompare(l.updatedAt)),c={total:s.length,running:s.filter(l=>l.state==="running"||l.state==="queued").length,succeeded:s.filter(l=>l.state==="succeeded").length,attention:s.filter(l=>l.state==="failed"||l.state==="outcome-unknown").length};return Object.freeze({schemaVersion:1,plane:t.plane,summary:Object.freeze(c),facets:Object.freeze({projects:Object.freeze(a),states:Object.freeze([...hy]),kinds:Object.freeze([...r])}),items:Object.freeze(s.slice(0,t.limit??50).map(Object.freeze)),hasMore:s.length>(t.limit??50)})}var rt=class extends Error{code;constructor(t){super(t),this.code=t}},wP=/^@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/u,Iy=/^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$/u,IP=/^sha512-[A-Za-z0-9+/]{86}==$/u,Ua=/^sha256:[a-f0-9]{64}$/u,vP=/^[a-z0-9][a-z0-9._-]{1,214}\.tgz$/u,bP=/^(?:workspace:|file:|link:|git(?:\+|:)|https?:|ssh:|github:)/u,kP=new Set(["preinstall","install","postinstall","prepublish","prepare"]);function Kr(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function _P(e){if(!Kr(e,["packageName","version","assetName","integrity","tarballDigest","dependencies","lifecycleScripts"])||!wP.test(e.packageName)||!Iy.test(e.version)||!vP.test(e.assetName)||!IP.test(e.integrity)||!Ua.test(e.tarballDigest)||typeof e.dependencies!="object"||e.dependencies===null||Array.isArray(e.dependencies)||e.lifecycleScripts.length>0)return!1;let t=Object.entries(e.dependencies);return t.length>256||t.some(([r,n])=>!/^(@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u.test(r)||!Iy.test(n)||bP.test(n))?!1:e.lifecycleScripts.every(r=>kP.has(r))}function hd(e){if(!Kr(e,["artifacts"])||e.artifacts.length===0||e.artifacts.length>128)throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");let t=e.artifacts.map(o=>Object.freeze({...o,dependencies:Object.freeze({...o.dependencies}),lifecycleScripts:Object.freeze([...o.lifecycleScripts])}));if(t.some(o=>!_P(o)))throw new rt("LOCAL_ARTIFACT_POLICY_VIOLATION");let r=t.map(o=>o.packageName+"@"+o.version);if(new Set(r).size!==r.length||r.some((o,a)=>a>0&&o.localeCompare(r[a-1])<=0))throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");let n=new Set(t.map(o=>o.packageName));for(let o of t)for(let[a,s]of Object.entries(o.dependencies))if(a.startsWith("@aipt/")&&(!n.has(a)||!t.some(c=>c.packageName===a&&c.version===s)))throw new rt("LOCAL_ARTIFACT_POLICY_VIOLATION");let i={schemaVersion:1,channel:"development",artifacts:t};return Object.freeze({...i,bundleId:h(k(i))})}function Yr(e){let t=e;if(typeof t!="object"||t===null||!Kr(t,["schemaVersion","bundleId","channel","artifacts"])||t.schemaVersion!==1||t.channel!=="development"||!Ua.test(t.bundleId)||!Array.isArray(t.artifacts))throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");if(hd({artifacts:t.artifacts}).bundleId!==t.bundleId)throw new rt("LOCAL_ARTIFACT_BUNDLE_INVALID");return t}function wd(e){if(!Kr(e,["packageInputs","bundle","generatedAt","expiresAt"])||e.packageInputs.length!==e.bundle.artifacts.length||e.packageInputs.length===0||Number.isNaN(Date.parse(e.generatedAt))||Number.isNaN(Date.parse(e.expiresAt))||Date.parse(e.expiresAt)<=Date.parse(e.generatedAt))throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");let t=e.packageInputs.map(i=>Object.freeze({...i}));if(t.some(i=>!Kr(i,["relativeRoot","manifestDigest"])||!/^(?:packages|fixtures)\/[a-z0-9][a-z0-9._-]{1,127}$/u.test(i.relativeRoot)||!Ua.test(i.manifestDigest))||new Set(t.map(i=>i.relativeRoot)).size!==t.length)throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");let r=Yr(e.bundle),n={schemaVersion:1,state:"awaiting-approval",packageInputs:t,bundle:r,targetPreimage:{kind:"absent"},generatedAt:e.generatedAt,expiresAt:e.expiresAt};return Object.freeze({...n,planId:h(k(n))})}function vy(e){let t=e;if(typeof t!="object"||t===null||!Kr(t,["schemaVersion","planId","state","packageInputs","bundle","targetPreimage","generatedAt","expiresAt"])||t.schemaVersion!==1||t.state!=="awaiting-approval"||!Ua.test(t.planId)||!Kr(t.targetPreimage,["kind"])||t.targetPreimage.kind!=="absent")throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");if(wd({packageInputs:t.packageInputs,bundle:t.bundle,generatedAt:t.generatedAt,expiresAt:t.expiresAt}).planId!==t.planId)throw new rt("LOCAL_ARTIFACT_PLAN_INVALID");return t}function by(e){let t=Yr(e.bundle),r=Ti(e.registry);if(r.authentication.kind!=="anonymous-test"||r.status!=="enabled"||!r.capabilities.read||Number.isNaN(Date.parse(e.verifiedAt)))throw new rt("LOCAL_ARTIFACT_POLICY_VIOLATION");return Object.freeze(t.artifacts.map(n=>Yl({registryId:r.registryId,registryConfigRevision:r.revision,packageName:n.packageName,version:n.version,integrity:n.integrity,tarballDigest:n.tarballDigest,access:"private",provenance:"development-readback-verified",verificationIdentityDigest:t.bundleId,sourceDeliveryReceiptId:t.bundleId,verifiedAt:e.verifiedAt})))}var Qe=class extends Error{code;constructor(t){super(t),this.code=t,this.name="ResolutionWorkerBuildError"}},ky=/^sha256:[a-f0-9]{64}$/u,qa=/^[a-z0-9][a-z0-9._/-]{0,255}$/u;function Id(e){if(!qa.test(e.workerReleaseId)||e.pnpmVersion!=="11.21.0"||![e.workspaceManifestDigest,e.rootLockDigest].every(r=>ky.test(r))||!qa.test(e.cacheNamespace)||!Number.isSafeInteger(e.maximumBytes)||e.maximumBytes<1||Number.isNaN(Date.parse(e.generatedAt))||Date.parse(e.expiresAt)<=Date.parse(e.generatedAt))throw new Qe("RESOLUTION_WORKER_BUILD_INVALID");let t={schemaVersion:1,...e};return Object.freeze({...t,planId:h(k(t))})}function _y(e){let t=e;if(!t||typeof t!="object"||Object.keys(t).length!==10)throw new Qe("RESOLUTION_WORKER_BUILD_INVALID");let r=Id({workerReleaseId:t.workerReleaseId,pnpmVersion:t.pnpmVersion,workspaceManifestDigest:t.workspaceManifestDigest,rootLockDigest:t.rootLockDigest,cacheNamespace:t.cacheNamespace,maximumBytes:t.maximumBytes,generatedAt:t.generatedAt,expiresAt:t.expiresAt});if(t.schemaVersion!==1||t.planId!==r.planId)throw new Qe("RESOLUTION_WORKER_BUILD_INVALID");return r}function vd(e){if(![e.planId,e.cacheDigest,e.commandDigest].every(r=>ky.test(r))||!qa.test(e.workerReleaseId)||!qa.test(e.cacheNamespace)||e.pnpmVersion!=="11.21.0"||!Number.isSafeInteger(e.cacheBytes)||e.cacheBytes<0||Number.isNaN(Date.parse(e.completedAt)))throw new Qe("RESOLUTION_WORKER_BUILD_INVALID");let t={schemaVersion:1,...e};return Object.freeze({...t,receiptId:h(k(t))})}function Ba(e){let t=e;if(!t||typeof t!="object"||Object.keys(t).length!==10)throw new Qe("RESOLUTION_WORKER_BUILD_INVALID");let r=vd({planId:t.planId,workerReleaseId:t.workerReleaseId,pnpmVersion:t.pnpmVersion,cacheNamespace:t.cacheNamespace,cacheDigest:t.cacheDigest,cacheBytes:t.cacheBytes,commandDigest:t.commandDigest,completedAt:t.completedAt});if(t.schemaVersion!==1||t.receiptId!==r.receiptId)throw new Qe("RESOLUTION_WORKER_BUILD_INVALID");return r}var Yi=class extends Error{code;constructor(t){super(t),this.code=t,this.name="RecoveryOverrideError"}},bd=/^sha256:[a-f0-9]{64}$/u,AP=/^(?!\/)(?!.*(?:^|\/)\.\.(?:\/|$))[a-zA-Z0-9._@:/-]+$/u;function kd(e){if(![e.transactionPlanId,e.transactionRootDigest].every(r=>bd.test(r))||e.conflicts.length===0||new Set(e.conflicts.map(r=>r.path)).size!==e.conflicts.length||e.conflicts.some(r=>!AP.test(r.path)||!bd.test(r.currentDigest)||!bd.test(r.preimageDigest))||Number.isNaN(Date.parse(e.generatedAt))||Date.parse(e.expiresAt)<=Date.parse(e.generatedAt))throw new Yi("RECOVERY_OVERRIDE_INVALID");let t={schemaVersion:1,...e,conflicts:e.conflicts.map(r=>({...r})).sort((r,n)=>r.path.localeCompare(n.path))};return Object.freeze({...t,planId:h(k(t))})}function Ay(e){let t=e;if(!t||typeof t!="object"||Object.keys(t).length!==7)throw new Yi("RECOVERY_OVERRIDE_INVALID");let r=kd({transactionPlanId:t.transactionPlanId,transactionRootDigest:t.transactionRootDigest,conflicts:t.conflicts,generatedAt:t.generatedAt,expiresAt:t.expiresAt});if(t.schemaVersion!==1||t.planId!==r.planId)throw new Yi("RECOVERY_OVERRIDE_INVALID");return r}var Hi=class extends Error{code;constructor(t,r){super(r),this.code=t}},Ad=/^sha256:[a-f0-9]{64}$/u,RP=/^sha512-[A-Za-z0-9+/]{86}==$/u,EP=/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/u,PP=/^(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[0-9A-Za-z.-]+)?$/u,NP=/[\u0000-\u001f\u007f]/u;function $n(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.getPrototypeOf(e)===Object.prototype}function Tn(e,t){let r=Object.keys(e).sort(),n=[...t].sort();return r.length===n.length&&r.every((i,o)=>i===n[o])}function Yt(e,t=500){return typeof e=="string"&&e.length>0&&e.length<=t&&!NP.test(e)}function _d(e){return Yt(e,500)&&!e.startsWith("/")&&!e.startsWith("../")&&!e.includes("/../")&&!e.includes("\\")}function Ry(e,t=128){return Array.isArray(e)&&e.length<=t&&e.every(r=>Yt(r,500))&&e.every((r,n)=>n===0||e[n-1]<r)}function OP(e){return e===null?!0:!$n(e)||!Tn(e,["fileName","digest","integrity","fileCount","unpackedBytes"])?!1:_d(e.fileName)&&Ad.test(String(e.digest))&&RP.test(String(e.integrity))&&Number.isSafeInteger(e.fileCount)&&Number(e.fileCount)>0&&Number.isSafeInteger(e.unpackedBytes)&&Number(e.unpackedBytes)>0}function SP(e){if(!$n(e)||!Tn(e,["schemaVersion","kind","packageName","version","title","summary","maturity","source","artifact","compatibility","exports","documentation","consumerEvidence"])||e.schemaVersion!==1||e.kind!=="PackageRelease"||!EP.test(e.packageName)||!PP.test(e.version)||!Yt(e.title,120)||!Yt(e.summary,1e3)||!["candidate","stable","deprecated"].includes(e.maturity)||!$n(e.source)||!Tn(e.source,["repository","path","revision","treeDigest"])||!Yt(e.source.repository)||!_d(e.source.path)||!Yt(e.source.revision,200)||!Ad.test(String(e.source.treeDigest))||!OP(e.artifact)||!$n(e.compatibility)||!Tn(e.compatibility,["node","packageManager"])||!Yt(e.compatibility.node,100)||!Yt(e.compatibility.packageManager,100)||!Ry(e.exports)||!Ry(e.consumerEvidence)||!$n(e.documentation))return!1;let t=e.documentation.knowledgeRef===void 0?["readme"]:["readme","knowledgeRef"];return!Tn(e.documentation,t)||!_d(e.documentation.readme)||e.documentation.knowledgeRef!==void 0&&!Yt(e.documentation.knowledgeRef,500)?!1:e.artifact!==null||e.maturity!=="stable"}function DP(e){let t={schemaVersion:1,kind:"PackageRelease",...e,source:Object.freeze({...e.source}),artifact:e.artifact===null?null:Object.freeze({...e.artifact}),compatibility:Object.freeze({...e.compatibility}),exports:Object.freeze([...e.exports]),documentation:Object.freeze({...e.documentation}),consumerEvidence:Object.freeze([...e.consumerEvidence])};if(!SP(t))throw new Hi("PACKAGE_RELEASE_INVALID","PackageRelease \u5185\u5BB9\u65E0\u6548");return Object.freeze({...t,releaseDigest:h(k(t))})}function Ey(e){if(!$n(e)||!Tn(e,["schemaVersion","kind","packageName","version","title","summary","maturity","source","artifact","compatibility","exports","documentation","consumerEvidence","releaseDigest"])||!Ad.test(String(e.releaseDigest)))throw new Hi("PACKAGE_RELEASE_INVALID","PackageRelease \u7ED3\u6784\u65E0\u6548");let{releaseDigest:t,schemaVersion:r,kind:n,...i}=e,o=DP(i);if(o.releaseDigest!==t)throw new Hi("PACKAGE_RELEASE_MODIFIED","PackageRelease \u5DF2\u88AB\u4FEE\u6539");return o}import{lstat as jP,readFile as CP,realpath as $P}from"node:fs/promises";import Py from"node:path";async function Ny(e){let t=await $P(Py.resolve(e.projectRoot)),r=new Set(e.excludeCapabilityIds??[]),n=new Map,i=[...e.lock.capabilities].sort((a,s)=>a.committedAt.localeCompare(s.committedAt)||a.capabilityId.localeCompare(s.capabilityId));for(let a of i)if(!r.has(a.capabilityId))for(let s of a.assets){let c=s.ownership??"owned-file",l=`${s.path}\0`;if(c==="managed-region")n.delete(l);else for(let p of n.keys())p.startsWith(l)&&n.delete(p);let d=c==="managed-region"?`${l}${s.regionId??""}`:l;n.set(d,{capabilityId:a.capabilityId,path:s.path,digest:s.digest,ownership:c,...s.regionId===void 0?{}:{regionId:s.regionId}})}let o=[];for(let a of[...n.values()].sort((s,c)=>s.path.localeCompare(c.path)||(s.regionId??"").localeCompare(c.regionId??"")||s.capabilityId.localeCompare(c.capabilityId))){let s=Py.join(t,...a.path.split("/")),l=await jP(s).then(async d=>{if(!d.isFile()||d.isSymbolicLink())return;let p=await CP(s);if(a.ownership!=="managed-region")return h(p);if(a.regionId!==void 0)try{return h(Ko(p.toString("utf8"),a.regionId))}catch{return}}).catch(d=>d.code==="ENOENT"?void 0:Promise.reject(d))===a.digest;o.push({capabilityId:a.capabilityId,path:a.path,kind:"create",ownership:a.ownership,...a.regionId===void 0?{}:{regionId:a.regionId},desiredDigest:a.digest,disposition:l?"noop":"conflict",...l?{}:{conflictCode:"BASE_DIGEST_MISMATCH"}})}return o}import{createHash as TP}from"node:crypto";var LP=/[\u0000-\u001f\u007f]/u,za=e=>`sha256:${TP("sha256").update(Rd(e)).digest("hex")}`,Rd=e=>Array.isArray(e)?`[${e.map(Rd).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${Rd(r)}`).join(",")}}`:JSON.stringify(e),gr=(e,t)=>{if(!e.trim()||e.length>500||LP.test(e))throw new Error(`DEVELOPMENT_${t.toUpperCase()}_INVALID`);return e.trim()},xP=e=>Object.freeze({repository:gr(e.repository,"repository"),branch:gr(e.branch,"branch"),commit:gr(e.commit,"commit")});function Oy(e){if(e.source==="requirement-task"&&(!e.requirementId||!e.taskId))throw new Error("DEVELOPMENT_REQUIREMENT_TASK_REQUIRED");if(e.source==="direct"&&(e.requirementId!==null||e.taskId!==null))throw new Error("DEVELOPMENT_DIRECT_LINK_INVALID");let t={schemaVersion:1,kind:"DevelopmentIntent",source:e.source,intentId:gr(e.intentId,"intent_id"),title:gr(e.title,"title"),summary:gr(e.summary,"summary"),repository:xP(e.repository),requirementId:e.requirementId,taskId:e.taskId,acceptance:Object.freeze(e.acceptance.map(r=>gr(r,"acceptance")))};return Object.freeze({...t,intentDigest:za(t)})}function Sy(e){let t={intentDigest:e.intent.intentDigest,repository:e.intent.repository,worktreePath:gr(e.worktreePath,"worktree"),startedAt:e.startedAt},r={schemaVersion:1,kind:"DevelopmentSession",sessionId:za(t),revision:1,state:"active",intent:e.intent,worktree:Object.freeze({path:t.worktreePath,writable:!0}),engineeringContextDigest:e.engineeringContextDigest,knowledgeContextDigest:e.knowledgeContextDigest??null,startedAt:e.startedAt,finishedAt:null};return Object.freeze({...r,sessionDigest:za(r)})}function Dy(e,t){if(e.state!=="active")throw new Error("DEVELOPMENT_SESSION_NOT_ACTIVE");let r={...e,revision:e.revision+1,state:"finished",worktree:Object.freeze({...e.worktree,writable:!1}),finishedAt:t},{sessionDigest:n,...i}=r;return Object.freeze({...i,sessionDigest:za(i)})}import{readFile as ie,readdir as Jy,realpath as Pt}from"node:fs/promises";import{execFile as ZP,spawn as QP}from"node:child_process";import N from"node:path";import{parseArgs as de,promisify as eN}from"node:util";import{lstat as jy,mkdir as Pd,readFile as Cy,realpath as Ed,rm as VP,writeFile as $y}from"node:fs/promises";import nt from"node:path";var it=class extends Error{constructor(r,n){super(r,n===void 0?void 0:{cause:n});this.code=r}code},MP=e=>k(e),Ty=e=>h(MP(e));async function Ly(e,t){let r=await Ed(nt.resolve(e)),n=nt.join(r,".examples");await Pd(n,{recursive:!0});let i=await Ed(n),o=nt.resolve(r,t);if(nt.dirname(o)!==i||nt.basename(o).startsWith(".")||nt.basename(o).length<1)throw new it("SCAFFOLD_ARGUMENT_INVALID");if(await jy(o).then(()=>!0).catch(a=>a.code==="ENOENT"?!1:Promise.reject(a)))throw new it("SCAFFOLD_TARGET_CONFLICT");return{workspaceRoot:r,output:o,outputRelativePath:nt.relative(r,o)}}async function xy(e){let t=e.artifactFallbackBundles??[];if(!/^sha256:[a-f0-9]{64}$/u.test(e.artifactBundle)||t.some(c=>!/^sha256:[a-f0-9]{64}$/u.test(c))||new Set([e.artifactBundle,...t]).size!==1+t.length||!Number.isSafeInteger(e.artifactPort)||e.artifactPort<1||e.artifactPort>65535)throw new it("SCAFFOLD_ARGUMENT_INVALID");let r=await Ly(e.workspaceRoot,e.output),n=e.now??new Date().toISOString(),i={schemaVersion:1,state:"reviewable",recipeId:e.recipe.recipeId,recipeVersion:e.recipe.version,recipeIntegrity:e.recipe.integrity,workspaceRoot:r.workspaceRoot,outputRelativePath:r.outputRelativePath,locale:e.recipe.locale,channel:"development",artifactBundle:e.artifactBundle,artifactFallbackBundles:t,artifactPort:e.artifactPort,generatedAt:n,expiresAt:new Date(Date.parse(n)+30*6e4).toISOString()},o={...i,planId:Ty(i)},a=nt.join(r.workspaceRoot,".dyyto","scaffold-plans");await Pd(a,{recursive:!0});let s=nt.join(a,`${o.planId}.json`);return await $y(s,`${k(o)}
46
46
  `,{flag:"wx",mode:384}).catch(async c=>{if(c.code!=="EEXIST"||await Cy(s,"utf8")!==`${k(o)}
47
- `)throw new it("SCAFFOLD_PLAN_INVALID")}),o}async function UP(e,t){if(!/^sha256:[a-f0-9]{64}$/u.test(t))throw new it("SCAFFOLD_PLAN_INVALID");let r=await Ed(nt.resolve(e)),n;try{n=JSON.parse(await Cy(nt.join(r,".dyyto","scaffold-plans",`${t}.json`),"utf8"))}catch{throw new it("SCAFFOLD_PLAN_NOT_FOUND")}let{planId:i,...o}=n;if(i!==t||Ty(o)!==t||n.workspaceRoot!==r||Date.parse(n.expiresAt)<=Date.now())throw new it("SCAFFOLD_PLAN_INVALID");return n}async function Vy(e){let t=await UP(e.workspaceRoot,e.approvedPlanId);if(t.recipeId!==e.recipe.recipeId||t.recipeVersion!==e.recipe.version||t.recipeIntegrity!==e.recipe.integrity)throw new it("SCAFFOLD_PLAN_INVALID");let r=await Ly(t.workspaceRoot,t.outputRelativePath),n;try{n=await e.execute(r.output,t)}catch(s){throw await jy(r.output).then(()=>!0).catch(()=>!1)&&await MP(r.output,{recursive:!0,force:!0}),new it("SCAFFOLD_APPLY_FAILED",s)}let i={schemaVersion:1,scaffoldPlanId:t.planId,recipeIntegrity:t.recipeIntegrity,outputRelativePath:t.outputRelativePath,state:"adopted",receipts:n},o=h(k(i)),a=nt.join(t.workspaceRoot,".dyyto","scaffold-evidence");return await Pd(a,{recursive:!0}),await $y(nt.join(a,`${o}.json`),`${k({...i,evidenceId:o})}
48
- `,{flag:"wx",mode:384}),{evidenceId:o,output:r.output,receipts:n}}import{lstat as Xi,readFile as Nd,readdir as qP,realpath as Od}from"node:fs/promises";import ye from"node:path";var My={capabilities:ye.resolve(import.meta.dirname,"catalog"),packages:ye.resolve(import.meta.dirname,"package-releases")};function Uy(e,t){return e<t?-1:e>t?1:0}function Ja(e){return Array.isArray(e)?`[${e.filter(t=>t!==void 0).map(Ja).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>Uy(t,r)).map(([t,r])=>`${JSON.stringify(t)}:${Ja(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function BP(e){let t=new Map;for(let[r,n]of e.split(/\r?\n/u).entries()){let i=n.trim();if(i===""||i.startsWith("#"))continue;if(i.startsWith("export "))throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u4E0D\u5141\u8BB8\u4F7F\u7528 export`);let o=/^([A-Z][A-Z0-9_]*)=(.*)$/u.exec(i);if(!o)throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u4E0D\u662F\u4E25\u683C KEY=VALUE \u683C\u5F0F`);if(t.has(o[1]))throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u5305\u542B\u91CD\u590D\u53D8\u91CF ${o[1]}`);let a=o[2].trim();if((a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),/[`$][({]?/u.test(a))throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u4E0D\u5141\u8BB8\u547D\u4EE4\u6216\u53D8\u91CF\u5C55\u5F00`);t.set(o[1],a)}return t}async function Fy(e,t){let r=await Xi(e);if(!r.isFile()||r.isSymbolicLink()||r.nlink!==1)throw new Error(`${t}\u5FC5\u987B\u662F\u666E\u901A\u975E\u94FE\u63A5\u6587\u4EF6`);if(typeof process.getuid=="function"&&r.uid!==process.getuid())throw new Error(`${t}\u5FC5\u987B\u7531\u5F53\u524D\u7528\u6237\u62E5\u6709`);if((r.mode&511&-385)!==0)throw new Error(`${t}\u6743\u9650\u8FC7\u5BBD\uFF0C\u6700\u5927\u5141\u8BB80600`)}async function Ga(e,t){let r=await Xi(e);if(!r.isDirectory()||r.isSymbolicLink())throw new Error(`${t}\u5FC5\u987B\u662F\u666E\u901A\u76EE\u5F55\u4E14\u4E0D\u80FD\u662F\u7B26\u53F7\u94FE\u63A5`);if(typeof process.getuid=="function"&&r.uid!==process.getuid())throw new Error(`${t}\u5FC5\u987B\u7531\u5F53\u524D\u7528\u6237\u62E5\u6709`);if((r.mode&511&-449)!==0)throw new Error(`${t}\u6743\u9650\u8FC7\u5BBD\uFF0C\u6700\u5927\u5141\u8BB80700`);return Od(e)}async function zP(e){let t=e;for(;;){if(await Xi(ye.join(t,".git")).then(()=>!0).catch(n=>n.code==="ENOENT"?!1:Promise.reject(n)))throw new Error(`IDP_CONFIG_DIR \u5FC5\u987B\u4F4D\u4E8E Git \u4ED3\u5E93\u5916\uFF1A${t}`);let r=ye.dirname(t);if(r===t)return;t=r}}async function GP(e){if(!ye.isAbsolute(e))throw new Error("IDP_CONFIG_DIR \u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");let t=await Ga(e,"IDP_CONFIG_DIR");await zP(t);let r=await Ga(ye.join(t,"components"),"components"),n=await Ga(ye.join(r,"dyyto"),"Dyyto \u914D\u7F6E\u76EE\u5F55"),i=ye.relative(t,n);if(i.startsWith("..")||ye.isAbsolute(i))throw new Error("Dyyto \u914D\u7F6E\u76EE\u5F55\u8D8A\u8FC7 IDP_CONFIG_DIR");let o=ye.join(n,".env");await Fy(o,"Dyyto \u7EC4\u4EF6 .env");let a=BP(await Nd(o,"utf8")).get("DYYTO_PACKAGE_CATALOG_DIRS_FILE");if(a===void 0||a==="")return[];if(ye.isAbsolute(a)||a.includes("\0")||/[*?{}[\]]/u.test(a))throw new Error("DYYTO_PACKAGE_CATALOG_DIRS_FILE \u5FC5\u987B\u662F\u7EC4\u4EF6\u76EE\u5F55\u5185\u7684\u666E\u901A\u76F8\u5BF9\u6587\u4EF6\u8DEF\u5F84");let s=ye.resolve(n,a),c=ye.relative(n,s);if(c===""||c.startsWith("..")||ye.isAbsolute(c))throw new Error("DYYTO_PACKAGE_CATALOG_DIRS_FILE \u5FC5\u987B\u4F4D\u4E8E\u7EC4\u4EF6\u914D\u7F6E\u76EE\u5F55\u5185");let l=n;for(let u of c.split(ye.sep).slice(0,-1))l=await Ga(ye.join(l,u),"Package Catalog Binding \u7236\u76EE\u5F55");let d=await Od(ye.dirname(s)),p=ye.relative(n,d);if(p.startsWith("..")||ye.isAbsolute(p))throw new Error("Package Catalog Binding \u89E3\u6790\u540E\u8D8A\u8FC7\u7EC4\u4EF6\u914D\u7F6E\u76EE\u5F55");await Fy(s,"Package Catalog Binding");let f=[];for(let u of(await Nd(s,"utf8")).split(/\r?\n/u)){let m=u.trim();if(m===""||m.startsWith("#"))continue;if(!ye.isAbsolute(m))throw new Error("Package Catalog Binding \u4E2D\u7684\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");let g=await Xi(m);if(!g.isDirectory()||g.isSymbolicLink())throw new Error("Package Catalog Binding \u5FC5\u987B\u6307\u5411\u666E\u901A\u76EE\u5F55");let y=await Od(m),w=await Xi(y);if(!w.isDirectory()||w.isSymbolicLink())throw new Error("Package Catalog Binding \u5FC5\u987B\u6307\u5411\u666E\u901A\u76EE\u5F55");f.includes(y)||f.push(y)}return f.sort()}async function JP(){let e=process.env.IDP_CONFIG_DIR,t=e===void 0?[]:await GP(e);return{capabilities:My.capabilities,packages:[My.packages,...t]}}async function Wa(e){return(await qP(e,{withFileTypes:!0})).filter(t=>t.isDirectory()&&!t.isSymbolicLink()).map(t=>t.name).sort()}function WP(e,t){let r=o=>o.split("-",1)[0].split(".").map(Number),n=r(e),i=r(t);for(let o=0;o<3;o+=1){let a=(n[o]??0)-(i[o]??0);if(a!==0)return a}return e.localeCompare(t)}function KP(e){let t=e.schemaVersion===2?e.availability.maturity:"legacy-unverified",r="consumerProfile"in e?e.consumerProfile:"\u591A\u79CD\u5DE5\u7A0B Profile";return{kind:"capability",ref:`capability:${e.capabilityId}@${e.version}`,id:e.capabilityId,version:e.version,title:e.capabilityId,summary:`\u9002\u7528\u4E8E ${r} \u7684\u5DE5\u7A0B\u80FD\u529B\u53D1\u884C\u3002`,maturity:t,integrity:e.integrity}}function YP(e){return{kind:"package",ref:`package:${e.packageName}@${e.version}`,id:e.packageName,version:e.version,title:e.title,summary:e.summary,maturity:e.maturity,integrity:e.releaseDigest}}async function HP(e){let t=[];for(let r of await Wa(e))for(let n of await Wa(ye.join(e,r))){let i=`capability:${r}@${n}`;t.push(Re(ye.join(e,r,n)).then(o=>({entry:{item:KP(o.release),release:o.release}})).catch(()=>({diagnostic:{ref:i,code:"CATALOG_RELEASE_INVALID",message:"Capability \u53D1\u884C\u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C"}})))}return(await Promise.all(t)).reduce((r,n)=>(n.entry!==void 0&&r.entries.push(n.entry),n.diagnostic!==void 0&&r.diagnostics.push(n.diagnostic),r),{entries:[],diagnostics:[]})}async function XP(e){let t=[];for(let r of await Wa(e))for(let n of await Wa(ye.join(e,r))){let i=ye.join(e,r,n,"release.json"),o=`package:${r}@${n}`;t.push(Nd(i,"utf8").then(a=>{let s=Ey(JSON.parse(a));return{entry:{item:YP(s),release:s}}}).catch(()=>({diagnostic:{ref:o,code:"CATALOG_RELEASE_INVALID",message:"PackageRelease \u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C"}})))}return(await Promise.all(t)).reduce((r,n)=>(n.entry!==void 0&&r.entries.push(n.entry),n.diagnostic!==void 0&&r.diagnostics.push(n.diagnostic),r),{entries:[],diagnostics:[]})}async function Sd(e){let t=e??await JP(),r=typeof t.packages=="string"?[t.packages]:[...t.packages],[n,...i]=await Promise.all([HP(t.capabilities),...r.map(XP)]),o=[...n.entries,...i.flatMap(l=>l.entries)].sort((l,d)=>l.item.ref.localeCompare(d.item.ref)),a=[],s=new Set,c=[];for(let l of o)s.has(l.item.ref)?c.push({ref:l.item.ref,code:"CATALOG_RELEASE_DUPLICATE",message:"\u591A\u4E2A Catalog Source \u58F0\u660E\u4E86\u540C\u4E00\u4E0D\u53EF\u53D8\u53D1\u884C ref"}):(s.add(l.item.ref),a.push(l));return{entries:a,diagnostics:[...n.diagnostics,...i.flatMap(l=>l.diagnostics),...c].sort((l,d)=>l.ref.localeCompare(d.ref))}}async function Ka(e){let t=(e.query??"").trim().toLocaleLowerCase("zh-CN"),r=await Sd(e.roots),n=new Map;for(let{item:a}of r.entries){if(e.kind!==void 0&&a.kind!==e.kind)continue;let s=[a.id,a.version,a.title,a.summary,a.maturity].join(" ").toLocaleLowerCase("zh-CN");if(t!==""&&!s.includes(t))continue;let c=`${a.kind}:${a.id}`,l=n.get(c);(l===void 0||WP(l.version,a.version)<0)&&n.set(c,a)}let i=[...n.values()].sort((a,s)=>a.ref.localeCompare(s.ref)),o=e.limit??50;return{query:t,total:i.length,items:i.slice(0,o),diagnostics:r.diagnostics}}async function Ya(e){let t=e.ref.startsWith("package:")||e.ref.startsWith("capability:")?e.ref:`${e.ref.startsWith("@")?"package":"capability"}:${e.ref}`,r=await Sd(e.roots),n=r.entries.find(({item:o})=>o.ref===t),i=r.diagnostics.find(o=>o.ref===t);if(i?.code==="CATALOG_RELEASE_DUPLICATE")throw new Error(`\u53D1\u884C ref \u5728\u591A\u4E2A Catalog Source \u4E2D\u91CD\u590D\uFF1A${e.ref}`);if(n===void 0&&i!==void 0)throw new Error(`\u53D1\u884C\u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C\uFF1A${e.ref}`);if(n===void 0)throw new Error(`\u76EE\u5F55\u4E2D\u4E0D\u5B58\u5728\u53D1\u884C\uFF1A${e.ref}`);return n}function ZP(e){let t=new Map;for(let{item:r,release:n}of e){if(r.kind!=="capability"||typeof n!="object"||n===null)continue;let i=n;if(typeof i.capabilityId!="string"||typeof i.version!="string"||!Array.isArray(i.integration?.packages))continue;let o=`capability:${i.capabilityId}@${i.version}`;for(let a of i.integration.packages){if(typeof a!="object"||a===null)continue;let s=a;if(typeof s.packageName!="string"||typeof s.version!="string")continue;let c=`${s.packageName}@${s.version}`,l=t.get(c)??new Set;l.add(o),t.set(c,l)}}return t}async function qy(e){let t=new Date(e.generatedAt);if(Number.isNaN(t.getTime())||t.toISOString()!==e.generatedAt)throw new Error("generatedAt \u5FC5\u987B\u662F\u89C4\u8303 ISO-8601 UTC \u65F6\u95F4");let r=await Sd(e.roots);if(r.diagnostics.length>0)throw new Error(`Catalog \u5B58\u5728 ${r.diagnostics.length} \u4E2A\u65E0\u6548\u6216\u91CD\u590D\u53D1\u884C\uFF0C\u7981\u6B62\u5BFC\u51FA\u751F\u4EA7\u6295\u5F71`);let n=ZP(r.entries),i=r.entries.filter(({item:a})=>a.kind==="package").map(({release:a})=>{let s=a;return Object.freeze({kind:"package",ref:`package:${s.packageName}@${s.version}`,packageName:s.packageName,version:s.version,releaseDigest:s.releaseDigest,capabilities:Object.freeze([...n.get(`${s.packageName}@${s.version}`)??[]].sort())})}).sort((a,s)=>Uy(a.ref,s.ref)),o={schemaVersion:1,generatedAt:e.generatedAt,items:Object.freeze(i)};return Object.freeze({...o,sourceDigest:h(Ja(o))})}function By(e){let{sourceDigest:t,...r}=e;if(!/^sha256:[a-f0-9]{64}$/u.test(t)||h(Ja(r))!==t)throw new Error("Dyyto Package Catalog Snapshot \u6458\u8981\u65E0\u6548");return`${JSON.stringify(e,null,2)}
49
- `}var Zi={"typescript-library":"foundation.typescript-quality@1.0.0","standalone-npm-package":"foundation.standalone-npm-package@1.2.0","workspace-root":"foundation.workspace-root@1.1.0","workspace-npm-package":"foundation.workspace-npm-package@1.2.0","workspace-node-application":"foundation.workspace-node-application@1.1.0","workspace-web-application":"foundation.workspace-web-application@1.1.0","workspace-expo-application":"foundation.workspace-expo-application@1.0.0","react-component-library":"foundation.react-component-library@1.1.0","workspace-react-component-library":"foundation.workspace-react-component-library@1.2.0","nextjs-full-stack-application":"foundation.nextjs-full-stack-application@1.0.0"},Wy=tN(QP),rN=new Set(["template.typescript-library@1.0.0","template.typescript-library@1.1.0","template.react-component-library@1.0.0","template.react-component-library@1.1.0","template.nextjs-full-stack-application@1.0.0","template.expo-react-native-application@1.0.0","template.node-api-application@1.0.0","template.workspace-root@1.0.0","template.workspace-root@1.1.0","template.workspace-root@1.2.0","template.workspace-npm-package@1.0.0","template.workspace-react-component-library@1.0.0","template.workspace-react-component-library@1.1.0","template.workspace-react-component-library@1.2.0","template.web-frontend-application@1.0.0"]),Ky=(e,t)=>e==="foundation.workspace-root"&&t==="1.4.0"?{id:"template.workspace-root",version:"1.1.0"}:e==="foundation.workspace-root"&&t==="1.5.0"?{id:"template.workspace-root",version:"1.2.0"}:void 0,Ha={"workspace-npm-package":{id:"template.workspace-npm-package",version:"1.0.0"},"react-component-library":{id:"template.workspace-react-component-library",version:"1.2.0"},"workspace-web-application":{id:"template.web-frontend-application",version:"1.0.0"},"workspace-node-application":{id:"template.node-api-application",version:"1.0.0"},"workspace-expo-application":{id:"template.expo-react-native-application",version:"1.0.0"},"nextjs-full-stack-application":{id:"template.nextjs-full-stack-application",version:"1.0.0"}};function Yy(e){return e.capabilities.flatMap(t=>t.assets).filter(t=>t.ownership!=="seed-file")}async function Xa(e,t,r,n){if(t.release.schemaVersion!==2||t.release.packageSources.length===0)return;if(r.packageSourceProvider===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Capability Release v2 requires a trusted Package Source Provider");let i=await ie(N.join(e,"package.json")),o=await r.packageSourceProvider.inspect({projectRoot:e,release:t.release}),{resolvePnpmLock:a}=await import("./optional-runtime.js"),s=await zt(e),c=await ie(N.join(s.transactionRoot,s.lockfilePath)).catch(p=>p.code==="ENOENT"?void 0:Promise.reject(p));if(s.mode==="pnpm-shared-lockfile"){if(!c)throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","Workspace shared lockfile is unavailable");if(!r.resolutionWorkerProvider)throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","Shared workspace package adoption requires verified Resolution Worker Evidence");let p=xi({release:t.release,packageJson:n??i}),f=new Date,u=new Date(f.getTime()+1800*1e3).toISOString(),m=await r.resolutionWorkerProvider.resolveWorkspace({topology:s,desiredPackageJson:p,currentLockfile:c,sources:t.release.packageSources,registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings,generatedAt:f.toISOString(),expiresAt:u});return{...o,lockResolution:{lockfile:m.evidence.desiredLockfile,packages:m.evidence.packageFacts.filter(g=>g.managed).map(({registryId:g,packageName:y,version:w,integrity:A})=>({registryId:g,packageName:y,version:w,integrity:A}))},resolutionEvidence:m.evidence,resolutionWorkerReleaseId:m.workerReleaseId,topology:s,currentLockfile:c,preservedImporterDigests:m.preservedImporterDigests}}let l=Ql({release:t.release,packageJson:n??i}),d=await a({desiredPackageJson:l,...c===void 0?{}:{currentLockfile:c},sources:t.release.packageSources,registries:o.registryConfigs,endpointBindings:o.endpointBindings});return{...o,lockResolution:d,topology:s,...c===void 0?{}:{currentLockfile:c},preservedImporterDigests:[]}}async function Hy(e,t,r,n){let i=r.capabilities.find(b=>b.capabilityId===t.release.capabilityId&&b.version===t.release.version);if(i&&!i.packageAdoption){let b=JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8")),R=new Date;return ry({projectRoot:e,manifest:b,release:t,currentLock:r,generatedAt:R.toISOString(),expiresAt:new Date(R.getTime()+30*6e4).toISOString()})}if(t.release.schemaVersion!==2||n.packageSourceProvider===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Package removal requires a trusted Package Source Provider");if(!i?.packageAdoption)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Package removal requires Lock v2 ownership facts");let o=await n.packageSourceProvider.inspect({projectRoot:e,release:t.release}),a=await ie(N.join(e,"package.json")),s=await ie(N.join(e,"project-capabilities.json")),c=await zt(e),l=await ie(N.join(c.transactionRoot,c.lockfilePath)),d=new Set(r.capabilities.filter(b=>b!==i).flatMap(b=>b.packageAdoption?.sources.map(R=>R.packageName)??[])),p=i.packageAdoption.sources.filter(b=>!d.has(b.packageName)),f=c.mode==="pnpm-shared-lockfile"?td({packageJson:a,remove:p}):ed({packageJson:a,remove:p}),u=r.capabilities.filter(b=>b!==i).flatMap(b=>b.packageAdoption?.sources??[]),m=new Date,g=new Date(m.getTime()+1800*1e3).toISOString();if(c.mode==="pnpm-shared-lockfile"){if(!n.resolutionWorkerProvider)throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","Shared workspace package removal requires verified Resolution Worker Evidence");let b=await n.resolutionWorkerProvider.resolveWorkspace({topology:c,desiredPackageJson:f,currentLockfile:l,sources:u,registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings,generatedAt:m.toISOString(),expiresAt:g}),R=[`${c.unitRelativeRoot}/project-capabilities.json`,`${c.unitRelativeRoot}/package.json`,c.lockfilePath,...i.assets.map(_=>`${c.unitRelativeRoot}/${_.path}`)],I=await Promise.all(R.map(async _=>ie(N.join(c.transactionRoot,..._.split("/"))).then(S=>({path:_,exists:!0,digest:h(S)})).catch(S=>S.code==="ENOENT"?{path:_,exists:!1}:Promise.reject(S))));return{...cg({release:t.release,currentLock:r,projectManifest:s,packageJson:a,currentLockfile:l,endpointBindings:o.endpointBindings,observedAssets:I,topology:c,transactionRoot:c.transactionRoot,preservedImporterDigests:b.preservedImporterDigests,resolutionEvidence:b.evidence,resolutionWorkerReleaseId:b.workerReleaseId,remainingSources:u,generatedAt:m.toISOString(),expiresAt:g}),registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings}}let{resolvePnpmLock:y}=await import("./optional-runtime.js"),w=await y({desiredPackageJson:f,currentLockfile:l,sources:u,registrySources:[...u,...i.packageAdoption.sources],registries:o.registryConfigs,endpointBindings:o.endpointBindings}),A=await Promise.all(["project-capabilities.json","package.json","pnpm-lock.yaml",...i.assets.map(b=>b.path)].map(async b=>ie(N.join(e,...b.split("/"))).then(R=>({path:b,exists:!0,digest:h(R)})).catch(R=>R.code==="ENOENT"?{path:b,exists:!1}:Promise.reject(R))));return{...sg({release:t.release,currentLock:r,projectManifest:s,packageJson:a,currentLockfile:l,desiredLockfile:w.lockfile,endpointBindings:o.endpointBindings,observedAssets:A,generatedAt:m.toISOString(),expiresAt:g}),registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings}}function B(e){return e.includes("--json")?"json":"human"}function v(e){throw new j({code:"CLI_ARGUMENT_INVALID",message:e,exitCode:2,nextStep:"Run dyyto --help."})}function Te(e,t){return!/^[a-z0-9][a-z0-9.-]*$/u.test(e)||!/^\d+\.\d+\.\d+$/u.test(t)?v("The selected capability release identifier is invalid."):N.resolve(import.meta.dirname,"catalog",e,t)}function Za(e,t){return rN.has(`${e}@${t}`)?N.resolve(import.meta.dirname,"templates",e,t):v("The selected template release is not bundled with this CLI.")}function nN(e,t){return!/^[a-z0-9]+(?:[.-][a-z0-9]+)*$/.test(e)||!/^\d+\.\d+\.\d+$/.test(t)?v("The selected example recipe identity or version is invalid."):N.resolve(import.meta.dirname,"recipes",e,t)}function ee(e){let t=N.relative(process.cwd(),e);return t.length>0&&t!==".."&&!t.startsWith(`..${N.sep}`)?t:N.basename(e)}async function Qa(e){let t=JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8")),r=t.capabilities?.[0];if(r===void 0)return v("Project manifest must select one capability.");let n=await Re(Te(r.capabilityId,r.version)),i=await Fe(e).catch(()=>null),o=new Date,s=await(t.profile?.id==="standalone-npm-package"?Oi:t.profile?.id==="react-component-library"?Si:t.profile?.id==="nextjs-full-stack-application"?Sn:t.profile?.id==="workspace-npm-package"?Di:t.profile?.id==="workspace-node-application"?ji:t.profile?.id==="workspace-web-application"?Ci:t.profile?.id==="workspace-expo-application"?$i:Zo)({projectRoot:e,manifest:t,release:n,...i===null?{}:{currentLock:i},generatedAt:o.toISOString(),expiresAt:new Date(o.getTime()+1800*1e3).toISOString()});return Bt({projectRoot:e,plan:s.plan,now:o.toISOString()})}async function Xy(e){let t;try{t=de({args:[...e],allowPositionals:!0,strict:!0,options:{json:{type:"boolean"},profile:{type:"string"},template:{type:"string"},capability:{type:"string"},name:{type:"string"},version:{type:"string"},license:{type:"string"},"publish-access":{type:"string"},repository:{type:"string"}}})}catch{return v("Create arguments are invalid.")}if(t.positionals.length!==1)return v("Create requires exactly one directory.");let r=t.values.template,n;if(typeof r=="string"){let[g,y]=r.split("@");n=await Ki(Za(g,y))}let i=n?.profile.id??t.values.profile;if(i!=="typescript-library"&&i!=="standalone-npm-package"&&i!=="react-component-library"&&i!=="nextjs-full-stack-application"&&i!=="workspace-root")return v("Create requires a supported --profile.");let o=t.values.capability,a=i==="workspace-root"&&o==="foundation.workspace-root@1.0.0"||i==="standalone-npm-package"&&o==="foundation.standalone-npm-package@1.0.0",s=n?.profile.capability??(a?o:Zi[i]);if(n!==void 0&&s.split("@")[0]!==Zi[i].split("@")[0])return v(`Template ${n.templateId} is adopted with dyyto add, not dyyto create.`);if(n===void 0&&o!==s)return v(`Create requires --capability ${s}.`);if(n!==void 0&&o!==void 0)return v("Create with --template does not accept --capability.");let[c,l]=s.split("@"),d={};if(i==="standalone-npm-package"||i==="react-component-library"){let g=t.values.name,y=t.values.version,w=t.values.license,A=t.values["publish-access"],b=t.values.repository;if([g,y,w,A].some(R=>typeof R!="string")||l==="1.1.0"&&typeof b!="string")return v(`Standalone npm package requires --name, --version, --license, --publish-access${l==="1.1.0"?", and --repository":""}.`);d={name:String(g),version:String(y),license:String(w),publishAccess:String(A),...typeof b=="string"?{repository:b}:{}}}else if(i==="nextjs-full-stack-application"){if(typeof t.values.name!="string")return v("Next.js application requires --name.");d={name:t.values.name}}let p={schemaVersion:1,...n===void 0?{}:{template:{id:n.templateId,version:n.version}},profile:{id:i,parameters:d},capabilities:[{capabilityId:c,version:l}]};(i==="standalone-npm-package"||i==="react-component-library")&&fr(W(p),i),i==="nextjs-full-stack-application"&&Ur(W(p));let f=await fa({projectRoot:t.positionals[0],manifest:p}),u=await Qa(f.projectRoot),m=ee(f.projectRoot);return{outputMode:B(e),human:`Project '${m}' initialized.
47
+ `)throw new it("SCAFFOLD_PLAN_INVALID")}),o}async function FP(e,t){if(!/^sha256:[a-f0-9]{64}$/u.test(t))throw new it("SCAFFOLD_PLAN_INVALID");let r=await Ed(nt.resolve(e)),n;try{n=JSON.parse(await Cy(nt.join(r,".dyyto","scaffold-plans",`${t}.json`),"utf8"))}catch{throw new it("SCAFFOLD_PLAN_NOT_FOUND")}let{planId:i,...o}=n;if(i!==t||Ty(o)!==t||n.workspaceRoot!==r||Date.parse(n.expiresAt)<=Date.now())throw new it("SCAFFOLD_PLAN_INVALID");return n}async function Vy(e){let t=await FP(e.workspaceRoot,e.approvedPlanId);if(t.recipeId!==e.recipe.recipeId||t.recipeVersion!==e.recipe.version||t.recipeIntegrity!==e.recipe.integrity)throw new it("SCAFFOLD_PLAN_INVALID");let r=await Ly(t.workspaceRoot,t.outputRelativePath),n;try{n=await e.execute(r.output,t)}catch(s){throw await jy(r.output).then(()=>!0).catch(()=>!1)&&await VP(r.output,{recursive:!0,force:!0}),new it("SCAFFOLD_APPLY_FAILED",s)}let i={schemaVersion:1,scaffoldPlanId:t.planId,recipeIntegrity:t.recipeIntegrity,outputRelativePath:t.outputRelativePath,state:"adopted",receipts:n},o=h(k(i)),a=nt.join(t.workspaceRoot,".dyyto","scaffold-evidence");return await Pd(a,{recursive:!0}),await $y(nt.join(a,`${o}.json`),`${k({...i,evidenceId:o})}
48
+ `,{flag:"wx",mode:384}),{evidenceId:o,output:r.output,receipts:n}}import{lstat as Xi,readFile as Nd,readdir as UP,realpath as Od}from"node:fs/promises";import ye from"node:path";var My={capabilities:ye.resolve(import.meta.dirname,"catalog"),packages:ye.resolve(import.meta.dirname,"package-releases")};function Uy(e,t){return e<t?-1:e>t?1:0}function Ja(e){return Array.isArray(e)?`[${e.filter(t=>t!==void 0).map(Ja).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>Uy(t,r)).map(([t,r])=>`${JSON.stringify(t)}:${Ja(r)}`).join(",")}}`:JSON.stringify(e)??"null"}function qP(e){let t=new Map;for(let[r,n]of e.split(/\r?\n/u).entries()){let i=n.trim();if(i===""||i.startsWith("#"))continue;if(i.startsWith("export "))throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u4E0D\u5141\u8BB8\u4F7F\u7528 export`);let o=/^([A-Z][A-Z0-9_]*)=(.*)$/u.exec(i);if(!o)throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u4E0D\u662F\u4E25\u683C KEY=VALUE \u683C\u5F0F`);if(t.has(o[1]))throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u5305\u542B\u91CD\u590D\u53D8\u91CF ${o[1]}`);let a=o[2].trim();if((a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))&&(a=a.slice(1,-1)),/[`$][({]?/u.test(a))throw new Error(`Dyyto \u7EC4\u4EF6 .env:${r+1} \u4E0D\u5141\u8BB8\u547D\u4EE4\u6216\u53D8\u91CF\u5C55\u5F00`);t.set(o[1],a)}return t}async function Fy(e,t){let r=await Xi(e);if(!r.isFile()||r.isSymbolicLink()||r.nlink!==1)throw new Error(`${t}\u5FC5\u987B\u662F\u666E\u901A\u975E\u94FE\u63A5\u6587\u4EF6`);if(typeof process.getuid=="function"&&r.uid!==process.getuid())throw new Error(`${t}\u5FC5\u987B\u7531\u5F53\u524D\u7528\u6237\u62E5\u6709`);if((r.mode&511&-385)!==0)throw new Error(`${t}\u6743\u9650\u8FC7\u5BBD\uFF0C\u6700\u5927\u5141\u8BB80600`)}async function Ga(e,t){let r=await Xi(e);if(!r.isDirectory()||r.isSymbolicLink())throw new Error(`${t}\u5FC5\u987B\u662F\u666E\u901A\u76EE\u5F55\u4E14\u4E0D\u80FD\u662F\u7B26\u53F7\u94FE\u63A5`);if(typeof process.getuid=="function"&&r.uid!==process.getuid())throw new Error(`${t}\u5FC5\u987B\u7531\u5F53\u524D\u7528\u6237\u62E5\u6709`);if((r.mode&511&-449)!==0)throw new Error(`${t}\u6743\u9650\u8FC7\u5BBD\uFF0C\u6700\u5927\u5141\u8BB80700`);return Od(e)}async function BP(e){let t=e;for(;;){if(await Xi(ye.join(t,".git")).then(()=>!0).catch(n=>n.code==="ENOENT"?!1:Promise.reject(n)))throw new Error(`IDP_CONFIG_DIR \u5FC5\u987B\u4F4D\u4E8E Git \u4ED3\u5E93\u5916\uFF1A${t}`);let r=ye.dirname(t);if(r===t)return;t=r}}async function zP(e){if(!ye.isAbsolute(e))throw new Error("IDP_CONFIG_DIR \u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");let t=await Ga(e,"IDP_CONFIG_DIR");await BP(t);let r=await Ga(ye.join(t,"components"),"components"),n=await Ga(ye.join(r,"dyyto"),"Dyyto \u914D\u7F6E\u76EE\u5F55"),i=ye.relative(t,n);if(i.startsWith("..")||ye.isAbsolute(i))throw new Error("Dyyto \u914D\u7F6E\u76EE\u5F55\u8D8A\u8FC7 IDP_CONFIG_DIR");let o=ye.join(n,".env");await Fy(o,"Dyyto \u7EC4\u4EF6 .env");let a=qP(await Nd(o,"utf8")).get("DYYTO_PACKAGE_CATALOG_DIRS_FILE");if(a===void 0||a==="")return[];if(ye.isAbsolute(a)||a.includes("\0")||/[*?{}[\]]/u.test(a))throw new Error("DYYTO_PACKAGE_CATALOG_DIRS_FILE \u5FC5\u987B\u662F\u7EC4\u4EF6\u76EE\u5F55\u5185\u7684\u666E\u901A\u76F8\u5BF9\u6587\u4EF6\u8DEF\u5F84");let s=ye.resolve(n,a),c=ye.relative(n,s);if(c===""||c.startsWith("..")||ye.isAbsolute(c))throw new Error("DYYTO_PACKAGE_CATALOG_DIRS_FILE \u5FC5\u987B\u4F4D\u4E8E\u7EC4\u4EF6\u914D\u7F6E\u76EE\u5F55\u5185");let l=n;for(let u of c.split(ye.sep).slice(0,-1))l=await Ga(ye.join(l,u),"Package Catalog Binding \u7236\u76EE\u5F55");let d=await Od(ye.dirname(s)),p=ye.relative(n,d);if(p.startsWith("..")||ye.isAbsolute(p))throw new Error("Package Catalog Binding \u89E3\u6790\u540E\u8D8A\u8FC7\u7EC4\u4EF6\u914D\u7F6E\u76EE\u5F55");await Fy(s,"Package Catalog Binding");let f=[];for(let u of(await Nd(s,"utf8")).split(/\r?\n/u)){let m=u.trim();if(m===""||m.startsWith("#"))continue;if(!ye.isAbsolute(m))throw new Error("Package Catalog Binding \u4E2D\u7684\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");let g=await Xi(m);if(!g.isDirectory()||g.isSymbolicLink())throw new Error("Package Catalog Binding \u5FC5\u987B\u6307\u5411\u666E\u901A\u76EE\u5F55");let y=await Od(m),w=await Xi(y);if(!w.isDirectory()||w.isSymbolicLink())throw new Error("Package Catalog Binding \u5FC5\u987B\u6307\u5411\u666E\u901A\u76EE\u5F55");f.includes(y)||f.push(y)}return f.sort()}async function GP(){let e=process.env.IDP_CONFIG_DIR,t=e===void 0?[]:await zP(e);return{capabilities:My.capabilities,packages:[My.packages,...t]}}async function Wa(e){return(await UP(e,{withFileTypes:!0})).filter(t=>t.isDirectory()&&!t.isSymbolicLink()).map(t=>t.name).sort()}function JP(e,t){let r=o=>o.split("-",1)[0].split(".").map(Number),n=r(e),i=r(t);for(let o=0;o<3;o+=1){let a=(n[o]??0)-(i[o]??0);if(a!==0)return a}return e.localeCompare(t)}function WP(e){let t=e.schemaVersion===2?e.availability.maturity:"legacy-unverified",r="consumerProfile"in e?e.consumerProfile:"\u591A\u79CD\u5DE5\u7A0B Profile";return{kind:"capability",ref:`capability:${e.capabilityId}@${e.version}`,id:e.capabilityId,version:e.version,title:e.capabilityId,summary:`\u9002\u7528\u4E8E ${r} \u7684\u5DE5\u7A0B\u80FD\u529B\u53D1\u884C\u3002`,maturity:t,integrity:e.integrity}}function KP(e){return{kind:"package",ref:`package:${e.packageName}@${e.version}`,id:e.packageName,version:e.version,title:e.title,summary:e.summary,maturity:e.maturity,integrity:e.releaseDigest}}async function YP(e){let t=[];for(let r of await Wa(e))for(let n of await Wa(ye.join(e,r))){let i=`capability:${r}@${n}`;t.push(Re(ye.join(e,r,n)).then(o=>({entry:{item:WP(o.release),release:o.release}})).catch(()=>({diagnostic:{ref:i,code:"CATALOG_RELEASE_INVALID",message:"Capability \u53D1\u884C\u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C"}})))}return(await Promise.all(t)).reduce((r,n)=>(n.entry!==void 0&&r.entries.push(n.entry),n.diagnostic!==void 0&&r.diagnostics.push(n.diagnostic),r),{entries:[],diagnostics:[]})}async function HP(e){let t=[];for(let r of await Wa(e))for(let n of await Wa(ye.join(e,r))){let i=ye.join(e,r,n,"release.json"),o=`package:${r}@${n}`;t.push(Nd(i,"utf8").then(a=>{let s=Ey(JSON.parse(a));return{entry:{item:KP(s),release:s}}}).catch(()=>({diagnostic:{ref:o,code:"CATALOG_RELEASE_INVALID",message:"PackageRelease \u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C"}})))}return(await Promise.all(t)).reduce((r,n)=>(n.entry!==void 0&&r.entries.push(n.entry),n.diagnostic!==void 0&&r.diagnostics.push(n.diagnostic),r),{entries:[],diagnostics:[]})}async function Sd(e){let t=e??await GP(),r=typeof t.packages=="string"?[t.packages]:[...t.packages],[n,...i]=await Promise.all([YP(t.capabilities),...r.map(HP)]),o=[...n.entries,...i.flatMap(l=>l.entries)].sort((l,d)=>l.item.ref.localeCompare(d.item.ref)),a=[],s=new Set,c=[];for(let l of o)s.has(l.item.ref)?c.push({ref:l.item.ref,code:"CATALOG_RELEASE_DUPLICATE",message:"\u591A\u4E2A Catalog Source \u58F0\u660E\u4E86\u540C\u4E00\u4E0D\u53EF\u53D8\u53D1\u884C ref"}):(s.add(l.item.ref),a.push(l));return{entries:a,diagnostics:[...n.diagnostics,...i.flatMap(l=>l.diagnostics),...c].sort((l,d)=>l.ref.localeCompare(d.ref))}}async function Ka(e){let t=(e.query??"").trim().toLocaleLowerCase("zh-CN"),r=await Sd(e.roots),n=new Map;for(let{item:a}of r.entries){if(e.kind!==void 0&&a.kind!==e.kind)continue;let s=[a.id,a.version,a.title,a.summary,a.maturity].join(" ").toLocaleLowerCase("zh-CN");if(t!==""&&!s.includes(t))continue;let c=`${a.kind}:${a.id}`,l=n.get(c);(l===void 0||JP(l.version,a.version)<0)&&n.set(c,a)}let i=[...n.values()].sort((a,s)=>a.ref.localeCompare(s.ref)),o=e.limit??50;return{query:t,total:i.length,items:i.slice(0,o),diagnostics:r.diagnostics}}async function Ya(e){let t=e.ref.startsWith("package:")||e.ref.startsWith("capability:")?e.ref:`${e.ref.startsWith("@")?"package":"capability"}:${e.ref}`,r=await Sd(e.roots),n=r.entries.find(({item:o})=>o.ref===t),i=r.diagnostics.find(o=>o.ref===t);if(i?.code==="CATALOG_RELEASE_DUPLICATE")throw new Error(`\u53D1\u884C ref \u5728\u591A\u4E2A Catalog Source \u4E2D\u91CD\u590D\uFF1A${e.ref}`);if(n===void 0&&i!==void 0)throw new Error(`\u53D1\u884C\u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C\uFF1A${e.ref}`);if(n===void 0)throw new Error(`\u76EE\u5F55\u4E2D\u4E0D\u5B58\u5728\u53D1\u884C\uFF1A${e.ref}`);return n}function XP(e){let t=new Map;for(let{item:r,release:n}of e){if(r.kind!=="capability"||typeof n!="object"||n===null)continue;let i=n;if(typeof i.capabilityId!="string"||typeof i.version!="string"||!Array.isArray(i.integration?.packages))continue;let o=`capability:${i.capabilityId}@${i.version}`;for(let a of i.integration.packages){if(typeof a!="object"||a===null)continue;let s=a;if(typeof s.packageName!="string"||typeof s.version!="string")continue;let c=`${s.packageName}@${s.version}`,l=t.get(c)??new Set;l.add(o),t.set(c,l)}}return t}async function qy(e){let t=new Date(e.generatedAt);if(Number.isNaN(t.getTime())||t.toISOString()!==e.generatedAt)throw new Error("generatedAt \u5FC5\u987B\u662F\u89C4\u8303 ISO-8601 UTC \u65F6\u95F4");let r=await Sd(e.roots);if(r.diagnostics.length>0)throw new Error(`Catalog \u5B58\u5728 ${r.diagnostics.length} \u4E2A\u65E0\u6548\u6216\u91CD\u590D\u53D1\u884C\uFF0C\u7981\u6B62\u5BFC\u51FA\u751F\u4EA7\u6295\u5F71`);let n=XP(r.entries),i=r.entries.filter(({item:a})=>a.kind==="package").map(({release:a})=>{let s=a;return Object.freeze({kind:"package",ref:`package:${s.packageName}@${s.version}`,packageName:s.packageName,version:s.version,releaseDigest:s.releaseDigest,capabilities:Object.freeze([...n.get(`${s.packageName}@${s.version}`)??[]].sort())})}).sort((a,s)=>Uy(a.ref,s.ref)),o={schemaVersion:1,generatedAt:e.generatedAt,items:Object.freeze(i)};return Object.freeze({...o,sourceDigest:h(Ja(o))})}function By(e){let{sourceDigest:t,...r}=e;if(!/^sha256:[a-f0-9]{64}$/u.test(t)||h(Ja(r))!==t)throw new Error("Dyyto Package Catalog Snapshot \u6458\u8981\u65E0\u6548");return`${JSON.stringify(e,null,2)}
49
+ `}var Zi={"typescript-library":"foundation.typescript-quality@1.0.0","standalone-npm-package":"foundation.standalone-npm-package@1.2.0","workspace-root":"foundation.workspace-root@1.1.0","workspace-npm-package":"foundation.workspace-npm-package@1.2.0","workspace-node-application":"foundation.workspace-node-application@1.1.0","workspace-web-application":"foundation.workspace-web-application@1.1.0","workspace-expo-application":"foundation.workspace-expo-application@1.0.0","react-component-library":"foundation.react-component-library@1.1.0","workspace-react-component-library":"foundation.workspace-react-component-library@1.2.0","nextjs-full-stack-application":"foundation.nextjs-full-stack-application@1.0.0"},Wy=eN(ZP),tN=new Set(["template.typescript-library@1.0.0","template.typescript-library@1.1.0","template.react-component-library@1.0.0","template.react-component-library@1.1.0","template.nextjs-full-stack-application@1.0.0","template.expo-react-native-application@1.0.0","template.node-api-application@1.0.0","template.workspace-root@1.0.0","template.workspace-root@1.1.0","template.workspace-root@1.2.0","template.workspace-npm-package@1.0.0","template.workspace-react-component-library@1.0.0","template.workspace-react-component-library@1.1.0","template.workspace-react-component-library@1.2.0","template.web-frontend-application@1.0.0"]),Ky=(e,t)=>e==="foundation.workspace-root"&&t==="1.4.0"?{id:"template.workspace-root",version:"1.1.0"}:e==="foundation.workspace-root"&&t==="1.5.0"?{id:"template.workspace-root",version:"1.2.0"}:void 0,Ha={"workspace-npm-package":{id:"template.workspace-npm-package",version:"1.0.0"},"react-component-library":{id:"template.workspace-react-component-library",version:"1.2.0"},"workspace-web-application":{id:"template.web-frontend-application",version:"1.0.0"},"workspace-node-application":{id:"template.node-api-application",version:"1.0.0"},"workspace-expo-application":{id:"template.expo-react-native-application",version:"1.0.0"},"nextjs-full-stack-application":{id:"template.nextjs-full-stack-application",version:"1.0.0"}};function Yy(e){return e.capabilities.flatMap(t=>t.assets).filter(t=>t.ownership!=="seed-file")}async function Xa(e,t,r,n){if(t.release.schemaVersion!==2||t.release.packageSources.length===0)return;if(r.packageSourceProvider===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Capability Release v2 requires a trusted Package Source Provider");let i=await ie(N.join(e,"package.json")),o=await r.packageSourceProvider.inspect({projectRoot:e,release:t.release}),{resolvePnpmLock:a}=await import("./optional-runtime.js"),s=await zt(e),c=await ie(N.join(s.transactionRoot,s.lockfilePath)).catch(p=>p.code==="ENOENT"?void 0:Promise.reject(p));if(s.mode==="pnpm-shared-lockfile"){if(!c)throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","Workspace shared lockfile is unavailable");if(!r.resolutionWorkerProvider)throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","Shared workspace package adoption requires verified Resolution Worker Evidence");let p=xi({release:t.release,packageJson:n??i}),f=new Date,u=new Date(f.getTime()+1800*1e3).toISOString(),m=await r.resolutionWorkerProvider.resolveWorkspace({topology:s,desiredPackageJson:p,currentLockfile:c,sources:t.release.packageSources,registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings,generatedAt:f.toISOString(),expiresAt:u});return{...o,lockResolution:{lockfile:m.evidence.desiredLockfile,packages:m.evidence.packageFacts.filter(g=>g.managed).map(({registryId:g,packageName:y,version:w,integrity:A})=>({registryId:g,packageName:y,version:w,integrity:A}))},resolutionEvidence:m.evidence,resolutionWorkerReleaseId:m.workerReleaseId,topology:s,currentLockfile:c,preservedImporterDigests:m.preservedImporterDigests}}let l=Ql({release:t.release,packageJson:n??i}),d=await a({desiredPackageJson:l,...c===void 0?{}:{currentLockfile:c},sources:t.release.packageSources,registries:o.registryConfigs,endpointBindings:o.endpointBindings});return{...o,lockResolution:d,topology:s,...c===void 0?{}:{currentLockfile:c},preservedImporterDigests:[]}}async function Hy(e,t,r,n){let i=r.capabilities.find(b=>b.capabilityId===t.release.capabilityId&&b.version===t.release.version);if(i&&!i.packageAdoption){let b=JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8")),R=new Date;return ry({projectRoot:e,manifest:b,release:t,currentLock:r,generatedAt:R.toISOString(),expiresAt:new Date(R.getTime()+30*6e4).toISOString()})}if(t.release.schemaVersion!==2||n.packageSourceProvider===void 0)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Package removal requires a trusted Package Source Provider");if(!i?.packageAdoption)throw new le("CAPABILITY_RELEASE_VERSION_UNSUPPORTED","Package removal requires Lock v2 ownership facts");let o=await n.packageSourceProvider.inspect({projectRoot:e,release:t.release}),a=await ie(N.join(e,"package.json")),s=await ie(N.join(e,"project-capabilities.json")),c=await zt(e),l=await ie(N.join(c.transactionRoot,c.lockfilePath)),d=new Set(r.capabilities.filter(b=>b!==i).flatMap(b=>b.packageAdoption?.sources.map(R=>R.packageName)??[])),p=i.packageAdoption.sources.filter(b=>!d.has(b.packageName)),f=c.mode==="pnpm-shared-lockfile"?td({packageJson:a,remove:p}):ed({packageJson:a,remove:p}),u=r.capabilities.filter(b=>b!==i).flatMap(b=>b.packageAdoption?.sources??[]),m=new Date,g=new Date(m.getTime()+1800*1e3).toISOString();if(c.mode==="pnpm-shared-lockfile"){if(!n.resolutionWorkerProvider)throw new le("CAPABILITY_PACKAGE_SOURCE_INVALID","Shared workspace package removal requires verified Resolution Worker Evidence");let b=await n.resolutionWorkerProvider.resolveWorkspace({topology:c,desiredPackageJson:f,currentLockfile:l,sources:u,registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings,generatedAt:m.toISOString(),expiresAt:g}),R=[`${c.unitRelativeRoot}/project-capabilities.json`,`${c.unitRelativeRoot}/package.json`,c.lockfilePath,...i.assets.map(_=>`${c.unitRelativeRoot}/${_.path}`)],I=await Promise.all(R.map(async _=>ie(N.join(c.transactionRoot,..._.split("/"))).then(S=>({path:_,exists:!0,digest:h(S)})).catch(S=>S.code==="ENOENT"?{path:_,exists:!1}:Promise.reject(S))));return{...cg({release:t.release,currentLock:r,projectManifest:s,packageJson:a,currentLockfile:l,endpointBindings:o.endpointBindings,observedAssets:I,topology:c,transactionRoot:c.transactionRoot,preservedImporterDigests:b.preservedImporterDigests,resolutionEvidence:b.evidence,resolutionWorkerReleaseId:b.workerReleaseId,remainingSources:u,generatedAt:m.toISOString(),expiresAt:g}),registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings}}let{resolvePnpmLock:y}=await import("./optional-runtime.js"),w=await y({desiredPackageJson:f,currentLockfile:l,sources:u,registrySources:[...u,...i.packageAdoption.sources],registries:o.registryConfigs,endpointBindings:o.endpointBindings}),A=await Promise.all(["project-capabilities.json","package.json","pnpm-lock.yaml",...i.assets.map(b=>b.path)].map(async b=>ie(N.join(e,...b.split("/"))).then(R=>({path:b,exists:!0,digest:h(R)})).catch(R=>R.code==="ENOENT"?{path:b,exists:!1}:Promise.reject(R))));return{...sg({release:t.release,currentLock:r,projectManifest:s,packageJson:a,currentLockfile:l,desiredLockfile:w.lockfile,endpointBindings:o.endpointBindings,observedAssets:A,generatedAt:m.toISOString(),expiresAt:g}),registryConfigs:o.registryConfigs,endpointBindings:o.endpointBindings}}function B(e){return e.includes("--json")?"json":"human"}function v(e){throw new j({code:"CLI_ARGUMENT_INVALID",message:e,exitCode:2,nextStep:"Run dyyto --help."})}function Te(e,t){return!/^[a-z0-9][a-z0-9.-]*$/u.test(e)||!/^\d+\.\d+\.\d+$/u.test(t)?v("The selected capability release identifier is invalid."):N.resolve(import.meta.dirname,"catalog",e,t)}function Za(e,t){return tN.has(`${e}@${t}`)?N.resolve(import.meta.dirname,"templates",e,t):v("The selected template release is not bundled with this CLI.")}function rN(e,t){return!/^[a-z0-9]+(?:[.-][a-z0-9]+)*$/.test(e)||!/^\d+\.\d+\.\d+$/.test(t)?v("The selected example recipe identity or version is invalid."):N.resolve(import.meta.dirname,"recipes",e,t)}function ee(e){let t=N.relative(process.cwd(),e);return t.length>0&&t!==".."&&!t.startsWith(`..${N.sep}`)?t:N.basename(e)}async function Qa(e){let t=JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8")),r=t.capabilities?.[0];if(r===void 0)return v("Project manifest must select one capability.");let n=await Re(Te(r.capabilityId,r.version)),i=await Fe(e).catch(()=>null),o=new Date,s=await(t.profile?.id==="standalone-npm-package"?Oi:t.profile?.id==="react-component-library"?Si:t.profile?.id==="nextjs-full-stack-application"?Sn:t.profile?.id==="workspace-npm-package"?Di:t.profile?.id==="workspace-node-application"?ji:t.profile?.id==="workspace-web-application"?Ci:t.profile?.id==="workspace-expo-application"?$i:Zo)({projectRoot:e,manifest:t,release:n,...i===null?{}:{currentLock:i},generatedAt:o.toISOString(),expiresAt:new Date(o.getTime()+1800*1e3).toISOString()});return Bt({projectRoot:e,plan:s.plan,now:o.toISOString()})}async function Xy(e){let t;try{t=de({args:[...e],allowPositionals:!0,strict:!0,options:{json:{type:"boolean"},profile:{type:"string"},template:{type:"string"},capability:{type:"string"},name:{type:"string"},version:{type:"string"},license:{type:"string"},"publish-access":{type:"string"},repository:{type:"string"}}})}catch{return v("Create arguments are invalid.")}if(t.positionals.length!==1)return v("Create requires exactly one directory.");let r=t.values.template,n;if(typeof r=="string"){let[g,y]=r.split("@");n=await Ki(Za(g,y))}let i=n?.profile.id??t.values.profile;if(i!=="typescript-library"&&i!=="standalone-npm-package"&&i!=="react-component-library"&&i!=="nextjs-full-stack-application"&&i!=="workspace-root")return v("Create requires a supported --profile.");let o=t.values.capability,a=i==="workspace-root"&&o==="foundation.workspace-root@1.0.0"||i==="standalone-npm-package"&&o==="foundation.standalone-npm-package@1.0.0",s=n?.profile.capability??(a?o:Zi[i]);if(n!==void 0&&s.split("@")[0]!==Zi[i].split("@")[0])return v(`Template ${n.templateId} is adopted with dyyto add, not dyyto create.`);if(n===void 0&&o!==s)return v(`Create requires --capability ${s}.`);if(n!==void 0&&o!==void 0)return v("Create with --template does not accept --capability.");let[c,l]=s.split("@"),d={};if(i==="standalone-npm-package"||i==="react-component-library"){let g=t.values.name,y=t.values.version,w=t.values.license,A=t.values["publish-access"],b=t.values.repository;if([g,y,w,A].some(R=>typeof R!="string")||l==="1.1.0"&&typeof b!="string")return v(`Standalone npm package requires --name, --version, --license, --publish-access${l==="1.1.0"?", and --repository":""}.`);d={name:String(g),version:String(y),license:String(w),publishAccess:String(A),...typeof b=="string"?{repository:b}:{}}}else if(i==="nextjs-full-stack-application"){if(typeof t.values.name!="string")return v("Next.js application requires --name.");d={name:t.values.name}}let p={schemaVersion:1,...n===void 0?{}:{template:{id:n.templateId,version:n.version}},profile:{id:i,parameters:d},capabilities:[{capabilityId:c,version:l}]};(i==="standalone-npm-package"||i==="react-component-library")&&fr(W(p),i),i==="nextjs-full-stack-application"&&Ur(W(p));let f=await fa({projectRoot:t.positionals[0],manifest:p}),u=await Qa(f.projectRoot),m=ee(f.projectRoot);return{outputMode:B(e),human:`Project '${m}' initialized.
50
50
  Plan: ${u.planId}
51
51
  State: ${u.state}
52
- Next: dyyto apply --project ${m} --approve ${u.planId}`,value:{schemaVersion:1,ok:!0,command:"create",result:{project:m,profile:i,...n===void 0?{}:{template:`${n.templateId}@${n.version}`},capability:s,plan:u}}}}async function iN(e){let[t,...r]=e,n;try{n=de({args:r,allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},approve:{type:"string"},profile:{type:"string"},capability:{type:"string"},"documentation-only":{type:"boolean"}}})}catch{return v("Retrofit arguments are invalid.")}if(t!=="plan"&&t!=="apply")return v("Retrofit requires plan or apply.");if(typeof n.values.project!="string")return v("Retrofit requires --project <directory>.");if(n.values.capability!==void 0&&typeof n.values.capability!="string")return v("Retrofit --capability is invalid.");if(n.values.profile!==void 0&&typeof n.values.profile!="string")return v("Retrofit --profile is invalid.");let i=n.values.capability??"foundation.workspace-root@1.2.0",o=/^([a-z][a-z0-9.-]*)@([0-9A-Za-z.-]+)$/u.exec(i);if(!o)return v("Retrofit --capability is invalid.");let a=await Re(Te(o[1],o[2])),s=n.values.profile??"workspace-root";if(a.release.consumerProfile!==s)return v("Retrofit profile and capability are incompatible.");let c=new Date,l=s==="workspace-root"?await Lm({projectRoot:n.values.project,capabilityIntegrity:a.release.integrity,generatedAt:c.toISOString(),expiresAt:new Date(c.getTime()+1800*1e3).toISOString(),...n.values["documentation-only"]===!0?{documentationOnly:!0}:{}}):await Tm({projectRoot:n.values.project,manifest:{schemaVersion:1,profile:{id:s,parameters:{}},capabilities:[{capabilityId:o[1],version:o[2]}]},capabilityIntegrity:a.release.integrity,generatedAt:c.toISOString(),expiresAt:new Date(c.getTime()+1800*1e3).toISOString()}),d=ee(l.projectRoot);if(t==="plan"){if(n.values.approve!==void 0)return v("Retrofit plan does not accept --approve.");let m=await Bt({projectRoot:l.projectRoot,plan:l.plan,now:c.toISOString()});return{outputMode:B(e),human:`Project: ${d}
52
+ Next: dyyto apply --project ${m} --approve ${u.planId}`,value:{schemaVersion:1,ok:!0,command:"create",result:{project:m,profile:i,...n===void 0?{}:{template:`${n.templateId}@${n.version}`},capability:s,plan:u}}}}async function nN(e){let[t,...r]=e,n;try{n=de({args:r,allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},approve:{type:"string"},profile:{type:"string"},capability:{type:"string"},"documentation-only":{type:"boolean"}}})}catch{return v("Retrofit arguments are invalid.")}if(t!=="plan"&&t!=="apply")return v("Retrofit requires plan or apply.");if(typeof n.values.project!="string")return v("Retrofit requires --project <directory>.");if(n.values.capability!==void 0&&typeof n.values.capability!="string")return v("Retrofit --capability is invalid.");if(n.values.profile!==void 0&&typeof n.values.profile!="string")return v("Retrofit --profile is invalid.");let i=n.values.capability??"foundation.workspace-root@1.2.0",o=/^([a-z][a-z0-9.-]*)@([0-9A-Za-z.-]+)$/u.exec(i);if(!o)return v("Retrofit --capability is invalid.");let a=await Re(Te(o[1],o[2])),s=n.values.profile??"workspace-root";if(a.release.consumerProfile!==s)return v("Retrofit profile and capability are incompatible.");let c=new Date,l=s==="workspace-root"?await Lm({projectRoot:n.values.project,capabilityIntegrity:a.release.integrity,generatedAt:c.toISOString(),expiresAt:new Date(c.getTime()+1800*1e3).toISOString(),...n.values["documentation-only"]===!0?{documentationOnly:!0}:{}}):await Tm({projectRoot:n.values.project,manifest:{schemaVersion:1,profile:{id:s,parameters:{}},capabilities:[{capabilityId:o[1],version:o[2]}]},capabilityIntegrity:a.release.integrity,generatedAt:c.toISOString(),expiresAt:new Date(c.getTime()+1800*1e3).toISOString()}),d=ee(l.projectRoot);if(t==="plan"){if(n.values.approve!==void 0)return v("Retrofit plan does not accept --approve.");let m=await Bt({projectRoot:l.projectRoot,plan:l.plan,now:c.toISOString()});return{outputMode:B(e),human:`Project: ${d}
53
53
  Plan: ${m.planId}
54
54
  State: ${m.state}
55
55
  Files: project-capabilities.json
56
56
  Next: dyyto retrofit apply --project ${d} --approve ${m.planId}${n.values["documentation-only"]===!0?" --documentation-only":""}`,value:{schemaVersion:1,ok:!0,command:"retrofit-plan",result:{project:d,plan:m}}}}if(typeof n.values.approve!="string")return v("Retrofit apply requires --approve <planId>.");let p=await Mr({projectRoot:l.projectRoot,planId:n.values.approve}),f=await lr({projectRoot:l.projectRoot,plan:p,approvedPlanId:n.values.approve,desiredContents:l.desiredContents,now:c.toISOString()}),u=await dr(f);return{outputMode:B(e),human:`Project: ${d}
57
57
  Plan: ${p.planId}
58
58
  State: ${u.state}
59
- Files applied: ${u.operations.length}`,value:{schemaVersion:1,ok:!0,command:"retrofit-apply",result:{project:d,planId:p.planId,transaction:u}}}}async function oN(e,t){let r;try{r=de({args:[...t],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"}}})}catch{return v(`${e} arguments are invalid.`)}if(typeof r.values.project!="string")return v(`${e} requires --project.`);let n=await Pt(N.resolve(r.values.project)),i=W(JSON.parse(await ie(N.join(n,"project-capabilities.json"),"utf8")));if(i.template===void 0)return v("The project does not declare an engineering template.");let o=await Ki(Za(i.template.id,i.template.version)),a=o.commands[e];if(a===void 0)return v(`Template ${o.templateId} does not support ${e}.`);let s=a==="npm.pack-dry-run"?["pnpm","pack","--dry-run"]:["pnpm","run",a],c=Date.now();if(e==="dev"){if(await new Promise((u,m)=>{let g=eN("corepack",s,{cwd:n,env:{...process.env,NO_COLOR:"1"},stdio:"inherit"}),y=()=>g.kill("SIGINT"),w=()=>g.kill("SIGTERM");process.once("SIGINT",y),process.once("SIGTERM",w),g.once("error",m),g.once("close",A=>{process.off("SIGINT",y),process.off("SIGTERM",w),u(A??1)})})!==0)throw new j({code:"CLI_INTERNAL_ERROR",message:"The development server stopped with an error.",exitCode:1});let f={template:`${o.templateId}@${o.version}`,command:a,durationMs:Date.now()-c,stdout:""};return{outputMode:B(t),human:`dev completed for '${ee(n)}'.`,value:{schemaVersion:1,ok:!0,command:e,result:f}}}let l=await Wy("corepack",s,{cwd:n,env:{...process.env,NO_COLOR:"1"},timeout:3e5,maxBuffer:4*1024*1024}),d={template:`${o.templateId}@${o.version}`,command:a,durationMs:Date.now()-c,stdout:l.stdout.trim()};return{outputMode:B(t),human:`${e} completed for '${ee(n)}'.`,value:{schemaVersion:1,ok:!0,command:e,result:d}}}async function aN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},path:{type:"string"},name:{type:"string"},version:{type:"string"},license:{type:"string"},"publish-access":{type:"string"},repository:{type:"string"},capability:{type:"string"},kind:{type:"string"},profile:{type:"string"}}})}catch{return v("Add package arguments are invalid.")}if([t.values.workspace,t.values.path,t.values.name,t.values.version,t.values.license,t.values["publish-access"],t.values.repository].some(A=>typeof A!="string"))return v("Add package requires workspace, path, name, version, license, publish access, and repository.");let n=t.values.profile??"workspace-npm-package";if(n!=="workspace-npm-package"&&n!=="react-component-library")return v("Add package requires a supported --profile.");let i=n==="react-component-library"?Zi["workspace-react-component-library"]:Zi["workspace-npm-package"];if(t.values.capability!==i)return v(`Add package requires --capability ${i}.`);if(t.values.kind!==void 0&&t.values.kind!=="fixture")return v("Add package --kind only accepts fixture.");let o=t.values.kind==="fixture"?"fixture":"package",a=String(t.values.path),s=ip(a,o);if(s!==void 0)return v(s);let c=await Pt(N.resolve(String(t.values.workspace))),l=JSON.parse(await ie(N.join(c,"project-capabilities.json"),"utf8"));if(l.profile?.id!=="workspace-root")return v("The selected directory is not a Dyyto workspace root.");let d=l.capabilities?.[0];if(d?.capabilityId!=="foundation.workspace-root")return v("Workspace root capability is invalid.");let p=await Fe(c);if(p===null){let A=await Re(Te(d.capabilityId,d.version)),b=new Date;if((await Xo({projectRoot:c,release:A,generatedAt:b.toISOString(),expiresAt:new Date(b.getTime()+1800*1e3).toISOString()})).state!=="applied-unverified")return v("Workspace root must be applied before adding a package.")}if(p!==null){try{await Tr({projectRoot:c,expectedAssets:Yy(p)})}catch{return v("Workspace root locked assets have drifted; adding a package is blocked.")}if((await Gi({projectRoot:c,lock:p})).some(b=>b.code!=="EVIDENCE_VALID"))return v("Workspace root adoption evidence is invalid; adding a package is blocked.")}if(await ap(c,o==="fixture"?"fixtures":"packages",String(t.values.name)))return v("A workspace package already uses this npm name.");let[f,u]=i.split("@"),m={schemaVersion:1,...Ha[n]===void 0?{}:{template:Ha[n]},profile:{id:n,parameters:{name:String(t.values.name),version:String(t.values.version),license:String(t.values.license),publishAccess:String(t.values["publish-access"]),repository:String(t.values.repository)}},capabilities:[{capabilityId:f,version:u}]};fr(W(m),n);let g=await fa({projectRoot:N.join(c,...a.split("/")),manifest:m}),y=await Qa(g.projectRoot),w=ee(g.projectRoot);return{outputMode:B(e),human:`Workspace package '${a}' initialized.
59
+ Files applied: ${u.operations.length}`,value:{schemaVersion:1,ok:!0,command:"retrofit-apply",result:{project:d,planId:p.planId,transaction:u}}}}async function iN(e,t){let r;try{r=de({args:[...t],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"}}})}catch{return v(`${e} arguments are invalid.`)}if(typeof r.values.project!="string")return v(`${e} requires --project.`);let n=await Pt(N.resolve(r.values.project)),i=W(JSON.parse(await ie(N.join(n,"project-capabilities.json"),"utf8")));if(i.template===void 0)return v("The project does not declare an engineering template.");let o=await Ki(Za(i.template.id,i.template.version)),a=o.commands[e];if(a===void 0)return v(`Template ${o.templateId} does not support ${e}.`);let s=a==="npm.pack-dry-run"?["pnpm","pack","--dry-run"]:["pnpm","run",a],c=Date.now();if(e==="dev"){if(await new Promise((u,m)=>{let g=QP("corepack",s,{cwd:n,env:{...process.env,NO_COLOR:"1"},stdio:"inherit"}),y=()=>g.kill("SIGINT"),w=()=>g.kill("SIGTERM");process.once("SIGINT",y),process.once("SIGTERM",w),g.once("error",m),g.once("close",A=>{process.off("SIGINT",y),process.off("SIGTERM",w),u(A??1)})})!==0)throw new j({code:"CLI_INTERNAL_ERROR",message:"The development server stopped with an error.",exitCode:1});let f={template:`${o.templateId}@${o.version}`,command:a,durationMs:Date.now()-c,stdout:""};return{outputMode:B(t),human:`dev completed for '${ee(n)}'.`,value:{schemaVersion:1,ok:!0,command:e,result:f}}}let l=await Wy("corepack",s,{cwd:n,env:{...process.env,NO_COLOR:"1"},timeout:3e5,maxBuffer:4*1024*1024}),d={template:`${o.templateId}@${o.version}`,command:a,durationMs:Date.now()-c,stdout:l.stdout.trim()};return{outputMode:B(t),human:`${e} completed for '${ee(n)}'.`,value:{schemaVersion:1,ok:!0,command:e,result:d}}}async function oN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},path:{type:"string"},name:{type:"string"},version:{type:"string"},license:{type:"string"},"publish-access":{type:"string"},repository:{type:"string"},capability:{type:"string"},kind:{type:"string"},profile:{type:"string"}}})}catch{return v("Add package arguments are invalid.")}if([t.values.workspace,t.values.path,t.values.name,t.values.version,t.values.license,t.values["publish-access"],t.values.repository].some(A=>typeof A!="string"))return v("Add package requires workspace, path, name, version, license, publish access, and repository.");let n=t.values.profile??"workspace-npm-package";if(n!=="workspace-npm-package"&&n!=="react-component-library")return v("Add package requires a supported --profile.");let i=n==="react-component-library"?Zi["workspace-react-component-library"]:Zi["workspace-npm-package"];if(t.values.capability!==i)return v(`Add package requires --capability ${i}.`);if(t.values.kind!==void 0&&t.values.kind!=="fixture")return v("Add package --kind only accepts fixture.");let o=t.values.kind==="fixture"?"fixture":"package",a=String(t.values.path),s=ip(a,o);if(s!==void 0)return v(s);let c=await Pt(N.resolve(String(t.values.workspace))),l=JSON.parse(await ie(N.join(c,"project-capabilities.json"),"utf8"));if(l.profile?.id!=="workspace-root")return v("The selected directory is not a Dyyto workspace root.");let d=l.capabilities?.[0];if(d?.capabilityId!=="foundation.workspace-root")return v("Workspace root capability is invalid.");let p=await Fe(c);if(p===null){let A=await Re(Te(d.capabilityId,d.version)),b=new Date;if((await Xo({projectRoot:c,release:A,generatedAt:b.toISOString(),expiresAt:new Date(b.getTime()+1800*1e3).toISOString()})).state!=="applied-unverified")return v("Workspace root must be applied before adding a package.")}if(p!==null){try{await Tr({projectRoot:c,expectedAssets:Yy(p)})}catch{return v("Workspace root locked assets have drifted; adding a package is blocked.")}if((await Gi({projectRoot:c,lock:p})).some(b=>b.code!=="EVIDENCE_VALID"))return v("Workspace root adoption evidence is invalid; adding a package is blocked.")}if(await ap(c,o==="fixture"?"fixtures":"packages",String(t.values.name)))return v("A workspace package already uses this npm name.");let[f,u]=i.split("@"),m={schemaVersion:1,...Ha[n]===void 0?{}:{template:Ha[n]},profile:{id:n,parameters:{name:String(t.values.name),version:String(t.values.version),license:String(t.values.license),publishAccess:String(t.values["publish-access"]),repository:String(t.values.repository)}},capabilities:[{capabilityId:f,version:u}]};fr(W(m),n);let g=await fa({projectRoot:N.join(c,...a.split("/")),manifest:m}),y=await Qa(g.projectRoot),w=ee(g.projectRoot);return{outputMode:B(e),human:`Workspace package '${a}' initialized.
60
60
  Plan: ${y.planId}
61
61
  State: ${y.state}
62
- Next: dyyto apply --project ${w} --approve ${y.planId}`,value:{schemaVersion:1,ok:!0,command:"add-package",result:{project:w,workspace:ee(c),path:a,plan:y}}}}async function sN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},path:{type:"string"},name:{type:"string"},profile:{type:"string"},capability:{type:"string"}}})}catch{return v("Add application arguments are invalid.")}if([t.values.workspace,t.values.path,t.values.name].some(w=>typeof w!="string"))return v("Add application requires workspace, path, and name.");let r=t.values.profile??"workspace-node-application";if(r!=="workspace-node-application"&&r!=="workspace-web-application"&&r!=="workspace-expo-application"&&r!=="nextjs-full-stack-application")return v("Add application requires a supported --profile.");let n=r,i=Zi[n],o=String(t.values.path),a=op(o,n,typeof t.values.capability=="string"?t.values.capability:void 0);if(a!==void 0)return v(a);let s=await Pt(N.resolve(String(t.values.workspace))),c=JSON.parse(await ie(N.join(s,"project-capabilities.json"),"utf8"));if(c.profile?.id!=="workspace-root")return v("The selected directory is not a Dyyto workspace root.");let l=c.capabilities?.[0];if(l?.capabilityId!=="foundation.workspace-root"||!["1.1.0","1.2.0","1.3.0","1.4.0","1.5.0"].includes(l.version))return v("Workspace applications require a supported foundation.workspace-root release.");if(o.startsWith("services/")&&!["1.3.0","1.4.0","1.5.0"].includes(l.version))return v("Workspace service applications require foundation.workspace-root@1.3.0 or newer.");let d=await Fe(s);if(d===null){let w=await Re(Te(l.capabilityId,l.version)),A=new Date;if((await Xo({projectRoot:s,release:w,generatedAt:A.toISOString(),expiresAt:new Date(A.getTime()+1800*1e3).toISOString()})).state!=="applied-unverified")return v("Workspace root must be applied before adding an application.")}if(d!==null){try{await Tr({projectRoot:s,expectedAssets:Yy(d)})}catch{return v("Workspace root locked assets have drifted; adding an application is blocked.")}if((await Gi({projectRoot:s,lock:d})).some(A=>A.code!=="EVIDENCE_VALID"))return v("Workspace root adoption evidence is invalid; adding an application is blocked.")}if(await sp(s,String(t.values.name)))return v("A workspace application already uses this name.");let[p,f]=i.split("@"),u={schemaVersion:1,...Ha[n]===void 0?{}:{template:Ha[n]},profile:{id:n,parameters:{name:String(t.values.name)}},capabilities:[{capabilityId:p,version:f}]};Ur(W(u));let m=await fa({projectRoot:N.join(s,...o.split("/")),manifest:u}),g=await Qa(m.projectRoot),y=ee(m.projectRoot);return{outputMode:B(e),human:`Workspace application '${o}' initialized.
62
+ Next: dyyto apply --project ${w} --approve ${y.planId}`,value:{schemaVersion:1,ok:!0,command:"add-package",result:{project:w,workspace:ee(c),path:a,plan:y}}}}async function aN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},path:{type:"string"},name:{type:"string"},profile:{type:"string"},capability:{type:"string"}}})}catch{return v("Add application arguments are invalid.")}if([t.values.workspace,t.values.path,t.values.name].some(w=>typeof w!="string"))return v("Add application requires workspace, path, and name.");let r=t.values.profile??"workspace-node-application";if(r!=="workspace-node-application"&&r!=="workspace-web-application"&&r!=="workspace-expo-application"&&r!=="nextjs-full-stack-application")return v("Add application requires a supported --profile.");let n=r,i=Zi[n],o=String(t.values.path),a=op(o,n,typeof t.values.capability=="string"?t.values.capability:void 0);if(a!==void 0)return v(a);let s=await Pt(N.resolve(String(t.values.workspace))),c=JSON.parse(await ie(N.join(s,"project-capabilities.json"),"utf8"));if(c.profile?.id!=="workspace-root")return v("The selected directory is not a Dyyto workspace root.");let l=c.capabilities?.[0];if(l?.capabilityId!=="foundation.workspace-root"||!["1.1.0","1.2.0","1.3.0","1.4.0","1.5.0"].includes(l.version))return v("Workspace applications require a supported foundation.workspace-root release.");if(o.startsWith("services/")&&!["1.3.0","1.4.0","1.5.0"].includes(l.version))return v("Workspace service applications require foundation.workspace-root@1.3.0 or newer.");let d=await Fe(s);if(d===null){let w=await Re(Te(l.capabilityId,l.version)),A=new Date;if((await Xo({projectRoot:s,release:w,generatedAt:A.toISOString(),expiresAt:new Date(A.getTime()+1800*1e3).toISOString()})).state!=="applied-unverified")return v("Workspace root must be applied before adding an application.")}if(d!==null){try{await Tr({projectRoot:s,expectedAssets:Yy(d)})}catch{return v("Workspace root locked assets have drifted; adding an application is blocked.")}if((await Gi({projectRoot:s,lock:d})).some(A=>A.code!=="EVIDENCE_VALID"))return v("Workspace root adoption evidence is invalid; adding an application is blocked.")}if(await sp(s,String(t.values.name)))return v("A workspace application already uses this name.");let[p,f]=i.split("@"),u={schemaVersion:1,...Ha[n]===void 0?{}:{template:Ha[n]},profile:{id:n,parameters:{name:String(t.values.name)}},capabilities:[{capabilityId:p,version:f}]};Ur(W(u));let m=await fa({projectRoot:N.join(s,...o.split("/")),manifest:u}),g=await Qa(m.projectRoot),y=ee(m.projectRoot);return{outputMode:B(e),human:`Workspace application '${o}' initialized.
63
63
  Plan: ${g.planId}
64
64
  State: ${g.state}
65
65
  Next: dyyto apply --project ${y} --approve ${g.planId}`,value:{schemaVersion:1,ok:!0,command:"add-application",result:{project:y,workspace:ee(s),path:o,plan:g}}}}async function Zy(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},capability:{type:"string"},channel:{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-fallback-bundle":{type:"string",multiple:!0},"artifact-port":{type:"string"}}})}catch{return v("Add feature arguments are invalid.")}if(typeof r.values.project!="string"||typeof r.values.capability!="string")return v("Add feature requires --project and --capability.");if(r.values.channel!==void 0&&r.values.channel!=="development")return v("--channel only accepts development; omit it for production.");let n=await Pt(N.resolve(r.values.project)),i=JSON.parse(await ie(N.join(n,"project-capabilities.json"),"utf8")),o=await Fe(n);if(o===null)return v("Add feature requires an adopted project with a verified Profile Lock.");let[a,s]=es(r.values.capability),c=await Re(Te(a,s)),l=new Date,d;try{let u=await Xa(n,c,t);d=await yd({projectRoot:n,manifest:i,release:c,currentLock:o,generatedAt:l.toISOString(),expiresAt:new Date(l.getTime()+1800*1e3).toISOString(),...r.values.channel==="development"?{packageChannel:"development"}:{},...u===void 0?{}:{packageSource:u}})}catch(u){throw u instanceof le?new j({code:u.code,message:u.message,exitCode:3,nextStep:"Review the selected project Profile and current capabilities."}):u}let p=await Bt({projectRoot:n,plan:d.plan,now:l.toISOString(),transactionRoot:d.transactionRoot}),f=ee(n);return{outputMode:B(e),human:`Project: ${f}
@@ -67,20 +67,20 @@ Feature: ${a}@${s}
67
67
  Dependency: ${d.dependency.profile} satisfied
68
68
  Plan: ${p.planId}
69
69
  State: ${p.state}
70
- Next: dyyto apply --project ${f} --approve ${p.planId}`,value:{schemaVersion:1,ok:!0,command:"add-feature",result:{project:f,capability:r.values.capability,dependency:d.dependency,plan:p}}}}async function cN(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},capability:{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-port":{type:"string"}}})}catch{return v("Remove feature arguments are invalid.")}if(typeof r.values.project!="string"||typeof r.values.capability!="string")return v("Remove feature requires --project and --capability.");let n=await Pt(N.resolve(r.values.project)),i=await Fe(n);if(i===null)return v("Remove feature requires a verified Lock.");let[o,a]=es(r.values.capability),s=await Re(Te(o,a)),c=await Hy(n,s,i,t),l=await Bt({projectRoot:n,plan:c.plan,now:new Date().toISOString(),..."transactionRoot"in c?{transactionRoot:c.transactionRoot}:{}}),d=ee(n);return{outputMode:B(e),human:`Project: ${d}
70
+ Next: dyyto apply --project ${f} --approve ${p.planId}`,value:{schemaVersion:1,ok:!0,command:"add-feature",result:{project:f,capability:r.values.capability,dependency:d.dependency,plan:p}}}}async function sN(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},capability:{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-port":{type:"string"}}})}catch{return v("Remove feature arguments are invalid.")}if(typeof r.values.project!="string"||typeof r.values.capability!="string")return v("Remove feature requires --project and --capability.");let n=await Pt(N.resolve(r.values.project)),i=await Fe(n);if(i===null)return v("Remove feature requires a verified Lock.");let[o,a]=es(r.values.capability),s=await Re(Te(o,a)),c=await Hy(n,s,i,t),l=await Bt({projectRoot:n,plan:c.plan,now:new Date().toISOString(),..."transactionRoot"in c?{transactionRoot:c.transactionRoot}:{}}),d=ee(n);return{outputMode:B(e),human:`Project: ${d}
71
71
  \u79FB\u9664\u80FD\u529B\uFF1A${o}@${a}
72
72
  \u72EC\u5360\u5305\uFF1A${c.removedSources.map(p=>`${p.packageName}@${p.version}`).join("\u3001")||"\u65E0\uFF08\u5171\u4EAB\u5305\u5C06\u4FDD\u7559\uFF09"}
73
73
  Plan: ${l.planId}
74
74
  State: ${l.state}
75
- Next: dyyto apply --project ${d} --approve ${l.planId}`,value:{schemaVersion:1,ok:!0,command:"remove-feature",result:{project:d,capability:r.values.capability,removedSources:c.removedSources,plan:l}}}}async function lN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"}}})}catch{return v("Plan arguments are invalid.")}if(typeof t.values.project!="string")return v("Plan requires --project <directory>.");let r=N.resolve(t.values.project),n=await Qa(r),i=ee(r),o=n.state==="reviewable"?`Next: dyyto apply --project ${i} --approve ${n.planId}`:"Resolve the reported conflicts before applying.";return{outputMode:B(e),human:`Project: ${i}
75
+ Next: dyyto apply --project ${d} --approve ${l.planId}`,value:{schemaVersion:1,ok:!0,command:"remove-feature",result:{project:d,capability:r.values.capability,removedSources:c.removedSources,plan:l}}}}async function cN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"}}})}catch{return v("Plan arguments are invalid.")}if(typeof t.values.project!="string")return v("Plan requires --project <directory>.");let r=N.resolve(t.values.project),n=await Qa(r),i=ee(r),o=n.state==="reviewable"?`Next: dyyto apply --project ${i} --approve ${n.planId}`:"Resolve the reported conflicts before applying.";return{outputMode:B(e),human:`Project: ${i}
76
76
  Plan: ${n.planId}
77
77
  State: ${n.state}
78
- ${o}`,value:{schemaVersion:1,ok:!0,command:"plan",result:{project:i,plan:n}}}}function es(e){let t=e.lastIndexOf("@");return t<=0||t===e.length-1?v("Capability selection must be capabilityId@version."):[e.slice(0,t),e.slice(t+1)]}async function dN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},capability:{type:"string"}}})}catch{return v("Baseline arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.capability!="string")return v("Baseline requires --project and --capability.");let r=N.resolve(t.values.project);if(await Fe(r)!==null)return v("Baseline is only for a historical project without a Lock.");let[n,i]=es(t.values.capability),o=await Re(Te(n,i)),a=JSON.parse(await ie(N.join(r,"project-capabilities.json"),"utf8")),s=new Date,c=await Jl({projectRoot:r,manifest:a,release:o,generatedAt:s.toISOString(),expiresAt:new Date(s.getTime()+1800*1e3).toISOString()}),l=await Bt({projectRoot:r,plan:c.plan,now:s.toISOString()}),d=ee(r);return{outputMode:B(e),human:`Project: ${d}
78
+ ${o}`,value:{schemaVersion:1,ok:!0,command:"plan",result:{project:i,plan:n}}}}function es(e){let t=e.lastIndexOf("@");return t<=0||t===e.length-1?v("Capability selection must be capabilityId@version."):[e.slice(0,t),e.slice(t+1)]}async function lN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},capability:{type:"string"}}})}catch{return v("Baseline arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.capability!="string")return v("Baseline requires --project and --capability.");let r=N.resolve(t.values.project);if(await Fe(r)!==null)return v("Baseline is only for a historical project without a Lock.");let[n,i]=es(t.values.capability),o=await Re(Te(n,i)),a=JSON.parse(await ie(N.join(r,"project-capabilities.json"),"utf8")),s=new Date,c=await Jl({projectRoot:r,manifest:a,release:o,generatedAt:s.toISOString(),expiresAt:new Date(s.getTime()+1800*1e3).toISOString()}),l=await Bt({projectRoot:r,plan:c.plan,now:s.toISOString()}),d=ee(r);return{outputMode:B(e),human:`Project: ${d}
79
79
  Baseline: ${n}@${i}
80
80
  Plan: ${l.planId}
81
81
  State: ${l.state}
82
82
  Preserved seed files: ${l.operations.filter(p=>p.ownership==="seed-file"&&p.disposition==="noop").length}
83
- Next: dyyto apply --project ${d} --approve ${l.planId}`,value:{schemaVersion:1,ok:!0,command:"baseline",result:{project:d,plan:l}}}}async function pN(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},to:{type:"string"},repository:{type:"string"},channel:{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-port":{type:"string"}}})}catch{return v("Upgrade arguments are invalid.")}if(typeof r.values.project!="string"||typeof r.values.to!="string")return v("Upgrade requires --project <directory> and --to <capabilityId@version>.");if(r.values.channel!==void 0&&r.values.channel!=="development")return v("--channel only accepts development; omit it for production.");let n=N.resolve(r.values.project),i=JSON.parse(await ie(N.join(n,"project-capabilities.json"),"utf8")),[o,a]=es(r.values.to),s=i.capabilities?.find(_=>_.capabilityId===o);if(s===void 0)return v(`Upgrade requires ${o} to be adopted by the project.`);let c=await Fe(n);if(c===null)return v("Upgrade requires an adopted project with a verified Lock.");let l=(i.profile.id==="standalone-npm-package"||i.profile.id==="workspace-npm-package")&&a==="1.1.0";if(l){if(typeof r.values.repository!="string")return v("npm package upgrade to 1.1.0 requires --repository.");i={...i,profile:{...i.profile,parameters:{...i.profile.parameters,repository:r.values.repository}}}}else if(r.values.repository!==void 0)return v("--repository is only valid for an npm package upgrade to 1.1.0.");let d=await Re(Te(s.capabilityId,s.version)),p=await Re(Te(o,a)),f={...i,capabilities:i.capabilities.map(_=>_.capabilityId===o?{capabilityId:o,version:a}:_)},u=p.release.schemaVersion===2&&p.release.availability.maturity!=="withdrawn"&&p.release.packageSources.length>0,m=u?ja(f,p):void 0,g=u?await Xa(n,p,t,m):void 0,y=Ky(o,a),w=new Date,A=await id({projectRoot:n,manifest:i,currentLock:c,sourceRelease:d,targetRelease:p,...y===void 0?{}:{targetTemplate:y},generatedAt:w.toISOString(),expiresAt:new Date(w.getTime()+1800*1e3).toISOString(),...r.values.channel==="development"?{packageChannel:"development"}:{},...g===void 0?{}:{packageSource:g}}),b=await Bt({projectRoot:n,plan:A.plan,now:w.toISOString(),transactionRoot:A.transactionRoot}),R=ee(n),I=b.state==="reviewable"?`Next: dyyto apply --project ${R} --approve ${b.planId}${l?` --repository ${r.values.repository}`:""}`:"Resolve the reported conflicts before applying.";return{outputMode:B(e),human:`Project: ${R}
83
+ Next: dyyto apply --project ${d} --approve ${l.planId}`,value:{schemaVersion:1,ok:!0,command:"baseline",result:{project:d,plan:l}}}}async function dN(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},to:{type:"string"},repository:{type:"string"},channel:{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-port":{type:"string"}}})}catch{return v("Upgrade arguments are invalid.")}if(typeof r.values.project!="string"||typeof r.values.to!="string")return v("Upgrade requires --project <directory> and --to <capabilityId@version>.");if(r.values.channel!==void 0&&r.values.channel!=="development")return v("--channel only accepts development; omit it for production.");let n=N.resolve(r.values.project),i=JSON.parse(await ie(N.join(n,"project-capabilities.json"),"utf8")),[o,a]=es(r.values.to),s=i.capabilities?.find(_=>_.capabilityId===o);if(s===void 0)return v(`Upgrade requires ${o} to be adopted by the project.`);let c=await Fe(n);if(c===null)return v("Upgrade requires an adopted project with a verified Lock.");let l=(i.profile.id==="standalone-npm-package"||i.profile.id==="workspace-npm-package")&&a==="1.1.0";if(l){if(typeof r.values.repository!="string")return v("npm package upgrade to 1.1.0 requires --repository.");i={...i,profile:{...i.profile,parameters:{...i.profile.parameters,repository:r.values.repository}}}}else if(r.values.repository!==void 0)return v("--repository is only valid for an npm package upgrade to 1.1.0.");let d=await Re(Te(s.capabilityId,s.version)),p=await Re(Te(o,a)),f={...i,capabilities:i.capabilities.map(_=>_.capabilityId===o?{capabilityId:o,version:a}:_)},u=p.release.schemaVersion===2&&p.release.availability.maturity!=="withdrawn"&&p.release.packageSources.length>0,m=u?ja(f,p):void 0,g=u?await Xa(n,p,t,m):void 0,y=Ky(o,a),w=new Date,A=await id({projectRoot:n,manifest:i,currentLock:c,sourceRelease:d,targetRelease:p,...y===void 0?{}:{targetTemplate:y},generatedAt:w.toISOString(),expiresAt:new Date(w.getTime()+1800*1e3).toISOString(),...r.values.channel==="development"?{packageChannel:"development"}:{},...g===void 0?{}:{packageSource:g}}),b=await Bt({projectRoot:n,plan:A.plan,now:w.toISOString(),transactionRoot:A.transactionRoot}),R=ee(n),I=b.state==="reviewable"?`Next: dyyto apply --project ${R} --approve ${b.planId}${l?` --repository ${r.values.repository}`:""}`:"Resolve the reported conflicts before applying.";return{outputMode:B(e),human:`Project: ${R}
84
84
  Upgrade: ${s.version} -> ${a}
85
85
  Plan: ${b.planId}
86
86
  State: ${b.state}
@@ -88,7 +88,7 @@ ${I}`,value:{schemaVersion:1,ok:!0,command:"upgrade",result:{project:R,source:`$
88
88
  Plan: ${a.planId}
89
89
  State: ${p.state}
90
90
  Files applied: ${p.operations.length}
91
- `+(a.packageAdoption===void 0?`Next: cd ${f} && corepack pnpm install`:`Next: dyyto verify --project ${f}`),value:{schemaVersion:1,ok:!0,command:"apply",result:{project:f,planId:a.planId,transaction:p}}}}async function uN(e,t){let r;try{r=de({args:[...e],allowPositionals:!0,strict:!0,options:{json:{type:"boolean"},output:{type:"string"},locale:{type:"string"},channel:{type:"string"},approve:{type:"string"},"recipe-version":{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-fallback-bundle":{type:"string",multiple:!0},"artifact-port":{type:"string"}}})}catch{return v("Scaffold example arguments are invalid.")}if(r.positionals.length!==1||typeof r.values.output!="string"||r.values.locale!=="zh-CN"||r.values.channel!=="development"||typeof r.values["recipe-version"]!="string"||typeof r.values["artifact-workspace"]!="string"||typeof r.values["artifact-bundle"]!="string"||typeof r.values["artifact-port"]!="string")return v("Scaffold example requires recipe, --recipe-version, --output, --locale zh-CN, --channel development and exact Artifact source arguments.");let n=r.positionals[0];if(typeof n!="string")return v("Scaffold example recipe identifier is invalid.");let i=await ly(nN(n,r.values["recipe-version"])),o=Number(r.values["artifact-port"]),a=r.values["artifact-workspace"],s=r.values["artifact-bundle"],c=r.values["artifact-fallback-bundle"],l=Array.isArray(c)?c.filter(u=>typeof u=="string"):[],d=r.values.approve;if(d===void 0){let u=await xy({workspaceRoot:a,output:r.values.output,recipe:i,artifactBundle:s,artifactFallbackBundles:l,artifactPort:o});return{outputMode:B(e),human:`\u793A\u4F8B\uFF1A${i.title}
91
+ `+(a.packageAdoption===void 0?`Next: cd ${f} && corepack pnpm install`:`Next: dyyto verify --project ${f}`),value:{schemaVersion:1,ok:!0,command:"apply",result:{project:f,planId:a.planId,transaction:p}}}}async function pN(e,t){let r;try{r=de({args:[...e],allowPositionals:!0,strict:!0,options:{json:{type:"boolean"},output:{type:"string"},locale:{type:"string"},channel:{type:"string"},approve:{type:"string"},"recipe-version":{type:"string"},"artifact-workspace":{type:"string"},"artifact-bundle":{type:"string"},"artifact-fallback-bundle":{type:"string",multiple:!0},"artifact-port":{type:"string"}}})}catch{return v("Scaffold example arguments are invalid.")}if(r.positionals.length!==1||typeof r.values.output!="string"||r.values.locale!=="zh-CN"||r.values.channel!=="development"||typeof r.values["recipe-version"]!="string"||typeof r.values["artifact-workspace"]!="string"||typeof r.values["artifact-bundle"]!="string"||typeof r.values["artifact-port"]!="string")return v("Scaffold example requires recipe, --recipe-version, --output, --locale zh-CN, --channel development and exact Artifact source arguments.");let n=r.positionals[0];if(typeof n!="string")return v("Scaffold example recipe identifier is invalid.");let i=await ly(rN(n,r.values["recipe-version"])),o=Number(r.values["artifact-port"]),a=r.values["artifact-workspace"],s=r.values["artifact-bundle"],c=r.values["artifact-fallback-bundle"],l=Array.isArray(c)?c.filter(u=>typeof u=="string"):[],d=r.values.approve;if(d===void 0){let u=await xy({workspaceRoot:a,output:r.values.output,recipe:i,artifactBundle:s,artifactFallbackBundles:l,artifactPort:o});return{outputMode:B(e),human:`\u793A\u4F8B\uFF1A${i.title}
92
92
  Plan\uFF1A${u.planId}
93
93
  \u72B6\u6001\uFF1A\u7B49\u5F85\u9636\u6BB5\u6279\u51C6
94
94
  Next\uFF1A\u91CD\u590D\u672C\u547D\u4EE4\u5E76\u6DFB\u52A0 --approve ${u.planId}`,value:{schemaVersion:1,ok:!0,command:"scaffold-example-plan",result:{plan:u}}}}if(typeof d!="string")return v("Scaffold example --approve must be an exact Plan ID.");let p=["--artifact-workspace",a,"--artifact-bundle",s,...l.flatMap(u=>["--artifact-fallback-bundle",u]),"--artifact-port",String(o)],f;try{f=await Vy({workspaceRoot:a,approvedPlanId:d,recipe:i,execute:async(u,m)=>{if(m.artifactBundle!==s||JSON.stringify(m.artifactFallbackBundles)!==JSON.stringify(l)||m.artifactPort!==o)throw new Error("SCAFFOLD_SOURCE_PLAN_MISMATCH");let g=[],w=(await Xy([u,"--profile","nextjs-full-stack-application","--capability",`${i.rootProfile.capabilityId}@${i.rootProfile.version}`,"--name",i.recipeId])).value.result.plan.planId;await Dd(["--project",u,"--approve",w],t),g.push(w),await Wy("corepack",["pnpm","install","--no-frozen-lockfile","--ignore-scripts"],{cwd:u,env:{...process.env,CI:"true",NO_COLOR:"1",pnpm_config_store_dir:N.join(a,".dyyto","resolution-worker","store","shared")},timeout:3e5,maxBuffer:4*1024*1024}),await jd(["--project",u]);for(let A of i.capabilities){let b=`${A.capabilityId}@${A.version}`;try{let I=(await Zy(["--project",u,"--capability",b,"--channel",A.channel,...p],t)).value.result.plan.planId;await Dd(["--project",u,"--approve",I,...p],t),await jd(["--project",u]),g.push(I)}catch(R){throw new Error(`SCAFFOLD_CAPABILITY_FAILED:${b}:${R instanceof Error?R.message:"UNKNOWN"}`,{cause:R})}}return g}})}catch(u){let m=u instanceof it&&u.cause instanceof Error?u.cause.message:"SCAFFOLD_APPLY_FAILED";throw new j({code:"SCAFFOLD_APPLY_FAILED",message:`\u793A\u4F8B\u811A\u624B\u67B6\u6267\u884C\u5931\u8D25\uFF1A${m}`,exitCode:1,nextStep:"\u68C0\u67E5\u5931\u8D25\u7684 Capability \u4E0E\u4E8B\u52A1 Evidence\uFF0C\u4FEE\u590D\u540E\u91CD\u65B0\u751F\u6210 Plan\u3002"})}return{outputMode:B(e),human:`\u793A\u4F8B\u5DF2\u751F\u6210\uFF1A${N.relative(process.cwd(),f.output)}
@@ -117,12 +117,12 @@ State: ${A.state}
117
117
  `)+(b.length===0?"":`
118
118
  \u5305\u6765\u6E90\uFF1A
119
119
  ${b.map(R=>`- ${R.packageName}@${R.version}\uFF08Registry: ${R.registryId}\uFF0C\u5B8C\u6574\u6027\u5DF2\u9501\u5B9A\uFF09`).join(`
120
- `)}`),value:{schemaVersion:1,ok:!0,command:"inspect",result:{project:i,...A,lock:c,packageSources:b}}}}async function fN(e){let{projectRoot:t,outputMode:r}=Qi(e,"Recover"),n=await Bm({projectRoot:t,now:new Date().toISOString()}),i=ee(t);return{outputMode:r,human:n.kind==="none"?`Project: ${i}
120
+ `)}`),value:{schemaVersion:1,ok:!0,command:"inspect",result:{project:i,...A,lock:c,packageSources:b}}}}async function uN(e){let{projectRoot:t,outputMode:r}=Qi(e,"Recover"),n=await Bm({projectRoot:t,now:new Date().toISOString()}),i=ee(t);return{outputMode:r,human:n.kind==="none"?`Project: ${i}
121
121
  Recovery: not-required`:`Project: ${i}
122
122
  Recovery: ${n.kind}
123
- State: ${n.state}`,value:{schemaVersion:1,ok:!0,command:"recover",result:{project:i,recovery:n}}}}function Qy(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},command:{type:"string"},after:{type:"string"}}})}catch{return v(`${t} arguments are invalid.`)}return typeof r.values.project!="string"?v(`${t} requires --project.`):{parsed:r,projectRoot:N.resolve(r.values.project),outputMode:B(e)}}async function mN(e,t){let{parsed:r,projectRoot:n,outputMode:i}=Qy(t,"Lifecycle"),o=r.values.command;if((e==="start"||e==="restart")&&o!=="dev")return v("Lifecycle start/restart requires the supported --command dev.");try{let{projectProcessLogs:a,projectProcessStatus:s,startProjectProcess:c,stopProjectProcess:l}=await import("./optional-runtime.js"),d;if(e==="status")d=await s(n);else if(e==="logs"){let f=r.values.after===void 0?0:Number(r.values.after);if(!Number.isSafeInteger(f)||f<0)return v("Lifecycle logs --after must be a non-negative integer cursor.");d=await a(n,f)}else if(e==="start")await zy(n,"dev"),d=await c(n,"dev");else if(e==="stop")d=await l(n);else if(e==="restart")await zy(n,"dev"),await l(n),d=await c(n,"dev");else return v("Lifecycle action must be start, stop, restart, status, or logs.");let p=ee(n);return{outputMode:i,human:`Project: ${p}
123
+ State: ${n.state}`,value:{schemaVersion:1,ok:!0,command:"recover",result:{project:i,recovery:n}}}}function Qy(e,t){let r;try{r=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},command:{type:"string"},after:{type:"string"}}})}catch{return v(`${t} arguments are invalid.`)}return typeof r.values.project!="string"?v(`${t} requires --project.`):{parsed:r,projectRoot:N.resolve(r.values.project),outputMode:B(e)}}async function fN(e,t){let{parsed:r,projectRoot:n,outputMode:i}=Qy(t,"Lifecycle"),o=r.values.command;if((e==="start"||e==="restart")&&o!=="dev")return v("Lifecycle start/restart requires the supported --command dev.");try{let{projectProcessLogs:a,projectProcessStatus:s,startProjectProcess:c,stopProjectProcess:l}=await import("./optional-runtime.js"),d;if(e==="status")d=await s(n);else if(e==="logs"){let f=r.values.after===void 0?0:Number(r.values.after);if(!Number.isSafeInteger(f)||f<0)return v("Lifecycle logs --after must be a non-negative integer cursor.");d=await a(n,f)}else if(e==="start")await zy(n,"dev"),d=await c(n,"dev");else if(e==="stop")d=await l(n);else if(e==="restart")await zy(n,"dev"),await l(n),d=await c(n,"dev");else return v("Lifecycle action must be start, stop, restart, status, or logs.");let p=ee(n);return{outputMode:i,human:`Project: ${p}
124
124
  Lifecycle: ${e}
125
- State: ${"state"in d?d.state:"available"}`,value:{schemaVersion:1,ok:!0,command:`lifecycle-${e}`,result:{project:p,...d,projectRoot:void 0}}}}catch(a){let s=typeof a=="object"&&a!==null&&"code"in a?String(a.code):"PROJECT_PROCESS_FAILED";throw new j({code:s,message:a instanceof Error?a.message:"Project lifecycle operation failed.",exitCode:4,nextStep:"Inspect lifecycle status and project logs before retrying."})}}async function zy(e,t){let r=W(JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8")));if(r.template===void 0)throw new j({code:"PROJECT_COMMAND_UNSUPPORTED",message:"Managed lifecycle requires a formal Template Release.",exitCode:4,nextStep:"Use the project's standard package script directly or adopt a supported Template."});if((await Ki(Za(r.template.id,r.template.version))).commands[t]!==t)throw new j({code:"PROJECT_COMMAND_UNSUPPORTED",message:"The selected Template does not declare the requested lifecycle command.",exitCode:4,nextStep:"Choose a command declared by the project's Template Release."})}async function gN(e){let{projectRoot:t,outputMode:r}=Qy(e,"Integrations"),{projectIntegrations:n}=await import("./optional-runtime.js"),i=await n(t),o=ee(t),a=i.details.flatMap(l=>[`${l.title} (${l.capabilityId}@${l.version}) [${l.status}]`,` ${l.purpose}`,...l.packages.map(d=>` package ${d.packageName}@${d.version} [${d.state}]`),...l.packages.flatMap(d=>d.imports.map(p=>` import { ${p.symbol} } from '${p.importFrom}'${p.referencePath?` -> ${p.referencePath}`:""}`)),...l.codeAssets.map(d=>` asset ${d.sourcePath} -> ${d.targetPath} (${d.ownership})`)]),s=l=>i.platformDependencies.filter(d=>d.source===l).length,c=i.platformDependencies.map(l=>` platform ${l.packageName} ${l.version} [${l.source}]`);return{outputMode:r,human:`Project: ${o}
125
+ State: ${"state"in d?d.state:"available"}`,value:{schemaVersion:1,ok:!0,command:`lifecycle-${e}`,result:{project:p,...d,projectRoot:void 0}}}}catch(a){let s=typeof a=="object"&&a!==null&&"code"in a?String(a.code):"PROJECT_PROCESS_FAILED";throw new j({code:s,message:a instanceof Error?a.message:"Project lifecycle operation failed.",exitCode:4,nextStep:"Inspect lifecycle status and project logs before retrying."})}}async function zy(e,t){let r=W(JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8")));if(r.template===void 0)throw new j({code:"PROJECT_COMMAND_UNSUPPORTED",message:"Managed lifecycle requires a formal Template Release.",exitCode:4,nextStep:"Use the project's standard package script directly or adopt a supported Template."});if((await Ki(Za(r.template.id,r.template.version))).commands[t]!==t)throw new j({code:"PROJECT_COMMAND_UNSUPPORTED",message:"The selected Template does not declare the requested lifecycle command.",exitCode:4,nextStep:"Choose a command declared by the project's Template Release."})}async function mN(e){let{projectRoot:t,outputMode:r}=Qy(e,"Integrations"),{projectIntegrations:n}=await import("./optional-runtime.js"),i=await n(t),o=ee(t),a=i.details.flatMap(l=>[`${l.title} (${l.capabilityId}@${l.version}) [${l.status}]`,` ${l.purpose}`,...l.packages.map(d=>` package ${d.packageName}@${d.version} [${d.state}]`),...l.packages.flatMap(d=>d.imports.map(p=>` import { ${p.symbol} } from '${p.importFrom}'${p.referencePath?` -> ${p.referencePath}`:""}`)),...l.codeAssets.map(d=>` asset ${d.sourcePath} -> ${d.targetPath} (${d.ownership})`)]),s=l=>i.platformDependencies.filter(d=>d.source===l).length,c=i.platformDependencies.map(l=>` platform ${l.packageName} ${l.version} [${l.source}]`);return{outputMode:r,human:`Project: ${o}
126
126
  Declared: ${i.declared.length}
127
127
  Locked: ${i.locked.length}
128
128
  Verified: ${i.verified.length}
@@ -130,7 +130,7 @@ Findings: ${i.findings.length}
130
130
  Unmanaged platform dependencies: ${i.platformDependencies.length} (workspace ${s("workspace")} / registry ${s("registry")} / other ${s("other")})
131
131
 
132
132
  ${[...a,...c].join(`
133
- `)}`,value:{schemaVersion:1,ok:!0,command:"integrations",result:{project:o,...i,projectRoot:void 0}}}}async function yN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},source:{type:"string"},registry:{type:"string"},approve:{type:"string"},verify:{type:"string"},install:{type:"boolean"}}})}catch{return v("Packages switch arguments are invalid.")}if(typeof t.values.project!="string")return v("Packages switch requires --project.");let r=[t.values.approve,t.values.verify].filter(m=>typeof m=="string").length;if(r>1)return v("Packages switch accepts only one of --approve or --verify.");let{applyAndInstallPackageSourceSwitch:n,applyPackageSourceSwitch:i,switchProjectPackageSources:o,verifyPackageSourceSwitch:a,PackageSourceSwitchError:s}=await import("./optional-runtime.js"),c=t.values.source??"workspace";if(r===0&&c!=="workspace"&&c!=="public"&&c!=="private")return v("Packages switch requires --source workspace|public|private.");let l=N.resolve(t.values.project),d=await(typeof t.values.approve=="string"?t.values.install===!0?n({projectRoot:l,approvedPlanId:t.values.approve}):i({projectRoot:l,approvedPlanId:t.values.approve}):typeof t.values.verify=="string"?a({projectRoot:l,planId:t.values.verify}):o({projectRoot:l,scope:"@aipt/",source:c,...typeof t.values.registry=="string"?{registry:t.values.registry}:{}})).catch(m=>{throw m instanceof s?new j({code:m.code,message:m.message,exitCode:4,nextStep:"Run dyyto packages switch --help."}):m}),p=ee(d.projectRoot),f=d.changes.map(m=>` ${m.field} ${m.packageName}: ${m.from} -> ${m.to}`),u=d.state==="reviewable"?`\u5BA1\u6838\u4E0D\u53EF\u53D8 Plan \u540E\u4F7F\u7528 --approve ${d.planId} \u7CBE\u786E\u6279\u51C6\u3002`:d.state==="applied"?`\u4F7F\u7528 --verify ${d.planId} \u9A8C\u8BC1\u3002`:"Package source manifest \u5DF2\u4E0E\u6279\u51C6\u7684 Plan \u4E00\u81F4\u3002";return{outputMode:B(e),human:`\u9879\u76EE\uFF1A${p}
133
+ `)}`,value:{schemaVersion:1,ok:!0,command:"integrations",result:{project:o,...i,projectRoot:void 0}}}}async function gN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},source:{type:"string"},registry:{type:"string"},approve:{type:"string"},verify:{type:"string"},install:{type:"boolean"}}})}catch{return v("Packages switch arguments are invalid.")}if(typeof t.values.project!="string")return v("Packages switch requires --project.");let r=[t.values.approve,t.values.verify].filter(m=>typeof m=="string").length;if(r>1)return v("Packages switch accepts only one of --approve or --verify.");let{applyAndInstallPackageSourceSwitch:n,applyPackageSourceSwitch:i,switchProjectPackageSources:o,verifyPackageSourceSwitch:a,PackageSourceSwitchError:s}=await import("./optional-runtime.js"),c=t.values.source??"workspace";if(r===0&&c!=="workspace"&&c!=="public"&&c!=="private")return v("Packages switch requires --source workspace|public|private.");let l=N.resolve(t.values.project),d=await(typeof t.values.approve=="string"?t.values.install===!0?n({projectRoot:l,approvedPlanId:t.values.approve}):i({projectRoot:l,approvedPlanId:t.values.approve}):typeof t.values.verify=="string"?a({projectRoot:l,planId:t.values.verify}):o({projectRoot:l,scope:"@aipt/",source:c,...typeof t.values.registry=="string"?{registry:t.values.registry}:{}})).catch(m=>{throw m instanceof s?new j({code:m.code,message:m.message,exitCode:4,nextStep:"Run dyyto packages switch --help."}):m}),p=ee(d.projectRoot),f=d.changes.map(m=>` ${m.field} ${m.packageName}: ${m.from} -> ${m.to}`),u=d.state==="reviewable"?`\u5BA1\u6838\u4E0D\u53EF\u53D8 Plan \u540E\u4F7F\u7528 --approve ${d.planId} \u7CBE\u786E\u6279\u51C6\u3002`:d.state==="applied"?`\u4F7F\u7528 --verify ${d.planId} \u9A8C\u8BC1\u3002`:"Package source manifest \u5DF2\u4E0E\u6279\u51C6\u7684 Plan \u4E00\u81F4\u3002";return{outputMode:B(e),human:`\u9879\u76EE\uFF1A${p}
134
134
  \u6765\u6E90\uFF1A${d.source}
135
135
  Registry\uFF1A${d.registry??"workspace protocol"}
136
136
  \u72B6\u6001\uFF1A${d.state}
@@ -142,14 +142,14 @@ Packages\uFF1A${d.packages.length}
142
142
  ${f.join(`
143
143
  `)}${f.length>0?`
144
144
 
145
- `:""}\u4E0B\u4E00\u6B65\uFF1A${u}`,value:{schemaVersion:1,ok:!0,command:"packages switch",result:{project:p,source:d.source,registry:d.registry,state:d.state,planId:d.planId,packages:d.packages,changes:d.changes,written:d.written,...d.installVerified===void 0?{}:{installVerified:d.installVerified},...d.lockfileDigest===void 0?{}:{lockfileDigest:d.lockfileDigest}}}}}async function hN(e){let{projectRoot:t,outputMode:r}=Qi(e,"Inspect"),n=W(JSON.parse(await ie(N.join(t,"project-capabilities.json"),"utf8")));if(n.template===void 0)throw new j({code:"PROJECT_MAINTENANCE_UNAVAILABLE",message:"Project maintenance requires a formal Template Release.",exitCode:4,nextStep:"Adopt a supported engineering template."});let i=await Ki(Za(n.template.id,n.template.version)),o=await gy({projectRoot:t,commands:i.commands}),a=ee(t);return{outputMode:r,human:`Project: ${a}
145
+ `:""}\u4E0B\u4E00\u6B65\uFF1A${u}`,value:{schemaVersion:1,ok:!0,command:"packages switch",result:{project:p,source:d.source,registry:d.registry,state:d.state,planId:d.planId,packages:d.packages,changes:d.changes,written:d.written,...d.installVerified===void 0?{}:{installVerified:d.installVerified},...d.lockfileDigest===void 0?{}:{lockfileDigest:d.lockfileDigest}}}}}async function yN(e){let{projectRoot:t,outputMode:r}=Qi(e,"Inspect"),n=W(JSON.parse(await ie(N.join(t,"project-capabilities.json"),"utf8")));if(n.template===void 0)throw new j({code:"PROJECT_MAINTENANCE_UNAVAILABLE",message:"Project maintenance requires a formal Template Release.",exitCode:4,nextStep:"Adopt a supported engineering template."});let i=await Ki(Za(n.template.id,n.template.version)),o=await gy({projectRoot:t,commands:i.commands}),a=ee(t);return{outputMode:r,human:`Project: ${a}
146
146
  Commands: ${o.commands.map(s=>s.id).join(", ")}
147
- Environment: ${o.environment.filter(s=>s.configured).length}/${o.environment.length} configured`,value:{schemaVersion:1,ok:!0,command:"maintenance",result:{project:a,template:`${i.templateId}@${i.version}`,...o}}}}async function wN(e){let{projectRoot:t,outputMode:r}=Qi(e,"Inspect"),n=await Mi({projectRoot:t}).catch(i=>{throw new j({code:i instanceof Error&&"code"in i?String(i.code):"APPLICATION_CONFIG_UNAVAILABLE",message:i instanceof Error?i.message:"\u5E94\u7528\u914D\u7F6E\u4E0D\u53EF\u7528\u3002",exitCode:4,nextStep:"\u8BBE\u7F6E\u8BE5\u9879\u76EE\u72EC\u4EAB\u7684\u7EDD\u5BF9APP_CONFIG_DIR\uFF0C\u5E76\u7531\u90E8\u7F72\u63A7\u5236\u9762\u5B8C\u6210config init\u3002"})});return{outputMode:r,human:`\u5E94\u7528\uFF1A${n.application}
147
+ Environment: ${o.environment.filter(s=>s.configured).length}/${o.environment.length} configured`,value:{schemaVersion:1,ok:!0,command:"maintenance",result:{project:a,template:`${i.templateId}@${i.version}`,...o}}}}async function hN(e){let{projectRoot:t,outputMode:r}=Qi(e,"Inspect"),n=await Mi({projectRoot:t}).catch(i=>{throw new j({code:i instanceof Error&&"code"in i?String(i.code):"APPLICATION_CONFIG_UNAVAILABLE",message:i instanceof Error?i.message:"\u5E94\u7528\u914D\u7F6E\u4E0D\u53EF\u7528\u3002",exitCode:4,nextStep:"\u8BBE\u7F6E\u8BE5\u9879\u76EE\u72EC\u4EAB\u7684\u7EDD\u5BF9APP_CONFIG_DIR\uFF0C\u5E76\u7531\u90E8\u7F72\u63A7\u5236\u9762\u5B8C\u6210config init\u3002"})});return{outputMode:r,human:`\u5E94\u7528\uFF1A${n.application}
148
148
  \u73AF\u5883\uFF1A${n.environment}
149
149
  Config Dir\uFF1A${n.configDirectory}
150
150
  \u5DF2\u914D\u7F6E\uFF1A${n.entries.filter(i=>i.configured).length}/${n.entries.length}
151
151
  ${n.entries.map(i=>`${i.name}: ${i.display}`).join(`
152
- `)}`,value:{schemaVersion:1,ok:!0,command:"config-inspect",result:n}}}async function IN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{project:{type:"string"},workspace:{type:"string"},check:{type:"boolean"},json:{type:"boolean"}}})}catch{return v("Config readiness arguments are invalid.")}let r=t.values.project,n=t.values.workspace;if(typeof r=="string"==(typeof n=="string"))return v("Config readiness requires exactly one of --project or --workspace.");let i=B(e);if(typeof n=="string"){let c=await vg({workspaceRoot:N.resolve(n)}),l=c.applications.map(p=>`${p.unit}: ${p.readiness.state}${p.readiness.issueCode?` (${p.readiness.issueCode})`:""}`),d=t.values.check===!0?c.summary.invalid>0?4:c.summary.ready===c.summary.total?0:3:0;return{outputMode:i,human:`\u5DE5\u4F5C\u533A\uFF1A${ee(c.workspaceRoot)}
152
+ `)}`,value:{schemaVersion:1,ok:!0,command:"config-inspect",result:n}}}async function wN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{project:{type:"string"},workspace:{type:"string"},check:{type:"boolean"},json:{type:"boolean"}}})}catch{return v("Config readiness arguments are invalid.")}let r=t.values.project,n=t.values.workspace;if(typeof r=="string"==(typeof n=="string"))return v("Config readiness requires exactly one of --project or --workspace.");let i=B(e);if(typeof n=="string"){let c=await vg({workspaceRoot:N.resolve(n)}),l=c.applications.map(p=>`${p.unit}: ${p.readiness.state}${p.readiness.issueCode?` (${p.readiness.issueCode})`:""}`),d=t.values.check===!0?c.summary.invalid>0?4:c.summary.ready===c.summary.total?0:3:0;return{outputMode:i,human:`\u5DE5\u4F5C\u533A\uFF1A${ee(c.workspaceRoot)}
153
153
  \u5E94\u7528\uFF1A${c.summary.total}
154
154
  \u5C31\u7EEA\uFF1A${c.summary.ready}
155
155
  \u5F85\u521D\u59CB\u5316\uFF1A${c.summary.needsConfigInit}
@@ -161,17 +161,17 @@ ${l.join(`
161
161
  \u73AF\u5883\uFF1A${o.environment}
162
162
  \u72B6\u6001\uFF1A${o.state}
163
163
  Config Dir\uFF1A${o.configDirectory??"\u672A\u7269\u5316"}${a}${o.issueCode?`
164
- \u95EE\u9898\uFF1A${o.issueCode}`:""}`,value:{schemaVersion:1,ok:!0,command:"config-readiness",result:o},...s?{exitCode:s}:{}}}async function vN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},plane:{type:"string"},state:{type:"string"},kind:{type:"string"},limit:{type:"string"}}})}catch{return v("Operations arguments are invalid.")}if(typeof t.values.project!="string"||!["change","quality","delivery"].includes(t.values.plane))return v("Operations requires --project and --plane change|quality|delivery.");let r=await Pt(N.resolve(t.values.project)),n=ee(r),i=[];for(let a of await Jy(N.join(r,".dyyto","workbench","tasks")).catch(()=>[]))if(a.endsWith(".json"))try{let s=JSON.parse(await ie(N.join(r,".dyyto","workbench","tasks",a),"utf8"));s.taskId&&typeof s.operation=="string"&&typeof s.state=="string"&&typeof s.createdAt=="string"&&typeof s.updatedAt=="string"&&i.push({id:s.taskId,projectId:".",projectName:n,operation:s.operation,state:s.state,createdAt:s.createdAt,updatedAt:s.updatedAt,...s.correlationId?{correlationId:s.correlationId}:{}})}catch{}let o=wy(i,{plane:t.values.plane,...typeof t.values.state=="string"?{state:t.values.state}:{},...typeof t.values.kind=="string"?{kind:t.values.kind}:{},...typeof t.values.limit=="string"?{limit:Number(t.values.limit)}:{}});return{outputMode:B(e),human:`Project: ${n}
164
+ \u95EE\u9898\uFF1A${o.issueCode}`:""}`,value:{schemaVersion:1,ok:!0,command:"config-readiness",result:o},...s?{exitCode:s}:{}}}async function IN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},plane:{type:"string"},state:{type:"string"},kind:{type:"string"},limit:{type:"string"}}})}catch{return v("Operations arguments are invalid.")}if(typeof t.values.project!="string"||!["change","quality","delivery"].includes(t.values.plane))return v("Operations requires --project and --plane change|quality|delivery.");let r=await Pt(N.resolve(t.values.project)),n=ee(r),i=[];for(let a of await Jy(N.join(r,".dyyto","workbench","tasks")).catch(()=>[]))if(a.endsWith(".json"))try{let s=JSON.parse(await ie(N.join(r,".dyyto","workbench","tasks",a),"utf8"));s.taskId&&typeof s.operation=="string"&&typeof s.state=="string"&&typeof s.createdAt=="string"&&typeof s.updatedAt=="string"&&i.push({id:s.taskId,projectId:".",projectName:n,operation:s.operation,state:s.state,createdAt:s.createdAt,updatedAt:s.updatedAt,...s.correlationId?{correlationId:s.correlationId}:{}})}catch{}let o=wy(i,{plane:t.values.plane,...typeof t.values.state=="string"?{state:t.values.state}:{},...typeof t.values.kind=="string"?{kind:t.values.kind}:{},...typeof t.values.limit=="string"?{limit:Number(t.values.limit)}:{}});return{outputMode:B(e),human:`Project: ${n}
165
165
  Operations: ${o.plane}
166
166
  Total: ${o.summary.total}
167
- Attention: ${o.summary.attention}`,value:{schemaVersion:1,ok:!0,command:"operations",result:{project:n,...o}}}}async function bN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"}}})}catch{return v("Doctor arguments are invalid.")}if(typeof t.values.workspace!="string")return v("Doctor requires --workspace.");let r=await Pt(N.resolve(t.values.workspace));if(W(JSON.parse(await ie(N.join(r,"project-capabilities.json"),"utf8"))).profile?.id!=="workspace-root")return v("Doctor requires a workspace-root project.");let i=[{unit:".",kind:"root",projectRoot:r}];for(let s of["packages","apps"])for(let c of await Jy(N.join(r,s),{withFileTypes:!0}).catch(()=>[])){if(!c.isDirectory()||c.isSymbolicLink())continue;let l=N.join(r,s,c.name);try{await ie(N.join(l,"project-capabilities.json"))}catch{continue}i.push({unit:`${s}/${c.name}`,kind:s==="packages"?"package":"application",projectRoot:l})}let o=[];for(let s of i){let c="invalid",l;try{let p=(await Cd(["--project",s.projectRoot,"--json"])).value.result;c=p.state??"invalid",l=gd(c),c==="adopted"&&p.lock!==null&&typeof p.lock=="object"?l.push(...await Gi({projectRoot:s.projectRoot,lock:p.lock})):c==="adopted"&&l.push({code:"EVIDENCE_INVALID",severity:"critical",fact:"evidence",message:"\u5DF2\u91C7\u7528\u5355\u5143\u7F3A\u5C11\u53EF\u6838\u9A8C\u7684\u91C7\u7528\u9501\u3002",action:"\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\u5E76\u63D0\u4EA4\u91C7\u7528\u9501\u3002"})}catch{l=gd("invalid")}try{let d=W(JSON.parse(await ie(N.join(s.projectRoot,"project-capabilities.json"),"utf8")));d.profile?.id==="workspace-web-application"&&l.push(...await Qg({workspaceRoot:r,applicationId:String(d.profile.parameters.name)}))}catch{}o.push({unit:s.unit,kind:s.kind,state:c,findings:l})}let a=ey({workspace:N.basename(r),generatedAt:new Date().toISOString(),units:o});return{outputMode:B(e),human:`Workspace: ${a.workspace}
167
+ Attention: ${o.summary.attention}`,value:{schemaVersion:1,ok:!0,command:"operations",result:{project:n,...o}}}}async function vN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"}}})}catch{return v("Doctor arguments are invalid.")}if(typeof t.values.workspace!="string")return v("Doctor requires --workspace.");let r=await Pt(N.resolve(t.values.workspace));if(W(JSON.parse(await ie(N.join(r,"project-capabilities.json"),"utf8"))).profile?.id!=="workspace-root")return v("Doctor requires a workspace-root project.");let i=[{unit:".",kind:"root",projectRoot:r}];for(let s of["packages","apps"])for(let c of await Jy(N.join(r,s),{withFileTypes:!0}).catch(()=>[])){if(!c.isDirectory()||c.isSymbolicLink())continue;let l=N.join(r,s,c.name);try{await ie(N.join(l,"project-capabilities.json"))}catch{continue}i.push({unit:`${s}/${c.name}`,kind:s==="packages"?"package":"application",projectRoot:l})}let o=[];for(let s of i){let c="invalid",l;try{let p=(await Cd(["--project",s.projectRoot,"--json"])).value.result;c=p.state??"invalid",l=gd(c),c==="adopted"&&p.lock!==null&&typeof p.lock=="object"?l.push(...await Gi({projectRoot:s.projectRoot,lock:p.lock})):c==="adopted"&&l.push({code:"EVIDENCE_INVALID",severity:"critical",fact:"evidence",message:"\u5DF2\u91C7\u7528\u5355\u5143\u7F3A\u5C11\u53EF\u6838\u9A8C\u7684\u91C7\u7528\u9501\u3002",action:"\u91CD\u65B0\u8FD0\u884C\u9A8C\u8BC1\u5E76\u63D0\u4EA4\u91C7\u7528\u9501\u3002"})}catch{l=gd("invalid")}try{let d=W(JSON.parse(await ie(N.join(s.projectRoot,"project-capabilities.json"),"utf8")));d.profile?.id==="workspace-web-application"&&l.push(...await Qg({workspaceRoot:r,applicationId:String(d.profile.parameters.name)}))}catch{}o.push({unit:s.unit,kind:s.kind,state:c,findings:l})}let a=ey({workspace:N.basename(r),generatedAt:new Date().toISOString(),units:o});return{outputMode:B(e),human:`Workspace: ${a.workspace}
168
168
  Status: ${a.status}
169
169
  Units: ${a.summary.total}
170
170
  Healthy: ${a.summary.healthy}
171
171
  Attention: ${a.summary.attention}
172
172
  Blocked: ${a.summary.blocked}
173
173
  `+a.units.map(s=>`${s.unit}: ${s.status} (${s.findings.map(c=>c.code).join(", ")})`).join(`
174
- `),value:{schemaVersion:1,ok:!0,command:"doctor",result:a}}}async function $d(e){let{LocalDockerDeploymentAdapter:t,NpmjsPublisherAdapter:r,HostedStaticPublicationAdapter:n}=await import("./optional-runtime.js");return e==="npm-publish"?new r:e==="application-deploy"?new t:e==="hosted-static"?new n:v("Delivery kind must be npm-publish, application-deploy, or hosted-static.")}function Gy(e){return e.length<=16?e:`${e.slice(0,12)}\u2026`}async function eh(e){let t=W(JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8"))),r=await Fe(e),n=r?.capabilities[0];if(r===null||n===void 0||r.capabilities.length!==1)return v("Delivery requires one adopted capability Lock.");if(t.profile===void 0||t.capabilities[0]?.capabilityId!==n.capabilityId||t.capabilities[0]?.version!==n.version)return v("Manifest and verified Lock must identify the same adopted capability.");let i=n.assets.filter(o=>!o.path.startsWith("src/"));return await Tr({projectRoot:e,expectedAssets:i}),{manifest:t,lock:r,locked:n,lockDigest:h(k(r))}}async function kN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},kind:{type:"string"},provider:{type:"string"},repository:{type:"string"},workflow:{type:"string"},ref:{type:"string"},environment:{type:"string"}}})}catch{return v("Delivery plan arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.kind!="string")return v("Delivery plan requires --project and --kind.");let r=N.resolve(t.values.project),n=await eh(r),o=await(await $d(t.values.kind)).prepare({projectRoot:r,profile:n.manifest.profile.id,parameters:n.manifest.profile.parameters});if(t.values.kind==="npm-publish"&&await Dg({projectRoot:r,artifactIdentity:o.artifact.identity})!==null)throw new D("NPM_REGISTRY_OUTCOME_UNKNOWN","An earlier Delivery Plan started a remote write for this exact npm version without a resolved Registry outcome");let a=t.values.kind==="npm-publish"?(()=>{let d=t.values.provider,p=t.values.repository,f=t.values.workflow,u=t.values.ref;if(d!=="github-actions"&&d!=="gitlab-ci"||typeof p!="string"||typeof f!="string"||typeof u!="string")throw new D("DELIVERY_PRECONDITION_FAILED","Secure npm Delivery Plan requires --provider, --repository, --workflow and --ref.");return{mode:"staged",access:"public",tag:"latest",authentication:"trusted-publishing",trustedAction:"stage-only",provenance:"required",execution:{provider:d,repository:p,workflow:f,ref:u,...typeof t.values.environment=="string"?{environment:t.values.environment}:{}}}})():void 0;if(a!==void 0){let d=JSON.parse(await ie(N.join(r,"package.json"),"utf8")),p=typeof d.repository=="string"?d.repository:d.repository!==null&&typeof d.repository=="object"?d.repository.url:void 0,f=`https://${a.execution.provider==="github-actions"?"github.com":"gitlab.com"}/${a.execution.repository}`;if(p!==f)throw new D("NPM_PROVENANCE_REQUIRED","package.json repository does not match the trusted publishing repository identity")}let s=new Date,c=ld({kind:t.values.kind,project:{profile:n.manifest.profile.id,lockDigest:n.lockDigest,appliedPlanId:n.locked.appliedPlanId},artifact:o.artifact,target:o.target,risk:t.values.kind==="npm-publish"?"irreversible-publish":t.values.kind==="hosted-static"?"external-reversible-publication":"local-reversible-deployment",createdAt:s.toISOString(),expiresAt:new Date(s.getTime()+1800*1e3).toISOString(),...a===void 0?{}:{publication:a}});await Ng({projectRoot:r,plan:c});let l=ee(r);return{outputMode:B(e),human:`Project: ${l}
174
+ `),value:{schemaVersion:1,ok:!0,command:"doctor",result:a}}}async function $d(e){let{LocalDockerDeploymentAdapter:t,NpmjsPublisherAdapter:r,HostedStaticPublicationAdapter:n}=await import("./optional-runtime.js");return e==="npm-publish"?new r:e==="application-deploy"?new t:e==="hosted-static"?new n:v("Delivery kind must be npm-publish, application-deploy, or hosted-static.")}function Gy(e){return e.length<=16?e:`${e.slice(0,12)}\u2026`}async function eh(e){let t=W(JSON.parse(await ie(N.join(e,"project-capabilities.json"),"utf8"))),r=await Fe(e),n=r?.capabilities[0];if(r===null||n===void 0||r.capabilities.length!==1)return v("Delivery requires one adopted capability Lock.");if(t.profile===void 0||t.capabilities[0]?.capabilityId!==n.capabilityId||t.capabilities[0]?.version!==n.version)return v("Manifest and verified Lock must identify the same adopted capability.");let i=n.assets.filter(o=>!o.path.startsWith("src/"));return await Tr({projectRoot:e,expectedAssets:i}),{manifest:t,lock:r,locked:n,lockDigest:h(k(r))}}async function bN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},kind:{type:"string"},provider:{type:"string"},repository:{type:"string"},workflow:{type:"string"},ref:{type:"string"},environment:{type:"string"}}})}catch{return v("Delivery plan arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.kind!="string")return v("Delivery plan requires --project and --kind.");let r=N.resolve(t.values.project),n=await eh(r),o=await(await $d(t.values.kind)).prepare({projectRoot:r,profile:n.manifest.profile.id,parameters:n.manifest.profile.parameters});if(t.values.kind==="npm-publish"&&await Dg({projectRoot:r,artifactIdentity:o.artifact.identity})!==null)throw new D("NPM_REGISTRY_OUTCOME_UNKNOWN","An earlier Delivery Plan started a remote write for this exact npm version without a resolved Registry outcome");let a=t.values.kind==="npm-publish"?(()=>{let d=t.values.provider,p=t.values.repository,f=t.values.workflow,u=t.values.ref;if(d!=="github-actions"&&d!=="gitlab-ci"||typeof p!="string"||typeof f!="string"||typeof u!="string")throw new D("DELIVERY_PRECONDITION_FAILED","Secure npm Delivery Plan requires --provider, --repository, --workflow and --ref.");return{mode:"staged",access:"public",tag:"latest",authentication:"trusted-publishing",trustedAction:"stage-only",provenance:"required",execution:{provider:d,repository:p,workflow:f,ref:u,...typeof t.values.environment=="string"?{environment:t.values.environment}:{}}}})():void 0;if(a!==void 0){let d=JSON.parse(await ie(N.join(r,"package.json"),"utf8")),p=typeof d.repository=="string"?d.repository:d.repository!==null&&typeof d.repository=="object"?d.repository.url:void 0,f=`https://${a.execution.provider==="github-actions"?"github.com":"gitlab.com"}/${a.execution.repository}`;if(p!==f)throw new D("NPM_PROVENANCE_REQUIRED","package.json repository does not match the trusted publishing repository identity")}let s=new Date,c=ld({kind:t.values.kind,project:{profile:n.manifest.profile.id,lockDigest:n.lockDigest,appliedPlanId:n.locked.appliedPlanId},artifact:o.artifact,target:o.target,risk:t.values.kind==="npm-publish"?"irreversible-publish":t.values.kind==="hosted-static"?"external-reversible-publication":"local-reversible-deployment",createdAt:s.toISOString(),expiresAt:new Date(s.getTime()+1800*1e3).toISOString(),...a===void 0?{}:{publication:a}});await Ng({projectRoot:r,plan:c});let l=ee(r);return{outputMode:B(e),human:`Project: ${l}
175
175
  Delivery: ${c.kind}
176
176
  Artifact: ${c.artifact.identity}
177
177
  Target: ${c.target.location}
@@ -183,7 +183,7 @@ Execution: ${c.publication.execution.provider}:${c.publication.execution.reposit
183
183
  Approval: maintainer 2FA required outside Dyyto`}
184
184
  Plan: ${c.planId}
185
185
  State: reviewable
186
- Next: dyyto delivery apply --project ${l} --approve ${c.planId}`,value:{schemaVersion:1,ok:!0,command:"delivery-plan",result:{project:l,plan:c}}}}async function _N(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},approve:{type:"string"}}})}catch{return v("Delivery apply arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.approve!="string")return v("Delivery apply requires --project and --approve <planId>.");let r=N.resolve(t.values.project),n=await Jt({projectRoot:r,planId:t.values.approve}),i=await Dn({projectRoot:r,planId:n.planId}),o=ee(r);if(i!==null)return{outputMode:B(e),human:`Project: ${o}
186
+ Next: dyyto delivery apply --project ${l} --approve ${c.planId}`,value:{schemaVersion:1,ok:!0,command:"delivery-plan",result:{project:l,plan:c}}}}async function kN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},approve:{type:"string"}}})}catch{return v("Delivery apply arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.approve!="string")return v("Delivery apply requires --project and --approve <planId>.");let r=N.resolve(t.values.project),n=await Jt({projectRoot:r,planId:t.values.approve}),i=await Dn({projectRoot:r,planId:n.planId}),o=ee(r);if(i!==null)return{outputMode:B(e),human:`Project: ${o}
187
187
  Delivery: verified
188
188
  Receipt: ${i.receiptId}`,value:{schemaVersion:1,ok:!0,command:"delivery-apply",result:{project:o,reused:!0,receipt:i}}};let a=n.kind==="npm-publish"?await jn({projectRoot:r,planId:n.planId}):null;if(a!==null)return{outputMode:B(e),human:`Project: ${o}
189
189
  Delivery: staged
@@ -194,7 +194,7 @@ Stage: ${Gy(u.stageId)}
194
194
  State: approval-pending`,value:{schemaVersion:1,ok:!0,command:"delivery-apply",result:{project:o,state:"staged",record:u}}}}if(n.kind==="application-deploy"&&(await l.inspect({projectRoot:r,plan:n})).state!=="verified")throw new D("DELIVERY_EXECUTION_UNKNOWN","Docker deployment outcome could not be verified");let f=$a({planId:n.planId,kind:n.kind,adapterId:n.target.adapterId,artifactDigest:n.artifact.digest,target:n.target.location,externalIdentity:p.externalIdentity,completedAt:new Date().toISOString(),details:p.details});return await dd({projectRoot:r,receipt:f}),{outputMode:B(e),human:`Project: ${o}
195
195
  Delivery: verified
196
196
  Receipt: ${f.receiptId}
197
- External: ${f.externalIdentity}`,value:{schemaVersion:1,ok:!0,command:"delivery-apply",result:{project:o,receipt:f}}}}async function AN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},plan:{type:"string"},"stage-artifact":{type:"string"}}})}catch{return v("Delivery inspect arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.plan!="string")return v("Delivery inspect requires --project and --plan <planId>.");let r=N.resolve(t.values.project),n=await Jt({projectRoot:r,planId:t.values.plan}),i=await Dn({projectRoot:r,planId:n.planId}),o=ee(r);if(i!==null)return{outputMode:B(e),human:`Project: ${o}
197
+ External: ${f.externalIdentity}`,value:{schemaVersion:1,ok:!0,command:"delivery-apply",result:{project:o,receipt:f}}}}async function _N(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},plan:{type:"string"},"stage-artifact":{type:"string"}}})}catch{return v("Delivery inspect arguments are invalid.")}if(typeof t.values.project!="string"||typeof t.values.plan!="string")return v("Delivery inspect requires --project and --plan <planId>.");let r=N.resolve(t.values.project),n=await Jt({projectRoot:r,planId:t.values.plan}),i=await Dn({projectRoot:r,planId:n.planId}),o=ee(r);if(i!==null)return{outputMode:B(e),human:`Project: ${o}
198
198
  Delivery: verified
199
199
  Plan: ${n.planId}`,value:{schemaVersion:1,ok:!0,command:"delivery-inspect",result:{project:o,state:"verified",plan:n,receipt:i}}};let a=n.kind==="npm-publish"?await jn({projectRoot:r,planId:n.planId}):null,s=n.kind==="npm-publish"?await $g({projectRoot:r,planId:n.planId}):null;if(typeof t.values["stage-artifact"]=="string"){if(n.kind!=="npm-publish"||a===null)throw new D("DELIVERY_PRECONDITION_FAILED","Stage artifact review requires an existing npm Stage Record");let l=h(await ie(N.resolve(t.values["stage-artifact"])));if(l!==n.artifact.digest||l!==a.artifactDigest)throw new D("DELIVERY_PRECONDITION_FAILED","Reviewed stage artifact does not match the approved Delivery Plan");s=Pg({planId:n.planId,stageId:a.stageId,artifactDigest:l,reviewedAt:new Date().toISOString()}),await Cg({projectRoot:r,record:s})}let c=await(await $d(n.kind)).inspect({projectRoot:r,plan:n});if(n.kind==="npm-publish"&&a!==null&&c.state==="verified"){if(n.schemaVersion!==2||n.publication===void 0||c.details.artifactDigest!==n.artifact.digest||c.details.provenance!=="registry-attestation-present"||c.details.provenanceUrlDigest===void 0)throw new D("NPM_PROVENANCE_REQUIRED","Registry inspection did not prove the approved npm artifact and provenance");let l=$a({planId:n.planId,kind:n.kind,adapterId:"registry.npmjs",artifactDigest:n.artifact.digest,target:n.target.location,externalIdentity:n.artifact.identity,completedAt:new Date().toISOString(),npm:{stageId:a.stageId,registry:"https://registry.npmjs.org",tarballDigest:n.artifact.digest,access:n.publication.access,tag:n.publication.tag,provenance:"registry-attested",attestationUrlDigest:c.details.provenanceUrlDigest}});return await dd({projectRoot:r,receipt:l}),{outputMode:B(e),human:`Project: ${o}
200
200
  Delivery: verified
@@ -204,38 +204,38 @@ Plan: ${n.planId}
204
204
  Artifact review: ${s===null?"pending":"verified"}
205
205
  State: ${l}`,value:{schemaVersion:1,ok:!0,command:"delivery-inspect",result:{project:o,state:l,plan:n,stage:a,review:s,receipt:null,adapter:c}}}}if(n.kind==="npm-publish"&&c.state==="verified")throw new D("NPM_REGISTRY_OUTCOME_UNKNOWN","Live npm artifact is visible but no immutable Stage Record exists for this Plan");return{outputMode:B(e),human:`Project: ${o}
206
206
  Delivery: ${c.state}
207
- Plan: ${n.planId}`,value:{schemaVersion:1,ok:!0,command:"delivery-inspect",result:{project:o,state:c.state,plan:n,receipt:null,adapter:c}}}}async function RN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},application:{type:"string"},limit:{type:"string"},cursor:{type:"string"}}})}catch{return v("Observe errors arguments are invalid.")}if(typeof t.values.workspace!="string")return v("Observe errors requires --workspace.");let r=await Pt(N.resolve(t.values.workspace)),n=new Wt(r),i={...typeof t.values.application=="string"?{applicationId:t.values.application}:{},...typeof t.values.limit=="string"?{limit:Number(t.values.limit)}:{},...typeof t.values.cursor=="string"?{cursor:t.values.cursor}:{}},[o,a]=await Promise.all([n.list(i),n.summary(i)]);return{outputMode:B(e),human:o.events.length===0?"\u672A\u53D1\u73B0\u8FD0\u884C\u65F6\u9519\u8BEF\u3002":o.events.map(s=>`${s.occurredAt} ${s.applicationId} ${s.error.type}: ${s.error.message} (${s.state}, ${s.correlation})`).join(`
208
- `),value:{schemaVersion:1,ok:!0,command:"observe-errors",result:{...o,summary:a}}}}async function EN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},id:{type:"string"}}})}catch{return v("Observe error arguments are invalid.")}if(typeof t.values.workspace!="string"||typeof t.values.id!="string")return v("Observe error requires --workspace and --id.");let r=await new Wt(await Pt(N.resolve(t.values.workspace))).get(t.values.id);if(r===null)throw new j({code:"RUNTIME_ERROR_NOT_FOUND",message:"Runtime Error Event was not found.",exitCode:4,nextStep:"List recent errors and verify the event ID."});return{outputMode:B(e),human:`${r.error.type}: ${r.error.message}
207
+ Plan: ${n.planId}`,value:{schemaVersion:1,ok:!0,command:"delivery-inspect",result:{project:o,state:c.state,plan:n,receipt:null,adapter:c}}}}async function AN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},application:{type:"string"},limit:{type:"string"},cursor:{type:"string"}}})}catch{return v("Observe errors arguments are invalid.")}if(typeof t.values.workspace!="string")return v("Observe errors requires --workspace.");let r=await Pt(N.resolve(t.values.workspace)),n=new Wt(r),i={...typeof t.values.application=="string"?{applicationId:t.values.application}:{},...typeof t.values.limit=="string"?{limit:Number(t.values.limit)}:{},...typeof t.values.cursor=="string"?{cursor:t.values.cursor}:{}},[o,a]=await Promise.all([n.list(i),n.summary(i)]);return{outputMode:B(e),human:o.events.length===0?"\u672A\u53D1\u73B0\u8FD0\u884C\u65F6\u9519\u8BEF\u3002":o.events.map(s=>`${s.occurredAt} ${s.applicationId} ${s.error.type}: ${s.error.message} (${s.state}, ${s.correlation})`).join(`
208
+ `),value:{schemaVersion:1,ok:!0,command:"observe-errors",result:{...o,summary:a}}}}async function RN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},workspace:{type:"string"},id:{type:"string"}}})}catch{return v("Observe error arguments are invalid.")}if(typeof t.values.workspace!="string"||typeof t.values.id!="string")return v("Observe error requires --workspace and --id.");let r=await new Wt(await Pt(N.resolve(t.values.workspace))).get(t.values.id);if(r===null)throw new j({code:"RUNTIME_ERROR_NOT_FOUND",message:"Runtime Error Event was not found.",exitCode:4,nextStep:"List recent errors and verify the event ID."});return{outputMode:B(e),human:`${r.error.type}: ${r.error.message}
209
209
  State: ${r.state}
210
210
  Correlation: ${r.correlation}
211
211
  Release: ${r.releaseId??"unknown"}
212
- Deployment: ${r.deploymentId??"unknown"}`,value:{schemaVersion:1,ok:!0,command:"observe-error",result:{event:r}}}}async function PN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},workspace:{type:"string"}}})}catch{return v("Observe release register arguments are invalid.")}if(typeof t.values.project!="string")return v("Observe release register requires --project.");let r=await Pt(N.resolve(t.values.project)),n=await Pt(N.resolve(typeof t.values.workspace=="string"?t.values.workspace:N.join(r,"../.."))),{registerWebRelease:i}=await import("./optional-runtime.js"),o=await i({workspaceRoot:n,projectRoot:r});return{outputMode:B(e),human:`Release: ${o.releaseId}
212
+ Deployment: ${r.deploymentId??"unknown"}`,value:{schemaVersion:1,ok:!0,command:"observe-error",result:{event:r}}}}async function EN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},project:{type:"string"},workspace:{type:"string"}}})}catch{return v("Observe release register arguments are invalid.")}if(typeof t.values.project!="string")return v("Observe release register requires --project.");let r=await Pt(N.resolve(t.values.project)),n=await Pt(N.resolve(typeof t.values.workspace=="string"?t.values.workspace:N.join(r,"../.."))),{registerWebRelease:i}=await import("./optional-runtime.js"),o=await i({workspaceRoot:n,projectRoot:r});return{outputMode:B(e),human:`Release: ${o.releaseId}
213
213
  Source Maps: ${o.registrations.length}
214
- \u516C\u5F00\u4EA7\u7269\u5DF2\u79FB\u9664 .map \u6587\u4EF6\u3002`,value:{schemaVersion:1,ok:!0,command:"observe-release-register",result:o}}}async function NN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},query:{type:"string"},kind:{type:"string"},limit:{type:"string"}}})}catch{return v("Catalog search \u53C2\u6570\u65E0\u6548\u3002")}let r=t.values.kind;if(r!==void 0&&r!=="all"&&r!=="package"&&r!=="capability")return v("Catalog search --kind \u53EA\u63A5\u53D7 all\u3001package \u6216 capability\u3002");let n=t.values.limit===void 0?50:Number(t.values.limit);if(!Number.isSafeInteger(n)||n<1||n>200)return v("Catalog search --limit \u5FC5\u987B\u662F 1 \u5230 200 \u7684\u6574\u6570\u3002");let i=await Ka({...typeof t.values.query=="string"?{query:t.values.query}:{},...r==="package"||r==="capability"?{kind:r}:{},limit:n}),o=i.items.length===0?"\u76EE\u5F55\u4E2D\u6CA1\u6709\u5339\u914D\u7684\u5DE5\u7A0B\u80FD\u529B\u3002":i.items.map(a=>`${a.ref}
214
+ \u516C\u5F00\u4EA7\u7269\u5DF2\u79FB\u9664 .map \u6587\u4EF6\u3002`,value:{schemaVersion:1,ok:!0,command:"observe-release-register",result:o}}}async function PN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},query:{type:"string"},kind:{type:"string"},limit:{type:"string"}}})}catch{return v("Catalog search \u53C2\u6570\u65E0\u6548\u3002")}let r=t.values.kind;if(r!==void 0&&r!=="all"&&r!=="package"&&r!=="capability")return v("Catalog search --kind \u53EA\u63A5\u53D7 all\u3001package \u6216 capability\u3002");let n=t.values.limit===void 0?50:Number(t.values.limit);if(!Number.isSafeInteger(n)||n<1||n>200)return v("Catalog search --limit \u5FC5\u987B\u662F 1 \u5230 200 \u7684\u6574\u6570\u3002");let i=await Ka({...typeof t.values.query=="string"?{query:t.values.query}:{},...r==="package"||r==="capability"?{kind:r}:{},limit:n}),o=i.items.length===0?"\u76EE\u5F55\u4E2D\u6CA1\u6709\u5339\u914D\u7684\u5DE5\u7A0B\u80FD\u529B\u3002":i.items.map(a=>`${a.ref}
215
215
  ${a.summary}
216
216
  \u6210\u719F\u5EA6\uFF1A${a.maturity}`).join(`
217
- `);return{outputMode:B(e),human:o,value:{schemaVersion:1,ok:!0,command:"catalog-search",result:i}}}async function ON(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},ref:{type:"string"}}})}catch{return v("Catalog show \u53C2\u6570\u65E0\u6548\u3002")}if(typeof t.values.ref!="string"||t.values.ref.trim()==="")return v("Catalog show \u9700\u8981 --ref\u3002");let r=await Ya({ref:t.values.ref});return{outputMode:B(e),human:`${r.item.ref}
217
+ `);return{outputMode:B(e),human:o,value:{schemaVersion:1,ok:!0,command:"catalog-search",result:i}}}async function NN(e){let t;try{t=de({args:[...e],allowPositionals:!1,strict:!0,options:{json:{type:"boolean"},ref:{type:"string"}}})}catch{return v("Catalog show \u53C2\u6570\u65E0\u6548\u3002")}if(typeof t.values.ref!="string"||t.values.ref.trim()==="")return v("Catalog show \u9700\u8981 --ref\u3002");let r=await Ya({ref:t.values.ref});return{outputMode:B(e),human:`${r.item.ref}
218
218
  ${r.item.summary}
219
219
  \u6210\u719F\u5EA6\uFF1A${r.item.maturity}
220
- \u5B8C\u6574\u6027\uFF1A${r.item.integrity}`,value:{schemaVersion:1,ok:!0,command:"catalog-show",result:r}}}async function ts(e,t={}){let r=e[0]==="--"?e.slice(1):e,n=B(r);if(r[0]==="--version"&&r.every(a=>a==="--version"||a==="--json"))return{outputMode:n,human:Fn,value:{schemaVersion:1,ok:!0,command:"version",result:{version:Fn}}};if(r.length===0||r[0]==="--help"||r[0]==="-h")return{outputMode:n,human:np,value:{schemaVersion:1,ok:!0,command:"help",result:{usage:"dyyto <command> [options]"}}};let[i,...o]=r;return i==="catalog"&&o[0]==="search"?NN(o.slice(1)):i==="catalog"&&o[0]==="show"?ON(o.slice(1)):i==="create"?Xy(o):i==="scaffold"&&o[0]==="example"?uN(o.slice(1),t):i==="retrofit"?iN(o):i==="dev"||i==="build"||i==="test"||i==="package"?oN(i,o):i==="add"&&o[0]==="package"?aN(o.slice(1)):i==="add"&&o[0]==="application"?sN(o.slice(1)):i==="add"&&o[0]==="feature"?Zy(o.slice(1),t):i==="remove"&&o[0]==="feature"?cN(o.slice(1),t):i==="plan"?lN(o):i==="upgrade"?pN(o,t):i==="apply"?Dd(o,t):i==="verify"?jd(o):i==="inspect"?Cd(o):i==="doctor"?bN(o):i==="recover"?fN(o):i==="lifecycle"&&typeof o[0]=="string"?mN(o[0],o.slice(1)):i==="packages"&&o[0]==="switch"?yN(o.slice(1)):i==="integrations"?gN(o):i==="maintenance"?hN(o):i==="config"&&o[0]==="inspect"?wN(o.slice(1)):i==="config"&&o[0]==="readiness"?IN(o.slice(1)):i==="operations"?vN(o):i==="baseline"?dN(o):i==="delivery"&&o[0]==="plan"?kN(o.slice(1)):i==="delivery"&&o[0]==="apply"?_N(o.slice(1)):i==="delivery"&&o[0]==="inspect"?AN(o.slice(1)):i==="observe"&&o[0]==="errors"?RN(o.slice(1)):i==="observe"&&o[0]==="error"?EN(o.slice(1)):i==="observe"&&o[0]==="release"&&o[1]==="register"?PN(o.slice(2)):v(`Unknown command '${i}'.`)}import{createServer as SN}from"node:http";import{readFile as DN,readdir as ST,rm as DT}from"node:fs/promises";import{execFile as jN}from"node:child_process";import{promisify as CN}from"node:util";import $N from"node:path";var LT=CN(jN),Td=class{constructor(t=10,r=20,n=Date.now){this.rate=t;this.burst=r;this.now=n}rate;burst;now;buckets=new Map;take(t){let r=this.now(),n=this.buckets.get(t)??{tokens:this.burst,updatedAt:r};return n.tokens=Math.min(this.burst,n.tokens+Math.max(0,r-n.updatedAt)/1e3*this.rate),n.updatedAt=r,n.tokens<1?(this.buckets.set(t,n),{allowed:!1,retryAfterSeconds:Math.max(1,Math.ceil((1-n.tokens)/this.rate))}):(n.tokens-=1,this.buckets.set(t,n),{allowed:!0})}};async function TN(e){try{let t=JSON.parse(await DN($N.join(e,".dyyto","observability","config.json"),"utf8"));return!Array.isArray(t.allowedOrigins)||!t.allowedOrigins.every(r=>typeof r=="string")?[]:t.allowedOrigins}catch{return[]}}async function th(e){let t=new Wt(e.workspaceRoot),r=[...e.allowedOrigins??await TN(e.workspaceRoot)],n=new Td,i={accepted:0,rejectedInvalid:0,rejectedOrigin:0,rateLimited:0,storeFailed:0},o=SN(async(s,c)=>{if(c.setHeader("cache-control","no-store"),c.setHeader("content-type","application/json; charset=utf-8"),s.method==="GET"&&s.url==="/health"){c.end(JSON.stringify({status:"healthy"}));return}if(s.method!=="POST"||s.url!=="/v1/runtime-errors"){c.statusCode=404,c.end(JSON.stringify({error:{code:"NOT_FOUND"}}));return}let l=s.headers.origin;if(typeof l!="string"||!r.includes(l)){i.rejectedOrigin+=1,c.statusCode=403,c.end(JSON.stringify({error:{code:"RUNTIME_ERROR_INVALID"}}));return}let d=n.take(l);if(!d.allowed){i.rateLimited+=1,c.statusCode=429,c.setHeader("retry-after",String(d.retryAfterSeconds)),c.end(JSON.stringify({error:{code:"RUNTIME_ERROR_RATE_LIMITED"}}));return}let p=[],f=0;try{for await(let m of s){let g=Buffer.from(m);if(f+=g.length,f>64*1024)throw new ae("RUNTIME_ERROR_TOO_LARGE","Runtime Error request exceeds 64 KiB");p.push(g)}let u=await t.accept(JSON.parse(Buffer.concat(p).toString("utf8")),{receivedAt:new Date().toISOString(),allowedOrigins:r,resolveCorrelation:m=>Xg(e.workspaceRoot,m)});i.accepted+=1,c.statusCode=202,c.end(JSON.stringify({accepted:u}))}catch(u){let m=u instanceof ae?u:null;m?.code==="RUNTIME_ERROR_INVALID"||m?.code==="RUNTIME_ERROR_IDENTITY_UNKNOWN"||m?.code==="RUNTIME_ERROR_TOO_LARGE"?i.rejectedInvalid+=1:i.storeFailed+=1,c.statusCode=m?.code==="RUNTIME_ERROR_TOO_LARGE"?413:m?.code==="RUNTIME_ERROR_RATE_LIMITED"?429:m?.code==="RUNTIME_ERROR_INVALID"||m?.code==="RUNTIME_ERROR_IDENTITY_UNKNOWN"?400:500,c.end(JSON.stringify({error:{code:m?.code??"OBSERVABILITY_STORE_FAILED"}}))}});await new Promise((s,c)=>{o.once("error",c),o.listen(e.port??4318,"127.0.0.1",()=>{o.off("error",c),s()})});let a=o.address();if(a===null||typeof a=="string")throw new Error("Collector did not expose a TCP address");return{server:o,origin:`http://127.0.0.1:${a.port}`,snapshot:()=>({...i}),close:()=>new Promise((s,c)=>o.close(l=>l?c(l):s()))}}import{createHash as LN}from"node:crypto";import{createServer as xN}from"node:http";import{readFile as rh,realpath as nh}from"node:fs/promises";import rs from"node:path";var Ue=class extends Error{constructor(r){super(r);this.code=r}code};function VN(e){return"sha512-"+LN("sha512").update(e).digest("base64")}async function eo(e){let t=await nh(e).catch(()=>{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}),r=await rh(rs.join(t,"index.json"),"utf8").catch(()=>{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}),n;try{n=Yr(JSON.parse(r))}catch{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}let i=new Map;for(let o of n.artifacts){let a=rs.join(t,o.assetName),s=rs.relative(t,await nh(a).catch(()=>{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}));if(!s||s.startsWith("..")||rs.isAbsolute(s))throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let c=await rh(a);if(h(c)!==o.tarballDigest||VN(c)!==o.integrity)throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");i.set(o.assetName,c)}return{root:t,bundle:n,assets:i}}function MN(e){return new Promise((t,r)=>e.close(n=>n?r(n):t()))}function ih(e){return JSON.stringify({packageName:e.packageName,version:e.version,assetName:e.assetName,integrity:e.integrity,tarballDigest:e.tarballDigest,dependencies:e.dependencies,lifecycleScripts:e.lifecycleScripts})}function FN(e,t){let r=o=>o.split(/[.-]/u).map(a=>/^\d+$/u.test(a)?Number(a):a),n=r(e),i=r(t);for(let o=0;o<Math.max(n.length,i.length);o+=1){let a=n[o]??0,s=i[o]??0;if(a!==s)return typeof a=="number"&&typeof s=="number"?a-s:String(a).localeCompare(String(s))}return 0}function UN(e,t){let r=new Map,n=new Map;for(let i of[e,...t])for(let o of i.bundle.artifacts){let a=`${o.packageName}@${o.version}`,s=r.get(a);if(s!==void 0&&ih(s)!==ih(o))throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let c=i.assets.get(o.assetName);if(c===void 0)throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let l=n.get(o.assetName);if(l!==void 0&&!Buffer.from(l).equals(c))throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");r.set(a,o),n.set(o.assetName,c)}return{artifacts:[...r.values()],assets:n}}async function oh(e){if(!Number.isSafeInteger(e.port)||e.port<1||e.port>65535||e.hostname!==void 0&&e.hostname!=="127.0.0.1")throw new Ue("LOCAL_ARTIFACT_SERVER_INVALID");let t=await eo(e.bundleRoot),r=await Promise.all((e.fallbackBundleRoots??[]).map(eo)),n=[t.bundle.bundleId,...r.map(s=>s.bundle.bundleId)];if(new Set(n).size!==n.length)throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let i=UN(t,r),o=e.hostname??"127.0.0.1",a=xN((s,c)=>{let l=s.method??"";if(l!=="GET"&&l!=="HEAD"){c.statusCode=405,c.setHeader("allow","GET, HEAD"),c.end();return}let d=new URL(s.url??"/","http://127.0.0.1").pathname,p=decodeURIComponent(d.slice(1)),f=i.artifacts.filter(u=>u.packageName===p).sort((u,m)=>FN(u.version,m.version));if(f.length>0){let u="http://"+o+":"+e.port,m=Object.fromEntries(f.map(w=>[w.version,{name:w.packageName,version:w.version,dependencies:w.dependencies,dist:{integrity:w.integrity,tarball:u+"/tarballs/"+w.assetName}}])),g=f.at(-1),y=Buffer.from(JSON.stringify({name:g.packageName,versions:m,"dist-tags":{latest:g.version}}));c.statusCode=200,c.setHeader("content-type","application/json"),c.setHeader("content-length",String(y.byteLength)),c.end(l==="HEAD"?void 0:y);return}if(d.startsWith("/tarballs/")){let u=d.slice(10),m=i.assets.get(u);if(m!==void 0){c.statusCode=200,c.setHeader("content-type","application/octet-stream"),c.setHeader("content-length",String(m.byteLength)),c.end(l==="HEAD"?void 0:m);return}}c.statusCode=404,c.setHeader("content-type","application/json"),c.end(l==="HEAD"?void 0:JSON.stringify({error:"not_found"}))});return await new Promise((s,c)=>{a.once("error",c),a.listen(e.port,o,s)}).catch(()=>{throw new Ue("LOCAL_ARTIFACT_SERVER_INVALID")}),Object.freeze({origin:"http://"+o+":"+e.port+"/",bundle:t.bundle,fallbackBundles:Object.freeze(r.map(s=>s.bundle)),close:()=>MN(a)})}import{createHash as qN}from"node:crypto";import{execFile as BN}from"node:child_process";import{cp as zN,mkdir as ah,mkdtemp as Ld,readFile as os,realpath as to,rename as GN,rm as sh,stat as JN,writeFile as is}from"node:fs/promises";import{tmpdir as WN}from"node:os";import Le from"node:path";import{promisify as KN}from"node:util";import{gunzipSync as YN}from"node:zlib";var HN=KN(BN),XN=["preinstall","install","postinstall","prepublish","prepare"],G=class extends Error{constructor(r){super(r);this.code=r}code};function ZN(e){return"sha512-"+qN("sha512").update(e).digest("base64")}async function QN(e,t){let r=await to(e).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")});if(t.length===0||t.length>128||new Set(t).size!==t.length)throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let n=[];for(let i of t){if(!/^(?:packages|fixtures)\/[a-z0-9][a-z0-9._-]{1,127}$/u.test(i))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let o=await to(Le.join(r,i)).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),a=Le.relative(r,o);if(a!==i||a.startsWith("..")||Le.isAbsolute(a))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let s=await os(Le.join(o,"package.json")).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),c;try{c=JSON.parse(Buffer.from(s).toString("utf8"))}catch{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}if(typeof c.name!="string"||typeof c.version!="string")throw new G("LOCAL_ARTIFACT_INPUT_INVALID");n.push({relativeRoot:i,root:o,manifestBytes:s,manifest:c})}return n}function e0(e,t){let r=new Map(e.map(o=>[String(o.manifest.name),String(o.manifest.version)])),n=t.dependencies;if(n===void 0)return{};if(typeof n!="object"||n===null||Array.isArray(n))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let i={};for(let[o,a]of Object.entries(n)){if(typeof a!="string")throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let s=a.startsWith("workspace:")?r.get(o):a;if(s===void 0)throw new G("LOCAL_ARTIFACT_INPUT_INVALID");i[o]=s}return Object.fromEntries(Object.entries(i).sort(([o],[a])=>o.localeCompare(a)))}function t0(e,t){for(let r=0;r+512<=e.length;){let n=e.subarray(r,r+512);if(n.every(a=>a===0))return;let i=n.toString("utf8",0,100).replace(/\0.*$/su,""),o=Number.parseInt(n.toString("utf8",124,136).replace(/\0.*$/su,"").trim(),8);if(!Number.isSafeInteger(o)||o<0)return;if(i===t)return e.subarray(r+512,r+512+o);r+=512+Math.ceil(o/512)*512}}function r0(e,t,r){let n;try{n=YN(e)}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let i=t0(n,"package/package.json");if(i===void 0)throw new G("LOCAL_ARTIFACT_PACK_FAILED");let o;try{o=JSON.parse(i.toString("utf8"))}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let a=o.dependencies===void 0?{}:o.dependencies;if(typeof a!="object"||a===null||Array.isArray(a))throw new G("LOCAL_ARTIFACT_PACK_FAILED");let s=Object.fromEntries(Object.entries(a).sort(([c],[l])=>c.localeCompare(l)));if(o.name!==t.name||o.version!==t.version||JSON.stringify(s)!==JSON.stringify(r))throw new G("LOCAL_ARTIFACT_PACK_FAILED")}function n0(e,t){return e.dependencies===void 0?!1:Object.entries(e.dependencies).some(([r,n])=>t[r]!==n)}async function i0(e,t,r){let n=Le.join(await Ld(Le.join(r,"stage-")),"package");await zN(e.root,n,{recursive:!0,filter:o=>Le.basename(o)!=="node_modules"});let i=JSON.parse(Buffer.from(e.manifestBytes).toString("utf8"));return await is(Le.join(n,"package.json"),`${JSON.stringify({...i,dependencies:t},null,2)}
221
- `),n}async function o0(e,t,r){let n=e0(e,t.manifest),i=n0(t.manifest,n)?await i0(t,n,r):t.root,o;try{({stdout:o}=await HN("npm",["pack","--json","--ignore-scripts","--pack-destination",r],{cwd:i,timeout:12e4,maxBuffer:1024*1024}))}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let a;try{a=JSON.parse(o)}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let s=a[0]?.filename;if(typeof s!="string"||s.includes("/")||s.includes("\\")||!s.endsWith(".tgz"))throw new G("LOCAL_ARTIFACT_PACK_FAILED");let c=await os(Le.join(r,s)).catch(()=>{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}),l=t.manifest.scripts;if(l!==void 0&&(typeof l!="object"||l===null||Array.isArray(l)))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let d=XN.filter(p=>Object.hasOwn(l??{},p));return r0(c,t.manifest,n),{artifact:{packageName:String(t.manifest.name),version:String(t.manifest.version),assetName:s,integrity:ZN(c),tarballDigest:h(c),dependencies:n,lifecycleScripts:d},bytes:c}}async function ch(e,t){let r=await QN(e,t),n=await Ld(Le.join(await to(WN()),"dyyto-local-artifact-pack-"));try{let i=await Promise.all(r.map(a=>o0(r,a,n)));i.sort((a,s)=>(a.artifact.packageName+"@"+a.artifact.version).localeCompare(s.artifact.packageName+"@"+s.artifact.version));let o=hd({artifacts:i.map(a=>a.artifact)});return{packages:r,bundle:o,bytes:new Map(i.map(a=>[a.artifact.assetName,a.bytes]))}}finally{await sh(n,{recursive:!0,force:!0})}}function ns(e,t){return Le.join(e,".dyyto","artifact-plans",t+".json")}function a0(e,t){return Le.join(e,".dyyto","package-artifacts",t)}async function lh(e){let t=await to(e.workspaceRoot).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),r=await ch(t,e.packageRoots),n=e.now??new Date,i=wd({packageInputs:r.packages.map(o=>({relativeRoot:o.relativeRoot,manifestDigest:h(o.manifestBytes)})),bundle:r.bundle,generatedAt:n.toISOString(),expiresAt:new Date(n.getTime()+30*6e4).toISOString()});return await ah(Le.dirname(ns(t,i.planId)),{recursive:!0}),await is(ns(t,i.planId),JSON.stringify(i,null,2)+`
220
+ \u5B8C\u6574\u6027\uFF1A${r.item.integrity}`,value:{schemaVersion:1,ok:!0,command:"catalog-show",result:r}}}async function ts(e,t={}){let r=e[0]==="--"?e.slice(1):e,n=B(r);if(r[0]==="--version"&&r.every(a=>a==="--version"||a==="--json"))return{outputMode:n,human:Fn,value:{schemaVersion:1,ok:!0,command:"version",result:{version:Fn}}};if(r.length===0||r[0]==="--help"||r[0]==="-h")return{outputMode:n,human:np,value:{schemaVersion:1,ok:!0,command:"help",result:{usage:"dyyto <command> [options]"}}};let[i,...o]=r;return i==="catalog"&&o[0]==="search"?PN(o.slice(1)):i==="catalog"&&o[0]==="show"?NN(o.slice(1)):i==="create"?Xy(o):i==="scaffold"&&o[0]==="example"?pN(o.slice(1),t):i==="retrofit"?nN(o):i==="dev"||i==="build"||i==="test"||i==="package"?iN(i,o):i==="add"&&o[0]==="package"?oN(o.slice(1)):i==="add"&&o[0]==="application"?aN(o.slice(1)):i==="add"&&o[0]==="feature"?Zy(o.slice(1),t):i==="remove"&&o[0]==="feature"?sN(o.slice(1),t):i==="plan"?cN(o):i==="upgrade"?dN(o,t):i==="apply"?Dd(o,t):i==="verify"?jd(o):i==="inspect"?Cd(o):i==="doctor"?vN(o):i==="recover"?uN(o):i==="lifecycle"&&typeof o[0]=="string"?fN(o[0],o.slice(1)):i==="packages"&&o[0]==="switch"?gN(o.slice(1)):i==="integrations"?mN(o):i==="maintenance"?yN(o):i==="config"&&o[0]==="inspect"?hN(o.slice(1)):i==="config"&&o[0]==="readiness"?wN(o.slice(1)):i==="operations"?IN(o):i==="baseline"?lN(o):i==="delivery"&&o[0]==="plan"?bN(o.slice(1)):i==="delivery"&&o[0]==="apply"?kN(o.slice(1)):i==="delivery"&&o[0]==="inspect"?_N(o.slice(1)):i==="observe"&&o[0]==="errors"?AN(o.slice(1)):i==="observe"&&o[0]==="error"?RN(o.slice(1)):i==="observe"&&o[0]==="release"&&o[1]==="register"?EN(o.slice(2)):v(`Unknown command '${i}'.`)}import{createServer as ON}from"node:http";import{readFile as SN,readdir as OT,rm as ST}from"node:fs/promises";import{execFile as DN}from"node:child_process";import{promisify as jN}from"node:util";import CN from"node:path";var TT=jN(DN),Td=class{constructor(t=10,r=20,n=Date.now){this.rate=t;this.burst=r;this.now=n}rate;burst;now;buckets=new Map;take(t){let r=this.now(),n=this.buckets.get(t)??{tokens:this.burst,updatedAt:r};return n.tokens=Math.min(this.burst,n.tokens+Math.max(0,r-n.updatedAt)/1e3*this.rate),n.updatedAt=r,n.tokens<1?(this.buckets.set(t,n),{allowed:!1,retryAfterSeconds:Math.max(1,Math.ceil((1-n.tokens)/this.rate))}):(n.tokens-=1,this.buckets.set(t,n),{allowed:!0})}};async function $N(e){try{let t=JSON.parse(await SN(CN.join(e,".dyyto","observability","config.json"),"utf8"));return!Array.isArray(t.allowedOrigins)||!t.allowedOrigins.every(r=>typeof r=="string")?[]:t.allowedOrigins}catch{return[]}}async function th(e){let t=new Wt(e.workspaceRoot),r=[...e.allowedOrigins??await $N(e.workspaceRoot)],n=new Td,i={accepted:0,rejectedInvalid:0,rejectedOrigin:0,rateLimited:0,storeFailed:0},o=ON(async(s,c)=>{if(c.setHeader("cache-control","no-store"),c.setHeader("content-type","application/json; charset=utf-8"),s.method==="GET"&&s.url==="/health"){c.end(JSON.stringify({status:"healthy"}));return}if(s.method!=="POST"||s.url!=="/v1/runtime-errors"){c.statusCode=404,c.end(JSON.stringify({error:{code:"NOT_FOUND"}}));return}let l=s.headers.origin;if(typeof l!="string"||!r.includes(l)){i.rejectedOrigin+=1,c.statusCode=403,c.end(JSON.stringify({error:{code:"RUNTIME_ERROR_INVALID"}}));return}let d=n.take(l);if(!d.allowed){i.rateLimited+=1,c.statusCode=429,c.setHeader("retry-after",String(d.retryAfterSeconds)),c.end(JSON.stringify({error:{code:"RUNTIME_ERROR_RATE_LIMITED"}}));return}let p=[],f=0;try{for await(let m of s){let g=Buffer.from(m);if(f+=g.length,f>64*1024)throw new ae("RUNTIME_ERROR_TOO_LARGE","Runtime Error request exceeds 64 KiB");p.push(g)}let u=await t.accept(JSON.parse(Buffer.concat(p).toString("utf8")),{receivedAt:new Date().toISOString(),allowedOrigins:r,resolveCorrelation:m=>Xg(e.workspaceRoot,m)});i.accepted+=1,c.statusCode=202,c.end(JSON.stringify({accepted:u}))}catch(u){let m=u instanceof ae?u:null;m?.code==="RUNTIME_ERROR_INVALID"||m?.code==="RUNTIME_ERROR_IDENTITY_UNKNOWN"||m?.code==="RUNTIME_ERROR_TOO_LARGE"?i.rejectedInvalid+=1:i.storeFailed+=1,c.statusCode=m?.code==="RUNTIME_ERROR_TOO_LARGE"?413:m?.code==="RUNTIME_ERROR_RATE_LIMITED"?429:m?.code==="RUNTIME_ERROR_INVALID"||m?.code==="RUNTIME_ERROR_IDENTITY_UNKNOWN"?400:500,c.end(JSON.stringify({error:{code:m?.code??"OBSERVABILITY_STORE_FAILED"}}))}});await new Promise((s,c)=>{o.once("error",c),o.listen(e.port??4318,"127.0.0.1",()=>{o.off("error",c),s()})});let a=o.address();if(a===null||typeof a=="string")throw new Error("Collector did not expose a TCP address");return{server:o,origin:`http://127.0.0.1:${a.port}`,snapshot:()=>({...i}),close:()=>new Promise((s,c)=>o.close(l=>l?c(l):s()))}}import{createHash as TN}from"node:crypto";import{createServer as LN}from"node:http";import{readFile as rh,realpath as nh}from"node:fs/promises";import rs from"node:path";var Ue=class extends Error{constructor(r){super(r);this.code=r}code};function xN(e){return"sha512-"+TN("sha512").update(e).digest("base64")}async function eo(e){let t=await nh(e).catch(()=>{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}),r=await rh(rs.join(t,"index.json"),"utf8").catch(()=>{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}),n;try{n=Yr(JSON.parse(r))}catch{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}let i=new Map;for(let o of n.artifacts){let a=rs.join(t,o.assetName),s=rs.relative(t,await nh(a).catch(()=>{throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID")}));if(!s||s.startsWith("..")||rs.isAbsolute(s))throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let c=await rh(a);if(h(c)!==o.tarballDigest||xN(c)!==o.integrity)throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");i.set(o.assetName,c)}return{root:t,bundle:n,assets:i}}function VN(e){return new Promise((t,r)=>e.close(n=>n?r(n):t()))}function ih(e){return JSON.stringify({packageName:e.packageName,version:e.version,assetName:e.assetName,integrity:e.integrity,tarballDigest:e.tarballDigest,dependencies:e.dependencies,lifecycleScripts:e.lifecycleScripts})}function MN(e,t){let r=o=>o.split(/[.-]/u).map(a=>/^\d+$/u.test(a)?Number(a):a),n=r(e),i=r(t);for(let o=0;o<Math.max(n.length,i.length);o+=1){let a=n[o]??0,s=i[o]??0;if(a!==s)return typeof a=="number"&&typeof s=="number"?a-s:String(a).localeCompare(String(s))}return 0}function FN(e,t){let r=new Map,n=new Map;for(let i of[e,...t])for(let o of i.bundle.artifacts){let a=`${o.packageName}@${o.version}`,s=r.get(a);if(s!==void 0&&ih(s)!==ih(o))throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let c=i.assets.get(o.assetName);if(c===void 0)throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let l=n.get(o.assetName);if(l!==void 0&&!Buffer.from(l).equals(c))throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");r.set(a,o),n.set(o.assetName,c)}return{artifacts:[...r.values()],assets:n}}async function oh(e){if(!Number.isSafeInteger(e.port)||e.port<1||e.port>65535||e.hostname!==void 0&&e.hostname!=="127.0.0.1")throw new Ue("LOCAL_ARTIFACT_SERVER_INVALID");let t=await eo(e.bundleRoot),r=await Promise.all((e.fallbackBundleRoots??[]).map(eo)),n=[t.bundle.bundleId,...r.map(s=>s.bundle.bundleId)];if(new Set(n).size!==n.length)throw new Ue("LOCAL_ARTIFACT_BUNDLE_INVALID");let i=FN(t,r),o=e.hostname??"127.0.0.1",a=LN((s,c)=>{let l=s.method??"";if(l!=="GET"&&l!=="HEAD"){c.statusCode=405,c.setHeader("allow","GET, HEAD"),c.end();return}let d=new URL(s.url??"/","http://127.0.0.1").pathname,p=decodeURIComponent(d.slice(1)),f=i.artifacts.filter(u=>u.packageName===p).sort((u,m)=>MN(u.version,m.version));if(f.length>0){let u="http://"+o+":"+e.port,m=Object.fromEntries(f.map(w=>[w.version,{name:w.packageName,version:w.version,dependencies:w.dependencies,dist:{integrity:w.integrity,tarball:u+"/tarballs/"+w.assetName}}])),g=f.at(-1),y=Buffer.from(JSON.stringify({name:g.packageName,versions:m,"dist-tags":{latest:g.version}}));c.statusCode=200,c.setHeader("content-type","application/json"),c.setHeader("content-length",String(y.byteLength)),c.end(l==="HEAD"?void 0:y);return}if(d.startsWith("/tarballs/")){let u=d.slice(10),m=i.assets.get(u);if(m!==void 0){c.statusCode=200,c.setHeader("content-type","application/octet-stream"),c.setHeader("content-length",String(m.byteLength)),c.end(l==="HEAD"?void 0:m);return}}c.statusCode=404,c.setHeader("content-type","application/json"),c.end(l==="HEAD"?void 0:JSON.stringify({error:"not_found"}))});return await new Promise((s,c)=>{a.once("error",c),a.listen(e.port,o,s)}).catch(()=>{throw new Ue("LOCAL_ARTIFACT_SERVER_INVALID")}),Object.freeze({origin:"http://"+o+":"+e.port+"/",bundle:t.bundle,fallbackBundles:Object.freeze(r.map(s=>s.bundle)),close:()=>VN(a)})}import{createHash as UN}from"node:crypto";import{execFile as qN}from"node:child_process";import{cp as BN,mkdir as ah,mkdtemp as Ld,readFile as os,realpath as to,rename as zN,rm as sh,stat as GN,writeFile as is}from"node:fs/promises";import{tmpdir as JN}from"node:os";import Le from"node:path";import{promisify as WN}from"node:util";import{gunzipSync as KN}from"node:zlib";var YN=WN(qN),HN=["preinstall","install","postinstall","prepublish","prepare"],G=class extends Error{constructor(r){super(r);this.code=r}code};function XN(e){return"sha512-"+UN("sha512").update(e).digest("base64")}async function ZN(e,t){let r=await to(e).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")});if(t.length===0||t.length>128||new Set(t).size!==t.length)throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let n=[];for(let i of t){if(!/^(?:packages|fixtures)\/[a-z0-9][a-z0-9._-]{1,127}$/u.test(i))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let o=await to(Le.join(r,i)).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),a=Le.relative(r,o);if(a!==i||a.startsWith("..")||Le.isAbsolute(a))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let s=await os(Le.join(o,"package.json")).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),c;try{c=JSON.parse(Buffer.from(s).toString("utf8"))}catch{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}if(typeof c.name!="string"||typeof c.version!="string")throw new G("LOCAL_ARTIFACT_INPUT_INVALID");n.push({relativeRoot:i,root:o,manifestBytes:s,manifest:c})}return n}function QN(e,t){let r=new Map(e.map(o=>[String(o.manifest.name),String(o.manifest.version)])),n=t.dependencies;if(n===void 0)return{};if(typeof n!="object"||n===null||Array.isArray(n))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let i={};for(let[o,a]of Object.entries(n)){if(typeof a!="string")throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let s=a.startsWith("workspace:")?r.get(o):a;if(s===void 0)throw new G("LOCAL_ARTIFACT_INPUT_INVALID");i[o]=s}return Object.fromEntries(Object.entries(i).sort(([o],[a])=>o.localeCompare(a)))}function e0(e,t){for(let r=0;r+512<=e.length;){let n=e.subarray(r,r+512);if(n.every(a=>a===0))return;let i=n.toString("utf8",0,100).replace(/\0.*$/su,""),o=Number.parseInt(n.toString("utf8",124,136).replace(/\0.*$/su,"").trim(),8);if(!Number.isSafeInteger(o)||o<0)return;if(i===t)return e.subarray(r+512,r+512+o);r+=512+Math.ceil(o/512)*512}}function t0(e,t,r){let n;try{n=KN(e)}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let i=e0(n,"package/package.json");if(i===void 0)throw new G("LOCAL_ARTIFACT_PACK_FAILED");let o;try{o=JSON.parse(i.toString("utf8"))}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let a=o.dependencies===void 0?{}:o.dependencies;if(typeof a!="object"||a===null||Array.isArray(a))throw new G("LOCAL_ARTIFACT_PACK_FAILED");let s=Object.fromEntries(Object.entries(a).sort(([c],[l])=>c.localeCompare(l)));if(o.name!==t.name||o.version!==t.version||JSON.stringify(s)!==JSON.stringify(r))throw new G("LOCAL_ARTIFACT_PACK_FAILED")}function r0(e,t){return e.dependencies===void 0?!1:Object.entries(e.dependencies).some(([r,n])=>t[r]!==n)}async function n0(e,t,r){let n=Le.join(await Ld(Le.join(r,"stage-")),"package");await BN(e.root,n,{recursive:!0,filter:o=>Le.basename(o)!=="node_modules"});let i=JSON.parse(Buffer.from(e.manifestBytes).toString("utf8"));return await is(Le.join(n,"package.json"),`${JSON.stringify({...i,dependencies:t},null,2)}
221
+ `),n}async function i0(e,t,r){let n=QN(e,t.manifest),i=r0(t.manifest,n)?await n0(t,n,r):t.root,o;try{({stdout:o}=await YN("npm",["pack","--json","--ignore-scripts","--pack-destination",r],{cwd:i,timeout:12e4,maxBuffer:1024*1024}))}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let a;try{a=JSON.parse(o)}catch{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}let s=a[0]?.filename;if(typeof s!="string"||s.includes("/")||s.includes("\\")||!s.endsWith(".tgz"))throw new G("LOCAL_ARTIFACT_PACK_FAILED");let c=await os(Le.join(r,s)).catch(()=>{throw new G("LOCAL_ARTIFACT_PACK_FAILED")}),l=t.manifest.scripts;if(l!==void 0&&(typeof l!="object"||l===null||Array.isArray(l)))throw new G("LOCAL_ARTIFACT_INPUT_INVALID");let d=HN.filter(p=>Object.hasOwn(l??{},p));return t0(c,t.manifest,n),{artifact:{packageName:String(t.manifest.name),version:String(t.manifest.version),assetName:s,integrity:XN(c),tarballDigest:h(c),dependencies:n,lifecycleScripts:d},bytes:c}}async function ch(e,t){let r=await ZN(e,t),n=await Ld(Le.join(await to(JN()),"dyyto-local-artifact-pack-"));try{let i=await Promise.all(r.map(a=>i0(r,a,n)));i.sort((a,s)=>(a.artifact.packageName+"@"+a.artifact.version).localeCompare(s.artifact.packageName+"@"+s.artifact.version));let o=hd({artifacts:i.map(a=>a.artifact)});return{packages:r,bundle:o,bytes:new Map(i.map(a=>[a.artifact.assetName,a.bytes]))}}finally{await sh(n,{recursive:!0,force:!0})}}function ns(e,t){return Le.join(e,".dyyto","artifact-plans",t+".json")}function o0(e,t){return Le.join(e,".dyyto","package-artifacts",t)}async function lh(e){let t=await to(e.workspaceRoot).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),r=await ch(t,e.packageRoots),n=e.now??new Date,i=wd({packageInputs:r.packages.map(o=>({relativeRoot:o.relativeRoot,manifestDigest:h(o.manifestBytes)})),bundle:r.bundle,generatedAt:n.toISOString(),expiresAt:new Date(n.getTime()+30*6e4).toISOString()});return await ah(Le.dirname(ns(t,i.planId)),{recursive:!0}),await is(ns(t,i.planId),JSON.stringify(i,null,2)+`
222
222
  `,{flag:"wx",mode:384}).catch(async o=>{if(o.code!=="EEXIST")throw o;if(await os(ns(t,i.planId),"utf8")!==JSON.stringify(i,null,2)+`
223
- `)throw new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT")}),i}async function dh(e){let t=await to(e.workspaceRoot).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),r=await os(ns(t,e.approvedPlanId),"utf8").catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),n;try{n=vy(JSON.parse(r))}catch{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}if(n.planId!==e.approvedPlanId)throw new G("LOCAL_ARTIFACT_INPUT_INVALID");if((e.now??new Date).getTime()>Date.parse(n.expiresAt))throw new G("LOCAL_ARTIFACT_PLAN_EXPIRED");let i=a0(t,n.bundle.bundleId);if(await JN(i).then(()=>!0).catch(c=>c.code==="ENOENT"?!1:Promise.reject(c)))throw new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT");let o=await ch(t,n.packageInputs.map(c=>c.relativeRoot));if(o.bundle.bundleId!==n.bundle.bundleId||o.packages.some((c,l)=>h(c.manifestBytes)!==n.packageInputs[l].manifestDigest))throw new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT");let a=Le.dirname(i);await ah(a,{recursive:!0});let s=await Ld(Le.join(a,".bundle-next-"));try{await Promise.all(n.bundle.artifacts.map(c=>is(Le.join(s,c.assetName),o.bytes.get(c.assetName),{mode:292}))),await is(Le.join(s,"index.json"),JSON.stringify(n.bundle,null,2)+`
224
- `,{mode:292}),await GN(s,i)}catch(c){throw await sh(s,{recursive:!0,force:!0}),c.code==="EEXIST"?new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT"):c}return{bundleId:n.bundle.bundleId,target:i}}var yr=class extends Error{constructor(r){super(r);this.code=r}code};function ph(e){let t=[Yr(e.bundle),...(e.fallbackBundles??[]).map(Yr)],r=new URL(e.origin);if(r.protocol!=="http:"||r.hostname!=="127.0.0.1"||r.pathname!=="/"||r.username||r.password||r.search||r.hash||Number.isNaN(Date.parse(e.resolvedAt))||Date.parse(e.expiresAt)<=Date.parse(e.resolvedAt))throw new yr("LOCAL_ARTIFACT_SOURCE_INVALID");let n=Wl({registryId:"registry.local.development",tenantId:"tenant.platform.maintainers",origin:"http://127.0.0.1/",scopes:["@aipt"],authentication:{kind:"anonymous-test"},capabilities:{read:!0,write:!1,provenance:!1,staging:!1},status:"enabled"}),i=Kl({registryId:n.registryId,registryConfigRevision:n.revision,origin:r.toString(),resolvedAt:e.resolvedAt,expiresAt:e.expiresAt},n),o=t.flatMap(c=>by({bundle:c,registry:n,verifiedAt:e.resolvedAt})),a=new Map(t.flatMap(c=>c.artifacts.map(l=>[`${l.packageName}@${l.version}`,l]))),s=new Map(o.map(c=>[`${c.packageName}@${c.version}`,c]));return Object.freeze({async inspect({release:c}){if(c.availability.maturity!=="candidate"||c.availability.visibility!=="maintainers-only"||c.availability.sourceState!=="development-registry"||c.packageSources.length===0)throw new yr("LOCAL_ARTIFACT_RELEASE_MISMATCH");for(let d of c.packageSources){let p=`${d.packageName}@${d.version}`,f=a.get(p),u=s.get(p);if(!f||!u||d.registryId!==n.registryId||d.version!==f.version||d.integrity!==f.integrity||d.tarballDigest!==f.tarballDigest||d.deliveryReceiptId!==u.receiptId)throw new yr("LOCAL_ARTIFACT_RELEASE_MISMATCH")}let l=Object.freeze(c.packageSources.map(d=>s.get(`${d.packageName}@${d.version}`)));return Object.freeze({registryConfigs:Object.freeze([n]),endpointBindings:Object.freeze([i]),receipts:l,inspections:Object.freeze(c.packageSources.map(d=>{let p=a.get(`${d.packageName}@${d.version}`);return Object.freeze({...d,dependencies:p.dependencies,lifecycleScripts:p.lifecycleScripts})}))})}})}import{mkdir as s0,open as c0,readFile as Md,rename as l0,rm as d0,writeFile as p0}from"node:fs/promises";import Ln from"node:path";import{resolvePnpmWorkspaceLock as u0}from"./optional-runtime.js";var f0=h(k({schemaVersion:1,completedRequests:[]}));function uh(e){return h(k({schemaVersion:1,completedRequests:[...e].sort()}))}function Fd(e){let t=e.trim();return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function xd(e){let t=Buffer.from(e).toString("utf8").split(/\r?\n/u),r=new Map,n=t.findIndex(i=>i==="importers:");if(n<0)throw new Error("RESOLUTION_WORKER_LOCK_INVALID");for(let i=n+1;i<t.length;){let o=/^ ([^\s][^:]*):(?:\s*\{\})?\s*$/u.exec(t[i]);if(!o){if(/^\S/u.test(t[i])&&t[i].trim())break;i+=1;continue}let a=[t[i]],s=i+1;for(;s<t.length&&(/^ /u.test(t[s])||!t[s].trim());)a.push(t[s]),s+=1;r.set(Fd(o[1]),h(Buffer.from(`${a.join(`
223
+ `)throw new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT")}),i}async function dh(e){let t=await to(e.workspaceRoot).catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),r=await os(ns(t,e.approvedPlanId),"utf8").catch(()=>{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}),n;try{n=vy(JSON.parse(r))}catch{throw new G("LOCAL_ARTIFACT_INPUT_INVALID")}if(n.planId!==e.approvedPlanId)throw new G("LOCAL_ARTIFACT_INPUT_INVALID");if((e.now??new Date).getTime()>Date.parse(n.expiresAt))throw new G("LOCAL_ARTIFACT_PLAN_EXPIRED");let i=o0(t,n.bundle.bundleId);if(await GN(i).then(()=>!0).catch(c=>c.code==="ENOENT"?!1:Promise.reject(c)))throw new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT");let o=await ch(t,n.packageInputs.map(c=>c.relativeRoot));if(o.bundle.bundleId!==n.bundle.bundleId||o.packages.some((c,l)=>h(c.manifestBytes)!==n.packageInputs[l].manifestDigest))throw new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT");let a=Le.dirname(i);await ah(a,{recursive:!0});let s=await Ld(Le.join(a,".bundle-next-"));try{await Promise.all(n.bundle.artifacts.map(c=>is(Le.join(s,c.assetName),o.bytes.get(c.assetName),{mode:292}))),await is(Le.join(s,"index.json"),JSON.stringify(n.bundle,null,2)+`
224
+ `,{mode:292}),await zN(s,i)}catch(c){throw await sh(s,{recursive:!0,force:!0}),c.code==="EEXIST"?new G("LOCAL_ARTIFACT_PREIMAGE_CONFLICT"):c}return{bundleId:n.bundle.bundleId,target:i}}var yr=class extends Error{constructor(r){super(r);this.code=r}code};function ph(e){let t=[Yr(e.bundle),...(e.fallbackBundles??[]).map(Yr)],r=new URL(e.origin);if(r.protocol!=="http:"||r.hostname!=="127.0.0.1"||r.pathname!=="/"||r.username||r.password||r.search||r.hash||Number.isNaN(Date.parse(e.resolvedAt))||Date.parse(e.expiresAt)<=Date.parse(e.resolvedAt))throw new yr("LOCAL_ARTIFACT_SOURCE_INVALID");let n=Wl({registryId:"registry.local.development",tenantId:"tenant.platform.maintainers",origin:"http://127.0.0.1/",scopes:["@aipt"],authentication:{kind:"anonymous-test"},capabilities:{read:!0,write:!1,provenance:!1,staging:!1},status:"enabled"}),i=Kl({registryId:n.registryId,registryConfigRevision:n.revision,origin:r.toString(),resolvedAt:e.resolvedAt,expiresAt:e.expiresAt},n),o=t.flatMap(c=>by({bundle:c,registry:n,verifiedAt:e.resolvedAt})),a=new Map(t.flatMap(c=>c.artifacts.map(l=>[`${l.packageName}@${l.version}`,l]))),s=new Map(o.map(c=>[`${c.packageName}@${c.version}`,c]));return Object.freeze({async inspect({release:c}){if(c.availability.maturity!=="candidate"||c.availability.visibility!=="maintainers-only"||c.availability.sourceState!=="development-registry"||c.packageSources.length===0)throw new yr("LOCAL_ARTIFACT_RELEASE_MISMATCH");for(let d of c.packageSources){let p=`${d.packageName}@${d.version}`,f=a.get(p),u=s.get(p);if(!f||!u||d.registryId!==n.registryId||d.version!==f.version||d.integrity!==f.integrity||d.tarballDigest!==f.tarballDigest||d.deliveryReceiptId!==u.receiptId)throw new yr("LOCAL_ARTIFACT_RELEASE_MISMATCH")}let l=Object.freeze(c.packageSources.map(d=>s.get(`${d.packageName}@${d.version}`)));return Object.freeze({registryConfigs:Object.freeze([n]),endpointBindings:Object.freeze([i]),receipts:l,inspections:Object.freeze(c.packageSources.map(d=>{let p=a.get(`${d.packageName}@${d.version}`);return Object.freeze({...d,dependencies:p.dependencies,lifecycleScripts:p.lifecycleScripts})}))})}})}import{mkdir as a0,open as s0,readFile as Md,rename as c0,rm as l0,writeFile as d0}from"node:fs/promises";import Ln from"node:path";import{resolvePnpmWorkspaceLock as p0}from"./optional-runtime.js";var u0=h(k({schemaVersion:1,completedRequests:[]}));function uh(e){return h(k({schemaVersion:1,completedRequests:[...e].sort()}))}function Fd(e){let t=e.trim();return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function xd(e){let t=Buffer.from(e).toString("utf8").split(/\r?\n/u),r=new Map,n=t.findIndex(i=>i==="importers:");if(n<0)throw new Error("RESOLUTION_WORKER_LOCK_INVALID");for(let i=n+1;i<t.length;){let o=/^ ([^\s][^:]*):(?:\s*\{\})?\s*$/u.exec(t[i]);if(!o){if(/^\S/u.test(t[i])&&t[i].trim())break;i+=1;continue}let a=[t[i]],s=i+1;for(;s<t.length&&(/^ /u.test(t[s])||!t[s].trim());)a.push(t[s]),s+=1;r.set(Fd(o[1]),h(Buffer.from(`${a.join(`
225
225
  `)}
226
226
  `))),i=s}return r}function Vd(e,t){let r=Buffer.from(e).toString("utf8").split(/\r?\n/u),n=r.findIndex(o=>o===`${t}:`),i=[];if(n<0)return i;for(let o=n+1;o<r.length&&!(/^\S/u.test(r[o])&&r[o].trim());){let a=/^ (.+):\s*$/u.exec(r[o]);if(!a){o+=1;continue}let s=[r[o]],c=o+1;for(;c<r.length&&(/^ /u.test(r[c])||!r[c].trim());)s.push(r[c]),c+=1;i.push({key:Fd(a[1]),bytes:Buffer.from(`${s.join(`
227
227
  `)}
228
- `)}),o=c}return i}function m0(e){let t=e.startsWith("@")?e.indexOf("@",e.indexOf("/")+1):e.lastIndexOf("@");if(t<=0)return;let r=e.slice(0,t),n=e.slice(t+1).replace(/\(.+\)$/u,"");return/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.test(n)?{packageName:r,version:n}:void 0}function g0(e,t,r){let n=new Map(Vd(e,"snapshots").map(i=>[i.key,i.bytes]));return Vd(e,"packages").map(i=>{let o=m0(i.key),a=/\bintegrity:\s*([^,}\s]+)/u.exec(Buffer.from(i.bytes).toString("utf8"));if(!o||!a)throw new Error("RESOLUTION_WORKER_LOCK_FACTS_INCOMPLETE");let s=Fd(a[1]),c=t.find(p=>p.packageName===o.packageName&&p.version===o.version),l=c?.registryId??r.find(p=>p.scopes.some(f=>o.packageName.startsWith(`${f}/`)))?.registryId??"registry.npmjs.public",d=n.get(i.key);return{identity:i.key,packageName:o.packageName,version:o.version,integrity:s,registryId:l,managed:c!==void 0,edgesDigest:h(d??k({dependencies:[]}))}}).sort((i,o)=>i.identity.localeCompare(o.identity))}function fh(e={}){return async t=>{let r=await u0({topology:t.topology,desiredPackageJson:t.desiredPackageJson,currentLockfile:t.currentLockfile,sources:t.sources,registries:t.registryConfigs,endpointBindings:t.endpointBindings,persistentStoreDir:Ln.join(t.stateRoot,"store","shared"),...e.runner?{runner:e.runner}:{}}),n=xd(t.currentLockfile),i=xd(r.lockfile),o=await On(t.topology.transactionRoot),a=new Map(o.map(p=>[p.relativeRoot,p.bytes])),s=await Md(Ln.join(t.topology.transactionRoot,"package.json")).catch(p=>p.code==="ENOENT"?void 0:Promise.reject(p));s&&a.set(".",s),a.set(t.topology.unitImporterId,t.desiredPackageJson);let c=[...i].map(([p,f])=>{let u=a.get(p);if(!u)throw new Error("RESOLUTION_WORKER_IMPORTER_MANIFEST_MISSING");return{importerId:p,manifestDigest:h(u),preimageDigest:n.get(p)??h(k({absent:!0})),desiredDigest:f}}).sort((p,f)=>p.importerId.localeCompare(f.importerId)),l=g0(r.lockfile,t.sources,t.registryConfigs),d=Vd(r.lockfile,"snapshots");return{desiredLockfile:r.lockfile,importerFacts:c,packageFacts:l,snapshotClosureDigest:h(k(d.map(p=>({identity:p.key,digest:h(p.bytes)})))),networkObservationDigest:r.executionObservationDigest,commandDigest:h(k({executable:"corepack",pnpmVersion:"11.21.0",action:"install-lockfile-only-resolution-only",targetImporterId:t.topology.unitImporterId})),writesDigest:h(k({desiredLockDigest:h(r.lockfile),packageFacts:l.map(({identity:p,integrity:f})=>({identity:p,integrity:f}))}))}}}async function y0(e){try{let t=JSON.parse(await Md(e,"utf8"));if(t.schemaVersion!==1||!Array.isArray(t.completedRequests)||t.completedRequests.some(r=>typeof r!="string")||t.revision!==uh(t.completedRequests))throw new Error("RESOLUTION_WORKER_STATE_INVALID");return{schemaVersion:1,revision:t.revision,completedRequests:Object.freeze([...t.completedRequests])}}catch(t){if(t.code==="ENOENT")return{schemaVersion:1,revision:f0,completedRequests:Object.freeze([])};throw t}}function mh(e){let t=e.workerReleaseId??"reference.pnpm-resolution-worker.v1";return{async resolveWorkspace(r){if(r.topology.mode!=="pnpm-shared-lockfile")throw new Error("RESOLUTION_WORKER_TOPOLOGY_INVALID");let n=Ba(JSON.parse(await Md(Ln.join(e.stateRoot,"build-receipt.json"),"utf8").catch(()=>{throw new Error("RESOLUTION_WORKER_BUILD_REQUIRED")})));if(n.workerReleaseId!==t||n.pnpmVersion!=="11.21.0")throw new Error("RESOLUTION_WORKER_BUILD_REQUIRED");let o=[...xd(r.currentLockfile)].filter(([f])=>f!==r.topology.unitImporterId).map(([f,u])=>({importerId:f,preimageDigest:u,desiredDigest:u})).sort((f,u)=>f.importerId.localeCompare(u.importerId)),a={mode:r.topology.mode,unitRelativeRoot:r.topology.unitRelativeRoot,unitImporterId:r.topology.unitImporterId,lockfilePath:r.topology.lockfilePath,workspaceManifestPath:r.topology.workspaceManifestPath,workspaceManifestDigest:r.topology.workspaceManifestDigest},s=Li({schemaVersion:1,pnpmVersion:"11.21.0",topology:a,currentLockfileDigest:h(r.currentLockfile),desiredPackageJsonDigest:h(r.desiredPackageJson),sources:r.sources.map(({registryId:f,packageName:u,version:m,integrity:g})=>({registryId:f,packageName:u,version:m,integrity:g})),preservedImporterDigests:o.map(({importerId:f,preimageDigest:u})=>({importerId:f,preimageDigest:u}))}),l=`pnpm11-node24-${h(k({workerReleaseId:t,pnpmVersion:"11.21.0",registryRevisions:r.registryConfigs.map(({registryId:f,revision:u})=>({registryId:f,revision:u})).sort((f,u)=>f.registryId.localeCompare(u.registryId))})).slice(7)}`;await s0(e.stateRoot,{recursive:!0});let d=Ln.join(e.stateRoot,`${l.slice(7)}.lease`),p;try{p=await c0(d,"wx",384)}catch(f){throw f.code==="EEXIST"?new Error("RESOLUTION_WORKER_BUSY"):f}try{let f=Ln.join(e.stateRoot,"state.json"),u=await y0(f),m=await e.engine({...r,stateRoot:e.stateRoot,cacheNamespace:l}),g=[...new Set([...u.completedRequests,s])].sort(),y=uh(g),w=ig({workerReleaseId:t,workerStateRevision:y,requestDigest:s,pnpmVersion:"11.21.0",desiredLockfile:m.desiredLockfile,importerFacts:m.importerFacts,packageFacts:m.packageFacts,snapshotClosureDigest:m.snapshotClosureDigest,networkObservationDigest:m.networkObservationDigest,cacheObservation:{namespace:l,preimageRevision:u.revision,desiredRevision:y,writesDigest:m.writesDigest},commandDigest:m.commandDigest,completedAt:r.generatedAt,expiresAt:r.expiresAt}),A=Ln.join(e.stateRoot,`state.${s.slice(7)}.tmp`);return await p0(A,`${JSON.stringify({schemaVersion:1,revision:y,completedRequests:g},null,2)}
229
- `,{mode:384}),await l0(A,f),{evidence:w,workerReleaseId:t,preservedImporterDigests:o}}finally{await p.close(),await d0(d,{force:!0})}}}}import{execFile as h0}from"node:child_process";import{mkdir as xn,mkdtemp as w0,readFile as Nt,readdir as I0,readlink as v0,realpath as qd,rename as b0,rm as gh,stat as k0,writeFile as Hr}from"node:fs/promises";import{tmpdir as _0}from"node:os";import pe from"node:path";import{promisify as A0}from"node:util";var R0=A0(h0);function yh(e,t){return pe.join(e,".dyyto","resolution-worker-plans",`${t}.json`)}function hh(e){return pe.join(e,".dyyto","resolution-worker")}function Ud(e){return pe.join(hh(e),"build-receipt.json")}async function E0(e){let t=[];async function r(n){for(let i of await I0(n,{withFileTypes:!0}).catch(o=>o.code==="ENOENT"?[]:Promise.reject(o))){let o=pe.join(n,i.name);if(i.isSymbolicLink()){let a=await v0(o);t.push({path:pe.relative(e,o),digest:h(k({symlink:a})),bytes:0})}else if(i.isDirectory())await r(o);else if(i.isFile()){let a=await Nt(o);t.push({path:pe.relative(e,o),digest:h(a),bytes:a.byteLength})}}}return await r(e),t.sort((n,i)=>n.path.localeCompare(i.path)),{cacheDigest:h(k(t)),cacheBytes:t.reduce((n,i)=>n+i.bytes,0)}}function wh(){return async({workspaceRoot:e,stateRoot:t})=>{let r=await w0(pe.join(await qd(_0()),"dyyto-resolution-warmup-")),n=pe.join(r,".home");await xn(n);try{await Hr(pe.join(r,"pnpm-workspace.yaml"),await Nt(pe.join(e,"pnpm-workspace.yaml"))),await Hr(pe.join(r,"pnpm-lock.yaml"),await Nt(pe.join(e,"pnpm-lock.yaml")));let i=await Nt(pe.join(e,"package.json")).catch(d=>d.code==="ENOENT"?void 0:Promise.reject(d));i&&await Hr(pe.join(r,"package.json"),i);for(let d of await On(e)){let p=pe.join(r,...d.relativeRoot.split("/"));await xn(p,{recursive:!0}),await Hr(pe.join(p,"package.json"),d.bytes)}let o=pe.join(n,"userconfig.npmrc");await Hr(o,`ignore-scripts=true
228
+ `)}),o=c}return i}function f0(e){let t=e.startsWith("@")?e.indexOf("@",e.indexOf("/")+1):e.lastIndexOf("@");if(t<=0)return;let r=e.slice(0,t),n=e.slice(t+1).replace(/\(.+\)$/u,"");return/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u.test(n)?{packageName:r,version:n}:void 0}function m0(e,t,r){let n=new Map(Vd(e,"snapshots").map(i=>[i.key,i.bytes]));return Vd(e,"packages").map(i=>{let o=f0(i.key),a=/\bintegrity:\s*([^,}\s]+)/u.exec(Buffer.from(i.bytes).toString("utf8"));if(!o||!a)throw new Error("RESOLUTION_WORKER_LOCK_FACTS_INCOMPLETE");let s=Fd(a[1]),c=t.find(p=>p.packageName===o.packageName&&p.version===o.version),l=c?.registryId??r.find(p=>p.scopes.some(f=>o.packageName.startsWith(`${f}/`)))?.registryId??"registry.npmjs.public",d=n.get(i.key);return{identity:i.key,packageName:o.packageName,version:o.version,integrity:s,registryId:l,managed:c!==void 0,edgesDigest:h(d??k({dependencies:[]}))}}).sort((i,o)=>i.identity.localeCompare(o.identity))}function fh(e={}){return async t=>{let r=await p0({topology:t.topology,desiredPackageJson:t.desiredPackageJson,currentLockfile:t.currentLockfile,sources:t.sources,registries:t.registryConfigs,endpointBindings:t.endpointBindings,persistentStoreDir:Ln.join(t.stateRoot,"store","shared"),...e.runner?{runner:e.runner}:{}}),n=xd(t.currentLockfile),i=xd(r.lockfile),o=await On(t.topology.transactionRoot),a=new Map(o.map(p=>[p.relativeRoot,p.bytes])),s=await Md(Ln.join(t.topology.transactionRoot,"package.json")).catch(p=>p.code==="ENOENT"?void 0:Promise.reject(p));s&&a.set(".",s),a.set(t.topology.unitImporterId,t.desiredPackageJson);let c=[...i].map(([p,f])=>{let u=a.get(p);if(!u)throw new Error("RESOLUTION_WORKER_IMPORTER_MANIFEST_MISSING");return{importerId:p,manifestDigest:h(u),preimageDigest:n.get(p)??h(k({absent:!0})),desiredDigest:f}}).sort((p,f)=>p.importerId.localeCompare(f.importerId)),l=m0(r.lockfile,t.sources,t.registryConfigs),d=Vd(r.lockfile,"snapshots");return{desiredLockfile:r.lockfile,importerFacts:c,packageFacts:l,snapshotClosureDigest:h(k(d.map(p=>({identity:p.key,digest:h(p.bytes)})))),networkObservationDigest:r.executionObservationDigest,commandDigest:h(k({executable:"corepack",pnpmVersion:"11.21.0",action:"install-lockfile-only-resolution-only",targetImporterId:t.topology.unitImporterId})),writesDigest:h(k({desiredLockDigest:h(r.lockfile),packageFacts:l.map(({identity:p,integrity:f})=>({identity:p,integrity:f}))}))}}}async function g0(e){try{let t=JSON.parse(await Md(e,"utf8"));if(t.schemaVersion!==1||!Array.isArray(t.completedRequests)||t.completedRequests.some(r=>typeof r!="string")||t.revision!==uh(t.completedRequests))throw new Error("RESOLUTION_WORKER_STATE_INVALID");return{schemaVersion:1,revision:t.revision,completedRequests:Object.freeze([...t.completedRequests])}}catch(t){if(t.code==="ENOENT")return{schemaVersion:1,revision:u0,completedRequests:Object.freeze([])};throw t}}function mh(e){let t=e.workerReleaseId??"reference.pnpm-resolution-worker.v1";return{async resolveWorkspace(r){if(r.topology.mode!=="pnpm-shared-lockfile")throw new Error("RESOLUTION_WORKER_TOPOLOGY_INVALID");let n=Ba(JSON.parse(await Md(Ln.join(e.stateRoot,"build-receipt.json"),"utf8").catch(()=>{throw new Error("RESOLUTION_WORKER_BUILD_REQUIRED")})));if(n.workerReleaseId!==t||n.pnpmVersion!=="11.21.0")throw new Error("RESOLUTION_WORKER_BUILD_REQUIRED");let o=[...xd(r.currentLockfile)].filter(([f])=>f!==r.topology.unitImporterId).map(([f,u])=>({importerId:f,preimageDigest:u,desiredDigest:u})).sort((f,u)=>f.importerId.localeCompare(u.importerId)),a={mode:r.topology.mode,unitRelativeRoot:r.topology.unitRelativeRoot,unitImporterId:r.topology.unitImporterId,lockfilePath:r.topology.lockfilePath,workspaceManifestPath:r.topology.workspaceManifestPath,workspaceManifestDigest:r.topology.workspaceManifestDigest},s=Li({schemaVersion:1,pnpmVersion:"11.21.0",topology:a,currentLockfileDigest:h(r.currentLockfile),desiredPackageJsonDigest:h(r.desiredPackageJson),sources:r.sources.map(({registryId:f,packageName:u,version:m,integrity:g})=>({registryId:f,packageName:u,version:m,integrity:g})),preservedImporterDigests:o.map(({importerId:f,preimageDigest:u})=>({importerId:f,preimageDigest:u}))}),l=`pnpm11-node24-${h(k({workerReleaseId:t,pnpmVersion:"11.21.0",registryRevisions:r.registryConfigs.map(({registryId:f,revision:u})=>({registryId:f,revision:u})).sort((f,u)=>f.registryId.localeCompare(u.registryId))})).slice(7)}`;await a0(e.stateRoot,{recursive:!0});let d=Ln.join(e.stateRoot,`${l.slice(7)}.lease`),p;try{p=await s0(d,"wx",384)}catch(f){throw f.code==="EEXIST"?new Error("RESOLUTION_WORKER_BUSY"):f}try{let f=Ln.join(e.stateRoot,"state.json"),u=await g0(f),m=await e.engine({...r,stateRoot:e.stateRoot,cacheNamespace:l}),g=[...new Set([...u.completedRequests,s])].sort(),y=uh(g),w=ig({workerReleaseId:t,workerStateRevision:y,requestDigest:s,pnpmVersion:"11.21.0",desiredLockfile:m.desiredLockfile,importerFacts:m.importerFacts,packageFacts:m.packageFacts,snapshotClosureDigest:m.snapshotClosureDigest,networkObservationDigest:m.networkObservationDigest,cacheObservation:{namespace:l,preimageRevision:u.revision,desiredRevision:y,writesDigest:m.writesDigest},commandDigest:m.commandDigest,completedAt:r.generatedAt,expiresAt:r.expiresAt}),A=Ln.join(e.stateRoot,`state.${s.slice(7)}.tmp`);return await d0(A,`${JSON.stringify({schemaVersion:1,revision:y,completedRequests:g},null,2)}
229
+ `,{mode:384}),await c0(A,f),{evidence:w,workerReleaseId:t,preservedImporterDigests:o}}finally{await p.close(),await l0(d,{force:!0})}}}}import{execFile as y0}from"node:child_process";import{mkdir as xn,mkdtemp as h0,readFile as Nt,readdir as w0,readlink as I0,realpath as qd,rename as v0,rm as gh,stat as b0,writeFile as Hr}from"node:fs/promises";import{tmpdir as k0}from"node:os";import pe from"node:path";import{promisify as _0}from"node:util";var A0=_0(y0);function yh(e,t){return pe.join(e,".dyyto","resolution-worker-plans",`${t}.json`)}function hh(e){return pe.join(e,".dyyto","resolution-worker")}function Ud(e){return pe.join(hh(e),"build-receipt.json")}async function R0(e){let t=[];async function r(n){for(let i of await w0(n,{withFileTypes:!0}).catch(o=>o.code==="ENOENT"?[]:Promise.reject(o))){let o=pe.join(n,i.name);if(i.isSymbolicLink()){let a=await I0(o);t.push({path:pe.relative(e,o),digest:h(k({symlink:a})),bytes:0})}else if(i.isDirectory())await r(o);else if(i.isFile()){let a=await Nt(o);t.push({path:pe.relative(e,o),digest:h(a),bytes:a.byteLength})}}}return await r(e),t.sort((n,i)=>n.path.localeCompare(i.path)),{cacheDigest:h(k(t)),cacheBytes:t.reduce((n,i)=>n+i.bytes,0)}}function wh(){return async({workspaceRoot:e,stateRoot:t})=>{let r=await h0(pe.join(await qd(k0()),"dyyto-resolution-warmup-")),n=pe.join(r,".home");await xn(n);try{await Hr(pe.join(r,"pnpm-workspace.yaml"),await Nt(pe.join(e,"pnpm-workspace.yaml"))),await Hr(pe.join(r,"pnpm-lock.yaml"),await Nt(pe.join(e,"pnpm-lock.yaml")));let i=await Nt(pe.join(e,"package.json")).catch(d=>d.code==="ENOENT"?void 0:Promise.reject(d));i&&await Hr(pe.join(r,"package.json"),i);for(let d of await On(e)){let p=pe.join(r,...d.relativeRoot.split("/"));await xn(p,{recursive:!0}),await Hr(pe.join(p,"package.json"),d.bytes)}let o=pe.join(n,"userconfig.npmrc");await Hr(o,`ignore-scripts=true
230
230
  strict-peer-dependencies=true
231
231
  manage-package-manager-versions=false
232
- `,{mode:384});let a=pe.join(t,"store","shared"),s=pe.join(t,"cache");await xn(a,{recursive:!0}),await xn(s,{recursive:!0});let c=["pnpm@11.21.0","fetch","--frozen-lockfile","--ignore-scripts","--reporter","ndjson"],l=await R0("corepack",c,{cwd:r,env:{PATH:process.env.PATH,CI:"1",NO_COLOR:"1",HOME:n,XDG_CACHE_HOME:s,COREPACK_HOME:process.env.COREPACK_HOME,COREPACK_ENABLE_PROJECT_SPEC:"0",NPM_CONFIG_USERCONFIG:o,pnpm_config_store_dir:a},timeout:9e5,maxBuffer:8*1024*1024});return{...await E0(t),commandDigest:h(k({executable:"corepack",args:c,stdoutDigest:h(l.stdout),stderrDigest:h(l.stderr)}))}}finally{await gh(r,{recursive:!0,force:!0})}}}async function Ih(e){let t=await qd(e.workspaceRoot),r=e.now??new Date,[n,i]=await Promise.all([Nt(pe.join(t,"pnpm-workspace.yaml")),Nt(pe.join(t,"pnpm-lock.yaml"))]),o=h(k({workerReleaseId:e.workerReleaseId??"reference.pnpm-resolution-worker.v1",pnpmVersion:"11.21.0",workspaceManifestDigest:h(n)})),a=Id({workerReleaseId:e.workerReleaseId??"reference.pnpm-resolution-worker.v1",pnpmVersion:"11.21.0",workspaceManifestDigest:h(n),rootLockDigest:h(i),cacheNamespace:`pnpm11-node24-${o.slice(7)}`,maximumBytes:e.maximumBytes,generatedAt:r.toISOString(),expiresAt:new Date(r.getTime()+30*6e4).toISOString()}),s=yh(t,a.planId);await xn(pe.dirname(s),{recursive:!0});let c=`${JSON.stringify(a,null,2)}
233
- `;return await Hr(s,c,{flag:"wx",mode:384}).catch(async l=>{if(l.code!=="EEXIST"||await Nt(s,"utf8")!==c)throw l}),a}async function vh(e){let t=await qd(e.workspaceRoot),r=_y(JSON.parse(await Nt(yh(t,e.approvedPlanId),"utf8")));if(r.planId!==e.approvedPlanId||(e.now??new Date).getTime()>Date.parse(r.expiresAt))throw new Ze("RESOLUTION_WORKER_BUILD_EXPIRED");let[n,i]=await Promise.all([Nt(pe.join(t,"pnpm-workspace.yaml")),Nt(pe.join(t,"pnpm-lock.yaml"))]);if(h(n)!==r.workspaceManifestDigest||h(i)!==r.rootLockDigest)throw new Ze("RESOLUTION_WORKER_BUILD_PREIMAGE_CONFLICT");let o=hh(t),a=await Nt(Ud(t),"utf8").catch(s=>s.code==="ENOENT"?void 0:Promise.reject(s));if(a)return Ba(JSON.parse(a));await xn(o,{recursive:!0});try{let s=await e.warmup({workspaceRoot:t,stateRoot:o,cacheNamespace:r.cacheNamespace});if(s.cacheBytes>r.maximumBytes)throw new Ze("RESOLUTION_WORKER_BUILD_LIMIT_EXCEEDED");let c=vd({planId:r.planId,workerReleaseId:r.workerReleaseId,pnpmVersion:r.pnpmVersion,cacheNamespace:r.cacheNamespace,cacheDigest:s.cacheDigest,cacheBytes:s.cacheBytes,commandDigest:s.commandDigest,completedAt:(e.now??new Date).toISOString()}),l=pe.join(o,`build-receipt.${r.planId.slice(7)}.tmp`);return await Hr(l,`${JSON.stringify(c,null,2)}
234
- `,{mode:384}),await b0(l,Ud(t)),c}catch(s){throw await k0(Ud(t)).then(()=>!0).catch(()=>!1)||await gh(pe.join(o,"store",r.cacheNamespace),{recursive:!0,force:!0}),s}}import{mkdir as P0,readFile as Xr,realpath as bh,writeFile as N0}from"node:fs/promises";import Zr from"node:path";function kh(e,t){return Zr.join(e,".dyyto","recovery-override-plans",`${t}.json`)}async function _h(e){let t=await bh(e.projectRoot),r=await zt(t);if(r.mode!=="pnpm-shared-lockfile")throw new Error("RECOVERY_OVERRIDE_INVALID");let n=JSON.parse(await Xr(Zr.join(r.transactionRoot,".dyyto","transaction-lock.json"),"utf8"));if(typeof n.planId!="string")throw new Error("RECOVERY_OVERRIDE_INVALID");await Xr(Zr.join(t,".dyyto","plans",`${n.planId}.json`));let i=JSON.parse(await Xr(Zr.join(r.transactionRoot,".dyyto","transactions",n.planId,"journal.json"),"utf8"));if(i.state!=="recovery-required"&&i.state!=="recovering"||!Array.isArray(i.operations))throw new Error("RECOVERY_OVERRIDE_INVALID");let o=[];for(let d of i.operations){if(d.before.kind!=="present"||!d.before.preimageDigest)continue;let p=await Xr(Zr.join(r.transactionRoot,...d.path.split("/"))).catch(u=>u.code==="ENOENT"?void 0:Promise.reject(u));if(!p)continue;let f=h(p);f!==d.before.digest&&f!==d.desiredDigest&&o.push({path:d.path,currentDigest:f,preimageDigest:d.before.preimageDigest})}let a=e.now??new Date,s=kd({transactionPlanId:n.planId,transactionRootDigest:h(r.transactionRoot),conflicts:o,generatedAt:a.toISOString(),expiresAt:new Date(a.getTime()+30*6e4).toISOString()}),c=kh(t,s.planId);await P0(Zr.dirname(c),{recursive:!0});let l=`${JSON.stringify(s,null,2)}
235
- `;return await N0(c,l,{flag:"wx",mode:384}).catch(async d=>{if(d.code!=="EEXIST"||await Xr(c,"utf8")!==l)throw d}),s}async function Ah(e){let t=await bh(e.projectRoot),r=await zt(t),n=Ay(JSON.parse(await Xr(kh(t,e.approvedPlanId),"utf8")));if(n.planId!==e.approvedPlanId||Date.now()>Date.parse(n.expiresAt)||r.mode!=="pnpm-shared-lockfile"||h(r.transactionRoot)!==n.transactionRootDigest)throw new Error("RECOVERY_OVERRIDE_PREIMAGE_CONFLICT");for(let i of n.conflicts){let o=await Xr(Zr.join(r.transactionRoot,...i.path.split("/")));if(h(o)!==i.currentDigest)throw new Error("RECOVERY_OVERRIDE_PREIMAGE_CONFLICT")}return Nl({projectRoot:r.transactionRoot,planId:n.transactionPlanId,now:(e.now??new Date).toISOString(),approvedConflicts:n.conflicts.map(({path:i,currentDigest:o})=>({path:i,currentDigest:o}))})}function as(e){return e.endsWith(`
232
+ `,{mode:384});let a=pe.join(t,"store","shared"),s=pe.join(t,"cache");await xn(a,{recursive:!0}),await xn(s,{recursive:!0});let c=["pnpm@11.21.0","fetch","--frozen-lockfile","--ignore-scripts","--reporter","ndjson"],l=await A0("corepack",c,{cwd:r,env:{PATH:process.env.PATH,CI:"1",NO_COLOR:"1",HOME:n,XDG_CACHE_HOME:s,COREPACK_HOME:process.env.COREPACK_HOME,COREPACK_ENABLE_PROJECT_SPEC:"0",NPM_CONFIG_USERCONFIG:o,pnpm_config_store_dir:a},timeout:9e5,maxBuffer:8*1024*1024});return{...await R0(t),commandDigest:h(k({executable:"corepack",args:c,stdoutDigest:h(l.stdout),stderrDigest:h(l.stderr)}))}}finally{await gh(r,{recursive:!0,force:!0})}}}async function Ih(e){let t=await qd(e.workspaceRoot),r=e.now??new Date,[n,i]=await Promise.all([Nt(pe.join(t,"pnpm-workspace.yaml")),Nt(pe.join(t,"pnpm-lock.yaml"))]),o=h(k({workerReleaseId:e.workerReleaseId??"reference.pnpm-resolution-worker.v1",pnpmVersion:"11.21.0",workspaceManifestDigest:h(n)})),a=Id({workerReleaseId:e.workerReleaseId??"reference.pnpm-resolution-worker.v1",pnpmVersion:"11.21.0",workspaceManifestDigest:h(n),rootLockDigest:h(i),cacheNamespace:`pnpm11-node24-${o.slice(7)}`,maximumBytes:e.maximumBytes,generatedAt:r.toISOString(),expiresAt:new Date(r.getTime()+30*6e4).toISOString()}),s=yh(t,a.planId);await xn(pe.dirname(s),{recursive:!0});let c=`${JSON.stringify(a,null,2)}
233
+ `;return await Hr(s,c,{flag:"wx",mode:384}).catch(async l=>{if(l.code!=="EEXIST"||await Nt(s,"utf8")!==c)throw l}),a}async function vh(e){let t=await qd(e.workspaceRoot),r=_y(JSON.parse(await Nt(yh(t,e.approvedPlanId),"utf8")));if(r.planId!==e.approvedPlanId||(e.now??new Date).getTime()>Date.parse(r.expiresAt))throw new Qe("RESOLUTION_WORKER_BUILD_EXPIRED");let[n,i]=await Promise.all([Nt(pe.join(t,"pnpm-workspace.yaml")),Nt(pe.join(t,"pnpm-lock.yaml"))]);if(h(n)!==r.workspaceManifestDigest||h(i)!==r.rootLockDigest)throw new Qe("RESOLUTION_WORKER_BUILD_PREIMAGE_CONFLICT");let o=hh(t),a=await Nt(Ud(t),"utf8").catch(s=>s.code==="ENOENT"?void 0:Promise.reject(s));if(a)return Ba(JSON.parse(a));await xn(o,{recursive:!0});try{let s=await e.warmup({workspaceRoot:t,stateRoot:o,cacheNamespace:r.cacheNamespace});if(s.cacheBytes>r.maximumBytes)throw new Qe("RESOLUTION_WORKER_BUILD_LIMIT_EXCEEDED");let c=vd({planId:r.planId,workerReleaseId:r.workerReleaseId,pnpmVersion:r.pnpmVersion,cacheNamespace:r.cacheNamespace,cacheDigest:s.cacheDigest,cacheBytes:s.cacheBytes,commandDigest:s.commandDigest,completedAt:(e.now??new Date).toISOString()}),l=pe.join(o,`build-receipt.${r.planId.slice(7)}.tmp`);return await Hr(l,`${JSON.stringify(c,null,2)}
234
+ `,{mode:384}),await v0(l,Ud(t)),c}catch(s){throw await b0(Ud(t)).then(()=>!0).catch(()=>!1)||await gh(pe.join(o,"store",r.cacheNamespace),{recursive:!0,force:!0}),s}}import{mkdir as E0,readFile as Xr,realpath as bh,writeFile as P0}from"node:fs/promises";import Zr from"node:path";function kh(e,t){return Zr.join(e,".dyyto","recovery-override-plans",`${t}.json`)}async function _h(e){let t=await bh(e.projectRoot),r=await zt(t);if(r.mode!=="pnpm-shared-lockfile")throw new Error("RECOVERY_OVERRIDE_INVALID");let n=JSON.parse(await Xr(Zr.join(r.transactionRoot,".dyyto","transaction-lock.json"),"utf8"));if(typeof n.planId!="string")throw new Error("RECOVERY_OVERRIDE_INVALID");await Xr(Zr.join(t,".dyyto","plans",`${n.planId}.json`));let i=JSON.parse(await Xr(Zr.join(r.transactionRoot,".dyyto","transactions",n.planId,"journal.json"),"utf8"));if(i.state!=="recovery-required"&&i.state!=="recovering"||!Array.isArray(i.operations))throw new Error("RECOVERY_OVERRIDE_INVALID");let o=[];for(let d of i.operations){if(d.before.kind!=="present"||!d.before.preimageDigest)continue;let p=await Xr(Zr.join(r.transactionRoot,...d.path.split("/"))).catch(u=>u.code==="ENOENT"?void 0:Promise.reject(u));if(!p)continue;let f=h(p);f!==d.before.digest&&f!==d.desiredDigest&&o.push({path:d.path,currentDigest:f,preimageDigest:d.before.preimageDigest})}let a=e.now??new Date,s=kd({transactionPlanId:n.planId,transactionRootDigest:h(r.transactionRoot),conflicts:o,generatedAt:a.toISOString(),expiresAt:new Date(a.getTime()+30*6e4).toISOString()}),c=kh(t,s.planId);await E0(Zr.dirname(c),{recursive:!0});let l=`${JSON.stringify(s,null,2)}
235
+ `;return await P0(c,l,{flag:"wx",mode:384}).catch(async d=>{if(d.code!=="EEXIST"||await Xr(c,"utf8")!==l)throw d}),s}async function Ah(e){let t=await bh(e.projectRoot),r=await zt(t),n=Ay(JSON.parse(await Xr(kh(t,e.approvedPlanId),"utf8")));if(n.planId!==e.approvedPlanId||Date.now()>Date.parse(n.expiresAt)||r.mode!=="pnpm-shared-lockfile"||h(r.transactionRoot)!==n.transactionRootDigest)throw new Error("RECOVERY_OVERRIDE_PREIMAGE_CONFLICT");for(let i of n.conflicts){let o=await Xr(Zr.join(r.transactionRoot,...i.path.split("/")));if(h(o)!==i.currentDigest)throw new Error("RECOVERY_OVERRIDE_PREIMAGE_CONFLICT")}return Nl({projectRoot:r.transactionRoot,planId:n.transactionPlanId,now:(e.now??new Date).toISOString(),approvedConflicts:n.conflicts.map(({path:i,currentDigest:o})=>({path:i,currentDigest:o}))})}function as(e){return e.endsWith(`
236
236
  `)?e:`${e}
237
237
  `}function Rh(e,t,r){return t==="json"?{stdout:as(JSON.stringify(e)),stderr:""}:{stdout:as(r),stderr:""}}function Eh(e,t){if(t==="json")return{stdout:"",stderr:as(JSON.stringify(e))};let r=e.error.nextStep===void 0?"":`
238
- Next: ${e.error.nextStep}`;return{stdout:"",stderr:as(`${e.error.code}: ${e.error.message}${r}`)}}import{lstat as O0,readFile as no,realpath as Ph}from"node:fs/promises";import qe from"node:path";var yt=class extends Error{constructor(r){super(r);this.code=r;this.name="TopologyMigrationError"}code};async function ro(e){let t=await O0(e).catch(()=>null);if(t!==null){if(!t.isFile()||t.isSymbolicLink())throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");return no(e)}}async function Nh(e){let t=qe.dirname(e);for(;t!==qe.parse(t).root;){if(await ro(qe.join(t,"pnpm-workspace.yaml"))&&await ro(qe.join(t,"pnpm-lock.yaml"))&&await ro(qe.join(t,"project-capabilities.json")))return t;t=qe.dirname(t)}throw new yt("WORKSPACE_TOPOLOGY_OWNER_MISSING")}function S0(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");return new RegExp(`^ ${r}:\\s*$`,"mu").test(e)}function Oh(e,t){let r=e.toString("utf8"),n=t.toString("utf8"),i=/^verifyDepsBeforeRun:\s*([^\r\n#]+)$/mu.exec(n)?.[1]?.trim();i&&!/^verifyDepsBeforeRun:/mu.test(r)&&(r+=`${r.endsWith(`
238
+ Next: ${e.error.nextStep}`;return{stdout:"",stderr:as(`${e.error.code}: ${e.error.message}${r}`)}}import{lstat as N0,readFile as no,realpath as Ph}from"node:fs/promises";import qe from"node:path";var yt=class extends Error{constructor(r){super(r);this.code=r;this.name="TopologyMigrationError"}code};async function ro(e){let t=await N0(e).catch(()=>null);if(t!==null){if(!t.isFile()||t.isSymbolicLink())throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");return no(e)}}async function Nh(e){let t=qe.dirname(e);for(;t!==qe.parse(t).root;){if(await ro(qe.join(t,"pnpm-workspace.yaml"))&&await ro(qe.join(t,"pnpm-lock.yaml"))&&await ro(qe.join(t,"project-capabilities.json")))return t;t=qe.dirname(t)}throw new yt("WORKSPACE_TOPOLOGY_OWNER_MISSING")}function O0(e,t){let r=t.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");return new RegExp(`^ ${r}:\\s*$`,"mu").test(e)}function Oh(e,t){let r=e.toString("utf8"),n=t.toString("utf8"),i=/^verifyDepsBeforeRun:\s*([^\r\n#]+)$/mu.exec(n)?.[1]?.trim();i&&!/^verifyDepsBeforeRun:/mu.test(r)&&(r+=`${r.endsWith(`
239
239
  `)?"":`
240
240
  `}verifyDepsBeforeRun: ${i}
241
241
  `);let o=n.split(/\r?\n/u),a=[],s=!1;for(let l of o){if(/^allowBuilds:\s*$/u.test(l)){s=!0;continue}if(s&&/^ ['"]?[^'"\s][^:]*['"]?:\s*true\s*$/u.test(l)){a.push(l.trim());continue}s&&l.trim()&&!/^\s/u.test(l)&&(s=!1)}let c=a.filter(l=>!r.split(/\r?\n/u).some(d=>d.trim()===l));if(c.length>0)if(!/^allowBuilds:\s*$/mu.test(r))r+=`${r.endsWith(`
@@ -246,10 +246,10 @@ ${c.map(l=>` ${l}`).join(`
246
246
  `;else{let l=r.split(/\r?\n/u),p=l.findIndex(f=>/^allowBuilds:\s*$/u.test(f))+1;for(;p<l.length&&(!l[p].trim()||/^\s/u.test(l[p]));)p+=1;l.splice(p,0,...c.map(f=>` ${f}`)),r=l.join(`
247
247
  `)}return Buffer.from(r.endsWith(`
248
248
  `)?r:`${r}
249
- `)}async function Sh(e){let t=await Ph(qe.resolve(e.projectRoot)),r=await Nh(t),n=qe.relative(r,t).split(qe.sep).join("/");if(!n||n.startsWith("../"))throw new yt("WORKSPACE_TOPOLOGY_OWNER_MISSING");let i=await ro(qe.join(t,"pnpm-lock.yaml")),o=await ro(qe.join(t,"pnpm-workspace.yaml"));if(!i&&!o)throw new yt("WORKSPACE_TOPOLOGY_MIGRATION_REQUIRED");let a=await no(qe.join(r,"pnpm-lock.yaml")),s=await no(qe.join(r,"pnpm-workspace.yaml"));if(!S0(a.toString("utf8"),n))throw new yt("WORKSPACE_TOPOLOGY_IMPORTER_MISSING");if(o&&!/^packages:\s*\[\]/mu.test(o.toString("utf8")))throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");let c=o?Oh(s,o):s,l=[...h(c)!==h(s)?[{path:"pnpm-workspace.yaml",kind:"replace",ownership:"owned-file",baseDigest:h(s),desiredDigest:h(c)}]:[],...i?[{path:`${n}/pnpm-lock.yaml`,kind:"remove",ownership:"owned-file",baseDigest:h(i)}]:[],...o?[{path:`${n}/pnpm-workspace.yaml`,kind:"remove",ownership:"owned-file",baseDigest:h(o)}]:[]],d=e.generatedAt??new Date().toISOString(),p=e.expiresAt??new Date(Date.parse(d)+30*6e4).toISOString(),f=Pe({action:"upgrade",capability:{schemaVersion:1,capabilityId:"foundation.workspace-topology-migration",version:"1.0.0",integrity:h("foundation.workspace-topology-migration@1.0.0"),assets:[],verifiers:[]},changes:l,observedAssets:l.map(m=>({path:m.path,exists:!0,digest:m.baseDigest})),generatedAt:d,expiresAt:p});return{plan:await Bt({projectRoot:t,transactionRoot:r,plan:f,now:d}),transactionRoot:r}}async function Dh(e){let t=await Ph(qe.resolve(e.projectRoot)),r=await Nh(t),n=await Mr({projectRoot:t,planId:e.approvedPlanId});if(n.capability.capabilityId!=="foundation.workspace-topology-migration"||n.state!=="reviewable")throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");let i=new Map,o=n.operations.find(c=>c.path==="pnpm-workspace.yaml"&&c.kind==="replace");if(o){let c=await no(qe.join(t,"pnpm-workspace.yaml")),l=await no(qe.join(r,"pnpm-workspace.yaml")),d=Oh(l,c);if(h(d)!==o.desiredDigest)throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");i.set("pnpm-workspace.yaml",d)}let a=await lr({projectRoot:r,plan:n,approvedPlanId:e.approvedPlanId,desiredContents:i,now:e.now??new Date().toISOString()}),s=await dr(a);return{planId:n.planId,transactionRoot:r,transaction:s}}import{createInterface as D0}from"node:readline";import ss from"node:process";var j0=[{name:"dyyto_catalog_search",title:"\u641C\u7D22 Dyyto \u5DE5\u7A0B\u80FD\u529B\u76EE\u5F55",description:"\u641C\u7D22\u7ECF\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C\u7684\u6700\u65B0 Capability \u4E0E PackageRelease\uFF1B\u4E0D\u4F1A\u4FEE\u6539\u9879\u76EE\u3002",inputSchema:{type:"object",properties:{query:{type:"string",description:"\u540D\u79F0\u3001\u8BF4\u660E\u6216\u6210\u719F\u5EA6\u5173\u952E\u8BCD\uFF1B\u7559\u7A7A\u65F6\u5217\u51FA\u5168\u90E8\u3002"},kind:{type:"string",enum:["package","capability"],description:"\u53EF\u9009\u7684\u8D44\u4EA7\u7C7B\u578B\u3002"},limit:{type:"integer",minimum:1,maximum:200,default:50}},additionalProperties:!1}},{name:"dyyto_catalog_show",title:"\u8BFB\u53D6 Dyyto \u53D1\u884C\u4E8B\u5B9E",description:"\u6309\u4E0D\u53EF\u53D8 ref \u8BFB\u53D6\u5B8C\u6574 Capability \u6216 PackageRelease\u3002",inputSchema:{type:"object",properties:{ref:{type:"string",description:"\u4F8B\u5982 package:@aipt/platform-kernel@0.1.0\u3002"}},required:["ref"],additionalProperties:!1}}];function Bd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cs(e,t){return{jsonrpc:"2.0",id:e,result:t}}function io(e,t,r){return{jsonrpc:"2.0",id:e,error:{code:t,message:r}}}async function C0(e,t){let r=e.id??null;if(e.method==="notifications/initialized")return null;if(e.method==="initialize")return cs(r,{protocolVersion:"2025-06-18",capabilities:{tools:{listChanged:!1}},serverInfo:{name:"dyyto-catalog",version:Fn},instructions:"\u8FD9\u662F\u53EA\u8BFB\u5DE5\u7A0B\u80FD\u529B\u76EE\u5F55\u3002\u5148\u641C\u7D22\uFF0C\u518D\u7528\u4E0D\u53EF\u53D8 ref \u8BFB\u53D6\u53D1\u884C\u4E8B\u5B9E\u3002"});if(e.method==="tools/list")return cs(r,{tools:j0});if(e.method!=="tools/call")return io(r,-32601,`\u4E0D\u652F\u6301\u7684\u65B9\u6CD5\uFF1A${e.method}`);if(!Bd(e.params)||typeof e.params.name!="string"||e.params.arguments!==void 0&&!Bd(e.params.arguments))return io(r,-32602,"tools/call \u53C2\u6570\u65E0\u6548");let n=e.params.arguments??{};try{let i;if(e.params.name==="dyyto_catalog_search"){if(n.query!==void 0&&typeof n.query!="string")throw new Error("query \u5FC5\u987B\u662F\u5B57\u7B26\u4E32");if(n.kind!==void 0&&n.kind!=="package"&&n.kind!=="capability")throw new Error("kind \u53EA\u63A5\u53D7 package \u6216 capability");if(n.limit!==void 0&&(!Number.isSafeInteger(n.limit)||Number(n.limit)<1||Number(n.limit)>200))throw new Error("limit \u5FC5\u987B\u662F 1 \u5230 200 \u7684\u6574\u6570");i=await Ka({...typeof n.query=="string"?{query:n.query}:{},...n.kind==="package"||n.kind==="capability"?{kind:n.kind}:{},...typeof n.limit=="number"?{limit:n.limit}:{},...t===void 0?{}:{roots:t}})}else if(e.params.name==="dyyto_catalog_show"){if(typeof n.ref!="string"||n.ref.trim()==="")throw new Error("ref \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");i=await Ya({ref:n.ref,...t===void 0?{}:{roots:t}})}else return io(r,-32602,`\u672A\u77E5\u5DE5\u5177\uFF1A${e.params.name}`);return cs(r,{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i})}catch(i){let o=i instanceof Error?i.message:"Catalog \u5DE5\u5177\u6267\u884C\u5931\u8D25";return cs(r,{isError:!0,content:[{type:"text",text:o}]})}}async function jh(){let e=D0({input:ss.stdin,crlfDelay:1/0,terminal:!1});for await(let t of e){if(t.trim()==="")continue;let r;try{let i=JSON.parse(t);if(!Bd(i)||i.jsonrpc!=="2.0"||typeof i.method!="string"){ss.stdout.write(`${JSON.stringify(io(null,-32600,"JSON-RPC \u8BF7\u6C42\u65E0\u6548"))}
249
+ `)}async function Sh(e){let t=await Ph(qe.resolve(e.projectRoot)),r=await Nh(t),n=qe.relative(r,t).split(qe.sep).join("/");if(!n||n.startsWith("../"))throw new yt("WORKSPACE_TOPOLOGY_OWNER_MISSING");let i=await ro(qe.join(t,"pnpm-lock.yaml")),o=await ro(qe.join(t,"pnpm-workspace.yaml"));if(!i&&!o)throw new yt("WORKSPACE_TOPOLOGY_MIGRATION_REQUIRED");let a=await no(qe.join(r,"pnpm-lock.yaml")),s=await no(qe.join(r,"pnpm-workspace.yaml"));if(!O0(a.toString("utf8"),n))throw new yt("WORKSPACE_TOPOLOGY_IMPORTER_MISSING");if(o&&!/^packages:\s*\[\]/mu.test(o.toString("utf8")))throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");let c=o?Oh(s,o):s,l=[...h(c)!==h(s)?[{path:"pnpm-workspace.yaml",kind:"replace",ownership:"owned-file",baseDigest:h(s),desiredDigest:h(c)}]:[],...i?[{path:`${n}/pnpm-lock.yaml`,kind:"remove",ownership:"owned-file",baseDigest:h(i)}]:[],...o?[{path:`${n}/pnpm-workspace.yaml`,kind:"remove",ownership:"owned-file",baseDigest:h(o)}]:[]],d=e.generatedAt??new Date().toISOString(),p=e.expiresAt??new Date(Date.parse(d)+30*6e4).toISOString(),f=Pe({action:"upgrade",capability:{schemaVersion:1,capabilityId:"foundation.workspace-topology-migration",version:"1.0.0",integrity:h("foundation.workspace-topology-migration@1.0.0"),assets:[],verifiers:[]},changes:l,observedAssets:l.map(m=>({path:m.path,exists:!0,digest:m.baseDigest})),generatedAt:d,expiresAt:p});return{plan:await Bt({projectRoot:t,transactionRoot:r,plan:f,now:d}),transactionRoot:r}}async function Dh(e){let t=await Ph(qe.resolve(e.projectRoot)),r=await Nh(t),n=await Mr({projectRoot:t,planId:e.approvedPlanId});if(n.capability.capabilityId!=="foundation.workspace-topology-migration"||n.state!=="reviewable")throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");let i=new Map,o=n.operations.find(c=>c.path==="pnpm-workspace.yaml"&&c.kind==="replace");if(o){let c=await no(qe.join(t,"pnpm-workspace.yaml")),l=await no(qe.join(r,"pnpm-workspace.yaml")),d=Oh(l,c);if(h(d)!==o.desiredDigest)throw new yt("WORKSPACE_TOPOLOGY_PREIMAGE_CONFLICT");i.set("pnpm-workspace.yaml",d)}let a=await lr({projectRoot:r,plan:n,approvedPlanId:e.approvedPlanId,desiredContents:i,now:e.now??new Date().toISOString()}),s=await dr(a);return{planId:n.planId,transactionRoot:r,transaction:s}}import{createInterface as S0}from"node:readline";import ss from"node:process";var D0=[{name:"dyyto_catalog_search",title:"\u641C\u7D22 Dyyto \u5DE5\u7A0B\u80FD\u529B\u76EE\u5F55",description:"\u641C\u7D22\u7ECF\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C\u7684\u6700\u65B0 Capability \u4E0E PackageRelease\uFF1B\u4E0D\u4F1A\u4FEE\u6539\u9879\u76EE\u3002",inputSchema:{type:"object",properties:{query:{type:"string",description:"\u540D\u79F0\u3001\u8BF4\u660E\u6216\u6210\u719F\u5EA6\u5173\u952E\u8BCD\uFF1B\u7559\u7A7A\u65F6\u5217\u51FA\u5168\u90E8\u3002"},kind:{type:"string",enum:["package","capability"],description:"\u53EF\u9009\u7684\u8D44\u4EA7\u7C7B\u578B\u3002"},limit:{type:"integer",minimum:1,maximum:200,default:50}},additionalProperties:!1}},{name:"dyyto_catalog_show",title:"\u8BFB\u53D6 Dyyto \u53D1\u884C\u4E8B\u5B9E",description:"\u6309\u4E0D\u53EF\u53D8 ref \u8BFB\u53D6\u5B8C\u6574 Capability \u6216 PackageRelease\u3002",inputSchema:{type:"object",properties:{ref:{type:"string",description:"\u4F8B\u5982 package:@aipt/platform-kernel@0.1.0\u3002"}},required:["ref"],additionalProperties:!1}}];function Bd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cs(e,t){return{jsonrpc:"2.0",id:e,result:t}}function io(e,t,r){return{jsonrpc:"2.0",id:e,error:{code:t,message:r}}}async function j0(e,t){let r=e.id??null;if(e.method==="notifications/initialized")return null;if(e.method==="initialize")return cs(r,{protocolVersion:"2025-06-18",capabilities:{tools:{listChanged:!1}},serverInfo:{name:"dyyto-catalog",version:Fn},instructions:"\u8FD9\u662F\u53EA\u8BFB\u5DE5\u7A0B\u80FD\u529B\u76EE\u5F55\u3002\u5148\u641C\u7D22\uFF0C\u518D\u7528\u4E0D\u53EF\u53D8 ref \u8BFB\u53D6\u53D1\u884C\u4E8B\u5B9E\u3002"});if(e.method==="tools/list")return cs(r,{tools:D0});if(e.method!=="tools/call")return io(r,-32601,`\u4E0D\u652F\u6301\u7684\u65B9\u6CD5\uFF1A${e.method}`);if(!Bd(e.params)||typeof e.params.name!="string"||e.params.arguments!==void 0&&!Bd(e.params.arguments))return io(r,-32602,"tools/call \u53C2\u6570\u65E0\u6548");let n=e.params.arguments??{};try{let i;if(e.params.name==="dyyto_catalog_search"){if(n.query!==void 0&&typeof n.query!="string")throw new Error("query \u5FC5\u987B\u662F\u5B57\u7B26\u4E32");if(n.kind!==void 0&&n.kind!=="package"&&n.kind!=="capability")throw new Error("kind \u53EA\u63A5\u53D7 package \u6216 capability");if(n.limit!==void 0&&(!Number.isSafeInteger(n.limit)||Number(n.limit)<1||Number(n.limit)>200))throw new Error("limit \u5FC5\u987B\u662F 1 \u5230 200 \u7684\u6574\u6570");i=await Ka({...typeof n.query=="string"?{query:n.query}:{},...n.kind==="package"||n.kind==="capability"?{kind:n.kind}:{},...typeof n.limit=="number"?{limit:n.limit}:{},...t===void 0?{}:{roots:t}})}else if(e.params.name==="dyyto_catalog_show"){if(typeof n.ref!="string"||n.ref.trim()==="")throw new Error("ref \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32");i=await Ya({ref:n.ref,...t===void 0?{}:{roots:t}})}else return io(r,-32602,`\u672A\u77E5\u5DE5\u5177\uFF1A${e.params.name}`);return cs(r,{content:[{type:"text",text:JSON.stringify(i)}],structuredContent:i})}catch(i){let o=i instanceof Error?i.message:"Catalog \u5DE5\u5177\u6267\u884C\u5931\u8D25";return cs(r,{isError:!0,content:[{type:"text",text:o}]})}}async function jh(){let e=S0({input:ss.stdin,crlfDelay:1/0,terminal:!1});for await(let t of e){if(t.trim()==="")continue;let r;try{let i=JSON.parse(t);if(!Bd(i)||i.jsonrpc!=="2.0"||typeof i.method!="string"){ss.stdout.write(`${JSON.stringify(io(null,-32600,"JSON-RPC \u8BF7\u6C42\u65E0\u6548"))}
250
250
  `);continue}r=i}catch{ss.stdout.write(`${JSON.stringify(io(null,-32700,"JSON \u89E3\u6790\u5931\u8D25"))}
251
- `);continue}let n=await C0(r);n!==null&&ss.stdout.write(`${JSON.stringify(n)}
252
- `)}}import{createHash as $0}from"node:crypto";import{spawnSync as T0}from"node:child_process";import{chmod as L0,lstat as x0,mkdir as V0,readdir as M0,readFile as Ht,realpath as Ch,rename as F0,unlink as U0,writeFile as q0}from"node:fs/promises";import _e from"node:path";var oo="1.1.0",Lt=Object.freeze({"@aipt/cli":"0.1.36","@aipt/idp-cli":"0.1.6","@aipt/idp-deploy":"0.1.11"}),$h=Object.entries(Lt).map(([e,t])=>`${e}@${t}`),Gd="<!-- dyyto:agent-policy:start -->",ao="<!-- dyyto:agent-policy:end -->",We=class extends Error{constructor(r,n){super(n);this.code=r}code},Je=e=>`sha256:${$0("sha256").update(e).digest("hex")}`,en=e=>Array.isArray(e)?`[${e.map(en).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${en(r)}`).join(",")}}`:JSON.stringify(e),ls=`${Gd}
251
+ `);continue}let n=await j0(r);n!==null&&ss.stdout.write(`${JSON.stringify(n)}
252
+ `)}}import{createHash as C0}from"node:crypto";import{spawnSync as $0}from"node:child_process";import{chmod as T0,lstat as L0,mkdir as x0,readdir as V0,readFile as Ht,realpath as Ch,rename as M0,unlink as F0,writeFile as U0}from"node:fs/promises";import _e from"node:path";var oo="1.1.0",Lt=Object.freeze({"@aipt/cli":"0.1.37","@aipt/idp-cli":"0.1.6","@aipt/idp-deploy":"0.1.11"}),$h=Object.entries(Lt).map(([e,t])=>`${e}@${t}`),Gd="<!-- dyyto:agent-policy:start -->",ao="<!-- dyyto:agent-policy:end -->",Ke=class extends Error{constructor(r,n){super(n);this.code=r}code},We=e=>`sha256:${C0("sha256").update(e).digest("hex")}`,en=e=>Array.isArray(e)?`[${e.map(en).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${en(r)}`).join(",")}}`:JSON.stringify(e),ls=`${Gd}
253
253
  ## Dyyto \u5DE5\u7A0B\u80FD\u529B\u5E73\u53F0
254
254
 
255
255
  \u672C\u9879\u76EE\u7531 Dyyto \u7EB3\u7BA1\u3002\u5F00\u59CB\u7F16\u7801\u524D\u6267\u884C \`dyyto ready --project .\`\uFF1B\u53EA\u6709\u72B6\u6001\u4E3A \`ready\` \u624D\u80FD\u58F0\u660E\u5F00\u53D1\u73AF\u5883\u5DF2\u5C31\u7EEA\u3002
@@ -259,13 +259,13 @@ ${c.map(l=>` ${l}`).join(`
259
259
  - \u914D\u7F6E\u3001\u5BC6\u94A5\u548C\u8BC1\u4E66\u53EA\u4ECE\u4ED3\u5E93\u5916\u7ED1\u5B9A\u7684 Config Dir \u8BFB\u53D6\uFF0C\u7981\u6B62\u5199\u5165\u9879\u76EE\u73AF\u5883\u6587\u4EF6\u3002
260
260
  - \u4E0D\u7ED5\u8FC7\u4E0D\u53EF\u53D8 Lock\u3001Repository State \u4E0E Evidence\uFF0C\u4E0D\u9759\u9ED8\u8986\u76D6\u7528\u6237\u4FEE\u6539\u3002
261
261
  - \u8BE6\u7EC6\u89C4\u8303\u4F7F\u7528 \`dyyto docs show --id engineering-workflow\` \u8BFB\u53D6\uFF0C\u7981\u6B62\u5728\u4E1A\u52A1\u4ED3\u5E93\u590D\u5236\u5E73\u53F0\u957F\u6587\u6863\u3002
262
- ${ao}`;function B0(e,t){let r=`${t}
262
+ ${ao}`;function q0(e,t){let r=`${t}
263
263
 
264
264
  ${ls}
265
265
  `,n=e.indexOf(Gd),i=e.indexOf(ao);if(n<0&&i<0)return e.length===0?r:`${e.trimEnd()}
266
266
 
267
267
  ${ls}
268
- `;if(n<0||i<n)throw new We("AGENT_POLICY_REGION_INVALID",`${t}\u4E2D\u7684Dyyto\u53D7\u7BA1\u533A\u57DF\u635F\u574F\u3002`);return`${e.slice(0,n)}${ls}${e.slice(i+ao.length)}`}function z0(e){let t=e.indexOf(Gd),r=e.indexOf(ao);if(t<0&&r<0)return e;if(t<0||r<t)throw new We("AGENT_POLICY_REGION_INVALID","Dyyto\u53D7\u7BA1\u533A\u57DF\u635F\u574F\u3002");let n=`${e.slice(0,t)}${e.slice(r+ao.length)}`.trim();return n===""||/^# (?:Agent Instructions|Claude Code Instructions|Antigravity Agent Rules)\s*$/u.test(n)||n.startsWith(`---
268
+ `;if(n<0||i<n)throw new Ke("AGENT_POLICY_REGION_INVALID",`${t}\u4E2D\u7684Dyyto\u53D7\u7BA1\u533A\u57DF\u635F\u574F\u3002`);return`${e.slice(0,n)}${ls}${e.slice(i+ao.length)}`}function B0(e){let t=e.indexOf(Gd),r=e.indexOf(ao);if(t<0&&r<0)return e;if(t<0||r<t)throw new Ke("AGENT_POLICY_REGION_INVALID","Dyyto\u53D7\u7BA1\u533A\u57DF\u635F\u574F\u3002");let n=`${e.slice(0,t)}${e.slice(r+ao.length)}`.trim();return n===""||/^# (?:Agent Instructions|Claude Code Instructions|Antigravity Agent Rules)\s*$/u.test(n)||n.startsWith(`---
269
269
  description: Dyyto\u5DE5\u7A0B\u80FD\u529B\u5E73\u53F0\u89C4\u5219`)||n.startsWith(`---
270
270
  name: dyyto-engineering`)?null:`${n}
271
271
  `}var zd=[["AGENTS.md","# Agent Instructions"],["CLAUDE.md","# Claude Code Instructions"],[".cursor/rules/dyyto-engineering.mdc",`---
@@ -277,12 +277,12 @@ description: \u5728Dyyto\u7EB3\u7BA1\u9879\u76EE\u4E2D\u5F00\u53D1\u3001\u6539\u
277
277
  ---`],[".claude/skills/dyyto-engineering/SKILL.md",`---
278
278
  name: dyyto-engineering
279
279
  description: \u5728Dyyto\u7EB3\u7BA1\u9879\u76EE\u4E2D\u5F00\u53D1\u3001\u6539\u9020\u3001\u9A8C\u8BC1\u6216\u90E8\u7F72\u65F6\u4F7F\u7528\u3002
280
- ---`]];async function Jd(e){if(!_e.isAbsolute(e))throw new We("BOOTSTRAP_PROJECT_NOT_ABSOLUTE","--project\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");let t=await Ch(e),r=await x0(t);if(!r.isDirectory()||r.isSymbolicLink())throw new We("BOOTSTRAP_PROJECT_INVALID","\u9879\u76EE\u5FC5\u987B\u662F\u666E\u901A\u76EE\u5F55\u3002");return t}async function Qr(e){return Ht(e,"utf8").catch(t=>t.code==="ENOENT"?"":Promise.reject(t))}async function ds(e,t){await V0(_e.dirname(e),{recursive:!0,mode:448});let r=`${e}.candidate-${process.pid}`;await q0(r,t,{mode:384,flag:"wx"}),await F0(r,e),await L0(e,e.endsWith(".json")?384:420)}function Th(){return[{id:"engineering-workflow",package:"@aipt/cli",version:Lt["@aipt/cli"],path:"docs/engineering-workflow.md",contentDigest:"sha256:2f3072966d33b97b69c528b9db8ecb0dee0b6d1a36e2841f15b535ec2c802abb"},{id:"vibe-coding-guide",package:"@aipt/cli",version:Lt["@aipt/cli"],path:"docs/vibe-coding-guide.md",contentDigest:"sha256:668f49e7213af970624704a86c0366f47b137f6a1992e0d5f312eb066b752908"},{id:"toolchain-troubleshooting",package:"@aipt/cli",version:Lt["@aipt/cli"],path:"docs/troubleshooting.md",contentDigest:"sha256:2040de770d2c2bd81eea709185e913afd6d6cf4c78f1e30c82e6bcb42b066de9"},{id:"idp-integration",package:"@aipt/idp-cli",version:Lt["@aipt/idp-cli"],path:"docs/integration.md",contentDigest:"sha256:5a69f99fd3dc6eee0c8d7af9663b1f1e0984aced240bf008c65418b478e2a65a"},{id:"local-deployment",package:"@aipt/idp-deploy",version:Lt["@aipt/idp-deploy"],path:"docs/local-deployment.md",contentDigest:"sha256:d6aec46bb077edf239a9708ae7852c6679d6b6ae5f1f810ba7fed5aadb8cf90e"},{id:"application-config-workspace",package:"@aipt/idp-deploy",version:Lt["@aipt/idp-deploy"],path:"docs/application-config-workspace.md",contentDigest:"sha256:848663f2528d1f7de5cdffa6c2d86c3f272642a4e5257b450534b12c83b66bef"},{id:"idpctl-troubleshooting",package:"@aipt/idp-deploy",version:Lt["@aipt/idp-deploy"],path:"docs/troubleshooting.md",contentDigest:"sha256:db2f18eb19fb98e81edf6ea2789fcd72c5158d733a7e93b9fe9f1c34c4632d10"}].map(e=>({...e,referenceDigest:Je(en(e))}))}async function Lh(e){let t=await Jd(e),r=[];for(let[p,f]of zd){let u=await Qr(_e.join(t,p)),m=B0(u,f);r.push({path:p,preimageDigest:Je(u),desired:m,desiredDigest:Je(m)})}let n=`${JSON.stringify({schemaVersion:1,kind:"DyytoToolchainLock",packageManager:"pnpm",tools:Lt},null,2)}
281
- `,i=`${JSON.stringify({schemaVersion:1,kind:"AgentPolicyLock",policy:{id:"dyyto.engineering",version:oo,digest:Je(ls)},adapters:zd.map(([p])=>p)},null,2)}
280
+ ---`]];async function Jd(e){if(!_e.isAbsolute(e))throw new Ke("BOOTSTRAP_PROJECT_NOT_ABSOLUTE","--project\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");let t=await Ch(e),r=await L0(t);if(!r.isDirectory()||r.isSymbolicLink())throw new Ke("BOOTSTRAP_PROJECT_INVALID","\u9879\u76EE\u5FC5\u987B\u662F\u666E\u901A\u76EE\u5F55\u3002");return t}async function Qr(e){return Ht(e,"utf8").catch(t=>t.code==="ENOENT"?"":Promise.reject(t))}async function ds(e,t){await x0(_e.dirname(e),{recursive:!0,mode:448});let r=`${e}.candidate-${process.pid}`;await U0(r,t,{mode:384,flag:"wx"}),await M0(r,e),await T0(e,e.endsWith(".json")?384:420)}function Th(){return[{id:"engineering-workflow",package:"@aipt/cli",version:Lt["@aipt/cli"],path:"docs/engineering-workflow.md",contentDigest:"sha256:2f3072966d33b97b69c528b9db8ecb0dee0b6d1a36e2841f15b535ec2c802abb"},{id:"vibe-coding-guide",package:"@aipt/cli",version:Lt["@aipt/cli"],path:"docs/vibe-coding-guide.md",contentDigest:"sha256:668f49e7213af970624704a86c0366f47b137f6a1992e0d5f312eb066b752908"},{id:"toolchain-troubleshooting",package:"@aipt/cli",version:Lt["@aipt/cli"],path:"docs/troubleshooting.md",contentDigest:"sha256:2040de770d2c2bd81eea709185e913afd6d6cf4c78f1e30c82e6bcb42b066de9"},{id:"idp-integration",package:"@aipt/idp-cli",version:Lt["@aipt/idp-cli"],path:"docs/integration.md",contentDigest:"sha256:5a69f99fd3dc6eee0c8d7af9663b1f1e0984aced240bf008c65418b478e2a65a"},{id:"local-deployment",package:"@aipt/idp-deploy",version:Lt["@aipt/idp-deploy"],path:"docs/local-deployment.md",contentDigest:"sha256:d6aec46bb077edf239a9708ae7852c6679d6b6ae5f1f810ba7fed5aadb8cf90e"},{id:"application-config-workspace",package:"@aipt/idp-deploy",version:Lt["@aipt/idp-deploy"],path:"docs/application-config-workspace.md",contentDigest:"sha256:848663f2528d1f7de5cdffa6c2d86c3f272642a4e5257b450534b12c83b66bef"},{id:"idpctl-troubleshooting",package:"@aipt/idp-deploy",version:Lt["@aipt/idp-deploy"],path:"docs/troubleshooting.md",contentDigest:"sha256:db2f18eb19fb98e81edf6ea2789fcd72c5158d733a7e93b9fe9f1c34c4632d10"}].map(e=>({...e,referenceDigest:We(en(e))}))}async function Lh(e){let t=await Jd(e),r=[];for(let[p,f]of zd){let u=await Qr(_e.join(t,p)),m=q0(u,f);r.push({path:p,preimageDigest:We(u),desired:m,desiredDigest:We(m)})}let n=`${JSON.stringify({schemaVersion:1,kind:"DyytoToolchainLock",packageManager:"pnpm",tools:Lt},null,2)}
281
+ `,i=`${JSON.stringify({schemaVersion:1,kind:"AgentPolicyLock",policy:{id:"dyyto.engineering",version:oo,digest:We(ls)},adapters:zd.map(([p])=>p)},null,2)}
282
282
  `,o=`${JSON.stringify({schemaVersion:1,kind:"DocumentationLock",documents:Th()},null,2)}
283
- `;for(let[p,f]of[[".dyyto/toolchain.lock.json",n],[".dyyto/agent-policy.lock.json",i],[".dyyto/documentation.lock.json",o]]){let u=await Qr(_e.join(t,p));r.push({path:p,preimageDigest:Je(u),desired:f,desiredDigest:Je(f)})}let a={schemaVersion:1,kind:"DyytoBootstrapPlan",projectRoot:t,policyVersion:oo,files:r,createdAt:new Date().toISOString()},s={...a,planId:Je(en(a))},c=_e.join(t,".dyyto/plans/bootstrap",`${s.planId.slice(7)}.json`),l=await Qr(c),d=`${JSON.stringify(s,null,2)}
284
- `;if(l&&l!==d)throw new We("BOOTSTRAP_PLAN_CONFLICT","\u76F8\u540CBootstrap Plan\u8DEF\u5F84\u5DF2\u6709\u4E0D\u540C\u5185\u5BB9\u3002");return l||await ds(c,d),{plan:s,planFile:c,changed:r.filter(p=>p.preimageDigest!==p.desiredDigest).map(p=>p.path)}}async function xh(e){let t=await Jd(e),r=[];for(let[c]of zd){let l=await Qr(_e.join(t,c)),d=z0(l);r.push({path:c,preimageDigest:Je(l),desired:d,desiredDigest:Je(d??"")})}let n=".dyyto/agent-policy.lock.json",i=await Qr(_e.join(t,n));r.push({path:n,preimageDigest:Je(i),desired:null,desiredDigest:Je("")});let o={schemaVersion:1,kind:"DyytoAgentRemovalPlan",projectRoot:t,policyVersion:oo,files:r,createdAt:new Date().toISOString()},a={...o,planId:Je(en(o))},s=_e.join(t,".dyyto/plans/bootstrap",`${a.planId.slice(7)}.json`);return await ds(s,`${JSON.stringify(a,null,2)}
285
- `),{plan:a,planFile:s,changed:r.filter(c=>c.preimageDigest!==c.desiredDigest).map(c=>c.path)}}async function Wd(e,t){if(!_e.isAbsolute(e))throw new We("BOOTSTRAP_PLAN_NOT_ABSOLUTE","Bootstrap Plan\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");let r=JSON.parse(await Ht(await Ch(e),"utf8")),{planId:n,...i}=r;if(n!==t||Je(en(i))!==n)throw new We("BOOTSTRAP_PLAN_NOT_APPROVED","\u5FC5\u987B\u6279\u51C6\u6458\u8981\u6709\u6548\u7684\u7CBE\u786EBootstrap Plan\u3002 ");for(let a of r.files)if(Je(await Qr(_e.join(r.projectRoot,a.path)))!==a.preimageDigest)throw new We("BOOTSTRAP_PREIMAGE_CHANGED",`${a.path}\u5728Plan\u540E\u5DF2\u88AB\u4FEE\u6539\u3002`);let o=_e.join(r.projectRoot,".dyyto/preimages/bootstrap",n.slice(7));for(let a of r.files){let s=_e.join(r.projectRoot,a.path),c=await Qr(s);c&&c!==a.desired&&await ds(_e.join(o,a.path),c),a.desired===null?c&&await U0(s):c!==a.desired&&await ds(s,a.desired)}return{schemaVersion:1,status:"verified",planId:n,projectRoot:r.projectRoot,changed:r.files.filter(a=>a.preimageDigest!==a.desiredDigest).map(a=>a.path),preimageDirectory:o}}async function G0(e){let t=[],r=["packages","apps","services"];for(let n of r){let i=_e.join(e,n);try{let o=await M0(i,{withFileTypes:!0});for(let a of o){if(!a.isDirectory())continue;let s=_e.join(i,a.name,"package.json");try{let c=JSON.parse(await Ht(s,"utf8"));if(!c.name)continue;let l="incubating";c.dyyto?.tier?l=c.dyyto.tier:c.name.startsWith("@aipt/")||c.name.startsWith("@dyyto/")?l="platform-mirror":(a.name==="domain"||a.name==="persistence"||a.name==="application"||a.name==="api-contracts"||c.private===!0)&&(l="proprietary"),t.push({name:c.name,version:c.version||"0.0.0",relativePath:`${n}/${a.name}`,tier:l})}catch{}}}catch{}}return t}async function so(e){let t=await Jd(e),r={tools:Lt};try{r=JSON.parse(await Ht(_e.join(t,".dyyto/toolchain.lock.json"),"utf8"))}catch{}let n={documents:Th()};try{n=JSON.parse(await Ht(_e.join(t,".dyyto/documentation.lock.json"),"utf8"))}catch{}let i;try{i=JSON.parse(await Ht(_e.join(t,"project-capabilities.json"),"utf8"))}catch{try{i=JSON.parse(await Ht(_e.join(t,".dyyto/project-capabilities.json"),"utf8"))}catch{}}let o=await G0(t),a=m=>{let g=T0("git",["-C",t,...m],{encoding:"utf8",shell:!1});return g.status===0?g.stdout.trim():null},s=a(["branch","--show-current"]),c=a(["rev-parse","HEAD"]),l=a(["rev-parse","--show-toplevel"]),d=await Ht(_e.join(t,".dyyto/agent-policy.lock.json"),"utf8").then(m=>JSON.parse(m)).catch(()=>null),p=await Ht(_e.join(t,".dyyto/documentation.lock.json"),"utf8").then(m=>JSON.parse(m)).catch(()=>null),f=d?.policy?.version===oo&&Array.isArray(p?.documents)?"current":d===null&&p===null?"not-bootstrapped":"drifted",u={schemaVersion:1,kind:"DyytoContextBundle",projectRoot:t,repository:{root:l,branch:s,commit:c},bootstrap:{status:f,policyVersion:d?.policy?.version??null,expectedPolicyVersion:oo},intent:"\u4F18\u5148\u590D\u7528Dyyto Catalog\u80FD\u529B\uFF0C\u901A\u8FC7Plan/Apply/Verify\u5B89\u5168\u6F14\u8FDB\uFF1B\u914D\u7F6E\u4E0E\u5BC6\u94A5\u4F4D\u4E8E\u4ED3\u5E93\u5916Config Dir\u3002",requiredBeforeCoding:["dyyto doctor --project .","dyyto catalog search"],toolchain:r.tools,documents:n.documents,prohibitions:["\u4E0D\u5F97\u5728\u4ED3\u5E93\u5185\u4FDD\u5B58Secret","\u4E0D\u5F97\u7ED5\u8FC7\u4E0D\u53EF\u53D8Plan\u5199\u5165\u5DE5\u7A0B\u8D44\u4EA7","\u4E0D\u5F97\u590D\u5236\u5E73\u53F0\u957F\u6587\u6863\u5230\u4E1A\u52A1\u4ED3\u5E93","\u4E0D\u5F97\u5C06\u4E1A\u52A1\u4E13\u5C5ESchema\u6216\u79C1\u6709\u72B6\u6001\u6CC4\u9732\u5230\u901A\u7528\u5305\u4E2D"],assetPerception:{localPackages:o,declaredCapabilities:i||null,proprietaryCount:o.filter(m=>m.tier==="proprietary").length,incubatingCount:o.filter(m=>m.tier==="incubating").length},vibeCodingDecisionGuide:{rulePrioritizeCatalog:"\u65B0\u589E\u529F\u80FD\u6216\u901A\u7528\u4F9D\u8D56\u524D\uFF0C\u5FC5\u987B\u5148\u6267\u884C dyyto catalog search \u68C0\u7D22\u5E76\u590D\u7528\u5DF2\u53D1\u884C\u7684\u901A\u7528\u80FD\u529B\u5305\u3002",ruleLocalIncubation:"\u82E5 Catalog \u5C1A\u65E0\u73B0\u6210\u80FD\u529B\uFF0C\u5E94\u5728 packages/ \u5EFA\u7ACB\u72EC\u7ACB\u5B50\u5305\u8FDB\u884C\u5B75\u5316\uFF1B\u4E25\u7981\u5F15\u7528\u4E1A\u52A1\u4E13\u7528\u6301\u4E45\u5C42\u6216\u679A\u4E3E\uFF0C\u5E76\u9644\u5E26 100% \u8986\u76D6\u7387\u7684 Vitest \u5355\u6D4B\u3002",rulePublishPromotion:"\u672C\u5730\u901A\u7528\u5305\u6210\u719F\u4E14\u901A\u8FC7 Golden Set \u9A8C\u6536\u540E\uFF0C\u4F7F\u7528 dyyto package publish \u53D1\u5E03\u5230\u79C1\u6709/\u516C\u5F00\u955C\u50CF\uFF0C\u4E1A\u52A1\u4ED3\u5E93\u968F\u540E\u5207\u56DE\u8BED\u4E49\u7248\u672C\u4F9D\u8D56\u3002"}};return{...u,contextDigest:Je(en(u))}}var Vh=e=>({"engineering-workflow":`# \u5DE5\u7A0B\u5F00\u53D1\u5DE5\u4F5C\u6D41
283
+ `;for(let[p,f]of[[".dyyto/toolchain.lock.json",n],[".dyyto/agent-policy.lock.json",i],[".dyyto/documentation.lock.json",o]]){let u=await Qr(_e.join(t,p));r.push({path:p,preimageDigest:We(u),desired:f,desiredDigest:We(f)})}let a={schemaVersion:1,kind:"DyytoBootstrapPlan",projectRoot:t,policyVersion:oo,files:r,createdAt:new Date().toISOString()},s={...a,planId:We(en(a))},c=_e.join(t,".dyyto/plans/bootstrap",`${s.planId.slice(7)}.json`),l=await Qr(c),d=`${JSON.stringify(s,null,2)}
284
+ `;if(l&&l!==d)throw new Ke("BOOTSTRAP_PLAN_CONFLICT","\u76F8\u540CBootstrap Plan\u8DEF\u5F84\u5DF2\u6709\u4E0D\u540C\u5185\u5BB9\u3002");return l||await ds(c,d),{plan:s,planFile:c,changed:r.filter(p=>p.preimageDigest!==p.desiredDigest).map(p=>p.path)}}async function xh(e){let t=await Jd(e),r=[];for(let[c]of zd){let l=await Qr(_e.join(t,c)),d=B0(l);r.push({path:c,preimageDigest:We(l),desired:d,desiredDigest:We(d??"")})}let n=".dyyto/agent-policy.lock.json",i=await Qr(_e.join(t,n));r.push({path:n,preimageDigest:We(i),desired:null,desiredDigest:We("")});let o={schemaVersion:1,kind:"DyytoAgentRemovalPlan",projectRoot:t,policyVersion:oo,files:r,createdAt:new Date().toISOString()},a={...o,planId:We(en(o))},s=_e.join(t,".dyyto/plans/bootstrap",`${a.planId.slice(7)}.json`);return await ds(s,`${JSON.stringify(a,null,2)}
285
+ `),{plan:a,planFile:s,changed:r.filter(c=>c.preimageDigest!==c.desiredDigest).map(c=>c.path)}}async function Wd(e,t){if(!_e.isAbsolute(e))throw new Ke("BOOTSTRAP_PLAN_NOT_ABSOLUTE","Bootstrap Plan\u8DEF\u5F84\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002");let r=JSON.parse(await Ht(await Ch(e),"utf8")),{planId:n,...i}=r;if(n!==t||We(en(i))!==n)throw new Ke("BOOTSTRAP_PLAN_NOT_APPROVED","\u5FC5\u987B\u6279\u51C6\u6458\u8981\u6709\u6548\u7684\u7CBE\u786EBootstrap Plan\u3002 ");for(let a of r.files)if(We(await Qr(_e.join(r.projectRoot,a.path)))!==a.preimageDigest)throw new Ke("BOOTSTRAP_PREIMAGE_CHANGED",`${a.path}\u5728Plan\u540E\u5DF2\u88AB\u4FEE\u6539\u3002`);let o=_e.join(r.projectRoot,".dyyto/preimages/bootstrap",n.slice(7));for(let a of r.files){let s=_e.join(r.projectRoot,a.path),c=await Qr(s);c&&c!==a.desired&&await ds(_e.join(o,a.path),c),a.desired===null?c&&await F0(s):c!==a.desired&&await ds(s,a.desired)}return{schemaVersion:1,status:"verified",planId:n,projectRoot:r.projectRoot,changed:r.files.filter(a=>a.preimageDigest!==a.desiredDigest).map(a=>a.path),preimageDirectory:o}}async function z0(e){let t=[],r=["packages","apps","services"];for(let n of r){let i=_e.join(e,n);try{let o=await V0(i,{withFileTypes:!0});for(let a of o){if(!a.isDirectory())continue;let s=_e.join(i,a.name,"package.json");try{let c=JSON.parse(await Ht(s,"utf8"));if(!c.name)continue;let l="incubating";c.dyyto?.tier?l=c.dyyto.tier:c.name.startsWith("@aipt/")||c.name.startsWith("@dyyto/")?l="platform-mirror":(a.name==="domain"||a.name==="persistence"||a.name==="application"||a.name==="api-contracts"||c.private===!0)&&(l="proprietary"),t.push({name:c.name,version:c.version||"0.0.0",relativePath:`${n}/${a.name}`,tier:l})}catch{}}}catch{}}return t}async function so(e){let t=await Jd(e),r={tools:Lt};try{r=JSON.parse(await Ht(_e.join(t,".dyyto/toolchain.lock.json"),"utf8"))}catch{}let n={documents:Th()};try{n=JSON.parse(await Ht(_e.join(t,".dyyto/documentation.lock.json"),"utf8"))}catch{}let i;try{i=JSON.parse(await Ht(_e.join(t,"project-capabilities.json"),"utf8"))}catch{try{i=JSON.parse(await Ht(_e.join(t,".dyyto/project-capabilities.json"),"utf8"))}catch{}}let o=await z0(t),a=m=>{let g=$0("git",["-C",t,...m],{encoding:"utf8",shell:!1});return g.status===0?g.stdout.trim():null},s=a(["branch","--show-current"]),c=a(["rev-parse","HEAD"]),l=a(["rev-parse","--show-toplevel"]),d=await Ht(_e.join(t,".dyyto/agent-policy.lock.json"),"utf8").then(m=>JSON.parse(m)).catch(()=>null),p=await Ht(_e.join(t,".dyyto/documentation.lock.json"),"utf8").then(m=>JSON.parse(m)).catch(()=>null),f=d?.policy?.version===oo&&Array.isArray(p?.documents)?"current":d===null&&p===null?"not-bootstrapped":"drifted",u={schemaVersion:1,kind:"DyytoContextBundle",projectRoot:t,repository:{root:l,branch:s,commit:c},bootstrap:{status:f,policyVersion:d?.policy?.version??null,expectedPolicyVersion:oo},intent:"\u4F18\u5148\u590D\u7528Dyyto Catalog\u80FD\u529B\uFF0C\u901A\u8FC7Plan/Apply/Verify\u5B89\u5168\u6F14\u8FDB\uFF1B\u914D\u7F6E\u4E0E\u5BC6\u94A5\u4F4D\u4E8E\u4ED3\u5E93\u5916Config Dir\u3002",requiredBeforeCoding:["dyyto doctor --project .","dyyto catalog search"],toolchain:r.tools,documents:n.documents,prohibitions:["\u4E0D\u5F97\u5728\u4ED3\u5E93\u5185\u4FDD\u5B58Secret","\u4E0D\u5F97\u7ED5\u8FC7\u4E0D\u53EF\u53D8Plan\u5199\u5165\u5DE5\u7A0B\u8D44\u4EA7","\u4E0D\u5F97\u590D\u5236\u5E73\u53F0\u957F\u6587\u6863\u5230\u4E1A\u52A1\u4ED3\u5E93","\u4E0D\u5F97\u5C06\u4E1A\u52A1\u4E13\u5C5ESchema\u6216\u79C1\u6709\u72B6\u6001\u6CC4\u9732\u5230\u901A\u7528\u5305\u4E2D"],assetPerception:{localPackages:o,declaredCapabilities:i||null,proprietaryCount:o.filter(m=>m.tier==="proprietary").length,incubatingCount:o.filter(m=>m.tier==="incubating").length},vibeCodingDecisionGuide:{rulePrioritizeCatalog:"\u65B0\u589E\u529F\u80FD\u6216\u901A\u7528\u4F9D\u8D56\u524D\uFF0C\u5FC5\u987B\u5148\u6267\u884C dyyto catalog search \u68C0\u7D22\u5E76\u590D\u7528\u5DF2\u53D1\u884C\u7684\u901A\u7528\u80FD\u529B\u5305\u3002",ruleLocalIncubation:"\u82E5 Catalog \u5C1A\u65E0\u73B0\u6210\u80FD\u529B\uFF0C\u5E94\u5728 packages/ \u5EFA\u7ACB\u72EC\u7ACB\u5B50\u5305\u8FDB\u884C\u5B75\u5316\uFF1B\u4E25\u7981\u5F15\u7528\u4E1A\u52A1\u4E13\u7528\u6301\u4E45\u5C42\u6216\u679A\u4E3E\uFF0C\u5E76\u9644\u5E26 100% \u8986\u76D6\u7387\u7684 Vitest \u5355\u6D4B\u3002",rulePublishPromotion:"\u672C\u5730\u901A\u7528\u5305\u6210\u719F\u4E14\u901A\u8FC7 Golden Set \u9A8C\u6536\u540E\uFF0C\u4F7F\u7528 dyyto package publish \u53D1\u5E03\u5230\u79C1\u6709/\u516C\u5F00\u955C\u50CF\uFF0C\u4E1A\u52A1\u4ED3\u5E93\u968F\u540E\u5207\u56DE\u8BED\u4E49\u7248\u672C\u4F9D\u8D56\u3002"}};return{...u,contextDigest:We(en(u))}}var Vh=e=>({"engineering-workflow":`# \u5DE5\u7A0B\u5F00\u53D1\u5DE5\u4F5C\u6D41
286
286
 
287
287
  \u672C\u5730 Sources \u5148\u8FD0\u884C idp-setup init \u5E76\u52A0\u8F7D\u751F\u6210\u7684\u73AF\u5883\u6587\u4EF6\u3002Workspace\u3001\u72EC\u7ACB\u9879\u76EE\u3001Package \u4E0E Application \u5747\u5148\u6267\u884C context \u4E0E doctor\uFF0C\u518D\u67E5\u8BE2 Catalog\u3001\u751F\u6210\u5E76\u5BA1\u6838 Plan\u3001Apply \u540E\u8FD0\u884C Verify\u3002\u914D\u7F6E\u548C\u5BC6\u94A5\u59CB\u7EC8\u4F4D\u4E8E\u4ED3\u5E93\u5916 Config Dir\uFF1B\u90E8\u7F72\u53EA\u4F7F\u7528 idp \u4E0E idpctl bin\u3002
288
288
  `,"idp-integration":`# IDP \u96C6\u6210
@@ -303,14 +303,14 @@ APP_CONFIG_DIR \u662F\u4E1A\u52A1\u914D\u7F6E\u603B\u6839\uFF1B\u591A\u5E94\u752
303
303
  `,"idpctl-troubleshooting":`# idpctl \u8BCA\u65AD
304
304
 
305
305
  \u672A\u77E5\u53C2\u6570\u65F6\u5148\u8FD0\u884C type -a idpctl \u4E0E idpctl --version --json\uFF0C\u786E\u8BA4 PATH \u547D\u4E2D\u9879\u76EE\u9501\u5B9A\u7248\u672C\u3002
306
- `})[e];import{createHash as Mh}from"node:crypto";import{execFile as J0}from"node:child_process";import{chmod as W0,mkdir as Fh,open as K0,readFile as hr,realpath as us,rename as Y0,rm as H0,stat as X0}from"node:fs/promises";import we from"node:path";import{promisify as Z0}from"node:util";var Hd=Z0(J0),tn=e=>`sha256:${Mh("sha256").update(e).digest("hex")}`,Uh=e=>`sha512-${Mh("sha512").update(e).digest("base64")}`,Q0=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u,wr=class extends Error{constructor(r,n,i){super(n);this.code=r;this.nextStep=i;this.name="PackagePublishError"}code;nextStep},Q=(e,t,r)=>{throw new wr(e,t,r)};function eO(e){let t=new Map;for(let r of e.split(/\r?\n/u)){let n=r.trim();if(!n||n.startsWith("#"))continue;let i=n.indexOf("=");i<1&&Q("PACKAGE_PUBLISH_CONFIG_INVALID","Dyyto\u7EC4\u4EF6.env\u5305\u542B\u975E\u6CD5\u884C\u3002");let o=n.slice(0,i).trim();t.has(o)&&Q("PACKAGE_PUBLISH_CONFIG_INVALID",`Dyyto\u7EC4\u4EF6.env\u91CD\u590D\u58F0\u660E${o}\u3002`),t.set(o,n.slice(i+1).trim())}return t}function tO(e,t){let r=new Map;for(let i of e.split(/\r?\n/u)){let o=i.trim(),a=o.indexOf("=");!o||o.startsWith("#")||a<1||r.set(o.slice(0,a).trim(),o.slice(a+1).trim())}let n=t.startsWith("@")?t.slice(0,t.indexOf("/")):void 0;return(n?r.get(`${n}:registry`):void 0)??r.get("registry")}async function Kd(e,t){we.isAbsolute(e)||Q("PACKAGE_PUBLISH_CONFIG_INVALID",`${t}\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002`);let r=await us(e).catch(()=>Q("PACKAGE_PUBLISH_CONFIG_MISSING",`${t}\u4E0D\u5B58\u5728\u3002`)),n=await X0(r);return(!n.isFile()||(n.mode&63)!==0)&&Q("PACKAGE_PUBLISH_CONFIG_UNSAFE",`${t}\u5FC5\u987B\u662F\u6743\u9650600\u7684\u666E\u901A\u6587\u4EF6\u3002`),r}async function Xd(e,t){let r=process.env.IDP_CONFIG_DIR;(!r||!we.isAbsolute(r))&&Q("PACKAGE_PUBLISH_CONFIG_MISSING","\u7F3A\u5C11\u7EDD\u5BF9IDP_CONFIG_DIR\uFF1B\u5148\u8FD0\u884Cidp-setup init\u5E76source generated/sources.env\u3002");let n=await us(r).catch(()=>Q("PACKAGE_PUBLISH_CONFIG_MISSING","IDP_CONFIG_DIR\u4E0D\u5B58\u5728\u3002"));if(e==="public"){let p=await Kd(we.join(n,"secrets/npm-public/npmrc"),"\u516C\u5171npmrc");return{target:e,registry:"https://registry.npmjs.org/",userConfig:p}}let i=we.join(n,"components/dyyto"),o=await Kd(we.join(i,".env"),"Dyyto\u7EC4\u4EF6.env"),a=eO(await hr(o,"utf8")).get("DYYTO_NPMRC_FILE");(!a||we.isAbsolute(a))&&Q("PACKAGE_PUBLISH_CONFIG_INVALID","DYYTO_NPMRC_FILE\u5FC5\u987B\u662F\u7EC4\u4EF6\u76EE\u5F55\u5185\u76F8\u5BF9\u8DEF\u5F84\u3002");let s=await Kd(we.resolve(i,a),"\u79C1\u6709npmrc");we.relative(i,s).startsWith("..")&&Q("PACKAGE_PUBLISH_CONFIG_UNSAFE","\u79C1\u6709npmrc\u8D8A\u8FC7Dyyto\u7EC4\u4EF6\u914D\u7F6E\u76EE\u5F55\u3002");let c=tO(await hr(s,"utf8"),t);c||Q("PACKAGE_PUBLISH_CONFIG_INVALID","\u79C1\u6709npmrc\u7F3A\u5C11\u5F53\u524D\u5305scope\u7684Registry Binding\u3002");let l=new URL(c),d=new Set(["localhost","127.0.0.1","::1"]).has(l.hostname);return l.protocol!=="https:"&&!(l.protocol==="http:"&&d)&&Q("PACKAGE_PUBLISH_CONFIG_UNSAFE","\u975E\u56DE\u73AF\u79C1\u6709Registry\u5FC5\u987B\u4F7F\u7528HTTPS\u3002"),l.hostname.endsWith("npmjs.org")&&Q("PACKAGE_PUBLISH_CONFIG_INVALID","\u79C1\u6709Registry\u4E0D\u80FD\u6307\u5411npmjs.org\u3002"),{target:e,registry:l.toString(),userConfig:s}}function qh(e){let t={...process.env,NPM_CONFIG_USERCONFIG:e,npm_config_userconfig:e};return delete t.NPM_TOKEN,delete t.npm_token,delete t.NPM_CONFIG_REGISTRY,delete t.npm_config_registry,t}async function Yd(e,t){await Fh(we.dirname(e),{recursive:!0,mode:448}),await W0(we.dirname(e),448);let r=await hr(e).catch(o=>o.code==="ENOENT"?null:Promise.reject(o));if(r){Buffer.from(r).equals(Buffer.from(t))||Q("PACKAGE_PUBLISH_IMMUTABLE_CONFLICT",`\u4E0D\u53EF\u53D8\u6587\u4EF6\u51B2\u7A81\uFF1A${e}`);return}let n=`${e}.${process.pid}.tmp`,i=await K0(n,"wx",384);try{await i.writeFile(t),await i.sync()}finally{await i.close()}await Y0(n,e)}function rO(e){return!e||e==="all"?["private","public"]:e==="private"||e==="public"?[e]:Q("PACKAGE_PUBLISH_ARGUMENT_INVALID","--target\u53EA\u652F\u6301private\u3001public\u6216all\u3002")}async function Bh(e){let t=await us(we.resolve(e.packageRoot)).catch(()=>Q("PACKAGE_MANIFEST_NOT_FOUND","Package\u76EE\u5F55\u4E0D\u5B58\u5728\u3002")),r=await hr(we.join(t,"package.json"),"utf8").catch(()=>Q("PACKAGE_MANIFEST_NOT_FOUND",`\u627E\u4E0D\u5230package.json\uFF1A${t}`)),n;try{n=JSON.parse(r)}catch{return Q("PACKAGE_MANIFEST_INVALID","package.json\u4E0D\u662F\u5408\u6CD5JSON\u3002")}(typeof n.name!="string"||!n.name)&&Q("PACKAGE_NAME_INVALID","package.json\u7F3A\u5C11\u5408\u6CD5name\u3002"),(typeof n.version!="string"||!Q0.test(n.version))&&Q("PACKAGE_VERSION_INVALID","package.json version\u4E0D\u7B26\u5408SemVer\u3002");for(let m of[n.dependencies,n.optionalDependencies])for(let[g,y]of Object.entries(m??{}))typeof y=="string"&&y.startsWith("workspace:")&&Q("PACKAGE_DEPENDENCY_UNPUBLISHABLE",`\u8FD0\u884C\u65F6\u4F9D\u8D56${g}\u4ECD\u4F7F\u7528${y}\u3002`);let i=rO(e.target);await Promise.all(i.map(m=>Xd(m,n.name)));let o=we.join(t,".dyyto/package-publish-artifacts");await Fh(o,{recursive:!0,mode:448});let a;try{a=JSON.parse((await Hd("npm",["pack","--pack-destination",o,"--json"],{cwd:t})).stdout)[0]}catch(m){return Q("PACKAGE_PACK_FAILED",`npm pack\u5931\u8D25\uFF1A${String(m?.stderr??m?.message).slice(0,300)}`)}(!a||typeof a.filename!="string")&&Q("PACKAGE_PACK_FAILED","npm pack\u6CA1\u6709\u8FD4\u56DE\u5236\u54C1\u6587\u4EF6\u540D\u3002");let s=we.join(o,a.filename),c=await hr(s),l=tn(c),d=we.posix.join(".dyyto/package-publish-artifacts",`${l}.tgz`),p=we.join(t,d);s!==p&&(await Yd(p,c),await H0(s,{force:!0}));let f={schemaVersion:2,kind:"PackagePublishPlan",packageName:n.name,version:n.version,packageRoot:t,manifestDigest:tn(r),targets:i,access:e.access??n.publishConfig?.access??"public",tag:e.tag??n.publishConfig?.tag??"latest",tarballDigest:l,integrity:Uh(c),artifactFile:d,filesCount:a.entryCount??a.files?.length??0,unpackedBytes:a.unpackedSize??c.byteLength},u=Object.freeze({...f,planId:tn(JSON.stringify(f))});return await Yd(we.join(t,".dyyto/package-publish-plans",`${u.planId}.json`),Buffer.from(`${JSON.stringify(u,null,2)}
307
- `)),u}async function Zd(e,t){/^sha256:[a-f0-9]{64}$/u.test(t)||Q("PACKAGE_PUBLISH_APPROVAL_INVALID","--approve/--plan\u5FC5\u987B\u662F\u5B8C\u6574Plan ID\u3002");let r=await us(we.resolve(e)),n=JSON.parse(await hr(we.join(r,".dyyto/package-publish-plans",`${t}.json`),"utf8"));(n.schemaVersion!==2||n.kind!=="PackagePublishPlan"||n.planId!==t||n.packageRoot!==r)&&Q("PACKAGE_PUBLISH_PLAN_INVALID","Plan\u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524DPackage\u3002");let{planId:i,...o}=n;return tn(JSON.stringify(o))!==t&&Q("PACKAGE_PUBLISH_PLAN_INVALID","Plan\u6458\u8981\u4E0D\u5339\u914D\u3002"),n}async function ps(e,t){try{let r=JSON.parse((await Hd("npm",["view",`${t.packageName}@${t.version}`,"version","dist.integrity","bin","--json","--registry",e.registry],{env:qh(e.userConfig)})).stdout);return{exists:!0,integrity:r["dist.integrity"],bin:r.bin}}catch(r){if(/E404|404 Not Found|No match found/u.test(String(r?.stderr??r?.message)))return{exists:!1};throw r}}async function nO(e,t){for(let r=0;r<8;r+=1){let n=await ps(e,t);if(n.exists&&n.integrity===t.integrity)return n;await new Promise(i=>setTimeout(i,500*(r+1)))}return ps(e,t)}async function zh(e,t){let r=await Zd(e,t);return{planId:t,packageName:r.packageName,version:r.version,expectedIntegrity:r.integrity,results:await Promise.all(r.targets.map(async n=>{let i=await Xd(n,r.packageName);return{target:n,registry:i.registry,...await ps(i,r)}}))}}async function Gh(e){let t=await hr(we.join(e.packageRoot,"package.json"),"utf8");tn(t)!==e.manifestDigest&&Q("PACKAGE_PUBLISH_PREIMAGE_CHANGED","package.json\u5728Plan\u540E\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0Plan\u3002");let r=we.resolve(e.packageRoot,e.artifactFile);we.relative(e.packageRoot,r).startsWith("..")&&Q("PACKAGE_PUBLISH_ARTIFACT_INVALID","\u5236\u54C1\u8D8A\u8FC7Package\u76EE\u5F55\u3002");let n=await hr(r);(tn(n)!==e.tarballDigest||Uh(n)!==e.integrity)&&Q("PACKAGE_PUBLISH_ARTIFACT_CHANGED","\u5236\u54C1\u4E0E\u6279\u51C6Plan\u4E0D\u4E00\u81F4\u3002");let i=[];for(let c of e.targets){let l=await Xd(c,e.packageName),d=await ps(l,e);if(d.exists){d.integrity!==e.integrity&&Q("PACKAGE_PUBLISH_CONFLICT",`${l.registry}\u5DF2\u6709\u540C\u7248\u672C\u4E0D\u540C\u5236\u54C1\u3002`),i.push({target:c,registry:l.registry,status:"already-published",integrity:d.integrity});continue}try{await Hd("npm",["publish",r,"--registry",l.registry,"--tag",e.tag,"--access",e.access],{cwd:e.packageRoot,env:qh(l.userConfig)})}catch(f){return Q("PACKAGE_PUBLISH_FAILED",`${c}\u53D1\u5E03\u5931\u8D25\uFF1A${String(f?.stderr??f?.message).slice(0,300)}`)}let p=await nO(l,e);(!p.exists||p.integrity!==e.integrity)&&Q("PACKAGE_PUBLISH_VERIFY_FAILED",`${c}\u53D1\u5E03\u540Eintegrity\u590D\u9A8C\u5931\u8D25\uFF1B\u53EF\u4F7F\u7528\u540C\u4E00Plan\u5B89\u5168\u91CD\u8BD5\u3002`),i.push({target:c,registry:l.registry,status:"published",integrity:p.integrity})}let o=new Date().toISOString(),a={schemaVersion:2,kind:"PackagePublishReceipt",planId:e.planId,packageName:e.packageName,version:e.version,tarballDigest:e.tarballDigest,results:i,publishedAt:o},s=Object.freeze({...a,receiptId:tn(JSON.stringify(a))});return await Yd(we.join(e.packageRoot,".dyyto/package-publish-receipts",`${s.receiptId}.json`),Buffer.from(`${JSON.stringify(s,null,2)}
308
- `)),s}import{createHash as iO}from"node:crypto";import{mkdir as oO,readFile as aO,realpath as tp,rename as sO,writeFile as cO}from"node:fs/promises";import Mn from"node:path";import{spawnSync as lO}from"node:child_process";var ep=e=>Array.isArray(e)?`[${e.map(ep).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${ep(r)}`).join(",")}}`:JSON.stringify(e),Vn=e=>`sha256:${iO("sha256").update(ep(e)).digest("hex")}`,rn=async e=>aO(e,"utf8").catch(t=>t.code==="ENOENT"?null:Promise.reject(t));async function fs(e,t){await oO(Mn.dirname(e),{recursive:!0,mode:448});let r=`${e}.candidate-${process.pid}`;await cO(r,`${JSON.stringify(t,null,2)}
309
- `,{flag:"wx",mode:384}),await sO(r,e)}var Qd=(e,t)=>{let r=lO("git",["-C",e,...t],{encoding:"utf8",shell:!1});if(r.status!==0||!r.stdout.trim())throw new Error("DEVELOPMENT_GIT_REVISION_UNAVAILABLE");return r.stdout.trim()};async function Jh(e){let t=await tp(e.projectRoot),r=await so(t);if(r.bootstrap.status!=="current")throw new Error("DEVELOPMENT_BOOTSTRAP_NOT_CURRENT");let n=e.source??"direct",i={repository:Qd(t,["config","--get","remote.origin.url"]),branch:Qd(t,["branch","--show-current"]),commit:Qd(t,["rev-parse","HEAD"])},o=Oy({source:n,intentId:n==="direct"?`direct:${i.branch}:${i.commit.slice(0,12)}`:`${e.requirementId}:${e.taskId}`,title:e.title,summary:e.summary,repository:i,requirementId:e.requirementId??null,taskId:e.taskId??null,acceptance:e.acceptance??[]}),a=Sy({intent:o,worktreePath:t,engineeringContextDigest:r.contextDigest,startedAt:new Date().toISOString()}),s=Mn.join(t,".dyyto/sessions/current.json"),c=await rn(s);if(c){let f=JSON.parse(c);if(f.state==="active"&&f.sessionId!==a.sessionId)throw new Error("DEVELOPMENT_SESSION_CONFLICT")}let l={schemaVersion:1,kind:"DevelopmentSessionPlan",operation:"start",projectRoot:t,preimageDigest:Vn(c??""),session:a},d={...l,planId:Vn(l)},p=Mn.join(t,".dyyto/plans/development",`${d.planId.slice(7)}.json`);if(await rn(p)||await fs(p,d),e.apply){if(Vn(await rn(s)??"")!==d.preimageDigest)throw new Error("DEVELOPMENT_SESSION_PREIMAGE_CHANGED");await fs(s,a)}return{status:e.apply?"active":"planned",planId:d.planId,planFile:p,session:a}}async function Wh(e){let t=Mn.join(await tp(e),".dyyto/sessions/current.json"),r=await rn(t);if(!r)throw new Error("DEVELOPMENT_SESSION_NOT_FOUND");return JSON.parse(r)}async function Kh(e,t){let r=await tp(e),n=Mn.join(r,".dyyto/sessions/current.json"),i=await rn(n);if(!i)throw new Error("DEVELOPMENT_SESSION_NOT_FOUND");let o=Dy(JSON.parse(i),new Date().toISOString()),a={schemaVersion:1,kind:"DevelopmentSessionPlan",operation:"finish",projectRoot:r,preimageDigest:Vn(i),session:o},s={...a,planId:Vn(a)},c=Mn.join(r,".dyyto/plans/development",`${s.planId.slice(7)}.json`);if(await rn(c)||await fs(c,s),t){if(Vn(await rn(n)??"")!==s.preimageDigest)throw new Error("DEVELOPMENT_SESSION_PREIMAGE_CHANGED");await fs(n,o)}return{status:t?"finished":"planned",planId:s.planId,planFile:c,session:o}}function Ee(e){e.stdout.length>0&&be.stdout.write(e.stdout),e.stderr.length>0&&be.stderr.write(e.stderr)}async function uO(e){let t=e.indexOf("--artifact-workspace"),r=e[t+1],n=e.indexOf("--artifact-bundle"),i=e[n+1],o=e.flatMap((p,f)=>p==="--artifact-fallback-bundle"&&e[f+1]!==void 0?[e[f+1]]:[]),a=e.indexOf("--artifact-port"),s=Number(e[a+1]),c=[t>=0,n>=0,a>=0];if(!c.some(Boolean))return{};if(!c.every(Boolean)||r===void 0||i===void 0||!/^sha256:[a-f0-9]{64}$/u.test(i)||o.some(p=>!/^sha256:[a-f0-9]{64}$/u.test(p))||!Number.isSafeInteger(s)||s<1||s>65535)throw new j({code:"CLI_ARGUMENT_INVALID",message:"Development Package Source requires exact --artifact-workspace, --artifact-bundle, optional --artifact-fallback-bundle and --artifact-port values.",exitCode:2,nextStep:"Start the approved local Artifact Bundle set and repeat the exact values."});let l=await eo(Qe.resolve(r,".dyyto","package-artifacts",i)),d=await Promise.all(o.map(p=>eo(Qe.resolve(r,".dyyto","package-artifacts",p))));if(l.bundle.bundleId!==i)throw new yr("LOCAL_ARTIFACT_SOURCE_INVALID");return{packageSourceProvider:ph({bundle:l.bundle,fallbackBundles:d.map(p=>p.bundle),origin:`http://127.0.0.1:${s}/`,resolvedAt:"2026-08-21T00:00:00.000Z",expiresAt:"2099-12-31T23:59:59.000Z"}),resolutionWorkerProvider:mh({stateRoot:Qe.resolve(r,".dyyto","resolution-worker"),engine:fh()}),packageStoreRoot:Qe.resolve(r,".dyyto","resolution-worker","store")}}async function ux(e){let t=e.includes("--json")?"json":"human";try{if(e[0]==="dev"&&e[1]==="session"){let n=e[2],i=e.indexOf("--project"),o=Qe.resolve(i<0?be.cwd():e[i+1]??""),a;if(n==="show")a=await Wh(o);else if(n==="finish")a=await Kh(o,e.includes("--apply"));else if(n==="start"){let s=u=>{let m=e.indexOf(u);return m<0?void 0:e[m+1]},c=s("--title"),l=s("--summary"),d=s("--source"),p=s("--requirement"),f=s("--task");if(!c||!l)throw new j({code:"CLI_ARGUMENT_INVALID",message:"dev session start \u9700\u8981 --title \u4E0E --summary\u3002",exitCode:2});a=await Jh({projectRoot:o,title:c,summary:l,...d?{source:d}:{},...p?{requirementId:p}:{},...f?{taskId:f}:{},acceptance:e.flatMap((u,m)=>u==="--accept"&&e[m+1]?[e[m+1]]:[]),apply:e.includes("--apply")})}else throw new j({code:"CLI_ARGUMENT_INVALID",message:"dev session \u53EA\u652F\u6301 start\u3001show\u3001finish\u3002",exitCode:2});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:`dev-session-${n}`,result:a})}
306
+ `})[e];import{createHash as Mh}from"node:crypto";import{execFile as G0}from"node:child_process";import{chmod as J0,mkdir as Fh,open as W0,readFile as hr,realpath as us,rename as K0,rm as Y0,stat as H0}from"node:fs/promises";import we from"node:path";import{promisify as X0}from"node:util";var Hd=X0(G0),tn=e=>`sha256:${Mh("sha256").update(e).digest("hex")}`,Uh=e=>`sha512-${Mh("sha512").update(e).digest("base64")}`,Z0=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u,wr=class extends Error{constructor(r,n,i){super(n);this.code=r;this.nextStep=i;this.name="PackagePublishError"}code;nextStep},Q=(e,t,r)=>{throw new wr(e,t,r)};function Q0(e){let t=new Map;for(let r of e.split(/\r?\n/u)){let n=r.trim();if(!n||n.startsWith("#"))continue;let i=n.indexOf("=");i<1&&Q("PACKAGE_PUBLISH_CONFIG_INVALID","Dyyto\u7EC4\u4EF6.env\u5305\u542B\u975E\u6CD5\u884C\u3002");let o=n.slice(0,i).trim();t.has(o)&&Q("PACKAGE_PUBLISH_CONFIG_INVALID",`Dyyto\u7EC4\u4EF6.env\u91CD\u590D\u58F0\u660E${o}\u3002`),t.set(o,n.slice(i+1).trim())}return t}function eO(e,t){let r=new Map;for(let i of e.split(/\r?\n/u)){let o=i.trim(),a=o.indexOf("=");!o||o.startsWith("#")||a<1||r.set(o.slice(0,a).trim(),o.slice(a+1).trim())}let n=t.startsWith("@")?t.slice(0,t.indexOf("/")):void 0;return(n?r.get(`${n}:registry`):void 0)??r.get("registry")}async function Kd(e,t){we.isAbsolute(e)||Q("PACKAGE_PUBLISH_CONFIG_INVALID",`${t}\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84\u3002`);let r=await us(e).catch(()=>Q("PACKAGE_PUBLISH_CONFIG_MISSING",`${t}\u4E0D\u5B58\u5728\u3002`)),n=await H0(r);return(!n.isFile()||(n.mode&63)!==0)&&Q("PACKAGE_PUBLISH_CONFIG_UNSAFE",`${t}\u5FC5\u987B\u662F\u6743\u9650600\u7684\u666E\u901A\u6587\u4EF6\u3002`),r}async function Xd(e,t){let r=process.env.IDP_CONFIG_DIR;(!r||!we.isAbsolute(r))&&Q("PACKAGE_PUBLISH_CONFIG_MISSING","\u7F3A\u5C11\u7EDD\u5BF9IDP_CONFIG_DIR\uFF1B\u5148\u8FD0\u884Cidp-setup init\u5E76source generated/sources.env\u3002");let n=await us(r).catch(()=>Q("PACKAGE_PUBLISH_CONFIG_MISSING","IDP_CONFIG_DIR\u4E0D\u5B58\u5728\u3002"));if(e==="public"){let p=await Kd(we.join(n,"secrets/npm-public/npmrc"),"\u516C\u5171npmrc");return{target:e,registry:"https://registry.npmjs.org/",userConfig:p}}let i=we.join(n,"components/dyyto"),o=await Kd(we.join(i,".env"),"Dyyto\u7EC4\u4EF6.env"),a=Q0(await hr(o,"utf8")).get("DYYTO_NPMRC_FILE");(!a||we.isAbsolute(a))&&Q("PACKAGE_PUBLISH_CONFIG_INVALID","DYYTO_NPMRC_FILE\u5FC5\u987B\u662F\u7EC4\u4EF6\u76EE\u5F55\u5185\u76F8\u5BF9\u8DEF\u5F84\u3002");let s=await Kd(we.resolve(i,a),"\u79C1\u6709npmrc");we.relative(i,s).startsWith("..")&&Q("PACKAGE_PUBLISH_CONFIG_UNSAFE","\u79C1\u6709npmrc\u8D8A\u8FC7Dyyto\u7EC4\u4EF6\u914D\u7F6E\u76EE\u5F55\u3002");let c=eO(await hr(s,"utf8"),t);c||Q("PACKAGE_PUBLISH_CONFIG_INVALID","\u79C1\u6709npmrc\u7F3A\u5C11\u5F53\u524D\u5305scope\u7684Registry Binding\u3002");let l=new URL(c),d=new Set(["localhost","127.0.0.1","::1"]).has(l.hostname);return l.protocol!=="https:"&&!(l.protocol==="http:"&&d)&&Q("PACKAGE_PUBLISH_CONFIG_UNSAFE","\u975E\u56DE\u73AF\u79C1\u6709Registry\u5FC5\u987B\u4F7F\u7528HTTPS\u3002"),l.hostname.endsWith("npmjs.org")&&Q("PACKAGE_PUBLISH_CONFIG_INVALID","\u79C1\u6709Registry\u4E0D\u80FD\u6307\u5411npmjs.org\u3002"),{target:e,registry:l.toString(),userConfig:s}}function qh(e){let t={...process.env,NPM_CONFIG_USERCONFIG:e,npm_config_userconfig:e};return delete t.NPM_TOKEN,delete t.npm_token,delete t.NPM_CONFIG_REGISTRY,delete t.npm_config_registry,t}async function Yd(e,t){await Fh(we.dirname(e),{recursive:!0,mode:448}),await J0(we.dirname(e),448);let r=await hr(e).catch(o=>o.code==="ENOENT"?null:Promise.reject(o));if(r){Buffer.from(r).equals(Buffer.from(t))||Q("PACKAGE_PUBLISH_IMMUTABLE_CONFLICT",`\u4E0D\u53EF\u53D8\u6587\u4EF6\u51B2\u7A81\uFF1A${e}`);return}let n=`${e}.${process.pid}.tmp`,i=await W0(n,"wx",384);try{await i.writeFile(t),await i.sync()}finally{await i.close()}await K0(n,e)}function tO(e){return!e||e==="all"?["private","public"]:e==="private"||e==="public"?[e]:Q("PACKAGE_PUBLISH_ARGUMENT_INVALID","--target\u53EA\u652F\u6301private\u3001public\u6216all\u3002")}async function Bh(e){let t=await us(we.resolve(e.packageRoot)).catch(()=>Q("PACKAGE_MANIFEST_NOT_FOUND","Package\u76EE\u5F55\u4E0D\u5B58\u5728\u3002")),r=await hr(we.join(t,"package.json"),"utf8").catch(()=>Q("PACKAGE_MANIFEST_NOT_FOUND",`\u627E\u4E0D\u5230package.json\uFF1A${t}`)),n;try{n=JSON.parse(r)}catch{return Q("PACKAGE_MANIFEST_INVALID","package.json\u4E0D\u662F\u5408\u6CD5JSON\u3002")}(typeof n.name!="string"||!n.name)&&Q("PACKAGE_NAME_INVALID","package.json\u7F3A\u5C11\u5408\u6CD5name\u3002"),(typeof n.version!="string"||!Z0.test(n.version))&&Q("PACKAGE_VERSION_INVALID","package.json version\u4E0D\u7B26\u5408SemVer\u3002");for(let m of[n.dependencies,n.optionalDependencies])for(let[g,y]of Object.entries(m??{}))typeof y=="string"&&y.startsWith("workspace:")&&Q("PACKAGE_DEPENDENCY_UNPUBLISHABLE",`\u8FD0\u884C\u65F6\u4F9D\u8D56${g}\u4ECD\u4F7F\u7528${y}\u3002`);let i=tO(e.target);await Promise.all(i.map(m=>Xd(m,n.name)));let o=we.join(t,".dyyto/package-publish-artifacts");await Fh(o,{recursive:!0,mode:448});let a;try{a=JSON.parse((await Hd("npm",["pack","--pack-destination",o,"--json"],{cwd:t})).stdout)[0]}catch(m){return Q("PACKAGE_PACK_FAILED",`npm pack\u5931\u8D25\uFF1A${String(m?.stderr??m?.message).slice(0,300)}`)}(!a||typeof a.filename!="string")&&Q("PACKAGE_PACK_FAILED","npm pack\u6CA1\u6709\u8FD4\u56DE\u5236\u54C1\u6587\u4EF6\u540D\u3002");let s=we.join(o,a.filename),c=await hr(s),l=tn(c),d=we.posix.join(".dyyto/package-publish-artifacts",`${l}.tgz`),p=we.join(t,d);s!==p&&(await Yd(p,c),await Y0(s,{force:!0}));let f={schemaVersion:2,kind:"PackagePublishPlan",packageName:n.name,version:n.version,packageRoot:t,manifestDigest:tn(r),targets:i,access:e.access??n.publishConfig?.access??"public",tag:e.tag??n.publishConfig?.tag??"latest",tarballDigest:l,integrity:Uh(c),artifactFile:d,filesCount:a.entryCount??a.files?.length??0,unpackedBytes:a.unpackedSize??c.byteLength},u=Object.freeze({...f,planId:tn(JSON.stringify(f))});return await Yd(we.join(t,".dyyto/package-publish-plans",`${u.planId}.json`),Buffer.from(`${JSON.stringify(u,null,2)}
307
+ `)),u}async function Zd(e,t){/^sha256:[a-f0-9]{64}$/u.test(t)||Q("PACKAGE_PUBLISH_APPROVAL_INVALID","--approve/--plan\u5FC5\u987B\u662F\u5B8C\u6574Plan ID\u3002");let r=await us(we.resolve(e)),n=JSON.parse(await hr(we.join(r,".dyyto/package-publish-plans",`${t}.json`),"utf8"));(n.schemaVersion!==2||n.kind!=="PackagePublishPlan"||n.planId!==t||n.packageRoot!==r)&&Q("PACKAGE_PUBLISH_PLAN_INVALID","Plan\u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524DPackage\u3002");let{planId:i,...o}=n;return tn(JSON.stringify(o))!==t&&Q("PACKAGE_PUBLISH_PLAN_INVALID","Plan\u6458\u8981\u4E0D\u5339\u914D\u3002"),n}async function ps(e,t){try{let r=JSON.parse((await Hd("npm",["view",`${t.packageName}@${t.version}`,"version","dist.integrity","bin","--json","--registry",e.registry],{env:qh(e.userConfig)})).stdout);return{exists:!0,integrity:r["dist.integrity"],bin:r.bin}}catch(r){if(/E404|404 Not Found|No match found/u.test(String(r?.stderr??r?.message)))return{exists:!1};throw r}}async function rO(e,t){for(let r=0;r<8;r+=1){let n=await ps(e,t);if(n.exists&&n.integrity===t.integrity)return n;await new Promise(i=>setTimeout(i,500*(r+1)))}return ps(e,t)}async function zh(e,t){let r=await Zd(e,t);return{planId:t,packageName:r.packageName,version:r.version,expectedIntegrity:r.integrity,results:await Promise.all(r.targets.map(async n=>{let i=await Xd(n,r.packageName);return{target:n,registry:i.registry,...await ps(i,r)}}))}}async function Gh(e){let t=await hr(we.join(e.packageRoot,"package.json"),"utf8");tn(t)!==e.manifestDigest&&Q("PACKAGE_PUBLISH_PREIMAGE_CHANGED","package.json\u5728Plan\u540E\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0Plan\u3002");let r=we.resolve(e.packageRoot,e.artifactFile);we.relative(e.packageRoot,r).startsWith("..")&&Q("PACKAGE_PUBLISH_ARTIFACT_INVALID","\u5236\u54C1\u8D8A\u8FC7Package\u76EE\u5F55\u3002");let n=await hr(r);(tn(n)!==e.tarballDigest||Uh(n)!==e.integrity)&&Q("PACKAGE_PUBLISH_ARTIFACT_CHANGED","\u5236\u54C1\u4E0E\u6279\u51C6Plan\u4E0D\u4E00\u81F4\u3002");let i=[];for(let c of e.targets){let l=await Xd(c,e.packageName),d=await ps(l,e);if(d.exists){d.integrity!==e.integrity&&Q("PACKAGE_PUBLISH_CONFLICT",`${l.registry}\u5DF2\u6709\u540C\u7248\u672C\u4E0D\u540C\u5236\u54C1\u3002`),i.push({target:c,registry:l.registry,status:"already-published",integrity:d.integrity});continue}try{await Hd("npm",["publish",r,"--registry",l.registry,"--tag",e.tag,"--access",e.access],{cwd:e.packageRoot,env:qh(l.userConfig)})}catch(f){return Q("PACKAGE_PUBLISH_FAILED",`${c}\u53D1\u5E03\u5931\u8D25\uFF1A${String(f?.stderr??f?.message).slice(0,300)}`)}let p=await rO(l,e);(!p.exists||p.integrity!==e.integrity)&&Q("PACKAGE_PUBLISH_VERIFY_FAILED",`${c}\u53D1\u5E03\u540Eintegrity\u590D\u9A8C\u5931\u8D25\uFF1B\u53EF\u4F7F\u7528\u540C\u4E00Plan\u5B89\u5168\u91CD\u8BD5\u3002`),i.push({target:c,registry:l.registry,status:"published",integrity:p.integrity})}let o=new Date().toISOString(),a={schemaVersion:2,kind:"PackagePublishReceipt",planId:e.planId,packageName:e.packageName,version:e.version,tarballDigest:e.tarballDigest,results:i,publishedAt:o},s=Object.freeze({...a,receiptId:tn(JSON.stringify(a))});return await Yd(we.join(e.packageRoot,".dyyto/package-publish-receipts",`${s.receiptId}.json`),Buffer.from(`${JSON.stringify(s,null,2)}
308
+ `)),s}import{createHash as nO}from"node:crypto";import{mkdir as iO,readFile as oO,realpath as tp,rename as aO,writeFile as sO}from"node:fs/promises";import Mn from"node:path";import{spawnSync as cO}from"node:child_process";var ep=e=>Array.isArray(e)?`[${e.map(ep).join(",")}]`:e!==null&&typeof e=="object"?`{${Object.entries(e).sort(([t],[r])=>t.localeCompare(r)).map(([t,r])=>`${JSON.stringify(t)}:${ep(r)}`).join(",")}}`:JSON.stringify(e),Vn=e=>`sha256:${nO("sha256").update(ep(e)).digest("hex")}`,rn=async e=>oO(e,"utf8").catch(t=>t.code==="ENOENT"?null:Promise.reject(t));async function fs(e,t){await iO(Mn.dirname(e),{recursive:!0,mode:448});let r=`${e}.candidate-${process.pid}`;await sO(r,`${JSON.stringify(t,null,2)}
309
+ `,{flag:"wx",mode:384}),await aO(r,e)}var Qd=(e,t)=>{let r=cO("git",["-C",e,...t],{encoding:"utf8",shell:!1});if(r.status!==0||!r.stdout.trim())throw new Error("DEVELOPMENT_GIT_REVISION_UNAVAILABLE");return r.stdout.trim()};async function Jh(e){let t=await tp(e.projectRoot),r=await so(t);if(r.bootstrap.status!=="current")throw new Error("DEVELOPMENT_BOOTSTRAP_NOT_CURRENT");let n=e.source??"direct",i={repository:Qd(t,["config","--get","remote.origin.url"]),branch:Qd(t,["branch","--show-current"]),commit:Qd(t,["rev-parse","HEAD"])},o=Oy({source:n,intentId:n==="direct"?`direct:${i.branch}:${i.commit.slice(0,12)}`:`${e.requirementId}:${e.taskId}`,title:e.title,summary:e.summary,repository:i,requirementId:e.requirementId??null,taskId:e.taskId??null,acceptance:e.acceptance??[]}),a=Sy({intent:o,worktreePath:t,engineeringContextDigest:r.contextDigest,startedAt:new Date().toISOString()}),s=Mn.join(t,".dyyto/sessions/current.json"),c=await rn(s);if(c){let f=JSON.parse(c);if(f.state==="active"&&f.sessionId!==a.sessionId)throw new Error("DEVELOPMENT_SESSION_CONFLICT")}let l={schemaVersion:1,kind:"DevelopmentSessionPlan",operation:"start",projectRoot:t,preimageDigest:Vn(c??""),session:a},d={...l,planId:Vn(l)},p=Mn.join(t,".dyyto/plans/development",`${d.planId.slice(7)}.json`);if(await rn(p)||await fs(p,d),e.apply){if(Vn(await rn(s)??"")!==d.preimageDigest)throw new Error("DEVELOPMENT_SESSION_PREIMAGE_CHANGED");await fs(s,a)}return{status:e.apply?"active":"planned",planId:d.planId,planFile:p,session:a}}async function Wh(e){let t=Mn.join(await tp(e),".dyyto/sessions/current.json"),r=await rn(t);if(!r)throw new Error("DEVELOPMENT_SESSION_NOT_FOUND");return JSON.parse(r)}async function Kh(e,t){let r=await tp(e),n=Mn.join(r,".dyyto/sessions/current.json"),i=await rn(n);if(!i)throw new Error("DEVELOPMENT_SESSION_NOT_FOUND");let o=Dy(JSON.parse(i),new Date().toISOString()),a={schemaVersion:1,kind:"DevelopmentSessionPlan",operation:"finish",projectRoot:r,preimageDigest:Vn(i),session:o},s={...a,planId:Vn(a)},c=Mn.join(r,".dyyto/plans/development",`${s.planId.slice(7)}.json`);if(await rn(c)||await fs(c,s),t){if(Vn(await rn(n)??"")!==s.preimageDigest)throw new Error("DEVELOPMENT_SESSION_PREIMAGE_CHANGED");await fs(n,o)}return{status:t?"finished":"planned",planId:s.planId,planFile:c,session:o}}function Ee(e){e.stdout.length>0&&be.stdout.write(e.stdout),e.stderr.length>0&&be.stderr.write(e.stderr)}async function pO(e){let t=e.indexOf("--artifact-workspace"),r=e[t+1],n=e.indexOf("--artifact-bundle"),i=e[n+1],o=e.flatMap((p,f)=>p==="--artifact-fallback-bundle"&&e[f+1]!==void 0?[e[f+1]]:[]),a=e.indexOf("--artifact-port"),s=Number(e[a+1]),c=[t>=0,n>=0,a>=0];if(!c.some(Boolean))return{};if(!c.every(Boolean)||r===void 0||i===void 0||!/^sha256:[a-f0-9]{64}$/u.test(i)||o.some(p=>!/^sha256:[a-f0-9]{64}$/u.test(p))||!Number.isSafeInteger(s)||s<1||s>65535)throw new j({code:"CLI_ARGUMENT_INVALID",message:"Development Package Source requires exact --artifact-workspace, --artifact-bundle, optional --artifact-fallback-bundle and --artifact-port values.",exitCode:2,nextStep:"Start the approved local Artifact Bundle set and repeat the exact values."});let l=await eo(et.resolve(r,".dyyto","package-artifacts",i)),d=await Promise.all(o.map(p=>eo(et.resolve(r,".dyyto","package-artifacts",p))));if(l.bundle.bundleId!==i)throw new yr("LOCAL_ARTIFACT_SOURCE_INVALID");return{packageSourceProvider:ph({bundle:l.bundle,fallbackBundles:d.map(p=>p.bundle),origin:`http://127.0.0.1:${s}/`,resolvedAt:"2026-08-21T00:00:00.000Z",expiresAt:"2099-12-31T23:59:59.000Z"}),resolutionWorkerProvider:mh({stateRoot:et.resolve(r,".dyyto","resolution-worker"),engine:fh()}),packageStoreRoot:et.resolve(r,".dyyto","resolution-worker","store")}}async function px(e){let t=e.includes("--json")?"json":"human";try{if(e[0]==="dev"&&e[1]==="session"){let n=e[2],i=e.indexOf("--project"),o=et.resolve(i<0?be.cwd():e[i+1]??""),a;if(n==="show")a=await Wh(o);else if(n==="finish")a=await Kh(o,e.includes("--apply"));else if(n==="start"){let s=u=>{let m=e.indexOf(u);return m<0?void 0:e[m+1]},c=s("--title"),l=s("--summary"),d=s("--source"),p=s("--requirement"),f=s("--task");if(!c||!l)throw new j({code:"CLI_ARGUMENT_INVALID",message:"dev session start \u9700\u8981 --title \u4E0E --summary\u3002",exitCode:2});a=await Jh({projectRoot:o,title:c,summary:l,...d?{source:d}:{},...p?{requirementId:p}:{},...f?{taskId:f}:{},acceptance:e.flatMap((u,m)=>u==="--accept"&&e[m+1]?[e[m+1]]:[]),apply:e.includes("--apply")})}else throw new j({code:"CLI_ARGUMENT_INVALID",message:"dev session \u53EA\u652F\u6301 start\u3001show\u3001finish\u3002",exitCode:2});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:`dev-session-${n}`,result:a})}
310
310
  `:`${JSON.stringify(a,null,2)}
311
- `,stderr:""});return}if(e[0]==="agents"&&e[1]==="remove"){let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new We("BOOTSTRAP_PROJECT_INVALID","\u7F3A\u5C11\u9879\u76EE\u76EE\u5F55\u3002");let o=await xh(Qe.resolve(i)),a=e.includes("--apply")?await Wd(o.planFile,o.plan.planId):{status:"planned",planId:o.plan.planId,planFile:o.planFile,changed:o.changed};Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"agents-remove",result:a})}
311
+ `,stderr:""});return}if(e[0]==="agents"&&e[1]==="remove"){let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new Ke("BOOTSTRAP_PROJECT_INVALID","\u7F3A\u5C11\u9879\u76EE\u76EE\u5F55\u3002");let o=await xh(et.resolve(i)),a=e.includes("--apply")?await Wd(o.planFile,o.plan.planId):{status:"planned",planId:o.plan.planId,planFile:o.planFile,changed:o.changed};Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"agents-remove",result:a})}
312
312
  `:`Agent\u9002\u914D\u5668\u79FB\u9664${e.includes("--apply")?"\u5B8C\u6210":"Plan\u5DF2\u751F\u6210"}\uFF1A${o.plan.planId}
313
- `,stderr:""});return}if(e[0]==="bootstrap"||e[0]==="agents"&&e[1]==="sync"){let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"bootstrap --project\u7F3A\u5C11\u76EE\u5F55\u3002",exitCode:2,nextStep:"\u4F20\u5165\u7EDD\u5BF9\u9879\u76EE\u6216Workspace\u76EE\u5F55\u3002"});let o=await Lh(Qe.resolve(i)),a=e.includes("--apply");if(a&&!e.includes("--skip-tool-install")){let c=be.env.PNPM_HOME;if(!c||!Qe.isAbsolute(c))throw new We("BOOTSTRAP_PNPM_HOME_REQUIRED","\u7F3A\u5C11\u7EDD\u5BF9PNPM_HOME\uFF1B\u5148\u8FD0\u884Cidp-setup init\uFF0C\u6216\u4F7F\u7528idp-setup bootstrap\u4F5C\u4E3A\u9879\u76EE\u9996\u6B21\u5165\u53E3\u3002");let l=dO("corepack",["pnpm","add","--global","--global-bin-dir",c,...$h],{encoding:"utf8",shell:!1,env:be.env});if(l.error||l.status!==0)throw new We("BOOTSTRAP_TOOLCHAIN_INSTALL_FAILED","\u7CBE\u786E\u5DE5\u5177\u94FE\u5B89\u88C5\u5931\u8D25\uFF0C\u9879\u76EE\u8D44\u4EA7\u5C1A\u672AApply\u3002")}let s=a?await Wd(o.planFile,o.plan.planId):{status:"planned",planId:o.plan.planId,planFile:o.planFile,changed:o.changed};Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:a?"bootstrap-apply":"bootstrap-plan",result:s})}
313
+ `,stderr:""});return}if(e[0]==="bootstrap"||e[0]==="agents"&&e[1]==="sync"){let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"bootstrap --project\u7F3A\u5C11\u76EE\u5F55\u3002",exitCode:2,nextStep:"\u4F20\u5165\u7EDD\u5BF9\u9879\u76EE\u6216Workspace\u76EE\u5F55\u3002"});let o=await Lh(et.resolve(i)),a=e.includes("--apply");if(a&&!e.includes("--skip-tool-install")){let c=be.env.PNPM_HOME;if(!c||!et.isAbsolute(c))throw new Ke("BOOTSTRAP_PNPM_HOME_REQUIRED","\u7F3A\u5C11\u7EDD\u5BF9PNPM_HOME\uFF1B\u5148\u8FD0\u884Cidp-setup init\uFF0C\u6216\u4F7F\u7528idp-setup bootstrap\u4F5C\u4E3A\u9879\u76EE\u9996\u6B21\u5165\u53E3\u3002");let l=lO("corepack",["pnpm","add","--global","--global-bin-dir",c,...$h],{encoding:"utf8",shell:!1,env:be.env});if(l.error||l.status!==0)throw new Ke("BOOTSTRAP_TOOLCHAIN_INSTALL_FAILED","\u7CBE\u786E\u5DE5\u5177\u94FE\u5B89\u88C5\u5931\u8D25\uFF0C\u9879\u76EE\u8D44\u4EA7\u5C1A\u672AApply\u3002")}let s=a?await Wd(o.planFile,o.plan.planId):{status:"planned",planId:o.plan.planId,planFile:o.planFile,changed:o.changed};Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:a?"bootstrap-apply":"bootstrap-plan",result:s})}
314
314
  `:a?`\u5DE5\u7A0B\u4E0A\u4E0B\u6587\u5DF2\u521D\u59CB\u5316\u5E76\u9A8C\u8BC1\u3002
315
315
  Plan\uFF1A${o.plan.planId}
316
316
  \u53D8\u66F4\uFF1A${s.changed.join("\u3001")||"\u65E0"}
@@ -319,7 +319,7 @@ Next\uFF1Adyyto context --project ${i}
319
319
  \u6587\u4EF6\uFF1A${o.planFile}
320
320
  \u53D8\u66F4\uFF1A${o.changed.join("\u3001")||"\u65E0"}
321
321
  Next\uFF1A\u589E\u52A0 --apply \u660E\u786E\u5E94\u7528\u8BE5Plan\u3002
322
- `,stderr:""});return}if(e[0]==="context"){if(e[1]!==void 0&&e[1]!=="resolve"&&!e[1].startsWith("--"))throw new j({code:"CLI_ARGUMENT_INVALID",message:"context \u53EA\u652F\u6301 resolve \u5B50\u547D\u4EE4\u3002",exitCode:2,nextStep:"\u8FD0\u884C dyyto context resolve --project <\u7EDD\u5BF9\u8DEF\u5F84>\u3002"});let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"context --project\u7F3A\u5C11\u76EE\u5F55\u3002",exitCode:2,nextStep:"\u6307\u5B9A\u5DF2Bootstrap\u9879\u76EE\u3002"});let o=await so(Qe.resolve(i));Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"context-resolve",result:o})}
322
+ `,stderr:""});return}if(e[0]==="context"){if(e[1]!==void 0&&e[1]!=="resolve"&&!e[1].startsWith("--"))throw new j({code:"CLI_ARGUMENT_INVALID",message:"context \u53EA\u652F\u6301 resolve \u5B50\u547D\u4EE4\u3002",exitCode:2,nextStep:"\u8FD0\u884C dyyto context resolve --project <\u7EDD\u5BF9\u8DEF\u5F84>\u3002"});let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"context --project\u7F3A\u5C11\u76EE\u5F55\u3002",exitCode:2,nextStep:"\u6307\u5B9A\u5DF2Bootstrap\u9879\u76EE\u3002"});let o=await so(et.resolve(i));Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"context-resolve",result:o})}
323
323
  `:`\u4E0A\u4E0B\u6587\uFF1A${o.contextDigest}
324
324
  \u5206\u652F\uFF1A${o.repository.branch??"\u672A\u8BC6\u522B"}
325
325
  \u63D0\u4EA4\uFF1A${o.repository.commit??"\u672A\u8BC6\u522B"}
@@ -334,7 +334,7 @@ ${o.requiredBeforeCoding.map(a=>`- ${a}`).join(`
334
334
  \u7981\u6B62\u4E8B\u9879\uFF1A
335
335
  ${o.prohibitions.map(a=>`- ${a}`).join(`
336
336
  `)}
337
- `,stderr:""});return}if(e[0]==="ready"){let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"ready --project\u7F3A\u5C11\u76EE\u5F55\u3002",exitCode:2,nextStep:"\u6307\u5B9A\u5DF2Bootstrap\u9879\u76EE\u3002"});let o=Qe.resolve(i),a=await so(o),c=(await pO(Qe.join(o,"project-capabilities.json"),"utf8").then(b=>JSON.parse(b)).catch(()=>null))?.profile?.id??null,l=c==="workspace-root",d=new Set(["nextjs-full-stack-application","workspace-node-application","workspace-web-application"]).has(c),f=(await ts(["config","readiness",l?"--workspace":"--project",o,"--check","--json"])).value.result,u=null,m=0;l&&(u=(await ts(["doctor","--workspace",o,"--json"])).value.result,m=u.status==="healthy"?0:4);let g=l?f.summary.total===f.summary.ready:f.state==="ready"||!d&&f.state==="not-declared",y=a.bootstrap.status!=="current"||!g||m!==0?"blocked":c===null?"attention":"ready",w={schemaVersion:1,kind:"DevelopmentReadinessReport",projectRoot:o,status:y,context:a,config:f,doctor:u},A=y==="ready"?0:y==="attention"?3:4;Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"ready",result:w})}
337
+ `,stderr:""});return}if(e[0]==="ready"){let n=e.indexOf("--project"),i=n<0?be.cwd():e[n+1];if(!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"ready --project\u7F3A\u5C11\u76EE\u5F55\u3002",exitCode:2,nextStep:"\u6307\u5B9A\u5DF2Bootstrap\u9879\u76EE\u3002"});let o=et.resolve(i),a=await so(o),c=(await dO(et.join(o,"project-capabilities.json"),"utf8").then(b=>JSON.parse(b)).catch(()=>null))?.profile?.id??null,l=c==="workspace-root",d=new Set(["nextjs-full-stack-application","workspace-node-application","workspace-web-application"]).has(c),f=(await ts(["config","readiness",l?"--workspace":"--project",o,"--check","--json"])).value.result,u=null,m=0;l&&(u=(await ts(["doctor","--workspace",o,"--json"])).value.result,m=u.status==="healthy"?0:4);let g=l?f.summary.total===f.summary.ready:f.state==="ready"||!d&&f.state==="not-declared",y=a.bootstrap.status!=="current"||!g||m!==0?"blocked":c===null?"attention":"ready",w={schemaVersion:1,kind:"DevelopmentReadinessReport",projectRoot:o,status:y,context:a,config:f,doctor:u},A=y==="ready"?0:y==="attention"?3:4;Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"ready",result:w})}
338
338
  `:`${y==="ready"?"\u2713":y==="attention"?"!":"\u2717"} \u5F00\u53D1\u5C31\u7EEA\u72B6\u6001\uFF1A${y}
339
339
  \u4E0A\u4E0B\u6587\uFF1A${a.contextDigest}
340
340
  Bootstrap\uFF1A${a.bootstrap.status}
@@ -342,7 +342,7 @@ Bootstrap\uFF1A${a.bootstrap.status}
342
342
  \u5DE5\u7A0B\u68C0\u67E5\uFF1A${m===0?"\u901A\u8FC7":"\u963B\u585E"}
343
343
  ${y==="ready"?"\u5F53\u524D\u9879\u76EE\u53EF\u4EE5\u5F00\u59CB Vibe Coding\u3002":"\u8BF7\u5148\u5904\u7406\u4E0A\u8FF0\u95EE\u9898\uFF0C\u518D\u5F00\u59CB Vibe Coding\u3002"}
344
344
  `,stderr:""}),be.exitCode=A;return}if(e[0]==="docs"&&e[1]==="show"){let n=e.indexOf("--id"),i=e[n+1],o=i?Vh(i):void 0;if(!o)throw new j({code:"DOCUMENT_NOT_FOUND",message:"\u672A\u77E5\u6216\u7F3A\u5C11\u7A33\u5B9A\u6587\u6863ID\u3002",exitCode:4,nextStep:"\u4F7F\u7528 engineering-workflow\u3001idp-integration \u6216 local-deployment\u3002"});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"docs-show",result:{id:i,content:o}})}
345
- `:o,stderr:""});return}if(e[0]==="package"&&e[1]==="publish"||e[0]==="publish"){let n=e[0]==="publish"?1:2,i=e.slice(n),o=i[0];if(!new Set(["plan","apply","inspect"]).has(o??""))throw new wr("PACKAGE_PUBLISH_ACTION_REQUIRED","\u53D1\u5E03\u5FC5\u987B\u663E\u5F0F\u4F7F\u7528plan\u3001apply\u6216inspect\u3002","\u5148\u8FD0\u884Cdyyto package publish plan\u3002 ");let a=i.indexOf("--package-dir"),s=a>=0&&i[a+1]?Qe.resolve(i[a+1]):be.cwd(),c=i.indexOf("--access"),l=c>=0?i[c+1]:void 0,d=i.indexOf("--tag"),p=d>=0?i[d+1]:void 0;if(i.includes("--registry")||i.some(u=>u.startsWith("--registry=")))throw new wr("PACKAGE_PUBLISH_REGISTRY_FORBIDDEN","Registry\u53EA\u80FD\u6765\u81EAIDP_CONFIG_DIR\uFF0C\u7981\u6B62\u547D\u4EE4\u884C\u8986\u76D6\u3002");let f;if(o==="plan"){let u=i.indexOf("--target"),m=u>=0?i[u+1]:"all";f=await Bh({packageRoot:s,target:m,...l?{access:l}:{},...p?{tag:p}:{}})}else{let u=o==="apply"?"--approve":"--plan",m=i.indexOf(u),g=i[m+1];if(!g)throw new wr("PACKAGE_PUBLISH_APPROVAL_INVALID",`${o}\u7F3A\u5C11${u}\u3002`);f=o==="apply"?await Gh(await Zd(s,g)):await zh(s,g)}Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:`package-publish-${o}`,result:f})}
345
+ `:o,stderr:""});return}if(e[0]==="package"&&e[1]==="publish"||e[0]==="publish"){let n=e[0]==="publish"?1:2,i=e.slice(n),o=i[0];if(!new Set(["plan","apply","inspect"]).has(o??""))throw new wr("PACKAGE_PUBLISH_ACTION_REQUIRED","\u53D1\u5E03\u5FC5\u987B\u663E\u5F0F\u4F7F\u7528plan\u3001apply\u6216inspect\u3002","\u5148\u8FD0\u884Cdyyto package publish plan\u3002 ");let a=i.indexOf("--package-dir"),s=a>=0&&i[a+1]?et.resolve(i[a+1]):be.cwd(),c=i.indexOf("--access"),l=c>=0?i[c+1]:void 0,d=i.indexOf("--tag"),p=d>=0?i[d+1]:void 0;if(i.includes("--registry")||i.some(u=>u.startsWith("--registry=")))throw new wr("PACKAGE_PUBLISH_REGISTRY_FORBIDDEN","Registry\u53EA\u80FD\u6765\u81EAIDP_CONFIG_DIR\uFF0C\u7981\u6B62\u547D\u4EE4\u884C\u8986\u76D6\u3002");let f;if(o==="plan"){let u=i.indexOf("--target"),m=u>=0?i[u+1]:"all";f=await Bh({packageRoot:s,target:m,...l?{access:l}:{},...p?{tag:p}:{}})}else{let u=o==="apply"?"--approve":"--plan",m=i.indexOf(u),g=i[m+1];if(!g)throw new wr("PACKAGE_PUBLISH_APPROVAL_INVALID",`${o}\u7F3A\u5C11${u}\u3002`);f=o==="apply"?await Gh(await Zd(s,g)):await zh(s,g)}Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:`package-publish-${o}`,result:f})}
346
346
  `:`${o==="plan"?"\u53D1\u5E03Plan\u5DF2\u751F\u6210":o==="apply"?"\u53D1\u5E03Apply\u5DF2\u5B8C\u6210":"\u53D1\u5E03\u72B6\u6001\u5DF2\u68C0\u67E5"}\u3002
347
347
  ${JSON.stringify(f,null,2)}
348
348
  `,stderr:""});return}if(e[0]==="mcp"&&e[1]==="serve"){if(e.length!==2)throw new j({code:"CLI_ARGUMENT_INVALID",message:"mcp serve \u4E0D\u63A5\u53D7\u989D\u5916\u53C2\u6570\u3002",exitCode:2,nextStep:"\u8FD0\u884C dyyto mcp serve\uFF0C\u5E76\u901A\u8FC7 stdin/stdout \u4F7F\u7528 JSON-RPC\u3002"});await jh();return}if(e[0]==="catalog"&&e[1]==="export"){let n=new Set(["--output","--generated-at"]);for(let s=2;s<e.length;s+=2){let c=e[s],l=e[s+1];if(c===void 0||l===void 0||!n.has(c)||l.startsWith("--"))throw new j({code:"CLI_ARGUMENT_INVALID",message:"catalog export \u53EA\u63A5\u53D7 --output - \u548C\u53EF\u9009 --generated-at <ISO UTC>\u3002",exitCode:2,nextStep:"\u8FD0\u884C dyyto catalog export --output -\u3002"})}let i=e.indexOf("--output");if(i<0||e[i+1]!=="-")throw new j({code:"CLI_ARGUMENT_INVALID",message:"catalog export \u5FC5\u987B\u901A\u8FC7 --output - \u8F93\u51FA\u53EA\u8BFB\u6295\u5F71\uFF1BDyyto \u4E0D\u76F4\u63A5\u6539\u5199\u6D88\u8D39\u8005\u914D\u7F6E\u3002",exitCode:2,nextStep:"\u5C06 stdout \u4EA4\u7ED9\u90E8\u7F72\u63A7\u5236\u9762\u7684\u539F\u5B50\u5FEB\u7167\u5BFC\u5165\u547D\u4EE4\u3002"});let o=e.indexOf("--generated-at"),a=o<0?new Date().toISOString():e[o+1];be.stdout.write(By(await qy({generatedAt:a})));return}if(e[0]==="topology"&&e[1]==="plan"){let n=e.indexOf("--project"),i=e[n+1];if(n<0||!i)throw new j({code:"CLI_ARGUMENT_INVALID",message:"\u62D3\u6251\u8FC1\u79FB Plan \u9700\u8981 --project\u3002",exitCode:2,nextStep:"\u6307\u5B9A\u9700\u8981\u8FC1\u79FB\u5230\u6839\u5171\u4EAB\u9501\u7684\u5E94\u7528\u3002"});let o=await Sh({projectRoot:i});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"topology-plan",result:o})}
@@ -373,13 +373,13 @@ Next\uFF1Adyyto artifacts apply --workspace ${i} --approve ${a.planId}
373
373
  `:`\u672C\u5730\u5236\u54C1 Bundle \u5DF2\u5199\u5165\uFF1A${s.bundleId}
374
374
  Channel\uFF1Adevelopment
375
375
  Next\uFF1Adyyto artifacts serve --workspace ${i} --bundle ${s.bundleId} --port 4873
376
- `,stderr:""});return}if(e[0]==="artifacts"&&e[1]==="serve"){let n=e.indexOf("--workspace"),i=e[n+1],o=e.indexOf("--bundle"),a=e[o+1],s=e.flatMap((f,u)=>f==="--fallback-bundle"&&e[u+1]!==void 0?[e[u+1]]:[]),c=e.indexOf("--port"),l=Number(e[c+1]);if(n<0||i===void 0||o<0||a===void 0||!/^sha256:[a-f0-9]{64}$/u.test(a)||s.some(f=>!/^sha256:[a-f0-9]{64}$/u.test(f))||c<0||!Number.isSafeInteger(l)||l<1||l>65535)throw new j({code:"CLI_ARGUMENT_INVALID",message:"Artifacts serve requires --workspace, an exact --bundle digest, optional exact --fallback-bundle digests, and a fixed --port.",exitCode:2,nextStep:"Run dyyto --help."});let d=await oh({bundleRoot:Qe.resolve(i,".dyyto","package-artifacts",a),fallbackBundleRoots:s.map(f=>Qe.resolve(i,".dyyto","package-artifacts",f)),port:l});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"artifacts-serve",result:{origin:d.origin,bundleId:d.bundle.bundleId,fallbackBundleIds:d.fallbackBundles.map(f=>f.bundleId),channel:"development"}})}
376
+ `,stderr:""});return}if(e[0]==="artifacts"&&e[1]==="serve"){let n=e.indexOf("--workspace"),i=e[n+1],o=e.indexOf("--bundle"),a=e[o+1],s=e.flatMap((f,u)=>f==="--fallback-bundle"&&e[u+1]!==void 0?[e[u+1]]:[]),c=e.indexOf("--port"),l=Number(e[c+1]);if(n<0||i===void 0||o<0||a===void 0||!/^sha256:[a-f0-9]{64}$/u.test(a)||s.some(f=>!/^sha256:[a-f0-9]{64}$/u.test(f))||c<0||!Number.isSafeInteger(l)||l<1||l>65535)throw new j({code:"CLI_ARGUMENT_INVALID",message:"Artifacts serve requires --workspace, an exact --bundle digest, optional exact --fallback-bundle digests, and a fixed --port.",exitCode:2,nextStep:"Run dyyto --help."});let d=await oh({bundleRoot:et.resolve(i,".dyyto","package-artifacts",a),fallbackBundleRoots:s.map(f=>et.resolve(i,".dyyto","package-artifacts",f)),port:l});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"artifacts-serve",result:{origin:d.origin,bundleId:d.bundle.bundleId,fallbackBundleIds:d.fallbackBundles.map(f=>f.bundleId),channel:"development"}})}
377
377
  `:`\u672C\u5730\u53EA\u8BFB\u5236\u54C1\u670D\u52A1\u5DF2\u542F\u52A8\uFF1A${d.origin}
378
378
  \u4E3B Bundle\uFF1A${d.bundle.bundleId}
379
379
  Fallback Bundles\uFF1A${d.fallbackBundles.map(f=>f.bundleId).join(", ")||"\u65E0"}
380
380
  Channel\uFF1Adevelopment
381
381
  `,stderr:""});let p=async()=>{await d.close(),be.exit(0)};be.once("SIGINT",p),be.once("SIGTERM",p),await new Promise(()=>{})}if(e[0]==="observe"&&e[1]==="serve"){let n=e.indexOf("--workspace"),i=e[n+1];if(n<0||i===void 0)throw new j({code:"CLI_ARGUMENT_INVALID",message:"Observe serve requires --workspace.",exitCode:2,nextStep:"Run dyyto --help."});let o=e.indexOf("--port"),a=o<0?void 0:Number(e[o+1]);if(a!==void 0&&(!Number.isSafeInteger(a)||a<1||a>65535))throw new j({code:"CLI_ARGUMENT_INVALID",message:"Observe serve --port is invalid.",exitCode:2,nextStep:"Choose an available TCP port."});let s=await th({workspaceRoot:i,...a===void 0?{}:{port:a}});Ee({stdout:e.includes("--json")?`${JSON.stringify({schemaVersion:1,ok:!0,command:"observe-serve",result:{origin:s.origin}})}
382
382
  `:`\u672C\u5730\u91C7\u96C6\u7AEF\u5DF2\u542F\u52A8\uFF1A${s.origin}
383
- `,stderr:""});let c=async()=>{await s.close(),be.exit(0)};be.once("SIGINT",c),be.once("SIGTERM",c),await new Promise(()=>{})}let r=await ts(e,await uO(e));Ee(Rh(r.value,r.outputMode,r.human)),r.exitCode!==void 0&&(be.exitCode=r.exitCode)}catch(r){if(be.env.DYYTO_DEBUG==="1"&&r instanceof Error){let s=[],c=r.cause;for(;c instanceof Error;)s.push(c.stack??c.message),c=c.cause;be.stderr.write(`${r.stack??r.message}${s.map(l=>`
383
+ `,stderr:""});let c=async()=>{await s.close(),be.exit(0)};be.once("SIGINT",c),be.once("SIGTERM",c),await new Promise(()=>{})}let r=await ts(e,await pO(e));Ee(Rh(r.value,r.outputMode,r.human)),r.exitCode!==void 0&&(be.exitCode=r.exitCode)}catch(r){if(be.env.DYYTO_DEBUG==="1"&&r instanceof Error){let s=[],c=r.cause;for(;c instanceof Error;)s.push(c.stack??c.message),c=c.cause;be.stderr.write(`${r.stack??r.message}${s.map(l=>`
384
384
  Cause: ${l}`).join("")}
385
- `)}let n=r;if(r instanceof We)n=new j({code:r.code,message:r.message,exitCode:3,nextStep:"\u91CD\u65B0\u751F\u6210Bootstrap Plan\u5E76\u68C0\u67E5\u7528\u6237\u4FEE\u6539\u3002"});else if(r instanceof Ie)n=new j({code:r.code,message:r.message,exitCode:3,nextStep:"Run dyyto plan and review the current project state."});else if(r instanceof C)n=new j({code:r.code,message:r.message,exitCode:r.code==="RECOVERY_REQUIRED"?5:3,nextStep:r.code==="RECOVERY_REQUIRED"?"Run dyyto recover for this project.":"Run dyyto plan and approve the exact reviewable plan."});else if(r instanceof M)n=new j({code:r.code,message:r.message,exitCode:3,nextStep:"Inspect the project profile and resolve conflicts before continuing."});else if(r instanceof Ae)n=new j({code:r.code,message:r.message,exitCode:r.code==="METADATA_RECOVERY_REQUIRED"?5:4,nextStep:r.code==="METADATA_RECOVERY_REQUIRED"?"Run dyyto recover for this project.":"Fix the verification failure, then run dyyto verify again."});else if(r instanceof H||r instanceof Error&&r.name==="PackageAdoptionError"&&"code"in r&&typeof r.code=="string"){let s=r.code,c=s==="PACKAGE_INSTALL_FAILED";n=new j({code:s,message:s,exitCode:c?5:4,nextStep:c?"\u68C0\u67E5\u9879\u76EE\u6062\u590D\u72B6\u6001\u548C\u53D7\u4FE1 Registry \u540E\u91CD\u65B0\u751F\u6210 Plan\u3002":"\u68C0\u67E5 Package Source\u3001Receipt \u4E0E\u6279\u51C6\u7684 Plan\uFF0C\u4FEE\u590D\u540E\u91CD\u65B0\u751F\u6210 Plan\u3002"})}else if(r instanceof Ue)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"\u68C0\u67E5 Bundle index\u3001tarball \u6458\u8981\u548C\u672C\u5730\u53EA\u8BFB\u7AEF\u53E3\u540E\u91CD\u8BD5\u3002"});else if(r instanceof G)n=new j({code:r.code,message:r.code,exitCode:r.code==="LOCAL_ARTIFACT_PREIMAGE_CONFLICT"?5:4,nextStep:r.code==="LOCAL_ARTIFACT_PREIMAGE_CONFLICT"?"Package \u6216 Bundle preimage \u5DF2\u53D8\u5316\uFF1B\u8BF7\u91CD\u65B0\u751F\u6210\u5E76\u5BA1\u6838 Plan\u3002":"\u68C0\u67E5 package \u8F93\u5165\u548C Artifact Plan \u540E\u91CD\u8BD5\u3002"});else if(r instanceof yr)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"\u6838\u5BF9\u6279\u51C6\u7684 Bundle\u3001candidate Release \u4E0E loopback Registry \u53C2\u6570\u3002"});else if(r instanceof Ze)n=new j({code:r.code,message:r.code,exitCode:r.code==="RESOLUTION_WORKER_BUILD_PREIMAGE_CONFLICT"?5:4,nextStep:"\u68C0\u67E5 Worker Build Plan\u3001workspace preimage \u4E0E\u5BB9\u91CF\u9650\u5236\u540E\u91CD\u8BD5\u3002"});else if(r instanceof Oe)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"Resolution Evidence \u672A\u901A\u8FC7\u4E25\u683C\u9A8C\u8BC1\uFF1B\u68C0\u67E5 importer\u3001package closure \u4E0E source binding\u3002"});else if(r instanceof yt)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"\u68C0\u67E5\u6839\u5171\u4EAB\u9501 importer\u3001\u5E94\u7528\u5C40\u90E8\u9501\u548C Plan preimage \u540E\u91CD\u65B0\u751F\u6210\u62D3\u6251\u8FC1\u79FB Plan\u3002"});else if(r instanceof Error&&/^RESOLUTION_WORKER_[A-Z_]+$/u.test(r.message))n=new j({code:r.message,message:r.message,exitCode:4,nextStep:"\u68C0\u67E5 Resolution Worker Receipt\u3001\u5171\u4EAB\u9501 trust facts \u4E0E persistent state\u3002"});else if(r instanceof wr)n=new j({code:r.code,message:r.message,exitCode:4,nextStep:r.nextStep??"\u68C0\u67E5 package.json \u89C4\u8303\u4E0E Registry \u6743\u9650\u540E\u91CD\u8BD5\u3002"});else if(r instanceof D){let s={NPM_AUTHENTICATION_REQUIRED:"\u8BF7\u5728 Plan \u7ED1\u5B9A\u7684\u53D7\u4FE1 CI \u4E2D\u68C0\u67E5 Trusted Publishing \u914D\u7F6E\uFF1B\u4E0D\u8981\u5411 Dyyto \u63D0\u4F9B token\u3002",NPM_AUTHORIZATION_DENIED:"\u8BF7\u7531 npm \u5305\u7EF4\u62A4\u8005\u68C0\u67E5\u5305\u6743\u9650\u4E0E\u53D1\u5E03\u7B56\u7565\uFF0C\u7136\u540E\u91CD\u65B0\u751F\u6210 Plan\u3002",NPM_2FA_REQUIRED:"\u8BF7\u7531\u7EF4\u62A4\u8005\u5728 npmjs.com \u6216\u72EC\u7ACB\u4EA4\u4E92\u5F0F npm CLI \u5B8C\u6210\u53CC\u91CD\u9A8C\u8BC1\u3002",NPM_TRUSTED_PUBLISHER_MISMATCH:"\u8BF7\u6838\u5BF9 npm Trusted Publisher \u7684\u4ED3\u5E93\u3001\u5DE5\u4F5C\u6D41\u3001\u73AF\u5883\u4E0E stage-only action\u3002",NPM_TOKEN_POLICY_UNVERIFIED:"\u8BF7\u6539\u7528\u53D7\u652F\u6301\u7684 OIDC Trusted Publishing \u73AF\u5883\uFF1BProduction apply \u4E0D\u63A5\u53D7\u4F20\u7EDF token \u8DEF\u5F84\u3002",NPM_STAGE_UNSUPPORTED:"\u8BF7\u786E\u8BA4\u5305\u5DF2\u5B58\u5728\u3001\u8D26\u6237\u542F\u7528\u53CC\u91CD\u9A8C\u8BC1\uFF0C\u5E76\u4F7F\u7528 Node 24.18.0 \u4E0E npm 11.16.0\u3002",NPM_STAGE_CONFLICT:"\u8BF7\u5728 npmjs.com \u68C0\u67E5\u8BE5\u7CBE\u786E\u7248\u672C\uFF1B\u4E0D\u8981\u8986\u76D6\u6216\u91CD\u590D\u6682\u5B58\u3002",NPM_PROVENANCE_REQUIRED:"\u8BF7\u6062\u590D Trusted Publishing provenance\uFF0C\u5E76\u518D\u6B21\u8FD0\u884C\u53EA\u8BFB inspect\u3002",NPM_REGISTRY_PROPAGATION_PENDING:"\u8BF7\u7A0D\u540E\u518D\u6B21\u8FD0\u884C delivery inspect\uFF1B\u4E0D\u8981\u91CD\u590D\u6682\u5B58\u3002",NPM_REGISTRY_OUTCOME_UNKNOWN:"\u8BF7\u5148\u5728 npmjs.com \u68C0\u67E5\u8BE5\u7248\u672C\u4E0E stage \u72B6\u6001\uFF1B\u7ED3\u679C\u786E\u8BA4\u524D\u4E0D\u8981\u91CD\u8BD5\u5199\u64CD\u4F5C\u3002"},c=r.code==="DELIVERY_EXECUTION_UNKNOWN"||r.code==="NPM_REGISTRY_OUTCOME_UNKNOWN";n=new j({code:r.code,message:r.message,exitCode:c?5:4,nextStep:s[r.code]??(c?"Inspect the delivery target before retrying.":"Review the Delivery Plan and current project state.")})}let i=rp(n),o=n instanceof j?n:i===null?null:new j(i),a={schemaVersion:1,ok:!1,error:{code:o?.code??"CLI_INTERNAL_ERROR",message:o?.message??"The CLI could not complete the command.",...o?.nextStep===void 0?{}:{nextStep:o.nextStep}}};Ee(Eh(a,t)),be.exitCode=o?.exitCode??1}}export{ux as runCommand};
385
+ `)}let n=r;if(r instanceof Ke)n=new j({code:r.code,message:r.message,exitCode:3,nextStep:"\u91CD\u65B0\u751F\u6210Bootstrap Plan\u5E76\u68C0\u67E5\u7528\u6237\u4FEE\u6539\u3002"});else if(r instanceof Ie)n=new j({code:r.code,message:r.message,exitCode:3,nextStep:"Run dyyto plan and review the current project state."});else if(r instanceof C)n=new j({code:r.code,message:r.message,exitCode:r.code==="RECOVERY_REQUIRED"?5:3,nextStep:r.code==="RECOVERY_REQUIRED"?"Run dyyto recover for this project.":"Run dyyto plan and approve the exact reviewable plan."});else if(r instanceof M)n=new j({code:r.code,message:r.message,exitCode:3,nextStep:"Inspect the project profile and resolve conflicts before continuing."});else if(r instanceof Ae)n=new j({code:r.code,message:r.message,exitCode:r.code==="METADATA_RECOVERY_REQUIRED"?5:4,nextStep:r.code==="METADATA_RECOVERY_REQUIRED"?"Run dyyto recover for this project.":"Fix the verification failure, then run dyyto verify again."});else if(r instanceof H||r instanceof Error&&r.name==="PackageAdoptionError"&&"code"in r&&typeof r.code=="string"){let s=r.code,c=s==="PACKAGE_INSTALL_FAILED";n=new j({code:s,message:s,exitCode:c?5:4,nextStep:c?"\u68C0\u67E5\u9879\u76EE\u6062\u590D\u72B6\u6001\u548C\u53D7\u4FE1 Registry \u540E\u91CD\u65B0\u751F\u6210 Plan\u3002":"\u68C0\u67E5 Package Source\u3001Receipt \u4E0E\u6279\u51C6\u7684 Plan\uFF0C\u4FEE\u590D\u540E\u91CD\u65B0\u751F\u6210 Plan\u3002"})}else if(r instanceof Ue)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"\u68C0\u67E5 Bundle index\u3001tarball \u6458\u8981\u548C\u672C\u5730\u53EA\u8BFB\u7AEF\u53E3\u540E\u91CD\u8BD5\u3002"});else if(r instanceof G)n=new j({code:r.code,message:r.code,exitCode:r.code==="LOCAL_ARTIFACT_PREIMAGE_CONFLICT"?5:4,nextStep:r.code==="LOCAL_ARTIFACT_PREIMAGE_CONFLICT"?"Package \u6216 Bundle preimage \u5DF2\u53D8\u5316\uFF1B\u8BF7\u91CD\u65B0\u751F\u6210\u5E76\u5BA1\u6838 Plan\u3002":"\u68C0\u67E5 package \u8F93\u5165\u548C Artifact Plan \u540E\u91CD\u8BD5\u3002"});else if(r instanceof yr)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"\u6838\u5BF9\u6279\u51C6\u7684 Bundle\u3001candidate Release \u4E0E loopback Registry \u53C2\u6570\u3002"});else if(r instanceof Qe)n=new j({code:r.code,message:r.code,exitCode:r.code==="RESOLUTION_WORKER_BUILD_PREIMAGE_CONFLICT"?5:4,nextStep:"\u68C0\u67E5 Worker Build Plan\u3001workspace preimage \u4E0E\u5BB9\u91CF\u9650\u5236\u540E\u91CD\u8BD5\u3002"});else if(r instanceof Oe)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"Resolution Evidence \u672A\u901A\u8FC7\u4E25\u683C\u9A8C\u8BC1\uFF1B\u68C0\u67E5 importer\u3001package closure \u4E0E source binding\u3002"});else if(r instanceof yt)n=new j({code:r.code,message:r.code,exitCode:4,nextStep:"\u68C0\u67E5\u6839\u5171\u4EAB\u9501 importer\u3001\u5E94\u7528\u5C40\u90E8\u9501\u548C Plan preimage \u540E\u91CD\u65B0\u751F\u6210\u62D3\u6251\u8FC1\u79FB Plan\u3002"});else if(r instanceof Error&&/^RESOLUTION_WORKER_[A-Z_]+$/u.test(r.message))n=new j({code:r.message,message:r.message,exitCode:4,nextStep:"\u68C0\u67E5 Resolution Worker Receipt\u3001\u5171\u4EAB\u9501 trust facts \u4E0E persistent state\u3002"});else if(r instanceof wr)n=new j({code:r.code,message:r.message,exitCode:4,nextStep:r.nextStep??"\u68C0\u67E5 package.json \u89C4\u8303\u4E0E Registry \u6743\u9650\u540E\u91CD\u8BD5\u3002"});else if(r instanceof D){let s={NPM_AUTHENTICATION_REQUIRED:"\u8BF7\u5728 Plan \u7ED1\u5B9A\u7684\u53D7\u4FE1 CI \u4E2D\u68C0\u67E5 Trusted Publishing \u914D\u7F6E\uFF1B\u4E0D\u8981\u5411 Dyyto \u63D0\u4F9B token\u3002",NPM_AUTHORIZATION_DENIED:"\u8BF7\u7531 npm \u5305\u7EF4\u62A4\u8005\u68C0\u67E5\u5305\u6743\u9650\u4E0E\u53D1\u5E03\u7B56\u7565\uFF0C\u7136\u540E\u91CD\u65B0\u751F\u6210 Plan\u3002",NPM_2FA_REQUIRED:"\u8BF7\u7531\u7EF4\u62A4\u8005\u5728 npmjs.com \u6216\u72EC\u7ACB\u4EA4\u4E92\u5F0F npm CLI \u5B8C\u6210\u53CC\u91CD\u9A8C\u8BC1\u3002",NPM_TRUSTED_PUBLISHER_MISMATCH:"\u8BF7\u6838\u5BF9 npm Trusted Publisher \u7684\u4ED3\u5E93\u3001\u5DE5\u4F5C\u6D41\u3001\u73AF\u5883\u4E0E stage-only action\u3002",NPM_TOKEN_POLICY_UNVERIFIED:"\u8BF7\u6539\u7528\u53D7\u652F\u6301\u7684 OIDC Trusted Publishing \u73AF\u5883\uFF1BProduction apply \u4E0D\u63A5\u53D7\u4F20\u7EDF token \u8DEF\u5F84\u3002",NPM_STAGE_UNSUPPORTED:"\u8BF7\u786E\u8BA4\u5305\u5DF2\u5B58\u5728\u3001\u8D26\u6237\u542F\u7528\u53CC\u91CD\u9A8C\u8BC1\uFF0C\u5E76\u4F7F\u7528 Node 24.18.0 \u4E0E npm 11.16.0\u3002",NPM_STAGE_CONFLICT:"\u8BF7\u5728 npmjs.com \u68C0\u67E5\u8BE5\u7CBE\u786E\u7248\u672C\uFF1B\u4E0D\u8981\u8986\u76D6\u6216\u91CD\u590D\u6682\u5B58\u3002",NPM_PROVENANCE_REQUIRED:"\u8BF7\u6062\u590D Trusted Publishing provenance\uFF0C\u5E76\u518D\u6B21\u8FD0\u884C\u53EA\u8BFB inspect\u3002",NPM_REGISTRY_PROPAGATION_PENDING:"\u8BF7\u7A0D\u540E\u518D\u6B21\u8FD0\u884C delivery inspect\uFF1B\u4E0D\u8981\u91CD\u590D\u6682\u5B58\u3002",NPM_REGISTRY_OUTCOME_UNKNOWN:"\u8BF7\u5148\u5728 npmjs.com \u68C0\u67E5\u8BE5\u7248\u672C\u4E0E stage \u72B6\u6001\uFF1B\u7ED3\u679C\u786E\u8BA4\u524D\u4E0D\u8981\u91CD\u8BD5\u5199\u64CD\u4F5C\u3002"},c=r.code==="DELIVERY_EXECUTION_UNKNOWN"||r.code==="NPM_REGISTRY_OUTCOME_UNKNOWN";n=new j({code:r.code,message:r.message,exitCode:c?5:4,nextStep:s[r.code]??(c?"Inspect the delivery target before retrying.":"Review the Delivery Plan and current project state.")})}let i=rp(n),o=n instanceof j?n:i===null?null:new j(i),a={schemaVersion:1,ok:!1,error:{code:o?.code??"CLI_INTERNAL_ERROR",message:o?.message??"The CLI could not complete the command.",...o?.nextStep===void 0?{}:{nextStep:o.nextStep}}};Ee(Eh(a,t)),be.exitCode=o?.exitCode??1}}export{px as runCommand};