-
Notifications
You must be signed in to change notification settings - Fork 292
Expand file tree
/
Copy pathcomet-native-hook-guard.mjs
More file actions
158 lines (153 loc) · 188 KB
/
Copy pathcomet-native-hook-guard.mjs
File metadata and controls
158 lines (153 loc) · 188 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
#!/usr/bin/env node
import { createRequire as __cometCreateRequire } from 'module';
const require = __cometCreateRequire(import.meta.url);
var Ql=Object.create;var Ka=Object.defineProperty;var Zl=Object.getOwnPropertyDescriptor;var eu=Object.getOwnPropertyNames;var tu=Object.getPrototypeOf,iu=Object.prototype.hasOwnProperty;var Qt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,i)=>(typeof require<"u"?require:e)[i]}):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)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(i){throw e=0,i}};var nu=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of eu(e))!iu.call(t,r)&&r!==i&&Ka(t,r,{get:()=>e[r],enumerable:!(n=Zl(e,r))||n.enumerable});return t};var On=(t,e,i)=>(i=t!=null?Ql(tu(t)):{},nu(e||!t||!t.__esModule?Ka(i,"default",{value:t,enumerable:!0}):i,t));var C=w(j=>{"use strict";var $n=Symbol.for("yaml.alias"),io=Symbol.for("yaml.document"),Zt=Symbol.for("yaml.map"),no=Symbol.for("yaml.pair"),Ln=Symbol.for("yaml.scalar"),ei=Symbol.for("yaml.seq"),ae=Symbol.for("yaml.node.type"),mu=t=>!!t&&typeof t=="object"&&t[ae]===$n,vu=t=>!!t&&typeof t=="object"&&t[ae]===io,gu=t=>!!t&&typeof t=="object"&&t[ae]===Zt,wu=t=>!!t&&typeof t=="object"&&t[ae]===no,ro=t=>!!t&&typeof t=="object"&&t[ae]===Ln,yu=t=>!!t&&typeof t=="object"&&t[ae]===ei;function ao(t){if(t&&typeof t=="object")switch(t[ae]){case Zt:case ei:return!0}return!1}function Nu(t){if(t&&typeof t=="object")switch(t[ae]){case $n:case Zt:case Ln:case ei:return!0}return!1}var bu=t=>(ro(t)||ao(t))&&!!t.anchor;j.ALIAS=$n;j.DOC=io;j.MAP=Zt;j.NODE_TYPE=ae;j.PAIR=no;j.SCALAR=Ln;j.SEQ=ei;j.hasAnchor=bu;j.isAlias=mu;j.isCollection=ao;j.isDocument=vu;j.isMap=gu;j.isNode=Nu;j.isPair=wu;j.isScalar=ro;j.isSeq=yu});var lt=w(Fn=>{"use strict";var O=C(),$=Symbol("break visit"),oo=Symbol("skip children"),Z=Symbol("remove node");function ti(t,e){let i=so(e);O.isDocument(t)?Ve(null,t.contents,i,Object.freeze([t]))===Z&&(t.contents=null):Ve(null,t,i,Object.freeze([]))}ti.BREAK=$;ti.SKIP=oo;ti.REMOVE=Z;function Ve(t,e,i,n){let r=co(t,e,i,n);if(O.isNode(r)||O.isPair(r))return lo(t,n,r),Ve(t,r,i,n);if(typeof r!="symbol"){if(O.isCollection(e)){n=Object.freeze(n.concat(e));for(let a=0;a<e.items.length;++a){let o=Ve(a,e.items[a],i,n);if(typeof o=="number")a=o-1;else{if(o===$)return $;o===Z&&(e.items.splice(a,1),a-=1)}}}else if(O.isPair(e)){n=Object.freeze(n.concat(e));let a=Ve("key",e.key,i,n);if(a===$)return $;a===Z&&(e.key=null);let o=Ve("value",e.value,i,n);if(o===$)return $;o===Z&&(e.value=null)}}return r}async function ii(t,e){let i=so(e);O.isDocument(t)?await We(null,t.contents,i,Object.freeze([t]))===Z&&(t.contents=null):await We(null,t,i,Object.freeze([]))}ii.BREAK=$;ii.SKIP=oo;ii.REMOVE=Z;async function We(t,e,i,n){let r=await co(t,e,i,n);if(O.isNode(r)||O.isPair(r))return lo(t,n,r),We(t,r,i,n);if(typeof r!="symbol"){if(O.isCollection(e)){n=Object.freeze(n.concat(e));for(let a=0;a<e.items.length;++a){let o=await We(a,e.items[a],i,n);if(typeof o=="number")a=o-1;else{if(o===$)return $;o===Z&&(e.items.splice(a,1),a-=1)}}}else if(O.isPair(e)){n=Object.freeze(n.concat(e));let a=await We("key",e.key,i,n);if(a===$)return $;a===Z&&(e.key=null);let o=await We("value",e.value,i,n);if(o===$)return $;o===Z&&(e.value=null)}}return r}function so(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 co(t,e,i,n){if(typeof i=="function")return i(t,e,n);if(O.isMap(e))return i.Map?.(t,e,n);if(O.isSeq(e))return i.Seq?.(t,e,n);if(O.isPair(e))return i.Pair?.(t,e,n);if(O.isScalar(e))return i.Scalar?.(t,e,n);if(O.isAlias(e))return i.Alias?.(t,e,n)}function lo(t,e,i){let n=e[e.length-1];if(O.isCollection(n))n.items[t]=i;else if(O.isPair(n))t==="key"?n.key=i:n.value=i;else if(O.isDocument(n))n.contents=i;else{let r=O.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${r} parent`)}}Fn.visit=ti;Fn.visitAsync=ii});var Mn=w(fo=>{"use strict";var uo=C(),ku=lt(),Su={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Eu=t=>t.replace(/[!,[\]{}]/g,e=>Su[e]),ut=class t{constructor(e,i){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},t.defaultYaml,e),this.tags=Object.assign({},t.defaultTags,i)}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,i){this.atNextDocument&&(this.yaml={explicit:t.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},t.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),r=n.shift();switch(r){case"%TAG":{if(n.length!==2&&(i(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[a,o]=n;return this.tags[a]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return i(0,"%YAML directive should contain exactly one part"),!1;let[a]=n;if(a==="1.1"||a==="1.2")return this.yaml.version=a,!0;{let o=/^\d+\.\d+$/.test(a);return i(6,`Unsupported YAML version ${a}`,o),!1}}default:return i(0,`Unknown directive ${r}`,!0),!1}}tagName(e,i){if(e==="!")return"!";if(e[0]!=="!")return i(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(i(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&i("Verbatim tags must end with a >"),o)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||i(`The ${e} tag has no suffix`);let a=this.tags[n];if(a)try{return a+decodeURIComponent(r)}catch(o){return i(String(o)),null}return n==="!"?e:(i(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[i,n]of Object.entries(this.tags))if(e.startsWith(n))return i+Eu(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let i=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),r;if(e&&n.length>0&&uo.isNode(e.contents)){let a={};ku.visit(e.contents,(o,s)=>{uo.isNode(s)&&s.tag&&(a[s.tag]=!0)}),r=Object.keys(a)}else r=[];for(let[a,o]of n)a==="!!"&&o==="tag:yaml.org,2002:"||(!e||r.some(s=>s.startsWith(o)))&&i.push(`%TAG ${a} ${o}`);return i.join(`
`)}};ut.defaultYaml={explicit:!1,version:"1.2"};ut.defaultTags={"!!":"tag:yaml.org,2002:"};fo.Directives=ut});var ni=w(ft=>{"use strict";var ho=C(),Cu=lt();function Ru(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){let i=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(i)}return!0}function po(t){let e=new Set;return Cu.visit(t,{Value(i,n){n.anchor&&e.add(n.anchor)}}),e}function mo(t,e){for(let i=1;;++i){let n=`${t}${i}`;if(!e.has(n))return n}}function Pu(t,e){let i=[],n=new Map,r=null;return{onAnchor:a=>{i.push(a),r??(r=po(t));let o=mo(e,r);return r.add(o),o},setAnchors:()=>{for(let a of i){let o=n.get(a);if(typeof o=="object"&&o.anchor&&(ho.isScalar(o.node)||ho.isCollection(o.node)))o.node.anchor=o.anchor;else{let s=new Error("Failed to resolve repeated object (this should not happen)");throw s.source=a,s}}},sourceObjects:n}}ft.anchorIsValid=Ru;ft.anchorNames=po;ft.createNodeAnchors=Pu;ft.findNewAnchor=mo});var Bn=w(vo=>{"use strict";function dt(t,e,i,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let r=0,a=n.length;r<a;++r){let o=n[r],s=dt(t,n,String(r),o);s===void 0?delete n[r]:s!==o&&(n[r]=s)}else if(n instanceof Map)for(let r of Array.from(n.keys())){let a=n.get(r),o=dt(t,n,r,a);o===void 0?n.delete(r):o!==a&&n.set(r,o)}else if(n instanceof Set)for(let r of Array.from(n)){let a=dt(t,n,r,r);a===void 0?n.delete(r):a!==r&&(n.delete(r),n.add(a))}else for(let[r,a]of Object.entries(n)){let o=dt(t,n,r,a);o===void 0?delete n[r]:o!==a&&(n[r]=o)}return t.call(e,i,n)}vo.applyReviver=dt});var le=w(wo=>{"use strict";var Au=C();function go(t,e,i){if(Array.isArray(t))return t.map((n,r)=>go(n,String(r),i));if(t&&typeof t.toJSON=="function"){if(!i||!Au.hasAnchor(t))return t.toJSON(e,i);let n={aliasCount:0,count:1,res:void 0};i.anchors.set(t,n),i.onCreate=a=>{n.res=a,delete i.onCreate};let r=t.toJSON(e,i);return i.onCreate&&i.onCreate(r),r}return typeof t=="bigint"&&!i?.keep?Number(t):t}wo.toJS=go});var ri=w(No=>{"use strict";var xu=Bn(),yo=C(),Tu=le(),Dn=class{constructor(e){Object.defineProperty(this,yo.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:i,maxAliasCount:n,onAnchor:r,reviver:a}={}){if(!yo.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:i===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},s=Tu.toJS(this,"",o);if(typeof r=="function")for(let{count:c,res:l}of o.anchors.values())r(l,c);return typeof a=="function"?xu.applyReviver(a,{"":s},"",s):s}};No.NodeBase=Dn});var ht=w(bo=>{"use strict";var Iu=ni(),_u=lt(),ze=C(),Ou=ri(),ju=le(),qn=class extends Ou.NodeBase{constructor(e){super(ze.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,i){if(i?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let n;i?.aliasResolveCache?n=i.aliasResolveCache:(n=[],_u.visit(e,{Node:(a,o)=>{(ze.isAlias(o)||ze.hasAnchor(o))&&n.push(o)}}),i&&(i.aliasResolveCache=n));let r;for(let a of n){if(a===this)break;a.anchor===this.source&&(r=a)}return r}toJSON(e,i){if(!i)return{source:this.source};let{anchors:n,doc:r,maxAliasCount:a}=i,o=this.resolve(r,i);if(!o){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let s=n.get(o);if(s||(ju.toJS(o,null,i),s=n.get(o)),s?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(a>=0&&(s.count+=1,s.aliasCount===0&&(s.aliasCount=ai(r,o,n)),s.count*s.aliasCount>a)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return s.res}toString(e,i,n){let r=`*${this.source}`;if(e){if(Iu.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(a)}if(e.implicitKey)return`${r} `}return r}};function ai(t,e,i){if(ze.isAlias(e)){let n=e.resolve(t),r=i&&n&&i.get(n);return r?r.count*r.aliasCount:0}else if(ze.isCollection(e)){let n=0;for(let r of e.items){let a=ai(t,r,i);a>n&&(n=a)}return n}else if(ze.isPair(e)){let n=ai(t,e.key,i),r=ai(t,e.value,i);return Math.max(n,r)}return 1}bo.Alias=qn});var T=w(Vn=>{"use strict";var Hu=C(),$u=ri(),Lu=le(),Fu=t=>!t||typeof t!="function"&&typeof t!="object",ue=class extends $u.NodeBase{constructor(e){super(Hu.SCALAR),this.value=e}toJSON(e,i){return i?.keep?this.value:Lu.toJS(this.value,e,i)}toString(){return String(this.value)}};ue.BLOCK_FOLDED="BLOCK_FOLDED";ue.BLOCK_LITERAL="BLOCK_LITERAL";ue.PLAIN="PLAIN";ue.QUOTE_DOUBLE="QUOTE_DOUBLE";ue.QUOTE_SINGLE="QUOTE_SINGLE";Vn.Scalar=ue;Vn.isScalarValue=Fu});var pt=w(So=>{"use strict";var Mu=ht(),Ce=C(),ko=T(),Bu="tag:yaml.org,2002:";function Du(t,e,i){if(e){let n=i.filter(a=>a.tag===e),r=n.find(a=>!a.format)??n[0];if(!r)throw new Error(`Tag ${e} not found`);return r}return i.find(n=>n.identify?.(t)&&!n.format)}function qu(t,e,i){if(Ce.isDocument(t)&&(t=t.contents),Ce.isNode(t))return t;if(Ce.isPair(t)){let u=i.schema[Ce.MAP].createNode?.(i.schema,null,i);return u.items.push(t),u}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());let{aliasDuplicateObjects:n,onAnchor:r,onTagObj:a,schema:o,sourceObjects:s}=i,c;if(n&&t&&typeof t=="object"){if(c=s.get(t),c)return c.anchor??(c.anchor=r(t)),new Mu.Alias(c.anchor);c={anchor:null,node:null},s.set(t,c)}e?.startsWith("!!")&&(e=Bu+e.slice(2));let l=Du(t,e,o.tags);if(!l){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){let u=new ko.Scalar(t);return c&&(c.node=u),u}l=t instanceof Map?o[Ce.MAP]:Symbol.iterator in Object(t)?o[Ce.SEQ]:o[Ce.MAP]}a&&(a(l),delete i.onTagObj);let d=l?.createNode?l.createNode(i.schema,t,i):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(i.schema,t,i):new ko.Scalar(t);return e?d.tag=e:l.default||(d.tag=l.tag),c&&(c.node=d),d}So.createNode=qu});var si=w(oi=>{"use strict";var Vu=pt(),ee=C(),Wu=ri();function Wn(t,e,i){let n=i;for(let r=e.length-1;r>=0;--r){let a=e[r];if(typeof a=="number"&&Number.isInteger(a)&&a>=0){let o=[];o[a]=n,n=o}else n=new Map([[a,n]])}return Vu.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}var Eo=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done,zn=class extends Wu.NodeBase{constructor(e,i){super(e),Object.defineProperty(this,"schema",{value:i,configurable:!0,enumerable:!1,writable:!0})}clone(e){let i=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(i.schema=e),i.items=i.items.map(n=>ee.isNode(n)||ee.isPair(n)?n.clone(e):n),this.range&&(i.range=this.range.slice()),i}addIn(e,i){if(Eo(e))this.add(i);else{let[n,...r]=e,a=this.get(n,!0);if(ee.isCollection(a))a.addIn(r,i);else if(a===void 0&&this.schema)this.set(n,Wn(this.schema,r,i));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}deleteIn(e){let[i,...n]=e;if(n.length===0)return this.delete(i);let r=this.get(i,!0);if(ee.isCollection(r))return r.deleteIn(n);throw new Error(`Expected YAML collection at ${i}. Remaining path: ${n}`)}getIn(e,i){let[n,...r]=e,a=this.get(n,!0);return r.length===0?!i&&ee.isScalar(a)?a.value:a:ee.isCollection(a)?a.getIn(r,i):void 0}hasAllNullValues(e){return this.items.every(i=>{if(!ee.isPair(i))return!1;let n=i.value;return n==null||e&&ee.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[i,...n]=e;if(n.length===0)return this.has(i);let r=this.get(i,!0);return ee.isCollection(r)?r.hasIn(n):!1}setIn(e,i){let[n,...r]=e;if(r.length===0)this.set(n,i);else{let a=this.get(n,!0);if(ee.isCollection(a))a.setIn(r,i);else if(a===void 0&&this.schema)this.set(n,Wn(this.schema,r,i));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${r}`)}}};oi.Collection=zn;oi.collectionFromPath=Wn;oi.isEmptyPath=Eo});var mt=w(ci=>{"use strict";var zu=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function Jn(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}var Ju=(t,e,i)=>t.endsWith(`
`)?Jn(i,e):i.includes(`
`)?`
`+Jn(i,e):(t.endsWith(" ")?"":" ")+i;ci.indentComment=Jn;ci.lineComment=Ju;ci.stringifyComment=zu});var Ro=w(vt=>{"use strict";var Gu="flow",Gn="block",li="quoted";function Ku(t,e,i="flow",{indentAtStart:n,lineWidth:r=80,minContentWidth:a=20,onFold:o,onOverflow:s}={}){if(!r||r<0)return t;r<a&&(a=0);let c=Math.max(1+a,1+r-e.length);if(t.length<=c)return t;let l=[],d={},u=r-e.length;typeof n=="number"&&(n>r-Math.max(2,a)?l.push(0):u=r-n);let f,m,g=!1,h=-1,p=-1,y=-1;i===Gn&&(h=Co(t,h,e.length),h!==-1&&(u=h+c));for(let k;k=t[h+=1];){if(i===li&&k==="\\"){switch(p=h,t[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}y=h}if(k===`
`)i===Gn&&(h=Co(t,h,e.length)),u=h+e.length+c,f=void 0;else{if(k===" "&&m&&m!==" "&&m!==`
`&&m!==" "){let S=t[h+1];S&&S!==" "&&S!==`
`&&S!==" "&&(f=h)}if(h>=u)if(f)l.push(f),u=f+c,f=void 0;else if(i===li){for(;m===" "||m===" ";)m=k,k=t[h+=1],g=!0;let S=h>y+1?h-2:p-1;if(d[S])return t;l.push(S),d[S]=!0,u=S+c,f=void 0}else g=!0}m=k}if(g&&s&&s(),l.length===0)return t;o&&o();let N=t.slice(0,l[0]);for(let k=0;k<l.length;++k){let S=l[k],E=l[k+1]||t.length;S===0?N=`
${e}${t.slice(0,E)}`:(i===li&&d[S]&&(N+=`${t[S]}\\`),N+=`
${e}${t.slice(S+1,E)}`)}return N}function Co(t,e,i){let n=e,r=e+1,a=t[r];for(;a===" "||a===" ";)if(e<r+i)a=t[++e];else{do a=t[++e];while(a&&a!==`
`);n=e,r=e+1,a=t[r]}return n}vt.FOLD_BLOCK=Gn;vt.FOLD_FLOW=Gu;vt.FOLD_QUOTED=li;vt.foldFlowLines=Ku});var wt=w(Po=>{"use strict";var W=T(),fe=Ro(),fi=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),di=t=>/^(%|---|\.\.\.)/m.test(t);function Uu(t,e,i){if(!e||e<0)return!1;let n=e-i,r=t.length;if(r<=n)return!1;for(let a=0,o=0;a<r;++a)if(t[a]===`
`){if(a-o>n)return!0;if(o=a+1,r-o<=n)return!1}return!0}function gt(t,e){let i=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return i;let{implicitKey:n}=e,r=e.options.doubleQuotedMinMultiLineLength,a=e.indent||(di(t)?" ":""),o="",s=0;for(let c=0,l=i[c];l;l=i[++c])if(l===" "&&i[c+1]==="\\"&&i[c+2]==="n"&&(o+=i.slice(s,c)+"\\ ",c+=1,s=c,l="\\"),l==="\\")switch(i[c+1]){case"u":{o+=i.slice(s,c);let d=i.substr(c+2,4);switch(d){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:d.substr(0,2)==="00"?o+="\\x"+d.substr(2):o+=i.substr(c,6)}c+=5,s=c+1}break;case"n":if(n||i[c+2]==='"'||i.length<r)c+=1;else{for(o+=i.slice(s,c)+`
`;i[c+2]==="\\"&&i[c+3]==="n"&&i[c+4]!=='"';)o+=`
`,c+=2;o+=a,i[c+2]===" "&&(o+="\\"),c+=1,s=c+1}break;default:c+=1}return o=s?o+i.slice(s):i,n?o:fe.foldFlowLines(o,a,fe.FOLD_QUOTED,fi(e,!1))}function Kn(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
`)||/[ \t]\n|\n[ \t]/.test(t))return gt(t,e);let i=e.indent||(di(t)?" ":""),n="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
${i}`)+"'";return e.implicitKey?n:fe.foldFlowLines(n,i,fe.FOLD_FLOW,fi(e,!1))}function Je(t,e){let{singleQuote:i}=e.options,n;if(i===!1)n=gt;else{let r=t.includes('"'),a=t.includes("'");r&&!a?n=Kn:a&&!r?n=gt:n=i?Kn:gt}return n(t,e)}var Un;try{Un=new RegExp(`(^|(?<!
))
+(?!
|$)`,"g")}catch{Un=/\n+(?!\n|$)/g}function ui({comment:t,type:e,value:i},n,r,a){let{blockQuote:o,commentString:s,lineWidth:c}=n.options;if(!o||/\n[\t ]+$/.test(i))return Je(i,n);let l=n.indent||(n.forceBlockIndent||di(i)?" ":""),d=o==="literal"?!0:o==="folded"||e===W.Scalar.BLOCK_FOLDED?!1:e===W.Scalar.BLOCK_LITERAL?!0:!Uu(i,c,l.length);if(!i)return d?`|
`:`>
`;let u,f;for(f=i.length;f>0;--f){let E=i[f-1];if(E!==`
`&&E!==" "&&E!==" ")break}let m=i.substring(f),g=m.indexOf(`
`);g===-1?u="-":i===m||g!==m.length-1?(u="+",a&&a()):u="",m&&(i=i.slice(0,-m.length),m[m.length-1]===`
`&&(m=m.slice(0,-1)),m=m.replace(Un,`$&${l}`));let h=!1,p,y=-1;for(p=0;p<i.length;++p){let E=i[p];if(E===" ")h=!0;else if(E===`
`)y=p;else break}let N=i.substring(0,y<p?y+1:p);N&&(i=i.substring(N.length),N=N.replace(/\n+/g,`$&${l}`));let S=(h?l?"2":"1":"")+u;if(t&&(S+=" "+s(t.replace(/ ?[\r\n]+/g," ")),r&&r()),!d){let E=i.replace(/\n+/g,`
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),v=!1,R=fi(n,!0);o!=="folded"&&e!==W.Scalar.BLOCK_FOLDED&&(R.onOverflow=()=>{v=!0});let b=fe.foldFlowLines(`${N}${E}${m}`,l,fe.FOLD_BLOCK,R);if(!v)return`>${S}
${l}${b}`}return i=i.replace(/\n+/g,`$&${l}`),`|${S}
${l}${N}${i}${m}`}function Yu(t,e,i,n){let{type:r,value:a}=t,{actualString:o,implicitKey:s,indent:c,indentStep:l,inFlow:d}=e;if(s&&a.includes(`
`)||d&&/[[\]{},]/.test(a))return Je(a,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return s||d||!a.includes(`
`)?Je(a,e):ui(t,e,i,n);if(!s&&!d&&r!==W.Scalar.PLAIN&&a.includes(`
`))return ui(t,e,i,n);if(di(a)){if(c==="")return e.forceBlockIndent=!0,ui(t,e,i,n);if(s&&c===l)return Je(a,e)}let u=a.replace(/\n+/g,`$&
${c}`);if(o){let f=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(u),{compat:m,tags:g}=e.doc.schema;if(g.some(f)||m?.some(f))return Je(a,e)}return s?u:fe.foldFlowLines(u,c,fe.FOLD_FLOW,fi(e,!1))}function Xu(t,e,i,n){let{implicitKey:r,inFlow:a}=e,o=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)}),{type:s}=t;s!==W.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(s=W.Scalar.QUOTE_DOUBLE);let c=d=>{switch(d){case W.Scalar.BLOCK_FOLDED:case W.Scalar.BLOCK_LITERAL:return r||a?Je(o.value,e):ui(o,e,i,n);case W.Scalar.QUOTE_DOUBLE:return gt(o.value,e);case W.Scalar.QUOTE_SINGLE:return Kn(o.value,e);case W.Scalar.PLAIN:return Yu(o,e,i,n);default:return null}},l=c(s);if(l===null){let{defaultKeyType:d,defaultStringType:u}=e.options,f=r&&d||u;if(l=c(f),l===null)throw new Error(`Unsupported default string type ${f}`)}return l}Po.stringifyString=Xu});var yt=w(Yn=>{"use strict";var Qu=ni(),de=C(),Zu=mt(),ef=wt();function tf(t,e){let i=Object.assign({blockQuote:!0,commentString:Zu.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),n;switch(i.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:t,flowCollectionPadding:i.flowCollectionPadding?" ":"",indent:"",indentStep:typeof i.indent=="number"?" ".repeat(i.indent):" ",inFlow:n,options:i}}function nf(t,e){if(e.tag){let r=t.filter(a=>a.tag===e.tag);if(r.length>0)return r.find(a=>a.format===e.format)??r[0]}let i,n;if(de.isScalar(e)){n=e.value;let r=t.filter(a=>a.identify?.(n));if(r.length>1){let a=r.filter(o=>o.test);a.length>0&&(r=a)}i=r.find(a=>a.format===e.format)??r.find(a=>!a.format)}else n=e,i=t.find(r=>r.nodeClass&&n instanceof r.nodeClass);if(!i){let r=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${r} value`)}return i}function rf(t,e,{anchors:i,doc:n}){if(!n.directives)return"";let r=[],a=(de.isScalar(t)||de.isCollection(t))&&t.anchor;a&&Qu.anchorIsValid(a)&&(i.add(a),r.push(`&${a}`));let o=t.tag??(e.default?null:e.tag);return o&&r.push(n.directives.tagString(o)),r.join(" ")}function af(t,e,i,n){if(de.isPair(t))return t.toString(e,i,n);if(de.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,a=de.isNode(t)?t:e.doc.createNode(t,{onTagObj:c=>r=c});r??(r=nf(e.doc.schema.tags,a));let o=rf(a,r,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let s=typeof r.stringify=="function"?r.stringify(a,e,i,n):de.isScalar(a)?ef.stringifyString(a,e,i,n):a.toString(e,i,n);return o?de.isScalar(a)||s[0]==="{"||s[0]==="["?`${o} ${s}`:`${o}
${e.indent}${s}`:s}Yn.createStringifyContext=tf;Yn.stringify=af});var Io=w(To=>{"use strict";var oe=C(),Ao=T(),xo=yt(),Nt=mt();function of({key:t,value:e},i,n,r){let{allNullValues:a,doc:o,indent:s,indentStep:c,options:{commentString:l,indentSeq:d,simpleKeys:u}}=i,f=oe.isNode(t)&&t.comment||null;if(u){if(f)throw new Error("With simple keys, key nodes cannot have comments");if(oe.isCollection(t)||!oe.isNode(t)&&typeof t=="object"){let R="With simple keys, collection cannot be used as a key value";throw new Error(R)}}let m=!u&&(!t||f&&e==null&&!i.inFlow||oe.isCollection(t)||(oe.isScalar(t)?t.type===Ao.Scalar.BLOCK_FOLDED||t.type===Ao.Scalar.BLOCK_LITERAL:typeof t=="object"));i=Object.assign({},i,{allNullValues:!1,implicitKey:!m&&(u||!a),indent:s+c});let g=!1,h=!1,p=xo.stringify(t,i,()=>g=!0,()=>h=!0);if(!m&&!i.inFlow&&p.length>1024){if(u)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(i.inFlow){if(a||e==null)return g&&n&&n(),p===""?"?":m?`? ${p}`:p}else if(a&&!u||e==null&&m)return p=`? ${p}`,f&&!g?p+=Nt.lineComment(p,i.indent,l(f)):h&&r&&r(),p;g&&(f=null),m?(f&&(p+=Nt.lineComment(p,i.indent,l(f))),p=`? ${p}
${s}:`):(p=`${p}:`,f&&(p+=Nt.lineComment(p,i.indent,l(f))));let y,N,k;oe.isNode(e)?(y=!!e.spaceBefore,N=e.commentBefore,k=e.comment):(y=!1,N=null,k=null,e&&typeof e=="object"&&(e=o.createNode(e))),i.implicitKey=!1,!m&&!f&&oe.isScalar(e)&&(i.indentAtStart=p.length+1),h=!1,!d&&c.length>=2&&!i.inFlow&&!m&&oe.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(i.indent=i.indent.substring(2));let S=!1,E=xo.stringify(e,i,()=>S=!0,()=>h=!0),v=" ";if(f||y||N){if(v=y?`
`:"",N){let R=l(N);v+=`
${Nt.indentComment(R,i.indent)}`}E===""&&!i.inFlow?v===`
`&&k&&(v=`
`):v+=`
${i.indent}`}else if(!m&&oe.isCollection(e)){let R=E[0],b=E.indexOf(`
`),x=b!==-1,F=i.inFlow??e.flow??e.items.length===0;if(x||!F){let qe=!1;if(x&&(R==="&"||R==="!")){let _=E.indexOf(" ");R==="&"&&_!==-1&&_<b&&E[_+1]==="!"&&(_=E.indexOf(" ",_+1)),(_===-1||b<_)&&(qe=!0)}qe||(v=`
${i.indent}`)}}else(E===""||E[0]===`
`)&&(v="");return p+=v+E,i.inFlow?S&&n&&n():k&&!S?p+=Nt.lineComment(p,i.indent,l(k)):h&&r&&r(),p}To.stringifyPair=of});var Qn=w(Xn=>{"use strict";var _o=Qt("process");function sf(t,...e){t==="debug"&&console.log(...e)}function cf(t,e){(t==="debug"||t==="warn")&&(typeof _o.emitWarning=="function"?_o.emitWarning(e):console.warn(e))}Xn.debug=sf;Xn.warn=cf});var gi=w(vi=>{"use strict";var mi=C(),Oo=T(),hi="<<",pi={identify:t=>t===hi||typeof t=="symbol"&&t.description===hi,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Oo.Scalar(Symbol(hi)),{addToJSMap:jo}),stringify:()=>hi},lf=(t,e)=>(pi.identify(e)||mi.isScalar(e)&&(!e.type||e.type===Oo.Scalar.PLAIN)&&pi.identify(e.value))&&t?.doc.schema.tags.some(i=>i.tag===pi.tag&&i.default);function jo(t,e,i){let n=Ho(t,i);if(mi.isSeq(n))for(let r of n.items)Zn(t,e,r);else if(Array.isArray(n))for(let r of n)Zn(t,e,r);else Zn(t,e,n)}function Zn(t,e,i){let n=Ho(t,i);if(!mi.isMap(n))throw new Error("Merge sources must be maps or map aliases");let r=n.toJSON(null,t,Map);for(let[a,o]of r)e instanceof Map?e.has(a)||e.set(a,o):e instanceof Set?e.add(a):Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}function Ho(t,e){return t&&mi.isAlias(e)?e.resolve(t.doc,t):e}vi.addMergeToJSMap=jo;vi.isMergeKey=lf;vi.merge=pi});var tr=w(Fo=>{"use strict";var uf=Qn(),$o=gi(),ff=yt(),Lo=C(),er=le();function df(t,e,{key:i,value:n}){if(Lo.isNode(i)&&i.addToJSMap)i.addToJSMap(t,e,n);else if($o.isMergeKey(t,i))$o.addMergeToJSMap(t,e,n);else{let r=er.toJS(i,"",t);if(e instanceof Map)e.set(r,er.toJS(n,r,t));else if(e instanceof Set)e.add(r);else{let a=hf(i,r,t),o=er.toJS(n,a,t);a in e?Object.defineProperty(e,a,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[a]=o}}return e}function hf(t,e,i){if(e===null)return"";if(typeof e!="object")return String(e);if(Lo.isNode(t)&&i?.doc){let n=ff.createStringifyContext(i.doc,{});n.anchors=new Set;for(let a of i.anchors.keys())n.anchors.add(a.anchor);n.inFlow=!0,n.inStringifyKey=!0;let r=t.toString(n);if(!i.mapKeyWarned){let a=JSON.stringify(r);a.length>40&&(a=a.substring(0,36)+'..."'),uf.warn(i.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${a}. Set mapAsMap: true to use object keys.`),i.mapKeyWarned=!0}return r}return JSON.stringify(e)}Fo.addPairToJSMap=df});var he=w(ir=>{"use strict";var Mo=pt(),pf=Io(),mf=tr(),wi=C();function vf(t,e,i){let n=Mo.createNode(t,void 0,i),r=Mo.createNode(e,void 0,i);return new yi(n,r)}var yi=class t{constructor(e,i=null){Object.defineProperty(this,wi.NODE_TYPE,{value:wi.PAIR}),this.key=e,this.value=i}clone(e){let{key:i,value:n}=this;return wi.isNode(i)&&(i=i.clone(e)),wi.isNode(n)&&(n=n.clone(e)),new t(i,n)}toJSON(e,i){let n=i?.mapAsMap?new Map:{};return mf.addPairToJSMap(i,n,this)}toString(e,i,n){return e?.doc?pf.stringifyPair(this,e,i,n):JSON.stringify(this)}};ir.Pair=yi;ir.createPair=vf});var nr=w(Do=>{"use strict";var Re=C(),Bo=yt(),Ni=mt();function gf(t,e,i){return(e.inFlow??t.flow?yf:wf)(t,e,i)}function wf({comment:t,items:e},i,{blockItemPrefix:n,flowChars:r,itemIndent:a,onChompKeep:o,onComment:s}){let{indent:c,options:{commentString:l}}=i,d=Object.assign({},i,{indent:a,type:null}),u=!1,f=[];for(let g=0;g<e.length;++g){let h=e[g],p=null;if(Re.isNode(h))!u&&h.spaceBefore&&f.push(""),bi(i,f,h.commentBefore,u),h.comment&&(p=h.comment);else if(Re.isPair(h)){let N=Re.isNode(h.key)?h.key:null;N&&(!u&&N.spaceBefore&&f.push(""),bi(i,f,N.commentBefore,u))}u=!1;let y=Bo.stringify(h,d,()=>p=null,()=>u=!0);p&&(y+=Ni.lineComment(y,a,l(p))),u&&p&&(u=!1),f.push(n+y)}let m;if(f.length===0)m=r.start+r.end;else{m=f[0];for(let g=1;g<f.length;++g){let h=f[g];m+=h?`
${c}${h}`:`
`}}return t?(m+=`
`+Ni.indentComment(l(t),c),s&&s()):u&&o&&o(),m}function yf({items:t},e,{flowChars:i,itemIndent:n}){let{indent:r,indentStep:a,flowCollectionPadding:o,options:{commentString:s}}=e;n+=a;let c=Object.assign({},e,{indent:n,inFlow:!0,type:null}),l=!1,d=0,u=[];for(let g=0;g<t.length;++g){let h=t[g],p=null;if(Re.isNode(h))h.spaceBefore&&u.push(""),bi(e,u,h.commentBefore,!1),h.comment&&(p=h.comment);else if(Re.isPair(h)){let N=Re.isNode(h.key)?h.key:null;N&&(N.spaceBefore&&u.push(""),bi(e,u,N.commentBefore,!1),N.comment&&(l=!0));let k=Re.isNode(h.value)?h.value:null;k?(k.comment&&(p=k.comment),k.commentBefore&&(l=!0)):h.value==null&&N?.comment&&(p=N.comment)}p&&(l=!0);let y=Bo.stringify(h,c,()=>p=null);l||(l=u.length>d||y.includes(`
`)),g<t.length-1?y+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(l||(l=u.reduce((N,k)=>N+k.length+2,2)+(y.length+2)>e.options.lineWidth)),l&&(y+=",")),p&&(y+=Ni.lineComment(y,n,s(p))),u.push(y),d=u.length}let{start:f,end:m}=i;if(u.length===0)return f+m;if(!l){let g=u.reduce((h,p)=>h+p.length+2,2);l=e.options.lineWidth>0&&g>e.options.lineWidth}if(l){let g=f;for(let h of u)g+=h?`
${a}${r}${h}`:`
`;return`${g}
${r}${m}`}else return`${f}${o}${u.join(" ")}${o}${m}`}function bi({indent:t,options:{commentString:e}},i,n,r){if(n&&r&&(n=n.replace(/^\n+/,"")),n){let a=Ni.indentComment(e(n),t);i.push(a.trimStart())}}Do.stringifyCollection=gf});var me=w(ar=>{"use strict";var Nf=nr(),bf=tr(),kf=si(),pe=C(),ki=he(),Sf=T();function bt(t,e){let i=pe.isScalar(e)?e.value:e;for(let n of t)if(pe.isPair(n)&&(n.key===e||n.key===i||pe.isScalar(n.key)&&n.key.value===i))return n}var rr=class extends kf.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(pe.MAP,e),this.items=[]}static from(e,i,n){let{keepUndefined:r,replacer:a}=n,o=new this(e),s=(c,l)=>{if(typeof a=="function")l=a.call(i,c,l);else if(Array.isArray(a)&&!a.includes(c))return;(l!==void 0||r)&&o.items.push(ki.createPair(c,l,n))};if(i instanceof Map)for(let[c,l]of i)s(c,l);else if(i&&typeof i=="object")for(let c of Object.keys(i))s(c,i[c]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,i){let n;pe.isPair(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new ki.Pair(e,e?.value):n=new ki.Pair(e.key,e.value);let r=bt(this.items,n.key),a=this.schema?.sortMapEntries;if(r){if(!i)throw new Error(`Key ${n.key} already set`);pe.isScalar(r.value)&&Sf.isScalarValue(n.value)?r.value.value=n.value:r.value=n.value}else if(a){let o=this.items.findIndex(s=>a(n,s)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){let i=bt(this.items,e);return i?this.items.splice(this.items.indexOf(i),1).length>0:!1}get(e,i){let r=bt(this.items,e)?.value;return(!i&&pe.isScalar(r)?r.value:r)??void 0}has(e){return!!bt(this.items,e)}set(e,i){this.add(new ki.Pair(e,i),!0)}toJSON(e,i,n){let r=n?new n:i?.mapAsMap?new Map:{};i?.onCreate&&i.onCreate(r);for(let a of this.items)bf.addPairToJSMap(i,r,a);return r}toString(e,i,n){if(!e)return JSON.stringify(this);for(let r of this.items)if(!pe.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})),Nf.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:i})}};ar.YAMLMap=rr;ar.findPair=bt});var Ge=w(Vo=>{"use strict";var Ef=C(),qo=me(),Cf={collection:"map",default:!0,nodeClass:qo.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(t,e){return Ef.isMap(t)||e("Expected a mapping for this tag"),t},createNode:(t,e,i)=>qo.YAMLMap.from(t,e,i)};Vo.map=Cf});var ve=w(Wo=>{"use strict";var Rf=pt(),Pf=nr(),Af=si(),Ei=C(),xf=T(),Tf=le(),or=class extends Af.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Ei.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let i=Si(e);return typeof i!="number"?!1:this.items.splice(i,1).length>0}get(e,i){let n=Si(e);if(typeof n!="number")return;let r=this.items[n];return!i&&Ei.isScalar(r)?r.value:r}has(e){let i=Si(e);return typeof i=="number"&&i<this.items.length}set(e,i){let n=Si(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);let r=this.items[n];Ei.isScalar(r)&&xf.isScalarValue(i)?r.value=i:this.items[n]=i}toJSON(e,i){let n=[];i?.onCreate&&i.onCreate(n);let r=0;for(let a of this.items)n.push(Tf.toJS(a,String(r++),i));return n}toString(e,i,n){return e?Pf.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:i}):JSON.stringify(this)}static from(e,i,n){let{replacer:r}=n,a=new this(e);if(i&&Symbol.iterator in Object(i)){let o=0;for(let s of i){if(typeof r=="function"){let c=i instanceof Set?s:String(o++);s=r.call(i,c,s)}a.items.push(Rf.createNode(s,void 0,n))}}return a}};function Si(t){let e=Ei.isScalar(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Wo.YAMLSeq=or});var Ke=w(Jo=>{"use strict";var If=C(),zo=ve(),_f={collection:"seq",default:!0,nodeClass:zo.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(t,e){return If.isSeq(t)||e("Expected a sequence for this tag"),t},createNode:(t,e,i)=>zo.YAMLSeq.from(t,e,i)};Jo.seq=_f});var kt=w(Go=>{"use strict";var Of=wt(),jf={identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify(t,e,i,n){return e=Object.assign({actualString:!0},e),Of.stringifyString(t,e,i,n)}};Go.string=jf});var Ci=w(Yo=>{"use strict";var Ko=T(),Uo={identify:t=>t==null,createNode:()=>new Ko.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Ko.Scalar(null),stringify:({source:t},e)=>typeof t=="string"&&Uo.test.test(t)?t:e.options.nullStr};Yo.nullTag=Uo});var sr=w(Qo=>{"use strict";var Hf=T(),Xo={identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:t=>new Hf.Scalar(t[0]==="t"||t[0]==="T"),stringify({source:t,value:e},i){if(t&&Xo.test.test(t)){let n=t[0]==="t"||t[0]==="T";if(e===n)return t}return e?i.options.trueStr:i.options.falseStr}};Qo.boolTag=Xo});var Ue=w(Zo=>{"use strict";function $f({format:t,minFractionDigits:e,tag:i,value:n}){if(typeof n=="bigint")return String(n);let r=typeof n=="number"?n:Number(n);if(!isFinite(r))return isNaN(r)?".nan":r<0?"-.inf":".inf";let a=Object.is(n,-0)?"-0":JSON.stringify(n);if(!t&&e&&(!i||i==="tag:yaml.org,2002:float")&&/^-?\d/.test(a)&&!a.includes("e")){let o=a.indexOf(".");o<0&&(o=a.length,a+=".");let s=e-(a.length-o-1);for(;s-- >0;)a+="0"}return a}Zo.stringifyNumber=$f});var lr=w(Ri=>{"use strict";var Lf=T(),cr=Ue(),Ff={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:cr.stringifyNumber},Mf={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():cr.stringifyNumber(t)}},Bf={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 Lf.Scalar(parseFloat(t)),i=t.indexOf(".");return i!==-1&&t[t.length-1]==="0"&&(e.minFractionDigits=t.length-i-1),e},stringify:cr.stringifyNumber};Ri.float=Bf;Ri.floatExp=Mf;Ri.floatNaN=Ff});var fr=w(Ai=>{"use strict";var es=Ue(),Pi=t=>typeof t=="bigint"||Number.isInteger(t),ur=(t,e,i,{intAsBigInt:n})=>n?BigInt(t):parseInt(t.substring(e),i);function ts(t,e,i){let{value:n}=t;return Pi(n)&&n>=0?i+n.toString(e):es.stringifyNumber(t)}var Df={identify:t=>Pi(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(t,e,i)=>ur(t,2,8,i),stringify:t=>ts(t,8,"0o")},qf={identify:Pi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(t,e,i)=>ur(t,0,10,i),stringify:es.stringifyNumber},Vf={identify:t=>Pi(t)&&t>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(t,e,i)=>ur(t,2,16,i),stringify:t=>ts(t,16,"0x")};Ai.int=qf;Ai.intHex=Vf;Ai.intOct=Df});var ns=w(is=>{"use strict";var Wf=Ge(),zf=Ci(),Jf=Ke(),Gf=kt(),Kf=sr(),dr=lr(),hr=fr(),Uf=[Wf.map,Jf.seq,Gf.string,zf.nullTag,Kf.boolTag,hr.intOct,hr.int,hr.intHex,dr.floatNaN,dr.floatExp,dr.float];is.schema=Uf});var os=w(as=>{"use strict";var Yf=T(),Xf=Ge(),Qf=Ke();function rs(t){return typeof t=="bigint"||Number.isInteger(t)}var xi=({value:t})=>JSON.stringify(t),Zf=[{identify:t=>typeof t=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:t=>t,stringify:xi},{identify:t=>t==null,createNode:()=>new Yf.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:xi},{identify:t=>typeof t=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:t=>t==="true",stringify:xi},{identify:rs,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(t,e,{intAsBigInt:i})=>i?BigInt(t):parseInt(t,10),stringify:({value:t})=>rs(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:xi}],ed={default:!0,tag:"",test:/^/,resolve(t,e){return e(`Unresolved plain scalar ${JSON.stringify(t)}`),t}},td=[Xf.map,Qf.seq].concat(Zf,ed);as.schema=td});var mr=w(ss=>{"use strict";var St=Qt("buffer"),pr=T(),id=wt(),nd={identify:t=>t instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(t,e){if(typeof St.Buffer=="function")return St.Buffer.from(t,"base64");if(typeof atob=="function"){let i=atob(t.replace(/[\n\r]/g,"")),n=new Uint8Array(i.length);for(let r=0;r<i.length;++r)n[r]=i.charCodeAt(r);return n}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),t},stringify({comment:t,type:e,value:i},n,r,a){if(!i)return"";let o=i,s;if(typeof St.Buffer=="function")s=o instanceof St.Buffer?o.toString("base64"):St.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]);s=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=pr.Scalar.BLOCK_LITERAL),e!==pr.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),l=Math.ceil(s.length/c),d=new Array(l);for(let u=0,f=0;u<l;++u,f+=c)d[u]=s.substr(f,c);s=d.join(e===pr.Scalar.BLOCK_LITERAL?`
`:" ")}return id.stringifyString({comment:t,type:e,value:s},n,r,a)}};ss.binary=nd});var _i=w(Ii=>{"use strict";var Ti=C(),vr=he(),rd=T(),ad=ve();function cs(t,e){if(Ti.isSeq(t))for(let i=0;i<t.items.length;++i){let n=t.items[i];if(!Ti.isPair(n)){if(Ti.isMap(n)){n.items.length>1&&e("Each pair must have its own sequence indicator");let r=n.items[0]||new vr.Pair(new rd.Scalar(null));if(n.commentBefore&&(r.key.commentBefore=r.key.commentBefore?`${n.commentBefore}
${r.key.commentBefore}`:n.commentBefore),n.comment){let a=r.value??r.key;a.comment=a.comment?`${n.comment}
${a.comment}`:n.comment}n=r}t.items[i]=Ti.isPair(n)?n:new vr.Pair(n)}}else e("Expected a sequence for this tag");return t}function ls(t,e,i){let{replacer:n}=i,r=new ad.YAMLSeq(t);r.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof n=="function"&&(o=n.call(e,String(a++),o));let s,c;if(Array.isArray(o))if(o.length===2)s=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)s=l[0],c=o[s];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else s=o;r.items.push(vr.createPair(s,c,i))}return r}var od={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:cs,createNode:ls};Ii.createPairs=ls;Ii.pairs=od;Ii.resolvePairs=cs});var yr=w(wr=>{"use strict";var us=C(),gr=le(),Et=me(),sd=ve(),fs=_i(),Pe=class t extends sd.YAMLSeq{constructor(){super(),this.add=Et.YAMLMap.prototype.add.bind(this),this.delete=Et.YAMLMap.prototype.delete.bind(this),this.get=Et.YAMLMap.prototype.get.bind(this),this.has=Et.YAMLMap.prototype.has.bind(this),this.set=Et.YAMLMap.prototype.set.bind(this),this.tag=t.tag}toJSON(e,i){if(!i)return super.toJSON(e);let n=new Map;i?.onCreate&&i.onCreate(n);for(let r of this.items){let a,o;if(us.isPair(r)?(a=gr.toJS(r.key,"",i),o=gr.toJS(r.value,a,i)):a=gr.toJS(r,"",i),n.has(a))throw new Error("Ordered maps must not include duplicate keys");n.set(a,o)}return n}static from(e,i,n){let r=fs.createPairs(e,i,n),a=new this;return a.items=r.items,a}};Pe.tag="tag:yaml.org,2002:omap";var cd={collection:"seq",identify:t=>t instanceof Map,nodeClass:Pe,default:!1,tag:"tag:yaml.org,2002:omap",resolve(t,e){let i=fs.resolvePairs(t,e),n=[];for(let{key:r}of i.items)us.isScalar(r)&&(n.includes(r.value)?e(`Ordered maps must not include duplicate keys: ${r.value}`):n.push(r.value));return Object.assign(new Pe,i)},createNode:(t,e,i)=>Pe.from(t,e,i)};wr.YAMLOMap=Pe;wr.omap=cd});var vs=w(Nr=>{"use strict";var ds=T();function hs({value:t,source:e},i){return e&&(t?ps:ms).test.test(e)?e:t?i.options.trueStr:i.options.falseStr}var ps={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 ds.Scalar(!0),stringify:hs},ms={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 ds.Scalar(!1),stringify:hs};Nr.falseTag=ms;Nr.trueTag=ps});var gs=w(Oi=>{"use strict";var ld=T(),br=Ue(),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:br.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.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 ld.Scalar(parseFloat(t.replace(/_/g,""))),i=t.indexOf(".");if(i!==-1){let n=t.substring(i+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:br.stringifyNumber};Oi.float=dd;Oi.floatExp=fd;Oi.floatNaN=ud});var ys=w(Rt=>{"use strict";var ws=Ue(),Ct=t=>typeof t=="bigint"||Number.isInteger(t);function ji(t,e,i,{intAsBigInt:n}){let r=t[0];if((r==="-"||r==="+")&&(e+=1),t=t.substring(e).replace(/_/g,""),n){switch(i){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 a=parseInt(t,i);return r==="-"?-1*a:a}function kr(t,e,i){let{value:n}=t;if(Ct(n)){let r=n.toString(e);return n<0?"-"+i+r.substr(1):i+r}return ws.stringifyNumber(t)}var hd={identify:Ct,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(t,e,i)=>ji(t,2,2,i),stringify:t=>kr(t,2,"0b")},pd={identify:Ct,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(t,e,i)=>ji(t,1,8,i),stringify:t=>kr(t,8,"0")},md={identify:Ct,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(t,e,i)=>ji(t,0,10,i),stringify:ws.stringifyNumber},vd={identify:Ct,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(t,e,i)=>ji(t,2,16,i),stringify:t=>kr(t,16,"0x")};Rt.int=md;Rt.intBin=hd;Rt.intHex=vd;Rt.intOct=pd});var Er=w(Sr=>{"use strict";var Li=C(),Hi=he(),$i=me(),Ae=class t extends $i.YAMLMap{constructor(e){super(e),this.tag=t.tag}add(e){let i;Li.isPair(e)?i=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?i=new Hi.Pair(e.key,null):i=new Hi.Pair(e,null),$i.findPair(this.items,i.key)||this.items.push(i)}get(e,i){let n=$i.findPair(this.items,e);return!i&&Li.isPair(n)?Li.isScalar(n.key)?n.key.value:n.key:n}set(e,i){if(typeof i!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof i}`);let n=$i.findPair(this.items,e);n&&!i?this.items.splice(this.items.indexOf(n),1):!n&&i&&this.items.push(new Hi.Pair(e))}toJSON(e,i){return super.toJSON(e,i,Set)}toString(e,i,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),i,n);throw new Error("Set items must all have null values")}static from(e,i,n){let{replacer:r}=n,a=new this(e);if(i&&Symbol.iterator in Object(i))for(let o of i)typeof r=="function"&&(o=r.call(i,o,o)),a.items.push(Hi.createPair(o,null,n));return a}};Ae.tag="tag:yaml.org,2002:set";var gd={collection:"map",identify:t=>t instanceof Set,nodeClass:Ae,default:!1,tag:"tag:yaml.org,2002:set",createNode:(t,e,i)=>Ae.from(t,e,i),resolve(t,e){if(Li.isMap(t)){if(t.hasAllNullValues(!0))return Object.assign(new Ae,t);e("Set items must all have null values")}else e("Expected a mapping for this tag");return t}};Sr.YAMLSet=Ae;Sr.set=gd});var Rr=w(Fi=>{"use strict";var wd=Ue();function Cr(t,e){let i=t[0],n=i==="-"||i==="+"?t.substring(1):t,r=o=>e?BigInt(o):Number(o),a=n.replace(/_/g,"").split(":").reduce((o,s)=>o*r(60)+r(s),r(0));return i==="-"?r(-1)*a:a}function Ns(t){let{value:e}=t,i=o=>o;if(typeof e=="bigint")i=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return wd.stringifyNumber(t);let n="";e<0&&(n="-",e*=i(-1));let r=i(60),a=[e%r];return e<60?a.unshift(0):(e=(e-a[0])/r,a.unshift(e%r),e>=60&&(e=(e-a[0])/r,a.unshift(e))),n+a.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var yd={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:i})=>Cr(t,i),stringify:Ns},Nd={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=>Cr(t,!1),stringify:Ns},bs={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(bs.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,i,n,r,a,o,s]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(i,n-1,r,a||0,o||0,s||0,c),d=e[8];if(d&&d!=="Z"){let u=Cr(d,!1);Math.abs(u)<30&&(u*=60),l-=6e4*u}return new Date(l)},stringify:({value:t})=>t?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Fi.floatTime=Nd;Fi.intTime=yd;Fi.timestamp=bs});var Es=w(Ss=>{"use strict";var bd=Ge(),kd=Ci(),Sd=Ke(),Ed=kt(),Cd=mr(),ks=vs(),Pr=gs(),Mi=ys(),Rd=gi(),Pd=yr(),Ad=_i(),xd=Er(),Ar=Rr(),Td=[bd.map,Sd.seq,Ed.string,kd.nullTag,ks.trueTag,ks.falseTag,Mi.intBin,Mi.intOct,Mi.int,Mi.intHex,Pr.floatNaN,Pr.floatExp,Pr.float,Cd.binary,Rd.merge,Pd.omap,Ad.pairs,xd.set,Ar.intTime,Ar.floatTime,Ar.timestamp];Ss.schema=Td});var js=w(Ir=>{"use strict";var As=Ge(),Id=Ci(),xs=Ke(),_d=kt(),Od=sr(),xr=lr(),Tr=fr(),jd=ns(),Hd=os(),Ts=mr(),Pt=gi(),Is=yr(),_s=_i(),Cs=Es(),Os=Er(),Bi=Rr(),Rs=new Map([["core",jd.schema],["failsafe",[As.map,xs.seq,_d.string]],["json",Hd.schema],["yaml11",Cs.schema],["yaml-1.1",Cs.schema]]),Ps={binary:Ts.binary,bool:Od.boolTag,float:xr.float,floatExp:xr.floatExp,floatNaN:xr.floatNaN,floatTime:Bi.floatTime,int:Tr.int,intHex:Tr.intHex,intOct:Tr.intOct,intTime:Bi.intTime,map:As.map,merge:Pt.merge,null:Id.nullTag,omap:Is.omap,pairs:_s.pairs,seq:xs.seq,set:Os.set,timestamp:Bi.timestamp},$d={"tag:yaml.org,2002:binary":Ts.binary,"tag:yaml.org,2002:merge":Pt.merge,"tag:yaml.org,2002:omap":Is.omap,"tag:yaml.org,2002:pairs":_s.pairs,"tag:yaml.org,2002:set":Os.set,"tag:yaml.org,2002:timestamp":Bi.timestamp};function Ld(t,e,i){let n=Rs.get(e);if(n&&!t)return i&&!n.includes(Pt.merge)?n.concat(Pt.merge):n.slice();let r=n;if(!r)if(Array.isArray(t))r=[];else{let a=Array.from(Rs.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${a} or define customTags array`)}if(Array.isArray(t))for(let a of t)r=r.concat(a);else typeof t=="function"&&(r=t(r.slice()));return i&&(r=r.concat(Pt.merge)),r.reduce((a,o)=>{let s=typeof o=="string"?Ps[o]:o;if(!s){let c=JSON.stringify(o),l=Object.keys(Ps).map(d=>JSON.stringify(d)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return a.includes(s)||a.push(s),a},[])}Ir.coreKnownTags=$d;Ir.getTags=Ld});var jr=w(Hs=>{"use strict";var _r=C(),Fd=Ge(),Md=Ke(),Bd=kt(),Di=js(),Dd=(t,e)=>t.key<e.key?-1:t.key>e.key?1:0,Or=class t{constructor({compat:e,customTags:i,merge:n,resolveKnownTags:r,schema:a,sortMapEntries:o,toStringDefaults:s}){this.compat=Array.isArray(e)?Di.getTags(e,"compat"):e?Di.getTags(null,e):null,this.name=typeof a=="string"&&a||"core",this.knownTags=r?Di.coreKnownTags:{},this.tags=Di.getTags(i,this.name,n),this.toStringOptions=s??null,Object.defineProperty(this,_r.MAP,{value:Fd.map}),Object.defineProperty(this,_r.SCALAR,{value:Bd.string}),Object.defineProperty(this,_r.SEQ,{value:Md.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?Dd:null}clone(){let e=Object.create(t.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};Hs.Schema=Or});var Ls=w($s=>{"use strict";var qd=C(),Hr=yt(),At=mt();function Vd(t,e){let i=[],n=e.directives===!0;if(e.directives!==!1&&t.directives){let c=t.directives.toString(t);c?(i.push(c),n=!0):t.directives.docStart&&(n=!0)}n&&i.push("---");let r=Hr.createStringifyContext(t,e),{commentString:a}=r.options;if(t.commentBefore){i.length!==1&&i.unshift("");let c=a(t.commentBefore);i.unshift(At.indentComment(c,""))}let o=!1,s=null;if(t.contents){if(qd.isNode(t.contents)){if(t.contents.spaceBefore&&n&&i.push(""),t.contents.commentBefore){let d=a(t.contents.commentBefore);i.push(At.indentComment(d,""))}r.forceBlockIndent=!!t.comment,s=t.contents.comment}let c=s?void 0:()=>o=!0,l=Hr.stringify(t.contents,r,()=>s=null,c);s&&(l+=At.lineComment(l,"",a(s))),(l[0]==="|"||l[0]===">")&&i[i.length-1]==="---"?i[i.length-1]=`--- ${l}`:i.push(l)}else i.push(Hr.stringify(t.contents,r));if(t.directives?.docEnd)if(t.comment){let c=a(t.comment);c.includes(`
`)?(i.push("..."),i.push(At.indentComment(c,""))):i.push(`... ${c}`)}else i.push("...");else{let c=t.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||s)&&i[i.length-1]!==""&&i.push(""),i.push(At.indentComment(a(c),"")))}return i.join(`
`)+`
`}$s.stringifyDocument=Vd});var xt=w(Fs=>{"use strict";var Wd=ht(),Ye=si(),M=C(),zd=he(),Jd=le(),Gd=jr(),Kd=Ls(),$r=ni(),Ud=Bn(),Yd=pt(),Lr=Mn(),Fr=class t{constructor(e,i,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,M.NODE_TYPE,{value:M.DOC});let r=null;typeof i=="function"||Array.isArray(i)?r=i:n===void 0&&i&&(n=i,i=void 0);let a=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=a;let{version:o}=a;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Lr.Directives({version:o}),this.setSchema(o,n),this.contents=e===void 0?null:this.createNode(e,r,n)}clone(){let e=Object.create(t.prototype,{[M.NODE_TYPE]:{value:M.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=M.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Xe(this.contents)&&this.contents.add(e)}addIn(e,i){Xe(this.contents)&&this.contents.addIn(e,i)}createAlias(e,i){if(!e.anchor){let n=$r.anchorNames(this);e.anchor=!i||n.has(i)?$r.findNewAnchor(i||"a",n):i}return new Wd.Alias(e.anchor)}createNode(e,i,n){let r;if(typeof i=="function")e=i.call({"":e},"",e),r=i;else if(Array.isArray(i)){let p=N=>typeof N=="number"||N instanceof String||N instanceof Number,y=i.filter(p).map(String);y.length>0&&(i=i.concat(y)),r=i}else n===void 0&&i&&(n=i,i=void 0);let{aliasDuplicateObjects:a,anchorPrefix:o,flow:s,keepUndefined:c,onTagObj:l,tag:d}=n??{},{onAnchor:u,setAnchors:f,sourceObjects:m}=$r.createNodeAnchors(this,o||"a"),g={aliasDuplicateObjects:a??!0,keepUndefined:c??!1,onAnchor:u,onTagObj:l,replacer:r,schema:this.schema,sourceObjects:m},h=Yd.createNode(e,d,g);return s&&M.isCollection(h)&&(h.flow=!0),f(),h}createPair(e,i,n={}){let r=this.createNode(e,null,n),a=this.createNode(i,null,n);return new zd.Pair(r,a)}delete(e){return Xe(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Ye.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):Xe(this.contents)?this.contents.deleteIn(e):!1}get(e,i){return M.isCollection(this.contents)?this.contents.get(e,i):void 0}getIn(e,i){return Ye.isEmptyPath(e)?!i&&M.isScalar(this.contents)?this.contents.value:this.contents:M.isCollection(this.contents)?this.contents.getIn(e,i):void 0}has(e){return M.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return Ye.isEmptyPath(e)?this.contents!==void 0:M.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,i){this.contents==null?this.contents=Ye.collectionFromPath(this.schema,[e],i):Xe(this.contents)&&this.contents.set(e,i)}setIn(e,i){Ye.isEmptyPath(e)?this.contents=i:this.contents==null?this.contents=Ye.collectionFromPath(this.schema,Array.from(e),i):Xe(this.contents)&&this.contents.setIn(e,i)}setSchema(e,i={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Lr.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Lr.Directives({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=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(i.schema instanceof Object)this.schema=i.schema;else if(n)this.schema=new Gd.Schema(Object.assign(n,i));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:i,mapAsMap:n,maxAliasCount:r,onAnchor:a,reviver:o}={}){let s={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof r=="number"?r:100},c=Jd.toJS(this.contents,i??"",s);if(typeof a=="function")for(let{count:l,res:d}of s.anchors.values())a(d,l);return typeof o=="function"?Ud.applyReviver(o,{"":c},"",c):c}toJSON(e,i){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:i})}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 i=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${i}`)}return Kd.stringifyDocument(this,e)}};function Xe(t){if(M.isCollection(t))return!0;throw new Error("Expected a YAML collection as document contents")}Fs.Document=Fr});var _t=w(It=>{"use strict";var Tt=class extends Error{constructor(e,i,n,r){super(),this.name=e,this.code=n,this.message=r,this.pos=i}},Mr=class extends Tt{constructor(e,i,n){super("YAMLParseError",e,i,n)}},Br=class extends Tt{constructor(e,i,n){super("YAMLWarning",e,i,n)}},Xd=(t,e)=>i=>{if(i.pos[0]===-1)return;i.linePos=i.pos.map(s=>e.linePos(s));let{line:n,col:r}=i.linePos[0];i.message+=` at line ${n}, column ${r}`;let a=r-1,o=t.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(a>=60&&o.length>80){let s=Math.min(a-39,o.length-79);o="…"+o.substring(s),a-=s-1}if(o.length>80&&(o=o.substring(0,79)+"…"),n>1&&/^ *$/.test(o.substring(0,a))){let s=t.substring(e.lineStarts[n-2],e.lineStarts[n-1]);s.length>80&&(s=s.substring(0,79)+`…
`),o=s+o}if(/[^ ]/.test(o)){let s=1,c=i.linePos[1];c?.line===n&&c.col>r&&(s=Math.max(1,Math.min(c.col-r,80-a)));let l=" ".repeat(a)+"^".repeat(s);i.message+=`:
${o}
${l}
`}};It.YAMLError=Tt;It.YAMLParseError=Mr;It.YAMLWarning=Br;It.prettifyError=Xd});var Ot=w(Ms=>{"use strict";function Qd(t,{flow:e,indicator:i,next:n,offset:r,onError:a,parentIndent:o,startOnNewline:s}){let c=!1,l=s,d=s,u="",f="",m=!1,g=!1,h=null,p=null,y=null,N=null,k=null,S=null,E=null;for(let b of t)switch(g&&(b.type!=="space"&&b.type!=="newline"&&b.type!=="comma"&&a(b.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g=!1),h&&(l&&b.type!=="comment"&&b.type!=="newline"&&a(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),b.type){case"space":!e&&(i!=="doc-start"||n?.type!=="flow-collection")&&b.source.includes(" ")&&(h=b),d=!0;break;case"comment":{d||a(b,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let x=b.source.substring(1)||" ";u?u+=f+x:u=x,f="",l=!1;break}case"newline":l?u?u+=b.source:(!S||i!=="seq-item-ind")&&(c=!0):f+=b.source,l=!0,m=!0,(p||y)&&(N=b),d=!0;break;case"anchor":p&&a(b,"MULTIPLE_ANCHORS","A node can have at most one anchor"),b.source.endsWith(":")&&a(b.offset+b.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),p=b,E??(E=b.offset),l=!1,d=!1,g=!0;break;case"tag":{y&&a(b,"MULTIPLE_TAGS","A node can have at most one tag"),y=b,E??(E=b.offset),l=!1,d=!1,g=!0;break}case i:(p||y)&&a(b,"BAD_PROP_ORDER",`Anchors and tags must be after the ${b.source} indicator`),S&&a(b,"UNEXPECTED_TOKEN",`Unexpected ${b.source} in ${e??"collection"}`),S=b,l=i==="seq-item-ind"||i==="explicit-key-ind",d=!1;break;case"comma":if(e){k&&a(b,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),k=b,l=!1,d=!1;break}default:a(b,"UNEXPECTED_TOKEN",`Unexpected ${b.type} token`),l=!1,d=!1}let v=t[t.length-1],R=v?v.offset+v.source.length:r;return g&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&a(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(l&&h.indent<=o||n?.type==="block-map"||n?.type==="block-seq")&&a(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:k,found:S,spaceBefore:c,comment:u,hasNewline:m,anchor:p,tag:y,newlineAfterProp:N,end:R,start:E??R}}Ms.resolveProps=Qd});var qi=w(Bs=>{"use strict";function Dr(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 i of e.start)if(i.type==="newline")return!0;if(e.sep){for(let i of e.sep)if(i.type==="newline")return!0}if(Dr(e.key)||Dr(e.value))return!0}return!1;default:return!0}}Bs.containsNewline=Dr});var qr=w(Ds=>{"use strict";var Zd=qi();function eh(t,e,i){if(e?.type==="flow-collection"){let n=e.end[0];n.indent===t&&(n.source==="]"||n.source==="}")&&Zd.containsNewline(e)&&i(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Ds.flowIndentCheck=eh});var Vr=w(Vs=>{"use strict";var qs=C();function th(t,e,i){let{uniqueKeys:n}=t.options;if(n===!1)return!1;let r=typeof n=="function"?n:(a,o)=>a===o||qs.isScalar(a)&&qs.isScalar(o)&&a.value===o.value;return e.some(a=>r(a.key,i))}Vs.mapIncludes=th});var Us=w(Ks=>{"use strict";var Ws=he(),ih=me(),zs=Ot(),nh=qi(),Js=qr(),rh=Vr(),Gs="All mapping items must start at the same column";function ah({composeNode:t,composeEmptyNode:e},i,n,r,a){let o=a?.nodeClass??ih.YAMLMap,s=new o(i.schema);i.atRoot&&(i.atRoot=!1);let c=n.offset,l=null;for(let d of n.items){let{start:u,key:f,sep:m,value:g}=d,h=zs.resolveProps(u,{indicator:"explicit-key-ind",next:f??m?.[0],offset:c,onError:r,parentIndent:n.indent,startOnNewline:!0}),p=!h.found;if(p){if(f&&(f.type==="block-seq"?r(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in f&&f.indent!==n.indent&&r(c,"BAD_INDENT",Gs)),!h.anchor&&!h.tag&&!m){l=h.end,h.comment&&(s.comment?s.comment+=`
`+h.comment:s.comment=h.comment);continue}(h.newlineAfterProp||nh.containsNewline(f))&&r(f??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==n.indent&&r(c,"BAD_INDENT",Gs);i.atKey=!0;let y=h.end,N=f?t(i,f,h,r):e(i,y,u,null,h,r);i.schema.compat&&Js.flowIndentCheck(n.indent,f,r),i.atKey=!1,rh.mapIncludes(i,s.items,N)&&r(y,"DUPLICATE_KEY","Map keys must be unique");let k=zs.resolveProps(m??[],{indicator:"map-value-ind",next:g,offset:N.range[2],onError:r,parentIndent:n.indent,startOnNewline:!f||f.type==="block-scalar"});if(c=k.end,k.found){p&&(g?.type==="block-map"&&!k.hasNewline&&r(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),i.options.strict&&h.start<k.found.offset-1024&&r(N.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let S=g?t(i,g,k,r):e(i,c,m,null,k,r);i.schema.compat&&Js.flowIndentCheck(n.indent,g,r),c=S.range[2];let E=new Ws.Pair(N,S);i.options.keepSourceTokens&&(E.srcToken=d),s.items.push(E)}else{p&&r(N.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),k.comment&&(N.comment?N.comment+=`
`+k.comment:N.comment=k.comment);let S=new Ws.Pair(N);i.options.keepSourceTokens&&(S.srcToken=d),s.items.push(S)}}return l&&l<c&&r(l,"IMPOSSIBLE","Map comment with trailing content"),s.range=[n.offset,c,l??c],s}Ks.resolveBlockMap=ah});var Xs=w(Ys=>{"use strict";var oh=ve(),sh=Ot(),ch=qr();function lh({composeNode:t,composeEmptyNode:e},i,n,r,a){let o=a?.nodeClass??oh.YAMLSeq,s=new o(i.schema);i.atRoot&&(i.atRoot=!1),i.atKey&&(i.atKey=!1);let c=n.offset,l=null;for(let{start:d,value:u}of n.items){let f=sh.resolveProps(d,{indicator:"seq-item-ind",next:u,offset:c,onError:r,parentIndent:n.indent,startOnNewline:!0});if(!f.found)if(f.anchor||f.tag||u)u?.type==="block-seq"?r(f.end,"BAD_INDENT","All sequence items must start at the same column"):r(c,"MISSING_CHAR","Sequence item without - indicator");else{l=f.end,f.comment&&(s.comment=f.comment);continue}let m=u?t(i,u,f,r):e(i,f.end,d,null,f,r);i.schema.compat&&ch.flowIndentCheck(n.indent,u,r),c=m.range[2],s.items.push(m)}return s.range=[n.offset,c,l??c],s}Ys.resolveBlockSeq=lh});var Qe=w(Qs=>{"use strict";function uh(t,e,i,n){let r="";if(t){let a=!1,o="";for(let s of t){let{source:c,type:l}=s;switch(l){case"space":a=!0;break;case"comment":{i&&!a&&n(s,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=c.substring(1)||" ";r?r+=o+d:r=d,o="";break}case"newline":r&&(o+=c),a=!0;break;default:n(s,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}e+=c.length}}return{comment:r,offset:e}}Qs.resolveEnd=uh});var ic=w(tc=>{"use strict";var fh=C(),dh=he(),Zs=me(),hh=ve(),ph=Qe(),ec=Ot(),mh=qi(),vh=Vr(),Wr="Block collections are not allowed within flow collections",zr=t=>t&&(t.type==="block-map"||t.type==="block-seq");function gh({composeNode:t,composeEmptyNode:e},i,n,r,a){let o=n.start.source==="{",s=o?"flow map":"flow sequence",c=a?.nodeClass??(o?Zs.YAMLMap:hh.YAMLSeq),l=new c(i.schema);l.flow=!0;let d=i.atRoot;d&&(i.atRoot=!1),i.atKey&&(i.atKey=!1);let u=n.offset+n.start.source.length;for(let p=0;p<n.items.length;++p){let y=n.items[p],{start:N,key:k,sep:S,value:E}=y,v=ec.resolveProps(N,{flow:s,indicator:"explicit-key-ind",next:k??S?.[0],offset:u,onError:r,parentIndent:n.indent,startOnNewline:!1});if(!v.found){if(!v.anchor&&!v.tag&&!S&&!E){p===0&&v.comma?r(v.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${s}`):p<n.items.length-1&&r(v.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${s}`),v.comment&&(l.comment?l.comment+=`
`+v.comment:l.comment=v.comment),u=v.end;continue}!o&&i.options.strict&&mh.containsNewline(k)&&r(k,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(p===0)v.comma&&r(v.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${s}`);else if(v.comma||r(v.start,"MISSING_CHAR",`Missing , between ${s} items`),v.comment){let R="";e:for(let b of N)switch(b.type){case"comma":case"space":break;case"comment":R=b.source.substring(1);break e;default:break e}if(R){let b=l.items[l.items.length-1];fh.isPair(b)&&(b=b.value??b.key),b.comment?b.comment+=`
`+R:b.comment=R,v.comment=v.comment.substring(R.length+1)}}if(!o&&!S&&!v.found){let R=E?t(i,E,v,r):e(i,v.end,S,null,v,r);l.items.push(R),u=R.range[2],zr(E)&&r(R.range,"BLOCK_IN_FLOW",Wr)}else{i.atKey=!0;let R=v.end,b=k?t(i,k,v,r):e(i,R,N,null,v,r);zr(k)&&r(b.range,"BLOCK_IN_FLOW",Wr),i.atKey=!1;let x=ec.resolveProps(S??[],{flow:s,indicator:"map-value-ind",next:E,offset:b.range[2],onError:r,parentIndent:n.indent,startOnNewline:!1});if(x.found){if(!o&&!v.found&&i.options.strict){if(S)for(let _ of S){if(_===x.found)break;if(_.type==="newline"){r(_,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}v.start<x.found.offset-1024&&r(x.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else E&&("source"in E&&E.source?.[0]===":"?r(E,"MISSING_CHAR",`Missing space after : in ${s}`):r(x.start,"MISSING_CHAR",`Missing , or : between ${s} items`));let F=E?t(i,E,x,r):x.found?e(i,x.end,S,null,x,r):null;F?zr(E)&&r(F.range,"BLOCK_IN_FLOW",Wr):x.comment&&(b.comment?b.comment+=`
`+x.comment:b.comment=x.comment);let qe=new dh.Pair(b,F);if(i.options.keepSourceTokens&&(qe.srcToken=y),o){let _=l;vh.mapIncludes(i,_.items,b)&&r(R,"DUPLICATE_KEY","Map keys must be unique"),_.items.push(qe)}else{let _=new Zs.YAMLMap(i.schema);_.flow=!0,_.items.push(qe);let Ga=(F??b).range;_.range=[b.range[0],Ga[1],Ga[2]],l.items.push(_)}u=F?F.range[2]:x.end}}let f=o?"}":"]",[m,...g]=n.end,h=u;if(m?.source===f)h=m.offset+m.source.length;else{let p=s[0].toUpperCase()+s.substring(1),y=d?`${p} must end with a ${f}`:`${p} in block collection must be sufficiently indented and end with a ${f}`;r(u,d?"MISSING_CHAR":"BAD_INDENT",y),m&&m.source.length!==1&&g.unshift(m)}if(g.length>0){let p=ph.resolveEnd(g,h,i.options.strict,r);p.comment&&(l.comment?l.comment+=`
`+p.comment:l.comment=p.comment),l.range=[n.offset,h,p.offset]}else l.range=[n.offset,h,h];return l}tc.resolveFlowCollection=gh});var rc=w(nc=>{"use strict";var wh=C(),yh=T(),Nh=me(),bh=ve(),kh=Us(),Sh=Xs(),Eh=ic();function Jr(t,e,i,n,r,a){let o=i.type==="block-map"?kh.resolveBlockMap(t,e,i,n,a):i.type==="block-seq"?Sh.resolveBlockSeq(t,e,i,n,a):Eh.resolveFlowCollection(t,e,i,n,a),s=o.constructor;return r==="!"||r===s.tagName?(o.tag=s.tagName,o):(r&&(o.tag=r),o)}function Ch(t,e,i,n,r){let a=n.tag,o=a?e.directives.tagName(a.source,f=>r(a,"TAG_RESOLVE_FAILED",f)):null;if(i.type==="block-seq"){let{anchor:f,newlineAfterProp:m}=n,g=f&&a?f.offset>a.offset?f:a:f??a;g&&(!m||m.offset<g.offset)&&r(g,"MISSING_CHAR","Missing newline after block sequence props")}let s=i.type==="block-map"?"map":i.type==="block-seq"?"seq":i.start.source==="{"?"map":"seq";if(!a||!o||o==="!"||o===Nh.YAMLMap.tagName&&s==="map"||o===bh.YAMLSeq.tagName&&s==="seq")return Jr(t,e,i,r,o);let c=e.schema.tags.find(f=>f.tag===o&&f.collection===s);if(!c){let f=e.schema.knownTags[o];if(f?.collection===s)e.schema.tags.push(Object.assign({},f,{default:!1})),c=f;else return f?r(a,"BAD_COLLECTION_TYPE",`${f.tag} used for ${s} collection, but expects ${f.collection??"scalar"}`,!0):r(a,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),Jr(t,e,i,r,o)}let l=Jr(t,e,i,r,o,c),d=c.resolve?.(l,f=>r(a,"TAG_RESOLVE_FAILED",f),e.options)??l,u=wh.isNode(d)?d:new yh.Scalar(d);return u.range=l.range,u.tag=o,c?.format&&(u.format=c.format),u}nc.composeCollection=Ch});var Kr=w(ac=>{"use strict";var Gr=T();function Rh(t,e,i){let n=e.offset,r=Ph(e,t.options.strict,i);if(!r)return{value:"",type:null,comment:"",range:[n,n,n]};let a=r.mode===">"?Gr.Scalar.BLOCK_FOLDED:Gr.Scalar.BLOCK_LITERAL,o=e.source?Ah(e.source):[],s=o.length;for(let h=o.length-1;h>=0;--h){let p=o[h][1];if(p===""||p==="\r")s=h;else break}if(s===0){let h=r.chomp==="+"&&o.length>0?`
`.repeat(Math.max(1,o.length-1)):"",p=n+r.length;return e.source&&(p+=e.source.length),{value:h,type:a,comment:r.comment,range:[n,p,p]}}let c=e.indent+r.indent,l=e.offset+r.length,d=0;for(let h=0;h<s;++h){let[p,y]=o[h];if(y===""||y==="\r")r.indent===0&&p.length>c&&(c=p.length);else{p.length<c&&i(l+p.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),r.indent===0&&(c=p.length),d=h,c===0&&!t.atRoot&&i(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=p.length+y.length+1}for(let h=o.length-1;h>=s;--h)o[h][0].length>c&&(s=h+1);let u="",f="",m=!1;for(let h=0;h<d;++h)u+=o[h][0].slice(c)+`
`;for(let h=d;h<s;++h){let[p,y]=o[h];l+=p.length+y.length+1;let N=y[y.length-1]==="\r";if(N&&(y=y.slice(0,-1)),y&&p.length<c){let S=`Block scalar lines must not be less indented than their ${r.indent?"explicit indentation indicator":"first line"}`;i(l-y.length-(N?2:1),"BAD_INDENT",S),p=""}a===Gr.Scalar.BLOCK_LITERAL?(u+=f+p.slice(c)+y,f=`
`):p.length>c||y[0]===" "?(f===" "?f=`
`:!m&&f===`
`&&(f=`
`),u+=f+p.slice(c)+y,f=`
`,m=!0):y===""?f===`
`?u+=`
`:f=`
`:(u+=f+y,f=" ",m=!1)}switch(r.chomp){case"-":break;case"+":for(let h=s;h<o.length;++h)u+=`
`+o[h][0].slice(c);u[u.length-1]!==`
`&&(u+=`
`);break;default:u+=`
`}let g=n+r.length+e.source.length;return{value:u,type:a,comment:r.comment,range:[n,g,g]}}function Ph({offset:t,props:e},i,n){if(e[0].type!=="block-scalar-header")return n(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:r}=e[0],a=r[0],o=0,s="",c=-1;for(let f=1;f<r.length;++f){let m=r[f];if(!s&&(m==="-"||m==="+"))s=m;else{let g=Number(m);!o&&g?o=g:c===-1&&(c=t+f)}}c!==-1&&n(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${r}`);let l=!1,d="",u=r.length;for(let f=1;f<e.length;++f){let m=e[f];switch(m.type){case"space":l=!0;case"newline":u+=m.source.length;break;case"comment":i&&!l&&n(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=m.source.length,d=m.source.substring(1);break;case"error":n(m,"UNEXPECTED_TOKEN",m.message),u+=m.source.length;break;default:{let g=`Unexpected token in block scalar header: ${m.type}`;n(m,"UNEXPECTED_TOKEN",g);let h=m.source;h&&typeof h=="string"&&(u+=h.length)}}}return{mode:a,indent:o,chomp:s,comment:d,length:u}}function Ah(t){let e=t.split(/\n( *)/),i=e[0],n=i.match(/^( *)/),a=[n?.[1]?[n[1],i.slice(n[1].length)]:["",i]];for(let o=1;o<e.length;o+=2)a.push([e[o],e[o+1]]);return a}ac.resolveBlockScalar=Rh});var Yr=w(sc=>{"use strict";var Ur=T(),xh=Qe();function Th(t,e,i){let{offset:n,type:r,source:a,end:o}=t,s,c,l=(f,m,g)=>i(n+f,m,g);switch(r){case"scalar":s=Ur.Scalar.PLAIN,c=Ih(a,l);break;case"single-quoted-scalar":s=Ur.Scalar.QUOTE_SINGLE,c=_h(a,l);break;case"double-quoted-scalar":s=Ur.Scalar.QUOTE_DOUBLE,c=Oh(a,l);break;default:return i(t,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${r}`),{value:"",type:null,comment:"",range:[n,n+a.length,n+a.length]}}let d=n+a.length,u=xh.resolveEnd(o,d,e,i);return{value:c,type:s,comment:u.comment,range:[n,d,u.offset]}}function Ih(t,e){let i="";switch(t[0]){case" ":i="a tab character";break;case",":i="flow indicator character ,";break;case"%":i="directive indicator character %";break;case"|":case">":{i=`block scalar indicator ${t[0]}`;break}case"@":case"`":{i=`reserved character ${t[0]}`;break}}return i&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${i}`),oc(t)}function _h(t,e){return(t[t.length-1]!=="'"||t.length===1)&&e(t.length,"MISSING_CHAR","Missing closing 'quote"),oc(t.slice(1,-1)).replace(/''/g,"'")}function oc(t){let e,i;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
`,"sy"),i=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
`,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,i=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=e.exec(t);if(!n)return t;let r=n[1],a=" ",o=e.lastIndex;for(i.lastIndex=o;n=i.exec(t);)n[1]===""?a===`
`?r+=a:a=`
`:(r+=a+n[1],a=" "),o=i.lastIndex;let s=/[ \t]*(.*)/sy;return s.lastIndex=o,n=s.exec(t),r+a+(n?.[1]??"")}function Oh(t,e){let i="";for(let n=1;n<t.length-1;++n){let r=t[n];if(!(r==="\r"&&t[n+1]===`
`))if(r===`
`){let{fold:a,offset:o}=jh(t,n);i+=a,n=o}else if(r==="\\"){let a=t[++n],o=Hh[a];if(o)i+=o;else if(a===`
`)for(a=t[n+1];a===" "||a===" ";)a=t[++n+1];else if(a==="\r"&&t[n+1]===`
`)for(a=t[++n+1];a===" "||a===" ";)a=t[++n+1];else if(a==="x"||a==="u"||a==="U"){let s=a==="x"?2:a==="u"?4:8;i+=$h(t,n+1,s,e),n+=s}else{let s=t.substr(n-1,2);e(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${s}`),i+=s}}else if(r===" "||r===" "){let a=n,o=t[n+1];for(;o===" "||o===" ";)o=t[++n+1];o!==`
`&&!(o==="\r"&&t[n+2]===`
`)&&(i+=n>a?t.slice(a,n+1):r)}else i+=r}return(t[t.length-1]!=='"'||t.length===1)&&e(t.length,"MISSING_CHAR",'Missing closing "quote'),i}function jh(t,e){let i="",n=t[e+1];for(;(n===" "||n===" "||n===`
`||n==="\r")&&!(n==="\r"&&t[e+2]!==`
`);)n===`
`&&(i+=`
`),e+=1,n=t[e+1];return i||(i=" "),{fold:i,offset:e}}var Hh={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
`,r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function $h(t,e,i,n){let r=t.substr(e,i),o=r.length===i&&/^[0-9a-fA-F]+$/.test(r)?parseInt(r,16):NaN;try{return String.fromCodePoint(o)}catch{let s=t.substr(e-2,i+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${s}`),s}}sc.resolveFlowScalar=Th});var uc=w(lc=>{"use strict";var xe=C(),cc=T(),Lh=Kr(),Fh=Yr();function Mh(t,e,i,n){let{value:r,type:a,comment:o,range:s}=e.type==="block-scalar"?Lh.resolveBlockScalar(t,e,n):Fh.resolveFlowScalar(e,t.options.strict,n),c=i?t.directives.tagName(i.source,u=>n(i,"TAG_RESOLVE_FAILED",u)):null,l;t.options.stringKeys&&t.atKey?l=t.schema[xe.SCALAR]:c?l=Bh(t.schema,r,c,i,n):e.type==="scalar"?l=Dh(t,r,e,n):l=t.schema[xe.SCALAR];let d;try{let u=l.resolve(r,f=>n(i??e,"TAG_RESOLVE_FAILED",f),t.options);d=xe.isScalar(u)?u:new cc.Scalar(u)}catch(u){let f=u instanceof Error?u.message:String(u);n(i??e,"TAG_RESOLVE_FAILED",f),d=new cc.Scalar(r)}return d.range=s,d.source=r,a&&(d.type=a),c&&(d.tag=c),l.format&&(d.format=l.format),o&&(d.comment=o),d}function Bh(t,e,i,n,r){if(i==="!")return t[xe.SCALAR];let a=[];for(let s of t.tags)if(!s.collection&&s.tag===i)if(s.default&&s.test)a.push(s);else return s;for(let s of a)if(s.test?.test(e))return s;let o=t.knownTags[i];return o&&!o.collection?(t.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(r(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,i!=="tag:yaml.org,2002:str"),t[xe.SCALAR])}function Dh({atKey:t,directives:e,schema:i},n,r,a){let o=i.tags.find(s=>(s.default===!0||t&&s.default==="key")&&s.test?.test(n))||i[xe.SCALAR];if(i.compat){let s=i.compat.find(c=>c.default&&c.test?.test(n))??i[xe.SCALAR];if(o.tag!==s.tag){let c=e.tagString(o.tag),l=e.tagString(s.tag),d=`Value may be parsed as either ${c} or ${l}`;a(r,"TAG_RESOLVE_FAILED",d,!0)}}return o}lc.composeScalar=Mh});var dc=w(fc=>{"use strict";function qh(t,e,i){if(e){i??(i=e.length);for(let n=i-1;n>=0;--n){let r=e[n];switch(r.type){case"space":case"comment":case"newline":t-=r.source.length;continue}for(r=e[++n];r?.type==="space";)t+=r.source.length,r=e[++n];break}}return t}fc.emptyScalarPosition=qh});var mc=w(Qr=>{"use strict";var Vh=ht(),Wh=C(),zh=rc(),hc=uc(),Jh=Qe(),Gh=dc(),Kh={composeNode:pc,composeEmptyNode:Xr};function pc(t,e,i,n){let r=t.atKey,{spaceBefore:a,comment:o,anchor:s,tag:c}=i,l,d=!0;switch(e.type){case"alias":l=Uh(t,e,n),(s||c)&&n(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=hc.composeScalar(t,e,c,n),s&&(l.anchor=s.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{l=zh.composeCollection(Kh,t,e,i,n),s&&(l.anchor=s.source.substring(1))}catch(u){let f=u instanceof Error?u.message:String(u);n(e,"RESOURCE_EXHAUSTION",f)}break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",u),d=!1}}return l??(l=Xr(t,e.offset,void 0,null,i,n)),s&&l.anchor===""&&n(s,"BAD_ALIAS","Anchor cannot be an empty string"),r&&t.options.stringKeys&&(!Wh.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&n(c??e,"NON_STRING_KEY","With stringKeys, all keys must be strings"),a&&(l.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?l.comment=o:l.commentBefore=o),t.options.keepSourceTokens&&d&&(l.srcToken=e),l}function Xr(t,e,i,n,{spaceBefore:r,comment:a,anchor:o,tag:s,end:c},l){let d={type:"scalar",offset:Gh.emptyScalarPosition(e,i,n),indent:-1,source:""},u=hc.composeScalar(t,d,s,l);return o&&(u.anchor=o.source.substring(1),u.anchor===""&&l(o,"BAD_ALIAS","Anchor cannot be an empty string")),r&&(u.spaceBefore=!0),a&&(u.comment=a,u.range[2]=c),u}function Uh({options:t},{offset:e,source:i,end:n},r){let a=new Vh.Alias(i.substring(1));a.source===""&&r(e,"BAD_ALIAS","Alias cannot be an empty string"),a.source.endsWith(":")&&r(e+i.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+i.length,s=Jh.resolveEnd(n,o,t.strict,r);return a.range=[e,o,s.offset],s.comment&&(a.comment=s.comment),a}Qr.composeEmptyNode=Xr;Qr.composeNode=pc});var wc=w(gc=>{"use strict";var Yh=xt(),vc=mc(),Xh=Qe(),Qh=Ot();function Zh(t,e,{offset:i,start:n,value:r,end:a},o){let s=Object.assign({_directives:e},t),c=new Yh.Document(void 0,s),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},d=Qh.resolveProps(n,{indicator:"doc-start",next:r??a?.[0],offset:i,onError:o,parentIndent:0,startOnNewline:!0});d.found&&(c.directives.docStart=!0,r&&(r.type==="block-map"||r.type==="block-seq")&&!d.hasNewline&&o(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=r?vc.composeNode(l,r,d,o):vc.composeEmptyNode(l,d.end,n,null,d,o);let u=c.contents.range[2],f=Xh.resolveEnd(a,u,!1,o);return f.comment&&(c.comment=f.comment),c.range=[i,u,f.offset],c}gc.composeDoc=Zh});var ea=w(bc=>{"use strict";var ep=Qt("process"),tp=Mn(),ip=xt(),jt=_t(),yc=C(),np=wc(),rp=Qe();function Ht(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:i}=t;return[e,e+(typeof i=="string"?i.length:1)]}function Nc(t){let e="",i=!1,n=!1;for(let r=0;r<t.length;++r){let a=t[r];switch(a[0]){case"#":e+=(e===""?"":n?`
`:`
`)+(a.substring(1)||" "),i=!0,n=!1;break;case"%":t[r+1]?.[0]!=="#"&&(r+=1),i=!1;break;default:i||(n=!0),i=!1}}return{comment:e,afterEmptyLine:n}}var Zr=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(i,n,r,a)=>{let o=Ht(i);a?this.warnings.push(new jt.YAMLWarning(o,n,r)):this.errors.push(new jt.YAMLParseError(o,n,r))},this.directives=new tp.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,i){let{comment:n,afterEmptyLine:r}=Nc(this.prelude);if(n){let a=e.contents;if(i)e.comment=e.comment?`${e.comment}
${n}`:n;else if(r||e.directives.docStart||!a)e.commentBefore=n;else if(yc.isCollection(a)&&!a.flow&&a.items.length>0){let o=a.items[0];yc.isPair(o)&&(o=o.key);let s=o.commentBefore;o.commentBefore=s?`${n}
${s}`:n}else{let o=a.commentBefore;a.commentBefore=o?`${n}
${o}`:n}}if(i){for(let a=0;a<this.errors.length;++a)e.errors.push(this.errors[a]);for(let a=0;a<this.warnings.length;++a)e.warnings.push(this.warnings[a])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Nc(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,i=!1,n=-1){for(let r of e)yield*this.next(r);yield*this.end(i,n)}*next(e){switch(ep.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(i,n,r)=>{let a=Ht(e);a[0]+=i,this.onError(a,"BAD_DIRECTIVE",n,r)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let i=np.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!i.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(i,!1),this.doc&&(yield this.doc),this.doc=i,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let i=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,n=new jt.YAMLParseError(Ht(e),"UNEXPECTED_TOKEN",i);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new jt.YAMLParseError(Ht(e),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let i=rp.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),i.comment){let n=this.doc.comment;this.doc.comment=n?`${n}
${i.comment}`:i.comment}this.doc.range[2]=i.offset;break}default:this.errors.push(new jt.YAMLParseError(Ht(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,i=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let n=Object.assign({_directives:this.directives},this.options),r=new ip.Document(void 0,n);this.atDirectives&&this.onError(i,"MISSING_CHAR","Missing directives-end indicator line"),r.range=[0,i,i],this.decorate(r,!1),yield r}}};bc.Composer=Zr});var Ec=w(Vi=>{"use strict";var ap=Kr(),op=Yr(),sp=_t(),kc=wt();function cp(t,e=!0,i){if(t){let n=(r,a,o)=>{let s=typeof r=="number"?r:Array.isArray(r)?r[0]:r.offset;if(i)i(s,a,o);else throw new sp.YAMLParseError([s,s+1],a,o)};switch(t.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return op.resolveFlowScalar(t,e,n);case"block-scalar":return ap.resolveBlockScalar({options:{strict:e}},t,n)}}return null}function lp(t,e){let{implicitKey:i=!1,indent:n,inFlow:r=!1,offset:a=-1,type:o="PLAIN"}=e,s=kc.stringifyString({type:o,value:t},{implicitKey:i,indent:n>0?" ".repeat(n):"",inFlow:r,options:{blockQuote:!0,lineWidth:-1}}),c=e.end??[{type:"newline",offset:-1,indent:n,source:`
`}];switch(s[0]){case"|":case">":{let l=s.indexOf(`
`),d=s.substring(0,l),u=s.substring(l+1)+`
`,f=[{type:"block-scalar-header",offset:a,indent:n,source:d}];return Sc(f,c)||f.push({type:"newline",offset:-1,indent:n,source:`
`}),{type:"block-scalar",offset:a,indent:n,props:f,source:u}}case'"':return{type:"double-quoted-scalar",offset:a,indent:n,source:s,end:c};case"'":return{type:"single-quoted-scalar",offset:a,indent:n,source:s,end:c};default:return{type:"scalar",offset:a,indent:n,source:s,end:c}}}function up(t,e,i={}){let{afterKey:n=!1,implicitKey:r=!1,inFlow:a=!1,type:o}=i,s="indent"in t?t.indent:null;if(n&&typeof s=="number"&&(s+=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=kc.stringifyString({type:o,value:e},{implicitKey:r||s===null,indent:s!==null&&s>0?" ".repeat(s):"",inFlow:a,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":fp(t,c);break;case'"':ta(t,c,"double-quoted-scalar");break;case"'":ta(t,c,"single-quoted-scalar");break;default:ta(t,c,"scalar")}}function fp(t,e){let i=e.indexOf(`
`),n=e.substring(0,i),r=e.substring(i+1)+`
`;if(t.type==="block-scalar"){let a=t.props[0];if(a.type!=="block-scalar-header")throw new Error("Invalid block scalar header");a.source=n,t.source=r}else{let{offset:a}=t,o="indent"in t?t.indent:-1,s=[{type:"block-scalar-header",offset:a,indent:o,source:n}];Sc(s,"end"in t?t.end:void 0)||s.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:s,source:r})}}function Sc(t,e){if(e)for(let i of e)switch(i.type){case"space":case"comment":t.push(i);break;case"newline":return t.push(i),!0}return!1}function ta(t,e,i){switch(t.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":t.type=i,t.source=e;break;case"block-scalar":{let n=t.props.slice(1),r=e.length;t.props[0].type==="block-scalar-header"&&(r-=t.props[0].source.length);for(let a of n)a.offset+=r;delete t.props,Object.assign(t,{type:i,source:e,end:n});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:i,source:e,end:[r]});break}default:{let n="indent"in t?t.indent:-1,r="end"in t&&Array.isArray(t.end)?t.end.filter(a=>a.type==="space"||a.type==="comment"||a.type==="newline"):[];for(let a of Object.keys(t))a!=="type"&&a!=="offset"&&delete t[a];Object.assign(t,{type:i,indent:n,source:e,end:r})}}}Vi.createScalarToken=lp;Vi.resolveAsScalar=cp;Vi.setScalarValue=up});var Rc=w(Cc=>{"use strict";var dp=t=>"type"in t?zi(t):Wi(t);function zi(t){switch(t.type){case"block-scalar":{let e="";for(let i of t.props)e+=zi(i);return e+t.source}case"block-map":case"block-seq":{let e="";for(let i of t.items)e+=Wi(i);return e}case"flow-collection":{let e=t.start.source;for(let i of t.items)e+=Wi(i);for(let i of t.end)e+=i.source;return e}case"document":{let e=Wi(t);if(t.end)for(let i of t.end)e+=i.source;return e}default:{let e=t.source;if("end"in t&&t.end)for(let i of t.end)e+=i.source;return e}}}function Wi({start:t,key:e,sep:i,value:n}){let r="";for(let a of t)r+=a.source;if(e&&(r+=zi(e)),i)for(let a of i)r+=a.source;return n&&(r+=zi(n)),r}Cc.stringify=dp});var Tc=w(xc=>{"use strict";var ia=Symbol("break visit"),hp=Symbol("skip children"),Pc=Symbol("remove item");function Te(t,e){"type"in t&&t.type==="document"&&(t={start:t.start,value:t.value}),Ac(Object.freeze([]),t,e)}Te.BREAK=ia;Te.SKIP=hp;Te.REMOVE=Pc;Te.itemAtPath=(t,e)=>{let i=t;for(let[n,r]of e){let a=i?.[n];if(a&&"items"in a)i=a.items[r];else return}return i};Te.parentCollection=(t,e)=>{let i=Te.itemAtPath(t,e.slice(0,-1)),n=e[e.length-1][0],r=i?.[n];if(r&&"items"in r)return r;throw new Error("Parent collection not found")};function Ac(t,e,i){let n=i(e,t);if(typeof n=="symbol")return n;for(let r of["key","value"]){let a=e[r];if(a&&"items"in a){for(let o=0;o<a.items.length;++o){let s=Ac(Object.freeze(t.concat([[r,o]])),a.items[o],i);if(typeof s=="number")o=s-1;else{if(s===ia)return ia;s===Pc&&(a.items.splice(o,1),o-=1)}}typeof n=="function"&&r==="key"&&(n=n(e,t))}}return typeof n=="function"?n(e,t):n}xc.visit=Te});var Ji=w(L=>{"use strict";var na=Ec(),pp=Rc(),mp=Tc(),ra="\uFEFF",aa="",oa="",sa="",vp=t=>!!t&&"items"in t,gp=t=>!!t&&(t.type==="scalar"||t.type==="single-quoted-scalar"||t.type==="double-quoted-scalar"||t.type==="block-scalar");function wp(t){switch(t){case ra:return"<BOM>";case aa:return"<DOC>";case oa:return"<FLOW_END>";case sa:return"<SCALAR>";default:return JSON.stringify(t)}}function yp(t){switch(t){case ra:return"byte-order-mark";case aa:return"doc-mode";case oa:return"flow-error-end";case sa: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}L.createScalarToken=na.createScalarToken;L.resolveAsScalar=na.resolveAsScalar;L.setScalarValue=na.setScalarValue;L.stringify=pp.stringify;L.visit=mp.visit;L.BOM=ra;L.DOCUMENT=aa;L.FLOW_END=oa;L.SCALAR=sa;L.isCollection=vp;L.isScalar=gp;L.prettyToken=wp;L.tokenType=yp});var ua=w(_c=>{"use strict";var $t=Ji();function z(t){switch(t){case void 0:case" ":case`
`:case"\r":case" ":return!0;default:return!1}}var Ic=new Set("0123456789ABCDEFabcdef"),Np=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Gi=new Set(",[]{}"),bp=new Set(` ,[]{}
\r `),ca=t=>!t||bp.has(t),la=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,i=!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=!i;let n=this.next??"stream";for(;n&&(i||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let e=this.pos,i=this.buffer[e];for(;i===" "||i===" ";)i=this.buffer[++e];return!i||i==="#"||i===`
`?!0:i==="\r"?this.buffer[e+1]===`
`:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let i=this.buffer[e];if(this.indentNext>0){let n=0;for(;i===" ";)i=this.buffer[++n+e];if(i==="\r"){let r=this.buffer[n+e+1];if(r===`
`||!r&&!this.atEnd)return e+n+1}return i===`
`||n>=this.indentNext||!i&&!this.atEnd?e+n:-1}if(i==="-"||i==="."){let n=this.buffer.substr(e,3);if((n==="---"||n==="...")&&z(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]===$t.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let i=e.length,n=e.indexOf("#");for(;n!==-1;){let a=e[n-1];if(a===" "||a===" "){i=n-1;break}else n=e.indexOf("#",n+1)}for(;;){let a=e[i-1];if(a===" "||a===" ")i-=1;else break}let r=(yield*this.pushCount(i))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-r),this.pushNewline(),"stream"}if(this.atLineEnd()){let i=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-i),yield*this.pushNewline(),"stream"}return yield $t.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 i=this.peek(3);if((i==="---"||i==="...")&&z(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,i==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!z(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,i]=this.peek(2);if(!i&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&z(i)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let i=yield*this.pushIndicators();switch(e[i]){case"#":yield*this.pushCount(e.length-i);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(ca),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return i+=yield*this.parseBlockScalarHeader(),i+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-i),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,i,n=-1;do e=yield*this.pushNewline(),e>0?(i=yield*this.pushSpaces(!1),this.indentValue=n=i):i=0,i+=yield*this.pushSpaces(!0);while(e+i>0);let r=this.getLine();if(r===null)return this.setNext("flow");if((n!==-1&&n<this.indentNext&&r[0]!=="#"||n===0&&(r.startsWith("---")||r.startsWith("..."))&&z(r[3]))&&!(n===this.indentNext-1&&this.flowLevel===1&&(r[0]==="]"||r[0]==="}")))return this.flowLevel=0,yield $t.FLOW_END,yield*this.parseLineStart();let a=0;for(;r[a]===",";)a+=yield*this.pushCount(1),a+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(a+=yield*this.pushIndicators(),r[a]){case void 0:return"flow";case"#":return yield*this.pushCount(r.length-a),"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(ca),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||z(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),i=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;i!==-1&&this.buffer[i+1]==="'";)i=this.buffer.indexOf("'",i+2);else for(;i!==-1;){let a=0;for(;this.buffer[i-1-a]==="\\";)a+=1;if(a%2===0)break;i=this.buffer.indexOf('"',i+1)}let n=this.buffer.substring(0,i),r=n.indexOf(`
`,this.pos);if(r!==-1){for(;r!==-1;){let a=this.continueScalar(r+1);if(a===-1)break;r=n.indexOf(`
`,a)}r!==-1&&(i=r-(n[r-1]==="\r"?2:1))}if(i===-1){if(!this.atEnd)return this.setNext("quoted-scalar");i=this.buffer.length}return yield*this.pushToIndex(i+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let i=this.buffer[++e];if(i==="+")this.blockScalarKeep=!0;else if(i>"0"&&i<="9")this.blockScalarIndent=Number(i)-1;else if(i!=="-")break}return yield*this.pushUntil(i=>z(i)||i==="#")}*parseBlockScalar(){let e=this.pos-1,i=0,n;e:for(let a=this.pos;n=this.buffer[a];++a)switch(n){case" ":i+=1;break;case`
`:e=a,i=0;break;case"\r":{let o=this.buffer[a+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
`)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(i>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=i:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let a=this.continueScalar(e+1);if(a===-1)break;e=this.buffer.indexOf(`
`,a)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let r=e+1;for(n=this.buffer[r];n===" ";)n=this.buffer[++r];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===`
`;)n=this.buffer[++r];e=r-1}else if(!this.blockScalarKeep)do{let a=e-1,o=this.buffer[a];o==="\r"&&(o=this.buffer[--a]);let s=a;for(;o===" ";)o=this.buffer[--a];if(o===`
`&&a>=this.pos&&a+1+i>s)e=a;else break}while(!0);return yield $t.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,i=this.pos-1,n=this.pos-1,r;for(;r=this.buffer[++n];)if(r===":"){let a=this.buffer[n+1];if(z(a)||e&&Gi.has(a))break;i=n}else if(z(r)){let a=this.buffer[n+1];if(r==="\r"&&(a===`
`?(n+=1,r=`
`,a=this.buffer[n+1]):i=n),a==="#"||e&&Gi.has(a))break;if(r===`
`){let o=this.continueScalar(n+1);if(o===-1)break;n=Math.max(n,o-2)}}else{if(e&&Gi.has(r))break;i=n}return!r&&!this.atEnd?this.setNext("plain-scalar"):(yield $t.SCALAR,yield*this.pushToIndex(i+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,i){let n=this.buffer.slice(this.pos,e);return n?(yield n,this.pos+=n.length,n.length):(i&&(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(ca),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let i=this.flowLevel>0,n=this.charAt(1);if(z(n)||i&&Gi.has(n)){i?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,i=this.buffer[e];for(;!z(i)&&i!==">";)i=this.buffer[++e];return yield*this.pushToIndex(i===">"?e+1:e,!1)}else{let e=this.pos+1,i=this.buffer[e];for(;i;)if(Np.has(i))i=this.buffer[++e];else if(i==="%"&&Ic.has(this.buffer[e+1])&&Ic.has(this.buffer[e+2]))i=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 i=this.pos-1,n;do n=this.buffer[++i];while(n===" "||e&&n===" ");let r=i-this.pos;return r>0&&(yield this.buffer.substr(this.pos,r),this.pos=i),r}*pushUntil(e){let i=this.pos,n=this.buffer[i];for(;!e(n);)n=this.buffer[++i];return yield*this.pushToIndex(i,!1)}};_c.Lexer=la});var da=w(Oc=>{"use strict";var fa=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let i=0,n=this.lineStarts.length;for(;i<n;){let a=i+n>>1;this.lineStarts[a]<e?i=a+1:n=a}if(this.lineStarts[i]===e)return{line:i+1,col:1};if(i===0)return{line:0,col:e};let r=this.lineStarts[i-1];return{line:i,col:e-r+1}}}};Oc.LineCounter=fa});var pa=w(Fc=>{"use strict";var kp=Qt("process"),jc=Ji(),Sp=ua();function ge(t,e){for(let i=0;i<t.length;++i)if(t[i].type===e)return!0;return!1}function Hc(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 Lc(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 Ki(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 Ze(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 Ui(t,e){if(e.length<1e5)Array.prototype.push.apply(t,e);else for(let i=0;i<e.length;++i)t.push(e[i])}function $c(t){if(t.start.type==="flow-seq-start")for(let e of t.items)e.sep&&!e.value&&!ge(e.start,"explicit-key-ind")&&!ge(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,Lc(e.value)?e.value.end?Ui(e.value.end,e.sep):e.value.end=e.sep:Ui(e.start,e.sep),delete e.sep)}var ha=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 Sp.Lexer,this.onNewLine=e}*parse(e,i=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(e,i))yield*this.next(n);i||(yield*this.end())}*next(e){if(this.source=e,kp.env.LOG_TOKENS&&console.log("|",jc.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let i=jc.tokenType(e);if(i)if(i==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=i,yield*this.step(),i){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 n=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:n,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 i=e??this.stack.pop();if(!i)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield i;else{let n=this.peek(1);switch(i.type==="block-scalar"?i.indent="indent"in n?n.indent:0:i.type==="flow-collection"&&n.type==="document"&&(i.indent=0),i.type==="flow-collection"&&$c(i),n.type){case"document":n.value=i;break;case"block-scalar":n.props.push(i);break;case"block-map":{let r=n.items[n.items.length-1];if(r.value){n.items.push({start:[],key:i,sep:[]}),this.onKeyLine=!0;return}else if(r.sep)r.value=i;else{Object.assign(r,{key:i,sep:[]}),this.onKeyLine=!r.explicitKey;return}break}case"block-seq":{let r=n.items[n.items.length-1];r.value?n.items.push({start:[],value:i}):r.value=i;break}case"flow-collection":{let r=n.items[n.items.length-1];!r||r.value?n.items.push({start:[],key:i,sep:[]}):r.sep?r.value=i:Object.assign(r,{key:i,sep:[]});return}default:yield*this.pop(),yield*this.pop(i)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(i.type==="block-map"||i.type==="block-seq")){let r=i.items[i.items.length-1];r&&!r.sep&&!r.value&&r.start.length>0&&Hc(r.start)===-1&&(i.indent===0||r.start.every(a=>a.type!=="comment"||a.indent<i.indent))&&(n.type==="document"?n.end=r.start:n.items.push({start:r.start}),i.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":{Hc(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 i=this.startBlockValue(e);i?this.stack.push(i):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 i=Ki(this.peek(2)),n=Ze(i),r;e.end?(r=e.end,r.push(this.sourceToken),delete e.end):r=[this.sourceToken];let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}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 i=this.source.indexOf(`
`)+1;for(;i!==0;)this.onNewLine(this.offset+i),i=this.source.indexOf(`
`,i)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let i=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,i.value){let n="end"in i.value?i.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else i.sep?i.sep.push(this.sourceToken):i.start.push(this.sourceToken);return;case"space":case"comment":if(i.value)e.items.push({start:[this.sourceToken]});else if(i.sep)i.sep.push(this.sourceToken);else{if(this.atIndentedComment(i.start,e.indent)){let r=e.items[e.items.length-2]?.value?.end;if(Array.isArray(r)){Ui(r,i.start),r.push(this.sourceToken),e.items.pop();return}}i.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,r=n&&(i.sep||i.explicitKey)&&this.type!=="seq-item-ind",a=[];if(r&&i.sep&&!i.value){let o=[];for(let s=0;s<i.sep.length;++s){let c=i.sep[s];switch(c.type){case"newline":o.push(s);break;case"space":break;case"comment":c.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(a=i.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":r||i.value?(a.push(this.sourceToken),e.items.push({start:a}),this.onKeyLine=!0):i.sep?i.sep.push(this.sourceToken):i.start.push(this.sourceToken);return;case"explicit-key-ind":!i.sep&&!i.explicitKey?(i.start.push(this.sourceToken),i.explicitKey=!0):r||i.value?(a.push(this.sourceToken),e.items.push({start:a,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(i.explicitKey)if(i.sep)if(i.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(ge(i.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]});else if(Lc(i.key)&&!ge(i.sep,"newline")){let o=Ze(i.start),s=i.key,c=i.sep;c.push(this.sourceToken),delete i.key,delete i.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:s,sep:c}]})}else a.length>0?i.sep=i.sep.concat(a,this.sourceToken):i.sep.push(this.sourceToken);else if(ge(i.start,"newline"))Object.assign(i,{key:null,sep:[this.sourceToken]});else{let o=Ze(i.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else i.sep?i.value||r?e.items.push({start:a,key:null,sep:[this.sourceToken]}):ge(i.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):i.sep.push(this.sourceToken):Object.assign(i,{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||i.value?(e.items.push({start:a,key:o,sep:[]}),this.onKeyLine=!0):i.sep?this.stack.push(o):(Object.assign(i,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!i.explicitKey&&i.sep&&!ge(i.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 n&&e.items.push({start:a});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let i=e.items[e.items.length-1];switch(this.type){case"newline":if(i.value){let n="end"in i.value?i.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else i.start.push(this.sourceToken);return;case"space":case"comment":if(i.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(i.start,e.indent)){let r=e.items[e.items.length-2]?.value?.end;if(Array.isArray(r)){Ui(r,i.start),r.push(this.sourceToken),e.items.pop();return}}i.start.push(this.sourceToken)}return;case"anchor":case"tag":if(i.value||this.indent<=e.indent)break;i.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;i.value||ge(i.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):i.start.push(this.sourceToken);return}if(this.indent>e.indent){let n=this.startBlockValue(e);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let i=e.items[e.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!i||i.sep?e.items.push({start:[this.sourceToken]}):i.start.push(this.sourceToken);return;case"map-value-ind":!i||i.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):i.sep?i.sep.push(this.sourceToken):Object.assign(i,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!i||i.value?e.items.push({start:[this.sourceToken]}):i.sep?i.sep.push(this.sourceToken):i.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let r=this.flowScalar(this.type);!i||i.value?e.items.push({start:[],key:r,sep:[]}):i.sep?this.stack.push(r):Object.assign(i,{key:r,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===e.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let r=Ki(n),a=Ze(r);$c(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let s={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:a,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=s}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let i=this.source.indexOf(`
`)+1;for(;i!==0;)this.onNewLine(this.offset+i),i=this.source.indexOf(`
`,i)+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 i=Ki(e),n=Ze(i);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let i=Ki(e),n=Ze(i);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,i){return this.type!=="comment"||this.indent<=i?!1:e.every(n=>n.type==="newline"||n.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())}}};Fc.Parser=ha});var Vc=w(Ft=>{"use strict";var Mc=ea(),Ep=xt(),Lt=_t(),Cp=Qn(),Rp=C(),Pp=da(),Bc=pa();function Dc(t){let e=t.prettyErrors!==!1;return{lineCounter:t.lineCounter||e&&new Pp.LineCounter||null,prettyErrors:e}}function Ap(t,e={}){let{lineCounter:i,prettyErrors:n}=Dc(e),r=new Bc.Parser(i?.addNewLine),a=new Mc.Composer(e),o=Array.from(a.compose(r.parse(t)));if(n&&i)for(let s of o)s.errors.forEach(Lt.prettifyError(t,i)),s.warnings.forEach(Lt.prettifyError(t,i));return o.length>0?o:Object.assign([],{empty:!0},a.streamInfo())}function qc(t,e={}){let{lineCounter:i,prettyErrors:n}=Dc(e),r=new Bc.Parser(i?.addNewLine),a=new Mc.Composer(e),o=null;for(let s of a.compose(r.parse(t),!0,t.length))if(!o)o=s;else if(o.options.logLevel!=="silent"){o.errors.push(new Lt.YAMLParseError(s.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&i&&(o.errors.forEach(Lt.prettifyError(t,i)),o.warnings.forEach(Lt.prettifyError(t,i))),o}function xp(t,e,i){let n;typeof e=="function"?n=e:i===void 0&&e&&typeof e=="object"&&(i=e);let r=qc(t,i);if(!r)return null;if(r.warnings.forEach(a=>Cp.warn(r.options.logLevel,a)),r.errors.length>0){if(r.options.logLevel!=="silent")throw r.errors[0];r.errors=[]}return r.toJS(Object.assign({reviver:n},i))}function Tp(t,e,i){let n=null;if(typeof e=="function"||Array.isArray(e)?n=e:i===void 0&&e&&(i=e),typeof i=="string"&&(i=i.length),typeof i=="number"){let r=Math.round(i);i=r<1?void 0:r>8?{indent:8}:{indent:r}}if(t===void 0){let{keepUndefined:r}=i??e??{};if(!r)return}return Rp.isDocument(t)&&!n?t.toString(i):new Ep.Document(t,n,i).toString(i)}Ft.parse=xp;Ft.parseAllDocuments=Ap;Ft.parseDocument=qc;Ft.stringify=Tp});var Xi=w(P=>{"use strict";var Ip=ea(),_p=xt(),Op=jr(),ma=_t(),jp=ht(),we=C(),Hp=he(),$p=T(),Lp=me(),Fp=ve(),Mp=Ji(),Bp=ua(),Dp=da(),qp=pa(),Yi=Vc(),Wc=lt();P.Composer=Ip.Composer;P.Document=_p.Document;P.Schema=Op.Schema;P.YAMLError=ma.YAMLError;P.YAMLParseError=ma.YAMLParseError;P.YAMLWarning=ma.YAMLWarning;P.Alias=jp.Alias;P.isAlias=we.isAlias;P.isCollection=we.isCollection;P.isDocument=we.isDocument;P.isMap=we.isMap;P.isNode=we.isNode;P.isPair=we.isPair;P.isScalar=we.isScalar;P.isSeq=we.isSeq;P.Pair=Hp.Pair;P.Scalar=$p.Scalar;P.YAMLMap=Lp.YAMLMap;P.YAMLSeq=Fp.YAMLSeq;P.CST=Mp;P.Lexer=Bp.Lexer;P.LineCounter=Dp.LineCounter;P.Parser=qp.Parser;P.parse=Yi.parse;P.parseAllDocuments=Yi.parseAllDocuments;P.parseDocument=Yi.parseDocument;P.stringify=Yi.stringify;P.visit=Wc.visit;P.visitAsync=Wc.visitAsync});import{promises as Gv}from"fs";import st from"path";var ru=null;function au(t,e){let i=t;for(let n of e)i+="\0"+(typeof n=="string"?n:JSON.stringify(n));return i}function Ua(t,e){return(...i)=>{let n=ru;if(n===null)return e(...i);let r=au(`async:${t}`,i),a=n.entries.get(r);if(a)return a.value;let o=e(...i).catch(s=>{throw n.entries.delete(r),s});return n.entries.set(r,{value:o}),o}}import{readFileSync as ou}from"fs";import Ya from"path";var su=new Set(["applypatch","create","createfile","deletefile","edit","editfile","patch","strreplaceeditor","write","writefile","writefiletool"]),cu=new Set(["glob","grep","listfiles","read","readfile","search","view"]),Qa=["file_path","filePath","path","target_file","targetFile"],Za=["file_paths","filePaths","paths","files","targets"],eo=["operations","edits"],lu=["patch","diff","patchText","patch_text","changes"];function Hn(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function Xa(t){return t.toLowerCase().replace(/[^a-z0-9]+/gu,"")}function uu(t){for(let e of["tool_name","toolName","tool","name"]){let i=t[e];if(typeof i=="string"&&i.trim())return i.trim()}return null}function fu(t){for(let e of["cwd","working_directory","workspaceRoot"]){let i=t[e];if(!(typeof i!="string"||!i.trim()||!Ya.isAbsolute(i.trim())))return Ya.resolve(i.trim())}}function du(t){if(typeof t!="string")return t;let e=t.trim();if(!e.startsWith("{")&&!e.startsWith("["))return t;try{return JSON.parse(e)}catch{return t}}function hu(t){for(let e of["tool_input","toolInput","toolArgs","tool_args","arguments"])if(t[e]!==void 0)return du(t[e]);return t}function jn(t){let e=[],i=[/^\*\*\* (?:Add|Update|Delete) File:\s+(.+?)\s*$/gmu,/^\+\+\+\s+(?:b\/)?(.+?)\s*$/gmu];for(let n of i)for(let r of t.matchAll(n)){let a=r[1]?.trim();a&&a!=="/dev/null"&&e.push(a)}return e}function Ee(t,e){if(typeof e=="string"){let i=e.trim();i&&t.push(i);return}if(Array.isArray(e)){for(let i of e)Ee(t,i);return}if(Hn(e)){for(let i of Qa)Ee(t,e[i]);for(let i of Za)Ee(t,e[i]);for(let i of eo)Ee(t,e[i])}}function pu(t,e){let i=[],n=[e,t].filter(Hn);for(let r of n){for(let a of Qa)Ee(i,r[a]);for(let a of Za)Ee(i,r[a]);for(let a of eo)Ee(i,r[a]);for(let a of lu){let o=r[a];typeof o=="string"&&i.push(...jn(o))}}return typeof e=="string"&&i.push(...jn(e)),[...new Set(i)]}function ct(t,e){if(e?.trim())return{intent:"write",targets:[e.trim()],toolName:null};if(!t.trim())return{intent:"unknown",targets:[],toolName:null};let i;try{i=JSON.parse(t)}catch{let o=jn(t);return o.length>0?{intent:"write",targets:[...new Set(o)],toolName:"apply_patch"}:{intent:"unknown",targets:[],toolName:null}}if(!Hn(i))return{intent:"unknown",targets:[],toolName:null};let n=uu(i),r=pu(i,hu(i)),a=fu(i);return n&&su.has(Xa(n))?{intent:r.length>0?"write":"unknown",targets:r,toolName:n,...a?{cwd:a}:{}}:n&&cu.has(Xa(n))?{intent:"non-write",targets:[],toolName:n,...a?{cwd:a}:{}}:n?{intent:"unknown",targets:r,toolName:n,...a?{cwd:a}:{}}:{intent:r.length>0?"write":"unknown",targets:r,toolName:null,...a?{cwd:a}:{}}}function to(){let t=process.env.FILE_PATH;if(t?.trim()||process.stdin.isTTY)return ct("",t);try{return ct(ou(0,"utf8"),t)}catch{return ct("",t)}}var Fa=On(Xi(),1);import{promises as Ev}from"fs";import Me from"path";import{createHash as Jp}from"node:crypto";import{promises as G}from"node:fs";import B from"node:path";import{TextDecoder as Gp}from"node:util";var Vp=new Set([".cache",".git",".gradle",".gnupg",".mypy_cache",".next",".npm",".pnpm-store",".pytest_cache",".ssh",".turbo",".venv",".yarn","__pycache__","node_modules","venv"]),Wp=new Set([".git-credentials",".netrc",".npmrc",".pypirc","auth.json","credentials.json"]);function zp(t){return t.toLowerCase().startsWith(".env")}function Mt(t){let i=t.replaceAll("\\","/").split("/").filter(Boolean).map(n=>n.toLowerCase());return i.some(n=>zp(n))?"environment-file":i.some(n=>Wp.has(n))?"credential-config":i.includes(".git")?"git-metadata":i.some(n=>Vp.has(n))?"dependency-or-cache":i.join("/")===".comet/config.yaml"?"comet-config":i.join("/")===".comet/current-change.json"?"comet-selection":null}function ye(t){return t!==0&&t!==0n&&t!=="0"}function J(t,e){return ye(t.dev)&&ye(e.dev)&&ye(t.ino)&&ye(e.ino)}function I(t,e){let i=ye(t.dev)&&ye(e.dev);if(i&&t.dev!==e.dev)return!1;let n=ye(t.ino)&&ye(e.ino);return n&&t.ino!==e.ino?!1:i&&n?!0:t.birthtime===e.birthtime}var Zi=1024*1024;function va(t,e){let i=B.relative(t,e);return i===""||!B.isAbsolute(i)&&i!==".."&&!i.startsWith(`..${B.sep}`)}function Kp(t){let e=B.posix.normalize(t);if(t.length===0||t!==t.trim()||t.includes("\\")||Array.from(t).some(r=>{let a=r.codePointAt(0)??0;return a<=31||a===127})||B.posix.isAbsolute(e)||/^(?:[A-Za-z]:|~)/u.test(t)||t.split("/").includes("..")||e!==t||e==="."||t.endsWith("/"))throw new Error(`Native artifact ref must be normalized and relative: ${t}`);let i=t.toLowerCase(),n=Mt(t);if(n||i==="runtime"||i.startsWith("runtime/"))throw new Error(`Native artifact ref is excluded as sensitive (${n??"native-runtime"}): ${t}`);return t}function Up(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("Native artifact byte limit must be a positive integer");return t}function Yp(t,e){return I({...t,birthtime:t.birthtimeMs},{...e,birthtime:e.birthtimeMs})}function Qi(t,e){let i={...t,birthtime:t.birthtimeMs},n={...e,birthtime:e.birthtimeMs};return J(i,n)?I(i,n):I(i,n)&&t.birthtimeMs===e.birthtimeMs&&t.ctimeMs===e.ctimeMs&&t.size===e.size}async function zc(t){let e=await G.lstat(t);if(!e.isDirectory()||e.isSymbolicLink())throw new Error(`Native artifact parent must be a real directory: ${t}`);return{path:t,realPath:await G.realpath(t),dev:e.dev,ino:e.ino,birthtimeMs:e.birthtimeMs}}async function Xp(t,e){let i=B.resolve(t),n=B.resolve(e);if(!va(i,n))throw new Error("Native artifact path is outside its root");let r=[await zc(i)],a=i;for(let o of B.relative(i,n).split(B.sep).filter(Boolean)){a=B.join(a,o);let s=await zc(a);if(!va(r[0].realPath,s.realPath))throw new Error(`Native artifact parent resolves outside its root: ${a}`);r.push(s)}return r}async function Jc(t){for(let e of t){let i=await G.lstat(e.path);if(!i.isDirectory()||i.isSymbolicLink()||!Yp(e,i)||await G.realpath(e.path)!==e.realPath)throw new Error(`Native artifact parent changed while reading: ${e.path}`)}}async function Ne(t){let e=Kp(t.ref),i=Up(t.maxBytes??Zi),n=B.resolve(t.root,...e.split("/")),r=await Xp(t.root,B.dirname(n));await t.hooks?.afterParentChainCaptured?.();let a=await G.lstat(n);if(!a.isFile()||a.isSymbolicLink())throw new Error(`Native artifact must be a regular file: ${e}`);if(a.size>i)throw new Error(`Native artifact exceeds ${i} bytes: ${e}`);let o=await G.realpath(n);if(!va(r[0].realPath,o))throw new Error(`Native artifact resolves outside its root: ${e}`);let s=await G.open(n,"r");try{let[c,l,d]=await Promise.all([s.stat(),G.lstat(n),G.realpath(n)]);if(await Jc(r),!c.isFile()||!l.isFile()||l.isSymbolicLink()||d!==o||!Qi(a,c)||!Qi(c,l))throw new Error(`Native artifact changed while opening: ${e}`);await t.hooks?.afterOpen?.();let u=[],f=0,m=Buffer.allocUnsafe(Math.min(64*1024,i+1));for(;;){let k=i+1-f,S=await s.read(m,0,Math.min(m.length,k),null);if(S.bytesRead===0)break;if(f+=S.bytesRead,f>i)throw new Error(`Native artifact exceeds ${i} bytes: ${e}`);u.push(Buffer.from(m.subarray(0,S.bytesRead)))}await t.hooks?.beforeFinalCheck?.();let[g,h,p]=await Promise.all([s.stat(),G.lstat(n),G.realpath(n)]);if(await Jc(r),!h.isFile()||h.isSymbolicLink()||p!==o||!Qi(c,g)||!Qi(c,h))throw new Error(`Native artifact changed while reading: ${e}`);let y=Buffer.concat(u,f),N;try{N=new Gp("utf-8",{fatal:!0}).decode(y)}catch(k){throw new Error(`Native artifact is not valid UTF-8: ${e}`,{cause:k})}return{ref:e,size:f,hash:Jp("sha256").update(y).digest("hex"),text:N}}finally{await s.close()}}var wa=On(Xi(),1);import en from"path";var Dt=64*1024,tn=1024,nn=64,Kc=5,Qp=[".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/**"],te={include:["**/*"],exclude:[...Qp],max_files:1e4,max_total_bytes:256*1024*1024,max_duration_ms:6e4};function Zp(t,e){if(typeof t!="string")throw new Error(`${e} must be a string`);let i=t.trim();if(i.length===0||en.posix.isAbsolute(i)||en.win32.isAbsolute(i)||/^(?:~|[\\/])/u.test(i))throw new Error(`${e} must be a project-relative path`);if(i===".")return[];let n=i.replaceAll("\\","/").split("/");if(n.some(r=>r===".."))throw new Error(`${e} must stay inside the project root`);if(n.some(r=>r===""||r==="."))throw new Error(`${e} must not contain empty or dot path segments`);return n}function et(t){let e=Zp(t,"native.artifact_root");return e.length===0?".":e.join("/")}function Uc(t,e="docs"){let i=t??e;if(i!=="legacy"&&i!=="docs")throw new Error("classic.artifact_layout must be legacy or docs");return i}function ya(t,e,i=!1){if(typeof t!="string")throw new Error(`${e} must be a string`);let n=t.trim().replaceAll("\\","/");if(n.length===0||en.posix.isAbsolute(n)||en.win32.isAbsolute(n)||/^(?:~|[\\/])/u.test(n))throw new Error(`${e} must be relative to its declared path base`);let r=n.split("/");if(r.some(a=>a===".."))throw new Error(`${e} must stay inside its declared path base`);if(r.some(a=>a===""||a==="."))throw new Error(`${e} must not contain empty or dot path segments`);if(!i&&/[*?]/u.test(n))throw new Error(`${e} cannot contain wildcards`);return r.join("/")}function Bt(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must be a mapping`);return t}function Yc(t,e,i){let n=t??e;if(n!=="en"&&n!=="zh-CN")throw new Error(`${i} must be en or zh-CN`);return n}function rn(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>tn)throw new Error(`${e} exceeds ${tn} characters`);let i=0;for(let n=0;n<t.length;n+=1)t[n]==="?"?i+=1:t[n]==="*"&&(i+=1,t[n+1]==="*"&&(n+=1));if(i>nn)throw new Error(`${e} contains more than ${nn} wildcard tokens`);return t}function Gc(t,e,i){if(t===void 0)return[...i];if(!Array.isArray(t))throw new Error(`${e} contains an unsafe pattern`);return[...new Set(t.map(n=>rn(n,e)))].sort((n,r)=>n.localeCompare(r,"en"))}function ga(t,e,i){let n=t??e;if(!Number.isSafeInteger(n)||n<1)throw new Error(`${i} must be a positive integer`);return n}function em(t){if(t===void 0)return{...te,include:[...te.include],exclude:[...te.exclude]};let e=Bt(t,"native.snapshot");return{include:Gc(e.include,"native.snapshot.include",te.include),exclude:Gc(e.exclude,"native.snapshot.exclude",te.exclude),max_files:ga(e.max_files,te.max_files,"native.snapshot.max_files"),max_total_bytes:ga(e.max_total_bytes,te.max_total_bytes,"native.snapshot.max_total_bytes"),max_duration_ms:ga(e.max_duration_ms,te.max_duration_ms,"native.snapshot.max_duration_ms")}}function tm(t){if(t===void 0)return;let e=Bt(t,"native.pending_root_move"),i=e.id,n=e.from_artifact_root,r=e.to_artifact_root,a=e.stage;if(typeof i!="string"||!/^[a-f0-9-]{8,}$/u.test(i))throw new Error("native.pending_root_move.id is invalid");if(typeof n!="string"||typeof r!="string")throw new Error("native.pending_root_move roots must be strings");if(a!=="copying"&&a!=="ready"&&a!=="switched")throw new Error("native.pending_root_move.stage is invalid");let o;if(e.cleanup!==void 0){let s=Bt(e.cleanup,"native.pending_root_move.cleanup"),c=s.kind,l=s.state,d=s.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 d!="string"||!/^[a-f0-9]{64}$/u.test(d))throw new Error("native.pending_root_move.cleanup.manifest_hash is invalid");o={kind:c,state:l,manifestHash:d}}return{id:i,fromArtifactRoot:et(n),toArtifactRoot:et(r),stage:a,...o?{cleanup:o}:{}}}function im(t,e={}){let i=Bt(t,"native"),n=i.artifact_root??(e.allowMissingArtifactRoot?"docs":void 0);if(typeof n!="string")throw new Error("native.artifact_root must be a string");let r=i.clarification_mode??"sequential";if(r!=="sequential"&&r!=="batch")throw new Error("native.clarification_mode must be sequential or batch");let a=i.archive_confirmation??"automatic";if(a!=="automatic"&&a!=="required")throw new Error("native.archive_confirmation must be automatic or required");let o=i.max_verify_failures??Kc;if(!Number.isSafeInteger(o)||o<1)throw new Error("native.max_verify_failures must be a positive integer");let s=tm(i.pending_root_move);return{artifact_root:et(n),language:Yc(i.language,"en","native.language"),clarification_mode:r,archive_confirmation:a,max_verify_failures:o,snapshot:em(i.snapshot),...s?{pending_root_move:s}:{}}}function nm(t){let e=Bt(t,"classic"),i=e.context_compression??"off";if(i!=="off"&&i!=="beta")throw new Error("classic.context_compression must be off or beta");let n=e.review_mode??"standard";if(n!=="off"&&n!=="standard"&&n!=="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:Uc(e.artifact_layout),language:Yc(e.language,"zh-CN","classic.language"),context_compression:i,review_mode:n,auto_transition:r}}function rm(t){let e=t??!0;if(typeof e!="boolean")throw new Error("ambient_resume must be true or false");return e}function am(t,e,i,n,r){let a=t.schema!==void 0;if(!(a||t.default_workflow!==void 0||t.workflows!==void 0||!r.allowPartialProject&&t.native!==void 0)||r.allowPartialProject&&!a)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 s=t.workflows??[t.default_workflow];if(!Array.isArray(s)||s.length===0||s.some(l=>l!=="native"&&l!=="classic"))throw new Error("workflows must contain native and/or classic");let c=[...new Set(s)];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:n,...e?{native:e}:{},...i?{classic:i}:{}}}function qt(t,e={}){let i=(0,wa.parseDocument)(t,{uniqueKeys:!0});if(i.errors.length>0)throw new Error(`Invalid .comet/config.yaml: ${i.errors[0].message}`);let n=i.toJS();if(n==null)return{value:{},config:null,ambient_resume:!0};if(typeof n!="object"||Array.isArray(n))throw new Error("Invalid .comet/config.yaml: root must be a mapping");let r=n,a=rm(r.ambient_resume),o=r.native===void 0?void 0:im(r.native,{allowMissingArtifactRoot:e.allowMissingNativeFields}),s=r.classic===void 0?void 0:nm(r.classic),c=am(r,o,s,a,{allowPartialProject:e.allowPartialProject??!1});return{value:r,config:c,ambient_resume:a,...o?{native:o}:{},...s?{classic:s}:{}}}import{createHash as sm}from"crypto";import{promises as sn}from"fs";import be from"path";import{constants as an,promises as Ie}from"fs";var ie=class extends Error{reason;constructor(e,i,n){super(i,n),this.name="RaceSafeReadError",this.reason=e}};function Na(t){return"birthtimeNs"in t&&typeof t.birthtimeNs=="bigint"?t.birthtimeNs:t.birthtimeMs}function Xc(t){return"ctimeNs"in t&&typeof t.ctimeNs=="bigint"?t.ctimeNs:t.ctimeMs}function Vt(t){return{dev:t.dev,ino:t.ino,birthtime:Na(t)}}function on(t,e){let i=Vt(t),n=Vt(e);return J(i,n)?I(i,n):I(i,n)&&Na(t)===Na(e)&&Xc(t)===Xc(e)&&t.size===e.size}async function tt(t,e,i={}){if(!Number.isSafeInteger(e)||e<1)throw new Error("race-safe read byte limit must be a positive integer");let n=i.label??"file",r=i.bigint===!0,a=await Ie.lstat(t,{bigint:r});if(!a.isFile()||a.isSymbolicLink())throw new ie("not-regular-file",`${n} must be a regular file`);if(BigInt(a.size)>BigInt(e))throw new ie("too-large",`${n} exceeds ${e} bytes`);let o=await Ie.realpath(t);await i.verify?.("pre-open",{realPath:o,identity:Vt(a)});let s=process.platform==="win32"?an.O_RDONLY:an.O_RDONLY|an.O_NOFOLLOW|an.O_NONBLOCK,c;try{c=await Ie.open(t,s)}catch(l){throw l.code==="ELOOP"?new ie("not-regular-file",`${n} must be a regular file`,{cause:l}):l}try{let[l,d,u]=await Promise.all([c.stat({bigint:r}),Ie.lstat(t,{bigint:r}),Ie.realpath(t)]);if(!l.isFile()||!d.isFile()||d.isSymbolicLink()||u!==o||!on(a,l)||!on(a,d))throw new ie("changed",`${n} changed while opening`);await i.verify?.("post-open",{realPath:u,identity:Vt(l)}),await i.hooks?.afterOpen?.();let f=[],m=0,g=Buffer.allocUnsafe(Math.min(64*1024,e+1));for(;;){let N=e+1-m,{bytesRead:k}=await c.read(g,0,Math.min(g.length,N),null);if(k===0)break;if(m+=k,m>e)throw new ie("too-large",`${n} exceeds ${e} bytes`);f.push(Buffer.from(g.subarray(0,k)))}await i.hooks?.beforeFinalCheck?.();let[h,p,y]=await Promise.all([c.stat({bigint:r}),Ie.lstat(t,{bigint:r}),Ie.realpath(t)]);if(!p.isFile()||p.isSymbolicLink()||y!==o||!on(a,h)||!on(a,p))throw new ie("changed",`${n} changed while reading`);return await i.verify?.("post-read",{realPath:y,identity:Vt(h)}),{bytes:Buffer.concat(f,m),stat:h,realPath:y}}finally{await c.close()}}function om(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}function ba(t,e){let i=be.relative(t,e);return i===""||!be.isAbsolute(i)&&i!==".."&&!i.startsWith(`..${be.sep}`)}async function Qc(t,e){let i=be.resolve(t),n=await sn.lstat(i);if(!n.isDirectory()||n.isSymbolicLink())throw new Error(`${e} project root must be a real directory`);return sn.realpath(i)}async function Zc(t,e,i,n){let r=t;for(let a=0;a<i.length;a++){r=be.join(r,i[a]);let o;try{o=await sn.lstat(r)}catch(d){if(om(d))return{exists:!1,kind:"missing"};throw d}let s=be.relative(t,r).replaceAll("\\","/");if(o.isSymbolicLink())throw new Error(`${n.label} crosses a symbolic link or junction at ${s}`);let c=a===i.length-1;if(!c&&!o.isDirectory())throw new Error(`${n.label} ancestor ${s} must be a real directory`);if(c&&(n.expected==="file"&&!o.isFile()||n.expected==="directory"&&!o.isDirectory()||n.expected==="any"&&!o.isFile()&&!o.isDirectory()))throw new Error(`${n.label} must be a real ${n.expected}`);let l=await sn.realpath(r);if(!ba(e,l))throw new Error(`${n.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 Wt(t,e,i){let n=ya(e,i.label),r=be.resolve(t),a=await Qc(r,i.label),o=n.split("/"),s=be.resolve(r,...o);if(!ba(r,s))throw new Error(`${i.label} must stay inside the project root`);let c=await Zc(r,a,o,i);return{projectRoot:r,target:s,relative:n,exists:c.exists,kind:c.kind}}async function _e(t,e,i,n){let r=await Wt(t,e,{label:n.label,expected:"file"});if(!r.exists){let o=new Error(`${n.label} does not exist`);throw o.code="ENOENT",o}let a=await Qc(r.projectRoot,n.label);return tt(r.target,i,{...n,verify:async(o,s)=>{if(!ba(a,s.realPath))throw new Error(`${n.label} resolves outside the project root`);await Zc(r.projectRoot,a,r.relative.split("/"),{label:n.label,expected:"file"})}})}var zt=".comet/config.yaml";function cm(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}async function ka(t,e={}){return(await cn(t,e)).document}async function lm(t){try{return(await _e(t,zt,Dt,{label:zt})).bytes}catch(e){if(cm(e))return null;throw e}}function um(t){return t?{exists:!0,sha256:sm("sha256").update(t).digest("hex")}:{exists:!1,sha256:null}}async function cn(t,e={}){let i=await lm(t);return{document:i?qt(i.toString("utf8"),e):null,identity:um(i)}}var Hy=16*1024;import{promises as it}from"fs";import A from"path";import mm from"os";var Ra=".comet/config.yaml";async function Ca(t){try{return await it.lstat(t),!0}catch(e){if(e.code==="ENOENT")return!1;throw e}}async function vm(t){try{let e=await it.readFile(t,"utf8");return/^schema:\s*comet\.project\.v1\s*$/mu.test(e)}catch(e){if(e.code==="ENOENT")return!1;throw e}}function Jt(t,e){let i=A.relative(t,e);return i===""||!A.isAbsolute(i)&&i!==".."&&!i.startsWith(`..${A.sep}`)}async function Gt(t){let e=[],i=t;for(;!await Ca(i);){let r=A.dirname(i);if(r===i)break;e.push(A.basename(i)),i=r}let n=await it.realpath(i);return A.resolve(n,...e.reverse())}async function tl(t){try{return(await it.lstat(t)).isSymbolicLink()}catch(e){if(e.code==="ENOENT")return!1;throw e}}async function Pa(t){let e=A.resolve(t);try{(await it.stat(e)).isDirectory()||(e=A.dirname(e))}catch(r){if(r.code!=="ENOENT")throw r}let i=e,n=A.resolve(mm.homedir());for(;;){if(!(e===n&&i!==n)){let o=A.join(e,...Ra.split("/")),s=e===i||await vm(o);if(await Ca(o)&&s)return e}if(await Ca(A.join(e,".git")))return e;let a=A.dirname(e);if(a===e)return i;e=a}}function Aa(t){return et(t)}async function gm(t,e){let i=Aa(e),n=A.resolve(t,...i.split("/")),r=await it.realpath(t),a=await Gt(n);if(!Jt(r,a))throw new Error("native.artifact_root resolves outside the project root");return n}async function un(t,e){let i=Aa(e),n=await gm(t,i),r=A.join(n,"comet");if(await tl(r))throw new Error("The configured Native comet root must not be a symbolic link");let[a,o]=await Promise.all([Gt(n),Gt(r)]);if(!Jt(a,o))throw new Error("The configured Native comet root resolves outside its artifact root");return{projectRoot:A.resolve(t),configFile:A.join(t,...Ra.split("/")),artifactRoot:n,artifactRootRef:i,nativeRoot:r,specsDir:A.join(r,"specs"),changesDir:A.join(r,"changes"),archiveDir:A.join(r,"archive"),runtimeDir:A.join(r,"runtime"),locksDir:A.join(r,"runtime","locks"),transactionsDir:A.join(r,"runtime","transactions")}}function ne(t,e){return Jt(A.resolve(t),A.resolve(e))}async function H(t,e){let i=A.resolve(t),n=A.resolve(e);if(!Jt(i,n))throw new Error(`Path is outside the Native root: ${e}`);if(await tl(i))throw new Error(`Native root must not be a symbolic link: ${t}`);let[r,a]=await Promise.all([Gt(i),Gt(n)]);if(!Jt(r,a))throw new Error(`Path resolves outside the Native root: ${e}`);return n}var fn=rn;async function nt(t){let e=(await ka(t))?.config??null;return e?.native?e:null}import{AsyncLocalStorage as ym}from"async_hooks";var aN=16*1024;var oN=new ym;import{TextDecoder as Am}from"util";import{createHash as Nm}from"node:crypto";import{constants as dn,promises as K}from"node:fs";import U from"node:path";import{TextDecoder as bm}from"node:util";function pn(t,e){let i=U.relative(t,e);return i===""||!U.isAbsolute(i)&&i!==".."&&!i.startsWith(`..${U.sep}`)}function km(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("Native protected file byte limit must be a positive integer");return t}function Sm(t,e){return I({...t,birthtime:t.birthtimeMs},{...e,birthtime:e.birthtimeMs})}function Em(t){return{dev:t.dev,ino:t.ino,birthtimeMs:t.birthtimeMs,ctimeMs:t.ctimeMs,mtimeMs:t.mtimeMs,size:t.size}}function hn(t,e){return I({...t,birthtime:t.birthtimeMs},{...e,birthtime:e.birthtimeMs})&&t.birthtimeMs===e.birthtimeMs&&t.ctimeMs===e.ctimeMs&&t.mtimeMs===e.mtimeMs&&t.size===e.size}async function Ta(t,e){let i=await K.lstat(t);if(!i.isDirectory()||i.isSymbolicLink())throw new Error(`${e} parent must be a real directory: ${t}`);return{path:t,realPath:await K.realpath(t),dev:i.dev,ino:i.ino,birthtimeMs:i.birthtimeMs}}async function Cm(t,e,i){let n=U.resolve(t),r=U.resolve(e);if(!pn(n,r))throw new Error(`${i} is outside its managed root`);let a=[await Ta(n,i)],o=n;for(let s of U.relative(n,r).split(U.sep).filter(Boolean)){await Oe(a,i),o=U.join(o,s);let c=await Ta(o,i);if(!pn(a[0].realPath,c.realPath))throw new Error(`${i} parent resolves outside its managed root: ${o}`);a.push(c)}return await Oe(a,i),a}async function Oe(t,e){for(let i of t){let n=await K.lstat(i.path);if(!n.isDirectory()||n.isSymbolicLink()||!Sm(i,n)||await K.realpath(i.path)!==i.realPath)throw new Error(`${e} parent changed during I/O: ${i.path}`)}}async function Rm(t,e,i){let n=[],r=0,a=Buffer.allocUnsafe(Math.min(64*1024,e+1));for(;;){let o=e+1-r,{bytesRead:s}=await t.read(a,0,Math.min(a.length,o),null);if(s===0)break;if(r+=s,r>e)throw new Error(`${i} exceeds ${e} bytes`);n.push(Buffer.from(a.subarray(0,s)))}return Buffer.concat(n,r)}async function rt(t){let e=km(t.maxBytes),i=U.resolve(t.file),n=await Cm(t.root,U.dirname(i),t.label),r=await Promise.all((t.forbiddenRoots??[]).map(d=>Ta(U.resolve(d),t.label)));await t.hooks?.afterParentChainCaptured?.(),await Oe(n,t.label);let a=await K.lstat(i);if(!a.isFile()||a.isSymbolicLink())throw new Error(`${t.label} must be a regular file`);if(a.size>e)throw new Error(`${t.label} exceeds ${e} bytes`);let o=Em(a),s=await K.realpath(i);if(!pn(n[0].realPath,s))throw new Error(`${t.label} resolves outside its managed root`);if(r.some(d=>pn(d.realPath,s)))throw new Error(`${t.label} resolves inside an excluded root`);let c=process.platform==="win32"?dn.O_RDONLY:dn.O_RDONLY|dn.O_NOFOLLOW|dn.O_NONBLOCK,l=await K.open(i,c);try{let d=await l.stat();await t.hooks?.afterOpen?.();let[u,f]=await Promise.all([K.lstat(i),K.realpath(i)]);if(await Oe(n,t.label),await Oe(r,t.label),!d.isFile()||!u.isFile()||u.isSymbolicLink()||f!==s||!hn(o,d)||!hn(o,u))throw new Error(`${t.label} changed while opening`);await t.hooks?.beforeRead?.();let m=await Rm(l,e,t.label);await t.hooks?.beforeFinalCheck?.();let[g,h,p]=await Promise.all([l.stat(),K.lstat(i),K.realpath(i)]);if(await Oe(n,t.label),await Oe(r,t.label),!h.isFile()||h.isSymbolicLink()||p!==s||!hn(o,g)||!hn(o,h))throw new Error(`${t.label} changed while reading`);return{bytes:m,hash:Nm("sha256").update(m).digest("hex"),size:m.length}}finally{await l.close()}}async function nl(t){let e=await rt(t),i;try{i=new bm("utf-8",{fatal:!0}).decode(e.bytes)}catch(n){throw new Error(`${t.label} is not valid UTF-8`,{cause:n})}return{...e,text:i}}var kN=256*1024,SN=1024*1024,EN=16*1024;var CN=64*1024*1024;var RN=new Am("utf-8",{fatal:!0});import vn from"path";import{createHash as Tm}from"crypto";function D(t){return Tm("sha256").update(t).digest("hex")}var WN={maxFiles:1e4,maxFileBytes:5*1024*1024,maxTotalBytes:64*1024*1024,maxManifestBytes:1024*1024},_m=1e3,Om=8*1024*1024,jm=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u,Hm=new Set(["schema","origin","capture","createdAt","complete","limits","entries","omitted","omittedCount","omissionOverflow","policy"]),$m=new Set(["maxFiles","maxFileBytes","maxTotalBytes","maxManifestBytes","maxDurationMs"]),Lm=new Set(["schema","include","exclude","hash"]),Fm=new Set(["provider","gitSelection","physicalSelection","projection"]),Mm=new Set(["provider","selection"]),Bm=new Set(["schema","status","stageBefore","combined","stageAfter","finalStageBefore","finalCombined","finalStageAfter"]),Dm=new Set(["hash","recordCount","storedRecordCount","stdoutBytes","overflow"]),qm=new Set(["schema","status","before","after"]),Vm=new Set(["hash","visitedNodeCount","recordCount","storedRecordCount","encodedBytes","overflow","unstable"]),Wm=new Set(["path","hash","size","type","gitObjectId"]),zm=new Set(["path","size","type","reason"]),Jm=new Set(["ref","hash","count"]),Gm=new Set(["change-created","legacy-migration","explicit"]),Km=new Set(["file","directory","other"]),Um=new Set(["file-size","file-count","total-size","manifest-size","changed-during-read","unreadable","gitlink-unavailable","gitlink-dirty","gitlink-changed","legacy-gitlink-boundary","git-enumeration-limit","git-selection-changed","physical-enumeration-limit","physical-selection-changed"]),gn=/^[a-f0-9]{64}$/u,Ym=/^(?:[a-f0-9]{40}|[a-f0-9]{64})$/u;var zN=64*1024,JN=64*1024;var GN={maxRecords:2e4,maxBytes:8*1024*1024,maxRecordBytes:64*1024},KN={maxNodes:2e4,maxBytes:8*1024*1024,maxPathBytes:64*1024};function mn(t,e){return t.hash===e.hash&&t.recordCount===e.recordCount&&t.storedRecordCount===e.storedRecordCount&&t.stdoutBytes===e.stdoutBytes&&t.overflow===e.overflow}var UN=(1n<<256n)-1n;function Xm(t,e){return t.hash===e.hash&&t.visitedNodeCount===e.visitedNodeCount&&t.recordCount===e.recordCount&&t.storedRecordCount===e.storedRecordCount&&t.encodedBytes===e.encodedBytes&&t.overflow===e.overflow&&t.unstable===e.unstable}function Qm(t){return Buffer.byteLength(JSON.stringify(t,null,2)+`
`)}function Zm(t,e){return D(`comet.native.snapshot-policy.v1
${JSON.stringify({include:t,exclude:e,hash:"sha256"})}`)}function _a(t,e,i){let n=new Set(e),r=[...e];for(;r.length>0;){if(i&&!i())return null;let a=r.pop(),o=t[a];o&&(o.kind==="star"||o.kind==="globstar"||o.kind==="globstar-slash")&&!n.has(a+1)&&(n.add(a+1),r.push(a+1))}return n}function ev(t){let e=0;return()=>e>0?(e-=1,!0):t()?(e=63,!0):!1}function cl(t){let e=fn(t,"Native snapshot pattern"),i=[];for(let n=0;n<e.length;n+=1){let r=e[n];r==="*"&&e[n+1]==="*"?(n+=1,e[n+1]==="/"?(n+=1,i.push({kind:"globstar-slash"})):i.push({kind:"globstar"})):r==="*"?i.push({kind:"star"}):r==="?"?i.push({kind:"question"}):i.push({kind:"literal",value:r})}return(n,r)=>{let a=r?ev(r):void 0;if(a&&!a())return!1;let o=_a(i,new Set([0]),a);if(o===null)return!1;for(let s of n){if(a&&!a())return!1;let c=new Set;for(let l of o){if(a&&!a())return!1;let d=i[l];d&&(d.kind==="literal"&&d.value===s||d.kind==="question"&&s!=="/"?c.add(l+1):d.kind==="star"&&s!=="/"||d.kind==="globstar"?c.add(l):d.kind==="globstar-slash"&&(c.add(l),s==="/"&&c.add(l+1)))}if(o=_a(i,c,a),o===null||o.size===0)return!1}return _a(i,o,a)?.has(i.length)??!1}}function tv(t){if(t===void 0)return;let e=[...new Set(t.include.map(r=>fn(r,"include")))].sort((r,a)=>r.localeCompare(a,"en")),i=[...new Set(t.exclude.map(r=>fn(r,"exclude")))].sort((r,a)=>r.localeCompare(a,"en"));if(e.length===0)throw new Error("Native snapshot policy include must not be empty");let n=Zm(e,i);if("hash"in t&&t.hash!==n)throw new Error("Native snapshot policy hash is invalid");return{manifest:{schema:"comet.native.snapshot-policy.v1",include:e,exclude:i,hash:n},includeMatchers:e.map(cl),excludeMatchers:i.map(cl),excludedDirectoryPrefixes:i.flatMap(r=>{if(!r.endsWith("/**"))return[];let a=r.slice(0,-3);return/[*?]/u.test(a)?[]:[a]}).sort((r,a)=>r.localeCompare(a,"en"))}}function q(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must be an object`);return t}function V(t,e,i){let n=Object.keys(t).find(r=>!e.has(r));if(n)throw new Error(`${i} contains unknown field: ${n}`)}function ot(t,e){if(!Number.isSafeInteger(t)||t<1)throw new Error(`${e} must be a positive integer`);return t}function re(t,e){if(!Number.isSafeInteger(t)||t<0)throw new Error(`${e} must be a non-negative integer`);return t}function fl(t,e){if(typeof t!="string"||t.length===0||t.includes("\\")||t.includes("\0"))throw new Error(`${e} must be a normalized project-relative path`);let i=vn.posix.normalize(t);if(i!==t||vn.posix.isAbsolute(t)||i===".."||i.startsWith("../"))throw new Error(`${e} must stay inside the project root`);return t}function iv(t,e){let i=q(t,`Native snapshot entry ${e}`);V(i,Wm,`Native snapshot entry ${e}`);let n=fl(i.path,`Native snapshot entry ${e} path`);if(typeof i.hash!="string"||!gn.test(i.hash))throw new Error(`Native snapshot entry ${e} hash is invalid`);if(i.type!=="file")throw new Error(`Native snapshot entry ${e} type is invalid`);let r={path:n,hash:i.hash,size:re(i.size,`Native snapshot entry ${e} size`),type:"file"};if(i.gitObjectId!==void 0){if(typeof i.gitObjectId!="string"||!Ym.test(i.gitObjectId))throw new Error(`Native snapshot entry ${e} gitObjectId is invalid`);r.gitObjectId=i.gitObjectId}return r}function nv(t,e){let i=q(t,`Native snapshot omission ${e}`);if(V(i,zm,`Native snapshot omission ${e}`),!Km.has(i.type))throw new Error(`Native snapshot omission ${e} type is invalid`);if(!Um.has(i.reason))throw new Error(`Native snapshot omission ${e} reason is invalid`);return{path:fl(i.path,`Native snapshot omission ${e} path`),size:i.size===null?null:re(i.size,`Native snapshot omission ${e} size`),type:i.type,reason:i.reason}}function rv(t){let e=q(t,"Native snapshot omission overflow");if(V(e,Jm,"Native snapshot omission overflow"),typeof e.hash!="string"||!gn.test(e.hash))throw new Error("Native snapshot omission overflow hash is invalid");let i=`native-snapshot://omitted-overflow/${e.hash}`;if(e.ref!==i)throw new Error("Native snapshot omission overflow ref is invalid");return{ref:i,hash:e.hash,count:ot(e.count,"Native snapshot omission overflow count")}}function at(t,e){let i=q(t,e);if(V(i,Dm,e),typeof i.hash!="string"||!gn.test(i.hash))throw new Error(`${e} hash is invalid`);if(typeof i.overflow!="boolean")throw new Error(`${e} overflow flag is invalid`);let n=re(i.recordCount,`${e} recordCount`),r=re(i.storedRecordCount,`${e} storedRecordCount`),a=re(i.stdoutBytes,`${e} stdoutBytes`);if(r>n||!i.overflow&&r!==n)throw new Error(`${e} stored record count is inconsistent`);return{hash:i.hash,recordCount:n,storedRecordCount:r,stdoutBytes:a,overflow:i.overflow}}function ll(t){let e=q(t,"Native Git selection evidence");if(V(e,Bm,"Native Git selection evidence"),e.schema!=="comet.native.git-selection.v1")throw new Error("Native Git selection evidence schema is invalid");if(e.status!=="overflow"&&e.status!=="changed"&&e.status!=="overflow-and-changed")throw new Error("Native Git selection evidence status is invalid");let i=at(e.stageBefore,"Native Git selection stageBefore"),n=at(e.combined,"Native Git selection combined"),r=at(e.stageAfter,"Native Git selection stageAfter"),a=at(e.finalStageBefore,"Native Git selection finalStageBefore"),o=at(e.finalCombined,"Native Git selection finalCombined"),s=at(e.finalStageAfter,"Native Git selection finalStageAfter"),c=[i,n,r,a,o,s].some(u=>u.overflow),l=!mn(i,r)||!mn(r,a)||!mn(n,o)||!mn(a,s),d=c&&l?"overflow-and-changed":c?"overflow":"changed";if(!c&&!l)throw new Error("Native Git selection evidence must describe an exceptional selection");if(e.status!==d)throw new Error("Native Git selection evidence status is inconsistent");return{schema:"comet.native.git-selection.v1",status:d,stageBefore:i,combined:n,stageAfter:r,finalStageBefore:a,finalCombined:o,finalStageAfter:s}}function ul(t,e){let i=q(t,e);if(V(i,Vm,e),typeof i.hash!="string"||!gn.test(i.hash))throw new Error(`${e} hash is invalid`);if(typeof i.overflow!="boolean"||typeof i.unstable!="boolean")throw new Error(`${e} flags are invalid`);let n=re(i.visitedNodeCount,`${e} visitedNodeCount`),r=re(i.recordCount,`${e} recordCount`),a=re(i.storedRecordCount,`${e} storedRecordCount`),o=re(i.encodedBytes,`${e} encodedBytes`);if(a>r||!i.overflow&&a!==r)throw new Error(`${e} stored record count is inconsistent`);return{hash:i.hash,visitedNodeCount:n,recordCount:r,storedRecordCount:a,encodedBytes:o,overflow:i.overflow,unstable:i.unstable}}function av(t){let e=q(t,"Native physical selection evidence");if(V(e,qm,"Native physical selection evidence"),e.schema!=="comet.native.physical-selection.v1")throw new Error("Native physical selection evidence schema is invalid");if(e.status!=="overflow"&&e.status!=="changed"&&e.status!=="overflow-and-changed")throw new Error("Native physical selection evidence status is invalid");let i=ul(e.before,"Native physical selection before"),n=ul(e.after,"Native physical selection after"),r=i.overflow||n.overflow,a=i.unstable||n.unstable||!Xm(i,n);if(!r&&!a)throw new Error("Native physical selection evidence must describe an exceptional selection");let o=r&&a?"overflow-and-changed":r?"overflow":"changed";if(e.status!==o)throw new Error("Native physical selection evidence status is inconsistent");return{schema:"comet.native.physical-selection.v1",status:o,before:i,after:n}}function dl(t){let e=q(t,"Native content snapshot manifest");if(V(e,Hm,"Native content snapshot manifest"),e.schema!=="comet.native.content-snapshot.v1")throw new Error("Unsupported Native content snapshot schema");if(!Gm.has(e.origin))throw new Error("Native content snapshot origin is invalid");let i;if(e.capture!==void 0){let v=q(e.capture,"Native content snapshot capture");if(V(v,Fm,"Native content snapshot capture"),v.provider!=="git"&&v.provider!=="physical-tree")throw new Error("Native content snapshot capture provider is invalid");let R=v.gitSelection===void 0?void 0:ll(v.gitSelection),b=v.physicalSelection===void 0?void 0:av(v.physicalSelection),x=null;if(v.projection!==void 0){let F=q(v.projection,"Native content snapshot projection");if(V(F,Mm,"Native content snapshot projection"),F.provider!=="git")throw new Error("Native content snapshot projection provider is invalid");x={provider:"git",...F.selection===void 0?{}:{selection:ll(F.selection)}}}if(v.provider==="git"){if(b||x)throw new Error("Native Git capture cannot include physical or projection evidence");i={provider:"git",...R?{gitSelection:R}:{}}}else{if(R)throw new Error("Native physical-tree capture cannot include direct Git evidence");if(b&&x)throw new Error("Native physical-tree capture cannot combine selection and projection");i=x?{provider:"physical-tree",projection:x}:{provider:"physical-tree",...b?{physicalSelection:b}:{}}}}if(typeof e.createdAt!="string"||Number.isNaN(Date.parse(e.createdAt)))throw new Error("Native content snapshot timestamp is invalid");if(typeof e.complete!="boolean")throw new Error("Native content snapshot complete flag is invalid");let n=q(e.limits,"Native content snapshot limits");V(n,$m,"Native content snapshot limits");let r={maxFiles:ot(n.maxFiles,"Native snapshot maxFiles"),maxFileBytes:ot(n.maxFileBytes,"Native snapshot maxFileBytes"),maxTotalBytes:ot(n.maxTotalBytes,"Native snapshot maxTotalBytes"),maxManifestBytes:ot(n.maxManifestBytes,"Native snapshot maxManifestBytes"),...n.maxDurationMs===void 0?{}:{maxDurationMs:ot(n.maxDurationMs,"Native snapshot maxDurationMs")}},a;if(e.policy!==void 0){let v=q(e.policy,"Native snapshot policy");if(V(v,Lm,"Native snapshot policy"),v.schema!=="comet.native.snapshot-policy.v1")throw new Error("Native snapshot policy schema is invalid");if(!Array.isArray(v.include)||!Array.isArray(v.exclude))throw new Error("Native snapshot policy patterns must be arrays");a=tv({include:v.include,exclude:v.exclude,hash:v.hash,schema:"comet.native.snapshot-policy.v1"}).manifest}if(!Array.isArray(e.entries)||!Array.isArray(e.omitted))throw new Error("Native content snapshot entries and omissions must be arrays");let o=e.entries.map(iv),s=e.omitted.map(nv),c=re(e.omittedCount,"Native content snapshot omittedCount"),l=e.omissionOverflow===void 0?void 0:rv(e.omissionOverflow);if(o.length>r.maxFiles)throw new Error("Native content snapshot exceeds its file-count limit");if(o.some(v=>v.size>r.maxFileBytes)||o.reduce((v,R)=>v+R.size,0)>r.maxTotalBytes)throw new Error("Native content snapshot exceeds its byte limits");if(new Set(o.map(v=>v.path)).size!==o.length)throw new Error("Native content snapshot contains duplicate paths");if(s.length>_m||c<s.length)throw new Error("Native content snapshot omission count is invalid");let d=c-s.length;if(d===0&&l||d>0&&l?.count!==d)throw new Error("Native content snapshot omission overflow is inconsistent");if(e.complete!==(c===0))throw new Error("Native content snapshot completeness is inconsistent");let u=s.filter(v=>v.reason==="git-enumeration-limit"),f=s.filter(v=>v.reason==="git-selection-changed");for(let v of[...u,...f])if(v.path!=="."||v.size!==null||v.type!=="directory")throw new Error("Native Git selection omission must use the project-root sentinel");if(u.length>1||f.length>1)throw new Error("Native Git selection omissions must not be duplicated");let m=i?.provider==="git"?i.gitSelection:i?.projection?.selection,g=m?.status==="overflow"||m?.status==="overflow-and-changed",h=m?.status==="changed"||m?.status==="overflow-and-changed";if(g!==(u.length===1))throw new Error("Native Git enumeration omission and selection evidence are inconsistent");if(h!==(f.length===1))throw new Error("Native Git selection-change omission and selection evidence are inconsistent");let p=s.filter(v=>v.reason==="physical-enumeration-limit"),y=s.filter(v=>v.reason==="physical-selection-changed");for(let v of[...p,...y])if(v.path!=="."||v.size!==null||v.type!=="directory")throw new Error("Native physical selection omission must use the project-root sentinel");if(p.length>1||y.length>1)throw new Error("Native physical selection omissions must not be duplicated");let N=i?.physicalSelection,k=N?.status==="overflow"||N?.status==="overflow-and-changed",S=N?.status==="changed"||N?.status==="overflow-and-changed";if(k!==(p.length===1))throw new Error("Native physical enumeration omission and evidence are inconsistent");if(S!==(y.length===1))throw new Error("Native physical selection-change omission and evidence are inconsistent");let E={schema:"comet.native.content-snapshot.v1",origin:e.origin,...i?{capture:i}:{},createdAt:e.createdAt,complete:e.complete,limits:r,...a?{policy:a}:{},entries:o,omitted:s,omittedCount:c,...l?{omissionOverflow:l}:{}};if(Qm(E)>r.maxManifestBytes)throw new Error("Native content snapshot exceeds its manifest byte limit");return E}function ov(t,e){if(!jm.test(e))throw new Error(`Invalid Native change name: ${e}`);let i=vn.join(t.changesDir,e);if(!ne(t.changesDir,i))throw new Error("Native change path escaped");return vn.join(i,"runtime","baseline-manifest.json")}async function hl(t,e){let i=ov(t,e);await H(t.nativeRoot,i);try{let n=await nl({root:t.nativeRoot,file:i,maxBytes:Om,label:"Native baseline snapshot manifest"});return dl(JSON.parse(n.text))}catch(n){if(n.code==="ENOENT")return null;throw n}}var dv=On(Xi(),1);var Qb=256*1024;var fk={runStateBytes:256*1024,trajectoryBytes:8*1024*1024,trajectoryEvents:4096,trajectoryEventBytes:256*1024,checkpointBytes:256*1024,pendingActionBytes:256*1024,contextBytes:1024*1024,artifactsBytes:1024*1024};import{createHash as vv}from"node:crypto";import{promises as yn}from"node:fs";import ke from"node:path";import{execFileSync as pv}from"child_process";import wn from"path";function Oa(t,e){return pv("git",["-C",t,...e],{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4,windowsHide:!0}).trim()}function mv(t,e){let i=wn.normalize(t),n=wn.normalize(e);return process.platform==="win32"?i.toLowerCase()===n.toLowerCase():i===n}function ml(t){try{let e=wn.resolve(Oa(t,["rev-parse","--show-toplevel"])),n=Oa(t,["worktree","list","--porcelain","-z"]).split("\0").find(o=>o.startsWith("worktree ")),r=n?wn.resolve(n.slice(9)):e,a=null;try{a=Oa(t,["symbolic-ref","--quiet","--short","HEAD"])||null}catch{}return{isGitWorktree:!0,isSecondaryWorktree:!mv(e,r),currentWorktreeRoot:e,primaryWorktreeRoot:r,currentBranch:a}}catch{return{isGitWorktree:!1,isSecondaryWorktree:!1,currentWorktreeRoot:null,primaryWorktreeRoot:null,currentBranch:null}}}var Kt=/^[a-f0-9]{64}$/u,gv=16*1024,ja=process.platform;function yl(t,e){let i=ke.relative(t,e);return ke.isAbsolute(i)||i===".."||i.startsWith(`..${ke.sep}`)?null:i.replaceAll("\\","/")||"."}function Nl(t){return Array.from(t).some(e=>{let i=e.codePointAt(0)??0;return i<=31||i===127})}function bl(t,e){if(t.length===0||Nl(t)||t.includes("\\")||ke.posix.isAbsolute(t)||/^(?:[A-Za-z]:|~)/u.test(t)||t.split("/").includes(".."))throw new Error(`${e} must be a portable project-relative path`);let i=ke.posix.normalize(t);if(i!==t||i===".."||i.startsWith("../"))throw new Error(`${e} must be a normalized project-relative path`);return i}function Ha(t,e){return vv("sha256").update(`${t}
${e}`).digest("hex")}async function vl(t,e){let i=await yn.realpath(e),n=await yn.lstat(i);if(!n.isDirectory()||n.isSymbolicLink())throw new Error("Native workspace identity requires a real directory");let r=ja==="win32"?ke.normalize(i).toLowerCase():i;return Ha(t,`${r}
${n.dev}
${n.ino}
${n.birthtimeMs}`)}async function gl(t,e){let i=await yn.realpath(e),n=await yn.lstat(i);if(!n.isDirectory()||n.isSymbolicLink())throw new Error("Native workspace identity requires a real directory");let r=ja==="win32"?ke.normalize(i).toLowerCase():i;return Ha(t,r)}function wv(t){if(typeof t!="string")throw new Error("Native workspace capturedAt is invalid");let e=new Date(t);if(!Number.isFinite(e.getTime())||e.toISOString()!==t)throw new Error("Native workspace capturedAt is invalid");return t}function wl(t,e){if(t===null)return null;if(typeof t!="string"||t.length===0||t.trim()!==t||Nl(t))throw new Error(`${e} must be a non-empty branch name or null`);return t}function kl(t){if(!new Set(["current","branch","worktree"]).has(t.isolation))throw new Error("Native workspace isolation must be current, branch, or worktree");if(wl(t.changeBranch,"Native workspace change branch"),wl(t.targetBranch,"Native workspace target branch"),(t.isolation==="branch"||t.isolation==="worktree")&&(t.changeBranch===null||t.targetBranch===null))throw new Error("Native isolated workspace requires change and target branches")}function Nn(t){if(!t||typeof t!="object"||Array.isArray(t))throw new Error("Native workspace identity must be an object");let e=t,i=new Set(["schema","capturedAt","capturedRevision","nativeRootRef","projectRootId","nativeRootId","projectRootPathId","nativeRootPathId","sessionHash","isolation","changeBranch","targetBranch","finish"]),n=Object.keys(e).filter(o=>!i.has(o));if(n.length>0)throw new Error(`Native workspace identity has unknown field(s): ${n.join(", ")}`);if(e.schema!=="comet.native.workspace.v2"&&e.schema!=="comet.native.workspace.v3")throw new Error("Unsupported Native workspace identity");if(!Number.isSafeInteger(e.capturedRevision)||e.capturedRevision<1||typeof e.nativeRootRef!="string"||!Kt.test(String(e.projectRootId))||!Kt.test(String(e.nativeRootId)))throw new Error("Native workspace identity is invalid");wv(e.capturedAt),bl(e.nativeRootRef,"Native workspace root ref");let r=e.projectRootPathId!==void 0,a=e.nativeRootPathId!==void 0;if(r!==a)throw new Error("Native workspace path identities must be provided together");if(r&&!Kt.test(String(e.projectRootPathId))||a&&!Kt.test(String(e.nativeRootPathId)))throw new Error("Native workspace path identity is invalid");if(e.sessionHash!==void 0&&!Kt.test(String(e.sessionHash)))throw new Error("Native workspace session hash is invalid");if(e.schema==="comet.native.workspace.v2"){if(e.isolation!==void 0||e.changeBranch!==void 0||e.targetBranch!==void 0||e.finish!==void 0)throw new Error("Native workspace v2 identity cannot contain a workspace binding");return}if(typeof e.isolation!="string"||e.changeBranch===void 0||e.targetBranch===void 0||e.finish===void 0)throw new Error("Native workspace v3 identity requires a workspace binding");if(kl(e),e.finish!==null&&!new Set(["merge","push","pull-request","keep"]).has(e.finish))throw new Error("Native workspace finish must be merge, push, pull-request, keep, or null")}function yv(t,e){return ke.join(t.changesDir,e,"runtime","workspace.json")}function Nv(t,e){let i=yl(t.nativeRoot,yv(t,e));if(!i||i===".")throw new Error("Native workspace file escaped its root");return bl(i,"Native workspace file ref")}async function bv(t,e){try{let i=await Ne({root:t.nativeRoot,ref:Nv(t,e),maxBytes:gv});return JSON.parse(i.text)}catch(i){if(i.code==="ENOENT")return null;throw i}}async function kv(t){if(!Number.isSafeInteger(t.revision)||t.revision<1)throw new Error("Native workspace revision must be a positive integer");let e=yl(t.paths.projectRoot,t.paths.nativeRoot);if(!e)throw new Error("Native root is outside the project root");let[i,n,r,a]=await Promise.all([vl("comet.native.workspace-project-root.v2",t.paths.projectRoot),vl("comet.native.workspace-native-root.v2",t.paths.nativeRoot),gl("comet.native.workspace-project-root-path.v2",t.paths.projectRoot),gl("comet.native.workspace-native-root-path.v2",t.paths.nativeRoot)]),o=(t.now??new Date).toISOString();if(t.finish&&!t.binding)throw new Error("Native workspace finish requires a workspace binding");t.binding&&kl(t.binding);let s={capturedAt:o,capturedRevision:t.revision,nativeRootRef:e,projectRootId:i,nativeRootId:n,projectRootPathId:r,nativeRootPathId:a,...t.sessionId?{sessionHash:Ha("comet.native.workspace-session.v2",`${i}
${n}
${t.sessionId}`)}:{}},c=t.binding?{schema:"comet.native.workspace.v3",...s,...t.binding,finish:t.finish??null}:{schema:"comet.native.workspace.v2",...s};return Nn(c),c}async function bn(t,e){let i=await bv(t,e);return i===null||i&&typeof i=="object"&&!Array.isArray(i)&&i.schema==="comet.native.workspace.v1"?null:(Nn(i),i)}async function Sl(t){Nn(t.identity);let e=await kv({paths:t.paths,name:"workspace-advisory",revision:t.identity.capturedRevision}),i=[],n=[];return e.nativeRootRef!==t.identity.nativeRootRef&&i.push("native-root-ref"),t.identity.projectRootPathId&&t.identity.nativeRootPathId?(e.projectRootPathId!==t.identity.projectRootPathId&&i.push("project-root-path"),e.nativeRootPathId!==t.identity.nativeRootPathId&&i.push("native-root-path")):(e.projectRootId!==t.identity.projectRootId&&i.push("project-root-legacy-identity"),e.nativeRootId!==t.identity.nativeRootId&&i.push("native-root-legacy-identity")),ja==="win32"&&i.length>0&&i.every(a=>a==="project-root-legacy-identity"||a==="native-root-legacy-identity")?n.push("workspace-inspection-unavailable"):i.length>0&&n.push("workspace-root-changed"),{state:n.length===0?"aligned":n.includes("workspace-root-changed")?"drifted":"unknown",findingCodes:n,driftComponents:i}}async function El(t){if(Nn(t.identity),t.identity.schema==="comet.native.workspace.v2")return{state:"legacy",code:"workspace-binding-legacy",message:"Legacy Native workspace metadata has no isolation binding"};if((await Sl(t)).state==="drifted")return{state:"drifted",code:"workspace-binding-root-changed",message:"Native change is being accessed from a different working directory"};let i=ml(t.paths.projectRoot);return t.identity.changeBranch===null?i.isGitWorktree?{state:"drifted",code:"workspace-branch-changed",message:"Native change was created outside Git but is now being accessed inside Git"}:{state:"aligned",code:null,message:null}:i.isGitWorktree?i.currentBranch!==t.identity.changeBranch?{state:"drifted",code:"workspace-branch-changed",message:`Native change is bound to branch ${t.identity.changeBranch}, but the current branch is ${i.currentBranch??"detached HEAD"}`}:t.identity.isolation==="worktree"&&!i.isSecondaryWorktree?{state:"drifted",code:"workspace-kind-changed",message:"Native change is bound to a linked Git worktree"}:{state:"aligned",code:null,message:null}:{state:"drifted",code:"workspace-vcs-unavailable",message:"Native change requires its bound Git working directory"}}async function Cl(t,e){let i=await bn(t,e);if(i===null)return null;let n=await El({paths:t,identity:i});if(n.state==="drifted")throw new Error(`${n.code}: ${n.message}`);return i}var $e="comet.native.v3",Le="comet.native.v2",Fe="comet.native.v1";var Rl=["schema","name","language","phase","brief","approval","spec_changes","verification_result","verification_report","archived","created_at","run_id"],Cv=new Set(Rl),Pl=new Set([...Rl,"minimum_runtime_version","revision"]),Rv=new Set([...Pl,"approved_contract_hash","implementation_scope","verification_evidence","partial_allowance","verification_protocol"]),Pv=new Set(["capability","operation","source","base_hash"]),Av=new Set(["shape","build","verify","archive"]),xv=new Set(["implicit","confirmed"]),Tv=new Set(["pending","pass","fail"]),De="comet-state.yaml",La=/^[a-f0-9]{64}$/u,Al=/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u,Iv=/^runtime\/evidence\/(scopes|allowances|verifications)\/([a-f0-9]{64})\.json$/u,kn=class extends Error{constructor(i,n){super(`Native change ${i} uses ${n}; run comet native doctor ${i} --repair before mutating it`);this.change=i;this.schema=n;this.name="NativeSchemaMigrationRequiredError"}change;schema;code="native-schema-migration-required"},Be=class extends Error{constructor(i,n){super(i!==$e||n===null?`Unsupported Native change schema ${i} for runtime protocol ${3}`:`Native change ${i} requires runtime protocol ${n}; current protocol is ${3}`);this.schema=i;this.minimumRuntimeVersion=n;this.name="NativeRuntimeCompatibilityError"}schema;minimumRuntimeVersion;code="native-runtime-incompatible"},Sn=class extends Error{constructor(i,n,r){super(`Native change ${i} revision conflict: expected ${n}, actual ${r}`);this.change=i;this.expectedRevision=n;this.actualRevision=r;this.name="NativeChangeRevisionConflictError"}change;expectedRevision;actualRevision;code="native-change-revision-conflict"},En=class extends Error{constructor(i,n){super(`Native working directory already contains active change${n.length===1?"":"s"} ${n.join(", ")}; create the new change in a separate worktree`);this.requestedIsolation=i;this.activeChanges=n;this.name="NativeWorkspaceIsolationRequiredError"}requestedIsolation;activeChanges;code="native-workspace-isolation-required"},Cn=class extends Error{constructor(i,n,r,a,o,s=null,c=null){super(`Native change ${i} baseline is incomplete (${n} omitted entr${n===1?"y":"ies"}). Adjust native.snapshot scope or resource budgets in .comet/config.yaml, then retry.`);this.change=i;this.omittedCount=n;this.omittedByReason=r;this.samplePaths=a;this.sampleTruncated=o;this.effectiveLimits=s;this.policyHash=c;this.name="NativeBaselineIncompleteError"}change;omittedCount;omittedByReason;samplePaths;sampleTruncated;effectiveLimits;policyHash;code="native-baseline-incomplete"},eS=["# Outcome","","# Scope","","# Non-goals","","# Acceptance examples","","# Constraints and invariants","","# Decisions","","# Open questions","","# Verification expectations",""].join(`
`);function Yt(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must be a mapping`);return t}function xl(t,e,i){let n=Object.keys(t).filter(r=>!e.has(r));if(n.length>0)throw new Error(`${i} has unknown field(s): ${n.join(", ")}`)}function Rn(t){if(!Al.test(t))throw new Error(`Invalid Native change name: ${t}`)}function _v(t){if(!Al.test(t))throw new Error(`Invalid Native capability id: ${t}`)}function Tl(t,e){if(t.length===0||Me.isAbsolute(t)||/^(?:[A-Za-z]:|~|[\\/])/u.test(t)||t.split(/[\\/]/u).includes(".."))throw new Error(`${e} must stay inside the Native change`)}function Ov(t,e){let i=Yt(t,`spec_changes[${e}]`);if(xl(i,Pv,`spec_changes[${e}]`),typeof i.capability!="string")throw new Error("spec change capability is required");if(_v(i.capability),i.operation!=="create"&&i.operation!=="replace"&&i.operation!=="remove")throw new Error(`Invalid spec operation for ${i.capability}`);let n=i.source,r=i.base_hash;if(n!==void 0&&typeof n!="string")throw new Error(`Spec source for ${i.capability} must be a string`);if(typeof n=="string"&&Tl(n,`Spec source for ${i.capability}`),i.operation==="create"){if(!n)throw new Error(`Create spec ${i.capability} requires source`);if(r!==null)throw new Error(`Create spec ${i.capability} requires null base_hash`)}else if(i.operation==="replace"){if(!n)throw new Error(`Replace spec ${i.capability} requires source`);if(typeof r!="string"||!La.test(r))throw new Error(`Replace spec ${i.capability} requires a SHA-256 base_hash`)}else{if(n!==void 0)throw new Error(`Remove spec ${i.capability} forbids source`);if(typeof r!="string"||!La.test(r))throw new Error(`Remove spec ${i.capability} requires a SHA-256 base_hash`)}return{capability:i.capability,operation:i.operation,...typeof n=="string"?{source:n}:{},base_hash:r}}function jv(t){return/^\d{4}-\d{2}-\d{2}$/u.test(t)?new Date(`${t}T00:00:00.000Z`).toISOString().slice(0,10)===t:!1}function Ma(t,e){if(xl(t,e,De),typeof t.name!="string")throw new Error("Native change name is required");if(Rn(t.name),t.language!=="en"&&t.language!=="zh-CN")throw new Error("Native change language must be en or zh-CN");if(typeof t.phase!="string"||!Av.has(t.phase))throw new Error("Native change phase is invalid");if(t.brief!=="brief.md")throw new Error("Native change brief must be brief.md");if(t.approval!==null&&!xv.has(t.approval))throw new Error("Native change approval is invalid");if(!Array.isArray(t.spec_changes))throw new Error("Native spec_changes must be an array");let i=t.spec_changes.map(Ov),n=i.map(r=>r.capability).filter((r,a,o)=>o.indexOf(r)!==a);if(n.length>0)throw new Error(`Duplicate Native capability operation: ${[...new Set(n)].join(", ")}`);if(typeof t.verification_result!="string"||!Tv.has(t.verification_result))throw new Error("Native verification_result is invalid");if(t.verification_report!==null&&typeof t.verification_report!="string")throw new Error("Native verification_report must be a string or null");if(typeof t.verification_report=="string"&&Tl(t.verification_report,"Native verification_report"),typeof t.archived!="boolean")throw new Error("Native archived must be boolean");if(typeof t.created_at!="string"||!jv(t.created_at))throw new Error("Native created_at must be a valid YYYY-MM-DD date");if(t.run_id!==null&&(typeof t.run_id!="string"||t.run_id.length===0))throw new Error("Native run_id must be a non-empty string or null");return{name:t.name,language:t.language,phase:t.phase,brief:"brief.md",approval:t.approval,spec_changes:i,verification_result:t.verification_result,verification_report:t.verification_report,archived:t.archived,created_at:t.created_at,run_id:t.run_id}}function Ba(t){let e=Yt(t,De);if(e.schema!==Fe)throw new Error(`Expected ${Fe}`);return{schema:Fe,...Ma(e,Cv)}}function Ut(t,e){if(!Number.isSafeInteger(t)||t<1)throw new Error(`${e} must be a positive integer`);return t}function $a(t,e,i){if(t===null)return null;let n=typeof t=="string"?Iv.exec(t):null;if(!n||n[1]!==i)throw new Error(`${e} must be null or runtime/evidence/${i}/<sha256>.json relative to the Native change`);return t}function Hv(t){if(t==null)return null;if(typeof t!="string"||!La.test(t))throw new Error("Native approved_contract_hash must be null or a SHA-256 hash");return t}function $v(t){if(t===void 0)return"legacy-v1";if(t!=="legacy-v1")throw new Error("Native verification_protocol must be legacy-v1");return t}function Da(t){let e=Yt(t,De);if(e.schema!==Le)throw new Error(`Expected ${Le}`);if(Ut(e.minimum_runtime_version,"Native v2 minimum_runtime_version")!==2)throw new Error(`Native ${Le} minimum_runtime_version must be 2`);return{schema:Le,minimum_runtime_version:2,revision:Ut(e.revision,"Native v2 revision"),...Ma(e,Pl)}}function qa(t){let e=Yt(t,De);if(e.schema!==$e){if(e.schema===Fe||e.schema===Le){let o=e.schema===Fe?Ba(e):Da(e);throw new kn(o.name,o.schema)}throw new Be(typeof e.schema=="string"?e.schema:"(missing)",typeof e.minimum_runtime_version=="number"?e.minimum_runtime_version:null)}let i=Ut(e.minimum_runtime_version,"Native minimum_runtime_version");if(i>3)throw new Be(e.schema,i);if(i!==3)throw new Error(`Native ${e.schema} minimum_runtime_version must be ${3}`);let n=Ut(e.revision,"Native revision"),r=Ma(e,Rv),a=Hv(e.approved_contract_hash);if(r.approval===null&&a!==null)throw new Error("Native approved_contract_hash requires an approval");return{schema:$e,minimum_runtime_version:3,revision:n,verification_protocol:$v(e.verification_protocol),...r,approved_contract_hash:a,implementation_scope:$a(e.implementation_scope,"Native implementation_scope","scopes"),verification_evidence:$a(e.verification_evidence,"Native verification_evidence","verifications"),partial_allowance:$a(e.partial_allowance,"Native partial_allowance","allowances")}}function Lv(t){let e=Yt(t,De);if(e.schema===Fe){let r=Ba(e);return{status:"migration-required",schema:r.schema,minimumRuntimeVersion:1,state:r,message:`Native change ${r.name} requires migration to ${$e}`}}if(e.schema===Le){let r=Da(e);return{status:"migration-required",schema:r.schema,minimumRuntimeVersion:r.minimum_runtime_version,state:r,message:`Native change ${r.name} requires migration to ${$e}`}}if(e.schema!==$e){let r=typeof e.minimum_runtime_version=="number"&&Number.isSafeInteger(e.minimum_runtime_version)?e.minimum_runtime_version:null;return{status:"runtime-incompatible",schema:typeof e.schema=="string"?e.schema:"(missing)",minimumRuntimeVersion:r,state:null,message:new Be(typeof e.schema=="string"?e.schema:"(missing)",r).message}}let i=Ut(e.minimum_runtime_version,"Native minimum_runtime_version");if(i>3)return{status:"runtime-incompatible",schema:e.schema,minimumRuntimeVersion:i,state:null,message:new Be(e.schema,i).message};let n=qa(e);return{status:"current",schema:n.schema,minimumRuntimeVersion:n.minimum_runtime_version,state:n}}function Y(t,e){Rn(e);let i=Me.join(t.changesDir,e);if(!ne(t.changesDir,i))throw new Error("Native change path escaped");return i}async function Va(t,e){let i=Me.join(Y(t,e),"runtime","schema-migration.json");await H(t.nativeRoot,i);try{return await Ev.lstat(i),!0}catch(n){if(n.code==="ENOENT")return!1;throw n}}var Fv=256*1024;async function Mv(t,e=Me.dirname(t)){let i=Me.relative(e,t).split(Me.sep).join("/"),n=await Ne({root:e,ref:i,maxBytes:Fv}),r=(0,Fa.parseDocument)(n.text,{uniqueKeys:!0});if(r.errors.length>0)throw new Error(`Invalid Native change file ${t}: ${r.errors[0].message}`);return r.toJS()}async function Bv(t,e){let i=Me.join(Y(t,e),De);await H(t.nativeRoot,i);let n=Lv(await Mv(i,t.nativeRoot));if(n.state&&n.state.name!==e)throw new Error(`Native change directory/name mismatch: ${e}`);return await Va(t,e)?{status:"migration-required",schema:n.schema,minimumRuntimeVersion:n.minimumRuntimeVersion,state:n.state,message:`Native schema migration is incomplete for ${e}; run doctor --repair`}:(n.status==="current"&&n.state&&await Dv(t,n.state),n)}async function Dv(t,e){if(await hl(t,e.name)!==null&&e.verification_protocol!=="legacy-v1")throw new Error(`Native verification protocol is unsupported: ${e.verification_protocol}`)}async function se(t,e){let i=await Bv(t,e);if(i.status==="migration-required")throw new kn(e,i.schema);if(i.status==="runtime-incompatible"||!i.state)throw new Be(i.schema,i.minimumRuntimeVersion);return await Cl(t,e),i.state}import qv from"path";var Wa="comet.selection.v2",Vv=16*1024;function _l(t){return qv.join(t,".comet","current-change.json")}function Wv(t){return!!t&&typeof t=="object"&&!Array.isArray(t)}function Il(t){return t===null||typeof t=="string"}function zv(t){let e;try{e=JSON.parse(t)}catch(i){throw new Error(`current change selection contains invalid JSON: ${i instanceof Error?i.message:String(i)}`,{cause:i})}if(!Wv(e))throw new Error("current change selection must be a JSON object");if(e.version===1){if(typeof e.change!="string")throw new Error("legacy current change selection change must be a string");if(e.branch!==void 0&&!Il(e.branch))throw new Error("legacy current change selection branch must be a string or null");return{selection:{schema:Wa,workflow:"classic",change:e.change,branch:e.branch??null},legacy:!0}}if(e.schema!==Wa)throw new Error(`current change selection schema must be ${Wa}`);if(e.workflow!=="native"&&e.workflow!=="classic")throw new Error("current change selection workflow must be native or classic");if(typeof e.change!="string")throw new Error("current change selection change must be a string");if(!Il(e.branch))throw new Error("current change selection branch must be a string or null");if(e.workflow==="native"&&e.branch!==null)throw new Error("Native current change selection branch must be null");return{selection:e,legacy:!1}}async function Ol(t){let e;try{let n=_l(t),{bytes:r}=await tt(n,Vv,{label:"current change selection"});e=r.toString("utf8")}catch(n){if(n.code==="ENOENT")return{status:"missing"};throw new Error(`cannot read current change selection: ${n instanceof Error?n.message:String(n)}`,{cause:n})}return{status:"selected",...zv(e)}}var dS=16*1024;async function Jv(t){let e=await Ol(t.projectRoot);return e.status==="missing"||e.selection.workflow!=="native"?null:(Rn(e.selection.change),e.selection)}async function jl(t){let e=await Jv(t);return e?(await se(t,e.change),e.change):null}function Pn(t,e){let i=st.relative(t,e);return i===""||!i.startsWith("..")&&!st.isAbsolute(i)}function Kv(t,e,i){return i.targets.length>0&&i.targets.every(n=>{let r=st.resolve(t,n);return Pn(t,r)?st.relative(t,r).replaceAll("\\","/")===".comet/config.yaml"||Pn(e,r):!0})}async function Uv(t){let e=await nt(t);if(!e||!(e.workflows??[e.default_workflow]).includes("native"))return null;let i=await un(t,e.native.artifact_root),n;try{n=await Gv.readdir(i.changesDir,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return{paths:i,changes:[]};throw a}let r=[];for(let a of n.sort((o,s)=>o.name.localeCompare(s.name))){if(!a.isDirectory()||a.isSymbolicLink())continue;let o=await se(i,a.name);o.archived||r.push(o)}return{paths:i,changes:r}}var Yv=Ua("nativeActiveContext",t=>Uv(t));async function Hl(){let{intent:t,targets:e}=await to();return{intent:t,targets:e}}async function $l(t,e,i){let n=await Yv(t);if(!n)return{allowed:!0,reason:"Native workflow is not enabled"};if(e.intent==="non-write")return{allowed:!0,reason:"Hook event is not a write"};if(n.changes.length===0)return{allowed:!0,reason:Kv(t,n.paths.nativeRoot,e)?"Native control artifact write":"No Native changes exist"};let r;if(i){if(r=n.changes.find(s=>s.name===i),!r)return{allowed:!1,reason:`Selected Native change ${i} is missing or archived; resume /comet-native before retrying`,workflow:"native",change:i}}else if(n.changes.length===1)r=n.changes[0];else{let s=await jl(n.paths);if(r=n.changes.find(c=>c.name===s),!r)return{allowed:!1,reason:"Multiple Native changes are active; select the change to resume before writing code",workflow:"native"}}if(r.phase==="build")return{allowed:!0,reason:"Native change is in Build",workflow:"native",phase:r.phase,change:r.name};if(e.intent==="unknown"||e.targets.length===0)return{allowed:!0,reason:"Hook write target was not attributed to the guarded project",workflow:"native",phase:r.phase,change:r.name};let a=!1,o=!1;for(let s of e.targets){let c=st.resolve(t,s);if(!Pn(t,c)){o=!0;continue}if(st.relative(t,c).replaceAll("\\","/")===".comet/config.yaml"||Pn(n.paths.nativeRoot,c)){a=!0;continue}return{allowed:!1,reason:`Native change ${r.name} is in ${r.phase}; implementation writes are only allowed in build. Resume /comet-native to continue safely`,workflow:"native",phase:r.phase,change:r.name}}return{allowed:!0,reason:a?"Native control artifact write":o?"Write target is outside the guarded project":"No guarded write target was provided",workflow:"native",phase:r.phase,change:r.name}}import _g from"path";var Qv=["Outcome","Scope","Non-goals","Acceptance examples"],$S=[...Qv,"Constraints and invariants","Decisions","Open questions","Verification expectations"];import{createHash as Zv}from"crypto";function X(t){throw new TypeError(`Value is not valid canonical JSON: ${t}`)}function eg(t,e){e.has(t)&&X("cyclic structures are not supported"),e.add(t);try{let i=Object.keys(t);for(let n=0;n<t.length;n+=1)Object.prototype.hasOwnProperty.call(t,n)||X("sparse arrays are not supported");return(i.length!==t.length||i.some((n,r)=>n!==String(r)))&&X("arrays must not have named enumerable properties"),Object.getOwnPropertySymbols(t).length>0&&X("symbol properties are not supported"),`[${t.map(n=>za(n,e)).join(",")}]`}finally{e.delete(t)}}function tg(t,e){let i=Object.getPrototypeOf(t);i!==Object.prototype&&i!==null&&X("only plain objects are supported"),e.has(t)&&X("cyclic structures are not supported"),Object.getOwnPropertySymbols(t).length>0&&X("symbol properties are not supported"),e.add(t);try{let n=Object.getOwnPropertyDescriptors(t);return`{${Object.keys(t).sort().map(o=>{let s=n[o];return(!s||!("value"in s))&&X("accessor properties are not supported"),`${JSON.stringify(o)}:${za(s.value,e)}`}).join(",")}}`}finally{e.delete(t)}}function za(t,e){if(t===null)return"null";switch(typeof t){case"boolean":return t?"true":"false";case"string":return JSON.stringify(t);case"number":return Number.isFinite(t)||X("numbers must be finite"),JSON.stringify(Object.is(t,-0)?0:t);case"object":return Array.isArray(t)?eg(t,e):tg(t,e);case"bigint":case"function":case"symbol":case"undefined":return X(`${typeof t} values are not supported`)}return X("unsupported value type")}function Ja(t){return za(t,new Set)}function Q(t,e){if(t.length===0)throw new TypeError("Canonical hash tag must be non-empty");if(/[\r\n]/u.test(t))throw new TypeError("Canonical hash tag must not contain a line break");return Zv("sha256").update(`${t}
${Ja(e)}`).digest("hex")}var ig=Object.freeze({maxChanges:32,maxSpecsPerChange:64,maxArtifactsPerChange:128,maxTotalSpecs:512,maxTotalArtifacts:1024,maxSignalsPerRelationship:8,maxRelationships:256,maxSerializedBytes:64*1024,maxNameBytes:128,maxCapabilityBytes:128,maxArtifactPathBytes:512});var Ll=1024*1024;var Ml="scoped-text-safety",ng=1,rg=Object.freeze({maxFiles:256,maxFileBytes:2*1024*1024,maxTotalBytes:8*1024*1024,maxIssues:128});var ag="comet.native.checker-policy.v1";var eE=Q(ag,{policy:Ml,version:ng,limits:rg,checks:["conflict-marker","space-before-tab","trailing-whitespace"],binaryHandling:"skip-and-count"});var og=["contract-before-does-not-match-scope","implementation-before-does-not-match-scope","contract-changed-during-check","implementation-changed-during-check","contract-after-does-not-match-scope","implementation-after-does-not-match-scope"],tE=new Set(og);var cg=Ll,yE=3*cg;var Bl={root:"/comet/native-runtime",packageKind:"runtime",definition:{apiVersion:"comet/v1alpha1",kind:"Skill",metadata:{name:"comet-native-runtime",version:"3",description:"Comet-owned state runtime for the Native workflow."},goal:{statement:"Advance a Native change only after its current guard passes.",inputs:[],outputs:[],success:["The Native change and Run state agree on the next phase."]},orchestration:{mode:"deterministic",entry:"shape",steps:[{id:"shape",action:{type:"checkpoint"},next:"build"},{id:"build",action:{type:"checkpoint"},next:"verify"},{id:"verify",action:{type:"checkpoint"},next:"archive"},{id:"archive",action:{type:"checkpoint"}}]},skills:[],agents:[],tools:[]},guardrails:{allowedSkills:[],allowedAgents:[],allowedTools:[],maxIterations:Number.MAX_SAFE_INTEGER,maxRetriesPerAction:2,confirmationRequiredFor:[]},evals:[]},lg=D("comet-native-runtime:v3:semantic-repair-budget"),GE=[{skillVersion:"2",skillHash:D("comet-native-runtime:v2:max-iterations-32")},{skillVersion:"1",skillHash:D("comet-native-runtime:v1")}];var ql=["schema","id","change","evidenceHash","createdAt","previousState","nextState","previousRun","nextRun","eventData"],PC=new Set(ql),mg=new Set([...ql,"minimum_runtime_version","revision"]),AC=new Set([...mg,"operation"]),xC=512*1024,vg=new Set(["previousPhase","nextPhase","evidenceHash","summary","artifacts","noCodeReason","verificationResult"]),TC=new Set([...vg,"implementationScopeHash","repairScopeHash","repairStagnation"]);var OC=Object.freeze({maxItems:16,maxTextBytes:512,maxContextItems:4,maxContextItemBytes:256,maxFailedCheckIds:16,maxSerializedBytes:32*1024}),Vl=Object.freeze({maxCriteria:1024});var BC={maxAcceptanceCriteria:Vl.maxCriteria};var zC={maxSpecs:64,maxFileBytes:Zi,maxTotalBytes:4*1024*1024};import{execFile as Cg,spawn as OR}from"node:child_process";import{promisify as Rg}from"node:util";var iR={maxArtifacts:128,maxFileBytes:16*1024*1024,maxTotalBytes:64*1024*1024,maxDocumentBytes:256*1024};var ER=512*1024;var Xt=class extends Error{recovery;constructor(e,i){super(e),this.name="NativeReceiptScopeStaleError",this.recovery=i}};var KR=64*1024;var UR=3600*1e3;var YR=Rg(Cg);var XR=["$ProgressPreference = 'SilentlyContinue'","$encoded = $env:COMET_NATIVE_COMMAND_PAYLOAD","Remove-Item Env:COMET_NATIVE_COMMAND_PAYLOAD -ErrorAction SilentlyContinue","$json = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($encoded))","$payload = ConvertFrom-Json $json","$commandArgs = @($payload.arguments)","& $payload.command @commandArgs","if ($null -eq $LASTEXITCODE) { if ($?) { exit 0 } else { exit 1 } }","exit $LASTEXITCODE"].join("; ");var xn=class extends Error{details;constructor(e){let i=e.length===0?"Native verification receipt binding is invalid":`Native verification receipt binding is invalid (${e.length} receipt(s)): ${e.map(n=>`${n.ref}${n.acceptanceId?`[${n.acceptanceId}]`:""} -> ${n.mismatches.join("; ")}`).join(" | ")}`;super(i),this.name="NativeVerificationReceiptBindingError",this.details=e}};var LP={maxDepth:128,maxEntries:2e4,maxFileBytes:64*1024*1024,maxTotalBytes:256*1024*1024,maxManifestBytes:16*1024*1024,maxRefBytes:4*1024};var UP=16*1024*1024,YP=256*1024,XP=16*1024;var FA=16*1024*1024,Tn=class extends Error{constructor(i,n,r,a){super(`Canonical spec conflict for ${i}: expected ${n??"(missing)"}, actual ${r??"(missing)"}`);this.capability=i;this.expectedHash=n;this.actualHash=r;this.canonicalPath=a;this.name="NativeSpecConflictError"}capability;expectedHash;actualHash;canonicalPath;code="native-spec-conflict"},In=class extends Error{constructor(i,n=i.ready?"Native Archive preflight no longer matches the expected hash":`Native Archive preflight is blocked: ${i.findingCodes.join(", ")}`){super(n);this.preflight=i;this.name="NativeArchivePreflightError"}preflight;code="native-archive-preflight"};var UA=10*1024*1024,ce=class extends Error{};function zl(t,e){let i=t.flatMap((n,r)=>n===e?[r]:[]);if(i.length>1)throw new ce(`${e} may only be provided once`);return i.length===0?!1:(t.splice(i[0],1),!0)}function _n(t,e){let i=t.flatMap((a,o)=>a===e?[o]:[]);if(i.length>1)throw new ce(`${e} may only be provided once`);if(i.length===0)return;let n=i[0],r=t[n+1];if(r===void 0||r.startsWith("--"))throw new ce(`${e} requires a value`);return t.splice(n,2),r}function Jl(t){if(t.length>0)throw new ce(`Unexpected argument: ${t[0]}`)}async function Gl(t){return t?_g.resolve(t):Pa(process.cwd())}function Kl(t,e){if(e instanceof ce)return{command:t,exitCode:64,error:{code:"usage",message:e.message}};if(e instanceof Tn)return{command:t,exitCode:73,data:{capability:e.capability,expectedHash:e.expectedHash,actualHash:e.actualHash,canonicalPath:e.canonicalPath},error:{code:"conflict",message:e.message}};if(e instanceof In)return{command:t,exitCode:73,data:e.preflight,error:{code:"conflict",message:e.message}};if(e instanceof Sn)return{command:t,exitCode:73,data:{change:e.change,expectedRevision:e.expectedRevision,actualRevision:e.actualRevision,outcome:"revision-conflict"},error:{code:"conflict",message:e.message}};if(e instanceof En)return{command:t,exitCode:73,data:{requestedIsolation:e.requestedIsolation,activeChanges:e.activeChanges,requiredAction:"create-native-worktree"},error:{code:"workspace-isolation-required",message:e.message}};if(e instanceof Cn)return{command:t,exitCode:65,data:{change:e.change,complete:!1,omittedCount:e.omittedCount,omittedByReason:e.omittedByReason,samplePaths:e.samplePaths,sampleTruncated:e.sampleTruncated,effectiveLimits:e.effectiveLimits,policyHash:e.policyHash,configPath:".comet/config.yaml",supportedFixes:["increase native.snapshot.max_files, native.snapshot.max_total_bytes, or native.snapshot.max_duration_ms","add an explicit native.snapshot.exclude pattern for data outside implementation scope"],requiredAction:"resolve-native-baseline"},error:{code:"baseline-incomplete",message:e.message}};if(e instanceof xn)return{command:t,exitCode:65,data:{receiptBindingFailures:e.details},error:{code:"invalid-data",message:e.message}};if(e instanceof Xt)return{command:t,exitCode:65,data:e.recovery,error:{code:"implementation-scope-stale",message:e.message}};if(e instanceof Error){let i=e.code;if(i&&new Set(["EACCES","EPERM","EIO","EMFILE","ENFILE","ENOSPC","EROFS"]).has(i))return{command:t,exitCode:70,error:{code:"internal",message:e.message}};let n=/\b(lock|transaction|conflict|occupied|incomplete|recovery)\b/iu.test(e.message);return{command:t,exitCode:n?73:65,error:{code:n?"conflict":"invalid-data",message:e.message}}}return{command:t,exitCode:70,error:{code:"internal",message:String(e)}}}function Ul(t,e){return e?{exitCode:t.exitCode,stdout:JSON.stringify({command:t.command,exitCode:t.exitCode,...t.data===void 0?{}:{data:t.data},...t.error===void 0?{}:{error:t.error}})+`
`}:t.error?{exitCode:t.exitCode,stderr:t.error.message}:{exitCode:t.exitCode,stdout:t.text}}async function Yl(t,e){let i=_n(t,"--hook-output");if(i!==void 0&&i!=="copilot")throw new ce("--hook-output must be copilot");Jl(t);let n=await $l(e,await Hl());return i==="copilot"?{command:"hook-guard",exitCode:0,data:n,text:n.allowed?`{}
`:`${JSON.stringify({permissionDecision:"deny",permissionDecisionReason:n.reason})}
`}:n.allowed?{command:"hook-guard",exitCode:0,data:n}:{command:"hook-guard",exitCode:2,data:n,error:{code:"blocked",message:n.reason}}}function Og(t){return{exitCode:t.exitCode,stdout:JSON.stringify({command:t.command,exitCode:t.exitCode,...t.data===void 0?{}:{data:t.data},...t.error===void 0?{}:{error:t.error}})+`
`}}async function Xl(t,e,i=process.argv.slice(2)){let n=i.indexOf("--"),r=n<0?[...i]:i.slice(0,n),a=n<0?[]:i.slice(n),o=r.includes("--json"),s,c;try{zl(r,"--json"),s=_n(r,"--project-root");let d=[...r,...a],u=await Gl(s);c=await e(d,u)}catch(d){c=Kl(t,d)}let l=o?Og(c):Ul(c,!1);return l.stdout&&process.stdout.write(l.stdout),l.stderr&&process.stderr.write(l.stderr+(l.stderr.endsWith(`
`)?"":`
`)),l.exitCode}process.exitCode=await Xl("hook-guard",Yl);