-
Notifications
You must be signed in to change notification settings - Fork 292
Expand file tree
/
Copy pathcomet-handoff.mjs
More file actions
166 lines (161 loc) · 186 KB
/
Copy pathcomet-handoff.mjs
File metadata and controls
166 lines (161 loc) · 186 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#!/usr/bin/env node
import { createRequire as __cometCreateRequire } from 'module';
const require = __cometCreateRequire(import.meta.url);
var Tu=Object.create;var nr=Object.defineProperty;var qu=Object.getOwnPropertyDescriptor;var $u=Object.getOwnPropertyNames;var Lu=Object.getPrototypeOf,Du=Object.prototype.hasOwnProperty;var vn=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var W=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(i){throw n=[i],i}};var v=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},Fu=(t,e)=>{for(var n in e)nr(t,n,{get:e[n],enumerable:!0})},Mu=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of $u(e))!Du.call(t,r)&&r!==n&&nr(t,r,{get:()=>e[r],enumerable:!(i=qu(e,r))||i.enumerable});return t};var Ct=(t,e,n)=>(n=t!=null?Tu(Lu(t)):{},Mu(e||!t||!t.__esModule?nr(n,"default",{value:t,enumerable:!0}):n,t));var P=v(D=>{"use strict";var ir=Symbol.for("yaml.alias"),ko=Symbol.for("yaml.document"),kn=Symbol.for("yaml.map"),bo=Symbol.for("yaml.pair"),rr=Symbol.for("yaml.scalar"),bn=Symbol.for("yaml.seq"),fe=Symbol.for("yaml.node.type"),Wu=t=>!!t&&typeof t=="object"&&t[fe]===ir,Bu=t=>!!t&&typeof t=="object"&&t[fe]===ko,Ku=t=>!!t&&typeof t=="object"&&t[fe]===kn,Yu=t=>!!t&&typeof t=="object"&&t[fe]===bo,So=t=>!!t&&typeof t=="object"&&t[fe]===rr,Ju=t=>!!t&&typeof t=="object"&&t[fe]===bn;function Co(t){if(t&&typeof t=="object")switch(t[fe]){case kn:case bn:return!0}return!1}function Uu(t){if(t&&typeof t=="object")switch(t[fe]){case ir:case kn:case rr:case bn:return!0}return!1}var Hu=t=>(So(t)||Co(t))&&!!t.anchor;D.ALIAS=ir;D.DOC=ko;D.MAP=kn;D.NODE_TYPE=fe;D.PAIR=bo;D.SCALAR=rr;D.SEQ=bn;D.hasAnchor=Hu;D.isAlias=Wu;D.isCollection=Co;D.isDocument=Bu;D.isMap=Ku;D.isNode=Uu;D.isPair=Yu;D.isScalar=So;D.isSeq=Ju});var Et=v(sr=>{"use strict";var q=P(),U=Symbol("break visit"),Eo=Symbol("skip children"),ae=Symbol("remove node");function Sn(t,e){let n=xo(e);q.isDocument(t)?nt(null,t.contents,n,Object.freeze([t]))===ae&&(t.contents=null):nt(null,t,n,Object.freeze([]))}Sn.BREAK=U;Sn.SKIP=Eo;Sn.REMOVE=ae;function nt(t,e,n,i){let r=Po(t,e,n,i);if(q.isNode(r)||q.isPair(r))return _o(t,i,r),nt(t,r,n,i);if(typeof r!="symbol"){if(q.isCollection(e)){i=Object.freeze(i.concat(e));for(let s=0;s<e.items.length;++s){let o=nt(s,e.items[s],n,i);if(typeof o=="number")s=o-1;else{if(o===U)return U;o===ae&&(e.items.splice(s,1),s-=1)}}}else if(q.isPair(e)){i=Object.freeze(i.concat(e));let s=nt("key",e.key,n,i);if(s===U)return U;s===ae&&(e.key=null);let o=nt("value",e.value,n,i);if(o===U)return U;o===ae&&(e.value=null)}}return r}async function Cn(t,e){let n=xo(e);q.isDocument(t)?await it(null,t.contents,n,Object.freeze([t]))===ae&&(t.contents=null):await it(null,t,n,Object.freeze([]))}Cn.BREAK=U;Cn.SKIP=Eo;Cn.REMOVE=ae;async function it(t,e,n,i){let r=await Po(t,e,n,i);if(q.isNode(r)||q.isPair(r))return _o(t,i,r),it(t,r,n,i);if(typeof r!="symbol"){if(q.isCollection(e)){i=Object.freeze(i.concat(e));for(let s=0;s<e.items.length;++s){let o=await it(s,e.items[s],n,i);if(typeof o=="number")s=o-1;else{if(o===U)return U;o===ae&&(e.items.splice(s,1),s-=1)}}}else if(q.isPair(e)){i=Object.freeze(i.concat(e));let s=await it("key",e.key,n,i);if(s===U)return U;s===ae&&(e.key=null);let o=await it("value",e.value,n,i);if(o===U)return U;o===ae&&(e.value=null)}}return r}function xo(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function Po(t,e,n,i){if(typeof n=="function")return n(t,e,i);if(q.isMap(e))return n.Map?.(t,e,i);if(q.isSeq(e))return n.Seq?.(t,e,i);if(q.isPair(e))return n.Pair?.(t,e,i);if(q.isScalar(e))return n.Scalar?.(t,e,i);if(q.isAlias(e))return n.Alias?.(t,e,i)}function _o(t,e,n){let i=e[e.length-1];if(q.isCollection(i))i.items[t]=n;else if(q.isPair(i))t==="key"?i.key=n:i.value=n;else if(q.isDocument(i))i.contents=n;else{let r=q.isAlias(i)?"alias":"scalar";throw new Error(`Cannot replace node with ${r} parent`)}}sr.visit=Sn;sr.visitAsync=Cn});var or=v(Oo=>{"use strict";var Ro=P(),Vu=Et(),Gu={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},zu=t=>t.replace(/[!,[\]{}]/g,e=>Gu[e]),xt=class t{constructor(e,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,n)}clone(){let e=new t(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new t(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:t.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},t.defaultTags);break}return e}add(e,n){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let i=e.trim().split(/[ \t]+/),r=i.shift();switch(r){case"%TAG":{if(i.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),i.length<2))return!1;let[s,o]=i;return this.tags[s]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,i.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;let[s]=i;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{let o=/^\d+\.\d+$/.test(s);return n(6,`Unsupported YAML version ${s}`,o),!1}}default:return n(0,`Unknown directive ${r}`,!0),!1}}tagName(e,n){if(e==="!")return"!";if(e[0]!=="!")return n(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(n(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&n("Verbatim tags must end with a >"),o)}let[,i,r]=e.match(/^(.*!)([^!]*)$/s);r||n(`The ${e} tag has no suffix`);let s=this.tags[i];if(s)try{return s+decodeURIComponent(r)}catch(o){return n(String(o)),null}return i==="!"?e:(n(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[n,i]of Object.entries(this.tags))if(e.startsWith(i))return n+zu(e.substring(i.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],i=Object.entries(this.tags),r;if(e&&i.length>0&&Ro.isNode(e.contents)){let s={};Vu.visit(e.contents,(o,a)=>{Ro.isNode(a)&&a.tag&&(s[a.tag]=!0)}),r=Object.keys(s)}else r=[];for(let[s,o]of i)s==="!!"&&o==="tag:yaml.org,2002:"||(!e||r.some(a=>a.startsWith(o)))&&n.push(`%TAG ${s} ${o}`);return n.join(`
`)}};xt.defaultYaml={explicit:!1,version:"1.2"};xt.defaultTags={"!!":"tag:yaml.org,2002:"};Oo.Directives=xt});var En=v(Pt=>{"use strict";var No=P(),Qu=Et();function Xu(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(n)}return!0}function Ao(t){let e=new Set;return Qu.visit(t,{Value(n,i){i.anchor&&e.add(i.anchor)}}),e}function jo(t,e){for(let n=1;;++n){let i=`${t}${n}`;if(!e.has(i))return i}}function Zu(t,e){let n=[],i=new Map,r=null;return{onAnchor:s=>{n.push(s),r??(r=Ao(t));let o=jo(e,r);return r.add(o),o},setAnchors:()=>{for(let s of n){let o=i.get(s);if(typeof o=="object"&&o.anchor&&(No.isScalar(o.node)||No.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=s,a}}},sourceObjects:i}}Pt.anchorIsValid=Xu;Pt.anchorNames=Ao;Pt.createNodeAnchors=Zu;Pt.findNewAnchor=jo});var ar=v(Io=>{"use strict";function _t(t,e,n,i){if(i&&typeof i=="object")if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r){let o=i[r],a=_t(t,i,String(r),o);a===void 0?delete i[r]:a!==o&&(i[r]=a)}else if(i instanceof Map)for(let r of Array.from(i.keys())){let s=i.get(r),o=_t(t,i,r,s);o===void 0?i.delete(r):o!==s&&i.set(r,o)}else if(i instanceof Set)for(let r of Array.from(i)){let s=_t(t,i,r,r);s===void 0?i.delete(r):s!==r&&(i.delete(r),i.add(s))}else for(let[r,s]of Object.entries(i)){let o=_t(t,i,r,s);o===void 0?delete i[r]:o!==s&&(i[r]=o)}return t.call(e,n,i)}Io.applyReviver=_t});var ke=v(qo=>{"use strict";var ef=P();function To(t,e,n){if(Array.isArray(t))return t.map((i,r)=>To(i,String(r),n));if(t&&typeof t.toJSON=="function"){if(!n||!ef.hasAnchor(t))return t.toJSON(e,n);let i={aliasCount:0,count:1,res:void 0};n.anchors.set(t,i),n.onCreate=s=>{i.res=s,delete n.onCreate};let r=t.toJSON(e,n);return n.onCreate&&n.onCreate(r),r}return typeof t=="bigint"&&!n?.keep?Number(t):t}qo.toJS=To});var xn=v(Lo=>{"use strict";var tf=ar(),$o=P(),nf=ke(),cr=class{constructor(e){Object.defineProperty(this,$o.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:n,maxAliasCount:i,onAnchor:r,reviver:s}={}){if(!$o.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},a=nf.toJS(this,"",o);if(typeof r=="function")for(let{count:c,res:l}of o.anchors.values())r(l,c);return typeof s=="function"?tf.applyReviver(s,{"":a},"",a):a}};Lo.NodeBase=cr});var Rt=v(Do=>{"use strict";var rf=En(),sf=Et(),rt=P(),of=xn(),af=ke(),lr=class extends of.NodeBase{constructor(e){super(rt.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,n){if(n?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let i;n?.aliasResolveCache?i=n.aliasResolveCache:(i=[],sf.visit(e,{Node:(s,o)=>{(rt.isAlias(o)||rt.hasAnchor(o))&&i.push(o)}}),n&&(n.aliasResolveCache=i));let r;for(let s of i){if(s===this)break;s.anchor===this.source&&(r=s)}return r}toJSON(e,n){if(!n)return{source:this.source};let{anchors:i,doc:r,maxAliasCount:s}=n,o=this.resolve(r,n);if(!o){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=i.get(o);if(a||(af.toJS(o,null,n),a=i.get(o)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(s>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=Pn(r,o,i)),a.count*a.aliasCount>s)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(e,n,i){let r=`*${this.source}`;if(e){if(rf.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(e.implicitKey)return`${r} `}return r}};function Pn(t,e,n){if(rt.isAlias(e)){let i=e.resolve(t),r=n&&i&&n.get(i);return r?r.count*r.aliasCount:0}else if(rt.isCollection(e)){let i=0;for(let r of e.items){let s=Pn(t,r,n);s>i&&(i=s)}return i}else if(rt.isPair(e)){let i=Pn(t,e.key,n),r=Pn(t,e.value,n);return Math.max(i,r)}return 1}Do.Alias=lr});var j=v(ur=>{"use strict";var cf=P(),lf=xn(),uf=ke(),ff=t=>!t||typeof t!="function"&&typeof t!="object",be=class extends lf.NodeBase{constructor(e){super(cf.SCALAR),this.value=e}toJSON(e,n){return n?.keep?this.value:uf.toJS(this.value,e,n)}toString(){return String(this.value)}};be.BLOCK_FOLDED="BLOCK_FOLDED";be.BLOCK_LITERAL="BLOCK_LITERAL";be.PLAIN="PLAIN";be.QUOTE_DOUBLE="QUOTE_DOUBLE";be.QUOTE_SINGLE="QUOTE_SINGLE";ur.Scalar=be;ur.isScalarValue=ff});var Ot=v(Mo=>{"use strict";var df=Rt(),Ye=P(),Fo=j(),pf="tag:yaml.org,2002:";function mf(t,e,n){if(e){let i=n.filter(s=>s.tag===e),r=i.find(s=>!s.format)??i[0];if(!r)throw new Error(`Tag ${e} not found`);return r}return n.find(i=>i.identify?.(t)&&!i.format)}function hf(t,e,n){if(Ye.isDocument(t)&&(t=t.contents),Ye.isNode(t))return t;if(Ye.isPair(t)){let f=n.schema[Ye.MAP].createNode?.(n.schema,null,n);return f.items.push(t),f}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:i,onAnchor:r,onTagObj:s,schema:o,sourceObjects:a}=n,c;if(i&&t&&typeof t=="object"){if(c=a.get(t),c)return c.anchor??(c.anchor=r(t)),new df.Alias(c.anchor);c={anchor:null,node:null},a.set(t,c)}e?.startsWith("!!")&&(e=pf+e.slice(2));let l=mf(t,e,o.tags);if(!l){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let f=new Fo.Scalar(t);return c&&(c.node=f),f}l=t instanceof Map?o[Ye.MAP]:Symbol.iterator in Object(t)?o[Ye.SEQ]:o[Ye.MAP]}s&&(s(l),delete n.onTagObj);let u=l?.createNode?l.createNode(n.schema,t,n):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(n.schema,t,n):new Fo.Scalar(t);return e?u.tag=e:l.default||(u.tag=l.tag),c&&(c.node=u),u}Mo.createNode=hf});var Rn=v(_n=>{"use strict";var gf=Ot(),ce=P(),wf=xn();function fr(t,e,n){let i=n;for(let r=e.length-1;r>=0;--r){let s=e[r];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){let o=[];o[s]=i,i=o}else i=new Map([[s,i]])}return gf.createNode(i,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var Wo=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,dr=class extends wf.NodeBase{constructor(e,n){super(e),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(e){let n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(n.schema=e),n.items=n.items.map(i=>ce.isNode(i)||ce.isPair(i)?i.clone(e):i),this.range&&(n.range=this.range.slice()),n}addIn(e,n){if(Wo(e))this.add(n);else{let[i,...r]=e,s=this.get(i,!0);if(ce.isCollection(s))s.addIn(r,n);else if(s===void 0&&this.schema)this.set(i,fr(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}deleteIn(e){let[n,...i]=e;if(i.length===0)return this.delete(n);let r=this.get(n,!0);if(ce.isCollection(r))return r.deleteIn(i);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}getIn(e,n){let[i,...r]=e,s=this.get(i,!0);return r.length===0?!n&&ce.isScalar(s)?s.value:s:ce.isCollection(s)?s.getIn(r,n):void 0}hasAllNullValues(e){return this.items.every(n=>{if(!ce.isPair(n))return!1;let i=n.value;return i==null||e&&ce.isScalar(i)&&i.value==null&&!i.commentBefore&&!i.comment&&!i.tag})}hasIn(e){let[n,...i]=e;if(i.length===0)return this.has(n);let r=this.get(n,!0);return ce.isCollection(r)?r.hasIn(i):!1}setIn(e,n){let[i,...r]=e;if(r.length===0)this.set(i,n);else{let s=this.get(i,!0);if(ce.isCollection(s))s.setIn(r,n);else if(s===void 0&&this.schema)this.set(i,fr(this.schema,r,n));else throw new Error(`Expected YAML collection at ${i}. Remaining path: ${r}`)}}};_n.Collection=dr;_n.collectionFromPath=fr;_n.isEmptyPath=Wo});var Nt=v(On=>{"use strict";var yf=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function pr(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var vf=(t,e,n)=>t.endsWith(`
`)?pr(n,e):n.includes(`
`)?`
`+pr(n,e):(t.endsWith(" ")?"":" ")+n;On.indentComment=pr;On.lineComment=vf;On.stringifyComment=yf});var Ko=v(At=>{"use strict";var kf="flow",mr="block",Nn="quoted";function bf(t,e,n="flow",{indentAtStart:i,lineWidth:r=80,minContentWidth:s=20,onFold:o,onOverflow:a}={}){if(!r||r<0)return t;r<s&&(s=0);let c=Math.max(1+s,1+r-e.length);if(t.length<=c)return t;let l=[],u={},f=r-e.length;typeof i=="number"&&(i>r-Math.max(2,s)?l.push(0):f=r-i);let d,h,w=!1,p=-1,m=-1,y=-1;n===mr&&(p=Bo(t,p,e.length),p!==-1&&(f=p+c));for(let b;b=t[p+=1];){if(n===Nn&&b==="\\"){switch(m=p,t[p+1]){case"x":p+=3;break;case"u":p+=5;break;case"U":p+=9;break;default:p+=1}y=p}if(b===`
`)n===mr&&(p=Bo(t,p,e.length)),f=p+e.length+c,d=void 0;else{if(b===" "&&h&&h!==" "&&h!==`
`&&h!==" "){let S=t[p+1];S&&S!==" "&&S!==`
`&&S!==" "&&(d=p)}if(p>=f)if(d)l.push(d),f=d+c,d=void 0;else if(n===Nn){for(;h===" "||h===" ";)h=b,b=t[p+=1],w=!0;let S=p>y+1?p-2:m-1;if(u[S])return t;l.push(S),u[S]=!0,f=S+c,d=void 0}else w=!0}h=b}if(w&&a&&a(),l.length===0)return t;o&&o();let g=t.slice(0,l[0]);for(let b=0;b<l.length;++b){let S=l[b],C=l[b+1]||t.length;S===0?g=`
${e}${t.slice(0,C)}`:(n===Nn&&u[S]&&(g+=`${t[S]}\\`),g+=`
${e}${t.slice(S+1,C)}`)}return g}function Bo(t,e,n){let i=e,r=e+1,s=t[r];for(;s===" "||s===" ";)if(e<r+n)s=t[++e];else{do s=t[++e];while(s&&s!==`
`);i=e,r=e+1,s=t[r]}return i}At.FOLD_BLOCK=mr;At.FOLD_FLOW=kf;At.FOLD_QUOTED=Nn;At.foldFlowLines=bf});var It=v(Yo=>{"use strict";var Z=j(),Se=Ko(),jn=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),In=t=>/^(%|---|\.\.\.)/m.test(t);function Sf(t,e,n){if(!e||e<0)return!1;let i=e-n,r=t.length;if(r<=i)return!1;for(let s=0,o=0;s<r;++s)if(t[s]===`
`){if(s-o>i)return!0;if(o=s+1,r-o<=i)return!1}return!0}function jt(t,e){let n=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return n;let{implicitKey:i}=e,r=e.options.doubleQuotedMinMultiLineLength,s=e.indent||(In(t)?" ":""),o="",a=0;for(let c=0,l=n[c];l;l=n[++c])if(l===" "&&n[c+1]==="\\"&&n[c+2]==="n"&&(o+=n.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(n[c+1]){case"u":{o+=n.slice(a,c);let u=n.substr(c+2,4);switch(u){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:u.substr(0,2)==="00"?o+="\\x"+u.substr(2):o+=n.substr(c,6)}c+=5,a=c+1}break;case"n":if(i||n[c+2]==='"'||n.length<r)c+=1;else{for(o+=n.slice(a,c)+`
`;n[c+2]==="\\"&&n[c+3]==="n"&&n[c+4]!=='"';)o+=`
`,c+=2;o+=s,n[c+2]===" "&&(o+="\\"),c+=1,a=c+1}break;default:c+=1}return o=a?o+n.slice(a):n,i?o:Se.foldFlowLines(o,s,Se.FOLD_QUOTED,jn(e,!1))}function hr(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
`)||/[ \t]\n|\n[ \t]/.test(t))return jt(t,e);let n=e.indent||(In(t)?" ":""),i="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
${n}`)+"'";return e.implicitKey?i:Se.foldFlowLines(i,n,Se.FOLD_FLOW,jn(e,!1))}function st(t,e){let{singleQuote:n}=e.options,i;if(n===!1)i=jt;else{let r=t.includes('"'),s=t.includes("'");r&&!s?i=hr:s&&!r?i=jt:i=n?hr:jt}return i(t,e)}var gr;try{gr=new RegExp(`(^|(?<!
))
+(?!
|$)`,"g")}catch{gr=/\n+(?!\n|$)/g}function An({comment:t,type:e,value:n},i,r,s){let{blockQuote:o,commentString:a,lineWidth:c}=i.options;if(!o||/\n[\t ]+$/.test(n))return st(n,i);let l=i.indent||(i.forceBlockIndent||In(n)?" ":""),u=o==="literal"?!0:o==="folded"||e===Z.Scalar.BLOCK_FOLDED?!1:e===Z.Scalar.BLOCK_LITERAL?!0:!Sf(n,c,l.length);if(!n)return u?`|
`:`>
`;let f,d;for(d=n.length;d>0;--d){let C=n[d-1];if(C!==`
`&&C!==" "&&C!==" ")break}let h=n.substring(d),w=h.indexOf(`
`);w===-1?f="-":n===h||w!==h.length-1?(f="+",s&&s()):f="",h&&(n=n.slice(0,-h.length),h[h.length-1]===`
`&&(h=h.slice(0,-1)),h=h.replace(gr,`$&${l}`));let p=!1,m,y=-1;for(m=0;m<n.length;++m){let C=n[m];if(C===" ")p=!0;else if(C===`
`)y=m;else break}let g=n.substring(0,y<m?y+1:m);g&&(n=n.substring(g.length),g=g.replace(/\n+/g,`$&${l}`));let S=(p?l?"2":"1":"")+f;if(t&&(S+=" "+a(t.replace(/ ?[\r\n]+/g," ")),r&&r()),!u){let C=n.replace(/\n+/g,`
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),E=!1,x=jn(i,!0);o!=="folded"&&e!==Z.Scalar.BLOCK_FOLDED&&(x.onOverflow=()=>{E=!0});let k=Se.foldFlowLines(`${g}${C}${h}`,l,Se.FOLD_BLOCK,x);if(!E)return`>${S}
${l}${k}`}return n=n.replace(/\n+/g,`$&${l}`),`|${S}
${l}${g}${n}${h}`}function Cf(t,e,n,i){let{type:r,value:s}=t,{actualString:o,implicitKey:a,indent:c,indentStep:l,inFlow:u}=e;if(a&&s.includes(`
`)||u&&/[[\]{},]/.test(s))return st(s,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return a||u||!s.includes(`
`)?st(s,e):An(t,e,n,i);if(!a&&!u&&r!==Z.Scalar.PLAIN&&s.includes(`
`))return An(t,e,n,i);if(In(s)){if(c==="")return e.forceBlockIndent=!0,An(t,e,n,i);if(a&&c===l)return st(s,e)}let f=s.replace(/\n+/g,`$&
${c}`);if(o){let d=p=>p.default&&p.tag!=="tag:yaml.org,2002:str"&&p.test?.test(f),{compat:h,tags:w}=e.doc.schema;if(w.some(d)||h?.some(d))return st(s,e)}return a?f:Se.foldFlowLines(f,c,Se.FOLD_FLOW,jn(e,!1))}function Ef(t,e,n,i){let{implicitKey:r,inFlow:s}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:a}=t;a!==Z.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=Z.Scalar.QUOTE_DOUBLE);let c=u=>{switch(u){case Z.Scalar.BLOCK_FOLDED:case Z.Scalar.BLOCK_LITERAL:return r||s?st(o.value,e):An(o,e,n,i);case Z.Scalar.QUOTE_DOUBLE:return jt(o.value,e);case Z.Scalar.QUOTE_SINGLE:return hr(o.value,e);case Z.Scalar.PLAIN:return Cf(o,e,n,i);default:return null}},l=c(a);if(l===null){let{defaultKeyType:u,defaultStringType:f}=e.options,d=r&&u||f;if(l=c(d),l===null)throw new Error(`Unsupported default string type ${d}`)}return l}Yo.stringifyString=Ef});var Tt=v(wr=>{"use strict";var xf=En(),Ce=P(),Pf=Nt(),_f=It();function Rf(t,e){let n=Object.assign({blockQuote:!0,commentString:Pf.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e),i;switch(n.collectionStyle){case"block":i=!1;break;case"flow":i=!0;break;default:i=null}return{anchors:new Set,doc:t,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:i,options:n}}function Of(t,e){if(e.tag){let r=t.filter(s=>s.tag===e.tag);if(r.length>0)return r.find(s=>s.format===e.format)??r[0]}let n,i;if(Ce.isScalar(e)){i=e.value;let r=t.filter(s=>s.identify?.(i));if(r.length>1){let s=r.filter(o=>o.test);s.length>0&&(r=s)}n=r.find(s=>s.format===e.format)??r.find(s=>!s.format)}else i=e,n=t.find(r=>r.nodeClass&&i instanceof r.nodeClass);if(!n){let r=i?.constructor?.name??(i===null?"null":typeof i);throw new Error(`Tag not resolved for ${r} value`)}return n}function Nf(t,e,{anchors:n,doc:i}){if(!i.directives)return"";let r=[],s=(Ce.isScalar(t)||Ce.isCollection(t))&&t.anchor;s&&xf.anchorIsValid(s)&&(n.add(s),r.push(`&${s}`));let o=t.tag??(e.default?null:e.tag);return o&&r.push(i.directives.tagString(o)),r.join(" ")}function Af(t,e,n,i){if(Ce.isPair(t))return t.toString(e,n,i);if(Ce.isAlias(t)){if(e.doc.directives)return t.toString(e);if(e.resolvedAliases?.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let r,s=Ce.isNode(t)?t:e.doc.createNode(t,{onTagObj:c=>r=c});r??(r=Of(e.doc.schema.tags,s));let o=Nf(s,r,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof r.stringify=="function"?r.stringify(s,e,n,i):Ce.isScalar(s)?_f.stringifyString(s,e,n,i):s.toString(e,n,i);return o?Ce.isScalar(s)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
${e.indent}${a}`:a}wr.createStringifyContext=Rf;wr.stringify=Af});var Vo=v(Ho=>{"use strict";var de=P(),Jo=j(),Uo=Tt(),qt=Nt();function jf({key:t,value:e},n,i,r){let{allNullValues:s,doc:o,indent:a,indentStep:c,options:{commentString:l,indentSeq:u,simpleKeys:f}}=n,d=de.isNode(t)&&t.comment||null;if(f){if(d)throw new Error("With simple keys, key nodes cannot have comments");if(de.isCollection(t)||!de.isNode(t)&&typeof t=="object"){let x="With simple keys, collection cannot be used as a key value";throw new Error(x)}}let h=!f&&(!t||d&&e==null&&!n.inFlow||de.isCollection(t)||(de.isScalar(t)?t.type===Jo.Scalar.BLOCK_FOLDED||t.type===Jo.Scalar.BLOCK_LITERAL:typeof t=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!h&&(f||!s),indent:a+c});let w=!1,p=!1,m=Uo.stringify(t,n,()=>w=!0,()=>p=!0);if(!h&&!n.inFlow&&m.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");h=!0}if(n.inFlow){if(s||e==null)return w&&i&&i(),m===""?"?":h?`? ${m}`:m}else if(s&&!f||e==null&&h)return m=`? ${m}`,d&&!w?m+=qt.lineComment(m,n.indent,l(d)):p&&r&&r(),m;w&&(d=null),h?(d&&(m+=qt.lineComment(m,n.indent,l(d))),m=`? ${m}
${a}:`):(m=`${m}:`,d&&(m+=qt.lineComment(m,n.indent,l(d))));let y,g,b;de.isNode(e)?(y=!!e.spaceBefore,g=e.commentBefore,b=e.comment):(y=!1,g=null,b=null,e&&typeof e=="object"&&(e=o.createNode(e))),n.implicitKey=!1,!h&&!d&&de.isScalar(e)&&(n.indentAtStart=m.length+1),p=!1,!u&&c.length>=2&&!n.inFlow&&!h&&de.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(n.indent=n.indent.substring(2));let S=!1,C=Uo.stringify(e,n,()=>S=!0,()=>p=!0),E=" ";if(d||y||g){if(E=y?`
`:"",g){let x=l(g);E+=`
${qt.indentComment(x,n.indent)}`}C===""&&!n.inFlow?E===`
`&&b&&(E=`
`):E+=`
${n.indent}`}else if(!h&&de.isCollection(e)){let x=C[0],k=C.indexOf(`
`),A=k!==-1,oe=n.inFlow??e.flow??e.items.length===0;if(A||!oe){let J=!1;if(A&&(x==="&"||x==="!")){let R=C.indexOf(" ");x==="&"&&R!==-1&&R<k&&C[R+1]==="!"&&(R=C.indexOf(" ",R+1)),(R===-1||k<R)&&(J=!0)}J||(E=`
${n.indent}`)}}else(C===""||C[0]===`
`)&&(E="");return m+=E+C,n.inFlow?S&&i&&i():b&&!S?m+=qt.lineComment(m,n.indent,l(b)):p&&r&&r(),m}Ho.stringifyPair=jf});var vr=v(yr=>{"use strict";var Go=vn("process");function If(t,...e){t==="debug"&&console.log(...e)}function Tf(t,e){(t==="debug"||t==="warn")&&(typeof Go.emitWarning=="function"?Go.emitWarning(e):console.warn(e))}yr.debug=If;yr.warn=Tf});var Dn=v(Ln=>{"use strict";var $n=P(),zo=j(),Tn="<<",qn={identify:t=>t===Tn||typeof t=="symbol"&&t.description===Tn,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new zo.Scalar(Symbol(Tn)),{addToJSMap:Qo}),stringify:()=>Tn},qf=(t,e)=>(qn.identify(e)||$n.isScalar(e)&&(!e.type||e.type===zo.Scalar.PLAIN)&&qn.identify(e.value))&&t?.doc.schema.tags.some(n=>n.tag===qn.tag&&n.default);function Qo(t,e,n){let i=Xo(t,n);if($n.isSeq(i))for(let r of i.items)kr(t,e,r);else if(Array.isArray(i))for(let r of i)kr(t,e,r);else kr(t,e,i)}function kr(t,e,n){let i=Xo(t,n);if(!$n.isMap(i))throw new Error("Merge sources must be maps or map aliases");let r=i.toJSON(null,t,Map);for(let[s,o]of r)e instanceof Map?e.has(s)||e.set(s,o):e instanceof Set?e.add(s):Object.prototype.hasOwnProperty.call(e,s)||Object.defineProperty(e,s,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function Xo(t,e){return t&&$n.isAlias(e)?e.resolve(t.doc,t):e}Ln.addMergeToJSMap=Qo;Ln.isMergeKey=qf;Ln.merge=qn});var Sr=v(ta=>{"use strict";var $f=vr(),Zo=Dn(),Lf=Tt(),ea=P(),br=ke();function Df(t,e,{key:n,value:i}){if(ea.isNode(n)&&n.addToJSMap)n.addToJSMap(t,e,i);else if(Zo.isMergeKey(t,n))Zo.addMergeToJSMap(t,e,i);else{let r=br.toJS(n,"",t);if(e instanceof Map)e.set(r,br.toJS(i,r,t));else if(e instanceof Set)e.add(r);else{let s=Ff(n,r,t),o=br.toJS(i,s,t);s in e?Object.defineProperty(e,s,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[s]=o}}return e}function Ff(t,e,n){if(e===null)return"";if(typeof e!="object")return String(e);if(ea.isNode(t)&&n?.doc){let i=Lf.createStringifyContext(n.doc,{});i.anchors=new Set;for(let s of n.anchors.keys())i.anchors.add(s.anchor);i.inFlow=!0,i.inStringifyKey=!0;let r=t.toString(i);if(!n.mapKeyWarned){let s=JSON.stringify(r);s.length>40&&(s=s.substring(0,36)+'..."'),$f.warn(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return r}return JSON.stringify(e)}ta.addPairToJSMap=Df});var Ee=v(Cr=>{"use strict";var na=Ot(),Mf=Vo(),Wf=Sr(),Fn=P();function Bf(t,e,n){let i=na.createNode(t,void 0,n),r=na.createNode(e,void 0,n);return new Mn(i,r)}var Mn=class t{constructor(e,n=null){Object.defineProperty(this,Fn.NODE_TYPE,{value:Fn.PAIR}),this.key=e,this.value=n}clone(e){let{key:n,value:i}=this;return Fn.isNode(n)&&(n=n.clone(e)),Fn.isNode(i)&&(i=i.clone(e)),new t(n,i)}toJSON(e,n){let i=n?.mapAsMap?new Map:{};return Wf.addPairToJSMap(n,i,this)}toString(e,n,i){return e?.doc?Mf.stringifyPair(this,e,n,i):JSON.stringify(this)}};Cr.Pair=Mn;Cr.createPair=Bf});var Er=v(ra=>{"use strict";var Je=P(),ia=Tt(),Wn=Nt();function Kf(t,e,n){return(e.inFlow??t.flow?Jf:Yf)(t,e,n)}function Yf({comment:t,items:e},n,{blockItemPrefix:i,flowChars:r,itemIndent:s,onChompKeep:o,onComment:a}){let{indent:c,options:{commentString:l}}=n,u=Object.assign({},n,{indent:s,type:null}),f=!1,d=[];for(let w=0;w<e.length;++w){let p=e[w],m=null;if(Je.isNode(p))!f&&p.spaceBefore&&d.push(""),Bn(n,d,p.commentBefore,f),p.comment&&(m=p.comment);else if(Je.isPair(p)){let g=Je.isNode(p.key)?p.key:null;g&&(!f&&g.spaceBefore&&d.push(""),Bn(n,d,g.commentBefore,f))}f=!1;let y=ia.stringify(p,u,()=>m=null,()=>f=!0);m&&(y+=Wn.lineComment(y,s,l(m))),f&&m&&(f=!1),d.push(i+y)}let h;if(d.length===0)h=r.start+r.end;else{h=d[0];for(let w=1;w<d.length;++w){let p=d[w];h+=p?`
${c}${p}`:`
`}}return t?(h+=`
`+Wn.indentComment(l(t),c),a&&a()):f&&o&&o(),h}function Jf({items:t},e,{flowChars:n,itemIndent:i}){let{indent:r,indentStep:s,flowCollectionPadding:o,options:{commentString:a}}=e;i+=s;let c=Object.assign({},e,{indent:i,inFlow:!0,type:null}),l=!1,u=0,f=[];for(let w=0;w<t.length;++w){let p=t[w],m=null;if(Je.isNode(p))p.spaceBefore&&f.push(""),Bn(e,f,p.commentBefore,!1),p.comment&&(m=p.comment);else if(Je.isPair(p)){let g=Je.isNode(p.key)?p.key:null;g&&(g.spaceBefore&&f.push(""),Bn(e,f,g.commentBefore,!1),g.comment&&(l=!0));let b=Je.isNode(p.value)?p.value:null;b?(b.comment&&(m=b.comment),b.commentBefore&&(l=!0)):p.value==null&&g?.comment&&(m=g.comment)}m&&(l=!0);let y=ia.stringify(p,c,()=>m=null);l||(l=f.length>u||y.includes(`
`)),w<t.length-1?y+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(l||(l=f.reduce((g,b)=>g+b.length+2,2)+(y.length+2)>e.options.lineWidth)),l&&(y+=",")),m&&(y+=Wn.lineComment(y,i,a(m))),f.push(y),u=f.length}let{start:d,end:h}=n;if(f.length===0)return d+h;if(!l){let w=f.reduce((p,m)=>p+m.length+2,2);l=e.options.lineWidth>0&&w>e.options.lineWidth}if(l){let w=d;for(let p of f)w+=p?`
${s}${r}${p}`:`
`;return`${w}
${r}${h}`}else return`${d}${o}${f.join(" ")}${o}${h}`}function Bn({indent:t,options:{commentString:e}},n,i,r){if(i&&r&&(i=i.replace(/^\n+/,"")),i){let s=Wn.indentComment(e(i),t);n.push(s.trimStart())}}ra.stringifyCollection=Kf});var Pe=v(Pr=>{"use strict";var Uf=Er(),Hf=Sr(),Vf=Rn(),xe=P(),Kn=Ee(),Gf=j();function $t(t,e){let n=xe.isScalar(e)?e.value:e;for(let i of t)if(xe.isPair(i)&&(i.key===e||i.key===n||xe.isScalar(i.key)&&i.key.value===n))return i}var xr=class extends Vf.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(xe.MAP,e),this.items=[]}static from(e,n,i){let{keepUndefined:r,replacer:s}=i,o=new this(e),a=(c,l)=>{if(typeof s=="function")l=s.call(n,c,l);else if(Array.isArray(s)&&!s.includes(c))return;(l!==void 0||r)&&o.items.push(Kn.createPair(c,l,i))};if(n instanceof Map)for(let[c,l]of n)a(c,l);else if(n&&typeof n=="object")for(let c of Object.keys(n))a(c,n[c]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,n){let i;xe.isPair(e)?i=e:!e||typeof e!="object"||!("key"in e)?i=new Kn.Pair(e,e?.value):i=new Kn.Pair(e.key,e.value);let r=$t(this.items,i.key),s=this.schema?.sortMapEntries;if(r){if(!n)throw new Error(`Key ${i.key} already set`);xe.isScalar(r.value)&&Gf.isScalarValue(i.value)?r.value.value=i.value:r.value=i.value}else if(s){let o=this.items.findIndex(a=>s(i,a)<0);o===-1?this.items.push(i):this.items.splice(o,0,i)}else this.items.push(i)}delete(e){let n=$t(this.items,e);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(e,n){let r=$t(this.items,e)?.value;return(!n&&xe.isScalar(r)?r.value:r)??void 0}has(e){return!!$t(this.items,e)}set(e,n){this.add(new Kn.Pair(e,n),!0)}toJSON(e,n,i){let r=i?new i:n?.mapAsMap?new Map:{};n?.onCreate&&n.onCreate(r);for(let s of this.items)Hf.addPairToJSMap(n,r,s);return r}toString(e,n,i){if(!e)return JSON.stringify(this);for(let r of this.items)if(!xe.isPair(r))throw new Error(`Map items must all be pairs; found ${JSON.stringify(r)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Uf.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:i,onComment:n})}};Pr.YAMLMap=xr;Pr.findPair=$t});var ot=v(oa=>{"use strict";var zf=P(),sa=Pe(),Qf={collection:"map",default:!0,nodeClass:sa.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return zf.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,n)=>sa.YAMLMap.from(t,e,n)};oa.map=Qf});var _e=v(aa=>{"use strict";var Xf=Ot(),Zf=Er(),ed=Rn(),Jn=P(),td=j(),nd=ke(),_r=class extends ed.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Jn.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let n=Yn(e);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(e,n){let i=Yn(e);if(typeof i!="number")return;let r=this.items[i];return!n&&Jn.isScalar(r)?r.value:r}has(e){let n=Yn(e);return typeof n=="number"&&n<this.items.length}set(e,n){let i=Yn(e);if(typeof i!="number")throw new Error(`Expected a valid index, not ${e}.`);let r=this.items[i];Jn.isScalar(r)&&td.isScalarValue(n)?r.value=n:this.items[i]=n}toJSON(e,n){let i=[];n?.onCreate&&n.onCreate(i);let r=0;for(let s of this.items)i.push(nd.toJS(s,String(r++),n));return i}toString(e,n,i){return e?Zf.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:i,onComment:n}):JSON.stringify(this)}static from(e,n,i){let{replacer:r}=i,s=new this(e);if(n&&Symbol.iterator in Object(n)){let o=0;for(let a of n){if(typeof r=="function"){let c=n instanceof Set?a:String(o++);a=r.call(n,c,a)}s.items.push(Xf.createNode(a,void 0,i))}}return s}};function Yn(t){let e=Jn.isScalar(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}aa.YAMLSeq=_r});var at=v(la=>{"use strict";var id=P(),ca=_e(),rd={collection:"seq",default:!0,nodeClass:ca.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return id.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,n)=>ca.YAMLSeq.from(t,e,n)};la.seq=rd});var Lt=v(ua=>{"use strict";var sd=It(),od={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,n,i){return e=Object.assign({actualString:!0},e),sd.stringifyString(t,e,n,i)}};ua.string=od});var Un=v(pa=>{"use strict";var fa=j(),da={identify:t=>t==null,createNode:()=>new fa.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new fa.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&da.test.test(t)?t:e.options.nullStr};pa.nullTag=da});var Rr=v(ha=>{"use strict";var ad=j(),ma={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new ad.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},n){if(t&&ma.test.test(t)){let i=t[0]==="t"||t[0]==="T";if(e===i)return t}return e?n.options.trueStr:n.options.falseStr}};ha.boolTag=ma});var ct=v(ga=>{"use strict";function cd({format:t,minFractionDigits:e,tag:n,value:i}){if(typeof i=="bigint")return String(i);let r=typeof i=="number"?i:Number(i);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let s=Object.is(i,-0)?"-0":JSON.stringify(i);if(!t&&e&&(!n||n==="tag:yaml.org,2002:float")&&/^-?\d/.test(s)&&!s.includes("e")){let o=s.indexOf(".");o<0&&(o=s.length,s+=".");let a=e-(s.length-o-1);for(;a-- >0;)s+="0"}return s}ga.stringifyNumber=cd});var Nr=v(Hn=>{"use strict";var ld=j(),Or=ct(),ud={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Or.stringifyNumber},fd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Or.stringifyNumber(t)}},dd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(t){let e=new ld.Scalar(parseFloat(t)),n=t.indexOf(".");return n!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-n-1),e},stringify:Or.stringifyNumber};Hn.float=dd;Hn.floatExp=fd;Hn.floatNaN=ud});var jr=v(Gn=>{"use strict";var wa=ct(),Vn=t=>typeof t=="bigint"||Number.isInteger(t),Ar=(t,e,n,{intAsBigInt:i})=>i?BigInt(t):parseInt(t.substring(e),n);function ya(t,e,n){let{value:i}=t;return Vn(i)&&i>=0?n+i.toString(e):wa.stringifyNumber(t)}var pd={identify:t=>Vn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,n)=>Ar(t,2,8,n),stringify:t=>ya(t,8,"0o")},md={identify:Vn,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,n)=>Ar(t,0,10,n),stringify:wa.stringifyNumber},hd={identify:t=>Vn(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,n)=>Ar(t,2,16,n),stringify:t=>ya(t,16,"0x")};Gn.int=md;Gn.intHex=hd;Gn.intOct=pd});var ka=v(va=>{"use strict";var gd=ot(),wd=Un(),yd=at(),vd=Lt(),kd=Rr(),Ir=Nr(),Tr=jr(),bd=[gd.map,yd.seq,vd.string,wd.nullTag,kd.boolTag,Tr.intOct,Tr.int,Tr.intHex,Ir.floatNaN,Ir.floatExp,Ir.float];va.schema=bd});var Ca=v(Sa=>{"use strict";var Sd=j(),Cd=ot(),Ed=at();function ba(t){return typeof t=="bigint"||Number.isInteger(t)}var zn=({value:t})=>JSON.stringify(t),xd=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:zn},{identify:t=>t==null,createNode:()=>new Sd.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:zn},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:zn},{identify:ba,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:n})=>n?BigInt(t):parseInt(t,10),stringify:({value:t})=>ba(t)?t.toString():JSON.stringify(t)},{identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:t=>parseFloat(t),stringify:zn}],Pd={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},_d=[Cd.map,Ed.seq].concat(xd,Pd);Sa.schema=_d});var $r=v(Ea=>{"use strict";var Dt=vn("buffer"),qr=j(),Rd=It(),Od={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof Dt.Buffer=="function")return Dt.Buffer.from(t,"base64");if(typeof atob=="function"){let n=atob(t.replace(/[\n\r]/g,"")),i=new Uint8Array(n.length);for(let r=0;r<n.length;++r)i[r]=n.charCodeAt(r);return i}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:n},i,r,s){if(!n)return"";let o=n,a;if(typeof Dt.Buffer=="function")a=o instanceof Dt.Buffer?o.toString("base64"):Dt.Buffer.from(o.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<o.length;++l)c+=String.fromCharCode(o[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=qr.Scalar.BLOCK_LITERAL),e!==qr.Scalar.QUOTE_DOUBLE){let c=Math.max(i.options.lineWidth-i.indent.length,i.options.minContentWidth),l=Math.ceil(a.length/c),u=new Array(l);for(let f=0,d=0;f<l;++f,d+=c)u[f]=a.substr(d,c);a=u.join(e===qr.Scalar.BLOCK_LITERAL?`
`:" ")}return Rd.stringifyString({comment:t,type:e,value:a},i,r,s)}};Ea.binary=Od});var Zn=v(Xn=>{"use strict";var Qn=P(),Lr=Ee(),Nd=j(),Ad=_e();function xa(t,e){if(Qn.isSeq(t))for(let n=0;n<t.items.length;++n){let i=t.items[n];if(!Qn.isPair(i)){if(Qn.isMap(i)){i.items.length>1&&e("Each pair must have its own sequence indicator");let r=i.items[0]||new Lr.Pair(new Nd.Scalar(null));if(i.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${i.commentBefore}
${r.key.commentBefore}`:i.commentBefore),i.comment){let s=r.value??r.key;s.comment=s.comment?`${i.comment}
${s.comment}`:i.comment}i=r}t.items[n]=Qn.isPair(i)?i:new Lr.Pair(i)}}else e("Expected a sequence for this tag");return t}function Pa(t,e,n){let{replacer:i}=n,r=new Ad.YAMLSeq(t);r.tag="tag:yaml.org,2002:pairs";let s=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof i=="function"&&(o=i.call(e,String(s++),o));let a,c;if(Array.isArray(o))if(o.length===2)a=o[0],c=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let l=Object.keys(o);if(l.length===1)a=l[0],c=o[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=o;r.items.push(Lr.createPair(a,c,n))}return r}var jd={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:xa,createNode:Pa};Xn.createPairs=Pa;Xn.pairs=jd;Xn.resolvePairs=xa});var Mr=v(Fr=>{"use strict";var _a=P(),Dr=ke(),Ft=Pe(),Id=_e(),Ra=Zn(),Ue=class t extends Id.YAMLSeq{constructor(){super(),this.add=Ft.YAMLMap.prototype.add.bind(this),this.delete=Ft.YAMLMap.prototype.delete.bind(this),this.get=Ft.YAMLMap.prototype.get.bind(this),this.has=Ft.YAMLMap.prototype.has.bind(this),this.set=Ft.YAMLMap.prototype.set.bind(this),this.tag=t.tag}toJSON(e,n){if(!n)return super.toJSON(e);let i=new Map;n?.onCreate&&n.onCreate(i);for(let r of this.items){let s,o;if(_a.isPair(r)?(s=Dr.toJS(r.key,"",n),o=Dr.toJS(r.value,s,n)):s=Dr.toJS(r,"",n),i.has(s))throw new Error("Ordered maps must not include duplicate keys");i.set(s,o)}return i}static from(e,n,i){let r=Ra.createPairs(e,n,i),s=new this;return s.items=r.items,s}};Ue.tag="tag:yaml.org,2002:omap";var Td={collection:"seq",identify:t=>t instanceof Map,nodeClass:Ue,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let n=Ra.resolvePairs(t,e),i=[];for(let{key:r}of n.items)_a.isScalar(r)&&(i.includes(r.value)?e(`Ordered maps must not include duplicate keys: ${r.value}`):i.push(r.value));return Object.assign(new Ue,n)},createNode:(t,e,n)=>Ue.from(t,e,n)};Fr.YAMLOMap=Ue;Fr.omap=Td});var Ia=v(Wr=>{"use strict";var Oa=j();function Na({value:t,source:e},n){return e&&(t?Aa:ja).test.test(e)?e:t?n.options.trueStr:n.options.falseStr}var Aa={identify:t=>t===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Oa.Scalar(!0),stringify:Na},ja={identify:t=>t===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Oa.Scalar(!1),stringify:Na};Wr.falseTag=ja;Wr.trueTag=Aa});var Ta=v(ei=>{"use strict";var qd=j(),Br=ct(),$d={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:t=>t.slice(-3).toLowerCase()==="nan"?NaN:t[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Br.stringifyNumber},Ld={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:t=>parseFloat(t.replace(/_/g,"")),stringify(t){let e=Number(t.value);return isFinite(e)?e.toExponential():Br.stringifyNumber(t)}},Dd={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(t){let e=new qd.Scalar(parseFloat(t.replace(/_/g,""))),n=t.indexOf(".");if(n!==-1){let i=t.substring(n+1).replace(/_/g,"");i[i.length-1]==="0"&&(e.minFractionDigits=i.length)}return e},stringify:Br.stringifyNumber};ei.float=Dd;ei.floatExp=Ld;ei.floatNaN=$d});var $a=v(Wt=>{"use strict";var qa=ct(),Mt=t=>typeof t=="bigint"||Number.isInteger(t);function ti(t,e,n,{intAsBigInt:i}){let r=t[0];if((r==="-"||r==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),i){switch(n){case 2:t=`0b${t}`;break;case 8:t=`0o${t}`;break;case 16:t=`0x${t}`;break}let o=BigInt(t);return r==="-"?BigInt(-1)*o:o}let s=parseInt(t,n);return r==="-"?-1*s:s}function Kr(t,e,n){let{value:i}=t;if(Mt(i)){let r=i.toString(e);return i<0?"-"+n+r.substr(1):n+r}return qa.stringifyNumber(t)}var Fd={identify:Mt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,n)=>ti(t,2,2,n),stringify:t=>Kr(t,2,"0b")},Md={identify:Mt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,n)=>ti(t,1,8,n),stringify:t=>Kr(t,8,"0")},Wd={identify:Mt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,n)=>ti(t,0,10,n),stringify:qa.stringifyNumber},Bd={identify:Mt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,n)=>ti(t,2,16,n),stringify:t=>Kr(t,16,"0x")};Wt.int=Wd;Wt.intBin=Fd;Wt.intHex=Bd;Wt.intOct=Md});var Jr=v(Yr=>{"use strict";var ri=P(),ni=Ee(),ii=Pe(),He=class t extends ii.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let n;ri.isPair(e)?n=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?n=new ni.Pair(e.key,null):n=new ni.Pair(e,null),ii.findPair(this.items,n.key)||this.items.push(n)}get(e,n){let i=ii.findPair(this.items,e);return!n&&ri.isPair(i)?ri.isScalar(i.key)?i.key.value:i.key:i}set(e,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);let i=ii.findPair(this.items,e);i&&!n?this.items.splice(this.items.indexOf(i),1):!i&&n&&this.items.push(new ni.Pair(e))}toJSON(e,n){return super.toJSON(e,n,Set)}toString(e,n,i){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),n,i);throw new Error("Set items must all have null values")}static from(e,n,i){let{replacer:r}=i,s=new this(e);if(n&&Symbol.iterator in Object(n))for(let o of n)typeof r=="function"&&(o=r.call(n,o,o)),s.items.push(ni.createPair(o,null,i));return s}};He.tag="tag:yaml.org,2002:set";var Kd={collection:"map",identify:t=>t instanceof Set,nodeClass:He,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,n)=>He.from(t,e,n),resolve(t,e){if(ri.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new He,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};Yr.YAMLSet=He;Yr.set=Kd});var Hr=v(si=>{"use strict";var Yd=ct();function Ur(t,e){let n=t[0],i=n==="-"||n==="+"?t.substring(1):t,r=o=>e?BigInt(o):Number(o),s=i.replace(/_/g,"").split(":").reduce((o,a)=>o*r(60)+r(a),r(0));return n==="-"?r(-1)*s:s}function La(t){let{value:e}=t,n=o=>o;if(typeof e=="bigint")n=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Yd.stringifyNumber(t);let i="";e<0&&(i="-",e*=n(-1));let r=n(60),s=[e%r];return e<60?s.unshift(0):(e=(e-s[0])/r,s.unshift(e%r),e>=60&&(e=(e-s[0])/r,s.unshift(e))),i+s.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Jd={identify:t=>typeof t=="bigint"||Number.isInteger(t),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(t,e,{intAsBigInt:n})=>Ur(t,n),stringify:La},Ud={identify:t=>typeof t=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:t=>Ur(t,!1),stringify:La},Da={identify:t=>t instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(t){let e=t.match(Da.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,n,i,r,s,o,a]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(n,i-1,r,s||0,o||0,a||0,c),u=e[8];if(u&&u!=="Z"){let f=Ur(u,!1);Math.abs(f)<30&&(f*=60),l-=6e4*f}return new Date(l)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};si.floatTime=Ud;si.intTime=Jd;si.timestamp=Da});var Wa=v(Ma=>{"use strict";var Hd=ot(),Vd=Un(),Gd=at(),zd=Lt(),Qd=$r(),Fa=Ia(),Vr=Ta(),oi=$a(),Xd=Dn(),Zd=Mr(),ep=Zn(),tp=Jr(),Gr=Hr(),np=[Hd.map,Gd.seq,zd.string,Vd.nullTag,Fa.trueTag,Fa.falseTag,oi.intBin,oi.intOct,oi.int,oi.intHex,Vr.floatNaN,Vr.floatExp,Vr.float,Qd.binary,Xd.merge,Zd.omap,ep.pairs,tp.set,Gr.intTime,Gr.floatTime,Gr.timestamp];Ma.schema=np});var Qa=v(Xr=>{"use strict";var Ja=ot(),ip=Un(),Ua=at(),rp=Lt(),sp=Rr(),zr=Nr(),Qr=jr(),op=ka(),ap=Ca(),Ha=$r(),Bt=Dn(),Va=Mr(),Ga=Zn(),Ba=Wa(),za=Jr(),ai=Hr(),Ka=new Map([["core",op.schema],["failsafe",[Ja.map,Ua.seq,rp.string]],["json",ap.schema],["yaml11",Ba.schema],["yaml-1.1",Ba.schema]]),Ya={binary:Ha.binary,bool:sp.boolTag,float:zr.float,floatExp:zr.floatExp,floatNaN:zr.floatNaN,floatTime:ai.floatTime,int:Qr.int,intHex:Qr.intHex,intOct:Qr.intOct,intTime:ai.intTime,map:Ja.map,merge:Bt.merge,null:ip.nullTag,omap:Va.omap,pairs:Ga.pairs,seq:Ua.seq,set:za.set,timestamp:ai.timestamp},cp={"tag:yaml.org,2002:binary":Ha.binary,"tag:yaml.org,2002:merge":Bt.merge,"tag:yaml.org,2002:omap":Va.omap,"tag:yaml.org,2002:pairs":Ga.pairs,"tag:yaml.org,2002:set":za.set,"tag:yaml.org,2002:timestamp":ai.timestamp};function lp(t,e,n){let i=Ka.get(e);if(i&&!t)return n&&!i.includes(Bt.merge)?i.concat(Bt.merge):i.slice();let r=i;if(!r)if(Array.isArray(t))r=[];else{let s=Array.from(Ka.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${s} or define customTags array`)}if(Array.isArray(t))for(let s of t)r=r.concat(s);else typeof t=="function"&&(r=t(r.slice()));return n&&(r=r.concat(Bt.merge)),r.reduce((s,o)=>{let a=typeof o=="string"?Ya[o]:o;if(!a){let c=JSON.stringify(o),l=Object.keys(Ya).map(u=>JSON.stringify(u)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return s.includes(a)||s.push(a),s},[])}Xr.coreKnownTags=cp;Xr.getTags=lp});var ts=v(Xa=>{"use strict";var Zr=P(),up=ot(),fp=at(),dp=Lt(),ci=Qa(),pp=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,es=class t{constructor({compat:e,customTags:n,merge:i,resolveKnownTags:r,schema:s,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?ci.getTags(e,"compat"):e?ci.getTags(null,e):null,this.name=typeof s=="string"&&s||"core",this.knownTags=r?ci.coreKnownTags:{},this.tags=ci.getTags(n,this.name,i),this.toStringOptions=a??null,Object.defineProperty(this,Zr.MAP,{value:up.map}),Object.defineProperty(this,Zr.SCALAR,{value:dp.string}),Object.defineProperty(this,Zr.SEQ,{value:fp.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?pp:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};Xa.Schema=es});var ec=v(Za=>{"use strict";var mp=P(),ns=Tt(),Kt=Nt();function hp(t,e){let n=[],i=e.directives===!0;if(e.directives!==!1&&t.directives){let c=t.directives.toString(t);c?(n.push(c),i=!0):t.directives.docStart&&(i=!0)}i&&n.push("---");let r=ns.createStringifyContext(t,e),{commentString:s}=r.options;if(t.commentBefore){n.length!==1&&n.unshift("");let c=s(t.commentBefore);n.unshift(Kt.indentComment(c,""))}let o=!1,a=null;if(t.contents){if(mp.isNode(t.contents)){if(t.contents.spaceBefore&&i&&n.push(""),t.contents.commentBefore){let u=s(t.contents.commentBefore);n.push(Kt.indentComment(u,""))}r.forceBlockIndent=!!t.comment,a=t.contents.comment}let c=a?void 0:()=>o=!0,l=ns.stringify(t.contents,r,()=>a=null,c);a&&(l+=Kt.lineComment(l,"",s(a))),(l[0]==="|"||l[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${l}`:n.push(l)}else n.push(ns.stringify(t.contents,r));if(t.directives?.docEnd)if(t.comment){let c=s(t.comment);c.includes(`
`)?(n.push("..."),n.push(Kt.indentComment(c,""))):n.push(`... ${c}`)}else n.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||a)&&n[n.length-1]!==""&&n.push(""),n.push(Kt.indentComment(s(c),"")))}return n.join(`
`)+`
`}Za.stringifyDocument=hp});var Yt=v(tc=>{"use strict";var gp=Rt(),lt=Rn(),Q=P(),wp=Ee(),yp=ke(),vp=ts(),kp=ec(),is=En(),bp=ar(),Sp=Ot(),rs=or(),ss=class t{constructor(e,n,i){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Q.NODE_TYPE,{value:Q.DOC});let r=null;typeof n=="function"||Array.isArray(n)?r=n:i===void 0&&n&&(i=n,n=void 0);let s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},i);this.options=s;let{version:o}=s;i?._directives?(this.directives=i._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new rs.Directives({version:o}),this.setSchema(o,i),this.contents=e===void 0?null:this.createNode(e,r,i)}clone(){let e=Object.create(t.prototype,{[Q.NODE_TYPE]:{value:Q.DOC}});return e.commentBefore=this.commentBefore,e.comment=this.comment,e.errors=this.errors.slice(),e.warnings=this.warnings.slice(),e.options=Object.assign({},this.options),this.directives&&(e.directives=this.directives.clone()),e.schema=this.schema.clone(),e.contents=Q.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){ut(this.contents)&&this.contents.add(e)}addIn(e,n){ut(this.contents)&&this.contents.addIn(e,n)}createAlias(e,n){if(!e.anchor){let i=is.anchorNames(this);e.anchor=!n||i.has(n)?is.findNewAnchor(n||"a",i):n}return new gp.Alias(e.anchor)}createNode(e,n,i){let r;if(typeof n=="function")e=n.call({"":e},"",e),r=n;else if(Array.isArray(n)){let m=g=>typeof g=="number"||g instanceof String||g instanceof Number,y=n.filter(m).map(String);y.length>0&&(n=n.concat(y)),r=n}else i===void 0&&n&&(i=n,n=void 0);let{aliasDuplicateObjects:s,anchorPrefix:o,flow:a,keepUndefined:c,onTagObj:l,tag:u}=i??{},{onAnchor:f,setAnchors:d,sourceObjects:h}=is.createNodeAnchors(this,o||"a"),w={aliasDuplicateObjects:s??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:l,replacer:r,schema:this.schema,sourceObjects:h},p=Sp.createNode(e,u,w);return a&&Q.isCollection(p)&&(p.flow=!0),d(),p}createPair(e,n,i={}){let r=this.createNode(e,null,i),s=this.createNode(n,null,i);return new wp.Pair(r,s)}delete(e){return ut(this.contents)?this.contents.delete(e):!1}deleteIn(e){return lt.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):ut(this.contents)?this.contents.deleteIn(e):!1}get(e,n){return Q.isCollection(this.contents)?this.contents.get(e,n):void 0}getIn(e,n){return lt.isEmptyPath(e)?!n&&Q.isScalar(this.contents)?this.contents.value:this.contents:Q.isCollection(this.contents)?this.contents.getIn(e,n):void 0}has(e){return Q.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return lt.isEmptyPath(e)?this.contents!==void 0:Q.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,n){this.contents==null?this.contents=lt.collectionFromPath(this.schema,[e],n):ut(this.contents)&&this.contents.set(e,n)}setIn(e,n){lt.isEmptyPath(e)?this.contents=n:this.contents==null?this.contents=lt.collectionFromPath(this.schema,Array.from(e),n):ut(this.contents)&&this.contents.setIn(e,n)}setSchema(e,n={}){typeof e=="number"&&(e=String(e));let i;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new rs.Directives({version:"1.1"}),i={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new rs.Directives({version:e}),i={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,i=null;break;default:{let r=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${r}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(i)this.schema=new vp.Schema(Object.assign(i,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:n,mapAsMap:i,maxAliasCount:r,onAnchor:s,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},c=yp.toJS(this.contents,n??"",a);if(typeof s=="function")for(let{count:l,res:u}of a.anchors.values())s(u,l);return typeof o=="function"?bp.applyReviver(o,{"":c},"",c):c}toJSON(e,n){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:n})}toString(e={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in e&&(!Number.isInteger(e.indent)||Number(e.indent)<=0)){let n=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return kp.stringifyDocument(this,e)}};function ut(t){if(Q.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}tc.Document=ss});var Ht=v(Ut=>{"use strict";var Jt=class extends Error{constructor(e,n,i,r){super(),this.name=e,this.code=i,this.message=r,this.pos=n}},os=class extends Jt{constructor(e,n,i){super("YAMLParseError",e,n,i)}},as=class extends Jt{constructor(e,n,i){super("YAMLWarning",e,n,i)}},Cp=(t,e)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(a=>e.linePos(a));let{line:i,col:r}=n.linePos[0];n.message+=` at line ${i}, column ${r}`;let s=r-1,o=t.substring(e.lineStarts[i-1],e.lineStarts[i]).replace(/[\n\r]+$/,"");if(s>=60&&o.length>80){let a=Math.min(s-39,o.length-79);o="…"+o.substring(a),s-=a-1}if(o.length>80&&(o=o.substring(0,79)+"…"),i>1&&/^ *$/.test(o.substring(0,s))){let a=t.substring(e.lineStarts[i-2],e.lineStarts[i-1]);a.length>80&&(a=a.substring(0,79)+`…
`),o=a+o}if(/[^ ]/.test(o)){let a=1,c=n.linePos[1];c?.line===i&&c.col>r&&(a=Math.max(1,Math.min(c.col-r,80-s)));let l=" ".repeat(s)+"^".repeat(a);n.message+=`:
${o}
${l}
`}};Ut.YAMLError=Jt;Ut.YAMLParseError=os;Ut.YAMLWarning=as;Ut.prettifyError=Cp});var Vt=v(nc=>{"use strict";function Ep(t,{flow:e,indicator:n,next:i,offset:r,onError:s,parentIndent:o,startOnNewline:a}){let c=!1,l=a,u=a,f="",d="",h=!1,w=!1,p=null,m=null,y=null,g=null,b=null,S=null,C=null;for(let k of t)switch(w&&(k.type!=="space"&&k.type!=="newline"&&k.type!=="comma"&&s(k.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),w=!1),p&&(l&&k.type!=="comment"&&k.type!=="newline"&&s(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),p=null),k.type){case"space":!e&&(n!=="doc-start"||i?.type!=="flow-collection")&&k.source.includes(" ")&&(p=k),u=!0;break;case"comment":{u||s(k,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let A=k.source.substring(1)||" ";f?f+=d+A:f=A,d="",l=!1;break}case"newline":l?f?f+=k.source:(!S||n!=="seq-item-ind")&&(c=!0):d+=k.source,l=!0,h=!0,(m||y)&&(g=k),u=!0;break;case"anchor":m&&s(k,"MULTIPLE_ANCHORS","A node can have at most one anchor"),k.source.endsWith(":")&&s(k.offset+k.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),m=k,C??(C=k.offset),l=!1,u=!1,w=!0;break;case"tag":{y&&s(k,"MULTIPLE_TAGS","A node can have at most one tag"),y=k,C??(C=k.offset),l=!1,u=!1,w=!0;break}case n:(m||y)&&s(k,"BAD_PROP_ORDER",`Anchors and tags must be after the ${k.source} indicator`),S&&s(k,"UNEXPECTED_TOKEN",`Unexpected ${k.source} in ${e??"collection"}`),S=k,l=n==="seq-item-ind"||n==="explicit-key-ind",u=!1;break;case"comma":if(e){b&&s(k,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),b=k,l=!1,u=!1;break}default:s(k,"UNEXPECTED_TOKEN",`Unexpected ${k.type} token`),l=!1,u=!1}let E=t[t.length-1],x=E?E.offset+E.source.length:r;return w&&i&&i.type!=="space"&&i.type!=="newline"&&i.type!=="comma"&&(i.type!=="scalar"||i.source!=="")&&s(i.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),p&&(l&&p.indent<=o||i?.type==="block-map"||i?.type==="block-seq")&&s(p,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:b,found:S,spaceBefore:c,comment:f,hasNewline:h,anchor:m,tag:y,newlineAfterProp:g,end:x,start:C??x}}nc.resolveProps=Ep});var li=v(ic=>{"use strict";function cs(t){if(!t)return null;switch(t.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(t.source.includes(`
`))return!0;if(t.end){for(let e of t.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of t.items){for(let n of e.start)if(n.type==="newline")return!0;if(e.sep){for(let n of e.sep)if(n.type==="newline")return!0}if(cs(e.key)||cs(e.value))return!0}return!1;default:return!0}}ic.containsNewline=cs});var ls=v(rc=>{"use strict";var xp=li();function Pp(t,e,n){if(e?.type==="flow-collection"){let i=e.end[0];i.indent===t&&(i.source==="]"||i.source==="}")&&xp.containsNewline(e)&&n(i,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}rc.flowIndentCheck=Pp});var us=v(oc=>{"use strict";var sc=P();function _p(t,e,n){let{uniqueKeys:i}=t.options;if(i===!1)return!1;let r=typeof i=="function"?i:(s,o)=>s===o||sc.isScalar(s)&&sc.isScalar(o)&&s.value===o.value;return e.some(s=>r(s.key,n))}oc.mapIncludes=_p});var dc=v(fc=>{"use strict";var ac=Ee(),Rp=Pe(),cc=Vt(),Op=li(),lc=ls(),Np=us(),uc="All mapping items must start at the same column";function Ap({composeNode:t,composeEmptyNode:e},n,i,r,s){let o=s?.nodeClass??Rp.YAMLMap,a=new o(n.schema);n.atRoot&&(n.atRoot=!1);let c=i.offset,l=null;for(let u of i.items){let{start:f,key:d,sep:h,value:w}=u,p=cc.resolveProps(f,{indicator:"explicit-key-ind",next:d??h?.[0],offset:c,onError:r,parentIndent:i.indent,startOnNewline:!0}),m=!p.found;if(m){if(d&&(d.type==="block-seq"?r(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in d&&d.indent!==i.indent&&r(c,"BAD_INDENT",uc)),!p.anchor&&!p.tag&&!h){l=p.end,p.comment&&(a.comment?a.comment+=`
`+p.comment:a.comment=p.comment);continue}(p.newlineAfterProp||Op.containsNewline(d))&&r(d??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else p.found?.indent!==i.indent&&r(c,"BAD_INDENT",uc);n.atKey=!0;let y=p.end,g=d?t(n,d,p,r):e(n,y,f,null,p,r);n.schema.compat&&lc.flowIndentCheck(i.indent,d,r),n.atKey=!1,Np.mapIncludes(n,a.items,g)&&r(y,"DUPLICATE_KEY","Map keys must be unique");let b=cc.resolveProps(h??[],{indicator:"map-value-ind",next:w,offset:g.range[2],onError:r,parentIndent:i.indent,startOnNewline:!d||d.type==="block-scalar"});if(c=b.end,b.found){m&&(w?.type==="block-map"&&!b.hasNewline&&r(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&p.start<b.found.offset-1024&&r(g.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let S=w?t(n,w,b,r):e(n,c,h,null,b,r);n.schema.compat&&lc.flowIndentCheck(i.indent,w,r),c=S.range[2];let C=new ac.Pair(g,S);n.options.keepSourceTokens&&(C.srcToken=u),a.items.push(C)}else{m&&r(g.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),b.comment&&(g.comment?g.comment+=`
`+b.comment:g.comment=b.comment);let S=new ac.Pair(g);n.options.keepSourceTokens&&(S.srcToken=u),a.items.push(S)}}return l&&l<c&&r(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[i.offset,c,l??c],a}fc.resolveBlockMap=Ap});var mc=v(pc=>{"use strict";var jp=_e(),Ip=Vt(),Tp=ls();function qp({composeNode:t,composeEmptyNode:e},n,i,r,s){let o=s?.nodeClass??jp.YAMLSeq,a=new o(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let c=i.offset,l=null;for(let{start:u,value:f}of i.items){let d=Ip.resolveProps(u,{indicator:"seq-item-ind",next:f,offset:c,onError:r,parentIndent:i.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||f)f?.type==="block-seq"?r(d.end,"BAD_INDENT","All sequence items must start at the same column"):r(c,"MISSING_CHAR","Sequence item without - indicator");else{l=d.end,d.comment&&(a.comment=d.comment);continue}let h=f?t(n,f,d,r):e(n,d.end,u,null,d,r);n.schema.compat&&Tp.flowIndentCheck(i.indent,f,r),c=h.range[2],a.items.push(h)}return a.range=[i.offset,c,l??c],a}pc.resolveBlockSeq=qp});var ft=v(hc=>{"use strict";function $p(t,e,n,i){let r="";if(t){let s=!1,o="";for(let a of t){let{source:c,type:l}=a;switch(l){case"space":s=!0;break;case"comment":{n&&!s&&i(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let u=c.substring(1)||" ";r?r+=o+u:r=u,o="";break}case"newline":r&&(o+=c),s=!0;break;default:i(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}e+=c.length}}return{comment:r,offset:e}}hc.resolveEnd=$p});var vc=v(yc=>{"use strict";var Lp=P(),Dp=Ee(),gc=Pe(),Fp=_e(),Mp=ft(),wc=Vt(),Wp=li(),Bp=us(),fs="Block collections are not allowed within flow collections",ds=t=>t&&(t.type==="block-map"||t.type==="block-seq");function Kp({composeNode:t,composeEmptyNode:e},n,i,r,s){let o=i.start.source==="{",a=o?"flow map":"flow sequence",c=s?.nodeClass??(o?gc.YAMLMap:Fp.YAMLSeq),l=new c(n.schema);l.flow=!0;let u=n.atRoot;u&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=i.offset+i.start.source.length;for(let m=0;m<i.items.length;++m){let y=i.items[m],{start:g,key:b,sep:S,value:C}=y,E=wc.resolveProps(g,{flow:a,indicator:"explicit-key-ind",next:b??S?.[0],offset:f,onError:r,parentIndent:i.indent,startOnNewline:!1});if(!E.found){if(!E.anchor&&!E.tag&&!S&&!C){m===0&&E.comma?r(E.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):m<i.items.length-1&&r(E.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),E.comment&&(l.comment?l.comment+=`
`+E.comment:l.comment=E.comment),f=E.end;continue}!o&&n.options.strict&&Wp.containsNewline(b)&&r(b,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(m===0)E.comma&&r(E.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(E.comma||r(E.start,"MISSING_CHAR",`Missing , between ${a} items`),E.comment){let x="";e:for(let k of g)switch(k.type){case"comma":case"space":break;case"comment":x=k.source.substring(1);break e;default:break e}if(x){let k=l.items[l.items.length-1];Lp.isPair(k)&&(k=k.value??k.key),k.comment?k.comment+=`
`+x:k.comment=x,E.comment=E.comment.substring(x.length+1)}}if(!o&&!S&&!E.found){let x=C?t(n,C,E,r):e(n,E.end,S,null,E,r);l.items.push(x),f=x.range[2],ds(C)&&r(x.range,"BLOCK_IN_FLOW",fs)}else{n.atKey=!0;let x=E.end,k=b?t(n,b,E,r):e(n,x,g,null,E,r);ds(b)&&r(k.range,"BLOCK_IN_FLOW",fs),n.atKey=!1;let A=wc.resolveProps(S??[],{flow:a,indicator:"map-value-ind",next:C,offset:k.range[2],onError:r,parentIndent:i.indent,startOnNewline:!1});if(A.found){if(!o&&!E.found&&n.options.strict){if(S)for(let R of S){if(R===A.found)break;if(R.type==="newline"){r(R,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}E.start<A.found.offset-1024&&r(A.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else C&&("source"in C&&C.source?.[0]===":"?r(C,"MISSING_CHAR",`Missing space after : in ${a}`):r(A.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let oe=C?t(n,C,A,r):A.found?e(n,A.end,S,null,A,r):null;oe?ds(C)&&r(oe.range,"BLOCK_IN_FLOW",fs):A.comment&&(k.comment?k.comment+=`
`+A.comment:k.comment=A.comment);let J=new Dp.Pair(k,oe);if(n.options.keepSourceTokens&&(J.srcToken=y),o){let R=l;Bp.mapIncludes(n,R.items,k)&&r(x,"DUPLICATE_KEY","Map keys must be unique"),R.items.push(J)}else{let R=new gc.YAMLMap(n.schema);R.flow=!0,R.items.push(J);let St=(oe??k).range;R.range=[k.range[0],St[1],St[2]],l.items.push(R)}f=oe?oe.range[2]:A.end}}let d=o?"}":"]",[h,...w]=i.end,p=f;if(h?.source===d)p=h.offset+h.source.length;else{let m=a[0].toUpperCase()+a.substring(1),y=u?`${m} must end with a ${d}`:`${m} in block collection must be sufficiently indented and end with a ${d}`;r(f,u?"MISSING_CHAR":"BAD_INDENT",y),h&&h.source.length!==1&&w.unshift(h)}if(w.length>0){let m=Mp.resolveEnd(w,p,n.options.strict,r);m.comment&&(l.comment?l.comment+=`
`+m.comment:l.comment=m.comment),l.range=[i.offset,p,m.offset]}else l.range=[i.offset,p,p];return l}yc.resolveFlowCollection=Kp});var bc=v(kc=>{"use strict";var Yp=P(),Jp=j(),Up=Pe(),Hp=_e(),Vp=dc(),Gp=mc(),zp=vc();function ps(t,e,n,i,r,s){let o=n.type==="block-map"?Vp.resolveBlockMap(t,e,n,i,s):n.type==="block-seq"?Gp.resolveBlockSeq(t,e,n,i,s):zp.resolveFlowCollection(t,e,n,i,s),a=o.constructor;return r==="!"||r===a.tagName?(o.tag=a.tagName,o):(r&&(o.tag=r),o)}function Qp(t,e,n,i,r){let s=i.tag,o=s?e.directives.tagName(s.source,d=>r(s,"TAG_RESOLVE_FAILED",d)):null;if(n.type==="block-seq"){let{anchor:d,newlineAfterProp:h}=i,w=d&&s?d.offset>s.offset?d:s:d??s;w&&(!h||h.offset<w.offset)&&r(w,"MISSING_CHAR","Missing newline after block sequence props")}let a=n.type==="block-map"?"map":n.type==="block-seq"?"seq":n.start.source==="{"?"map":"seq";if(!s||!o||o==="!"||o===Up.YAMLMap.tagName&&a==="map"||o===Hp.YAMLSeq.tagName&&a==="seq")return ps(t,e,n,r,o);let c=e.schema.tags.find(d=>d.tag===o&&d.collection===a);if(!c){let d=e.schema.knownTags[o];if(d?.collection===a)e.schema.tags.push(Object.assign({},d,{default:!1})),c=d;else return d?r(s,"BAD_COLLECTION_TYPE",`${d.tag} used for ${a} collection, but expects ${d.collection??"scalar"}`,!0):r(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),ps(t,e,n,r,o)}let l=ps(t,e,n,r,o,c),u=c.resolve?.(l,d=>r(s,"TAG_RESOLVE_FAILED",d),e.options)??l,f=Yp.isNode(u)?u:new Jp.Scalar(u);return f.range=l.range,f.tag=o,c?.format&&(f.format=c.format),f}kc.composeCollection=Qp});var hs=v(Sc=>{"use strict";var ms=j();function Xp(t,e,n){let i=e.offset,r=Zp(e,t.options.strict,n);if(!r)return{value:"",type:null,comment:"",range:[i,i,i]};let s=r.mode===">"?ms.Scalar.BLOCK_FOLDED:ms.Scalar.BLOCK_LITERAL,o=e.source?em(e.source):[],a=o.length;for(let p=o.length-1;p>=0;--p){let m=o[p][1];if(m===""||m==="\r")a=p;else break}if(a===0){let p=r.chomp==="+"&&o.length>0?`
`.repeat(Math.max(1,o.length-1)):"",m=i+r.length;return e.source&&(m+=e.source.length),{value:p,type:s,comment:r.comment,range:[i,m,m]}}let c=e.indent+r.indent,l=e.offset+r.length,u=0;for(let p=0;p<a;++p){let[m,y]=o[p];if(y===""||y==="\r")r.indent===0&&m.length>c&&(c=m.length);else{m.length<c&&n(l+m.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),r.indent===0&&(c=m.length),u=p,c===0&&!t.atRoot&&n(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=m.length+y.length+1}for(let p=o.length-1;p>=a;--p)o[p][0].length>c&&(a=p+1);let f="",d="",h=!1;for(let p=0;p<u;++p)f+=o[p][0].slice(c)+`
`;for(let p=u;p<a;++p){let[m,y]=o[p];l+=m.length+y.length+1;let g=y[y.length-1]==="\r";if(g&&(y=y.slice(0,-1)),y&&m.length<c){let S=`Block scalar lines must not be less indented than their ${r.indent?"explicit indentation indicator":"first line"}`;n(l-y.length-(g?2:1),"BAD_INDENT",S),m=""}s===ms.Scalar.BLOCK_LITERAL?(f+=d+m.slice(c)+y,d=`
`):m.length>c||y[0]===" "?(d===" "?d=`
`:!h&&d===`
`&&(d=`
`),f+=d+m.slice(c)+y,d=`
`,h=!0):y===""?d===`
`?f+=`
`:d=`
`:(f+=d+y,d=" ",h=!1)}switch(r.chomp){case"-":break;case"+":for(let p=a;p<o.length;++p)f+=`
`+o[p][0].slice(c);f[f.length-1]!==`
`&&(f+=`
`);break;default:f+=`
`}let w=i+r.length+e.source.length;return{value:f,type:s,comment:r.comment,range:[i,w,w]}}function Zp({offset:t,props:e},n,i){if(e[0].type!=="block-scalar-header")return i(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:r}=e[0],s=r[0],o=0,a="",c=-1;for(let d=1;d<r.length;++d){let h=r[d];if(!a&&(h==="-"||h==="+"))a=h;else{let w=Number(h);!o&&w?o=w:c===-1&&(c=t+d)}}c!==-1&&i(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${r}`);let l=!1,u="",f=r.length;for(let d=1;d<e.length;++d){let h=e[d];switch(h.type){case"space":l=!0;case"newline":f+=h.source.length;break;case"comment":n&&!l&&i(h,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),f+=h.source.length,u=h.source.substring(1);break;case"error":i(h,"UNEXPECTED_TOKEN",h.message),f+=h.source.length;break;default:{let w=`Unexpected token in block scalar header: ${h.type}`;i(h,"UNEXPECTED_TOKEN",w);let p=h.source;p&&typeof p=="string"&&(f+=p.length)}}}return{mode:s,indent:o,chomp:a,comment:u,length:f}}function em(t){let e=t.split(/\n( *)/),n=e[0],i=n.match(/^( *)/),s=[i?.[1]?[i[1],n.slice(i[1].length)]:["",n]];for(let o=1;o<e.length;o+=2)s.push([e[o],e[o+1]]);return s}Sc.resolveBlockScalar=Xp});var ws=v(Ec=>{"use strict";var gs=j(),tm=ft();function nm(t,e,n){let{offset:i,type:r,source:s,end:o}=t,a,c,l=(d,h,w)=>n(i+d,h,w);switch(r){case"scalar":a=gs.Scalar.PLAIN,c=im(s,l);break;case"single-quoted-scalar":a=gs.Scalar.QUOTE_SINGLE,c=rm(s,l);break;case"double-quoted-scalar":a=gs.Scalar.QUOTE_DOUBLE,c=sm(s,l);break;default:return n(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[i,i+s.length,i+s.length]}}let u=i+s.length,f=tm.resolveEnd(o,u,e,n);return{value:c,type:a,comment:f.comment,range:[i,u,f.offset]}}function im(t,e){let n="";switch(t[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${t[0]}`;break}case"@":case"`":{n=`reserved character ${t[0]}`;break}}return n&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),Cc(t)}function rm(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),Cc(t.slice(1,-1)).replace(/''/g,"'")}function Cc(t){let e,n;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
`,"sy"),n=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let i=e.exec(t);if(!i)return t;let r=i[1],s=" ",o=e.lastIndex;for(n.lastIndex=o;i=n.exec(t);)i[1]===""?s===`
`?r+=s:s=`
`:(r+=s+i[1],s=" "),o=n.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=o,i=a.exec(t),r+s+(i?.[1]??"")}function sm(t,e){let n="";for(let i=1;i<t.length-1;++i){let r=t[i];if(!(r==="\r"&&t[i+1]===`
`))if(r===`
`){let{fold:s,offset:o}=om(t,i);n+=s,i=o}else if(r==="\\"){let s=t[++i],o=am[s];if(o)n+=o;else if(s===`
`)for(s=t[i+1];s===" "||s===" ";)s=t[++i+1];else if(s==="\r"&&t[i+1]===`
`)for(s=t[++i+1];s===" "||s===" ";)s=t[++i+1];else if(s==="x"||s==="u"||s==="U"){let a=s==="x"?2:s==="u"?4:8;n+=cm(t,i+1,a,e),i+=a}else{let a=t.substr(i-1,2);e(i-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),n+=a}}else if(r===" "||r===" "){let s=i,o=t[i+1];for(;o===" "||o===" ";)o=t[++i+1];o!==`
`&&!(o==="\r"&&t[i+2]===`
`)&&(n+=i>s?t.slice(s,i+1):r)}else n+=r}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),n}function om(t,e){let n="",i=t[e+1];for(;(i===" "||i===" "||i===`
`||i==="\r")&&!(i==="\r"&&t[e+2]!==`
`);)i===`
`&&(n+=`
`),e+=1,i=t[e+1];return n||(n=" "),{fold:n,offset:e}}var am={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
`,r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function cm(t,e,n,i){let r=t.substr(e,n),o=r.length===n&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;try{return String.fromCodePoint(o)}catch{let a=t.substr(e-2,n+2);return i(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}Ec.resolveFlowScalar=nm});var _c=v(Pc=>{"use strict";var Ve=P(),xc=j(),lm=hs(),um=ws();function fm(t,e,n,i){let{value:r,type:s,comment:o,range:a}=e.type==="block-scalar"?lm.resolveBlockScalar(t,e,i):um.resolveFlowScalar(e,t.options.strict,i),c=n?t.directives.tagName(n.source,f=>i(n,"TAG_RESOLVE_FAILED",f)):null,l;t.options.stringKeys&&t.atKey?l=t.schema[Ve.SCALAR]:c?l=dm(t.schema,r,c,n,i):e.type==="scalar"?l=pm(t,r,e,i):l=t.schema[Ve.SCALAR];let u;try{let f=l.resolve(r,d=>i(n??e,"TAG_RESOLVE_FAILED",d),t.options);u=Ve.isScalar(f)?f:new xc.Scalar(f)}catch(f){let d=f instanceof Error?f.message:String(f);i(n??e,"TAG_RESOLVE_FAILED",d),u=new xc.Scalar(r)}return u.range=a,u.source=r,s&&(u.type=s),c&&(u.tag=c),l.format&&(u.format=l.format),o&&(u.comment=o),u}function dm(t,e,n,i,r){if(n==="!")return t[Ve.SCALAR];let s=[];for(let a of t.tags)if(!a.collection&&a.tag===n)if(a.default&&a.test)s.push(a);else return a;for(let a of s)if(a.test?.test(e))return a;let o=t.knownTags[n];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(r(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),t[Ve.SCALAR])}function pm({atKey:t,directives:e,schema:n},i,r,s){let o=n.tags.find(a=>(a.default===!0||t&&a.default==="key")&&a.test?.test(i))||n[Ve.SCALAR];if(n.compat){let a=n.compat.find(c=>c.default&&c.test?.test(i))??n[Ve.SCALAR];if(o.tag!==a.tag){let c=e.tagString(o.tag),l=e.tagString(a.tag),u=`Value may be parsed as either ${c} or ${l}`;s(r,"TAG_RESOLVE_FAILED",u,!0)}}return o}Pc.composeScalar=fm});var Oc=v(Rc=>{"use strict";function mm(t,e,n){if(e){n??(n=e.length);for(let i=n-1;i>=0;--i){let r=e[i];switch(r.type){case"space":case"comment":case"newline":t-=r.source.length;continue}for(r=e[++i];r?.type==="space";)t+=r.source.length,r=e[++i];break}}return t}Rc.emptyScalarPosition=mm});var jc=v(vs=>{"use strict";var hm=Rt(),gm=P(),wm=bc(),Nc=_c(),ym=ft(),vm=Oc(),km={composeNode:Ac,composeEmptyNode:ys};function Ac(t,e,n,i){let r=t.atKey,{spaceBefore:s,comment:o,anchor:a,tag:c}=n,l,u=!0;switch(e.type){case"alias":l=bm(t,e,i),(a||c)&&i(e,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":l=Nc.composeScalar(t,e,c,i),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=wm.composeCollection(km,t,e,n,i),a&&(l.anchor=a.source.substring(1))}catch(f){let d=f instanceof Error?f.message:String(f);i(e,"RESOURCE_EXHAUSTION",d)}break;default:{let f=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;i(e,"UNEXPECTED_TOKEN",f),u=!1}}return l??(l=ys(t,e.offset,void 0,null,n,i)),a&&l.anchor===""&&i(a,"BAD_ALIAS","Anchor cannot be an empty string"),r&&t.options.stringKeys&&(!gm.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&i(c??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(l.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?l.comment=o:l.commentBefore=o),t.options.keepSourceTokens&&u&&(l.srcToken=e),l}function ys(t,e,n,i,{spaceBefore:r,comment:s,anchor:o,tag:a,end:c},l){let u={type:"scalar",offset:vm.emptyScalarPosition(e,n,i),indent:-1,source:""},f=Nc.composeScalar(t,u,a,l);return o&&(f.anchor=o.source.substring(1),f.anchor===""&&l(o,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(f.spaceBefore=!0),s&&(f.comment=s,f.range[2]=c),f}function bm({options:t},{offset:e,source:n,end:i},r){let s=new hm.Alias(n.substring(1));s.source===""&&r(e,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&r(e+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+n.length,a=ym.resolveEnd(i,o,t.strict,r);return s.range=[e,o,a.offset],a.comment&&(s.comment=a.comment),s}vs.composeEmptyNode=ys;vs.composeNode=Ac});var qc=v(Tc=>{"use strict";var Sm=Yt(),Ic=jc(),Cm=ft(),Em=Vt();function xm(t,e,{offset:n,start:i,value:r,end:s},o){let a=Object.assign({_directives:e},t),c=new Sm.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},u=Em.resolveProps(i,{indicator:"doc-start",next:r??s?.[0],offset:n,onError:o,parentIndent:0,startOnNewline:!0});u.found&&(c.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!u.hasNewline&&o(u.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=r?Ic.composeNode(l,r,u,o):Ic.composeEmptyNode(l,u.end,i,null,u,o);let f=c.contents.range[2],d=Cm.resolveEnd(s,f,!1,o);return d.comment&&(c.comment=d.comment),c.range=[n,f,d.offset],c}Tc.composeDoc=xm});var bs=v(Dc=>{"use strict";var Pm=vn("process"),_m=or(),Rm=Yt(),Gt=Ht(),$c=P(),Om=qc(),Nm=ft();function zt(t){if(typeof t=="number")return[t,t+1];if(Array.isArray(t))return t.length===2?t:[t[0],t[1]];let{offset:e,source:n}=t;return[e,e+(typeof n=="string"?n.length:1)]}function Lc(t){let e="",n=!1,i=!1;for(let r=0;r<t.length;++r){let s=t[r];switch(s[0]){case"#":e+=(e===""?"":i?`
`:`
`)+(s.substring(1)||" "),n=!0,i=!1;break;case"%":t[r+1]?.[0]!=="#"&&(r+=1),n=!1;break;default:n||(i=!0),n=!1}}return{comment:e,afterEmptyLine:i}}var ks=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,i,r,s)=>{let o=zt(n);s?this.warnings.push(new Gt.YAMLWarning(o,i,r)):this.errors.push(new Gt.YAMLParseError(o,i,r))},this.directives=new _m.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,n){let{comment:i,afterEmptyLine:r}=Lc(this.prelude);if(i){let s=e.contents;if(n)e.comment=e.comment?`${e.comment}
${i}`:i;else if(r||e.directives.docStart||!s)e.commentBefore=i;else if($c.isCollection(s)&&!s.flow&&s.items.length>0){let o=s.items[0];$c.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${i}
${a}`:i}else{let o=s.commentBefore;s.commentBefore=o?`${i}
${o}`:i}}if(n){for(let s=0;s<this.errors.length;++s)e.errors.push(this.errors[s]);for(let s=0;s<this.warnings.length;++s)e.warnings.push(this.warnings[s])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Lc(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,n=!1,i=-1){for(let r of e)yield*this.next(r);yield*this.end(n,i)}*next(e){switch(Pm.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(n,i,r)=>{let s=zt(e);s[0]+=n,this.onError(s,"BAD_DIRECTIVE",i,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let n=Om.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let n=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,i=new Gt.YAMLParseError(zt(e),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(i):this.doc.errors.push(i);break}case"doc-end":{if(!this.doc){let i="Unexpected doc-end without preceding document";this.errors.push(new Gt.YAMLParseError(zt(e),"UNEXPECTED_TOKEN",i));break}this.doc.directives.docEnd=!0;let n=Nm.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){let i=this.doc.comment;this.doc.comment=i?`${i}
${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new Gt.YAMLParseError(zt(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let i=Object.assign({_directives:this.directives},this.options),r=new Rm.Document(void 0,i);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,n,n],this.decorate(r,!1),yield r}}};Dc.Composer=ks});var Wc=v(ui=>{"use strict";var Am=hs(),jm=ws(),Im=Ht(),Fc=It();function Tm(t,e=!0,n){if(t){let i=(r,s,o)=>{let a=typeof r=="number"?r:Array.isArray(r)?r[0]:r.offset;if(n)n(a,s,o);else throw new Im.YAMLParseError([a,a+1],s,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return jm.resolveFlowScalar(t,e,i);case"block-scalar":return Am.resolveBlockScalar({options:{strict:e}},t,i)}}return null}function qm(t,e){let{implicitKey:n=!1,indent:i,inFlow:r=!1,offset:s=-1,type:o="PLAIN"}=e,a=Fc.stringifyString({type:o,value:t},{implicitKey:n,indent:i>0?" ".repeat(i):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}}),c=e.end??[{type:"newline",offset:-1,indent:i,source:`
`}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
`),u=a.substring(0,l),f=a.substring(l+1)+`
`,d=[{type:"block-scalar-header",offset:s,indent:i,source:u}];return Mc(d,c)||d.push({type:"newline",offset:-1,indent:i,source:`
`}),{type:"block-scalar",offset:s,indent:i,props:d,source:f}}case'"':return{type:"double-quoted-scalar",offset:s,indent:i,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:s,indent:i,source:a,end:c};default:return{type:"scalar",offset:s,indent:i,source:a,end:c}}}function $m(t,e,n={}){let{afterKey:i=!1,implicitKey:r=!1,inFlow:s=!1,type:o}=n,a="indent"in t?t.indent:null;if(i&&typeof a=="number"&&(a+=2),!o)switch(t.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let l=t.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=l.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let c=Fc.stringifyString({type:o,value:e},{implicitKey:r||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":Lm(t,c);break;case'"':Ss(t,c,"double-quoted-scalar");break;case"'":Ss(t,c,"single-quoted-scalar");break;default:Ss(t,c,"scalar")}}function Lm(t,e){let n=e.indexOf(`
`),i=e.substring(0,n),r=e.substring(n+1)+`
`;if(t.type==="block-scalar"){let s=t.props[0];if(s.type!=="block-scalar-header")throw new Error("Invalid block scalar header");s.source=i,t.source=r}else{let{offset:s}=t,o="indent"in t?t.indent:-1,a=[{type:"block-scalar-header",offset:s,indent:o,source:i}];Mc(a,"end"in t?t.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
`});for(let c of Object.keys(t))c!=="type"&&c!=="offset"&&delete t[c];Object.assign(t,{type:"block-scalar",indent:o,props:a,source:r})}}function Mc(t,e){if(e)for(let n of e)switch(n.type){case"space":case"comment":t.push(n);break;case"newline":return t.push(n),!0}return!1}function Ss(t,e,n){switch(t.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":t.type=n,t.source=e;break;case"block-scalar":{let i=t.props.slice(1),r=e.length;t.props[0].type==="block-scalar-header"&&(r-=t.props[0].source.length);for(let s of i)s.offset+=r;delete t.props,Object.assign(t,{type:n,source:e,end:i});break}case"block-map":case"block-seq":{let r={type:"newline",offset:t.offset+e.length,indent:t.indent,source:`
`};delete t.items,Object.assign(t,{type:n,source:e,end:[r]});break}default:{let i="indent"in t?t.indent:-1,r="end"in t&&Array.isArray(t.end)?t.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.keys(t))s!=="type"&&s!=="offset"&&delete t[s];Object.assign(t,{type:n,indent:i,source:e,end:r})}}}ui.createScalarToken=qm;ui.resolveAsScalar=Tm;ui.setScalarValue=$m});var Kc=v(Bc=>{"use strict";var Dm=t=>"type"in t?di(t):fi(t);function di(t){switch(t.type){case"block-scalar":{let e="";for(let n of t.props)e+=di(n);return e+t.source}case"block-map":case"block-seq":{let e="";for(let n of t.items)e+=fi(n);return e}case"flow-collection":{let e=t.start.source;for(let n of t.items)e+=fi(n);for(let n of t.end)e+=n.source;return e}case"document":{let e=fi(t);if(t.end)for(let n of t.end)e+=n.source;return e}default:{let e=t.source;if("end"in t&&t.end)for(let n of t.end)e+=n.source;return e}}}function fi({start:t,key:e,sep:n,value:i}){let r="";for(let s of t)r+=s.source;if(e&&(r+=di(e)),n)for(let s of n)r+=s.source;return i&&(r+=di(i)),r}Bc.stringify=Dm});var Hc=v(Uc=>{"use strict";var Cs=Symbol("break visit"),Fm=Symbol("skip children"),Yc=Symbol("remove item");function Ge(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),Jc(Object.freeze([]),t,e)}Ge.BREAK=Cs;Ge.SKIP=Fm;Ge.REMOVE=Yc;Ge.itemAtPath=(t,e)=>{let n=t;for(let[i,r]of e){let s=n?.[i];if(s&&"items"in s)n=s.items[r];else return}return n};Ge.parentCollection=(t,e)=>{let n=Ge.itemAtPath(t,e.slice(0,-1)),i=e[e.length-1][0],r=n?.[i];if(r&&"items"in r)return r;throw new Error("Parent collection not found")};function Jc(t,e,n){let i=n(e,t);if(typeof i=="symbol")return i;for(let r of["key","value"]){let s=e[r];if(s&&"items"in s){for(let o=0;o<s.items.length;++o){let a=Jc(Object.freeze(t.concat([[r,o]])),s.items[o],n);if(typeof a=="number")o=a-1;else{if(a===Cs)return Cs;a===Yc&&(s.items.splice(o,1),o-=1)}}typeof i=="function"&&r==="key"&&(i=i(e,t))}}return typeof i=="function"?i(e,t):i}Uc.visit=Ge});var pi=v(H=>{"use strict";var Es=Wc(),Mm=Kc(),Wm=Hc(),xs="\uFEFF",Ps="",_s="",Rs="",Bm=t=>!!t&&"items"in t,Km=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function Ym(t){switch(t){case xs:return"<BOM>";case Ps:return"<DOC>";case _s:return"<FLOW_END>";case Rs:return"<SCALAR>";default:return JSON.stringify(t)}}function Jm(t){switch(t){case xs:return"byte-order-mark";case Ps:return"doc-mode";case _s:return"flow-error-end";case Rs:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
`:case`\r
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(t[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}H.createScalarToken=Es.createScalarToken;H.resolveAsScalar=Es.resolveAsScalar;H.setScalarValue=Es.setScalarValue;H.stringify=Mm.stringify;H.visit=Wm.visit;H.BOM=xs;H.DOCUMENT=Ps;H.FLOW_END=_s;H.SCALAR=Rs;H.isCollection=Bm;H.isScalar=Km;H.prettyToken=Ym;H.tokenType=Jm});var As=v(Gc=>{"use strict";var Qt=pi();function ee(t){switch(t){case void 0:case" ":case`
`:case"\r":case" ":return!0;default:return!1}}var Vc=new Set("0123456789ABCDEFabcdef"),Um=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),mi=new Set(",[]{}"),Hm=new Set(` ,[]{}
\r `),Os=t=>!t||Hm.has(t),Ns=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,n=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!n;let i=this.next??"stream";for(;i&&(n||this.hasChars(1));)i=yield*this.parseNext(i)}atLineEnd(){let e=this.pos,n=this.buffer[e];for(;n===" "||n===" ";)n=this.buffer[++e];return!n||n==="#"||n===`
`?!0:n==="\r"?this.buffer[e+1]===`
`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let n=this.buffer[e];if(this.indentNext>0){let i=0;for(;n===" ";)n=this.buffer[++i+e];if(n==="\r"){let r=this.buffer[i+e+1];if(r===`
`||!r&&!this.atEnd)return e+i+1}return n===`
`||i>=this.indentNext||!n&&!this.atEnd?e+i:-1}if(n==="-"||n==="."){let i=this.buffer.substr(e,3);if((i==="---"||i==="...")&&ee(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
`,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===Qt.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let n=e.length,i=e.indexOf("#");for(;i!==-1;){let s=e[i-1];if(s===" "||s===" "){n=i-1;break}else i=e.indexOf("#",i+1)}for(;;){let s=e[n-1];if(s===" "||s===" ")n-=1;else break}let r=(yield*this.pushCount(n))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-r),this.pushNewline(),"stream"}if(this.atLineEnd()){let n=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-n),yield*this.pushNewline(),"stream"}return yield Qt.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let n=this.peek(3);if((n==="---"||n==="...")&&ee(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,n==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!ee(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&ee(n)){let i=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=i,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(e[n]){case"#":yield*this.pushCount(e.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Os),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,n,i=-1;do e=yield*this.pushNewline(),e>0?(n=yield*this.pushSpaces(!1),this.indentValue=i=n):n=0,n+=yield*this.pushSpaces(!0);while(e+n>0);let r=this.getLine();if(r===null)return this.setNext("flow");if((i!==-1&&i<this.indentNext&&r[0]!=="#"||i===0&&(r.startsWith("---")||r.startsWith("..."))&&ee(r[3]))&&!(i===this.indentNext-1&&this.flowLevel===1&&(r[0]==="]"||r[0]==="}")))return this.flowLevel=0,yield Qt.FLOW_END,yield*this.parseLineStart();let s=0;for(;r[s]===",";)s+=yield*this.pushCount(1),s+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(s+=yield*this.pushIndicators(),r[s]){case void 0:return"flow";case"#":return yield*this.pushCount(r.length-s),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Os),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||ee(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),n=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;n!==-1&&this.buffer[n+1]==="'";)n=this.buffer.indexOf("'",n+2);else for(;n!==-1;){let s=0;for(;this.buffer[n-1-s]==="\\";)s+=1;if(s%2===0)break;n=this.buffer.indexOf('"',n+1)}let i=this.buffer.substring(0,n),r=i.indexOf(`
`,this.pos);if(r!==-1){for(;r!==-1;){let s=this.continueScalar(r+1);if(s===-1)break;r=i.indexOf(`
`,s)}r!==-1&&(n=r-(i[r-1]==="\r"?2:1))}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pushToIndex(n+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let n=this.buffer[++e];if(n==="+")this.blockScalarKeep=!0;else if(n>"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil(n=>ee(n)||n==="#")}*parseBlockScalar(){let e=this.pos-1,n=0,i;e:for(let s=this.pos;i=this.buffer[s];++s)switch(i){case" ":n+=1;break;case`
`:e=s,n=0;break;case"\r":{let o=this.buffer[s+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
`)break}default:break e}if(!i&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=n:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let s=this.continueScalar(e+1);if(s===-1)break;e=this.buffer.indexOf(`
`,s)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let r=e+1;for(i=this.buffer[r];i===" ";)i=this.buffer[++r];if(i===" "){for(;i===" "||i===" "||i==="\r"||i===`
`;)i=this.buffer[++r];e=r-1}else if(!this.blockScalarKeep)do{let s=e-1,o=this.buffer[s];o==="\r"&&(o=this.buffer[--s]);let a=s;for(;o===" ";)o=this.buffer[--s];if(o===`
`&&s>=this.pos&&s+1+n>a)e=s;else break}while(!0);return yield Qt.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,n=this.pos-1,i=this.pos-1,r;for(;r=this.buffer[++i];)if(r===":"){let s=this.buffer[i+1];if(ee(s)||e&&mi.has(s))break;n=i}else if(ee(r)){let s=this.buffer[i+1];if(r==="\r"&&(s===`
`?(i+=1,r=`
`,s=this.buffer[i+1]):n=i),s==="#"||e&&mi.has(s))break;if(r===`
`){let o=this.continueScalar(i+1);if(o===-1)break;i=Math.max(i,o-2)}}else{if(e&&mi.has(r))break;n=i}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield Qt.SCALAR,yield*this.pushToIndex(n+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,n){let i=this.buffer.slice(this.pos,e);return i?(yield i,this.pos+=i.length,i.length):(n&&(yield""),0)}*pushIndicators(){let e=0;e:for(;;){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue e;case"&":e+=yield*this.pushUntil(Os),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let n=this.flowLevel>0,i=this.charAt(1);if(ee(i)||n&&mi.has(i)){n?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue e}}}break e}return e}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,n=this.buffer[e];for(;!ee(n)&&n!==">";)n=this.buffer[++e];return yield*this.pushToIndex(n===">"?e+1:e,!1)}else{let e=this.pos+1,n=this.buffer[e];for(;n;)if(Um.has(n))n=this.buffer[++e];else if(n==="%"&&Vc.has(this.buffer[e+1])&&Vc.has(this.buffer[e+2]))n=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
`?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
`?yield*this.pushCount(2):0}*pushSpaces(e){let n=this.pos-1,i;do i=this.buffer[++n];while(i===" "||e&&i===" ");let r=n-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=n),r}*pushUntil(e){let n=this.pos,i=this.buffer[n];for(;!e(i);)i=this.buffer[++n];return yield*this.pushToIndex(n,!1)}};Gc.Lexer=Ns});var Is=v(zc=>{"use strict";var js=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let n=0,i=this.lineStarts.length;for(;n<i;){let s=n+i>>1;this.lineStarts[s]<e?n=s+1:i=s}if(this.lineStarts[n]===e)return{line:n+1,col:1};if(n===0)return{line:0,col:e};let r=this.lineStarts[n-1];return{line:n,col:e-r+1}}}};zc.LineCounter=js});var qs=v(tl=>{"use strict";var Vm=vn("process"),Qc=pi(),Gm=As();function Re(t,e){for(let n=0;n<t.length;++n)if(t[n].type===e)return!0;return!1}function Xc(t){for(let e=0;e<t.length;++e)switch(t[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function el(t){switch(t?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function hi(t){switch(t.type){case"document":return t.start;case"block-map":{let e=t.items[t.items.length-1];return e.sep??e.start}case"block-seq":return t.items[t.items.length-1].start;default:return[]}}function dt(t){if(t.length===0)return[];let e=t.length;e:for(;--e>=0;)switch(t[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;t[++e]?.type==="space";);return t.splice(e,t.length)}function gi(t,e){if(e.length<1e5)Array.prototype.push.apply(t,e);else for(let n=0;n<e.length;++n)t.push(e[n])}function Zc(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!Re(e.start,"explicit-key-ind")&&!Re(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,el(e.value)?e.value.end?gi(e.value.end,e.sep):e.value.end=e.sep:gi(e.start,e.sep),delete e.sep)}var Ts=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new Gm.Lexer,this.onNewLine=e}*parse(e,n=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let i of this.lexer.lex(e,n))yield*this.next(i);n||(yield*this.end())}*next(e){if(this.source=e,Vm.env.LOG_TOKENS&&console.log("|",Qc.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let n=Qc.tokenType(e);if(n)if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let i=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:i,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let n=e??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{let i=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in i?i.indent:0:n.type==="flow-collection"&&i.type==="document"&&(n.indent=0),n.type==="flow-collection"&&Zc(n),i.type){case"document":i.value=n;break;case"block-scalar":i.props.push(n);break;case"block-map":{let r=i.items[i.items.length-1];if(r.value){i.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=n;else{Object.assign(r,{key:n,sep:[]}),this.onKeyLine=!r.explicitKey;return}break}case"block-seq":{let r=i.items[i.items.length-1];r.value?i.items.push({start:[],value:n}):r.value=n;break}case"flow-collection":{let r=i.items[i.items.length-1];!r||r.value?i.items.push({start:[],key:n,sep:[]}):r.sep?r.value=n:Object.assign(r,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((i.type==="document"||i.type==="block-map"||i.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){let r=n.items[n.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&Xc(r.start)===-1&&(n.indent===0||r.start.every(s=>s.type!=="comment"||s.indent<n.indent))&&(i.type==="document"?i.end=r.start:i.items.push({start:r.start}),n.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{Xc(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let n=hi(this.peek(2)),i=dt(n),r;e.end?(r=e.end,r.push(this.sourceToken),delete e.end):r=[this.sourceToken];let s={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=s}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let n=this.source.indexOf(`
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){let i="end"in n.value?n.value.end:void 0;(Array.isArray(i)?i[i.length-1]:void 0)?.type==="comment"?i?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,e.indent)){let r=e.items[e.items.length-2]?.value?.end;if(Array.isArray(r)){gi(r,n.start),r.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let i=!this.onKeyLine&&this.indent===e.indent,r=i&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind",s=[];if(r&&n.sep&&!n.value){let o=[];for(let a=0;a<n.sep.length;++a){let c=n.sep[a];switch(c.type){case"newline":o.push(a);break;case"space":break;case"comment":c.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(s=n.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":r||n.value?(s.push(this.sourceToken),e.items.push({start:s}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):r||n.value?(s.push(this.sourceToken),e.items.push({start:s,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Re(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]});else if(el(n.key)&&!Re(n.sep,"newline")){let o=dt(n.start),a=n.key,c=n.sep;c.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:c}]})}else s.length>0?n.sep=n.sep.concat(s,this.sourceToken):n.sep.push(this.sourceToken);else if(Re(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{let o=dt(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||r?e.items.push({start:s,key:null,sep:[this.sourceToken]}):Re(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);r||n.value?(e.items.push({start:s,key:o,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(o):(Object.assign(n,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!n.explicitKey&&n.sep&&!Re(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else i&&e.items.push({start:s});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let n=e.items[e.items.length-1];switch(this.type){case"newline":if(n.value){let i="end"in n.value?n.value.end:void 0;(Array.isArray(i)?i[i.length-1]:void 0)?.type==="comment"?i?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,e.indent)){let r=e.items[e.items.length-2]?.value?.end;if(Array.isArray(r)){gi(r,n.start),r.push(this.sourceToken),e.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=e.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;n.value||Re(n.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>e.indent){let i=this.startBlockValue(e);if(i){this.stack.push(i);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let n=e.items[e.items.length-1];if(this.type==="flow-error-end"){let i;do yield*this.pop(),i=this.peek(1);while(i?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?e.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?e.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let r=this.flowScalar(this.type);!n||n.value?e.items.push({start:[],key:r,sep:[]}):n.sep?this.stack.push(r):Object.assign(n,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let i=this.startBlockValue(e);i?this.stack.push(i):(yield*this.pop(),yield*this.step())}else{let i=this.peek(2);if(i.type==="block-map"&&(this.type==="map-value-ind"&&i.indent===e.indent||this.type==="newline"&&!i.items[i.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&i.type!=="flow-collection"){let r=hi(i),s=dt(r);Zc(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let n=this.source.indexOf(`
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
`,n)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let n=hi(e),i=dt(n);return i.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let n=hi(e),i=dt(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,n){return this.type!=="comment"||this.indent<=n?!1:e.every(i=>i.type==="newline"||i.type==="space")}*documentEnd(e){this.type!=="doc-mode"&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};tl.Parser=Ts});var ol=v(Zt=>{"use strict";var nl=bs(),zm=Yt(),Xt=Ht(),Qm=vr(),Xm=P(),Zm=Is(),il=qs();function rl(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Zm.LineCounter||null,prettyErrors:e}}function eh(t,e={}){let{lineCounter:n,prettyErrors:i}=rl(e),r=new il.Parser(n?.addNewLine),s=new nl.Composer(e),o=Array.from(s.compose(r.parse(t)));if(i&&n)for(let a of o)a.errors.forEach(Xt.prettifyError(t,n)),a.warnings.forEach(Xt.prettifyError(t,n));return o.length>0?o:Object.assign([],{empty:!0},s.streamInfo())}function sl(t,e={}){let{lineCounter:n,prettyErrors:i}=rl(e),r=new il.Parser(n?.addNewLine),s=new nl.Composer(e),o=null;for(let a of s.compose(r.parse(t),!0,t.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Xt.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return i&&n&&(o.errors.forEach(Xt.prettifyError(t,n)),o.warnings.forEach(Xt.prettifyError(t,n))),o}function th(t,e,n){let i;typeof e=="function"?i=e:n===void 0&&e&&typeof e=="object"&&(n=e);let r=sl(t,n);if(!r)return null;if(r.warnings.forEach(s=>Qm.warn(r.options.logLevel,s)),r.errors.length>0){if(r.options.logLevel!=="silent")throw r.errors[0];r.errors=[]}return r.toJS(Object.assign({reviver:i},n))}function nh(t,e,n){let i=null;if(typeof e=="function"||Array.isArray(e)?i=e:n===void 0&&e&&(n=e),typeof n=="string"&&(n=n.length),typeof n=="number"){let r=Math.round(n);n=r<1?void 0:r>8?{indent:8}:{indent:r}}if(t===void 0){let{keepUndefined:r}=n??e??{};if(!r)return}return Xm.isDocument(t)&&!i?t.toString(n):new zm.Document(t,i,n).toString(n)}Zt.parse=th;Zt.parseAllDocuments=eh;Zt.parseDocument=sl;Zt.stringify=nh});var pt=v(_=>{"use strict";var ih=bs(),rh=Yt(),sh=ts(),$s=Ht(),oh=Rt(),Oe=P(),ah=Ee(),ch=j(),lh=Pe(),uh=_e(),fh=pi(),dh=As(),ph=Is(),mh=qs(),wi=ol(),al=Et();_.Composer=ih.Composer;_.Document=rh.Document;_.Schema=sh.Schema;_.YAMLError=$s.YAMLError;_.YAMLParseError=$s.YAMLParseError;_.YAMLWarning=$s.YAMLWarning;_.Alias=oh.Alias;_.isAlias=Oe.isAlias;_.isCollection=Oe.isCollection;_.isDocument=Oe.isDocument;_.isMap=Oe.isMap;_.isNode=Oe.isNode;_.isPair=Oe.isPair;_.isScalar=Oe.isScalar;_.isSeq=Oe.isSeq;_.Pair=ah.Pair;_.Scalar=ch.Scalar;_.YAMLMap=lh.YAMLMap;_.YAMLSeq=uh.YAMLSeq;_.CST=fh;_.Lexer=dh.Lexer;_.LineCounter=ph.LineCounter;_.Parser=mh.Parser;_.parse=wi.parse;_.parseAllDocuments=wi.parseAllDocuments;_.parseDocument=wi.parseDocument;_.stringify=wi.stringify;_.visit=al.visit;_.visitAsync=al.visitAsync});import yi from"path";function vh(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let n=t.trim();if(n.length===0||yi.posix.isAbsolute(n)||yi.win32.isAbsolute(n)||/^(?:~|[\\/])/u.test(n))throw new Error(`${e} must be a project-relative path`);if(n===".")return[];let i=n.replaceAll("\\","/").split("/");if(i.some(r=>r===".."))throw new Error(`${e} must stay inside the project root`);if(i.some(r=>r===""||r==="."))throw new Error(`${e} must not contain empty or dot path segments`);return i}function vi(t){let e=vh(t,"native.artifact_root");return e.length===0?".":e.join("/")}function ll(t,e="docs"){let n=t??e;if(n!=="legacy"&&n!=="docs")throw new Error("classic.artifact_layout must be legacy or docs");return n}function Ne(t,e,n=!1){if(typeof t!="string")throw new Error(`${e} must be a string`);let i=t.trim().replaceAll("\\","/");if(i.length===0||yi.posix.isAbsolute(i)||yi.win32.isAbsolute(i)||/^(?:~|[\\/])/u.test(i))throw new Error(`${e} must be relative to its declared path base`);let r=i.split("/");if(r.some(s=>s===".."))throw new Error(`${e} must stay inside its declared path base`);if(r.some(s=>s===""||s==="."))throw new Error(`${e} must not contain empty or dot path segments`);if(!n&&/[*?]/u.test(i))throw new Error(`${e} cannot contain wildcards`);return r.join("/")}function tn(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must be a mapping`);return t}function ul(t,e,n){let i=t??e;if(i!=="en"&&i!=="zh-CN")throw new Error(`${n} must be en or zh-CN`);return i}function fl(t,e){if(typeof t!="string"||t.length===0||t.includes("\\")||t.includes("\0")||t.startsWith("/")||t.split("/").includes(".."))throw new Error(`${e} contains an unsafe pattern`);if(t.length>Ds)throw new Error(`${e} exceeds ${Ds} characters`);let n=0;for(let i=0;i<t.length;i+=1)t[i]==="?"?n+=1:t[i]==="*"&&(n+=1,t[i+1]==="*"&&(i+=1));if(n>Fs)throw new Error(`${e} contains more than ${Fs} wildcard tokens`);return t}function cl(t,e,n){if(t===void 0)return[...n];if(!Array.isArray(t))throw new Error(`${e} contains an unsafe pattern`);return[...new Set(t.map(i=>fl(i,e)))].sort((i,r)=>i.localeCompare(r,"en"))}function Ls(t,e,n){let i=t??e;if(!Number.isSafeInteger(i)||i<1)throw new Error(`${n} must be a positive integer`);return i}function kh(t){if(t===void 0)return{...pe,include:[...pe.include],exclude:[...pe.exclude]};let e=tn(t,"native.snapshot");return{include:cl(e.include,"native.snapshot.include",pe.include),exclude:cl(e.exclude,"native.snapshot.exclude",pe.exclude),max_files:Ls(e.max_files,pe.max_files,"native.snapshot.max_files"),max_total_bytes:Ls(e.max_total_bytes,pe.max_total_bytes,"native.snapshot.max_total_bytes"),max_duration_ms:Ls(e.max_duration_ms,pe.max_duration_ms,"native.snapshot.max_duration_ms")}}function bh(t){if(t===void 0)return;let e=tn(t,"native.pending_root_move"),n=e.id,i=e.from_artifact_root,r=e.to_artifact_root,s=e.stage;if(typeof n!="string"||!/^[a-f0-9-]{8,}$/u.test(n))throw new Error("native.pending_root_move.id is invalid");if(typeof i!="string"||typeof r!="string")throw new Error("native.pending_root_move roots must be strings");if(s!=="copying"&&s!=="ready"&&s!=="switched")throw new Error("native.pending_root_move.stage is invalid");let o;if(e.cleanup!==void 0){let a=tn(e.cleanup,"native.pending_root_move.cleanup"),c=a.kind,l=a.state,u=a.manifest_hash;if(c!=="forward-source"&&c!=="restart-staging"&&c!=="rollback-destination"&&c!=="rollback-staging")throw new Error("native.pending_root_move.cleanup.kind is invalid");if(l!=="prepared"&&l!=="quarantined"&&l!=="deleting")throw new Error("native.pending_root_move.cleanup.state is invalid");if(typeof u!="string"||!/^[a-f0-9]{64}$/u.test(u))throw new Error("native.pending_root_move.cleanup.manifest_hash is invalid");o={kind:c,state:l,manifestHash:u}}return{id:n,fromArtifactRoot:vi(i),toArtifactRoot:vi(r),stage:s,...o?{cleanup:o}:{}}}function Sh(t,e={}){let n=tn(t,"native"),i=n.artifact_root??(e.allowMissingArtifactRoot?"docs":void 0);if(typeof i!="string")throw new Error("native.artifact_root must be a string");let r=n.clarification_mode??"sequential";if(r!=="sequential"&&r!=="batch")throw new Error("native.clarification_mode must be sequential or batch");let s=n.archive_confirmation??"automatic";if(s!=="automatic"&&s!=="required")throw new Error("native.archive_confirmation must be automatic or required");let o=n.max_verify_failures??wh;if(!Number.isSafeInteger(o)||o<1)throw new Error("native.max_verify_failures must be a positive integer");let a=bh(n.pending_root_move);return{artifact_root:vi(i),language:ul(n.language,"en","native.language"),clarification_mode:r,archive_confirmation:s,max_verify_failures:o,snapshot:kh(n.snapshot),...a?{pending_root_move:a}:{}}}function Ch(t){let e=tn(t,"classic"),n=e.context_compression??"off";if(n!=="off"&&n!=="beta")throw new Error("classic.context_compression must be off or beta");let i=e.review_mode??"standard";if(i!=="off"&&i!=="standard"&&i!=="thorough")throw new Error("classic.review_mode must be off, standard, or thorough");let r=e.auto_transition??!0;if(typeof r!="boolean")throw new Error("classic.auto_transition must be true or false");return{artifact_layout:ll(e.artifact_layout),language:ul(e.language,"zh-CN","classic.language"),context_compression:n,review_mode:i,auto_transition:r}}function Eh(t){let e=t??!0;if(typeof e!="boolean")throw new Error("ambient_resume must be true or false");return e}function xh(t,e,n,i,r){let s=t.schema!==void 0;if(!(s||t.default_workflow!==void 0||t.workflows!==void 0||!r.allowPartialProject&&t.native!==void 0)||r.allowPartialProject&&!s)return null;if(t.schema!=="comet.project.v1")throw new Error("Unsupported Comet project schema");if(t.default_workflow!=="native"&&t.default_workflow!=="classic")throw new Error("default_workflow must be native or classic");let a=t.workflows??[t.default_workflow];if(!Array.isArray(a)||a.length===0||a.some(l=>l!=="native"&&l!=="classic"))throw new Error("workflows must contain native and/or classic");let c=[...new Set(a)];if(!c.includes(t.default_workflow))throw new Error("workflows must include default_workflow");if(c.includes("native")&&!e)throw new Error("native must be a mapping");return{schema:"comet.project.v1",default_workflow:t.default_workflow,workflows:c,ambient_resume:i,...e?{native:e}:{},...n?{classic:n}:{}}}function mt(t,e={}){let n=(0,Ms.parseDocument)(t,{uniqueKeys:!0});if(n.errors.length>0)throw new Error(`Invalid .comet/config.yaml: ${n.errors[0].message}`);let i=n.toJS();if(i==null)return{value:{},config:null,ambient_resume:!0};if(typeof i!="object"||Array.isArray(i))throw new Error("Invalid .comet/config.yaml: root must be a mapping");let r=i,s=Eh(r.ambient_resume),o=r.native===void 0?void 0:Sh(r.native,{allowMissingArtifactRoot:e.allowMissingNativeFields}),a=r.classic===void 0?void 0:Ch(r.classic),c=xh(r,o,a,s,{allowPartialProject:e.allowPartialProject??!1});return{value:r,config:c,ambient_resume:s,...o?{native:o}:{},...a?{classic:a}:{}}}var Ms,nn,Ds,Fs,wh,yh,pe,me=W(()=>{"use strict";Ms=Ct(pt(),1),nn=64*1024,Ds=1024,Fs=64,wh=5,yh=[".agents/skills/**",".amazonq/skills/**",".augment/skills/**",".bob/skills/**",".claude/skills/**",".cline/skills/**",".codebuddy/skills/**",".continue/skills/**",".cospec/skills/**",".crush/skills/**",".cursor/skills/**",".factory/skills/**",".forge/skills/**",".gemini/skills/**",".github/skills/**",".iflow/skills/**",".junie/skills/**",".kilocode/skills/**",".kimi-code/skills/**",".kiro/skills/**",".lingma/skills/**",".mimocode/skills/**",".opencode/skills/**",".pi/skills/**",".qoder/skills/**",".qwen/skills/**",".roo/skills/**",".trae-cn/skills/**",".trae/skills/**",".windsurf/skills/**",".zcode/skills/**"],pe={include:["**/*"],exclude:[...yh],max_files:1e4,max_total_bytes:256*1024*1024,max_duration_ms:6e4}});function Ae(t){return t!==0&&t!==0n&&t!=="0"}function ki(t,e){return Ae(t.dev)&&Ae(e.dev)&&Ae(t.ino)&&Ae(e.ino)}function he(t,e){let n=Ae(t.dev)&&Ae(e.dev);if(n&&t.dev!==e.dev)return!1;let i=Ae(t.ino)&&Ae(e.ino);return i&&t.ino!==e.ino?!1:n&&i?!0:t.birthtime===e.birthtime}var bi=W(()=>{"use strict"});import{constants as Si,promises as ze}from"fs";function Ws(t){return"birthtimeNs"in t&&typeof t.birthtimeNs=="bigint"?t.birthtimeNs:t.birthtimeMs}function dl(t){return"ctimeNs"in t&&typeof t.ctimeNs=="bigint"?t.ctimeNs:t.ctimeMs}function rn(t){return{dev:t.dev,ino:t.ino,birthtime:Ws(t)}}function Ci(t,e){let n=rn(t),i=rn(e);return ki(n,i)?he(n,i):he(n,i)&&Ws(t)===Ws(e)&&dl(t)===dl(e)&&t.size===e.size}async function pl(t,e,n={}){if(!Number.isSafeInteger(e)||e<1)throw new Error("race-safe read byte limit must be a positive integer");let i=n.label??"file",r=n.bigint===!0,s=await ze.lstat(t,{bigint:r});if(!s.isFile()||s.isSymbolicLink())throw new je("not-regular-file",`${i} must be a regular file`);if(BigInt(s.size)>BigInt(e))throw new je("too-large",`${i} exceeds ${e} bytes`);let o=await ze.realpath(t);await n.verify?.("pre-open",{realPath:o,identity:rn(s)});let a=process.platform==="win32"?Si.O_RDONLY:Si.O_RDONLY|Si.O_NOFOLLOW|Si.O_NONBLOCK,c;try{c=await ze.open(t,a)}catch(l){throw l.code==="ELOOP"?new je("not-regular-file",`${i} must be a regular file`,{cause:l}):l}try{let[l,u,f]=await Promise.all([c.stat({bigint:r}),ze.lstat(t,{bigint:r}),ze.realpath(t)]);if(!l.isFile()||!u.isFile()||u.isSymbolicLink()||f!==o||!Ci(s,l)||!Ci(s,u))throw new je("changed",`${i} changed while opening`);await n.verify?.("post-open",{realPath:f,identity:rn(l)}),await n.hooks?.afterOpen?.();let d=[],h=0,w=Buffer.allocUnsafe(Math.min(64*1024,e+1));for(;;){let g=e+1-h,{bytesRead:b}=await c.read(w,0,Math.min(w.length,g),null);if(b===0)break;if(h+=b,h>e)throw new je("too-large",`${i} exceeds ${e} bytes`);d.push(Buffer.from(w.subarray(0,b)))}await n.hooks?.beforeFinalCheck?.();let[p,m,y]=await Promise.all([c.stat({bigint:r}),ze.lstat(t,{bigint:r}),ze.realpath(t)]);if(!m.isFile()||m.isSymbolicLink()||y!==o||!Ci(s,p)||!Ci(s,m))throw new je("changed",`${i} changed while reading`);return await n.verify?.("post-read",{realPath:y,identity:rn(p)}),{bytes:Buffer.concat(d,h),stat:p,realPath:y}}finally{await c.close()}}var je,ml=W(()=>{"use strict";bi();je=class extends Error{reason;constructor(e,n,i){super(n,i),this.name="RaceSafeReadError",this.reason=e}}});import{promises as Ie}from"fs";import te from"path";function hl(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}function Ei(t,e){let n=te.relative(t,e);return n===""||!te.isAbsolute(n)&&n!==".."&&!n.startsWith(`..${te.sep}`)}async function Bs(t,e){let n=te.resolve(t),i=await Ie.lstat(n);if(!i.isDirectory()||i.isSymbolicLink())throw new Error(`${e} project root must be a real directory`);return Ie.realpath(n)}async function Ks(t,e,n,i){let r=t;for(let s=0;s<n.length;s++){r=te.join(r,n[s]);let o;try{o=await Ie.lstat(r)}catch(u){if(hl(u))return{exists:!1,kind:"missing"};throw u}let a=te.relative(t,r).replaceAll("\\","/");if(o.isSymbolicLink())throw new Error(`${i.label} crosses a symbolic link or junction at ${a}`);let c=s===n.length-1;if(!c&&!o.isDirectory())throw new Error(`${i.label} ancestor ${a} must be a real directory`);if(c&&(i.expected==="file"&&!o.isFile()||i.expected==="directory"&&!o.isDirectory()||i.expected==="any"&&!o.isFile()&&!o.isDirectory()))throw new Error(`${i.label} must be a real ${i.expected}`);let l=await Ie.realpath(r);if(!Ei(e,l))throw new Error(`${i.label} resolves outside the project root`);if(c)return{exists:!0,kind:o.isFile()?"file":o.isDirectory()?"directory":"missing"}}return{exists:!0,kind:"directory"}}async function O(t,e,n){let i=Ne(e,n.label),r=te.resolve(t),s=await Bs(r,n.label),o=i.split("/"),a=te.resolve(r,...o);if(!Ei(r,a))throw new Error(`${n.label} must stay inside the project root`);let c=await Ks(r,s,o,n);return{projectRoot:r,target:a,relative:i,exists:c.exists,kind:c.kind}}async function Ys(t,e,n){let i=Ne(e,n.label),r=te.resolve(t),s=await Bs(r,n.label),o=i.split("/"),a=r;for(let c of o){a=te.join(a,c);let l;try{l=await Ie.lstat(a)}catch(d){if(!hl(d))throw d;try{await Ie.mkdir(a)}catch(h){if(h.code!=="EEXIST")throw h}l=await Ie.lstat(a)}let u=te.relative(r,a).replaceAll("\\","/");if(l.isSymbolicLink())throw new Error(`${n.label} crosses a symbolic link or junction at ${u}`);if(!l.isDirectory())throw new Error(`${n.label} directory ${u} must be a real directory`);let f=await Ie.realpath(a);if(!Ei(s,f))throw new Error(`${n.label} resolves outside the project root`)}return await Ks(r,s,o,{label:n.label,expected:"directory"}),a}async function xi(t,e,n){return(await O(t,e,{...n,expected:"file"})).exists}async function B(t,e,n,i){let r=await O(t,e,{label:i.label,expected:"file"});if(!r.exists){let o=new Error(`${i.label} does not exist`);throw o.code="ENOENT",o}let s=await Bs(r.projectRoot,i.label);return pl(r.target,n,{...i,verify:async(o,a)=>{if(!Ei(s,a.realPath))throw new Error(`${i.label} resolves outside the project root`);await Ks(r.projectRoot,s,r.relative.split("/"),{label:i.label,expected:"file"})}})}var ne=W(()=>{"use strict";ml();me()});import{createHash as Ph}from"crypto";function _h(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}async function Pi(t,e={}){return(await _i(t,e)).document}async function Rh(t){try{return(await B(t,sn,nn,{label:sn})).bytes}catch(e){if(_h(e))return null;throw e}}function Oh(t){return t?{exists:!0,sha256:Ph("sha256").update(t).digest("hex")}:{exists:!1,sha256:null}}async function _i(t,e={}){let n=await Rh(t);return{document:n?mt(n.toString("utf8"),e):null,identity:Oh(n)}}var sn,on=W(()=>{"use strict";me();ne();sn=".comet/config.yaml"});import{randomUUID as Nh}from"crypto";import{constants as Ah,promises as I}from"fs";import F from"path";async function Js(t,e){try{return await I.link(t,e),{linked:!0}}catch(n){let i=n.code;if(i!=="ENOTSUP"&&i!=="EOPNOTSUPP")throw n}return await I.copyFile(t,e,Ah.COPYFILE_EXCL),{linked:!1}}function ht(t,e){let n=F.relative(t,e);return n===""||!F.isAbsolute(n)&&n!==".."&&!n.startsWith(`..${F.sep}`)}function Oi(t){return{dev:t.dev,ino:t.ino,birthtime:t.birthtimeMs}}function jh(t,e){return he(t,Oi(e))}function Ri(t,e){let n=Oi(t),i=Oi(e);return ki(n,i)?he(n,i):he(n,i)&&t.birthtimeMs===e.birthtimeMs&&t.ctimeMs===e.ctimeMs&&t.size===e.size}async function Ni(t){let e=await I.lstat(t);if(!e.isDirectory()||e.isSymbolicLink())throw new Error(`Contained atomic write parent must be a real directory: ${t}`);return{path:t,realPath:await I.realpath(t),...Oi(e)}}async function Te(t){for(let e of t){let n=await I.lstat(e.path);if(!n.isDirectory()||n.isSymbolicLink()||!jh(e,n)||await I.realpath(e.path)!==e.realPath)throw new Error(`Contained atomic write parent changed before commit: ${e.path}`)}}async function Ih(t,e){let n=F.resolve(t),i=F.resolve(e);if(!ht(n,i))throw new Error(`Contained atomic write parent is outside its managed root: ${e}`);let r=[await Ni(n)],s=F.relative(n,i).split(F.sep).filter(Boolean),o=n;for(let a of s){await Te(r),o=F.join(o,a);try{await I.mkdir(o)}catch(l){if(l.code!=="EEXIST")throw l}let c=await Ni(o);if(!ht(r[0].realPath,c.realPath))throw new Error(`Contained atomic write parent resolves outside its managed root: ${o}`);r.push(c)}return await Te(r),r}async function Th(t,e){let n=F.resolve(t),i=F.resolve(e);if(!ht(n,i))throw new Error(`Contained file parent is outside its managed root: ${e}`);let r=[await Ni(n)],s=F.relative(n,i).split(F.sep).filter(Boolean),o=n;for(let a of s){o=F.join(o,a);try{let c=await Ni(o);if(!ht(r[0].realPath,c.realPath))throw new Error(`Contained file parent resolves outside its managed root: ${o}`);r.push(c)}catch(c){if(c.code==="ENOENT")return null;throw c}}return await Te(r),r}async function gl(t){let e;try{e=await I.open(t,"r"),await e.sync()}catch(n){let i=n.code;if(!["EACCES","EBADF","EINVAL","EISDIR","ENOTSUP","EPERM"].includes(i??""))throw n}finally{await e?.close()}}async function qh(t,e,n){let i=F.dirname(t),r=await Ih(n.containedRoot,i),s=F.join(i,`.${F.basename(t)}.${Nh()}.tmp`),o,a;try{await n.beforeTemporaryOpen?.(),o=await I.open(s,"wx"),a=await o.stat();let[c,l]=await Promise.all([I.lstat(s),I.realpath(s)]);if(await Te(r),!c.isFile()||c.isSymbolicLink()||!Ri(a,c)||!ht(r[0].realPath,l))throw new Error("Contained atomic write temporary file opened outside its managed parent");if(typeof e=="string"?await o.writeFile(e,"utf8"):await o.writeFile(e),await o.sync(),!Ri(a,await o.stat()))throw new Error("Contained atomic write temporary file changed while writing");await o.close(),o=void 0,await n.beforeCommit?.(),await Te(r);let u=await I.lstat(s);if(!u.isFile()||u.isSymbolicLink()||!Ri(u,a))throw new Error("Contained atomic write temporary file changed before commit");n.exclusive?(await Js(s,t),await I.unlink(s)):await I.rename(s,t),await gl(i)}catch(c){await o?.close();try{await Te(r),await I.rm(s,{force:!0})}catch{}throw c}}async function ie(t,e,n){await qh(t,e,n)}async function Us(t,e){let n=F.dirname(t),i=await Th(e.containedRoot,n);if(!i)return!1;let r,s;try{r=await I.lstat(t),s=await I.realpath(t)}catch(c){if(c.code==="ENOENT")return!1;throw c}if(!r.isFile()||r.isSymbolicLink()||!ht(i[0].realPath,s))throw new Error("Contained file removal target must be a regular file inside its managed root");await e.beforeRemove?.(),await Te(i);let[o,a]=await Promise.all([I.lstat(t),I.realpath(t)]);if(!o.isFile()||o.isSymbolicLink()||!Ri(r,o)||a!==s)throw new Error("Contained file removal target changed before removal");return await I.unlink(t),await Te(i),await gl(n),!0}var Qe=W(()=>{"use strict";bi()});var Av,Hs=W(()=>{"use strict";Qe();on();ne();Av=16*1024});var Gs=W(()=>{"use strict";Qe();me();on();ne();Hs()});var Li=W(()=>{"use strict"});var _l=W(()=>{"use strict"});var eo=W(()=>{"use strict";Li()});var Rl=W(()=>{"use strict";Li();eo()});var dg,Ol=W(()=>{"use strict";dg=Ct(pt(),1);Qe();me();ne()});var Nl=W(()=>{"use strict";Li();Qe();_l();Rl();me();Ol();ne();on();Gs();Hs();eo()});import{TextDecoder as pg}from"util";function Al(t){return{dev:t.dev,ino:t.ino,birthtime:t.birthtimeMs}}function mg(t,e){try{return new pg("utf-8",{fatal:!0}).decode(t.bytes)}catch(n){throw new Error(`${e} is not valid UTF-8`,{cause:n})}}async function to(t,e,n,i,r={}){try{let s=await B(t,e,n,{label:i,hooks:r.hooks});return{result:s,text:mg(s,i)}}catch(s){let o=s.code;if(o==="ENOENT"||o==="ENOTDIR")return null;throw s}}async function we(t,e,n,i,r={}){return(await to(t,e,n,i,r))?.text??null}async function $e(t,e,n,i,r,s={}){if(Buffer.byteLength(n,"utf8")>i)throw new Error(`${r} exceeds ${i} bytes`);let o=await to(t,e,i,r),a=await O(t,e,{label:r,expected:"file"});await ie(a.target,n,{containedRoot:a.projectRoot,beforeCommit:async()=>{await s.beforeCommit?.();let c=await to(t,e,i,r);if(!(!o&&!c)){if(!o||!c)throw new Error(`${r} changed before commit`);if(o.result.realPath!==c.result.realPath||!he(Al(o.result.stat),Al(c.result.stat))||o.text!==c.text)throw new Error(`${r} changed before commit`)}}})}async function jl(t,e,n,i,r,s={}){let o=await we(t,e,i,r);await $e(t,e,`${o??""}${n}`,i,r,s)}async function Di(t,e,n,i={}){let r=await O(t,e,{label:n,expected:"file"});return r.exists?Us(r.target,{containedRoot:r.projectRoot,beforeRemove:i.beforeRemove}):!1}var no=W(()=>{"use strict";Nl();bi()});var ql={};Fu(ql,{RUN_STATE_FILE:()=>Mi,applyRunStateToDocument:()=>io,readRunState:()=>ro,removeRunState:()=>so,runStateFromDocument:()=>Fi,writeRunState:()=>Wi});import hg from"path";function mn(t,e){let n=t[e];if(typeof n!="string"||n.length===0)throw new Error(`Invalid Run state: ${e} must be a non-empty string`);return n}function pn(t,e){let n=mn(t,e);if(hg.isAbsolute(n)||/^(?:[A-Za-z]:|[\\/]|~)/u.test(n)||n.split(/[\\/]/u).includes(".."))throw new Error(`Invalid Run state: ${e} must stay inside the change directory`);return n}function gg(t){let e=t.run_retries??"{}",n;try{n=typeof e=="string"?JSON.parse(e):e}catch(i){throw new Error("Invalid Run state: run_retries must be a JSON object",{cause:i})}if(!n||typeof n!="object"||Array.isArray(n))throw new Error("Invalid Run state: run_retries must be a JSON object");for(let i of Object.values(n))if(!Number.isInteger(i)||Number(i)<0)throw new Error("Invalid Run state: retry counts must be non-negative integers");return n}function Fi(t){if(!t.run_id)return null;let e=mn(t,"run_id"),n=mn(t,"skill"),i=mn(t,"skill_version"),r=mn(t,"skill_hash"),s=pn(t,"pending_ref"),o=pn(t,"trajectory_ref"),a=pn(t,"context_ref"),c=pn(t,"artifacts_ref"),l=pn(t,"checkpoint_ref"),u=Number(t.iteration);if(!Number.isInteger(u)||u<0)throw new Error("Invalid Run state: iteration must be a non-negative integer");if(t.orchestration!=="deterministic"&&t.orchestration!=="adaptive")throw new Error("Invalid Run state: orchestration must be deterministic or adaptive");if(t.run_status!=="running"&&t.run_status!=="waiting"&&t.run_status!=="completed"&&t.run_status!=="failed")throw new Error("Invalid Run state: run_status is invalid");return{runId:e,skill:n,skillVersion:i,skillHash:r,orchestration:t.orchestration,currentStep:Il(t,"current_step"),iteration:u,pending:Il(t,"pending"),pendingRef:s,trajectoryRef:o,contextRef:a,artifactsRef:c,checkpointRef:l,status:t.run_status,retries:gg(t)}}function io(t,e){e?t.run_id=e.runId:delete t.run_id}function wg(t){return{runId:t.runId,skill:t.skill,skillVersion:t.skillVersion,skillHash:t.skillHash,orchestration:t.orchestration,currentStep:t.currentStep,iteration:t.iteration,pending:t.pending,pendingRef:t.pendingRef,trajectoryRef:t.trajectoryRef,contextRef:t.contextRef,artifactsRef:t.artifactsRef,checkpointRef:t.checkpointRef,status:t.status,retries:t.retries}}function yg(t){let e={run_id:t.runId,skill:t.skill,skill_version:t.skillVersion,skill_hash:t.skillHash,orchestration:t.orchestration,current_step:t.currentStep,iteration:t.iteration,pending:t.pending,pending_ref:t.pendingRef,trajectory_ref:t.trajectoryRef,context_ref:t.contextRef,artifacts_ref:t.artifactsRef,checkpoint_ref:t.checkpointRef,run_status:t.status,run_retries:JSON.stringify(t.retries)};return Fi(e)}async function ro(t,e={}){let n=await we(t,Mi,Tl,"Run state",e);if(n===null)return null;let i=JSON.parse(n);return yg(i)}async function Wi(t,e,n={}){await $e(t,Mi,JSON.stringify(wg(e),null,2),Tl,"Run state",n)}async function so(t,e={}){await Di(t,Mi,"Run state",e)}var Il,Mi,Tl,Bi=W(()=>{"use strict";no();Il=(t,e)=>{let n=t[e];return n==null?null:String(n)};Mi=".comet/run-state.json",Tl=256*1024});var _u=Ct(pt(),1);import{createHash as Eu}from"crypto";import{promises as xu}from"fs";import Pu from"path";import Cl from"path";import{promises as Mh}from"fs";import N from"path";import{promises as hh}from"fs";async function en(t){try{return await hh.access(t),!0}catch(e){if(gh(e))return!1;throw e}}function gh(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}me();on();Gs();ne();var an=class extends Error{code="classic-layout-unavailable";constructor(e="Classic artifact layout is unavailable from .comet/config.yaml"){super(e),this.name="ClassicLayoutUnavailableError"}},vl=".comet/config.yaml";function Wh(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}async function kl(t){await O(t,vl,{label:vl,expected:"file"})}function Ai(t,e){let n=N.resolve(t),i=e==="docs"?N.join(n,"docs"):n,r=N.join(i,"openspec"),s=N.join(n,"docs","superpowers");return{projectRoot:n,artifactLayout:e,openSpecBase:i,openSpecRoot:r,changesDir:N.join(r,"changes"),archiveDir:N.join(r,"changes","archive"),specsDir:N.join(r,"specs"),superpowersRoot:s,superpowersSpecsDir:N.join(s,"specs"),superpowersPlansDir:N.join(s,"plans"),superpowersReportsDir:N.join(s,"reports")}}async function Bh(t){await kl(t);let e=await Pi(t,{allowPartialProject:!0,allowMissingNativeFields:!0});if(!e?.config)throw new an;if(!(e.config.workflows??[e.config.default_workflow]).includes("classic"))throw new an("Classic artifact layout is unavailable because Classic is not enabled");return e.classic?.artifact_layout??"legacy"}async function Kh(t,e){return Ai(t,e??await Bh(t))}async function Yh(t,e){let n=await Kh(t,e),i=n.artifactLayout==="legacy"?"docs":"legacy",r=Ai(t,i).openSpecRoot,[s,o]=await Promise.all([O(n.projectRoot,L(n.projectRoot,n.openSpecRoot),{label:"Configured Classic OpenSpec root",expected:"directory"}),O(n.projectRoot,L(n.projectRoot,r),{label:"Alternate Classic OpenSpec root",expected:"directory"})]),a=s.exists,c=o.exists;return{paths:n,configuredRootExists:a,alternateRoot:r,alternateRootExists:c,dualRoots:a&&c}}async function Jh(t,e){let n=[t.openSpecRoot,t.changesDir,t.archiveDir,t.specsDir,e,t.superpowersRoot,t.superpowersSpecsDir,t.superpowersPlansDir,t.superpowersReportsDir];for(let i of n){let r=L(t.projectRoot,i);await O(t.projectRoot,r,{label:`Classic managed physical path ${r}`,expected:"directory"})}}async function qe(t,e){let n=await Yh(t,e);if(await Jh(n.paths,n.alternateRoot),!n.configuredRootExists){let i=L(n.paths.projectRoot,n.paths.openSpecRoot),r=L(n.paths.projectRoot,n.alternateRoot);throw new an(`Configured Classic OpenSpec root is missing: ${i} (alternate ${r} is ${n.alternateRootExists?"present":"missing"})`)}return n.paths}async function zs(t,e){let n=N.join(N.resolve(t),".comet","classic-root-move.json");if(await en(n))throw new Error("Classic root move transaction is incomplete; inspect it with comet doctor and recover it explicitly before writing");let i=await qe(t,e);if(!await en(i.openSpecRoot))throw new Error(`Configured Classic OpenSpec root is missing: ${L(i.projectRoot,i.openSpecRoot)}`);return i}async function Xe(t){let e=N.resolve(t),n=null;try{(await Mh.lstat(e)).isDirectory()||(e=N.dirname(e))}catch(i){if(!Wh(i))throw i}for(;;){N.basename(e)==="openspec"&&(n=N.dirname(e));let i=N.join(e,".comet","config.yaml"),r=!1;if(await en(i))try{await kl(e);let o=(await Pi(e))?.value;r=!!o&&typeof o=="object"&&!Array.isArray(o)&&(o.schema==="comet.project.v1"||o.default_workflow!==void 0||o.native!==void 0)}catch{}if(r||await en(N.join(e,".git")))return e;let s=N.dirname(e);if(s===e)return n??N.resolve(t);e=s}}function L(t,e){return N.relative(N.resolve(t),e).replaceAll("\\","/")}Qe();me();ne();import cn from"path";var Uh=2*1024*1024;function ji(t,e,n){let i=cn.resolve(t),r=cn.isAbsolute(e)?cn.resolve(e):cn.resolve(i,e),s=cn.relative(i,r).replaceAll("\\","/");return{root:i,relative:Ne(s,n),target:r}}async function le(t,e,n){let i=ji(t,e,n.label);return O(i.root,i.relative,n)}async function Ii(t,e,n){return(await le(t,e,{label:n.label,expected:n.expected??"any"})).exists}async function Qs(t,e,n,i){return await Ii(t,e,{label:n,expected:"file"})?(await bl(t,e,{label:n,hooks:i})).byteLength>0:!1}async function gt(t,e,n){return(await bl(t,e,n)).toString("utf8")}async function bl(t,e,n){let i=ji(t,e,n.label);return(await B(i.root,i.relative,n.maxBytes??Uh,{label:n.label,hooks:n.hooks})).bytes}async function Ti(t,e,n){let i=ji(t,e,n);return Ys(i.root,i.relative,{label:n})}async function Sl(t,e,n,i){let r=ji(t,e,i.label);await O(r.root,r.relative,{label:i.label,expected:"file"}),await ie(r.target,n,{containedRoot:r.root,beforeTemporaryOpen:i.beforeTemporaryOpen,beforeCommit:i.beforeCommit,exclusive:i.exclusive})}function Xs(t){return t?/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u.test(t)?t.includes("..")?"Change name cannot contain '..' (path traversal not allowed)":null:`Invalid change name: '${t}'
Valid format: lowercase kebab-case (a-z, 0-9, single hyphens)`:"Change name cannot be empty"}function Zs(t){let e=Xs(t);if(e)throw new Error(e)}function Hh(t,e){return{label:L(t,e),directory:e}}async function Vh(t,e,n){let i=Hh(t,e);if(!(await le(t,e,{label:n,expected:"directory"})).exists)return{change:i,exists:!1,stateExists:!1};let s=await le(t,Cl.join(e,".comet.yaml"),{label:`${n} state`,expected:"file"});return{change:i,exists:!0,stateExists:s.exists}}async function El(t,e=process.cwd()){Zs(t);let n=await qe(e),i=await Vh(n.projectRoot,Cl.join(n.changesDir,t),`Classic active change ${t}`);return{...i.change,exists:i.exists,stateExists:i.stateExists}}import{promises as mu}from"fs";import z from"path";import{fileURLToPath as hu}from"url";import{promises as zh}from"fs";import ge from"path";ne();me();import ln from"path";function Gh(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}async function xl(t,e,n,i){let r=Ne(n,"Classic handoff artifact pointer");if((await O(t,r,{label:"Classic handoff artifact",expected:"file"})).exists)return null;let o=await qe(t),a=`${L(t,o.changesDir)}/`,l=(o.artifactLayout==="docs"?[a,"openspec/changes/"]:[a]).find(g=>r.startsWith(g));if(!l)return null;let u=r.slice(l.length).split("/");if(u.length<4||u[1]!==".comet"||u.slice(2).some(g=>g.length===0))return null;let f=u[0];Zs(f);let d=u.slice(2),h=ln.resolve(e);if(ln.dirname(h)!==ln.resolve(o.archiveDir))return null;let w=ln.basename(h),p=/^\d{4}-\d{2}-\d{2}-(.+)$/u.exec(w);if(w!==f&&p?.[1]!==f)return null;await O(t,L(t,h),{label:"Classic archived change directory",expected:"directory"});let m=ln.join(h,".comet",...d),y=L(t,m);try{return await B(t,y,i,{label:"Historical Classic archived handoff artifact"}),y}catch(g){if(Gh(g))return null;throw g}}ne();var Pl=2*1024*1024;function un(t,e){return ge.relative(t,e).split(ge.sep).join("/")}async function fn(t,e,n,i){if(!n)return{code:e,satisfied:!1};let r=n.replaceAll("\\","/");try{if(i){let o=i.artifactLayout==="legacy"?"docs":"legacy",a=L(t,Ai(t,o).openSpecRoot);if((r===a||r.startsWith(`${a}/`))&&(await O(t,r,{label:`${e} artifact`,expected:"file"})).exists)return{code:e,satisfied:!1,source:r,detail:"standalone OpenSpec root is not a Comet artifact root"}}let s=await xi(t,r,{label:`${e} artifact`});return{code:e,satisfied:s,source:r,...s?{resolvedSource:r}:{}}}catch(s){return{code:e,satisfied:!1,source:r,detail:`unsafe artifact pointer outside the project or through a special path: ${s instanceof Error?s.message:String(s)}`}}}async function Qh(t,e,n,i){try{i??=await qe(t)}catch(s){return{code:"design.handoff",satisfied:!1,...n?{source:n.replaceAll("\\","/")}:{},detail:`Classic layout is unsafe or unavailable for handoff evidence: ${s instanceof Error?s.message:String(s)}`}}let r=await fn(t,"design.handoff",n,i);if(!n||r.satisfied||r.detail)return r;try{let s=await xl(t,e,n,Pl);return s?{...r,satisfied:!0,resolvedSource:s,detail:`resolved historical legacy pointer from archived change: ${s}`}:r}catch(s){return{...r,satisfied:!1,detail:`unsafe archived handoff fallback: ${s instanceof Error?s.message:String(s)}`}}}async function qi(t,e,n){return fn(t,e,un(t,n))}async function Xh(t,e){let n=ge.join(e,"specs"),i;try{let o=un(t,n);if(!(await O(t,o,{label:"OpenSpec delta-spec directory",expected:"directory"})).exists)return{code:"openspec.delta-spec",satisfied:!1};i=await zh.readdir(n)}catch(o){return o.code==="ENOENT"?{code:"openspec.delta-spec",satisfied:!1}:{code:"openspec.delta-spec",satisfied:!1,detail:`unsafe delta-spec path: ${o instanceof Error?o.message:String(o)}`}}let r=i.map(o=>ge.join(n,o,"spec.md")),s=(await Promise.all(r.map(async o=>{try{return await xi(t,un(t,o),{label:"OpenSpec delta spec"})?o:null}catch{return null}}))).filter(o=>o!==null);return{code:"openspec.delta-spec",satisfied:s.length>0,source:s[0]?un(t,s[0]):void 0,detail:`${s.length} delta spec${s.length===1?"":"s"}`}}async function Zh(t,e){let n,i=un(t,e);try{n=(await B(t,i,Pl,{label:"Classic tasks artifact"})).bytes.toString("utf8")}catch(o){return o.code==="ENOENT"?{code:"build.tasks-complete",satisfied:!1}:{code:"build.tasks-complete",satisfied:!1,source:i,detail:`unsafe tasks artifact: ${o instanceof Error?o.message:String(o)}`}}let r=[...n.matchAll(/^\s*[-*]\s+\[([ xX])\]\s+/gmu)],s=r.filter(o=>o[1].toLowerCase()==="x").length;return{code:"build.tasks-complete",satisfied:r.length>0&&s===r.length,source:i,detail:`${s} of ${r.length} tasks complete`}}function dn(t,e){return t.some(n=>n.code===e&&n.satisfied)}async function wt(t,e){let n=await Xe(t),i=e.classic,r=ge.join(t,"proposal.md"),s=ge.join(t,"design.md"),o=ge.join(t,"tasks.md"),a=e.run?ge.resolve(t,e.run.checkpointRef):ge.join(t,".comet","checkpoint.json"),c;try{c=await qe(n)}catch{}let l=await Promise.all([qi(n,"openspec.proposal",r),qi(n,"openspec.design",s),qi(n,"openspec.tasks",o),Xh(n,t),fn(n,"design.document",i?.designDoc??null,c),fn(n,"build.plan",i?.plan??null,c),Zh(n,o),fn(n,"verification.report",i?.verificationReport??null,c),Qh(n,t,i?.handoffContext??null,c),qi(n,"run.checkpoint",a)]),u=l.find(f=>f.code==="design.handoff");return u&&!i?.handoffHash&&(u.satisfied=!1,u.detail="handoff hash is missing"),l.push({code:"archive.confirmed",satisfied:i?.archiveConfirmation==="confirmed"}),l}import{createHash as fw,randomUUID as dw}from"crypto";import{promises as ho}from"fs";import ye from"path";function eg(t){return t.classicProfile??t.workflow}function tg(t){return!t.buildMode||!t.tddMode||!t.isolation||!t.verifyMode?!1:t.buildMode==="subagent-driven-development"?t.subagentDispatch==="confirmed":t.buildMode==="direct"?t.directOverride===!0:!0}function ng(t){return t.buildMode==="direct"&&t.tddMode==="direct"&&t.isolation!==null&&t.verifyMode==="light"}function ig(t,e,n){if(e.verifyResult==="fail")return t==="full"?"full.build.fix":`${t}.build.execute`;if(t==="full"){if(!dn(n,"build.plan"))return"full.build.plan";if(e.buildPause==="plan-ready")return"full.build.plan-ready";if(!tg(e))return"full.build.configure"}else if(!ng(e))throw new Error(`${t} build configuration is incomplete`);return dn(n,"build.tasks-complete")?`${t}.build.complete`:`${t}.build.execute`}function rg(t,e,n){return e.verifyResult!=="pass"||!dn(n,"verification.report")?`${t}.verify.run`:`${t}.verify.branch`}function sg(t,e){if(e.verifyResult!=="pass")throw new Error("archive requires verify_result=pass");return e.archiveConfirmation==="confirmed"?`${t}.archive.execute`:`${t}.archive.confirm`}function $i(t,e){let n=eg(t);if(t.archived&&t.phase!=="archive")throw new Error("archived=true requires phase=archive");if(t.archived)return"completed";if(n!=="full"&&t.phase==="design")throw new Error(`${n} workflow cannot enter design`);switch(t.phase){case"open":return`${n}.open`;case"design":return dn(e,"design.handoff")?"full.design.document":"full.design.handoff";case"build":return ig(n,t,e);case"verify":return rg(n,t,e);case"archive":return sg(n,t)}}var Ui=Ct(pt(),1);Qe();ne();import Ji from"path";Bi();var $l=["full","hotfix","tweak"],Ze=1,vg=["open","design","build","verify","archive"],kg=["en","zh-CN"],bg=["off","beta"],Sg=["subagent-driven-development","executing-plans","direct"],Cg=["plan-ready"],Eg=["confirmed"],xg=["tdd","direct"],Pg=["off","standard","thorough"],_g=["current","branch","worktree"],Rg=["light","full"],Og=["pending","pass","fail"],Ng=["pending","handled"],Ag=["pending","confirmed"],Yi=["workflow","language","phase","context_compression","build_mode","build_pause","subagent_dispatch","tdd_mode","review_mode","isolation","bound_branch","verify_mode","auto_transition","base_ref","design_doc","plan","verify_result","verify_failures","verification_report","branch_status","created_at","verified_at","archive_confirmation","archived","direct_override","handoff_context","handoff_hash","classic_profile","classic_migration"],jg=["run_id"],Ig=new Set([...Yi,...jg]),Tg=["workflow","phase","design_doc","plan","build_mode","isolation","verify_mode","verify_result","verified_at","archived"];function Ll(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function yt(t,e){let n=t[e];if(n==null||n==="")return null;if(typeof n!="string")throw new Error(`Invalid Classic state: ${e} must be a string or null`);return n}function K(t,e,n,i=!0){let r=t[e];if(r==null||r===""){if(i)return null;throw new Error(`Invalid Classic state: ${e} is required`)}if(typeof r!="string"||!n.includes(r))throw new Error(`Invalid Classic state: ${e} must be one of ${n.join(", ")}${i?" or null":""}`);return r}function oo(t,e,n=!0){let i=t[e];if(i==null||i===""){if(n)return null;throw new Error(`Invalid Classic state: ${e} is required`)}if(typeof i!="boolean")throw new Error(`Invalid Classic state: ${e} must be true or false`);return i}function qg(t,e,n=0){let i=t[e];if(i==null||i==="")return n;if(typeof i!="number"||!Number.isInteger(i)||i<0)throw new Error(`Invalid Classic state: ${e} must be a non-negative integer`);return i}function Ki(t,e){let n=yt(t,e);if(n===null)return null;if(/^(?:[A-Za-z]:|[\\/]|~)/u.test(n)||n.split(/[\\/]/u).includes(".."))throw new Error(`Invalid Classic state: ${e} must be a relative repository path`);return n}function $g(t,e){let n=yt(t,e);if(n!==null&&!/^[a-f0-9]{64}$/u.test(n))throw new Error(`Invalid Classic state: ${e} must be a sha256 hex digest`);return n}function Lg(t){let e=t.classic_migration;if(e==null||e==="")return null;if(e!==Ze)throw new Error(`Invalid Classic state: classic_migration must be ${Ze}`);return e}function Dg(t){if(!Yi.some(n=>Ll(t,n)))return null;for(let n of Tg)if(!Ll(t,n))return null;return{workflow:K(t,"workflow",$l,!1),language:K(t,"language",kg),phase:K(t,"phase",vg,!1),contextCompression:K(t,"context_compression",bg),buildMode:K(t,"build_mode",Sg),buildPause:K(t,"build_pause",Cg),subagentDispatch:K(t,"subagent_dispatch",Eg),tddMode:K(t,"tdd_mode",xg),reviewMode:K(t,"review_mode",Pg),isolation:K(t,"isolation",_g),boundBranch:yt(t,"bound_branch"),verifyMode:K(t,"verify_mode",Rg),autoTransition:oo(t,"auto_transition"),baseRef:yt(t,"base_ref"),designDoc:Ki(t,"design_doc"),plan:Ki(t,"plan"),verifyResult:K(t,"verify_result",Og,!1),verifyFailures:qg(t,"verify_failures"),verificationReport:Ki(t,"verification_report"),branchStatus:K(t,"branch_status",Ng),createdAt:yt(t,"created_at"),verifiedAt:yt(t,"verified_at"),archiveConfirmation:K(t,"archive_confirmation",Ag),archived:oo(t,"archived",!1),directOverride:oo(t,"direct_override"),handoffContext:Ki(t,"handoff_context"),handoffHash:$g(t,"handoff_hash"),classicProfile:K(t,"classic_profile",$l),classicMigration:Lg(t)}}function ao(t,e){let n=e??null;if(n===null&&e===void 0&&t.run_id&&t.skill)try{n=Fi(t)}catch(i){let r=i instanceof Error?i.message:String(i);throw new Error(r.replace(/^Invalid Run state:/u,"Invalid Classic state:"),{cause:i})}return{classic:Dg(t),run:n,unknownKeys:Object.keys(t).filter(i=>!Ig.has(i))}}function Dl(t){return{workflow:t.workflow,language:t.language,phase:t.phase,context_compression:t.contextCompression,build_mode:t.buildMode,build_pause:t.buildPause,subagent_dispatch:t.subagentDispatch,tdd_mode:t.tddMode,review_mode:t.reviewMode,isolation:t.isolation,bound_branch:t.boundBranch,verify_mode:t.verifyMode,auto_transition:t.autoTransition,base_ref:t.baseRef,design_doc:t.designDoc,plan:t.plan,verify_result:t.verifyResult,verify_failures:t.verifyFailures,verification_report:t.verificationReport,branch_status:t.branchStatus,created_at:t.createdAt,verified_at:t.verifiedAt,archive_confirmation:t.archiveConfirmation,archived:t.archived,direct_override:t.directOverride,handoff_context:t.handoffContext,handoff_hash:t.handoffHash,classic_profile:t.classicProfile,classic_migration:t.classicMigration}}Bi();var Fg=2*1024*1024;function hn(t){let e=t.toJS();if(e===null)return{};if(typeof e!="object"||Array.isArray(e))throw new Error("Invalid Classic state document: root must be a mapping");return e}function Fl(t,e,n){t.get(e)!==n&&t.set(e,n)}function Mg(t,e){if(e.classic)for(let[n,i]of Object.entries(Dl(e.classic)))Fl(t,n,i);else for(let n of Yi)t.delete(n);io(t.toJS(),e.run),e.run?Fl(t,"run_id",e.run.runId):t.delete("run_id")}function Wg(t){let e=["skill","skill_version","skill_hash","orchestration","current_step","iteration","pending","pending_ref","trajectory_ref","context_ref","artifacts_ref","checkpoint_ref","run_status","run_retries"];for(let n of e)t.delete(n)}function Bg(t){let e=!1;for(let n of["build_command","verify_command"])t.has(n)&&(t.delete(n),e=!0);return e}async function Ml(t){let e;try{e=(await B(Ji.dirname(t),Ji.basename(t),Fg,{label:"Classic state document"})).bytes.toString("utf8")}catch(i){if(i.code!=="ENOENT")throw i;return new Ui.Document({})}let n=(0,Ui.parseDocument)(e);if(n.errors.length>0)throw new Error(`Invalid Classic state document: ${n.errors[0].message}`);return hn(n),n}async function Le(t,e={}){let n=e.migrate!==!1,i=Ji.join(t,".comet.yaml"),r=await Ml(i),s=hn(r),o=Bg(r);o&&(s=hn(r));let a=await ro(t);if(!a&&s.run_id&&s.skill){let{runStateFromDocument:c}=await Promise.resolve().then(()=>(Bi(),ql));a=c(s),a&&n&&(await Wi(t,a),Wg(r),o=!0)}return o&&n&&await ie(i,r.toString(),{containedRoot:t}),ao(hn(r),a)}async function et(t,e,n={}){let i=Ji.join(t,".comet.yaml"),r=await Ml(i);Mg(r,{...e,unknownKeys:e.unknownKeys??[]}),ao(hn(r),e.run??null),await ie(i,r.toString(),{containedRoot:t,beforeCommit:n.beforeCommit}),e.run?await Wi(t,e.run):await so(t)}function Wl(t,e,n){return{runId:e,skill:t.definition.metadata.name,skillVersion:t.definition.metadata.version,skillHash:n,orchestration:t.definition.orchestration.mode,currentStep:t.definition.orchestration.entry??null,iteration:0,pending:null,pendingRef:".comet/pending-action.json",trajectoryRef:".comet/trajectory.jsonl",contextRef:".comet/context.md",artifactsRef:".comet/artifacts.json",checkpointRef:".comet/checkpoint.json",status:"running",retries:{}}}no();import Hi from"path";var ue={trajectory:8*1024*1024,artifacts:1024*1024,context:1024*1024,pendingAction:256*1024,checkpoint:256*1024};function re(t,e){if(Hi.isAbsolute(e))throw new Error("Run path must stay inside the change directory");let n=Hi.resolve(t),i=Hi.resolve(n,e);if(i!==n&&!i.startsWith(n+Hi.sep))throw new Error("Run path must stay inside the change directory")}async function vt(t,e,n,i={}){re(t,e),await jl(t,e,`${JSON.stringify(n)}
`,ue.trajectory,"Run trajectory",i)}async function gn(t,e,n={}){re(t,e);let i=await we(t,e,ue.trajectory,"Run trajectory",n);return i===null?[]:i.split(/\r?\n/).map((r,s)=>({line:r,number:s+1})).filter(({line:r})=>r.length>0).map(({line:r,number:s})=>{try{return JSON.parse(r)}catch(o){throw new Error(`Invalid Trajectory event at line ${s}`,{cause:o})}})}async function co(t,e,n={}){re(t,e);let i=await we(t,e,ue.artifacts,"Run artifacts",n);return i===null?{}:JSON.parse(i)}async function Vi(t,e,n,i={}){re(t,e),await $e(t,e,JSON.stringify(n,null,2)+`
`,ue.artifacts,"Run artifacts",i)}async function Gi(t,e,n,i={}){re(t,e),await $e(t,e,n,ue.context,"Run context",i)}async function Bl(t,e,n={}){return re(t,e),we(t,e,ue.context,"Run context",n)}async function Kl(t,e,n,i={}){re(t,e),await $e(t,e,JSON.stringify(n,null,2)+`
`,ue.pendingAction,"Run pending action",i)}async function lo(t,e,n={}){re(t,e);let i=await we(t,e,ue.pendingAction,"Run pending action",n);return i===null?null:JSON.parse(i)}async function Yl(t,e,n={}){re(t,e),await Di(t,e,"Run pending action",n)}async function zi(t,e,n,i={}){re(t,e),await $e(t,e,JSON.stringify(n,null,2)+`
`,ue.checkpoint,"Run checkpoint",i)}async function Jl(t,e,n={}){re(t,e);let i=await we(t,e,ue.checkpoint,"Run checkpoint",n);return i===null?null:JSON.parse(i)}import{createHash as su,randomUUID as ow}from"crypto";import{promises as $}from"fs";import T from"path";var Vl=Ct(pt(),1);import{promises as uo}from"fs";import X from"path";var Kg=["invoke_skill","call_tool","handoff","ask_user","checkpoint"],Yg=["deterministic","adaptive"],Jg=["function","mcp","script","agent"],Ug=["none","read","write","external"],Hg=["progress","step","completion"],Vg=["artifact_exists","state_equals"];function tt(t,e,n){return new Error(`${t}: ${e} ${n}`)}function V(t,e,n="document"){if(t===null||typeof t!="object"||Array.isArray(t))throw tt(e,n,"must be an object")}function De(t,e,n){if(!Array.isArray(t))throw tt(e,n,"must be an array")}function Y(t,e,n){if(typeof t!="string")throw tt(e,n,"must be a string")}function se(t,e,n,i){e in t&&Y(t[e],n,`${i}.${e}`)}function Gl(t,e,n,i){if(e in t&&typeof t[e]!="boolean")throw tt(n,`${i}.${e}`,"must be a boolean")}function Fe(t,e,n,i){if(typeof t!="string"||!e.includes(t))throw tt(n,i,`must be one of ${e.join(", ")}`)}function Qi(t,e,n){De(t,e,n),t.forEach((i,r)=>{Y(i,e,`${n}[${r}]`)})}function Ul(t,e,n){V(t,e,n),Y(t.name,e,`${n}.name`),Y(t.description,e,`${n}.description`),Gl(t,"required",e,n)}function Gg(t,e,n){V(t,e,n),Y(t.id,e,`${n}.id`),se(t,"source",e,n),se(t,"version",e,n)}function zg(t,e,n){V(t,e,n),Y(t.id,e,`${n}.id`),Y(t.role,e,`${n}.role`),se(t,"instructions",e,n)}function Qg(t,e,n){V(t,e,n),Y(t.id,e,`${n}.id`),Fe(t.kind,Jg,e,`${n}.kind`),Y(t.source,e,`${n}.source`),Fe(t.sideEffect,Ug,e,`${n}.sideEffect`),Gl(t,"requiresConfirmation",e,n)}function Xg(t,e,n){V(t,e,n),Fe(t.type,Kg,e,`${n}.type`),se(t,"ref",e,n),se(t,"prompt",e,n),se(t,"question",e,n),"options"in t&&Qi(t.options,e,`${n}.options`)}function Zg(t,e,n){V(t,e,n),Y(t.id,e,`${n}.id`),Xg(t.action,e,`${n}.action`),se(t,"next",e,n),"completionEvals"in t&&Qi(t.completionEvals,e,`${n}.completionEvals`)}function ew(t,e){let n="goal";V(t,e,n),Y(t.statement,e,`${n}.statement`),De(t.inputs,e,`${n}.inputs`),t.inputs.forEach((i,r)=>{Ul(i,e,`${n}.inputs[${r}]`)}),De(t.outputs,e,`${n}.outputs`),t.outputs.forEach((i,r)=>{Ul(i,e,`${n}.outputs[${r}]`)}),Qi(t.success,e,`${n}.success`)}function tw(t,e){let n="orchestration";V(t,e,n),Fe(t.mode,Yg,e,`${n}.mode`),se(t,"entry",e,n),"steps"in t&&(De(t.steps,e,`${n}.steps`),t.steps.forEach((i,r)=>{Zg(i,e,`${n}.steps[${r}]`)}))}function zl(t,e){return V(t,e),Fe(t.apiVersion,["comet/v1alpha1"],e,"apiVersion"),Fe(t.kind,["Skill"],e,"kind"),V(t.metadata,e,"metadata"),Y(t.metadata.name,e,"metadata.name"),Y(t.metadata.version,e,"metadata.version"),Y(t.metadata.description,e,"metadata.description"),ew(t.goal,e),tw(t.orchestration,e),De(t.skills,e,"skills"),t.skills.forEach((n,i)=>{Gg(n,e,`skills[${i}]`)}),De(t.agents,e,"agents"),t.agents.forEach((n,i)=>{zg(n,e,`agents[${i}]`)}),De(t.tools,e,"tools"),t.tools.forEach((n,i)=>{Qg(n,e,`tools[${i}]`)}),t}function Ql(t,e){V(t,e);for(let n of["allowedSkills","allowedAgents","allowedTools","confirmationRequiredFor"])n in t&&Qi(t[n],e,n);for(let n of["maxIterations","maxRetriesPerAction"])if(n in t&&(typeof t[n]!="number"||!Number.isFinite(t[n])))throw tt(e,n,"must be a finite number");return t}function nw(t,e){return V(t,e),"runtime"in t&&Xl(t.runtime,e,"runtime"),t}function Xl(t,e,n){return De(t,e,n),t.forEach((i,r)=>{let s=`${n}[${r}]`;V(i,e,s),Y(i.id,e,`${s}.id`),Fe(i.scope,Hg,e,`${s}.scope`),Fe(i.type,Vg,e,`${s}.type`),se(i,"artifact",e,s),se(i,"field",e,s),se(i,"equals",e,s)}),t}async function fo(t){let e=await uo.readFile(t,"utf8");try{return(0,Vl.parse)(e)}catch(n){let i=n instanceof Error?n.message:String(n);throw tt(t,"document",i)}}async function iw(t){try{return await fo(t)}catch(e){if(e.code==="ENOENT")return null;throw e}}async function Hl(t){try{return await uo.access(t),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}async function rw(t){let e=X.join(t,"checks.yaml"),n=X.join(t,"evals.yaml"),[i,r]=await Promise.all([Hl(e),Hl(n)]);if(r)throw new Error(`${n}: evals.yaml is no longer supported; use checks.yaml`);return i?{document:nw(await fo(e),e)}:{document:null}}async function Zl(t){let e=X.resolve(t.root),n=X.resolve(t.controlRoot);t.requireSkillMarkdown&&await uo.access(X.join(e,"SKILL.md"));let i=X.join(n,"skill.yaml"),r=X.join(n,"guardrails.yaml"),s=zl(await fo(i),i),o=await iw(r),a=o===null?null:Ql(o,r),c=await rw(n),l={allowedSkills:s.skills.map(u=>u.id),allowedAgents:s.agents.map(u=>u.id),allowedTools:s.tools.map(u=>u.id),maxIterations:50,maxRetriesPerAction:3,confirmationRequiredFor:s.tools.filter(u=>u.requiresConfirmation).map(u=>u.id)};return{root:e,packageKind:t.packageKind==="runtime"?"runtime":void 0,definition:s,guardrails:{...l,...a},evals:c.document?.runtime??[]}}async function eu(t){let e=X.resolve(t);return Zl({root:e,controlRoot:X.join(e,"comet"),packageKind:"skill",requireSkillMarkdown:!0})}async function tu(t){let e=X.resolve(t);return Zl({root:e,controlRoot:e,packageKind:"runtime",requireSkillMarkdown:!1})}function nu(t,e,n=X.join(e,"package.json")){V(t,n);let i=t.packageKind==="runtime"?"runtime":void 0,r=zl(t.definition,n),s=Ql(t.guardrails,n),o=Xl(t.evals,n,"evals"),a={allowedSkills:r.skills.map(c=>c.id),allowedAgents:r.agents.map(c=>c.id),allowedTools:r.tools.map(c=>c.id),maxIterations:50,maxRetriesPerAction:3,confirmationRequiredFor:r.tools.filter(c=>c.requiresConfirmation).map(c=>c.id)};return{root:X.resolve(e),packageKind:i,definition:r,guardrails:{...a,...s},evals:o}}import iu from"path";function sw(t,e,n,i){t.type==="invoke_skill"&&!e.definition.skills.some(r=>r.id===t.ref)&&n.push(`step ${i} references undeclared skill: ${t.ref??"(missing)"}`),t.type==="call_tool"&&!e.definition.tools.some(r=>r.id===t.ref)&&n.push(`step ${i} references undeclared tool: ${t.ref??"(missing)"}`),t.type==="handoff"&&!e.definition.agents.some(r=>r.id===t.ref)&&n.push(`step ${i} references undeclared agent: ${t.ref??"(missing)"}`),t.type==="ask_user"&&!t.question&&n.push(`step ${i} ask_user action requires question`)}function ru(t){let e=[],{definition:n,guardrails:i,evals:r}=t;n.apiVersion!=="comet/v1alpha1"&&e.push("unsupported apiVersion"),n.kind!=="Skill"&&e.push("kind must be Skill"),n.metadata.name||e.push("metadata.name is required"),n.goal.statement||e.push("goal.statement is required"),i.maxIterations<1&&e.push("maxIterations must be at least 1"),i.maxRetriesPerAction<0&&e.push("maxRetriesPerAction must not be negative");let s=n.orchestration.steps??[];if(n.orchestration.mode==="adaptive")(n.orchestration.entry||s.length>0)&&e.push("adaptive orchestration must not define entry or steps");else{let o=new Set;for(let a of s)o.has(a.id)&&e.push(`duplicate step id: ${a.id}`),o.add(a.id),sw(a.action,t,e,a.id);(!n.orchestration.entry||!o.has(n.orchestration.entry))&&e.push(`orchestration.entry references unknown step: ${n.orchestration.entry??"(missing)"}`);for(let a of s){a.next&&!o.has(a.next)&&e.push(`step ${a.id} has unknown next step: ${a.next}`);for(let c of a.completionEvals??[])r.some(l=>l.id===c)||e.push(`step ${a.id} references unknown eval: ${c}`)}}for(let o of n.tools){if(o.kind!=="script")continue;let a=iu.posix.normalize(o.source.replaceAll("\\","/"));(iu.isAbsolute(o.source)||a===".."||a.startsWith("../"))&&e.push(`script tool ${o.id} must reference a relative path inside the Skill package`)}for(let o of i.allowedSkills)n.skills.some(a=>a.id===o)||e.push(`guardrails allow undeclared skill: ${o}`);for(let o of i.allowedAgents)n.agents.some(a=>a.id===o)||e.push(`guardrails allow undeclared agent: ${o}`);for(let o of i.allowedTools)n.tools.some(a=>a.id===o)||e.push(`guardrails allow undeclared tool: ${o}`);return e}function Xi(t){return Array.isArray(t)?t.map(Xi):t&&typeof t=="object"?Object.fromEntries(Object.entries(t).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>[e,Xi(n)])):t}function aw(t){return Xi({...t.packageKind==="runtime"?{packageKind:"runtime"}:{},definition:t.definition,guardrails:t.guardrails,evals:t.evals})}function cw(t){return T.posix.normalize(t.replaceAll("\\","/"))}function kt(t,e,n){let i=T.relative(t,e);if(!(i===""||!T.isAbsolute(i)&&!i.startsWith(`..${T.sep}`)))throw new Error(`${n} resolves outside the Skill package`)}async function ou(t,e,n){let i=cw(e);if(T.posix.isAbsolute(i)||i===".."||i.startsWith("../"))throw new Error(`${n} resolves outside the Skill package`);let r=T.resolve(t,...i.split("/"));kt(t,r,n);let s;try{s=await $.realpath(r)}catch(o){throw o.code==="ENOENT"?new Error(`${n} does not exist: ${e}`,{cause:o}):o}if(kt(t,s,n),!(await $.stat(s)).isFile())throw new Error(`${n} is not a file: ${e}`);return{path:i,content:await $.readFile(s)}}async function lw(t){let e=await $.realpath(t.root),n=t.packageKind==="runtime"?[]:[await ou(e,"SKILL.md","SKILL.md")];for(let i of t.definition.tools)i.kind==="script"&&n.push(await ou(e,i.source,`Script tool ${i.id}`));return n.sort((i,r)=>i.path.localeCompare(r.path))}function uw(t,e){let n=e.map(i=>({path:i.path,sha256:su("sha256").update(i.content).digest("hex")}));return su("sha256").update(JSON.stringify(Xi({package:t,files:n}))).digest("hex")}function lu(t){return JSON.stringify(t,null,2)+`
`}async function uu(t){let e=aw(t),n=await lw(t);return{document:e,files:n,hash:uw(e,n)}}async function Zi(t){return(await uu(t)).hash}async function au(t){try{return await $.access(t),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}async function cu(t,e){try{if((await $.readFile(T.join(t,"sha256"),"utf8")).trim()!==e.hash)throw new Error("hash mismatch");if(await $.readFile(T.join(t,"package.json"),"utf8")!==lu(e.document))throw new Error("package mismatch");for(let r of e.files)if(!(await $.readFile(T.join(t,...r.path.split("/")))).equals(r.content))throw new Error(`file mismatch: ${r.path}`)}catch(n){throw new Error(`Existing Skill snapshot is invalid: ${e.hash}`,{cause:n})}}async function po(t,e){let n=await uu(t),i=T.resolve(e,".comet","skill-snapshots"),r=T.join(i,n.hash);if(await $.mkdir(i,{recursive:!0}),await au(r))return await cu(r,n),{hash:n.hash,snapshotDir:r};let s=T.join(i,`.tmp-${ow()}`);kt(i,s,"Temporary snapshot"),kt(i,r,"Published snapshot");try{await $.mkdir(s);for(let o of n.files){let a=T.join(s,...o.path.split("/"));kt(s,a,`Snapshot file ${o.path}`),await $.mkdir(T.dirname(a),{recursive:!0}),await $.writeFile(a,o.content)}await $.writeFile(T.join(s,"package.json"),lu(n.document)),await $.writeFile(T.join(s,"sha256"),n.hash+`
`),await $.rename(s,r)}catch(o){if(await au(r)){try{await cu(r,n)}finally{await $.rm(s,{recursive:!0,force:!0})}return{hash:n.hash,snapshotDir:r}}throw await $.rm(s,{recursive:!0,force:!0}),o}return{hash:n.hash,snapshotDir:r}}async function mo(t,e){if(!/^[a-f0-9]{64}$/u.test(e))throw new Error(`Invalid Skill snapshot hash: ${e}`);let n=T.resolve(t,".comet","skill-snapshots"),i=T.join(n,e);kt(n,i,"Skill snapshot");try{let r=(await $.readFile(T.join(i,"sha256"),"utf8")).trim();if(r!==e)throw new Error(`stored hash is ${r||"(empty)"}`);let s=T.join(i,"package.json"),o=JSON.parse(await $.readFile(s,"utf8")),a=nu(o,i,s),c=ru(a);if(c.length>0)throw new Error(c.map(u=>` - ${u}`).join(`
`));let l=await Zi(a);if(l!==e)throw new Error(`calculated hash is ${l}`);return a}catch(r){throw new Error(`Skill snapshot is invalid or missing: ${e}`,{cause:r})}}async function fu(t){try{return await ho.access(t),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}function du(t){return fw("sha256").update(t).digest("hex")}function pw(t){return du(JSON.stringify(Object.fromEntries(Object.entries(t).sort(([e],[n])=>e.localeCompare(n)))))}function mw(t){return t.replaceAll(".","_").replaceAll("-","_")}async function hw(t,e){let n=await Xe(t),i=Object.fromEntries(e.filter(o=>o.satisfied&&o.source).map(o=>[mw(o.code),o.source])),r=ye.join(t,"subagent-progress.md");await fu(r)&&(i.subagent_progress=ye.relative(n,r).split(ye.sep).join("/"));let s=e.find(o=>o.code==="design.handoff"&&o.satisfied);return s?.source&&(i.handoff_context=s.source),i}function gw(t,e,n){return[{sequence:1,timestamp:n,type:"run_started",runId:t.runId,data:{skill:t.skill,skillVersion:t.skillVersion,skillHash:t.skillHash}},{sequence:2,timestamp:n,type:"state_migrated",runId:t.runId,data:{kind:"classic",migrationVersion:Ze,profile:e,source:"pre-migration"}}]}async function ww(t){await Promise.all(t.map(e=>ho.rm(e,{recursive:!0,force:!0})))}async function pu(t,e){let n=await Le(t);if(!n.classic)throw new Error("Classic migration requires a legacy state projection");let i=n.classic,r=i.classicProfile??i.workflow;if(n.run){if(i.classicMigration!==Ze)throw new Error("Classic Run exists without a supported classic_migration marker");if(n.run.skill!==e.skillPackage.definition.metadata.name)throw new Error(`Classic Run skill mismatch: expected ${e.skillPackage.definition.metadata.name}, got ${n.run.skill}`);if(await Zi(e.skillPackage)!==n.run.skillHash)return await mo(t,n.run.skillHash),{classic:i,run:n.run,evidence:await wt(t,n),migrated:!1,snapshotDir:ye.join(t,".comet","skill-snapshots",n.run.skillHash)};let d=await po(e.skillPackage,t);return{classic:i,run:n.run,evidence:await wt(t,n),migrated:!1,snapshotDir:d.snapshotDir}}let s=await wt(t,n),o=$i(i,s);if(!e.skillPackage.definition.orchestration.steps?.some(f=>f.id===o))throw new Error(`Classic Skill package does not define resolved step: ${o}`);let a=await Zi(e.skillPackage),c=ye.join(t,".comet","skill-snapshots",a),l=await fu(c),u=[];try{let f=await po(e.skillPackage,t),d=Wl(e.skillPackage,e.runId?.()??dw(),f.hash);d.currentStep=o,o==="completed"&&(d.status="completed");let h={...i,classicProfile:r,classicMigration:Ze},w=await hw(t,s),p=await Xe(t),m=s.find(S=>S.code==="design.handoff"&&S.satisfied),y=null;m?.source&&(y=await gt(p,m.resolvedSource??m.source,{label:"Classic migration handoff context",hooks:e.handoffReadHooks}),await Gi(t,d.contextRef,y),u.push(ye.resolve(t,d.contextRef))),await Vi(t,d.artifactsRef,w),u.push(ye.resolve(t,d.artifactsRef));let g=(e.now?.()??new Date).toISOString(),b={runId:d.runId,stateVersion:1,trajectoryOffset:2,contextHash:y===null?null:du(y),artifactsHash:pw(w),createdAt:g};await zi(t,d.checkpointRef,b),u.push(ye.resolve(t,d.checkpointRef)),u.push(ye.resolve(t,d.trajectoryRef));for(let S of gw(d,r,g))await vt(t,d.trajectoryRef,S);return await et(t,{classic:h,run:d,unknownKeys:n.unknownKeys}),{classic:h,run:d,evidence:s,migrated:!0,snapshotDir:f.snapshotDir}}catch(f){throw await ww(u),l||await ho.rm(c,{recursive:!0,force:!0}),f}}async function yw(t){try{return(await mu.stat(t)).isDirectory()}catch(e){if(e.code==="ENOENT")return!1;throw e}}async function er(t){try{return(await mu.stat(t)).isFile()}catch(e){if(e.code==="ENOENT")return!1;throw e}}async function vw(t){return await yw(t)?await er(z.join(t,"skill.yaml"))?!0:await er(z.join(t,"SKILL.md"))&&await er(z.join(t,"comet","skill.yaml")):!1}function kw(t){return{root:t,packageKind:"runtime",definition:{apiVersion:"comet/v1alpha1",kind:"Skill",metadata:{name:"comet-classic",version:"1",description:"Internal compatibility orchestration for classic Comet full, hotfix, and tweak workflows"},goal:{statement:"Advance or restore a classic Comet Run without changing the user command surface",inputs:[{name:"classic-state",description:"Validated ClassicState consistent with the Run projection",required:!0},{name:"evidence",description:"Structured evidence produced by the Classic Evidence collector",required:!0}],outputs:[{name:"run-state",description:"Atomically synchronized Classic and Run state",required:!0}],success:["Legacy fields and Run fields remain consistent","Every step invokes only a declared public Comet Skill","The completed state passes its completion eval"]},orchestration:{mode:"deterministic",entry:"full.open",steps:[{id:"full.open",action:{type:"invoke_skill",ref:"comet-open"},next:"full.design.handoff"},{id:"full.design.handoff",action:{type:"invoke_skill",ref:"comet-design"},next:"full.design.document"},{id:"full.design.document",action:{type:"invoke_skill",ref:"comet-design"},next:"full.build.plan"},{id:"full.build.plan",action:{type:"invoke_skill",ref:"comet-build"},next:"full.build.plan-ready"},{id:"full.build.plan-ready",action:{type:"invoke_skill",ref:"comet-build"},next:"full.build.configure"},{id:"full.build.configure",action:{type:"invoke_skill",ref:"comet-build"},next:"full.build.execute"},{id:"full.build.execute",action:{type:"invoke_skill",ref:"comet-build"},next:"full.build.complete"},{id:"full.build.complete",action:{type:"invoke_skill",ref:"comet-build"},next:"full.verify.run"},{id:"full.build.fix",action:{type:"invoke_skill",ref:"comet-build"},next:"full.build.execute"},{id:"full.verify.run",action:{type:"invoke_skill",ref:"comet-verify"},next:"full.verify.branch"},{id:"full.verify.branch",action:{type:"invoke_skill",ref:"comet-verify"},next:"full.archive.confirm"},{id:"full.archive.confirm",action:{type:"invoke_skill",ref:"comet-archive"},next:"full.archive.execute"},{id:"full.archive.execute",action:{type:"invoke_skill",ref:"comet-archive"},next:"completed"},{id:"hotfix.open",action:{type:"invoke_skill",ref:"comet-hotfix"},next:"hotfix.build.execute"},{id:"hotfix.build.execute",action:{type:"invoke_skill",ref:"comet-build"},next:"hotfix.build.complete"},{id:"hotfix.build.complete",action:{type:"invoke_skill",ref:"comet-build"},next:"hotfix.verify.run"},{id:"hotfix.verify.run",action:{type:"invoke_skill",ref:"comet-verify"},next:"hotfix.verify.branch"},{id:"hotfix.verify.branch",action:{type:"invoke_skill",ref:"comet-verify"},next:"hotfix.archive.confirm"},{id:"hotfix.archive.confirm",action:{type:"invoke_skill",ref:"comet-archive"},next:"hotfix.archive.execute"},{id:"hotfix.archive.execute",action:{type:"invoke_skill",ref:"comet-archive"},next:"completed"},{id:"tweak.open",action:{type:"invoke_skill",ref:"comet-tweak"},next:"tweak.build.execute"},{id:"tweak.build.execute",action:{type:"invoke_skill",ref:"comet-build"},next:"tweak.build.complete"},{id:"tweak.build.complete",action:{type:"invoke_skill",ref:"comet-build"},next:"tweak.verify.run"},{id:"tweak.verify.run",action:{type:"invoke_skill",ref:"comet-verify"},next:"tweak.verify.branch"},{id:"tweak.verify.branch",action:{type:"invoke_skill",ref:"comet-verify"},next:"tweak.archive.confirm"},{id:"tweak.archive.confirm",action:{type:"invoke_skill",ref:"comet-archive"},next:"tweak.archive.execute"},{id:"tweak.archive.execute",action:{type:"invoke_skill",ref:"comet-archive"},next:"completed"},{id:"completed",action:{type:"checkpoint"},completionEvals:["classic-completed"]}]},skills:[{id:"comet-open"},{id:"comet-design"},{id:"comet-build"},{id:"comet-verify"},{id:"comet-archive"},{id:"comet-hotfix"},{id:"comet-tweak"}],agents:[],tools:[]},guardrails:{allowedSkills:["comet-open","comet-design","comet-build","comet-verify","comet-archive","comet-hotfix","comet-tweak"],allowedAgents:[],allowedTools:[],maxIterations:500,maxRetriesPerAction:3,confirmationRequiredFor:[]},evals:[{id:"classic-completed",scope:"completion",type:"state_equals",field:"status",equals:"completed"}]}}async function bw(){let t=z.dirname(hu(import.meta.url)),e=[process.env.COMET_RUNTIME_CLASSIC_ROOT,z.resolve(t,"..","runtime","classic"),z.resolve(t,"..","..","comet","runtime","classic"),z.resolve(t,"..","..","assets","skills","comet","runtime","classic"),z.resolve("assets","skills","comet","runtime","classic"),process.env.COMET_CLASSIC_SKILL_ROOT,z.resolve(t,"..","..","comet-classic"),z.resolve(t,"..","..","assets","skills","comet-classic"),z.resolve("assets","skills","comet-classic")].filter(n=>!!n);for(let n of e)if(await vw(n))return n;return null}async function Sw(t){return await er(z.join(t,"skill.yaml"))?tu(t):eu(t)}async function gu(t){let e=await bw();return pu(t,{skillPackage:e?await Sw(e):kw(z.dirname(hu(import.meta.url)))})}async function wu(t,e,n,i){let r=await Le(t);if(!r.classic||!r.run)throw new Error("Classic transition requires synchronized Classic and Run projections");let s=await wt(t,{classic:e,run:n,unknownKeys:r.unknownKeys}),o=$i(e,s),a={...n,currentStep:o,iteration:n.iteration+1,status:o==="completed"?"completed":"running"};await et(t,{classic:e,run:a,unknownKeys:r.unknownKeys});let c=await gn(t,a.trajectoryRef);return await vt(t,a.trajectoryRef,{sequence:c.length+1,timestamp:new Date().toISOString(),type:"state_transitioned",runId:a.runId,data:{kind:"classic",fromStep:n.currentStep,toStep:o,...i}}),a}import{AsyncLocalStorage as Cw}from"async_hooks";import{promises as yu}from"fs";import wn from"path";var go=new Cw;function Ew(t,e){let n=wn.relative(t,e);return n===""||!wn.isAbsolute(n)&&n!==".."&&!n.startsWith(`..${wn.sep}`)}async function xw(t){let e=wn.resolve(t.invocationCwd??process.cwd()),n=wn.resolve(t.projectRoot??await Xe(e)),[i,r]=await Promise.all([yu.realpath(e),yu.realpath(n)]);if(!Ew(r,i))throw new Error(`Classic command invocation cwd is outside the discovered project: ${e}`);return{invocationCwd:e,projectRoot:n}}async function vu(t,e){let n=go.getStore();if(n)return e(n);let i=await xw(t);return go.run(i,()=>e(i))}function ku(){let t=go.getStore();if(!t)throw new Error("Classic command project context is unavailable");return t.projectRoot}var Pw="\x1B[32m",_w="\x1B[31m",Rw="\x1B[33m",yo="\x1B[0m";function Me(t){return`${Pw}${t}${yo}`}function G(t){return`${_w}${t}${yo}`}function Ow(t){return`${Rw}${t}${yo}`}var M=class extends Error{constructor(n,i=1){super(n);this.exitCode=i}exitCode},wo=class{stdout=[];stderr=[];toResult(e=0){return{exitCode:e,...this.stdout.length>0?{stdout:this.stdout.join(`
`)+`
`}:{},...this.stderr.length>0?{stderr:this.stderr.join(`
`)+`
`}:{}}}};async function We(t,e,n){return await Ii(t,e,{label:n,expected:"file"})?gt(t,e,{label:n}):null}async function tr(t,e,n,i){await Sl(t,e,n,{label:i})}function Nw(t){let e=Xs(t);if(e)throw new M(G(`ERROR: ${e}`))}function ve(t){return Eu("sha256").update(t).digest("hex")}function Ru(t){return ve(JSON.stringify(Object.fromEntries(Object.entries(t).sort(([e],[n])=>e.localeCompare(n)))))}async function yn(t,e){let n=[`${e}/proposal.md`,`${e}/design.md`,`${e}/tasks.md`],i=`${e}/specs`;if((await le(t,i,{label:"Classic handoff specs directory",expected:"directory"})).exists){let s=(await xu.readdir(i,{withFileTypes:!0})).sort((o,a)=>o.name.localeCompare(a.name));for(let o of s){if(!o.isDirectory()&&!o.isSymbolicLink())continue;let a=`${i}/${o.name}/spec.md`;(await le(t,`${i}/${o.name}`,{label:`Classic handoff spec directory ${o.name}`,expected:"directory"})).exists&&await Ii(t,a,{label:`Classic handoff spec ${o.name}`,expected:"file"})&&n.push(a)}}return n}function bt(t,e,n){let i=Pu.relative(t,n).replaceAll("\\","/");return`${e}/${i}`}async function bu(t,e,n){let i=[];for(let r of await yn(t,e)){let s=bt(e,n,r),o=await We(t,r,`Classic handoff source ${s}`);o!==null&&i.push(`path:${s}`,`sha256:${ve(o)}`)}return Eu("sha256").update(i.join(`
`)).digest("hex")}function Su(t){return t.replace(/\\/gu,"\\\\").replace(/"/gu,'\\"')}function Ou(t){return(t.match(/\n/gu)??[]).length}function Aw(t,e){let n=0;for(let i=0;i<t.length;i+=1)if(t[i]===`
`&&(n+=1,n===e))return t.slice(0,i+1);return t}async function jw(t,e,n,i,r,s,o){let a=["# Comet Design Handoff","",`- Change: ${i}`,"- Phase: design",`- Mode: ${r}`,`- Context hash: ${s}`,"","Generated-by: comet-handoff.sh","","OpenSpec remains the canonical capability spec. This handoff is a deterministic, source-traceable context pack, not an agent-authored summary.",""];for(let c of await yn(t,e)){let l=bt(e,n,c),u=await We(t,c,`Classic handoff source ${l}`);if(u===null)continue;let f=Ou(u);a.push(`## ${l}`,"",`- Source: ${l}`,`- Lines: 1-${f}`,`- SHA256: ${ve(u)}`,""),r==="full"||f<=80?a.push("```md",u,"```"):a.push("[TRUNCATED]","","```md",Aw(u,80),"```","",`Full source: ${l}`),a.push("")}await tr(t,o,a.join(`
`),"Classic handoff markdown output")}async function Iw(t,e,n,i,r,s,o){let a=[];for(let u of await yn(t,e)){let f=bt(e,n,u),d=await We(t,u,`Classic handoff source ${f}`);d!==null&&a.push(` { "path": "${Su(f)}", "sha256": "${ve(d)}" }`)}let c=a.join(`,
`),l=["{",` "change": "${Su(i)}",`,' "phase": "design",',` "mode": "${r}",`,' "canonical_spec": "openspec",',' "generated_by": "comet-handoff.sh",',` "context_hash": "${s}",`,' "files": [',c," ]","}",""].join(`
`);await tr(t,o,l,"Classic handoff JSON output")}async function Tw(t,e){return[`## ${t}`,"",`- Source: ${t}`,`- Lines: 1-${Ou(e)}`,`- SHA256: ${ve(e)}`,"","```md",e,"```",""]}async function qw(t,e,n,i,r,s){let o=["# Comet Spec Context","",`- Change: ${i}`,"- Phase: design","- Mode: beta",`- Context hash: ${r}`,"","Generated-by: comet-handoff.sh","","OpenSpec remains the canonical capability spec. This beta context pack verbatim-projects spec files and references supporting artifacts by hash, not an agent-authored summary.","","## Source References",""];for(let u of await yn(t,e)){let f=bt(e,n,u),d=await We(t,u,`Classic handoff source ${f}`);d!==null&&o.push(`- Source: ${f}`,`- SHA256: ${ve(d)}`)}o.push("","## Acceptance Projection","");let a=`${e}/specs`,c=!1;if((await le(t,a,{label:"Classic handoff specs directory",expected:"directory"})).exists){let u=(await xu.readdir(a,{withFileTypes:!0})).sort((f,d)=>f.name.localeCompare(d.name));for(let f of u){if(!f.isDirectory()&&!f.isSymbolicLink())continue;let d=`${a}/${f.name}/spec.md`,h=await We(t,d,`Classic handoff spec ${f.name}`);h!==null&&(c=!0,o.push(...await Tw(bt(e,n,d),h)))}}c||o.push("No delta spec files found.",""),o.push("Full source files remain canonical. If a required heading or scenario is missing here, regenerate the handoff or read the source spec directly. Supporting files (proposal, design, tasks) are referenced by hash only."),await tr(t,s,o.join(`
`),"Classic handoff spec markdown output")}async function $w(t,e,n,i,r,s){let o=[];for(let a of await yn(t,e)){let c=bt(e,n,a),l=await We(t,a,`Classic handoff source ${c}`);if(l===null)continue;let u=/\/specs\/[^/]+\/spec\.md$/u.test(c)?"spec":"supporting";o.push({path:c,sha256:ve(l),role:u})}await tr(t,s,`${JSON.stringify({change:i,phase:"design",mode:"beta",canonical_spec:"openspec",generated_by:"comet-handoff.sh",context_hash:r,files:o},null,2)}
`,"Classic handoff spec JSON output")}async function Cu(t,e,n){let i=Pu.join(e,".comet.yaml"),r=(0,_u.parseDocument)(await gt(t,i,{label:"Classic change state"}),{uniqueKeys:!1});if(r.errors.length>0)throw new M(`ERROR: Invalid .comet.yaml: ${r.errors[0].message}`);let o=r.toJS()[n];return o==null?"":typeof o=="object"?JSON.stringify(o):String(o)}async function Lw(t,e,n){let i=await gn(t,e.trajectoryRef);i.some(s=>s.type==="recovery_reconciled"&&s.data.kind==="classic-handoff"&&s.data.actionId===n)||await vt(t,e.trajectoryRef,{sequence:i.length+1,timestamp:new Date().toISOString(),type:"recovery_reconciled",runId:e.runId,data:{kind:"classic-handoff",actionId:n}})}async function Dw(t,e,n,i,r,s,o,a){let[c,l,u]=await Promise.all([Bl(e,n.contextRef),co(e,n.artifactsRef),Jl(e,n.checkpointRef)]),[f,d]=await Promise.all([We(t,r,"Classic handoff JSON output"),We(t,s,"Classic handoff markdown output")]);return f===null||d===null||c!==d||l.handoff_context!==o||l.handoff_markdown!==a?!1:u?.runId===n.runId&&u.contextHash===(c===null?null:ve(c))&&u.artifactsHash===Ru(l)&&i.length===64}var Nu=async(t,e)=>vu(e,async()=>{let n=new wo,[i,r,s,o]=t;try{Nw(i);let a=await zs(ku()),c=await El(i,a.projectRoot),l=c.directory,u=L(a.projectRoot,l);if(r==="--hash-only"){if(!c.exists)throw new M(G(`ERROR: change directory not found: ${u}`));for(let Ke of["proposal.md","design.md","tasks.md"])if(!await Qs(a.projectRoot,`${l}/${Ke}`,`Classic handoff source ${Ke}`))throw new M(G(`ERROR: required file missing or empty: ${u}/${Ke}`));return n.stdout.push(await bu(a.projectRoot,l,u)),n.toResult(0)}if(r!=="design"||s!=="--write")throw new M(G("Usage: comet-handoff.mjs <change-name> design --write [--full]"));let f;if(o===void 0||o==="")f="compact";else if(o==="--full")f="full";else throw new M(G("Usage: comet-handoff.mjs <change-name> design --write [--full]"));if(!c.exists)throw new M(G(`ERROR: change directory not found: ${u}`));if(!c.stateExists)throw new M(G(`ERROR: .comet.yaml not found at ${u}/.comet.yaml`));if(await Cu(a.projectRoot,l,"phase")!=="design")throw new M(G("ERROR: design handoff requires phase: design"));for(let Ke of["proposal.md","design.md","tasks.md"])if(!await Qs(a.projectRoot,`${l}/${Ke}`,`Classic handoff source ${Ke}`))throw new M(G(`ERROR: required OpenSpec artifact missing or empty: ${u}/${Ke}`));let d=`${l}/.comet/handoff`;await le(a.projectRoot,`${l}/.comet`,{label:"Classic change runtime directory",expected:"directory"}),await le(a.projectRoot,d,{label:"Classic handoff directory",expected:"directory"});let h=await Cu(a.projectRoot,l,"context_compression")||"off",w,p;if(h==="off")w=`${d}/design-context.json`,p=`${d}/design-context.md`;else if(h==="beta")f==="full"&&n.stderr.push(Ow("[HANDOFF] --full is ignored in beta mode; spec files are projected verbatim")),f="beta",w=`${d}/spec-context.json`,p=`${d}/spec-context.md`;else throw new M([G(`ERROR: invalid context_compression: ${h}`),G("Valid values: off, beta")].join(`
`));let m=L(a.projectRoot,w),y=L(a.projectRoot,p),g=await bu(a.projectRoot,l,u),b=`classic-handoff:${g}`,S=await Le(l);if(!S.classic)throw new M(G("ERROR: design handoff requires Classic state"));let C=S.run?await lo(l,S.run.pendingRef):null,E=C?.id===b&&C.type==="handoff"&&C.ref===g;if(S.classic.handoffHash&&S.classic.handoffHash!==g&&!E)throw new M(G(`ERROR: stale handoff detected: source hash ${g} does not match completed hash ${S.classic.handoffHash}`));await Ti(a.projectRoot,`${l}/.comet`,"Classic change runtime directory"),await Ti(a.projectRoot,d,"Classic handoff directory");let x=await gu(l),k=await lo(l,x.run.pendingRef),A=k?.id===b&&k.type==="handoff"&&k.ref===g;if(x.run.pending&&x.run.pending!==b)throw new M(G(`ERROR: another action is pending: ${x.run.pending}`));if(x.classic.handoffHash===g&&x.classic.handoffContext===m&&!x.run.pending&&!k&&await Dw(a.projectRoot,l,x.run,g,w,p,m,y))return n.stderr.push(Me(`[HANDOFF] wrote ${m}`)),n.stderr.push(Me(`[HANDOFF] wrote ${y}`)),n.stderr.push(Me(`[HANDOFF] handoff_hash=${g}`)),n.toResult(0);let oe={id:b,stepId:x.run.currentStep,type:"handoff",ref:g};await Kl(l,x.run.pendingRef,oe);let J={...x.run,pending:b,status:"waiting"};await et(l,{classic:x.classic,run:J,unknownKeys:(await Le(l)).unknownKeys}),f==="beta"?(await qw(a.projectRoot,l,u,i,g,p),await $w(a.projectRoot,l,u,i,g,w)):(await jw(a.projectRoot,l,u,i,f,g,p),await Iw(a.projectRoot,l,u,i,f,g,w));let R=await gt(a.projectRoot,p,{label:"Classic handoff markdown output"});await Gi(l,J.contextRef,R);let St={...await co(l,J.artifactsRef),handoff_context:m,handoff_markdown:y};await Vi(l,J.artifactsRef,St);let vo={...x.classic,handoffContext:m,handoffHash:g},Be={...J.currentStep==="full.design.handoff"?await wu(l,vo,J,{actionId:b,kind:"classic-handoff"}):J,pending:null,status:"running"};(E||A)&&await Lw(l,Be,b);let ju=await gn(l,Be.trajectoryRef),Iu={runId:Be.runId,stateVersion:Be.iteration,trajectoryOffset:ju.length,contextHash:ve(R),artifactsHash:Ru(St),createdAt:new Date().toISOString()};return await zi(l,Be.checkpointRef,Iu),await et(l,{classic:vo,run:Be,unknownKeys:(await Le(l)).unknownKeys}),await Yl(l,Be.pendingRef),n.stderr.push(Me(`[SET] handoff_context=${w}`)),n.stderr.push(Me(`[SET] handoff_hash=${g}`)),n.stderr.push(Me(`[HANDOFF] wrote ${m}`)),n.stderr.push(Me(`[HANDOFF] wrote ${y}`)),n.stderr.push(Me(`[HANDOFF] handoff_hash=${g}`)),n.toResult(0)}catch(a){if(a instanceof M){for(let c of a.message.split(`
`))n.stderr.push(c);return n.toResult(a.exitCode)}throw a}});function Fw(t,e){return{exitCode:e.exitCode,stdout:JSON.stringify({command:t,exitCode:e.exitCode,...e.stdout===void 0?{}:{stdout:e.stdout},...e.stderr===void 0?{}:{stderr:e.stderr}})+`
`}}async function Au(t,e,n=process.argv.slice(2)){let i=n.includes("--json"),r=n.filter(a=>a!=="--json"),s;try{s=await e(r,{json:i})}catch(a){s={exitCode:70,stderr:a instanceof Error?a.message:String(a)}}let o=i?Fw(t,s):s;return o.stdout&&process.stdout.write(o.stdout),o.stderr&&process.stderr.write(o.stderr+(o.stderr.endsWith(`
`)?"":`
`)),o.exitCode}process.exitCode=await Au("handoff",Nu);