typebulb 0.23.4 → 0.23.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/claude/client.js +116 -116
- package/dist/agents/claude/styles.css +99 -55
- package/dist/agents/pi/client.js +117 -117
- package/dist/agents/pi/matchu-patchu.ts +1 -1
- package/dist/agents/pi/styles.css +99 -55
- package/dist/index.js +49 -49
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9,16 +9,16 @@ ${s}
|
|
|
9
9
|
${o}`});return["---",`format: ${kl}`,`name: ${Xi(r.name)}`,"---","",...e].join(`
|
|
10
10
|
`)}var _l=R(()=>{Rn();_n()});function Cl(r){if(!r.trim())return{};try{return JSON.parse(r)}catch{return{}}}var Nl=R(()=>{});var Il=R(()=>{});function eo(r,e,t){let s=new RegExp(e).exec(r.slice(t));return s?t+s.index:-1}var Ll=R(()=>{});function yr(r,e,t){let s=new RegExp(e).exec(r.slice(t));return s?t+s.index+s[0].length-1:-1}var Ml=R(()=>{});function Cn(r,e){let t=new RegExp(e,"g"),n=r.match(t);return n?n.length:0}var $l=R(()=>{});function br(r,e,t){let n=t&&t.debug||!1,s=!(t&&typeof t.nested===!1),i=t&&t.startIndex||0;n&&console.log("[xml-utils] starting findTagByName with",e," and ",t);let o=eo(r,`<${e}[
|
|
11
11
|
>/]`,i);if(n&&console.log("[xml-utils] start:",o),o===-1)return;let a=r.slice(o+e.length),c=yr(a,"^[^<]*[ /]>",0),l=c!==-1&&a[c-1]==="/";if(n&&console.log("[xml-utils] selfClosing:",l),l===!1)if(s){let p=0,b=1,m=0;for(;(c=yr(a,"[ /]"+e+">",p))!==-1;){let y=a.substring(p,c+1);if(b+=Cn(y,"<"+e+`[
|
|
12
|
-
>]`),m+=Cn(y,"</"+e+">"),m>=b)break;p=c}}else c=yr(a,"[ /]"+e+">",0);let f=o+e.length+c+1;if(n&&console.log("[xml-utils] end:",f),f===-1)return;let u=r.slice(o,f),d;return l?d=null:d=u.slice(u.indexOf(">")+1,u.lastIndexOf("<")),{inner:d,outer:u,start:o,end:f}}var to=R(()=>{Ll();Ml();$l()});var ro=R(()=>{to()});var no=R(()=>{ro()});var Dl=R(()=>{no()});var Bl=R(()=>{});var jl=R(()=>{Il();to();ro();Dl();no();Bl()});var
|
|
13
|
-
`)}};vr.defaultYaml={explicit:!1,version:"1.2"};vr.defaultTags={"!!":"tag:yaml.org,2002:"};Gl.Directives=vr});var $n=P(Sr=>{"use strict";var zl=
|
|
12
|
+
>]`),m+=Cn(y,"</"+e+">"),m>=b)break;p=c}}else c=yr(a,"[ /]"+e+">",0);let f=o+e.length+c+1;if(n&&console.log("[xml-utils] end:",f),f===-1)return;let u=r.slice(o,f),d;return l?d=null:d=u.slice(u.indexOf(">")+1,u.lastIndexOf("<")),{inner:d,outer:u,start:o,end:f}}var to=R(()=>{Ll();Ml();$l()});var ro=R(()=>{to()});var no=R(()=>{ro()});var Dl=R(()=>{no()});var Bl=R(()=>{});var jl=R(()=>{Il();to();ro();Dl();no();Bl()});var L=P(z=>{"use strict";var so=Symbol.for("yaml.alias"),Fl=Symbol.for("yaml.document"),Nn=Symbol.for("yaml.map"),ql=Symbol.for("yaml.pair"),io=Symbol.for("yaml.scalar"),In=Symbol.for("yaml.seq"),Te=Symbol.for("yaml.node.type"),Ag=r=>!!r&&typeof r=="object"&&r[Te]===so,Tg=r=>!!r&&typeof r=="object"&&r[Te]===Fl,Pg=r=>!!r&&typeof r=="object"&&r[Te]===Nn,Og=r=>!!r&&typeof r=="object"&&r[Te]===ql,Ul=r=>!!r&&typeof r=="object"&&r[Te]===io,Rg=r=>!!r&&typeof r=="object"&&r[Te]===In;function Jl(r){if(r&&typeof r=="object")switch(r[Te]){case Nn:case In:return!0}return!1}function _g(r){if(r&&typeof r=="object")switch(r[Te]){case so:case Nn:case io:case In:return!0}return!1}var Cg=r=>(Ul(r)||Jl(r))&&!!r.anchor;z.ALIAS=so;z.DOC=Fl;z.MAP=Nn;z.NODE_TYPE=Te;z.PAIR=ql;z.SCALAR=io;z.SEQ=In;z.hasAnchor=Cg;z.isAlias=Ag;z.isCollection=Jl;z.isDocument=Tg;z.isMap=Pg;z.isNode=_g;z.isPair=Og;z.isScalar=Ul;z.isSeq=Rg});var wr=P(oo=>{"use strict";var H=L(),re=Symbol("break visit"),Kl=Symbol("skip children"),be=Symbol("remove node");function Ln(r,e){let t=Wl(e);H.isDocument(r)?Mt(null,r.contents,t,Object.freeze([r]))===be&&(r.contents=null):Mt(null,r,t,Object.freeze([]))}Ln.BREAK=re;Ln.SKIP=Kl;Ln.REMOVE=be;function Mt(r,e,t,n){let s=Hl(r,e,t,n);if(H.isNode(s)||H.isPair(s))return Vl(r,n,s),Mt(r,s,t,n);if(typeof s!="symbol"){if(H.isCollection(e)){n=Object.freeze(n.concat(e));for(let i=0;i<e.items.length;++i){let o=Mt(i,e.items[i],t,n);if(typeof o=="number")i=o-1;else{if(o===re)return re;o===be&&(e.items.splice(i,1),i-=1)}}}else if(H.isPair(e)){n=Object.freeze(n.concat(e));let i=Mt("key",e.key,t,n);if(i===re)return re;i===be&&(e.key=null);let o=Mt("value",e.value,t,n);if(o===re)return re;o===be&&(e.value=null)}}return s}async function Mn(r,e){let t=Wl(e);H.isDocument(r)?await $t(null,r.contents,t,Object.freeze([r]))===be&&(r.contents=null):await $t(null,r,t,Object.freeze([]))}Mn.BREAK=re;Mn.SKIP=Kl;Mn.REMOVE=be;async function $t(r,e,t,n){let s=await Hl(r,e,t,n);if(H.isNode(s)||H.isPair(s))return Vl(r,n,s),$t(r,s,t,n);if(typeof s!="symbol"){if(H.isCollection(e)){n=Object.freeze(n.concat(e));for(let i=0;i<e.items.length;++i){let o=await $t(i,e.items[i],t,n);if(typeof o=="number")i=o-1;else{if(o===re)return re;o===be&&(e.items.splice(i,1),i-=1)}}}else if(H.isPair(e)){n=Object.freeze(n.concat(e));let i=await $t("key",e.key,t,n);if(i===re)return re;i===be&&(e.key=null);let o=await $t("value",e.value,t,n);if(o===re)return re;o===be&&(e.value=null)}}return s}function Wl(r){return typeof r=="object"&&(r.Collection||r.Node||r.Value)?Object.assign({Alias:r.Node,Map:r.Node,Scalar:r.Node,Seq:r.Node},r.Value&&{Map:r.Value,Scalar:r.Value,Seq:r.Value},r.Collection&&{Map:r.Collection,Seq:r.Collection},r):r}function Hl(r,e,t,n){if(typeof t=="function")return t(r,e,n);if(H.isMap(e))return t.Map?.(r,e,n);if(H.isSeq(e))return t.Seq?.(r,e,n);if(H.isPair(e))return t.Pair?.(r,e,n);if(H.isScalar(e))return t.Scalar?.(r,e,n);if(H.isAlias(e))return t.Alias?.(r,e,n)}function Vl(r,e,t){let n=e[e.length-1];if(H.isCollection(n))n.items[r]=t;else if(H.isPair(n))r==="key"?n.key=t:n.value=t;else if(H.isDocument(n))n.contents=t;else{let s=H.isAlias(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}oo.visit=Ln;oo.visitAsync=Mn});var ao=P(Gl=>{"use strict";var Yl=L(),Ng=wr(),Ig={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Lg=r=>r.replace(/[!,[\]{}]/g,e=>Ig[e]),vr=class r{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},r.defaultYaml,e),this.tags=Object.assign({},r.defaultTags,t)}clone(){let e=new r(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new r(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:r.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},r.defaultTags);break}return e}add(e,t){this.atNextDocument&&(this.yaml={explicit:r.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},r.defaultTags),this.atNextDocument=!1);let n=e.trim().split(/[ \t]+/),s=n.shift();switch(s){case"%TAG":{if(n.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[i,o]=n;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[i]=n;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;{let o=/^\d+\.\d+$/.test(i);return t(6,`Unsupported YAML version ${i}`,o),!1}}default:return t(0,`Unknown directive ${s}`,!0),!1}}tagName(e,t){if(e==="!")return"!";if(e[0]!=="!")return t(`Not a valid tag: ${e}`),null;if(e[1]==="<"){let o=e.slice(2,-1);return o==="!"||o==="!!"?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==">"&&t("Verbatim tags must end with a >"),o)}let[,n,s]=e.match(/^(.*!)([^!]*)$/s);s||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(s)}catch(o){return t(String(o)),null}return n==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+Lg(e.substring(n.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),s;if(e&&n.length>0&&Yl.isNode(e.contents)){let i={};Ng.visit(e.contents,(o,a)=>{Yl.isNode(a)&&a.tag&&(i[a.tag]=!0)}),s=Object.keys(i)}else s=[];for(let[i,o]of n)i==="!!"&&o==="tag:yaml.org,2002:"||(!e||s.some(a=>a.startsWith(o)))&&t.push(`%TAG ${i} ${o}`);return t.join(`
|
|
13
|
+
`)}};vr.defaultYaml={explicit:!1,version:"1.2"};vr.defaultTags={"!!":"tag:yaml.org,2002:"};Gl.Directives=vr});var $n=P(Sr=>{"use strict";var zl=L(),Mg=wr();function $g(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(r)}`;throw new Error(t)}return!0}function Ql(r){let e=new Set;return Mg.visit(r,{Value(t,n){n.anchor&&e.add(n.anchor)}}),e}function Xl(r,e){for(let t=1;;++t){let n=`${r}${t}`;if(!e.has(n))return n}}function Dg(r,e){let t=[],n=new Map,s=null;return{onAnchor:i=>{t.push(i),s??(s=Ql(r));let o=Xl(e,s);return s.add(o),o},setAnchors:()=>{for(let i of t){let o=n.get(i);if(typeof o=="object"&&o.anchor&&(zl.isScalar(o.node)||zl.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=new Error("Failed to resolve repeated object (this should not happen)");throw a.source=i,a}}},sourceObjects:n}}Sr.anchorIsValid=$g;Sr.anchorNames=Ql;Sr.createNodeAnchors=Dg;Sr.findNewAnchor=Xl});var co=P(Zl=>{"use strict";function kr(r,e,t,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let s=0,i=n.length;s<i;++s){let o=n[s],a=kr(r,n,String(s),o);a===void 0?delete n[s]:a!==o&&(n[s]=a)}else if(n instanceof Map)for(let s of Array.from(n.keys())){let i=n.get(s),o=kr(r,n,s,i);o===void 0?n.delete(s):o!==i&&n.set(s,o)}else if(n instanceof Set)for(let s of Array.from(n)){let i=kr(r,n,s,s);i===void 0?n.delete(s):i!==s&&(n.delete(s),n.add(i))}else for(let[s,i]of Object.entries(n)){let o=kr(r,n,s,i);o===void 0?delete n[s]:o!==i&&(n[s]=o)}return r.call(e,t,n)}Zl.applyReviver=kr});var je=P(tu=>{"use strict";var Bg=L();function eu(r,e,t){if(Array.isArray(r))return r.map((n,s)=>eu(n,String(s),t));if(r&&typeof r.toJSON=="function"){if(!t||!Bg.hasAnchor(r))return r.toJSON(e,t);let n={aliasCount:0,count:1,res:void 0};t.anchors.set(r,n),t.onCreate=i=>{n.res=i,delete t.onCreate};let s=r.toJSON(e,t);return t.onCreate&&t.onCreate(s),s}return typeof r=="bigint"&&!t?.keep?Number(r):r}tu.toJS=eu});var Dn=P(nu=>{"use strict";var jg=co(),ru=L(),Fg=je(),lo=class{constructor(e){Object.defineProperty(this,ru.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:t,maxAliasCount:n,onAnchor:s,reviver:i}={}){if(!ru.isDocument(e))throw new TypeError("A document argument is required");let o={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},a=Fg.toJS(this,"",o);if(typeof s=="function")for(let{count:c,res:l}of o.anchors.values())s(l,c);return typeof i=="function"?jg.applyReviver(i,{"":a},"",a):a}};nu.NodeBase=lo});var xr=P(su=>{"use strict";var qg=$n(),Ug=wr(),Dt=L(),Jg=Dn(),Kg=je(),uo=class extends Jg.NodeBase{constructor(e){super(Dt.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let n;t?.aliasResolveCache?n=t.aliasResolveCache:(n=[],Ug.visit(e,{Node:(i,o)=>{(Dt.isAlias(o)||Dt.hasAnchor(o))&&n.push(o)}}),t&&(t.aliasResolveCache=n));let s;for(let i of n){if(i===this)break;i.anchor===this.source&&(s=i)}return s}toJSON(e,t){if(!t)return{source:this.source};let{anchors:n,doc:s,maxAliasCount:i}=t,o=this.resolve(s,t);if(!o){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=n.get(o);if(a||(Kg.toJS(o,null,t),a=n.get(o)),a?.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(i>=0&&(a.count+=1,a.aliasCount===0&&(a.aliasCount=Bn(s,o,n)),a.count*a.aliasCount>i)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return a.res}toString(e,t,n){let s=`*${this.source}`;if(e){if(qg.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(i)}if(e.implicitKey)return`${s} `}return s}};function Bn(r,e,t){if(Dt.isAlias(e)){let n=e.resolve(r),s=t&&n&&t.get(n);return s?s.count*s.aliasCount:0}else if(Dt.isCollection(e)){let n=0;for(let s of e.items){let i=Bn(r,s,t);i>n&&(n=i)}return n}else if(Dt.isPair(e)){let n=Bn(r,e.key,t),s=Bn(r,e.value,t);return Math.max(n,s)}return 1}su.Alias=uo});var J=P(fo=>{"use strict";var Wg=L(),Hg=Dn(),Vg=je(),Yg=r=>!r||typeof r!="function"&&typeof r!="object",Fe=class extends Hg.NodeBase{constructor(e){super(Wg.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:Vg.toJS(this.value,e,t)}toString(){return String(this.value)}};Fe.BLOCK_FOLDED="BLOCK_FOLDED";Fe.BLOCK_LITERAL="BLOCK_LITERAL";Fe.PLAIN="PLAIN";Fe.QUOTE_DOUBLE="QUOTE_DOUBLE";Fe.QUOTE_SINGLE="QUOTE_SINGLE";fo.Scalar=Fe;fo.isScalarValue=Yg});var Er=P(ou=>{"use strict";var Gg=xr(),ot=L(),iu=J(),zg="tag:yaml.org,2002:";function Qg(r,e,t){if(e){let n=t.filter(i=>i.tag===e),s=n.find(i=>!i.format)??n[0];if(!s)throw new Error(`Tag ${e} not found`);return s}return t.find(n=>n.identify?.(r)&&!n.format)}function Xg(r,e,t){if(ot.isDocument(r)&&(r=r.contents),ot.isNode(r))return r;if(ot.isPair(r)){let u=t.schema[ot.MAP].createNode?.(t.schema,null,t);return u.items.push(r),u}(r instanceof String||r instanceof Number||r instanceof Boolean||typeof BigInt<"u"&&r instanceof BigInt)&&(r=r.valueOf());let{aliasDuplicateObjects:n,onAnchor:s,onTagObj:i,schema:o,sourceObjects:a}=t,c;if(n&&r&&typeof r=="object"){if(c=a.get(r),c)return c.anchor??(c.anchor=s(r)),new Gg.Alias(c.anchor);c={anchor:null,node:null},a.set(r,c)}e?.startsWith("!!")&&(e=zg+e.slice(2));let l=Qg(r,e,o.tags);if(!l){if(r&&typeof r.toJSON=="function"&&(r=r.toJSON()),!r||typeof r!="object"){let u=new iu.Scalar(r);return c&&(c.node=u),u}l=r instanceof Map?o[ot.MAP]:Symbol.iterator in Object(r)?o[ot.SEQ]:o[ot.MAP]}i&&(i(l),delete t.onTagObj);let f=l?.createNode?l.createNode(t.schema,r,t):typeof l?.nodeClass?.from=="function"?l.nodeClass.from(t.schema,r,t):new iu.Scalar(r);return e?f.tag=e:l.default||(f.tag=l.tag),c&&(c.node=f),f}ou.createNode=Xg});var Fn=P(jn=>{"use strict";var Zg=Er(),we=L(),ey=Dn();function po(r,e,t){let n=t;for(let s=e.length-1;s>=0;--s){let i=e[s];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=n,n=o}else n=new Map([[i,n]])}return Zg.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:r,sourceObjects:new Map})}var au=r=>r==null||typeof r=="object"&&!!r[Symbol.iterator]().next().done,mo=class extends ey.NodeBase{constructor(e,t){super(e),Object.defineProperty(this,"schema",{value:t,configurable:!0,enumerable:!1,writable:!0})}clone(e){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(t.schema=e),t.items=t.items.map(n=>we.isNode(n)||we.isPair(n)?n.clone(e):n),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(au(e))this.add(t);else{let[n,...s]=e,i=this.get(n,!0);if(we.isCollection(i))i.addIn(s,t);else if(i===void 0&&this.schema)this.set(n,po(this.schema,s,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}deleteIn(e){let[t,...n]=e;if(n.length===0)return this.delete(t);let s=this.get(t,!0);if(we.isCollection(s))return s.deleteIn(n);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${n}`)}getIn(e,t){let[n,...s]=e,i=this.get(n,!0);return s.length===0?!t&&we.isScalar(i)?i.value:i:we.isCollection(i)?i.getIn(s,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!we.isPair(t))return!1;let n=t.value;return n==null||e&&we.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){let[t,...n]=e;if(n.length===0)return this.has(t);let s=this.get(t,!0);return we.isCollection(s)?s.hasIn(n):!1}setIn(e,t){let[n,...s]=e;if(s.length===0)this.set(n,t);else{let i=this.get(n,!0);if(we.isCollection(i))i.setIn(s,t);else if(i===void 0&&this.schema)this.set(n,po(this.schema,s,t));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${s}`)}}};jn.Collection=mo;jn.collectionFromPath=po;jn.isEmptyPath=au});var Ar=P(qn=>{"use strict";var ty=r=>r.replace(/^(?!$)(?: $)?/gm,"#");function ho(r,e){return/^\n+$/.test(r)?r.substring(1):e?r.replace(/^(?! *$)/gm,e):r}var ry=(r,e,t)=>r.endsWith(`
|
|
14
14
|
`)?ho(t,e):t.includes(`
|
|
15
15
|
`)?`
|
|
16
16
|
`+ho(t,e):(r.endsWith(" ")?"":" ")+t;qn.indentComment=ho;qn.lineComment=ry;qn.stringifyComment=ty});var lu=P(Tr=>{"use strict";var ny="flow",go="block",Un="quoted";function sy(r,e,t="flow",{indentAtStart:n,lineWidth:s=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!s||s<0)return r;s<i&&(i=0);let c=Math.max(1+i,1+s-e.length);if(r.length<=c)return r;let l=[],f={},u=s-e.length;typeof n=="number"&&(n>s-Math.max(2,i)?l.push(0):u=s-n);let d,p,b=!1,m=-1,y=-1,E=-1;t===go&&(m=cu(r,m,e.length),m!==-1&&(u=m+c));for(let g;g=r[m+=1];){if(t===Un&&g==="\\"){switch(y=m,r[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}E=m}if(g===`
|
|
17
17
|
`)t===go&&(m=cu(r,m,e.length)),u=m+e.length+c,d=void 0;else{if(g===" "&&p&&p!==" "&&p!==`
|
|
18
18
|
`&&p!==" "){let w=r[m+1];w&&w!==" "&&w!==`
|
|
19
|
-
`&&w!==" "&&(d=m)}if(m>=u)if(d)l.push(d),u=d+c,d=void 0;else if(t===Un){for(;p===" "||p===" ";)p=g,g=r[m+=1],b=!0;let w=m>E+1?m-2:y-1;if(f[w])return r;l.push(w),f[w]=!0,u=w+c,d=void 0}else b=!0}p=g}if(b&&a&&a(),l.length===0)return r;o&&o();let T=r.slice(0,l[0]);for(let g=0;g<l.length;++g){let w=l[g],
|
|
20
|
-
${e}${r.slice(0,
|
|
21
|
-
${e}${r.slice(w+1,
|
|
19
|
+
`&&w!==" "&&(d=m)}if(m>=u)if(d)l.push(d),u=d+c,d=void 0;else if(t===Un){for(;p===" "||p===" ";)p=g,g=r[m+=1],b=!0;let w=m>E+1?m-2:y-1;if(f[w])return r;l.push(w),f[w]=!0,u=w+c,d=void 0}else b=!0}p=g}if(b&&a&&a(),l.length===0)return r;o&&o();let T=r.slice(0,l[0]);for(let g=0;g<l.length;++g){let w=l[g],k=l[g+1]||r.length;w===0?T=`
|
|
20
|
+
${e}${r.slice(0,k)}`:(t===Un&&f[w]&&(T+=`${r[w]}\\`),T+=`
|
|
21
|
+
${e}${r.slice(w+1,k)}`)}return T}function cu(r,e,t){let n=e,s=e+1,i=r[s];for(;i===" "||i===" ";)if(e<s+t)i=r[++e];else{do i=r[++e];while(i&&i!==`
|
|
22
22
|
`);n=e,s=e+1,i=r[s]}return n}Tr.FOLD_BLOCK=go;Tr.FOLD_FLOW=ny;Tr.FOLD_QUOTED=Un;Tr.foldFlowLines=sy});var Or=P(uu=>{"use strict";var le=J(),qe=lu(),Kn=(r,e)=>({indentAtStart:e?r.indent.length:r.indentAtStart,lineWidth:r.options.lineWidth,minContentWidth:r.options.minContentWidth}),Wn=r=>/^(%|---|\.\.\.)/m.test(r);function iy(r,e,t){if(!e||e<0)return!1;let n=e-t,s=r.length;if(s<=n)return!1;for(let i=0,o=0;i<s;++i)if(r[i]===`
|
|
23
23
|
`){if(i-o>n)return!0;if(o=i+1,s-o<=n)return!1}return!0}function Pr(r,e){let t=JSON.stringify(r);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:n}=e,s=e.options.doubleQuotedMinMultiLineLength,i=e.indent||(Wn(r)?" ":""),o="",a=0;for(let c=0,l=t[c];l;l=t[++c])if(l===" "&&t[c+1]==="\\"&&t[c+2]==="n"&&(o+=t.slice(a,c)+"\\ ",c+=1,a=c,l="\\"),l==="\\")switch(t[c+1]){case"u":{o+=t.slice(a,c);let f=t.substr(c+2,4);switch(f){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:f.substr(0,2)==="00"?o+="\\x"+f.substr(2):o+=t.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||t[c+2]==='"'||t.length<s)c+=1;else{for(o+=t.slice(a,c)+`
|
|
24
24
|
|
|
@@ -30,54 +30,54 @@ ${t}`)+"'";return e.implicitKey?n:qe.foldFlowLines(n,t,qe.FOLD_FLOW,Kn(e,!1))}fu
|
|
|
30
30
|
+(?!
|
|
31
31
|
|$)`,"g")}catch{bo=/\n+(?!\n|$)/g}function Jn({comment:r,type:e,value:t},n,s,i){let{blockQuote:o,commentString:a,lineWidth:c}=n.options;if(!o||/\n[\t ]+$/.test(t))return Bt(t,n);let l=n.indent||(n.forceBlockIndent||Wn(t)?" ":""),f=o==="literal"?!0:o==="folded"||e===le.Scalar.BLOCK_FOLDED?!1:e===le.Scalar.BLOCK_LITERAL?!0:!iy(t,c,l.length);if(!t)return f?`|
|
|
32
32
|
`:`>
|
|
33
|
-
`;let u,d;for(d=t.length;d>0;--d){let
|
|
34
|
-
`&&
|
|
33
|
+
`;let u,d;for(d=t.length;d>0;--d){let k=t[d-1];if(k!==`
|
|
34
|
+
`&&k!==" "&&k!==" ")break}let p=t.substring(d),b=p.indexOf(`
|
|
35
35
|
`);b===-1?u="-":t===p||b!==p.length-1?(u="+",i&&i()):u="",p&&(t=t.slice(0,-p.length),p[p.length-1]===`
|
|
36
|
-
`&&(p=p.slice(0,-1)),p=p.replace(bo,`$&${l}`));let m=!1,y,E=-1;for(y=0;y<t.length;++y){let
|
|
37
|
-
`)E=y;else break}let T=t.substring(0,E<y?E+1:y);T&&(t=t.substring(T.length),T=T.replace(/\n+/g,`$&${l}`));let w=(m?l?"2":"1":"")+u;if(r&&(w+=" "+a(r.replace(/ ?[\r\n]+/g," ")),s&&s()),!f){let
|
|
38
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),x=!1,O=Kn(n,!0);o!=="folded"&&e!==le.Scalar.BLOCK_FOLDED&&(O.onOverflow=()=>{x=!0});let A=qe.foldFlowLines(`${T}${
|
|
36
|
+
`&&(p=p.slice(0,-1)),p=p.replace(bo,`$&${l}`));let m=!1,y,E=-1;for(y=0;y<t.length;++y){let k=t[y];if(k===" ")m=!0;else if(k===`
|
|
37
|
+
`)E=y;else break}let T=t.substring(0,E<y?E+1:y);T&&(t=t.substring(T.length),T=T.replace(/\n+/g,`$&${l}`));let w=(m?l?"2":"1":"")+u;if(r&&(w+=" "+a(r.replace(/ ?[\r\n]+/g," ")),s&&s()),!f){let k=t.replace(/\n+/g,`
|
|
38
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),x=!1,O=Kn(n,!0);o!=="folded"&&e!==le.Scalar.BLOCK_FOLDED&&(O.onOverflow=()=>{x=!0});let A=qe.foldFlowLines(`${T}${k}${p}`,l,qe.FOLD_BLOCK,O);if(!x)return`>${w}
|
|
39
39
|
${l}${A}`}return t=t.replace(/\n+/g,`$&${l}`),`|${w}
|
|
40
40
|
${l}${T}${t}${p}`}function oy(r,e,t,n){let{type:s,value:i}=r,{actualString:o,implicitKey:a,indent:c,indentStep:l,inFlow:f}=e;if(a&&i.includes(`
|
|
41
41
|
`)||f&&/[[\]{},]/.test(i))return Bt(i,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return a||f||!i.includes(`
|
|
42
42
|
`)?Bt(i,e):Jn(r,e,t,n);if(!a&&!f&&s!==le.Scalar.PLAIN&&i.includes(`
|
|
43
43
|
`))return Jn(r,e,t,n);if(Wn(i)){if(c==="")return e.forceBlockIndent=!0,Jn(r,e,t,n);if(a&&c===l)return Bt(i,e)}let u=i.replace(/\n+/g,`$&
|
|
44
|
-
${c}`);if(o){let d=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(u),{compat:p,tags:b}=e.doc.schema;if(b.some(d)||p?.some(d))return Bt(i,e)}return a?u:qe.foldFlowLines(u,c,qe.FOLD_FLOW,Kn(e,!1))}function ay(r,e,t,n){let{implicitKey:s,inFlow:i}=e,o=typeof r.value=="string"?r:Object.assign({},r,{value:String(r.value)}),{type:a}=r;a!==le.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=le.Scalar.QUOTE_DOUBLE);let c=f=>{switch(f){case le.Scalar.BLOCK_FOLDED:case le.Scalar.BLOCK_LITERAL:return s||i?Bt(o.value,e):Jn(o,e,t,n);case le.Scalar.QUOTE_DOUBLE:return Pr(o.value,e);case le.Scalar.QUOTE_SINGLE:return yo(o.value,e);case le.Scalar.PLAIN:return oy(o,e,t,n);default:return null}},l=c(a);if(l===null){let{defaultKeyType:f,defaultStringType:u}=e.options,d=s&&f||u;if(l=c(d),l===null)throw new Error(`Unsupported default string type ${d}`)}return l}uu.stringifyString=ay});var Rr=P(wo=>{"use strict";var cy=$n(),Ue=
|
|
45
|
-
${e.indent}${a}`:a}wo.createStringifyContext=fy;wo.stringify=my});var mu=P(pu=>{"use strict";var Pe=
|
|
46
|
-
${a}:`):(y=`${y}:`,d&&(y+=_r.lineComment(y,t.indent,l(d))));let E,T,g;Pe.isNode(e)?(E=!!e.spaceBefore,T=e.commentBefore,g=e.comment):(E=!1,T=null,g=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!p&&!d&&Pe.isScalar(e)&&(t.indentAtStart=y.length+1),m=!1,!f&&c.length>=2&&!t.inFlow&&!p&&Pe.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let w=!1,
|
|
44
|
+
${c}`);if(o){let d=m=>m.default&&m.tag!=="tag:yaml.org,2002:str"&&m.test?.test(u),{compat:p,tags:b}=e.doc.schema;if(b.some(d)||p?.some(d))return Bt(i,e)}return a?u:qe.foldFlowLines(u,c,qe.FOLD_FLOW,Kn(e,!1))}function ay(r,e,t,n){let{implicitKey:s,inFlow:i}=e,o=typeof r.value=="string"?r:Object.assign({},r,{value:String(r.value)}),{type:a}=r;a!==le.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=le.Scalar.QUOTE_DOUBLE);let c=f=>{switch(f){case le.Scalar.BLOCK_FOLDED:case le.Scalar.BLOCK_LITERAL:return s||i?Bt(o.value,e):Jn(o,e,t,n);case le.Scalar.QUOTE_DOUBLE:return Pr(o.value,e);case le.Scalar.QUOTE_SINGLE:return yo(o.value,e);case le.Scalar.PLAIN:return oy(o,e,t,n);default:return null}},l=c(a);if(l===null){let{defaultKeyType:f,defaultStringType:u}=e.options,d=s&&f||u;if(l=c(d),l===null)throw new Error(`Unsupported default string type ${d}`)}return l}uu.stringifyString=ay});var Rr=P(wo=>{"use strict";var cy=$n(),Ue=L(),ly=Ar(),uy=Or();function fy(r,e){let t=Object.assign({blockQuote:!0,commentString:ly.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,trueStr:"true",verifyAliasOrder:!0},r.schema.toStringOptions,e),n;switch(t.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:r,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:n,options:t}}function dy(r,e){if(e.tag){let s=r.filter(i=>i.tag===e.tag);if(s.length>0)return s.find(i=>i.format===e.format)??s[0]}let t,n;if(Ue.isScalar(e)){n=e.value;let s=r.filter(i=>i.identify?.(n));if(s.length>1){let i=s.filter(o=>o.test);i.length>0&&(s=i)}t=s.find(i=>i.format===e.format)??s.find(i=>!i.format)}else n=e,t=r.find(s=>s.nodeClass&&n instanceof s.nodeClass);if(!t){let s=n?.constructor?.name??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${s} value`)}return t}function py(r,e,{anchors:t,doc:n}){if(!n.directives)return"";let s=[],i=(Ue.isScalar(r)||Ue.isCollection(r))&&r.anchor;i&&cy.anchorIsValid(i)&&(t.add(i),s.push(`&${i}`));let o=r.tag??(e.default?null:e.tag);return o&&s.push(n.directives.tagString(o)),s.join(" ")}function my(r,e,t,n){if(Ue.isPair(r))return r.toString(e,t,n);if(Ue.isAlias(r)){if(e.doc.directives)return r.toString(e);if(e.resolvedAliases?.has(r))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(r):e.resolvedAliases=new Set([r]),r=r.resolve(e.doc)}let s,i=Ue.isNode(r)?r:e.doc.createNode(r,{onTagObj:c=>s=c});s??(s=dy(e.doc.schema.tags,i));let o=py(i,s,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof s.stringify=="function"?s.stringify(i,e,t,n):Ue.isScalar(i)?uy.stringifyString(i,e,t,n):i.toString(e,t,n);return o?Ue.isScalar(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
|
|
45
|
+
${e.indent}${a}`:a}wo.createStringifyContext=fy;wo.stringify=my});var mu=P(pu=>{"use strict";var Pe=L(),fu=J(),du=Rr(),_r=Ar();function hy({key:r,value:e},t,n,s){let{allNullValues:i,doc:o,indent:a,indentStep:c,options:{commentString:l,indentSeq:f,simpleKeys:u}}=t,d=Pe.isNode(r)&&r.comment||null;if(u){if(d)throw new Error("With simple keys, key nodes cannot have comments");if(Pe.isCollection(r)||!Pe.isNode(r)&&typeof r=="object"){let O="With simple keys, collection cannot be used as a key value";throw new Error(O)}}let p=!u&&(!r||d&&e==null&&!t.inFlow||Pe.isCollection(r)||(Pe.isScalar(r)?r.type===fu.Scalar.BLOCK_FOLDED||r.type===fu.Scalar.BLOCK_LITERAL:typeof r=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!p&&(u||!i),indent:a+c});let b=!1,m=!1,y=du.stringify(r,t,()=>b=!0,()=>m=!0);if(!p&&!t.inFlow&&y.length>1024){if(u)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(t.inFlow){if(i||e==null)return b&&n&&n(),y===""?"?":p?`? ${y}`:y}else if(i&&!u||e==null&&p)return y=`? ${y}`,d&&!b?y+=_r.lineComment(y,t.indent,l(d)):m&&s&&s(),y;b&&(d=null),p?(d&&(y+=_r.lineComment(y,t.indent,l(d))),y=`? ${y}
|
|
46
|
+
${a}:`):(y=`${y}:`,d&&(y+=_r.lineComment(y,t.indent,l(d))));let E,T,g;Pe.isNode(e)?(E=!!e.spaceBefore,T=e.commentBefore,g=e.comment):(E=!1,T=null,g=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!p&&!d&&Pe.isScalar(e)&&(t.indentAtStart=y.length+1),m=!1,!f&&c.length>=2&&!t.inFlow&&!p&&Pe.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let w=!1,k=du.stringify(e,t,()=>w=!0,()=>m=!0),x=" ";if(d||E||T){if(x=E?`
|
|
47
47
|
`:"",T){let O=l(T);x+=`
|
|
48
|
-
${_r.indentComment(O,t.indent)}`}
|
|
48
|
+
${_r.indentComment(O,t.indent)}`}k===""&&!t.inFlow?x===`
|
|
49
49
|
`&&g&&(x=`
|
|
50
50
|
|
|
51
51
|
`):x+=`
|
|
52
|
-
${t.indent}`}else if(!p&&Pe.isCollection(e)){let O=
|
|
53
|
-
`),
|
|
54
|
-
${t.indent}`)}}else(
|
|
55
|
-
`)&&(x="");return y+=x+
|
|
52
|
+
${t.indent}`}else if(!p&&Pe.isCollection(e)){let O=k[0],A=k.indexOf(`
|
|
53
|
+
`),M=A!==-1,te=t.inFlow??e.flow??e.items.length===0;if(M||!te){let V=!1;if(M&&(O==="&"||O==="!")){let B=k.indexOf(" ");O==="&"&&B!==-1&&B<A&&k[B+1]==="!"&&(B=k.indexOf(" ",B+1)),(B===-1||A<B)&&(V=!0)}V||(x=`
|
|
54
|
+
${t.indent}`)}}else(k===""||k[0]===`
|
|
55
|
+
`)&&(x="");return y+=x+k,t.inFlow?w&&n&&n():g&&!w?y+=_r.lineComment(y,t.indent,l(g)):m&&s&&s(),y}pu.stringifyPair=hy});var So=P(vo=>{"use strict";var hu=On("process");function gy(r,...e){r==="debug"&&console.log(...e)}function yy(r,e){(r==="debug"||r==="warn")&&(typeof hu.emitWarning=="function"?hu.emitWarning(e):console.warn(e))}vo.debug=gy;vo.warn=yy});var Gn=P(Yn=>{"use strict";var Cr=L(),gu=J(),Hn="<<",Vn={identify:r=>r===Hn||typeof r=="symbol"&&r.description===Hn,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new gu.Scalar(Symbol(Hn)),{addToJSMap:yu}),stringify:()=>Hn},by=(r,e)=>(Vn.identify(e)||Cr.isScalar(e)&&(!e.type||e.type===gu.Scalar.PLAIN)&&Vn.identify(e.value))&&r?.doc.schema.tags.some(t=>t.tag===Vn.tag&&t.default);function yu(r,e,t){if(t=r&&Cr.isAlias(t)?t.resolve(r.doc):t,Cr.isSeq(t))for(let n of t.items)ko(r,e,n);else if(Array.isArray(t))for(let n of t)ko(r,e,n);else ko(r,e,t)}function ko(r,e,t){let n=r&&Cr.isAlias(t)?t.resolve(r.doc):t;if(!Cr.isMap(n))throw new Error("Merge sources must be maps or map aliases");let s=n.toJSON(null,r,Map);for(let[i,o]of s)e instanceof Map?e.has(i)||e.set(i,o):e instanceof Set?e.add(i):Object.prototype.hasOwnProperty.call(e,i)||Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0});return e}Yn.addMergeToJSMap=yu;Yn.isMergeKey=by;Yn.merge=Vn});var Eo=P(vu=>{"use strict";var wy=So(),bu=Gn(),vy=Rr(),wu=L(),xo=je();function Sy(r,e,{key:t,value:n}){if(wu.isNode(t)&&t.addToJSMap)t.addToJSMap(r,e,n);else if(bu.isMergeKey(r,t))bu.addMergeToJSMap(r,e,n);else{let s=xo.toJS(t,"",r);if(e instanceof Map)e.set(s,xo.toJS(n,s,r));else if(e instanceof Set)e.add(s);else{let i=ky(t,s,r),o=xo.toJS(n,i,r);i in e?Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[i]=o}}return e}function ky(r,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(wu.isNode(r)&&t?.doc){let n=vy.createStringifyContext(t.doc,{});n.anchors=new Set;for(let i of t.anchors.keys())n.anchors.add(i.anchor);n.inFlow=!0,n.inStringifyKey=!0;let s=r.toString(n);if(!t.mapKeyWarned){let i=JSON.stringify(s);i.length>40&&(i=i.substring(0,36)+'..."'),wy.warn(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${i}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return s}return JSON.stringify(e)}vu.addPairToJSMap=Sy});var Je=P(Ao=>{"use strict";var Su=Er(),xy=mu(),Ey=Eo(),zn=L();function Ay(r,e,t){let n=Su.createNode(r,void 0,t),s=Su.createNode(e,void 0,t);return new Qn(n,s)}var Qn=class r{constructor(e,t=null){Object.defineProperty(this,zn.NODE_TYPE,{value:zn.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:n}=this;return zn.isNode(t)&&(t=t.clone(e)),zn.isNode(n)&&(n=n.clone(e)),new r(t,n)}toJSON(e,t){let n=t?.mapAsMap?new Map:{};return Ey.addPairToJSMap(t,n,this)}toString(e,t,n){return e?.doc?xy.stringifyPair(this,e,t,n):JSON.stringify(this)}};Ao.Pair=Qn;Ao.createPair=Ay});var To=P(xu=>{"use strict";var at=L(),ku=Rr(),Xn=Ar();function Ty(r,e,t){return(e.inFlow??r.flow?Oy:Py)(r,e,t)}function Py({comment:r,items:e},t,{blockItemPrefix:n,flowChars:s,itemIndent:i,onChompKeep:o,onComment:a}){let{indent:c,options:{commentString:l}}=t,f=Object.assign({},t,{indent:i,type:null}),u=!1,d=[];for(let b=0;b<e.length;++b){let m=e[b],y=null;if(at.isNode(m))!u&&m.spaceBefore&&d.push(""),Zn(t,d,m.commentBefore,u),m.comment&&(y=m.comment);else if(at.isPair(m)){let T=at.isNode(m.key)?m.key:null;T&&(!u&&T.spaceBefore&&d.push(""),Zn(t,d,T.commentBefore,u))}u=!1;let E=ku.stringify(m,f,()=>y=null,()=>u=!0);y&&(E+=Xn.lineComment(E,i,l(y))),u&&y&&(u=!1),d.push(n+E)}let p;if(d.length===0)p=s.start+s.end;else{p=d[0];for(let b=1;b<d.length;++b){let m=d[b];p+=m?`
|
|
56
56
|
${c}${m}`:`
|
|
57
57
|
`}}return r?(p+=`
|
|
58
58
|
`+Xn.indentComment(l(r),c),a&&a()):u&&o&&o(),p}function Oy({items:r},e,{flowChars:t,itemIndent:n}){let{indent:s,indentStep:i,flowCollectionPadding:o,options:{commentString:a}}=e;n+=i;let c=Object.assign({},e,{indent:n,inFlow:!0,type:null}),l=!1,f=0,u=[];for(let b=0;b<r.length;++b){let m=r[b],y=null;if(at.isNode(m))m.spaceBefore&&u.push(""),Zn(e,u,m.commentBefore,!1),m.comment&&(y=m.comment);else if(at.isPair(m)){let T=at.isNode(m.key)?m.key:null;T&&(T.spaceBefore&&u.push(""),Zn(e,u,T.commentBefore,!1),T.comment&&(l=!0));let g=at.isNode(m.value)?m.value:null;g?(g.comment&&(y=g.comment),g.commentBefore&&(l=!0)):m.value==null&&T?.comment&&(y=T.comment)}y&&(l=!0);let E=ku.stringify(m,c,()=>y=null);b<r.length-1&&(E+=","),y&&(E+=Xn.lineComment(E,n,a(y))),!l&&(u.length>f||E.includes(`
|
|
59
59
|
`))&&(l=!0),u.push(E),f=u.length}let{start:d,end:p}=t;if(u.length===0)return d+p;if(!l){let b=u.reduce((m,y)=>m+y.length+2,2);l=e.options.lineWidth>0&&b>e.options.lineWidth}if(l){let b=d;for(let m of u)b+=m?`
|
|
60
60
|
${i}${s}${m}`:`
|
|
61
61
|
`;return`${b}
|
|
62
|
-
${s}${p}`}else return`${d}${o}${u.join(" ")}${o}${p}`}function Zn({indent:r,options:{commentString:e}},t,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let i=Xn.indentComment(e(n),r);t.push(i.trimStart())}}xu.stringifyCollection=Ty});var We=P(Oo=>{"use strict";var Ry=To(),_y=Eo(),Cy=Fn(),Ke=
|
|
63
|
-
`:" ")}return fb.stringifyString({comment:r,type:e,value:a},n,s,i)}};Ju.binary=db});var us=P(ls=>{"use strict";var cs=
|
|
62
|
+
${s}${p}`}else return`${d}${o}${u.join(" ")}${o}${p}`}function Zn({indent:r,options:{commentString:e}},t,n,s){if(n&&s&&(n=n.replace(/^\n+/,"")),n){let i=Xn.indentComment(e(n),r);t.push(i.trimStart())}}xu.stringifyCollection=Ty});var We=P(Oo=>{"use strict";var Ry=To(),_y=Eo(),Cy=Fn(),Ke=L(),es=Je(),Ny=J();function Nr(r,e){let t=Ke.isScalar(e)?e.value:e;for(let n of r)if(Ke.isPair(n)&&(n.key===e||n.key===t||Ke.isScalar(n.key)&&n.key.value===t))return n}var Po=class extends Cy.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Ke.MAP,e),this.items=[]}static from(e,t,n){let{keepUndefined:s,replacer:i}=n,o=new this(e),a=(c,l)=>{if(typeof i=="function")l=i.call(t,c,l);else if(Array.isArray(i)&&!i.includes(c))return;(l!==void 0||s)&&o.items.push(es.createPair(c,l,n))};if(t instanceof Map)for(let[c,l]of t)a(c,l);else if(t&&typeof t=="object")for(let c of Object.keys(t))a(c,t[c]);return typeof e.sortMapEntries=="function"&&o.items.sort(e.sortMapEntries),o}add(e,t){let n;Ke.isPair(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new es.Pair(e,e?.value):n=new es.Pair(e.key,e.value);let s=Nr(this.items,n.key),i=this.schema?.sortMapEntries;if(s){if(!t)throw new Error(`Key ${n.key} already set`);Ke.isScalar(s.value)&&Ny.isScalarValue(n.value)?s.value.value=n.value:s.value=n.value}else if(i){let o=this.items.findIndex(a=>i(n,a)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){let t=Nr(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let s=Nr(this.items,e)?.value;return(!t&&Ke.isScalar(s)?s.value:s)??void 0}has(e){return!!Nr(this.items,e)}set(e,t){this.add(new es.Pair(e,t),!0)}toJSON(e,t,n){let s=n?new n:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(s);for(let i of this.items)_y.addPairToJSMap(t,s,i);return s}toString(e,t,n){if(!e)return JSON.stringify(this);for(let s of this.items)if(!Ke.isPair(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),Ry.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:t})}};Oo.YAMLMap=Po;Oo.findPair=Nr});var jt=P(Au=>{"use strict";var Iy=L(),Eu=We(),Ly={collection:"map",default:!0,nodeClass:Eu.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(r,e){return Iy.isMap(r)||e("Expected a mapping for this tag"),r},createNode:(r,e,t)=>Eu.YAMLMap.from(r,e,t)};Au.map=Ly});var He=P(Tu=>{"use strict";var My=Er(),$y=To(),Dy=Fn(),rs=L(),By=J(),jy=je(),Ro=class extends Dy.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(rs.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=ts(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let n=ts(e);if(typeof n!="number")return;let s=this.items[n];return!t&&rs.isScalar(s)?s.value:s}has(e){let t=ts(e);return typeof t=="number"&&t<this.items.length}set(e,t){let n=ts(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);let s=this.items[n];rs.isScalar(s)&&By.isScalarValue(t)?s.value=t:this.items[n]=t}toJSON(e,t){let n=[];t?.onCreate&&t.onCreate(n);let s=0;for(let i of this.items)n.push(jy.toJS(i,String(s++),t));return n}toString(e,t,n){return e?$y.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:t}):JSON.stringify(this)}static from(e,t,n){let{replacer:s}=n,i=new this(e);if(t&&Symbol.iterator in Object(t)){let o=0;for(let a of t){if(typeof s=="function"){let c=t instanceof Set?a:String(o++);a=s.call(t,c,a)}i.items.push(My.createNode(a,void 0,n))}}return i}};function ts(r){let e=rs.isScalar(r)?r.value:r;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Tu.YAMLSeq=Ro});var Ft=P(Ou=>{"use strict";var Fy=L(),Pu=He(),qy={collection:"seq",default:!0,nodeClass:Pu.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(r,e){return Fy.isSeq(r)||e("Expected a sequence for this tag"),r},createNode:(r,e,t)=>Pu.YAMLSeq.from(r,e,t)};Ou.seq=qy});var Ir=P(Ru=>{"use strict";var Uy=Or(),Jy={identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify(r,e,t,n){return e=Object.assign({actualString:!0},e),Uy.stringifyString(r,e,t,n)}};Ru.string=Jy});var ns=P(Nu=>{"use strict";var _u=J(),Cu={identify:r=>r==null,createNode:()=>new _u.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new _u.Scalar(null),stringify:({source:r},e)=>typeof r=="string"&&Cu.test.test(r)?r:e.options.nullStr};Nu.nullTag=Cu});var _o=P(Lu=>{"use strict";var Ky=J(),Iu={identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:r=>new Ky.Scalar(r[0]==="t"||r[0]==="T"),stringify({source:r,value:e},t){if(r&&Iu.test.test(r)){let n=r[0]==="t"||r[0]==="T";if(e===n)return r}return e?t.options.trueStr:t.options.falseStr}};Lu.boolTag=Iu});var qt=P(Mu=>{"use strict";function Wy({format:r,minFractionDigits:e,tag:t,value:n}){if(typeof n=="bigint")return String(n);let s=typeof n=="number"?n:Number(n);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let i=Object.is(n,-0)?"-0":JSON.stringify(n);if(!r&&e&&(!t||t==="tag:yaml.org,2002:float")&&/^\d/.test(i)){let o=i.indexOf(".");o<0&&(o=i.length,i+=".");let a=e-(i.length-o-1);for(;a-- >0;)i+="0"}return i}Mu.stringifyNumber=Wy});var No=P(ss=>{"use strict";var Hy=J(),Co=qt(),Vy={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:r=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Co.stringifyNumber},Yy={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:r=>parseFloat(r),stringify(r){let e=Number(r.value);return isFinite(e)?e.toExponential():Co.stringifyNumber(r)}},Gy={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(r){let e=new Hy.Scalar(parseFloat(r)),t=r.indexOf(".");return t!==-1&&r[r.length-1]==="0"&&(e.minFractionDigits=r.length-t-1),e},stringify:Co.stringifyNumber};ss.float=Gy;ss.floatExp=Yy;ss.floatNaN=Vy});var Lo=P(os=>{"use strict";var $u=qt(),is=r=>typeof r=="bigint"||Number.isInteger(r),Io=(r,e,t,{intAsBigInt:n})=>n?BigInt(r):parseInt(r.substring(e),t);function Du(r,e,t){let{value:n}=r;return is(n)&&n>=0?t+n.toString(e):$u.stringifyNumber(r)}var zy={identify:r=>is(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(r,e,t)=>Io(r,2,8,t),stringify:r=>Du(r,8,"0o")},Qy={identify:is,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(r,e,t)=>Io(r,0,10,t),stringify:$u.stringifyNumber},Xy={identify:r=>is(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(r,e,t)=>Io(r,2,16,t),stringify:r=>Du(r,16,"0x")};os.int=Qy;os.intHex=Xy;os.intOct=zy});var ju=P(Bu=>{"use strict";var Zy=jt(),eb=ns(),tb=Ft(),rb=Ir(),nb=_o(),Mo=No(),$o=Lo(),sb=[Zy.map,tb.seq,rb.string,eb.nullTag,nb.boolTag,$o.intOct,$o.int,$o.intHex,Mo.floatNaN,Mo.floatExp,Mo.float];Bu.schema=sb});var Uu=P(qu=>{"use strict";var ib=J(),ob=jt(),ab=Ft();function Fu(r){return typeof r=="bigint"||Number.isInteger(r)}var as=({value:r})=>JSON.stringify(r),cb=[{identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify:as},{identify:r=>r==null,createNode:()=>new ib.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:as},{identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:r=>r==="true",stringify:as},{identify:Fu,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(r,e,{intAsBigInt:t})=>t?BigInt(r):parseInt(r,10),stringify:({value:r})=>Fu(r)?r.toString():JSON.stringify(r)},{identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:r=>parseFloat(r),stringify:as}],lb={default:!0,tag:"",test:/^/,resolve(r,e){return e(`Unresolved plain scalar ${JSON.stringify(r)}`),r}},ub=[ob.map,ab.seq].concat(cb,lb);qu.schema=ub});var Bo=P(Ju=>{"use strict";var Lr=On("buffer"),Do=J(),fb=Or(),db={identify:r=>r instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(r,e){if(typeof Lr.Buffer=="function")return Lr.Buffer.from(r,"base64");if(typeof atob=="function"){let t=atob(r.replace(/[\n\r]/g,"")),n=new Uint8Array(t.length);for(let s=0;s<t.length;++s)n[s]=t.charCodeAt(s);return n}else return e("This environment does not support reading binary tags; either Buffer or atob is required"),r},stringify({comment:r,type:e,value:t},n,s,i){if(!t)return"";let o=t,a;if(typeof Lr.Buffer=="function")a=o instanceof Lr.Buffer?o.toString("base64"):Lr.Buffer.from(o.buffer).toString("base64");else if(typeof btoa=="function"){let c="";for(let l=0;l<o.length;++l)c+=String.fromCharCode(o[l]);a=btoa(c)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(e??(e=Do.Scalar.BLOCK_LITERAL),e!==Do.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),l=Math.ceil(a.length/c),f=new Array(l);for(let u=0,d=0;u<l;++u,d+=c)f[u]=a.substr(d,c);a=f.join(e===Do.Scalar.BLOCK_LITERAL?`
|
|
63
|
+
`:" ")}return fb.stringifyString({comment:r,type:e,value:a},n,s,i)}};Ju.binary=db});var us=P(ls=>{"use strict";var cs=L(),jo=Je(),pb=J(),mb=He();function Ku(r,e){if(cs.isSeq(r))for(let t=0;t<r.items.length;++t){let n=r.items[t];if(!cs.isPair(n)){if(cs.isMap(n)){n.items.length>1&&e("Each pair must have its own sequence indicator");let s=n.items[0]||new jo.Pair(new pb.Scalar(null));if(n.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${n.commentBefore}
|
|
64
64
|
${s.key.commentBefore}`:n.commentBefore),n.comment){let i=s.value??s.key;i.comment=i.comment?`${n.comment}
|
|
65
|
-
${i.comment}`:n.comment}n=s}r.items[t]=cs.isPair(n)?n:new jo.Pair(n)}}else e("Expected a sequence for this tag");return r}function Wu(r,e,t){let{replacer:n}=t,s=new mb.YAMLSeq(r);s.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof n=="function"&&(o=n.call(e,String(i++),o));let a,c;if(Array.isArray(o))if(o.length===2)a=o[0],c=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let l=Object.keys(o);if(l.length===1)a=l[0],c=o[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=o;s.items.push(jo.createPair(a,c,t))}return s}var hb={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ku,createNode:Wu};ls.createPairs=Wu;ls.pairs=hb;ls.resolvePairs=Ku});var Uo=P(qo=>{"use strict";var Hu=I(),Fo=je(),Mr=We(),gb=He(),Vu=us(),ct=class r extends gb.YAMLSeq{constructor(){super(),this.add=Mr.YAMLMap.prototype.add.bind(this),this.delete=Mr.YAMLMap.prototype.delete.bind(this),this.get=Mr.YAMLMap.prototype.get.bind(this),this.has=Mr.YAMLMap.prototype.has.bind(this),this.set=Mr.YAMLMap.prototype.set.bind(this),this.tag=r.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let s of this.items){let i,o;if(Hu.isPair(s)?(i=Fo.toJS(s.key,"",t),o=Fo.toJS(s.value,i,t)):i=Fo.toJS(s,"",t),n.has(i))throw new Error("Ordered maps must not include duplicate keys");n.set(i,o)}return n}static from(e,t,n){let s=Vu.createPairs(e,t,n),i=new this;return i.items=s.items,i}};ct.tag="tag:yaml.org,2002:omap";var yb={collection:"seq",identify:r=>r instanceof Map,nodeClass:ct,default:!1,tag:"tag:yaml.org,2002:omap",resolve(r,e){let t=Vu.resolvePairs(r,e),n=[];for(let{key:s}of t.items)Hu.isScalar(s)&&(n.includes(s.value)?e(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new ct,t)},createNode:(r,e,t)=>ct.from(r,e,t)};qo.YAMLOMap=ct;qo.omap=yb});var Xu=P(Jo=>{"use strict";var Yu=J();function Gu({value:r,source:e},t){return e&&(r?zu:Qu).test.test(e)?e:r?t.options.trueStr:t.options.falseStr}var zu={identify:r=>r===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Yu.Scalar(!0),stringify:Gu},Qu={identify:r=>r===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Yu.Scalar(!1),stringify:Gu};Jo.falseTag=Qu;Jo.trueTag=zu});var Zu=P(fs=>{"use strict";var bb=J(),Ko=qt(),wb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:r=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Ko.stringifyNumber},vb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:r=>parseFloat(r.replace(/_/g,"")),stringify(r){let e=Number(r.value);return isFinite(e)?e.toExponential():Ko.stringifyNumber(r)}},Sb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(r){let e=new bb.Scalar(parseFloat(r.replace(/_/g,""))),t=r.indexOf(".");if(t!==-1){let n=r.substring(t+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:Ko.stringifyNumber};fs.float=Sb;fs.floatExp=vb;fs.floatNaN=wb});var tf=P(Dr=>{"use strict";var ef=qt(),$r=r=>typeof r=="bigint"||Number.isInteger(r);function ds(r,e,t,{intAsBigInt:n}){let s=r[0];if((s==="-"||s==="+")&&(e+=1),r=r.substring(e).replace(/_/g,""),n){switch(t){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}let o=BigInt(r);return s==="-"?BigInt(-1)*o:o}let i=parseInt(r,t);return s==="-"?-1*i:i}function Wo(r,e,t){let{value:n}=r;if($r(n)){let s=n.toString(e);return n<0?"-"+t+s.substr(1):t+s}return ef.stringifyNumber(r)}var kb={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(r,e,t)=>ds(r,2,2,t),stringify:r=>Wo(r,2,"0b")},xb={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(r,e,t)=>ds(r,1,8,t),stringify:r=>Wo(r,8,"0")},Eb={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(r,e,t)=>ds(r,0,10,t),stringify:ef.stringifyNumber},Ab={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(r,e,t)=>ds(r,2,16,t),stringify:r=>Wo(r,16,"0x")};Dr.int=Eb;Dr.intBin=kb;Dr.intHex=Ab;Dr.intOct=xb});var Vo=P(Ho=>{"use strict";var hs=I(),ps=Je(),ms=We(),lt=class r extends ms.YAMLMap{constructor(e){super(e),this.tag=r.tag}add(e){let t;hs.isPair(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new ps.Pair(e.key,null):t=new ps.Pair(e,null),ms.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let n=ms.findPair(this.items,e);return!t&&hs.isPair(n)?hs.isScalar(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=ms.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new ps.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){let{replacer:s}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof s=="function"&&(o=s.call(t,o,o)),i.items.push(ps.createPair(o,null,n));return i}};lt.tag="tag:yaml.org,2002:set";var Tb={collection:"map",identify:r=>r instanceof Set,nodeClass:lt,default:!1,tag:"tag:yaml.org,2002:set",createNode:(r,e,t)=>lt.from(r,e,t),resolve(r,e){if(hs.isMap(r)){if(r.hasAllNullValues(!0))return Object.assign(new lt,r);e("Set items must all have null values")}else e("Expected a mapping for this tag");return r}};Ho.YAMLSet=lt;Ho.set=Tb});var Go=P(gs=>{"use strict";var Pb=qt();function Yo(r,e){let t=r[0],n=t==="-"||t==="+"?r.substring(1):r,s=o=>e?BigInt(o):Number(o),i=n.replace(/_/g,"").split(":").reduce((o,a)=>o*s(60)+s(a),s(0));return t==="-"?s(-1)*i:i}function rf(r){let{value:e}=r,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Pb.stringifyNumber(r);let n="";e<0&&(n="-",e*=t(-1));let s=t(60),i=[e%s];return e<60?i.unshift(0):(e=(e-i[0])/s,i.unshift(e%s),e>=60&&(e=(e-i[0])/s,i.unshift(e))),n+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Ob={identify:r=>typeof r=="bigint"||Number.isInteger(r),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(r,e,{intAsBigInt:t})=>Yo(r,t),stringify:rf},Rb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:r=>Yo(r,!1),stringify:rf},nf={identify:r=>r 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(r){let e=r.match(nf.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,n,s,i,o,a]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(t,n-1,s,i||0,o||0,a||0,c),f=e[8];if(f&&f!=="Z"){let u=Yo(f,!1);Math.abs(u)<30&&(u*=60),l-=6e4*u}return new Date(l)},stringify:({value:r})=>r?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};gs.floatTime=Rb;gs.intTime=Ob;gs.timestamp=nf});var af=P(of=>{"use strict";var _b=jt(),Cb=ns(),Nb=Ft(),Ib=Ir(),Lb=Bo(),sf=Xu(),zo=Zu(),ys=tf(),Mb=Gn(),$b=Uo(),Db=us(),Bb=Vo(),Qo=Go(),jb=[_b.map,Nb.seq,Ib.string,Cb.nullTag,sf.trueTag,sf.falseTag,ys.intBin,ys.intOct,ys.int,ys.intHex,zo.floatNaN,zo.floatExp,zo.float,Lb.binary,Mb.merge,$b.omap,Db.pairs,Bb.set,Qo.intTime,Qo.floatTime,Qo.timestamp];of.schema=jb});var yf=P(ea=>{"use strict";var ff=jt(),Fb=ns(),df=Ft(),qb=Ir(),Ub=_o(),Xo=No(),Zo=Lo(),Jb=ju(),Kb=Uu(),pf=Bo(),Br=Gn(),mf=Uo(),hf=us(),cf=af(),gf=Vo(),bs=Go(),lf=new Map([["core",Jb.schema],["failsafe",[ff.map,df.seq,qb.string]],["json",Kb.schema],["yaml11",cf.schema],["yaml-1.1",cf.schema]]),uf={binary:pf.binary,bool:Ub.boolTag,float:Xo.float,floatExp:Xo.floatExp,floatNaN:Xo.floatNaN,floatTime:bs.floatTime,int:Zo.int,intHex:Zo.intHex,intOct:Zo.intOct,intTime:bs.intTime,map:ff.map,merge:Br.merge,null:Fb.nullTag,omap:mf.omap,pairs:hf.pairs,seq:df.seq,set:gf.set,timestamp:bs.timestamp},Wb={"tag:yaml.org,2002:binary":pf.binary,"tag:yaml.org,2002:merge":Br.merge,"tag:yaml.org,2002:omap":mf.omap,"tag:yaml.org,2002:pairs":hf.pairs,"tag:yaml.org,2002:set":gf.set,"tag:yaml.org,2002:timestamp":bs.timestamp};function Hb(r,e,t){let n=lf.get(e);if(n&&!r)return t&&!n.includes(Br.merge)?n.concat(Br.merge):n.slice();let s=n;if(!s)if(Array.isArray(r))s=[];else{let i=Array.from(lf.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${i} or define customTags array`)}if(Array.isArray(r))for(let i of r)s=s.concat(i);else typeof r=="function"&&(s=r(s.slice()));return t&&(s=s.concat(Br.merge)),s.reduce((i,o)=>{let a=typeof o=="string"?uf[o]:o;if(!a){let c=JSON.stringify(o),l=Object.keys(uf).map(f=>JSON.stringify(f)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return i.includes(a)||i.push(a),i},[])}ea.coreKnownTags=Wb;ea.getTags=Hb});var na=P(bf=>{"use strict";var ta=I(),Vb=jt(),Yb=Ft(),Gb=Ir(),ws=yf(),zb=(r,e)=>r.key<e.key?-1:r.key>e.key?1:0,ra=class r{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:s,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?ws.getTags(e,"compat"):e?ws.getTags(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=s?ws.coreKnownTags:{},this.tags=ws.getTags(t,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,ta.MAP,{value:Vb.map}),Object.defineProperty(this,ta.SCALAR,{value:Gb.string}),Object.defineProperty(this,ta.SEQ,{value:Yb.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?zb:null}clone(){let e=Object.create(r.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};bf.Schema=ra});var vf=P(wf=>{"use strict";var Qb=I(),sa=Rr(),jr=Ar();function Xb(r,e){let t=[],n=e.directives===!0;if(e.directives!==!1&&r.directives){let c=r.directives.toString(r);c?(t.push(c),n=!0):r.directives.docStart&&(n=!0)}n&&t.push("---");let s=sa.createStringifyContext(r,e),{commentString:i}=s.options;if(r.commentBefore){t.length!==1&&t.unshift("");let c=i(r.commentBefore);t.unshift(jr.indentComment(c,""))}let o=!1,a=null;if(r.contents){if(Qb.isNode(r.contents)){if(r.contents.spaceBefore&&n&&t.push(""),r.contents.commentBefore){let f=i(r.contents.commentBefore);t.push(jr.indentComment(f,""))}s.forceBlockIndent=!!r.comment,a=r.contents.comment}let c=a?void 0:()=>o=!0,l=sa.stringify(r.contents,s,()=>a=null,c);a&&(l+=jr.lineComment(l,"",i(a))),(l[0]==="|"||l[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${l}`:t.push(l)}else t.push(sa.stringify(r.contents,s));if(r.directives?.docEnd)if(r.comment){let c=i(r.comment);c.includes(`
|
|
65
|
+
${i.comment}`:n.comment}n=s}r.items[t]=cs.isPair(n)?n:new jo.Pair(n)}}else e("Expected a sequence for this tag");return r}function Wu(r,e,t){let{replacer:n}=t,s=new mb.YAMLSeq(r);s.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof n=="function"&&(o=n.call(e,String(i++),o));let a,c;if(Array.isArray(o))if(o.length===2)a=o[0],c=o[1];else throw new TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let l=Object.keys(o);if(l.length===1)a=l[0],c=o[a];else throw new TypeError(`Expected tuple with one key, not ${l.length} keys`)}else a=o;s.items.push(jo.createPair(a,c,t))}return s}var hb={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Ku,createNode:Wu};ls.createPairs=Wu;ls.pairs=hb;ls.resolvePairs=Ku});var Uo=P(qo=>{"use strict";var Hu=L(),Fo=je(),Mr=We(),gb=He(),Vu=us(),ct=class r extends gb.YAMLSeq{constructor(){super(),this.add=Mr.YAMLMap.prototype.add.bind(this),this.delete=Mr.YAMLMap.prototype.delete.bind(this),this.get=Mr.YAMLMap.prototype.get.bind(this),this.has=Mr.YAMLMap.prototype.has.bind(this),this.set=Mr.YAMLMap.prototype.set.bind(this),this.tag=r.tag}toJSON(e,t){if(!t)return super.toJSON(e);let n=new Map;t?.onCreate&&t.onCreate(n);for(let s of this.items){let i,o;if(Hu.isPair(s)?(i=Fo.toJS(s.key,"",t),o=Fo.toJS(s.value,i,t)):i=Fo.toJS(s,"",t),n.has(i))throw new Error("Ordered maps must not include duplicate keys");n.set(i,o)}return n}static from(e,t,n){let s=Vu.createPairs(e,t,n),i=new this;return i.items=s.items,i}};ct.tag="tag:yaml.org,2002:omap";var yb={collection:"seq",identify:r=>r instanceof Map,nodeClass:ct,default:!1,tag:"tag:yaml.org,2002:omap",resolve(r,e){let t=Vu.resolvePairs(r,e),n=[];for(let{key:s}of t.items)Hu.isScalar(s)&&(n.includes(s.value)?e(`Ordered maps must not include duplicate keys: ${s.value}`):n.push(s.value));return Object.assign(new ct,t)},createNode:(r,e,t)=>ct.from(r,e,t)};qo.YAMLOMap=ct;qo.omap=yb});var Xu=P(Jo=>{"use strict";var Yu=J();function Gu({value:r,source:e},t){return e&&(r?zu:Qu).test.test(e)?e:r?t.options.trueStr:t.options.falseStr}var zu={identify:r=>r===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Yu.Scalar(!0),stringify:Gu},Qu={identify:r=>r===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Yu.Scalar(!1),stringify:Gu};Jo.falseTag=Qu;Jo.trueTag=zu});var Zu=P(fs=>{"use strict";var bb=J(),Ko=qt(),wb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:r=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Ko.stringifyNumber},vb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:r=>parseFloat(r.replace(/_/g,"")),stringify(r){let e=Number(r.value);return isFinite(e)?e.toExponential():Ko.stringifyNumber(r)}},Sb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(r){let e=new bb.Scalar(parseFloat(r.replace(/_/g,""))),t=r.indexOf(".");if(t!==-1){let n=r.substring(t+1).replace(/_/g,"");n[n.length-1]==="0"&&(e.minFractionDigits=n.length)}return e},stringify:Ko.stringifyNumber};fs.float=Sb;fs.floatExp=vb;fs.floatNaN=wb});var tf=P(Dr=>{"use strict";var ef=qt(),$r=r=>typeof r=="bigint"||Number.isInteger(r);function ds(r,e,t,{intAsBigInt:n}){let s=r[0];if((s==="-"||s==="+")&&(e+=1),r=r.substring(e).replace(/_/g,""),n){switch(t){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}let o=BigInt(r);return s==="-"?BigInt(-1)*o:o}let i=parseInt(r,t);return s==="-"?-1*i:i}function Wo(r,e,t){let{value:n}=r;if($r(n)){let s=n.toString(e);return n<0?"-"+t+s.substr(1):t+s}return ef.stringifyNumber(r)}var kb={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(r,e,t)=>ds(r,2,2,t),stringify:r=>Wo(r,2,"0b")},xb={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(r,e,t)=>ds(r,1,8,t),stringify:r=>Wo(r,8,"0")},Eb={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(r,e,t)=>ds(r,0,10,t),stringify:ef.stringifyNumber},Ab={identify:$r,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(r,e,t)=>ds(r,2,16,t),stringify:r=>Wo(r,16,"0x")};Dr.int=Eb;Dr.intBin=kb;Dr.intHex=Ab;Dr.intOct=xb});var Vo=P(Ho=>{"use strict";var hs=L(),ps=Je(),ms=We(),lt=class r extends ms.YAMLMap{constructor(e){super(e),this.tag=r.tag}add(e){let t;hs.isPair(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new ps.Pair(e.key,null):t=new ps.Pair(e,null),ms.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let n=ms.findPair(this.items,e);return!t&&hs.isPair(n)?hs.isScalar(n.key)?n.key.value:n.key:n}set(e,t){if(typeof t!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let n=ms.findPair(this.items,e);n&&!t?this.items.splice(this.items.indexOf(n),1):!n&&t&&this.items.push(new ps.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,n);throw new Error("Set items must all have null values")}static from(e,t,n){let{replacer:s}=n,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof s=="function"&&(o=s.call(t,o,o)),i.items.push(ps.createPair(o,null,n));return i}};lt.tag="tag:yaml.org,2002:set";var Tb={collection:"map",identify:r=>r instanceof Set,nodeClass:lt,default:!1,tag:"tag:yaml.org,2002:set",createNode:(r,e,t)=>lt.from(r,e,t),resolve(r,e){if(hs.isMap(r)){if(r.hasAllNullValues(!0))return Object.assign(new lt,r);e("Set items must all have null values")}else e("Expected a mapping for this tag");return r}};Ho.YAMLSet=lt;Ho.set=Tb});var Go=P(gs=>{"use strict";var Pb=qt();function Yo(r,e){let t=r[0],n=t==="-"||t==="+"?r.substring(1):r,s=o=>e?BigInt(o):Number(o),i=n.replace(/_/g,"").split(":").reduce((o,a)=>o*s(60)+s(a),s(0));return t==="-"?s(-1)*i:i}function rf(r){let{value:e}=r,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return Pb.stringifyNumber(r);let n="";e<0&&(n="-",e*=t(-1));let s=t(60),i=[e%s];return e<60?i.unshift(0):(e=(e-i[0])/s,i.unshift(e%s),e>=60&&(e=(e-i[0])/s,i.unshift(e))),n+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Ob={identify:r=>typeof r=="bigint"||Number.isInteger(r),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(r,e,{intAsBigInt:t})=>Yo(r,t),stringify:rf},Rb={identify:r=>typeof r=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:r=>Yo(r,!1),stringify:rf},nf={identify:r=>r 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(r){let e=r.match(nf.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,n,s,i,o,a]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(t,n-1,s,i||0,o||0,a||0,c),f=e[8];if(f&&f!=="Z"){let u=Yo(f,!1);Math.abs(u)<30&&(u*=60),l-=6e4*u}return new Date(l)},stringify:({value:r})=>r?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};gs.floatTime=Rb;gs.intTime=Ob;gs.timestamp=nf});var af=P(of=>{"use strict";var _b=jt(),Cb=ns(),Nb=Ft(),Ib=Ir(),Lb=Bo(),sf=Xu(),zo=Zu(),ys=tf(),Mb=Gn(),$b=Uo(),Db=us(),Bb=Vo(),Qo=Go(),jb=[_b.map,Nb.seq,Ib.string,Cb.nullTag,sf.trueTag,sf.falseTag,ys.intBin,ys.intOct,ys.int,ys.intHex,zo.floatNaN,zo.floatExp,zo.float,Lb.binary,Mb.merge,$b.omap,Db.pairs,Bb.set,Qo.intTime,Qo.floatTime,Qo.timestamp];of.schema=jb});var yf=P(ea=>{"use strict";var ff=jt(),Fb=ns(),df=Ft(),qb=Ir(),Ub=_o(),Xo=No(),Zo=Lo(),Jb=ju(),Kb=Uu(),pf=Bo(),Br=Gn(),mf=Uo(),hf=us(),cf=af(),gf=Vo(),bs=Go(),lf=new Map([["core",Jb.schema],["failsafe",[ff.map,df.seq,qb.string]],["json",Kb.schema],["yaml11",cf.schema],["yaml-1.1",cf.schema]]),uf={binary:pf.binary,bool:Ub.boolTag,float:Xo.float,floatExp:Xo.floatExp,floatNaN:Xo.floatNaN,floatTime:bs.floatTime,int:Zo.int,intHex:Zo.intHex,intOct:Zo.intOct,intTime:bs.intTime,map:ff.map,merge:Br.merge,null:Fb.nullTag,omap:mf.omap,pairs:hf.pairs,seq:df.seq,set:gf.set,timestamp:bs.timestamp},Wb={"tag:yaml.org,2002:binary":pf.binary,"tag:yaml.org,2002:merge":Br.merge,"tag:yaml.org,2002:omap":mf.omap,"tag:yaml.org,2002:pairs":hf.pairs,"tag:yaml.org,2002:set":gf.set,"tag:yaml.org,2002:timestamp":bs.timestamp};function Hb(r,e,t){let n=lf.get(e);if(n&&!r)return t&&!n.includes(Br.merge)?n.concat(Br.merge):n.slice();let s=n;if(!s)if(Array.isArray(r))s=[];else{let i=Array.from(lf.keys()).filter(o=>o!=="yaml11").map(o=>JSON.stringify(o)).join(", ");throw new Error(`Unknown schema "${e}"; use one of ${i} or define customTags array`)}if(Array.isArray(r))for(let i of r)s=s.concat(i);else typeof r=="function"&&(s=r(s.slice()));return t&&(s=s.concat(Br.merge)),s.reduce((i,o)=>{let a=typeof o=="string"?uf[o]:o;if(!a){let c=JSON.stringify(o),l=Object.keys(uf).map(f=>JSON.stringify(f)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${l}`)}return i.includes(a)||i.push(a),i},[])}ea.coreKnownTags=Wb;ea.getTags=Hb});var na=P(bf=>{"use strict";var ta=L(),Vb=jt(),Yb=Ft(),Gb=Ir(),ws=yf(),zb=(r,e)=>r.key<e.key?-1:r.key>e.key?1:0,ra=class r{constructor({compat:e,customTags:t,merge:n,resolveKnownTags:s,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?ws.getTags(e,"compat"):e?ws.getTags(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=s?ws.coreKnownTags:{},this.tags=ws.getTags(t,this.name,n),this.toStringOptions=a??null,Object.defineProperty(this,ta.MAP,{value:Vb.map}),Object.defineProperty(this,ta.SCALAR,{value:Gb.string}),Object.defineProperty(this,ta.SEQ,{value:Yb.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?zb:null}clone(){let e=Object.create(r.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};bf.Schema=ra});var vf=P(wf=>{"use strict";var Qb=L(),sa=Rr(),jr=Ar();function Xb(r,e){let t=[],n=e.directives===!0;if(e.directives!==!1&&r.directives){let c=r.directives.toString(r);c?(t.push(c),n=!0):r.directives.docStart&&(n=!0)}n&&t.push("---");let s=sa.createStringifyContext(r,e),{commentString:i}=s.options;if(r.commentBefore){t.length!==1&&t.unshift("");let c=i(r.commentBefore);t.unshift(jr.indentComment(c,""))}let o=!1,a=null;if(r.contents){if(Qb.isNode(r.contents)){if(r.contents.spaceBefore&&n&&t.push(""),r.contents.commentBefore){let f=i(r.contents.commentBefore);t.push(jr.indentComment(f,""))}s.forceBlockIndent=!!r.comment,a=r.contents.comment}let c=a?void 0:()=>o=!0,l=sa.stringify(r.contents,s,()=>a=null,c);a&&(l+=jr.lineComment(l,"",i(a))),(l[0]==="|"||l[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${l}`:t.push(l)}else t.push(sa.stringify(r.contents,s));if(r.directives?.docEnd)if(r.comment){let c=i(r.comment);c.includes(`
|
|
66
66
|
`)?(t.push("..."),t.push(jr.indentComment(c,""))):t.push(`... ${c}`)}else t.push("...");else{let c=r.comment;c&&o&&(c=c.replace(/^\n+/,"")),c&&((!o||a)&&t[t.length-1]!==""&&t.push(""),t.push(jr.indentComment(i(c),"")))}return t.join(`
|
|
67
67
|
`)+`
|
|
68
|
-
`}wf.stringifyDocument=Xb});var Fr=P(Sf=>{"use strict";var Zb=xr(),Ut=Fn(),ie=
|
|
68
|
+
`}wf.stringifyDocument=Xb});var Fr=P(Sf=>{"use strict";var Zb=xr(),Ut=Fn(),ie=L(),ew=Je(),tw=je(),rw=na(),nw=vf(),ia=$n(),sw=co(),iw=Er(),oa=ao(),aa=class r{constructor(e,t,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,ie.NODE_TYPE,{value:ie.DOC});let s=null;typeof t=="function"||Array.isArray(t)?s=t:n===void 0&&t&&(n=t,t=void 0);let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=i;let{version:o}=i;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new oa.Directives({version:o}),this.setSchema(o,n),this.contents=e===void 0?null:this.createNode(e,s,n)}clone(){let e=Object.create(r.prototype,{[ie.NODE_TYPE]:{value:ie.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=ie.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){Jt(this.contents)&&this.contents.add(e)}addIn(e,t){Jt(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let n=ia.anchorNames(this);e.anchor=!t||n.has(t)?ia.findNewAnchor(t||"a",n):t}return new Zb.Alias(e.anchor)}createNode(e,t,n){let s;if(typeof t=="function")e=t.call({"":e},"",e),s=t;else if(Array.isArray(t)){let y=T=>typeof T=="number"||T instanceof String||T instanceof Number,E=t.filter(y).map(String);E.length>0&&(t=t.concat(E)),s=t}else n===void 0&&t&&(n=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:c,onTagObj:l,tag:f}=n??{},{onAnchor:u,setAnchors:d,sourceObjects:p}=ia.createNodeAnchors(this,o||"a"),b={aliasDuplicateObjects:i??!0,keepUndefined:c??!1,onAnchor:u,onTagObj:l,replacer:s,schema:this.schema,sourceObjects:p},m=iw.createNode(e,f,b);return a&&ie.isCollection(m)&&(m.flow=!0),d(),m}createPair(e,t,n={}){let s=this.createNode(e,null,n),i=this.createNode(t,null,n);return new ew.Pair(s,i)}delete(e){return Jt(this.contents)?this.contents.delete(e):!1}deleteIn(e){return Ut.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):Jt(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return ie.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return Ut.isEmptyPath(e)?!t&&ie.isScalar(this.contents)?this.contents.value:this.contents:ie.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return ie.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return Ut.isEmptyPath(e)?this.contents!==void 0:ie.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=Ut.collectionFromPath(this.schema,[e],t):Jt(this.contents)&&this.contents.set(e,t)}setIn(e,t){Ut.isEmptyPath(e)?this.contents=t:this.contents==null?this.contents=Ut.collectionFromPath(this.schema,Array.from(e),t):Jt(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let n;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new oa.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 oa.Directives({version:e}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let s=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(n)this.schema=new rw.Schema(Object.assign(n,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:n,maxAliasCount:s,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},c=tw.toJS(this.contents,t??"",a);if(typeof i=="function")for(let{count:l,res:f}of a.anchors.values())i(f,l);return typeof o=="function"?sw.applyReviver(o,{"":c},"",c):c}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}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 t=JSON.stringify(e.indent);throw new Error(`"indent" option must be a positive integer, not ${t}`)}return nw.stringifyDocument(this,e)}};function Jt(r){if(ie.isCollection(r))return!0;throw new Error("Expected a YAML collection as document contents")}Sf.Document=aa});var Jr=P(Ur=>{"use strict";var qr=class extends Error{constructor(e,t,n,s){super(),this.name=e,this.code=n,this.message=s,this.pos=t}},ca=class extends qr{constructor(e,t,n){super("YAMLParseError",e,t,n)}},la=class extends qr{constructor(e,t,n){super("YAMLWarning",e,t,n)}},ow=(r,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(a=>e.linePos(a));let{line:n,col:s}=t.linePos[0];t.message+=` at line ${n}, column ${s}`;let i=s-1,o=r.substring(e.lineStarts[n-1],e.lineStarts[n]).replace(/[\n\r]+$/,"");if(i>=60&&o.length>80){let a=Math.min(i-39,o.length-79);o="\u2026"+o.substring(a),i-=a-1}if(o.length>80&&(o=o.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(o.substring(0,i))){let a=r.substring(e.lineStarts[n-2],e.lineStarts[n-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
|
|
69
69
|
`),o=a+o}if(/[^ ]/.test(o)){let a=1,c=t.linePos[1];c?.line===n&&c.col>s&&(a=Math.max(1,Math.min(c.col-s,80-i)));let l=" ".repeat(i)+"^".repeat(a);t.message+=`:
|
|
70
70
|
|
|
71
71
|
${o}
|
|
72
72
|
${l}
|
|
73
|
-
`}};Ur.YAMLError=qr;Ur.YAMLParseError=ca;Ur.YAMLWarning=la;Ur.prettifyError=ow});var Kr=P(kf=>{"use strict";function aw(r,{flow:e,indicator:t,next:n,offset:s,onError:i,parentIndent:o,startOnNewline:a}){let c=!1,l=a,f=a,u="",d="",p=!1,b=!1,m=null,y=null,E=null,T=null,g=null,w=null,
|
|
74
|
-
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if(ua(e.key)||ua(e.value))return!0}return!1;default:return!0}}xf.containsNewline=ua});var fa=P(Ef=>{"use strict";var cw=vs();function lw(r,e,t){if(e?.type==="flow-collection"){let n=e.end[0];n.indent===r&&(n.source==="]"||n.source==="}")&&cw.containsNewline(e)&&t(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Ef.flowIndentCheck=lw});var da=P(Tf=>{"use strict";var Af=
|
|
75
|
-
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||dw.containsNewline(d))&&s(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==n.indent&&s(c,"BAD_INDENT",_f);t.atKey=!0;let E=m.end,T=d?r(t,d,m,s):e(t,E,u,null,m,s);t.schema.compat&&Rf.flowIndentCheck(n.indent,d,s),t.atKey=!1,pw.mapIncludes(t,a.items,T)&&s(E,"DUPLICATE_KEY","Map keys must be unique");let g=Of.resolveProps(p??[],{indicator:"map-value-ind",next:b,offset:T.range[2],onError:s,parentIndent:n.indent,startOnNewline:!d||d.type==="block-scalar"});if(c=g.end,g.found){y&&(b?.type==="block-map"&&!g.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&m.start<g.found.offset-1024&&s(T.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let w=b?r(t,b,g,s):e(t,c,p,null,g,s);t.schema.compat&&Rf.flowIndentCheck(n.indent,b,s),c=w.range[2];let
|
|
76
|
-
`+g.comment:T.comment=g.comment);let w=new Pf.Pair(T);t.options.keepSourceTokens&&(w.srcToken=f),a.items.push(w)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}Cf.resolveBlockMap=mw});var Lf=P(If=>{"use strict";var hw=He(),gw=Kr(),yw=fa();function bw({composeNode:r,composeEmptyNode:e},t,n,s,i){let o=i?.nodeClass??hw.YAMLSeq,a=new o(t.schema);t.atRoot&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let c=n.offset,l=null;for(let{start:f,value:u}of n.items){let d=gw.resolveProps(f,{indicator:"seq-item-ind",next:u,offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||u)u?.type==="block-seq"?s(d.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{l=d.end,d.comment&&(a.comment=d.comment);continue}let p=u?r(t,u,d,s):e(t,d.end,f,null,d,s);t.schema.compat&&yw.flowIndentCheck(n.indent,u,s),c=p.range[2],a.items.push(p)}return a.range=[n.offset,c,l??c],a}If.resolveBlockSeq=bw});var Kt=P(Mf=>{"use strict";function ww(r,e,t,n){let s="";if(r){let i=!1,o="";for(let a of r){let{source:c,type:l}=a;switch(l){case"space":i=!0;break;case"comment":{t&&!i&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let f=c.substring(1)||" ";s?s+=o+f:s=f,o="";break}case"newline":s&&(o+=c),i=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}e+=c.length}}return{comment:s,offset:e}}Mf.resolveEnd=ww});var jf=P(Bf=>{"use strict";var vw=
|
|
73
|
+
`}};Ur.YAMLError=qr;Ur.YAMLParseError=ca;Ur.YAMLWarning=la;Ur.prettifyError=ow});var Kr=P(kf=>{"use strict";function aw(r,{flow:e,indicator:t,next:n,offset:s,onError:i,parentIndent:o,startOnNewline:a}){let c=!1,l=a,f=a,u="",d="",p=!1,b=!1,m=null,y=null,E=null,T=null,g=null,w=null,k=null;for(let A of r)switch(b&&(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma"&&i(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),b=!1),m&&(l&&A.type!=="comment"&&A.type!=="newline"&&i(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),m=null),A.type){case"space":!e&&(t!=="doc-start"||n?.type!=="flow-collection")&&A.source.includes(" ")&&(m=A),f=!0;break;case"comment":{f||i(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let M=A.source.substring(1)||" ";u?u+=d+M:u=M,d="",l=!1;break}case"newline":l?u?u+=A.source:(!w||t!=="seq-item-ind")&&(c=!0):d+=A.source,l=!0,p=!0,(y||E)&&(T=A),f=!0;break;case"anchor":y&&i(A,"MULTIPLE_ANCHORS","A node can have at most one anchor"),A.source.endsWith(":")&&i(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),y=A,k??(k=A.offset),l=!1,f=!1,b=!0;break;case"tag":{E&&i(A,"MULTIPLE_TAGS","A node can have at most one tag"),E=A,k??(k=A.offset),l=!1,f=!1,b=!0;break}case t:(y||E)&&i(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`),w&&i(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${e??"collection"}`),w=A,l=t==="seq-item-ind"||t==="explicit-key-ind",f=!1;break;case"comma":if(e){g&&i(A,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),g=A,l=!1,f=!1;break}default:i(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),l=!1,f=!1}let x=r[r.length-1],O=x?x.offset+x.source.length:s;return b&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&i(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),m&&(l&&m.indent<=o||n?.type==="block-map"||n?.type==="block-seq")&&i(m,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:g,found:w,spaceBefore:c,comment:u,hasNewline:p,anchor:y,tag:E,newlineAfterProp:T,end:O,start:k??O}}kf.resolveProps=aw});var vs=P(xf=>{"use strict";function ua(r){if(!r)return null;switch(r.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(r.source.includes(`
|
|
74
|
+
`))return!0;if(r.end){for(let e of r.end)if(e.type==="newline")return!0}return!1;case"flow-collection":for(let e of r.items){for(let t of e.start)if(t.type==="newline")return!0;if(e.sep){for(let t of e.sep)if(t.type==="newline")return!0}if(ua(e.key)||ua(e.value))return!0}return!1;default:return!0}}xf.containsNewline=ua});var fa=P(Ef=>{"use strict";var cw=vs();function lw(r,e,t){if(e?.type==="flow-collection"){let n=e.end[0];n.indent===r&&(n.source==="]"||n.source==="}")&&cw.containsNewline(e)&&t(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Ef.flowIndentCheck=lw});var da=P(Tf=>{"use strict";var Af=L();function uw(r,e,t){let{uniqueKeys:n}=r.options;if(n===!1)return!1;let s=typeof n=="function"?n:(i,o)=>i===o||Af.isScalar(i)&&Af.isScalar(o)&&i.value===o.value;return e.some(i=>s(i.key,t))}Tf.mapIncludes=uw});var Nf=P(Cf=>{"use strict";var Pf=Je(),fw=We(),Of=Kr(),dw=vs(),Rf=fa(),pw=da(),_f="All mapping items must start at the same column";function mw({composeNode:r,composeEmptyNode:e},t,n,s,i){let o=i?.nodeClass??fw.YAMLMap,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let c=n.offset,l=null;for(let f of n.items){let{start:u,key:d,sep:p,value:b}=f,m=Of.resolveProps(u,{indicator:"explicit-key-ind",next:d??p?.[0],offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0}),y=!m.found;if(y){if(d&&(d.type==="block-seq"?s(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in d&&d.indent!==n.indent&&s(c,"BAD_INDENT",_f)),!m.anchor&&!m.tag&&!p){l=m.end,m.comment&&(a.comment?a.comment+=`
|
|
75
|
+
`+m.comment:a.comment=m.comment);continue}(m.newlineAfterProp||dw.containsNewline(d))&&s(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else m.found?.indent!==n.indent&&s(c,"BAD_INDENT",_f);t.atKey=!0;let E=m.end,T=d?r(t,d,m,s):e(t,E,u,null,m,s);t.schema.compat&&Rf.flowIndentCheck(n.indent,d,s),t.atKey=!1,pw.mapIncludes(t,a.items,T)&&s(E,"DUPLICATE_KEY","Map keys must be unique");let g=Of.resolveProps(p??[],{indicator:"map-value-ind",next:b,offset:T.range[2],onError:s,parentIndent:n.indent,startOnNewline:!d||d.type==="block-scalar"});if(c=g.end,g.found){y&&(b?.type==="block-map"&&!g.hasNewline&&s(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&m.start<g.found.offset-1024&&s(T.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let w=b?r(t,b,g,s):e(t,c,p,null,g,s);t.schema.compat&&Rf.flowIndentCheck(n.indent,b,s),c=w.range[2];let k=new Pf.Pair(T,w);t.options.keepSourceTokens&&(k.srcToken=f),a.items.push(k)}else{y&&s(T.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),g.comment&&(T.comment?T.comment+=`
|
|
76
|
+
`+g.comment:T.comment=g.comment);let w=new Pf.Pair(T);t.options.keepSourceTokens&&(w.srcToken=f),a.items.push(w)}}return l&&l<c&&s(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[n.offset,c,l??c],a}Cf.resolveBlockMap=mw});var Lf=P(If=>{"use strict";var hw=He(),gw=Kr(),yw=fa();function bw({composeNode:r,composeEmptyNode:e},t,n,s,i){let o=i?.nodeClass??hw.YAMLSeq,a=new o(t.schema);t.atRoot&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let c=n.offset,l=null;for(let{start:f,value:u}of n.items){let d=gw.resolveProps(f,{indicator:"seq-item-ind",next:u,offset:c,onError:s,parentIndent:n.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||u)u?.type==="block-seq"?s(d.end,"BAD_INDENT","All sequence items must start at the same column"):s(c,"MISSING_CHAR","Sequence item without - indicator");else{l=d.end,d.comment&&(a.comment=d.comment);continue}let p=u?r(t,u,d,s):e(t,d.end,f,null,d,s);t.schema.compat&&yw.flowIndentCheck(n.indent,u,s),c=p.range[2],a.items.push(p)}return a.range=[n.offset,c,l??c],a}If.resolveBlockSeq=bw});var Kt=P(Mf=>{"use strict";function ww(r,e,t,n){let s="";if(r){let i=!1,o="";for(let a of r){let{source:c,type:l}=a;switch(l){case"space":i=!0;break;case"comment":{t&&!i&&n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let f=c.substring(1)||" ";s?s+=o+f:s=f,o="";break}case"newline":s&&(o+=c),i=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}e+=c.length}}return{comment:s,offset:e}}Mf.resolveEnd=ww});var jf=P(Bf=>{"use strict";var vw=L(),Sw=Je(),$f=We(),kw=He(),xw=Kt(),Df=Kr(),Ew=vs(),Aw=da(),pa="Block collections are not allowed within flow collections",ma=r=>r&&(r.type==="block-map"||r.type==="block-seq");function Tw({composeNode:r,composeEmptyNode:e},t,n,s,i){let o=n.start.source==="{",a=o?"flow map":"flow sequence",c=i?.nodeClass??(o?$f.YAMLMap:kw.YAMLSeq),l=new c(t.schema);l.flow=!0;let f=t.atRoot;f&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let u=n.offset+n.start.source.length;for(let y=0;y<n.items.length;++y){let E=n.items[y],{start:T,key:g,sep:w,value:k}=E,x=Df.resolveProps(T,{flow:a,indicator:"explicit-key-ind",next:g??w?.[0],offset:u,onError:s,parentIndent:n.indent,startOnNewline:!1});if(!x.found){if(!x.anchor&&!x.tag&&!w&&!k){y===0&&x.comma?s(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):y<n.items.length-1&&s(x.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),x.comment&&(l.comment?l.comment+=`
|
|
77
77
|
`+x.comment:l.comment=x.comment),u=x.end;continue}!o&&t.options.strict&&Ew.containsNewline(g)&&s(g,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(y===0)x.comma&&s(x.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(x.comma||s(x.start,"MISSING_CHAR",`Missing , between ${a} items`),x.comment){let O="";e:for(let A of T)switch(A.type){case"comma":case"space":break;case"comment":O=A.source.substring(1);break e;default:break e}if(O){let A=l.items[l.items.length-1];vw.isPair(A)&&(A=A.value??A.key),A.comment?A.comment+=`
|
|
78
|
-
`+O:A.comment=O,x.comment=x.comment.substring(O.length+1)}}if(!o&&!w&&!x.found){let O=
|
|
79
|
-
`+
|
|
80
|
-
`+y.comment:l.comment=y.comment),l.range=[n.offset,m,y.offset]}else l.range=[n.offset,m,m];return l}Bf.resolveFlowCollection=Tw});var qf=P(Ff=>{"use strict";var Pw=
|
|
78
|
+
`+O:A.comment=O,x.comment=x.comment.substring(O.length+1)}}if(!o&&!w&&!x.found){let O=k?r(t,k,x,s):e(t,x.end,w,null,x,s);l.items.push(O),u=O.range[2],ma(k)&&s(O.range,"BLOCK_IN_FLOW",pa)}else{t.atKey=!0;let O=x.end,A=g?r(t,g,x,s):e(t,O,T,null,x,s);ma(g)&&s(A.range,"BLOCK_IN_FLOW",pa),t.atKey=!1;let M=Df.resolveProps(w??[],{flow:a,indicator:"map-value-ind",next:k,offset:A.range[2],onError:s,parentIndent:n.indent,startOnNewline:!1});if(M.found){if(!o&&!x.found&&t.options.strict){if(w)for(let B of w){if(B===M.found)break;if(B.type==="newline"){s(B,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}x.start<M.found.offset-1024&&s(M.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else k&&("source"in k&&k.source?.[0]===":"?s(k,"MISSING_CHAR",`Missing space after : in ${a}`):s(M.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let te=k?r(t,k,M,s):M.found?e(t,M.end,w,null,M,s):null;te?ma(k)&&s(te.range,"BLOCK_IN_FLOW",pa):M.comment&&(A.comment?A.comment+=`
|
|
79
|
+
`+M.comment:A.comment=M.comment);let V=new Sw.Pair(A,te);if(t.options.keepSourceTokens&&(V.srcToken=E),o){let B=l;Aw.mapIncludes(t,B.items,A)&&s(O,"DUPLICATE_KEY","Map keys must be unique"),B.items.push(V)}else{let B=new $f.YAMLMap(t.schema);B.flow=!0,B.items.push(V);let it=(te??A).range;B.range=[A.range[0],it[1],it[2]],l.items.push(B)}u=te?te.range[2]:M.end}}let d=o?"}":"]",[p,...b]=n.end,m=u;if(p?.source===d)m=p.offset+p.source.length;else{let y=a[0].toUpperCase()+a.substring(1),E=f?`${y} must end with a ${d}`:`${y} in block collection must be sufficiently indented and end with a ${d}`;s(u,f?"MISSING_CHAR":"BAD_INDENT",E),p&&p.source.length!==1&&b.unshift(p)}if(b.length>0){let y=xw.resolveEnd(b,m,t.options.strict,s);y.comment&&(l.comment?l.comment+=`
|
|
80
|
+
`+y.comment:l.comment=y.comment),l.range=[n.offset,m,y.offset]}else l.range=[n.offset,m,m];return l}Bf.resolveFlowCollection=Tw});var qf=P(Ff=>{"use strict";var Pw=L(),Ow=J(),Rw=We(),_w=He(),Cw=Nf(),Nw=Lf(),Iw=jf();function ha(r,e,t,n,s,i){let o=t.type==="block-map"?Cw.resolveBlockMap(r,e,t,n,i):t.type==="block-seq"?Nw.resolveBlockSeq(r,e,t,n,i):Iw.resolveFlowCollection(r,e,t,n,i),a=o.constructor;return s==="!"||s===a.tagName?(o.tag=a.tagName,o):(s&&(o.tag=s),o)}function Lw(r,e,t,n,s){let i=n.tag,o=i?e.directives.tagName(i.source,d=>s(i,"TAG_RESOLVE_FAILED",d)):null;if(t.type==="block-seq"){let{anchor:d,newlineAfterProp:p}=n,b=d&&i?d.offset>i.offset?d:i:d??i;b&&(!p||p.offset<b.offset)&&s(b,"MISSING_CHAR","Missing newline after block sequence props")}let a=t.type==="block-map"?"map":t.type==="block-seq"?"seq":t.start.source==="{"?"map":"seq";if(!i||!o||o==="!"||o===Rw.YAMLMap.tagName&&a==="map"||o===_w.YAMLSeq.tagName&&a==="seq")return ha(r,e,t,s,o);let c=e.schema.tags.find(d=>d.tag===o&&d.collection===a);if(!c){let d=e.schema.knownTags[o];if(d?.collection===a)e.schema.tags.push(Object.assign({},d,{default:!1})),c=d;else return d?s(i,"BAD_COLLECTION_TYPE",`${d.tag} used for ${a} collection, but expects ${d.collection??"scalar"}`,!0):s(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),ha(r,e,t,s,o)}let l=ha(r,e,t,s,o,c),f=c.resolve?.(l,d=>s(i,"TAG_RESOLVE_FAILED",d),e.options)??l,u=Pw.isNode(f)?f:new Ow.Scalar(f);return u.range=l.range,u.tag=o,c?.format&&(u.format=c.format),u}Ff.composeCollection=Lw});var ya=P(Uf=>{"use strict";var ga=J();function Mw(r,e,t){let n=e.offset,s=$w(e,r.options.strict,t);if(!s)return{value:"",type:null,comment:"",range:[n,n,n]};let i=s.mode===">"?ga.Scalar.BLOCK_FOLDED:ga.Scalar.BLOCK_LITERAL,o=e.source?Dw(e.source):[],a=o.length;for(let m=o.length-1;m>=0;--m){let y=o[m][1];if(y===""||y==="\r")a=m;else break}if(a===0){let m=s.chomp==="+"&&o.length>0?`
|
|
81
81
|
`.repeat(Math.max(1,o.length-1)):"",y=n+s.length;return e.source&&(y+=e.source.length),{value:m,type:i,comment:s.comment,range:[n,y,y]}}let c=e.indent+s.indent,l=e.offset+s.length,f=0;for(let m=0;m<a;++m){let[y,E]=o[m];if(E===""||E==="\r")s.indent===0&&y.length>c&&(c=y.length);else{y.length<c&&t(l+y.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(c=y.length),f=m,c===0&&!r.atRoot&&t(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=y.length+E.length+1}for(let m=o.length-1;m>=a;--m)o[m][0].length>c&&(a=m+1);let u="",d="",p=!1;for(let m=0;m<f;++m)u+=o[m][0].slice(c)+`
|
|
82
82
|
`;for(let m=f;m<a;++m){let[y,E]=o[m];l+=y.length+E.length+1;let T=E[E.length-1]==="\r";if(T&&(E=E.slice(0,-1)),E&&y.length<c){let w=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;t(l-E.length-(T?2:1),"BAD_INDENT",w),y=""}i===ga.Scalar.BLOCK_LITERAL?(u+=d+y.slice(c)+E,d=`
|
|
83
83
|
`):y.length>c||E[0]===" "?(d===" "?d=`
|
|
@@ -107,7 +107,7 @@ ${l}
|
|
|
107
107
|
`);)n===`
|
|
108
108
|
`&&(t+=`
|
|
109
109
|
`),e+=1,n=r[e+1];return t||(t=" "),{fold:t,offset:e}}var Kw={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
110
|
-
`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Ww(r,e,t,n){let s=r.substr(e,t),o=s.length===t&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;if(isNaN(o)){let a=r.substr(e-2,t+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}Kf.resolveFlowScalar=jw});var Vf=P(Hf=>{"use strict";var ut=
|
|
110
|
+
`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function Ww(r,e,t,n){let s=r.substr(e,t),o=s.length===t&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;if(isNaN(o)){let a=r.substr(e-2,t+2);return n(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}Kf.resolveFlowScalar=jw});var Vf=P(Hf=>{"use strict";var ut=L(),Wf=J(),Hw=ya(),Vw=wa();function Yw(r,e,t,n){let{value:s,type:i,comment:o,range:a}=e.type==="block-scalar"?Hw.resolveBlockScalar(r,e,n):Vw.resolveFlowScalar(e,r.options.strict,n),c=t?r.directives.tagName(t.source,u=>n(t,"TAG_RESOLVE_FAILED",u)):null,l;r.options.stringKeys&&r.atKey?l=r.schema[ut.SCALAR]:c?l=Gw(r.schema,s,c,t,n):e.type==="scalar"?l=zw(r,s,e,n):l=r.schema[ut.SCALAR];let f;try{let u=l.resolve(s,d=>n(t??e,"TAG_RESOLVE_FAILED",d),r.options);f=ut.isScalar(u)?u:new Wf.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);n(t??e,"TAG_RESOLVE_FAILED",d),f=new Wf.Scalar(s)}return f.range=a,f.source=s,i&&(f.type=i),c&&(f.tag=c),l.format&&(f.format=l.format),o&&(f.comment=o),f}function Gw(r,e,t,n,s){if(t==="!")return r[ut.SCALAR];let i=[];for(let a of r.tags)if(!a.collection&&a.tag===t)if(a.default&&a.test)i.push(a);else return a;for(let a of i)if(a.test?.test(e))return a;let o=r.knownTags[t];return o&&!o.collection?(r.tags.push(Object.assign({},o,{default:!1,test:void 0})),o):(s(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),r[ut.SCALAR])}function zw({atKey:r,directives:e,schema:t},n,s,i){let o=t.tags.find(a=>(a.default===!0||r&&a.default==="key")&&a.test?.test(n))||t[ut.SCALAR];if(t.compat){let a=t.compat.find(c=>c.default&&c.test?.test(n))??t[ut.SCALAR];if(o.tag!==a.tag){let c=e.tagString(o.tag),l=e.tagString(a.tag),f=`Value may be parsed as either ${c} or ${l}`;i(s,"TAG_RESOLVE_FAILED",f,!0)}}return o}Hf.composeScalar=Yw});var Gf=P(Yf=>{"use strict";function Qw(r,e,t){if(e){t??(t=e.length);for(let n=t-1;n>=0;--n){let s=e[n];switch(s.type){case"space":case"comment":case"newline":r-=s.source.length;continue}for(s=e[++n];s?.type==="space";)r+=s.source.length,s=e[++n];break}}return r}Yf.emptyScalarPosition=Qw});var Xf=P(Sa=>{"use strict";var Xw=xr(),Zw=L(),ev=qf(),zf=Vf(),tv=Kt(),rv=Gf(),nv={composeNode:Qf,composeEmptyNode:va};function Qf(r,e,t,n){let s=r.atKey,{spaceBefore:i,comment:o,anchor:a,tag:c}=t,l,f=!0;switch(e.type){case"alias":l=sv(r,e,n),(a||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=zf.composeScalar(r,e,c,n),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":l=ev.composeCollection(nv,r,e,t,n),a&&(l.anchor=a.source.substring(1));break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;n(e,"UNEXPECTED_TOKEN",u),l=va(r,e.offset,void 0,null,t,n),f=!1}}return a&&l.anchor===""&&n(a,"BAD_ALIAS","Anchor cannot be an empty string"),s&&r.options.stringKeys&&(!Zw.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"),i&&(l.spaceBefore=!0),o&&(e.type==="scalar"&&e.source===""?l.comment=o:l.commentBefore=o),r.options.keepSourceTokens&&f&&(l.srcToken=e),l}function va(r,e,t,n,{spaceBefore:s,comment:i,anchor:o,tag:a,end:c},l){let f={type:"scalar",offset:rv.emptyScalarPosition(e,t,n),indent:-1,source:""},u=zf.composeScalar(r,f,a,l);return o&&(u.anchor=o.source.substring(1),u.anchor===""&&l(o,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(u.spaceBefore=!0),i&&(u.comment=i,u.range[2]=c),u}function sv({options:r},{offset:e,source:t,end:n},s){let i=new Xw.Alias(t.substring(1));i.source===""&&s(e,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&s(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+t.length,a=tv.resolveEnd(n,o,r.strict,s);return i.range=[e,o,a.offset],a.comment&&(i.comment=a.comment),i}Sa.composeEmptyNode=va;Sa.composeNode=Qf});var td=P(ed=>{"use strict";var iv=Fr(),Zf=Xf(),ov=Kt(),av=Kr();function cv(r,e,{offset:t,start:n,value:s,end:i},o){let a=Object.assign({_directives:e},r),c=new iv.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},f=av.resolveProps(n,{indicator:"doc-start",next:s??i?.[0],offset:t,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(c.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=s?Zf.composeNode(l,s,f,o):Zf.composeEmptyNode(l,f.end,n,null,f,o);let u=c.contents.range[2],d=ov.resolveEnd(i,u,!1,o);return d.comment&&(c.comment=d.comment),c.range=[t,u,d.offset],c}ed.composeDoc=cv});var xa=P(sd=>{"use strict";var lv=On("process"),uv=ao(),fv=Fr(),Wr=Jr(),rd=L(),dv=td(),pv=Kt();function Hr(r){if(typeof r=="number")return[r,r+1];if(Array.isArray(r))return r.length===2?r:[r[0],r[1]];let{offset:e,source:t}=r;return[e,e+(typeof t=="string"?t.length:1)]}function nd(r){let e="",t=!1,n=!1;for(let s=0;s<r.length;++s){let i=r[s];switch(i[0]){case"#":e+=(e===""?"":n?`
|
|
111
111
|
|
|
112
112
|
`:`
|
|
113
113
|
`)+(i.substring(1)||" "),t=!0,n=!1;break;case"%":r[s+1]?.[0]!=="#"&&(s+=1),t=!1;break;default:t||(n=!0),t=!1}}return{comment:e,afterEmptyLine:n}}var ka=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,n,s,i)=>{let o=Hr(t);i?this.warnings.push(new Wr.YAMLWarning(o,n,s)):this.errors.push(new Wr.YAMLParseError(o,n,s))},this.directives=new uv.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:n,afterEmptyLine:s}=nd(this.prelude);if(n){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
@@ -147,7 +147,7 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
|
|
|
147
147
|
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
148
148
|
`,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let n="end"in t.value?t.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 t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2]?.value?.end;if(Array.isArray(s)){Array.prototype.push.apply(s,t.start),s.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,s=n&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",i=[];if(s&&t.sep&&!t.value){let o=[];for(let a=0;a<t.sep.length;++a){let c=t.sep[a];switch(c.type){case"newline":o.push(a);break;case"space":break;case"comment":c.indent>e.indent&&(o.length=0);break;default:o.length=0}}o.length>=2&&(i=t.sep.splice(o[1]))}switch(this.type){case"anchor":case"tag":s||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"explicit-key-ind":!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):s||t.value?(i.push(this.sourceToken),e.items.push({start:i,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(t.explicitKey)if(t.sep)if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Ve(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(vd(t.key)&&!Ve(t.sep,"newline")){let o=Wt(t.start),a=t.key,c=t.sep;c.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:a,sep:c}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else if(Ve(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let o=Wt(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]})}else t.sep?t.value||s?e.items.push({start:i,key:null,sep:[this.sourceToken]}):Ve(t.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{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);s||t.value?(e.items.push({start:i,key:o,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(o):(Object.assign(t,{key:o,sep:[]}),this.onKeyLine=!0);return}default:{let o=this.startBlockValue(e);if(o){if(o.type==="block-seq"){if(!t.explicitKey&&t.sep&&!Ve(t.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:i});this.stack.push(o);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let n="end"in t.value?t.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 t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let s=e.items[e.items.length-2]?.value?.end;if(Array.isArray(s)){Array.prototype.push.apply(s,t.start),s.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;t.value||Ve(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.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 t=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":!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case"map-value-ind":!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let s=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:s,sep:[]}):t.sep?this.stack.push(s):Object.assign(t,{key:s,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 s=Ts(n),i=Wt(s);wd(e);let o=e.end.splice(1,e.end.length);o.push(this.sourceToken);let a={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:o}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=a}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
|
|
149
149
|
`)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
150
|
-
`,t)+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 t=Ts(e),n=Wt(t);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 t=Ts(e),n=Wt(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!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())}}};Sd.Parser=$a});var Td=P(Gr=>{"use strict";var kd=xa(),Iv=Fr(),Yr=Jr(),Lv=So(),Mv=
|
|
150
|
+
`,t)+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 t=Ts(e),n=Wt(t);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 t=Ts(e),n=Wt(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!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())}}};Sd.Parser=$a});var Td=P(Gr=>{"use strict";var kd=xa(),Iv=Fr(),Yr=Jr(),Lv=So(),Mv=L(),$v=Ma(),xd=Da();function Ed(r){let e=r.prettyErrors!==!1;return{lineCounter:r.lineCounter||e&&new $v.LineCounter||null,prettyErrors:e}}function Dv(r,e={}){let{lineCounter:t,prettyErrors:n}=Ed(e),s=new xd.Parser(t?.addNewLine),i=new kd.Composer(e),o=Array.from(i.compose(s.parse(r)));if(n&&t)for(let a of o)a.errors.forEach(Yr.prettifyError(r,t)),a.warnings.forEach(Yr.prettifyError(r,t));return o.length>0?o:Object.assign([],{empty:!0},i.streamInfo())}function Ad(r,e={}){let{lineCounter:t,prettyErrors:n}=Ed(e),s=new xd.Parser(t?.addNewLine),i=new kd.Composer(e),o=null;for(let a of i.compose(s.parse(r),!0,r.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Yr.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&t&&(o.errors.forEach(Yr.prettifyError(r,t)),o.warnings.forEach(Yr.prettifyError(r,t))),o}function Bv(r,e,t){let n;typeof e=="function"?n=e:t===void 0&&e&&typeof e=="object"&&(t=e);let s=Ad(r,t);if(!s)return null;if(s.warnings.forEach(i=>Lv.warn(s.options.logLevel,i)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:n},t))}function jv(r,e,t){let n=null;if(typeof e=="function"||Array.isArray(e)?n=e:t===void 0&&e&&(t=e),typeof t=="string"&&(t=t.length),typeof t=="number"){let s=Math.round(t);t=s<1?void 0:s>8?{indent:8}:{indent:s}}if(r===void 0){let{keepUndefined:s}=t??e??{};if(!s)return}return Mv.isDocument(r)&&!n?r.toString(t):new Iv.Document(r,n,t).toString(t)}Gr.parse=Bv;Gr.parseAllDocuments=Dv;Gr.parseDocument=Ad;Gr.stringify=jv});var Od=P(D=>{"use strict";var Fv=xa(),qv=Fr(),Uv=na(),Ba=Jr(),Jv=xr(),Ye=L(),Kv=Je(),Wv=J(),Hv=We(),Vv=He(),Yv=Es(),Gv=Ia(),zv=Ma(),Qv=Da(),Ps=Td(),Pd=wr();D.Composer=Fv.Composer;D.Document=qv.Document;D.Schema=Uv.Schema;D.YAMLError=Ba.YAMLError;D.YAMLParseError=Ba.YAMLParseError;D.YAMLWarning=Ba.YAMLWarning;D.Alias=Jv.Alias;D.isAlias=Ye.isAlias;D.isCollection=Ye.isCollection;D.isDocument=Ye.isDocument;D.isMap=Ye.isMap;D.isNode=Ye.isNode;D.isPair=Ye.isPair;D.isScalar=Ye.isScalar;D.isSeq=Ye.isSeq;D.Pair=Kv.Pair;D.Scalar=Wv.Scalar;D.YAMLMap=Hv.YAMLMap;D.YAMLSeq=Vv.YAMLSeq;D.CST=Yv;D.Lexer=Gv.Lexer;D.LineCounter=zv.LineCounter;D.Parser=Qv.Parser;D.parse=Ps.parse;D.parseAllDocuments=Ps.parseAllDocuments;D.parseDocument=Ps.parseDocument;D.stringify=Ps.stringify;D.visit=Pd.visit;D.visitAsync=Pd.visitAsync});function Zv(r){try{return JSON.parse(r.trim()),!0}catch{return!1}}function eS(r){let e=r.trim();if(!e.startsWith("<"))return!1;let t=e.match(Xv);return t?br(e,t[1])!==null:!1}function tS(r){let e=r.trim();if(!e.match(/^(---|#|\w+:|-)/)||"[{<".includes(e[0]))return!1;try{let t=Rd.parse(e);return t!==null&&typeof t=="object"}catch{return!1}}function _d(r){return Zv(r)||eS(r)||tS(r)}var Rd,Xv,ja=R(()=>{jl();Rd=lg(Od(),1),Xv=/<([a-zA-Z_][\w.-]*)/});function rS(r){if(!r?.trim())return[];let e=r.replace(/\r\n/g,`
|
|
151
151
|
`),t=e.trim();if(_d(t))return[{text:t,startLine:1,endLine:e.split(`
|
|
152
152
|
`).length}];let n=e.split(`
|
|
153
153
|
`),s=[],i=0,o=-1,a=0,c=()=>{if(o>=i){let l=n.slice(i,o+1).join(`
|
|
@@ -504,19 +504,19 @@ export default function (pi) {
|
|
|
504
504
|
} catch (e) { logErr("load", e && e.message); }
|
|
505
505
|
}
|
|
506
506
|
`});function U(r){return r?.message??String(r)}var G,fr=R(()=>{G=process.cwd()});import{spawn as lm}from"child_process";import{StringDecoder as Nx}from"string_decoder";function Fx(r,e){let t=new Nx("utf8"),n="";r.on("data",s=>{n+=typeof s=="string"?s:t.write(s);let i;for(;(i=n.indexOf(`
|
|
507
|
-
`))>=0;){let o=n.slice(0,i);n=n.slice(i+1),o.endsWith("\r")&&(o=o.slice(0,-1)),o&&e(o)}})}var Ix,Lx,um,Mx,$x,Dx,Bx,jx,Ri,_i,fm,dm=R(()=>{fr();Ix=3e4,Lx=5e3,um=2e3,Mx=2e3,$x=12e4,Dx=8e3,Bx=15e3,jx=new Set(["get_state","get_commands","get_available_models","set_model","set_thinking_level","cycle_thinking_level","get_session_stats","compact","set_auto_compaction","get_fork_messages","fork","clone","set_session_name","export_html","bash","abort_bash"]),Ri=new Set;process.on("exit",()=>{for(let r of Ri)try{r.kill()}catch{}});_i=class{#e;#o=!1;#a=0;#i=!1;#c=null;#t=null;#n=null;#l=new Map;#r=[];#
|
|
508
|
-
`)}catch{}await Promise.race([this.#
|
|
509
|
-
`)}catch{}}#f(e,t){let n=e.length>200?e.slice(0,200)+"\u2026":e;n&&(this.#n={text:n,kind:t,until:Date.now()+(t==="info"?Dx:Bx)})}#
|
|
510
|
-
`)}catch(a){clearTimeout(o),this.#s.delete(n),i(new Error(U(a)))}})}#
|
|
511
|
-
`)};return}case"message_end":this.#i=!1;return;case"auto_retry_start":this.#t={text:`retrying after a transient error (attempt ${Number(t.attempt)||1}/${Number(t.maxAttempts)||"?"})\u2026`,kind:"warning"};return;case"auto_retry_end":this.#t=null,t.success===!1&&this.#f(`retries exhausted: ${String(t.finalError??"unknown error")}`,"error");return;case"compaction_start":this.#t={text:"compacting context\u2026",kind:"info"};return;case"compaction_end":{this.#t=null;let n=t.result;typeof t.errorMessage=="string"&&t.errorMessage?this.#f(`compaction failed: ${t.errorMessage}`,"error"):n?.tokensBefore&&this.#f(`compacted: ~${Math.round(n.tokensBefore/1e3)}k \u2192 ~${Math.round((n.estimatedTokensAfter??0)/1e3)}k tokens`,"info"),this.#
|
|
507
|
+
`))>=0;){let o=n.slice(0,i);n=n.slice(i+1),o.endsWith("\r")&&(o=o.slice(0,-1)),o&&e(o)}})}var Ix,Lx,um,Mx,$x,Dx,Bx,jx,Ri,_i,fm,dm=R(()=>{fr();Ix=3e4,Lx=5e3,um=2e3,Mx=2e3,$x=12e4,Dx=8e3,Bx=15e3,jx=new Set(["get_state","get_commands","get_available_models","set_model","set_thinking_level","cycle_thinking_level","get_session_stats","compact","set_auto_compaction","get_fork_messages","fork","clone","set_session_name","export_html","bash","abort_bash"]),Ri=new Set;process.on("exit",()=>{for(let r of Ri)try{r.kill()}catch{}});_i=class{#e;#o=!1;#a=0;#i=!1;#c=null;#p=null;#t=null;#n=null;#l=new Map;#r=[];#m=null;#b=null;#h=null;#w;#u;#g="";#A=1;#s=new Map;#v;#y;constructor(e,t,n=(s,i)=>lm(s,{cwd:i,shell:!0,stdio:["pipe","pipe","pipe"],env:{...process.env,TYPEBULB_MIRROR:"1"}})){if(this.#v=new Promise(o=>{this.#y=o}),t?.includes('"')){this.#u="session path contains a quote \u2014 cannot drive it",this.#y();return}let s=t?`pi --mode rpc --session "${t}"`:"pi --mode rpc",i;try{i=n(s,e)}catch(o){this.#u=`could not start pi: ${U(o)}`,this.#y();return}this.#e=i,this.#w=t,Ri.add(i),i.stdout&&Fx(i.stdout,o=>this.#T(o)),i.stderr&&i.stderr.on("data",o=>{this.#g=(this.#g+o.toString()).slice(-Mx)}),i.on("error",o=>this.#x(`could not start pi: ${o.message}`)),i.on("exit",o=>{this.#e===i&&this.#x(o?`pi exited (code ${o})${this.#g.trim()?`: ${this.#g.trim()}`:""}`:"pi exited"),Ri.delete(i),this.#y()}),this.#d({type:"get_state"}).then(o=>{let a=o.data?.sessionFile;typeof a=="string"&&a&&(this.#w=a);let c=o.data?.model;c&&typeof c.id=="string"&&c.id&&(this.#h=c.id)}).catch(()=>{}),this.#S()}get streaming(){return this.#o||Date.now()<this.#a}get draft(){return this.#c}get echo(){return this.#p}get queue(){return this.#m}get stats(){return this.#b}get model(){return this.#h}get sessionFile(){return this.#w}get error(){return this.#u}get status(){if(this.#t)return this.#t;if(this.#n){if(Date.now()<this.#n.until)return{text:this.#n.text,kind:this.#n.kind};this.#n=null}return this.#l.size?{text:[...this.#l.values()].join(" \xB7 "),kind:"info"}:null}get dialog(){let e=Date.now();for(;this.#r.length;){let t=this.#r[0];if(e<t.until)return t.req;this.#r.shift(),t.ownTimeout||this.#k({type:"extension_ui_response",id:t.req.id,cancelled:!0})}return null}notice(e,t){this.#f(e,t)}respondUi(e,t){let n=this.#r.findIndex(o=>o.req.id===e);if(n<0)return{ok:!1,error:"dialog expired or already answered"};let[s]=this.#r.splice(n,1),i={type:"extension_ui_response",id:e};return t.cancelled?i.cancelled=!0:s.req.method==="confirm"?i.confirmed=!!t.confirmed:i.value=t.value??"",this.#k(i),{ok:!0}}async rpc(e){if(!jx.has(e.type))return{ok:!1,error:`command not allowed: ${e.type}`};try{let t=await this.#d(e);if(t.success&&e.type==="set_model"){let n=t.data?.id;typeof n=="string"&&n&&(this.#h=n)}return t.success?{ok:!0,data:t.data}:{ok:!1,error:t.error??`pi rejected ${e.type}`}}catch(t){return{ok:!1,error:U(t)}}}async send(e,t){let n=this.streaming,s=n?e.trimStart().startsWith("/")?{type:"prompt",message:e,streamingBehavior:t?.followUp?"followUp":"steer"}:{type:t?.followUp?"follow_up":"steer",message:e}:{type:"prompt",message:e},i;try{i=await this.#d(s)}catch(o){return{ok:!1,error:U(o)}}return i.success&&!n&&(this.#a=Date.now()+Lx),i.success&&!n&&!e.trimStart().startsWith("/")&&(this.#p=e),i.success?{ok:!0}:{ok:!1,error:i.error??"pi rejected the message"}}async stop(){if(this.#e)try{await this.#d({type:"abort"})}catch{}}clearCompletedDraft(){this.#i||(this.#c=null)}clearEcho(){this.#p=null}async dispose(){let e=this.#e;if(e){if(this.#e=void 0,this.#o){try{e.stdin?.write(JSON.stringify({type:"abort"})+`
|
|
508
|
+
`)}catch{}await Promise.race([this.#v,fm(um)])}try{e.stdin?.end()}catch{}if(await Promise.race([this.#v,fm(um)]),e.exitCode===null&&!e.killed)if(process.platform==="win32"&&e.pid)try{lm("taskkill",["/pid",String(e.pid),"/T","/F"],{stdio:"ignore"})}catch{}else try{e.kill("SIGKILL")}catch{}Ri.delete(e),this.#r=[],this.#E("pi was shut down")}}#k(e){try{this.#e?.stdin?.write(JSON.stringify(e)+`
|
|
509
|
+
`)}catch{}}#f(e,t){let n=e.length>200?e.slice(0,200)+"\u2026":e;n&&(this.#n={text:n,kind:t,until:Date.now()+(t==="info"?Dx:Bx)})}#S(){this.#d({type:"get_session_stats"}).then(e=>{if(!e.success||!e.data)return;let t=e.data;this.#b={cost:typeof t.cost=="number"?t.cost:0,contextTokens:typeof t.contextUsage?.tokens=="number"?t.contextUsage.tokens:null,contextPercent:typeof t.contextUsage?.percent=="number"?t.contextUsage.percent:null}}).catch(()=>{})}#d(e){let t=this.#e;if(!t?.stdin?.writable)return Promise.reject(new Error(this.#u??"pi is not running"));let n=`tb-${this.#A++}`;return new Promise((s,i)=>{let o=setTimeout(()=>{this.#s.delete(n),i(new Error("pi did not respond (30s)"))},Ix);o.unref?.(),this.#s.set(n,{resolve:s,timer:o});try{t.stdin.write(JSON.stringify({id:n,...e})+`
|
|
510
|
+
`)}catch(a){clearTimeout(o),this.#s.delete(n),i(new Error(U(a)))}})}#T(e){let t;try{t=JSON.parse(e)}catch{return}switch(t.type){case"response":{let n=t,s=n.id?this.#s.get(n.id):void 0;s&&(this.#s.delete(n.id),clearTimeout(s.timer),s.resolve(n));return}case"agent_start":this.#o=!0,this.#a=0;return;case"agent_end":this.#o=!1,this.#a=0,this.#i=!1,this.#t=null,this.#m=null,this.#S();return;case"message_start":{t.message?.role==="assistant"&&(this.#i=!0,this.#c={text:"",thinking:""});return}case"message_update":{if(!this.#i)return;let n=t.message,s=Array.isArray(n?.content)?n.content:[];this.#c={text:s.filter(i=>i?.type==="text").map(i=>i.text??"").join(""),thinking:s.filter(i=>i?.type==="thinking").map(i=>i.thinking??"").join(`
|
|
511
|
+
`)};return}case"message_end":this.#i=!1;return;case"auto_retry_start":this.#t={text:`retrying after a transient error (attempt ${Number(t.attempt)||1}/${Number(t.maxAttempts)||"?"})\u2026`,kind:"warning"};return;case"auto_retry_end":this.#t=null,t.success===!1&&this.#f(`retries exhausted: ${String(t.finalError??"unknown error")}`,"error");return;case"compaction_start":this.#t={text:"compacting context\u2026",kind:"info"};return;case"compaction_end":{this.#t=null;let n=t.result;typeof t.errorMessage=="string"&&t.errorMessage?this.#f(`compaction failed: ${t.errorMessage}`,"error"):n?.tokensBefore&&this.#f(`compacted: ~${Math.round(n.tokensBefore/1e3)}k \u2192 ~${Math.round((n.estimatedTokensAfter??0)/1e3)}k tokens`,"info"),this.#S();return}case"queue_update":{let n=Array.isArray(t.steering)?t.steering.map(String):[],s=Array.isArray(t.followUp)?t.followUp.map(String):[];this.#m=n.length||s.length?{steering:n,followUp:s}:null;return}case"extension_ui_request":{let n=String(t.method??"");if(n==="select"||n==="confirm"||n==="input"||n==="editor"){let s=typeof t.timeout=="number"&&t.timeout>0?t.timeout:void 0;this.#r.push({req:{id:String(t.id??""),method:n,title:typeof t.title=="string"?t.title:void 0,message:typeof t.message=="string"?t.message:void 0,options:Array.isArray(t.options)?t.options.map(String):void 0,placeholder:typeof t.placeholder=="string"?t.placeholder:void 0,prefill:typeof t.prefill=="string"?t.prefill:void 0},until:Date.now()+(s??$x),ownTimeout:s!==void 0})}else if(n==="notify"){let s=t.notifyType==="warning"?"warning":t.notifyType==="error"?"error":"info";this.#f(String(t.message??""),s),console.log(`[composer] pi extension: ${String(t.message??"")}`)}else if(n==="setStatus"){let s=String(t.statusKey??"");typeof t.statusText=="string"&&t.statusText?this.#l.set(s,t.statusText):this.#l.delete(s)}return}default:return}}#x(e){this.#u=e,this.#o=!1,this.#a=0,this.#i=!1,this.#c=null,this.#p=null,this.#t=null,this.#n=null,this.#l.clear(),this.#r=[],this.#m=null,this.#b=null,this.#h=null,this.#e=void 0,this.#E(e)}#E(e){for(let[,t]of this.#s)clearTimeout(t.timer),t.resolve({type:"response",success:!1,error:e});this.#s.clear()}},fm=r=>new Promise(e=>{setTimeout(e,r).unref?.()})});import{existsSync as pm,readFileSync as qx,realpathSync as Ux}from"fs";import{join as Tt,dirname as ym,resolve as Jx}from"path";import{homedir as mm}from"os";function Wx(r,e){let t=Tt(r,".pi");if(Kx.some(s=>pm(Tt(t,s))))return!0;let n=Tt(e,".agents","skills");for(let s=r;;){let i=Tt(s,".agents","skills");if(i!==n&&pm(i))return!0;let o=ym(s);if(o===s)return!1;s=o}}function Hx(r,e){for(let t=e;;){if(r[t]===!0||r[t]===!1)return!0;let n=ym(t);if(n===t)return!1;t=n}}function bm(r,e){try{let t=e?.agentDir??Tt(mm(),".pi","agent"),n=hm(e?.home??process.env.HOME??mm()),s=hm(Jx(r));if(!Wx(s,n))return null;let i=gm(Tt(t,"settings.json")).defaultProjectTrust;return i==="always"||i==="never"||Hx(gm(Tt(t,"trust.json")),s)?null:"pi has no trust decision for this project \u2014 running untrusted; run `pi` once in a terminal to grant it"}catch{return null}}var Kx,hm,gm,wm=R(()=>{Kx=["settings.json","extensions","skills","prompts","themes","SYSTEM.md","APPEND_SYSTEM.md"],hm=r=>{try{return Ux(r)}catch{return r}},gm=r=>{try{return JSON.parse(qx(r,"utf8"))}catch{return{}}}});import{statSync as Vx,openSync as Yx,readSync as Gx,closeSync as zx,existsSync as Qx}from"fs";import{join as $c}from"path";import{homedir as Sm}from"os";function Zx(r){return`--${r.replace(/^[/\\]/,"").replace(/[/\\:]/g,"-")}--`}function vm(r){return r.type==="message"?e0(r.message?.role):r.type==="custom_message"?r.display!==!1:!1}var Xx,e0,dr,Dc=R(()=>{Si();Ac();Tc();cm();dm();wm();Xx=$c(Sm(),".pi","agent","sessions");e0=r=>r==="user"||r==="assistant"||r==="toolResult"||r==="bashExecution";dr=class extends cr{displayName="Pi Mirror";detectsSelf(){return process.env.PI_CODING_AGENT==="true"}detectsInstalled(){return Qx($c(Sm(),".pi","agent"))}ensureHarnessSupport(){am()}createDriver(e,t){let n=new _i(e,t),s=bm(e);return s&&n.notice(s,"warning"),n}sessionsDir(e){return $c(Xx,Zx(e))}listSessionFiles(e){return ki(this.sessionsDir(e))}parseEntry(e){let t;try{t=JSON.parse(e)}catch{return null}return!t||t.type==="session"||!t.id?null:t}idOf(e){return e.id}parentOf(e){return e.parentId??void 0}timestampOf(e){return e.timestamp}isSidechain(e){return!1}isLeafType(e){return vm(e)}isRecoveryNoise(e){return!1}apply(e,t){let n=[];if(e.type==="custom_message"){if(e.display===!1)return{events:n};let i=this.contentText(e.content).trim();return i&&n.push({type:"user",text:i}),{events:n}}if(e.type!=="message"||!e.message)return{events:n};let s=e.message;if(s.role==="user"){let i=this.contentText(s.content).trim();return i&&n.push({type:"user",text:i}),{events:n}}if(s.role==="toolResult"){let i=this.contentText(s.content);return n.push({type:"tool_result",id:s.toolCallId??"",content:i,isError:!!s.isError,digest:$e(i)}),{events:n}}if(s.role==="bashExecution")return s.command&&!s.excludeFromContext&&n.push({type:"user",text:`$ ${s.command}`}),{events:n};if(s.role==="assistant"){let i=Array.isArray(s.content)?s.content:[],o=i.filter(d=>d.type==="text").map(d=>d.text??"").join(""),a=i.filter(d=>d.type==="thinking").map(d=>d.thinking??"").join(`
|
|
512
512
|
`),c=i.filter(d=>d.type==="toolCall").map(d=>({id:d.id??"",name:d.name??"",input:d.arguments??{}}));if(o||a||c.length){let d=Date.parse(e.timestamp??""),p=!isNaN(d)&&d>=t;n.push({type:"assistant",text:o,thinking:a,tools:c,live:p})}let l=s.usage,f=l?(l.input??0)+(l.output??0)+(l.cacheRead??0)+(l.cacheWrite??0):0,u=l&&f>0&&s.stopReason!=="aborted"&&s.stopReason!=="error"?{in:l.input??0,out:l.output??0,cached:l.cacheRead??0,cacheCreate:l.cacheWrite??0}:void 0;return{events:n,usage:u,model:s.model,cost:l?.cost?.total}}return{events:n}}chainWorking(e){let t;for(let a of e)vm(a)&&(t=a);if(!t||t.type==="custom_message")return!1;let n=t.message.role;if(n==="user"||n==="toolResult"||n==="bashExecution")return!0;if(n!=="assistant")return!1;let i=(Array.isArray(t.message.content)?t.message.content:[]).filter(a=>a.type==="toolCall").map(a=>a.id);if(!i.length)return!1;let o=new Set;for(let a of e)a.type==="message"&&a.message?.role==="toolResult"&&a.message.toolCallId&&o.add(a.message.toolCallId);return i.some(a=>a&&!o.has(a))}sessionAlive(){}readPreview(e){let t;try{t=Yx(e,"r")}catch{return""}try{let s=65536;try{s=Vx(e).size}catch{}let i=Buffer.alloc(Math.min(65536,s)),o=Gx(t,i,0,i.length,0),a=i.subarray(0,o).toString("utf8"),c="",l="";for(let u of a.split(`
|
|
513
513
|
`)){if(!u.includes('"type"'))continue;let d;try{d=JSON.parse(u)}catch{continue}d?.type==="session_info"&&typeof d.name=="string"&&d.name?c=d.name:!l&&d?.type==="message"&&d.message?.role==="user"&&(l=this.contentText(d.message.content).replace(/\s+/g," ").trim())}let f=c||l;return f?f.slice(0,200):""}finally{zx(t)}}searchText(e){if(e?.type!=="message")return"";let t=e.message?.role;if(t!=="user"&&t!=="assistant")return"";let n=e.message?.content,s="";return typeof n=="string"?s=n:Array.isArray(n)&&(s=n.filter(i=>i.type==="text"&&typeof i.text=="string").map(i=>i.text).join(" ")),s.replace(/\s+/g," ").trim()}contentText(e){return typeof e=="string"?Se(e):Array.isArray(e)?e.map(t=>typeof t?.text=="string"?Se(t.text):t?.type==="image"&&t.data?vi(t.data,t.mimeType):"").filter(Boolean).join(`
|
|
514
514
|
`):""}}});var Mi,Wm=R(()=>{Mi=class{#e=new Map;accept(e,t){return this.#e.get(e)===t?!1:(this.#e.set(e,t),!0)}}});function $i(r,e){let t=0,n="";for(let s of r){let i=s.lower.indexOf(e);if(!(i<0)&&(t++,!n)){let o=Math.max(0,i-110),a=Math.min(s.text.length,i+e.length+110);n=(o>0?"\u2026":"")+s.text.slice(o,a)+(a<s.text.length?"\u2026":"")}}return{hitCount:t,snippet:n}}var Gc=R(()=>{});var Di,Bi,Hm=R(()=>{Di=".typebulb/paste",Bi={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp"}});import{existsSync as P0,mkdirSync as O0,writeFileSync as R0,readFileSync as _0}from"fs";import{join as ji}from"path";function Vm(){let r=new Date,e=t=>String(t).padStart(2,"0");return`${r.getFullYear()}${e(r.getMonth()+1)}${e(r.getDate())}-${e(r.getHours())}${e(r.getMinutes())}${e(r.getSeconds())}`}function L0(r){return r.trim().toLowerCase().replace(/\.[a-z0-9]{1,4}$/,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,60)}async function M0(r){let e=AbortSignal.timeout(C0);for(let[t,n]of I0){let s=wt(t,n);if(typeof s!="string"){try{let i=await vt(s,{messages:[{role:"user",content:`Reply with ONLY a short kebab-case filename (2-5 words, lowercase, no extension) describing this text:
|
|
515
515
|
|
|
516
|
-
${r.slice(0,N0)}`}],effort:0,webSearch:!1,signal:e});if(!i.ok)continue;let o=L0(await bt(i,s.protocol));if(o)return o}catch{}if(e.aborted)return}}}async function Ym(r,e){if(!e||e.kind!=="image"&&e.kind!=="text")return{ok:!1,error:"bad paste kind"};if(typeof e.data!="string"||!e.data)return{ok:!1,error:"empty paste"};let t=ji(r,Di);try{O0(t,{recursive:!0})}catch(a){return{ok:!1,error:U(a)}}let n,s,i;if(e.kind==="image"){if(n=`img-${Vm()}`,s=Object.keys(Bi).find(a=>Bi[a]===e.mime)??"png",i=Buffer.from(e.data,"base64"),!i.length)return{ok:!1,error:"empty image data"}}else n=await M0(e.data)??`paste-${Vm()}`,s="md",i=e.data;let o=`${n}.${s}`;for(let a=2;P0(ji(t,o));a++)o=`${n}-${a}.${s}`;try{R0(ji(t,o),i)}catch(a){return{ok:!1,error:U(a)}}return{ok:!0,path:`${Di}/${o}`}}function Gm(r,e){if(!/^[\w-]+(\.[\w-]+)*$/.test(e))return{ok:!1,error:"bad name"};let t=e.slice(e.lastIndexOf(".")+1).toLowerCase(),n=Bi[t];if(!n)return{ok:!1,error:"not an image"};try{return{ok:!0,mime:n,base64:_0(ji(r,Di,e)).toString("base64")}}catch{return{ok:!1,error:"not found"}}}var C0,N0,I0,zm=R(()=>{er();yn();fr();Hm();C0=4e3,N0=4e3,I0=[["openrouter","google/gemini-3.1-flash-lite-preview"],["gemini","gemini-3.1-flash-lite"]]});import{existsSync as Qm,openSync as $0,readSync as D0,closeSync as B0,statSync as mr,readdirSync as Xm,watchFile as j0,unwatchFile as Zm,mkdirSync as F0,writeFileSync as q0,readFileSync as zc,unlinkSync as U0,rmSync as J0}from"fs";import{stat as K0}from"fs/promises";import{join as Rt}from"path";import{execFile as W0}from"child_process";function Fi(r){let e={cwd:G,sessionId:"",sessionStartMs:Date.now(),buffer:[],partial:"",offset:0,latest:{in:0,out:0,cached:0,cacheCreate:0},latestModel:null,everAttached:!1,entries:new Map},t=new Set,n;function s(){if(e.file){for(let h of t)if(h.file===e.file)return h;return}return n}function i(h){let
|
|
517
|
-
`))>=0;){let j=h.partial.slice(0
|
|
518
|
-
`).filter(Boolean).map(async v=>{try{return{f:v,m:(await K0(Rt(e.cwd,v))).mtimeMs}}catch{return{f:v,m:0}}}))).sort((v,_)=>_.m-v.m).map(v=>v.f)}function zh(){for(let h of[...t])o(h)}async function Qh(h){return r.createDriver?Ym(e.cwd,h):{ok:!1,error:"not supported"}}async function Xh(h){return Gm(e.cwd,String(h??""))}async function Zh(){return r.listSessionFiles(e.cwd).sort((h,
|
|
519
|
-
`)){if(
|
|
516
|
+
${r.slice(0,N0)}`}],effort:0,webSearch:!1,signal:e});if(!i.ok)continue;let o=L0(await bt(i,s.protocol));if(o)return o}catch{}if(e.aborted)return}}}async function Ym(r,e){if(!e||e.kind!=="image"&&e.kind!=="text")return{ok:!1,error:"bad paste kind"};if(typeof e.data!="string"||!e.data)return{ok:!1,error:"empty paste"};let t=ji(r,Di);try{O0(t,{recursive:!0})}catch(a){return{ok:!1,error:U(a)}}let n,s,i;if(e.kind==="image"){if(n=`img-${Vm()}`,s=Object.keys(Bi).find(a=>Bi[a]===e.mime)??"png",i=Buffer.from(e.data,"base64"),!i.length)return{ok:!1,error:"empty image data"}}else n=await M0(e.data)??`paste-${Vm()}`,s="md",i=e.data;let o=`${n}.${s}`;for(let a=2;P0(ji(t,o));a++)o=`${n}-${a}.${s}`;try{R0(ji(t,o),i)}catch(a){return{ok:!1,error:U(a)}}return{ok:!0,path:`${Di}/${o}`}}function Gm(r,e){if(!/^[\w-]+(\.[\w-]+)*$/.test(e))return{ok:!1,error:"bad name"};let t=e.slice(e.lastIndexOf(".")+1).toLowerCase(),n=Bi[t];if(!n)return{ok:!1,error:"not an image"};try{return{ok:!0,mime:n,base64:_0(ji(r,Di,e)).toString("base64")}}catch{return{ok:!1,error:"not found"}}}var C0,N0,I0,zm=R(()=>{er();yn();fr();Hm();C0=4e3,N0=4e3,I0=[["openrouter","google/gemini-3.1-flash-lite-preview"],["gemini","gemini-3.1-flash-lite"]]});import{existsSync as Qm,openSync as $0,readSync as D0,closeSync as B0,statSync as mr,readdirSync as Xm,watchFile as j0,unwatchFile as Zm,mkdirSync as F0,writeFileSync as q0,readFileSync as zc,unlinkSync as U0,rmSync as J0}from"fs";import{stat as K0}from"fs/promises";import{join as Rt}from"path";import{execFile as W0}from"child_process";function Fi(r){let e={cwd:G,sessionId:"",sessionStartMs:Date.now(),buffer:[],partial:"",offset:0,latest:{in:0,out:0,cached:0,cacheCreate:0},latestModel:null,everAttached:!1,entries:new Map},t=new Set,n;function s(){if(e.file){for(let h of t)if(h.file===e.file)return h;return}return n}function i(h){let S={d:r.createDriver(e.cwd,h),file:h};return t.add(S),e.file||(n=S),S}async function o(h){t.delete(h),n===h&&(n=void 0);try{await h.d.dispose()}catch(S){console.error("[composer] dispose:",U(S))}}function a(){let h=s();for(let S of[...t])S!==h&&(S.d.streaming||S.d.queue||S.d.error||o(S))}function c(){for(let h of t)!h.file&&h.d.sessionFile&&(h.file=h.d.sessionFile);if(n&&!e.file&&n.file){let h=r.listSessionFiles(e.cwd).find(S=>S.file===n.file);h&&k(h)}}let l=h=>Rt(h,V0),f=(h,S)=>Rt(l(h),`${S}.lock`);function u(h,S){try{let v=f(h,S);if(Date.now()-mr(v).mtimeMs>=eh)return!1;try{if(parseInt(zc(v,"utf8").trim(),10)===process.pid)return!1}catch{}return!0}catch{return!1}}function d(h,S){if(S)try{F0(l(h),{recursive:!0}),q0(f(h,S),String(process.pid))}catch(v){console.error("[lock] claim failed:",U(v))}}function p(h){try{J0(Rt(h,".claude-bulb"),{recursive:!0,force:!0})}catch{}}function b(h){let S=l(h);if(!Qm(S))return;let v;try{v=Xm(S)}catch{return}let _=Date.now();for(let $ of v){if(!$.endsWith(".lock"))continue;let I=Rt(S,$);try{let C=mr(I);_-C.mtimeMs>Y0&&U0(I)}catch{}}}function m(h){try{return mr(h),!1}catch(S){return S.code==="ENOENT"}}function y(){let h=e;if(h.file&&!m(h.file)){d(h.cwd,h.sessionId);return}let S=E(h);S&&k(S)}function E(h){if(!h.everAttached)return T(h.cwd)??g(h.cwd,()=>!0)}function T(h){let S=l(h);if(!Qm(S))return;let v;try{v=Xm(S)}catch{return}let _;for(let I of v)if(I.endsWith(".lock"))try{let C=mr(Rt(S,I));if(Date.now()-C.mtimeMs>=eh||parseInt(zc(Rt(S,I),"utf8").trim(),10)!==process.pid)continue;(!_||C.mtimeMs>_.mtime)&&(_={sessionId:I.slice(0,-5),mtime:C.mtimeMs})}catch{}if(!_)return;let $=r.listSessionFiles(h).find(I=>I.sessionId===_.sessionId);if(!(!$||m($.file)))return $}function g(h,S){return r.listSessionFiles(h).sort((v,_)=>_.mtime-v.mtime).find(v=>!u(h,v.sessionId)&&S(v))}function w(h,S){let v=e;if(v.file)try{Zm(v.file)}catch{}v.file=h,v.sessionId=S,v.partial="",v.offset=0,v.latest={in:0,out:0,cached:0,cacheCreate:0},v.latestModel=null,v.entries=new Map,v.chainLastId=void 0,v.buffer.push({type:"cleared"}),v.buffer.push({type:"session",sessionId:S})}function k(h){let S=e;n=void 0,w(h.file,h.sessionId),S.everAttached=!0,d(S.cwd,h.sessionId),O();try{Zm(h.file)}catch{}j0(h.file,{interval:200},()=>O())}function x(){w(void 0,"")}function O(){let h=e;if(!h.file)return;let S;try{S=mr(h.file).size}catch{return}if(S<=h.offset)return;let v;try{v=$0(h.file,"r")}catch{return}try{let j=S-h.offset,se=Buffer.alloc(j),Y=0;for(;Y<j;){let ll=D0(v,se,Y,j-Y,h.offset+Y);if(!ll)break;Y+=ll}h.offset+=Y,h.partial+=se.subarray(0,Y).toString("utf8")}finally{B0(v)}let _,$;for(;($=h.partial.indexOf(`
|
|
517
|
+
`))>=0;){let j=h.partial.slice(0,$);if(h.partial=h.partial.slice($+1),!j.trim())continue;let se=r.parseEntry(j);if(!se)continue;let Y=r.idOf(se);Y&&(h.entries.set(Y,se),!r.isSidechain(se)&&r.isLeafType(se)&&(_=Y))}if(!_)return;let I=[],C=h.entries.get(_),F=!1;for(;C;){if(I.push(C),r.idOf(C)===h.chainLastId){F=!0;break}let j=r.parentOf(C);C=j?h.entries.get(j):void 0}if(F)for(let j=I.length-2;j>=0;j--)V(I[j]);else{h.chainLastId!==void 0&&(h.buffer.push({type:"cleared"}),h.buffer.push({type:"session",sessionId:h.sessionId}),h.latest={in:0,out:0,cached:0,cacheCreate:0});let j=new Set(I.map(Y=>r.idOf(Y))),se=A(h.entries);for(let Y=I.length-1;Y>=0;Y--)V(I[Y]),M(r.idOf(I[Y]),se,j)}h.chainLastId=_}function A(h){let S=new Map;for(let v of h.values()){let _=r.parentOf(v);if(!_)continue;let $=S.get(_);$?$.push(v):S.set(_,[v])}return S}function M(h,S,v){if(!h)return;let _=S.get(h);if(!_)return;let $=_.filter(j=>!r.isSidechain(j));if($.length<2)return;let I=$.filter(j=>!v.has(r.idOf(j)));if(!I.length)return;let C=[],F=0;for(let j of I){let se=te(j,S);C.push(...se.events),F+=se.count}F>0&&e.buffer.push({type:"fork",atId:h,count:F,events:C})}function te(h,S){let v=[],_=[h];for(;_.length;){let C=_.pop();if(r.isSidechain(C))continue;v.push(C);let F=S.get(r.idOf(C)??"");if(F)for(let j of F)_.push(j)}v.sort((C,F)=>(Date.parse(r.timestampOf(C)??"")||0)-(Date.parse(r.timestampOf(F)??"")||0));let $=[];for(let C of v)r.isRecoveryNoise(C)||$.push(...r.apply(C,e.sessionStartMs).events);return{count:$.reduce((C,F)=>C+(F.type==="user"||F.type==="assistant"?1:0),0),events:$}}function V(h){try{let{events:S,usage:v,model:_,cost:$}=r.apply(h,e.sessionStartMs);for(let I of S)e.buffer.push(I);S.some(I=>I.type==="assistant")&&s()?.d.clearCompletedDraft(),S.some(I=>I.type==="user")&&s()?.d.clearEcho(),_&&(e.latestModel=_),v&&(e.latest=v),(v||$)&&e.buffer.push({type:"usage",...e.latest,cost:$})}catch(S){console.error("[mirror] skipped malformed entry:",U(S))}}async function B(){return{cwd:e.cwd,pid:process.pid,composer:!!r.createDriver}}let it=new Mi;async function Hi(h,S){it.accept(h,S)&&console.log(S)}function qh(){let h=r.sessionAlive(e.sessionId,e.cwd);if(h!==void 0)return h;if(!e.file)return!1;try{return Date.now()-mr(e.file).mtimeMs<1e4}catch{return!1}}function Vi(){return r.chainWorking([...e.entries.values()])&&qh()}function Uh(){!r.createDriver||s()||e.latestModel||Vi()||i(e.file)}async function Jh(h){let S=e;y(),c(),Uh(),a();let v=s();for(let C of t)C!==v&&C.d.dialog;let _=new Set([...t].filter(C=>C.d.streaming&&C.file).map(C=>C.file)),$=_.size?r.listSessionFiles(S.cwd).filter(C=>_.has(C.file)).map(C=>C.sessionId):[],I=r.createDriver?{streaming:!!v?.d.streaming,draft:v?.d.draft??null,echo:v?.d.echo??null,status:v?.d.status??null,dialog:v?.d.dialog??null,queue:v?.d.queue??null,stats:v?.d.stats??null,model:v?.d.model??null,error:v?.d.error}:void 0;return{events:S.buffer.slice(h),cursor:S.buffer.length,working:!!v?.d.streaming||Vi(),latestModel:S.latestModel,composer:I,busy:$}}async function al(){y(),c();let h=s();if(h?.d.error&&!h.d.streaming&&(await o(h),h=void 0),!h){if(Vi())return{ok:!1,error:"the agent is mid-turn in a terminal \u2014 watch only"};h=i(e.file)}return{ok:!0,d:h.d}}async function Kh(h,S){if(!r.createDriver)return{ok:!1,error:"not supported"};let v=String(h??"").trim();if(!v)return{ok:!1,error:"empty message"};let _=await al();return _.ok?_.d.send(v,S):_}async function Wh(h,S){let v=s();return v?v.d.respondUi(String(h??""),S??{}):{ok:!1,error:"no dialog pending"}}async function Hh(h,S){if(!r.createDriver)return{ok:!1,error:"not supported"};if(!h||typeof h.type!="string")return{ok:!1,error:"bad command"};if(S?.spawn){let _=await al();return _.ok?_.d.rpc(h):_}let v=s();return!v||v.d.error?{ok:!1,error:"not running"}:v.d.rpc(h)}async function Vh(){let h=s();if(h)try{await h.d.stop()}catch(S){console.error("[composer] stop:",U(S))}return{ok:!0}}async function Yh(){return r.createDriver?(c(),!e.file&&n&&!n.d.streaming&&!n.d.error?{ok:!0}:(n?.d.error&&await o(n),n=void 0,e.file&&x(),i(void 0),a(),{ok:!0})):{ok:!1,error:"not supported"}}async function Gh(){if(!r.createDriver)return[];let h=await new Promise(v=>{W0("git",["ls-files","--cached","--others","--exclude-standard"],{cwd:e.cwd,maxBuffer:64*1024*1024},(_,$)=>v(_?"":$))});return(await Promise.all(h.split(`
|
|
518
|
+
`).filter(Boolean).map(async v=>{try{return{f:v,m:(await K0(Rt(e.cwd,v))).mtimeMs}}catch{return{f:v,m:0}}}))).sort((v,_)=>_.m-v.m).map(v=>v.f)}function zh(){for(let h of[...t])o(h)}async function Qh(h){return r.createDriver?Ym(e.cwd,h):{ok:!1,error:"not supported"}}async function Xh(h){return Gm(e.cwd,String(h??""))}async function Zh(){return r.listSessionFiles(e.cwd).sort((h,S)=>S.mtime-h.mtime).map(({sessionId:h,file:S,mtime:v})=>({sessionId:h,mtime:v,preview:r.readPreview(S)}))}let cl=new Map;function eg(h,S){let v=cl.get(h);if(v&&v.mtime===S)return v.turns;let _=[],$="";try{$=zc(h,"utf8")}catch{return[]}for(let I of $.split(`
|
|
519
|
+
`)){if(!I.trim())continue;let C=r.parseEntry(I);if(!C)continue;let F=r.searchText(C);F&&_.push({text:F,lower:F.toLowerCase()})}return cl.set(h,{mtime:S,turns:_}),_}async function tg(h){let S=h.toLowerCase(),v=[];for(let{sessionId:_,file:$,mtime:I}of r.listSessionFiles(e.cwd).sort((C,F)=>F.mtime-C.mtime)){let{hitCount:C,snippet:F}=$i(eg($,I),S);if(C&&(v.push({sessionId:_,mtime:I,preview:r.readPreview($),hitCount:C,snippet:F}),v.length>=G0))break}return v}async function rg(h){let S=e,v=r.listSessionFiles(S.cwd).find(_=>_.sessionId===h);return v?v.file===S.file?{ok:!0}:(k(v),a(),{ok:!0}):{ok:!1,error:"session not found"}}return p(e.cwd),b(e.cwd),y(),{info:B,poll:Jh,logEmbedStatus:Hi,listSessions:Zh,searchSessions:tg,attach:rg,composerSend:Kh,composerStop:Vh,composerNew:Yh,composerFiles:Gh,composerUiRespond:Wh,composerRpc:Hh,composerPaste:Qh,composerPasteRead:Xh,shutdownComposer:zh}}var H0,V0,eh,Y0,G0,Qc=R(()=>{fr();Wm();Gc();zm();H0=".typebulb",V0=`${H0}/locks`,eh=5e3,Y0=6e4,G0=50});import{existsSync as Xc,mkdirSync as z0,readFileSync as th,writeFileSync as Q0}from"fs";import{join as hr,isAbsolute as X0}from"path";async function rh(r,e){let t=X0(r)?r:hr(G,r);return Xc(t)?(Mc(t,e),{ok:!0}):{ok:!1,error:"file not found"}}async function nh(r){let e=G,t=Lc(r),n=hr(e,"typebulbs");z0(n,{recursive:!0});let s=Cc(t),i=`${s}.bulb.md`;for(let l=2;Xc(hr(n,i))&&th(hr(n,i),"utf8")!==t;l++)i=`${s}-${l}.bulb.md`;let o=hr(n,i);Xc(o)||Q0(o,t);let a=hr("typebulbs",i),c=await wi(a,{cwd:e,open:!1});return{ok:!0,file:a,pid:c.pid,url:c.url}}async function sh(){return K(G)}async function ih(r){return await xt(r),{ok:!0}}async function oh(){return Ti(G).filter(r=>!r.serverOnly).map(r=>({...r,trusted:St(r.path)}))}async function ah(r){let e=r.toLowerCase(),t=[];for(let n of Ti(G).filter(s=>!s.serverOnly).sort((s,i)=>i.mtime-s.mtime)){let s="";try{s=th(n.path,"utf8")}catch{continue}let i=[];for(let c of s.split(`
|
|
520
520
|
`)){let l=c.replace(/\s+/g," ").trim();l&&i.push({text:l,lower:l.toLowerCase()})}let{hitCount:o,snippet:a}=$i(i,e);o&&t.push({path:n.path,hitCount:o,snippet:a})}return t}async function ch(r,e){let t=G;e!=null&&nr(r,e);let n=await wi(r,{cwd:t,open:!1,trust:e});return{ok:!0,file:n.file,pid:n.pid,url:n.url,trust:!!n.trust}}async function lh(r){return{cap:await Ic(r)}}async function uh(r,e){return nr(r,e),{ok:!0}}async function fh(r,e){return ve(r,e)}var Zc=R(()=>{yn();fr();Gc()});import{readFileSync as rl,writeFileSync as ph,mkdirSync as Z0,appendFileSync as mh,rmSync as dh}from"fs";import{join as Ji,dirname as eE}from"path";import{createServer as tE}from"http";function st(r){try{return JSON.parse(rl(r,"utf8"))}catch{return null}}function Ui(r,e){Z0(eE(r),{recursive:!0}),ph(r,JSON.stringify(e,null,2)+`
|
|
521
521
|
`)}function gh(r,e,t){let n=Ji(r,".gitignore"),s="";try{s=rl(n,"utf8")}catch{}let i=new Set(s.split(/\r?\n/).map(c=>c.trim())),o=e.filter(c=>!i.has(c));if(!o.length)return;let a=s&&!s.endsWith(`
|
|
522
522
|
`)?`
|
|
@@ -666,7 +666,7 @@ Examples:
|
|
|
666
666
|
`)}Qr();import*as et from"fs/promises";import*as ci from"path";import{pathToFileURL as ZS}from"url";import{transform as nS}from"sucrase";function Fa(r,e={}){let t=e.serverOnly?["typescript"]:["typescript","jsx"];try{let{code:n}=nS(r,{transforms:t,jsxRuntime:"automatic",jsxImportSource:e.jsxImportSource||"react",production:!0});return{code:n}}catch(n){return{code:"",error:String(n)}}}Rs();function uS(r){return r.map(e=>`${e.type} (line ${e.lineNumber}): ${e.message.split(`
|
|
667
667
|
`)[0]}`).join(`
|
|
668
668
|
`)}function Md(r,e){let t=Xr(r,{target:"client",dependencies:e}).filter(n=>n.type==="UNDECLARED_IMPORT");if(t.length)throw new Error(`Lint failed:
|
|
669
|
-
${uS(t)}`)}var Ge="https://esm.sh",Zr="https://cdn.jsdelivr.net/npm/",qa="https://data.jsdelivr.com/v1/package/npm/";function $d(r){let e=(r||"").replace(/^\/+/,"").replace(/\/+$/,"");return e?e.split("/"):[]}var N=class r{constructor(e,t,n){let s=typeof e=="string"?r.parse(e):e;this.name=s.name,this.version=Vt(t??s.version),this.subpath=Vt(n??s.subpath)}static parse(e){let t=$d(e||"");if(!t.length)return new r({name:""});if(t[0].startsWith("@")){let s=t[0],[i,o]=Dd(t[1]??""),a=Vt(t.slice(2).join("/"));return new r({name:`${s}/${i}`,version:o,subpath:a})}else{let[s,i]=Dd(t[0]),o=Vt(t.slice(1).join("/"));return new r({name:s,version:i,subpath:o})}}static fromUrl(e){try{let t=new URL(e),n=new URL(Ge).host,s=new URL(Zr).host;if(t.host===n){let i=$d(t.pathname.replace(/^\/v\d+\//,"/"));if(!i.length)return;let o=i[0].startsWith("@")?`${i[0]}/${i[1]??""}`:i[0];return r.parse(o)}if(t.host===s){let i=t.pathname.split("/npm/")[1];if(!i)return;let o=i.split("/")[0]||"";return r.parse(o)}return}catch{return}}format(){let e=this.version?`${this.name}@${this.version}`:this.name;return this.subpath?`${e}/${this.subpath}`:e}root(){return this.name}static rootOf(e){return r.parse(e).name}withVersion(e){return new r({name:this.name,version:Vt(e),subpath:this.subpath})}static isBare(e){if(!e||e.startsWith(".")||e.startsWith("/"))return!1;let t=e.toLowerCase();return!t.startsWith("http://")&&!t.startsWith("https://")}},Vt=r=>r&&r.length?r:void 0,Dd=r=>{let e=r.indexOf("@");return e<0?[r,void 0]:[r.slice(0,e),Vt(r.slice(e+1))]};async function Oe(r){try{return await r()}catch{return}}function mt(r){let e=r||"";return e.startsWith("./")?e.slice(2):e.replace(/^\/+/,"")}function Ua(r){return r.startsWith("./")?r:`./${r}`}var en=class{constructor(e,t){this.cache=e,this.http=t,this.pinMs=1e4,this.versionsIndexMs=1440*60*1e3,this.metaTtlMs=10080*60*1e3,this.pinCache=new Map}baseDir(e){let t=typeof e=="string"?new N(e):e;return`${Zr}${t.name}${t.version?`@${t.version}`:""}/`}file(e,t){return new URL(mt(t),this.baseDir(e)).toString()}packageJson(e){return this.file(e,"package.json")}buildEsmUrl(e,t={}){let{target:n="es2022",bundle:s=!1,external:i}=t,o=new URLSearchParams({target:n});return s&&o.append("bundle",""),i?.length&&o.append("external",i.join(",")),`${Ge}/${e}?${o.toString()}`}async resolveExactVersion(e){let t=Date.now(),n=this.pinCache.get(e);if(n&&t-n.ts<this.pinMs)return n.value;let s=await this.tryResolveFromUrls([this.buildEsmUrl(e),`${Ge}/${e}`]);return this.pinCache.set(e,{value:s,ts:t}),s}async tryResolveFromUrls(e){for(let t of e){let n=await Oe(()=>this.http.head(t)),s=this.parseVersionFromUrl(n?.url||t);if(s)return s}}async fetchVersionsIndex(e){if(await this.cache.isNegative(e))return;let t=await this.cache.getIndex(e);if(t&&Date.now()-t.updatedAt<this.versionsIndexMs)return{versions:t.versions,distTags:t.distTags};let n=await Oe(()=>this.http.getJson(`${qa}${encodeURIComponent(e)}`));if(!n?.versions?.length){await this.cache.recordNegative(e);return}await this.cache.clearNegative(e);let s=n.distTags&&Object.keys(n.distTags).length?n.distTags:void 0;return await this.cache.setIndex(e,n.versions,s),n}parseVersionFromUrl(e){let t=N.fromUrl(e)?.version;return t&&/\d+\.\d+\.\d+/.test(t)?t:void 0}async fetchPackageMeta(e,t){let n=await this.cache.getMeta(e,t);if(n&&Date.now()-n.updatedAt<this.metaTtlMs){let{dependencies:f,peerDependencies:u,peerDependenciesMeta:d}=n;return{name:e,version:t,dependencies:f,peerDependencies:u,peerDependenciesMeta:d}}let s=this.packageJson(new N(`${e}@${t}`)),i=await Oe(()=>this.http.getJson(s));if(!i)return;let o=f=>f&&Object.keys(f).length?f:void 0,a=o(i.dependencies),c=o(i.peerDependencies),l=o(i.peerDependenciesMeta);return await this.cache.setMeta(e,t,a,c,l),{name:e,version:t,dependencies:a,peerDependencies:c,peerDependenciesMeta:l}}};var Bd=r=>r.startsWith("@types/"),tn=r=>Object.keys(r?.peerDependencies||{}).filter(e=>!Bd(e)),Ja=r=>Object.keys(r?.dependencies||{}).filter(e=>!Bd(e)),fS=r=>tn(r).filter(e=>!r?.peerDependenciesMeta?.[e]?.optional),rn=class{constructor(e){this.cdn=e}async resolve(e,t){let n=await this.fetchMeta(e),{allRoots:s,autoAddedPeers:i}=await this.expandWithPeers(n,t),o=this.computeFlags(s);return{allRoots:s,flags:o,autoAddedPeers:i}}async fetchMeta(e){return Promise.all(e.map(async({name:t,version:n})=>({name:t,version:n,meta:await this.cdn.fetchPackageMeta(t,n)})))}async expandWithPeers(e,t){let n=new Map(e.map(i=>[i.name,i])),s=[];for(let i of e)for(let o of fS(i.meta))!n.has(o)&&!s.some(a=>a.name===o)&&s.push({name:o,requiredBy:i.name});for(let{name:i,requiredBy:o}of s)try{let a=await t(i),c=await this.cdn.fetchPackageMeta(i,a);n.set(i,{name:i,version:a,meta:c})}catch(a){console.warn(`[typebulb] Failed to resolve peer "${i}" for "${o}":`,a)}return{allRoots:[...n.values()],autoAddedPeers:s.filter(i=>n.has(i.name))}}computeFlags(e){let t=new Set(e.flatMap(i=>tn(i.meta))),n=new Map;for(let i of e)for(let o of Ja(i.meta))n.set(o,(n.get(o)||0)+1);let s=new Set([...n.entries()].filter(([,i])=>i>=2).map(([i])=>i));return new Map(e.map(i=>[i.name,{isPeerRoot:t.has(i.name),hasPeers:tn(i.meta).length>0,isSharedDep:s.has(i.name)}]))}};var nn=class{constructor(e,t,n){this.cache=e,this.cdn=t,this.semver=n}async learnExactVersion(e){let t=await Oe(()=>this.cdn.fetchVersionsIndex(e));if(t?.versions?.length){let n=this.semver.selectBestVersion(t.versions,{distTags:t.distTags});if(n)return n}return this.cdn.resolveExactVersion(e)}async resolveExactForRoot(e,t){if(!t)return this.learnExactVersion(e);let n=await this.cache.getPinnedExact(e,t);if(n){if(this.semver.isExactVersion(n))return n;console.debug("[typebulb] cached version for",e,"is not exact (",n,"); re-resolving from registry")}let s=async o=>{if(o&&this.semver.isExactVersion(o))return await this.cache.setPinnedExact(e,t,o),o},i=await Oe(()=>this.cdn.fetchVersionsIndex(e));if(i?.versions?.length){let o=this.semver.selectBestVersion(i.versions,{range:t,distTags:i.distTags});if(o){let a=await s(o);if(a)return a}else{console.debug("[typebulb] refreshing version cache for",e,"(",t,"not in cached set \u2014 likely a new release)"),await this.cache.invalidateVersionsCache(e);let a=await Oe(()=>this.cdn.fetchVersionsIndex(e));if(a?.versions?.length){let c=await s(this.semver.selectBestVersion(a.versions,{range:t,distTags:a.distTags}));if(c)return c}}}return s(await this.cdn.resolveExactVersion(`${e}@${t}`))}async effectivePackage(e,t){let n=new N(e),s=n.root(),i=t[s],o=i?await Oe(()=>this.resolveExactForRoot(s,i)):void 0;return{effectivePackage:o?n.withVersion(o).format():e,root:s,range:i,pinned:o}}};import{init as dS,parse as pS}from"es-module-lexer";var Yt=class r{constructor(e,t,n){this.version=e,this.cdn=t,this.peer=n}extractImportsSync(e){let t=new Set;for(let n of r.importPatterns){n.lastIndex=0;for(let s of e.matchAll(n))N.isBare(s[1])&&t.add(s[1])}return Array.from(t)}async extractImports(e){let t=new Set,n=s=>{N.isBare(s)&&t.add(s)};try{await dS;let[s]=pS(e);s.forEach(i=>n(e.slice(i.s,i.e).trim()))}catch{return this.extractImportsSync(e)}return Array.from(t)}async buildImportMap(e,t,n){let s=(await this.extractImports(e)).filter(u=>!n?.has(N.rootOf(u))),i=[...new Set(s.map(N.rootOf))],o=await Promise.all(i.map(async u=>({name:u,version:await this.resolveVersion(u,t)}))),{allRoots:a,flags:c,autoAddedPeers:l}=await this.peer.resolve(o,u=>this.resolveVersion(u,t)),f=this.buildEntries([...s,...l.map(u=>u.name)],a,c);return{importMap:{imports:Object.fromEntries(f)},prefetchUrls:f.map(([,u])=>u)}}async resolveVersion(e,t){let n=t[e],s=await this.version.resolveExactForRoot(e,n);if(!s)throw new Error(`Cannot resolve ${n?`${e}@${n}`:e}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);return s}buildEntries(e,t,n){let s=new Map(t.map(p=>[p.name,p])),i=p=>{let b=s.get(N.rootOf(p));return new N(p).withVersion(b.version).format()},o=new Set([...n.entries()].filter(([,p])=>p.isPeerRoot||p.isSharedDep).map(([p])=>p)),a=new Set(e.filter(p=>p!==N.rootOf(p)).map(N.rootOf)),c=[],l=new Set,f=new Set(e.filter(p=>p===N.rootOf(p))),u=new Set;for(let p of e){let b=N.rootOf(p),m=s.get(b),{isPeerRoot:y,hasPeers:E,isSharedDep:T}=n.get(b),g=a.has(b),w=p!==b,x=!(y||T)&&(g||!E),O=this.singletonDepsOf(m,o),A=w&&f.has(b);A&&u.add(b);let L=A?[...O,b]:O.length?O:void 0;c.push([p,this.cdn.buildEsmUrl(i(p),{bundle:x,external:L})]),l.add(p)}let d=new Set([...o,...u]);for(let p of d)s.has(p)&&(l.has(p)||c.push([p,this.cdn.buildEsmUrl(i(p),{})]),c.push([`${p}/`,`${Ge}/${i(p)}/`]));return c}singletonDepsOf(e,t){return[...new Set([...tn(e.meta),...Ja(e.meta)])].filter(n=>t.has(n))}};Yt.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];import{gt as jd,satisfies as mS,maxSatisfying as Fd,major as hS,valid as gS}from"semver";var _s=class{cmp(e,t){return e===t?0:jd(e,t)?1:jd(t,e)?-1:0}satisfies(e,t){return!e||!e.trim()?!0:!!mS(t,e,{includePrerelease:!0})}selectBestVersion(e,t){if(!e?.length)return;let n=t?.range?.trim()||"*",s=t?.preferStable??!0,i=t?.distTags?.latest;if(i&&e.includes(i)&&this.satisfies(n,i))return i;if(s){let a=Fd(e,n,{includePrerelease:!1});if(a)return a}return Fd(e,n,{includePrerelease:!0})??void 0}majorOf(e){return hS(e)}isExactVersion(e){return gS(e)!==null}},ht=new _s;function qd(r,e){let t=new en(r,e),n=new rn(t),s=new nn(r,t,ht);return{packageService:new Yt(s,t,n),versionResolver:s,cdnClient:t,peerResolver:n}}import*as np from"fs/promises";import*as de from"path";var Ka=[{name:"es5"},{name:"es2015.core"},{name:"es2015.collection"},{name:"es2015.promise"},{name:"es2015.iterable"},{name:"es2015.symbol"},{name:"es2015.symbol.wellknown"},{name:"es2015.generator"},{name:"es2015.proxy"},{name:"es2015.reflect"},{name:"es2016.array.include"},{name:"es2016.intl"},{name:"es2017.object"},{name:"es2017.string"},{name:"es2017.sharedmemory"},{name:"es2017.typedarrays"},{name:"es2017.date"},{name:"es2017.intl"},{name:"es2018.asynciterable"},{name:"es2018.asyncgenerator"},{name:"es2018.promise"},{name:"es2018.regexp"},{name:"es2018.intl"},{name:"es2019.array"},{name:"es2019.object"},{name:"es2019.string"},{name:"es2019.symbol"},{name:"es2019.intl"},{name:"es2020.bigint"},{name:"es2020.promise"},{name:"es2020.string"},{name:"es2020.sharedmemory"},{name:"es2020.date"},{name:"es2020.number"},{name:"es2020.symbol.wellknown"},{name:"es2020.intl"},{name:"es2021.promise"},{name:"es2021.string"},{name:"es2021.weakref"},{name:"es2021.intl"},{name:"es2022.array"},{name:"es2022.object"},{name:"es2022.error"},{name:"es2022.string"},{name:"es2022.regexp"},{name:"es2022.intl"},{name:"es2023.array"},{name:"es2023.collection"},{name:"es2023.intl",since:"5.5"},{name:"es2024.arraybuffer",since:"5.5"},{name:"es2024.collection",since:"5.5"},{name:"es2024.object",since:"5.5"},{name:"es2024.promise",since:"5.5"},{name:"es2024.regexp",since:"5.5"},{name:"es2024.sharedmemory",since:"5.5"},{name:"es2024.string",since:"5.5"},{name:"esnext.array",since:"5.5"},{name:"esnext.collection"},{name:"esnext.decorators"},{name:"esnext.disposable"},{name:"esnext.error",since:"5.5"},{name:"esnext.float16",since:"5.5"},{name:"esnext.iterator",since:"5.5"},{name:"esnext.object"},{name:"esnext.promise"},{name:"esnext.sharedmemory",since:"5.5"},{name:"esnext.intl"}],Wa=[{name:"dom"},{name:"dom.iterable"},{name:"dom.asynciterable"}];function Ha(r,e){if(!e)return r.filter(s=>!s.since);let t={"5.0":0,"5.5":1},n=t[e];return r.filter(s=>!s.since||t[s.since]<=n)}var yS=`
|
|
669
|
+
${uS(t)}`)}var Ge="https://esm.sh",Zr="https://cdn.jsdelivr.net/npm/",qa="https://data.jsdelivr.com/v1/package/npm/";function $d(r){let e=(r||"").replace(/^\/+/,"").replace(/\/+$/,"");return e?e.split("/"):[]}var N=class r{constructor(e,t,n){let s=typeof e=="string"?r.parse(e):e;this.name=s.name,this.version=Vt(t??s.version),this.subpath=Vt(n??s.subpath)}static parse(e){let t=$d(e||"");if(!t.length)return new r({name:""});if(t[0].startsWith("@")){let s=t[0],[i,o]=Dd(t[1]??""),a=Vt(t.slice(2).join("/"));return new r({name:`${s}/${i}`,version:o,subpath:a})}else{let[s,i]=Dd(t[0]),o=Vt(t.slice(1).join("/"));return new r({name:s,version:i,subpath:o})}}static fromUrl(e){try{let t=new URL(e),n=new URL(Ge).host,s=new URL(Zr).host;if(t.host===n){let i=$d(t.pathname.replace(/^\/v\d+\//,"/"));if(!i.length)return;let o=i[0].startsWith("@")?`${i[0]}/${i[1]??""}`:i[0];return r.parse(o)}if(t.host===s){let i=t.pathname.split("/npm/")[1];if(!i)return;let o=i.split("/")[0]||"";return r.parse(o)}return}catch{return}}format(){let e=this.version?`${this.name}@${this.version}`:this.name;return this.subpath?`${e}/${this.subpath}`:e}root(){return this.name}static rootOf(e){return r.parse(e).name}withVersion(e){return new r({name:this.name,version:Vt(e),subpath:this.subpath})}static isBare(e){if(!e||e.startsWith(".")||e.startsWith("/"))return!1;let t=e.toLowerCase();return!t.startsWith("http://")&&!t.startsWith("https://")}},Vt=r=>r&&r.length?r:void 0,Dd=r=>{let e=r.indexOf("@");return e<0?[r,void 0]:[r.slice(0,e),Vt(r.slice(e+1))]};async function Oe(r){try{return await r()}catch{return}}function mt(r){let e=r||"";return e.startsWith("./")?e.slice(2):e.replace(/^\/+/,"")}function Ua(r){return r.startsWith("./")?r:`./${r}`}var en=class{constructor(e,t){this.cache=e,this.http=t,this.pinMs=1e4,this.versionsIndexMs=1440*60*1e3,this.metaTtlMs=10080*60*1e3,this.pinCache=new Map}baseDir(e){let t=typeof e=="string"?new N(e):e;return`${Zr}${t.name}${t.version?`@${t.version}`:""}/`}file(e,t){return new URL(mt(t),this.baseDir(e)).toString()}packageJson(e){return this.file(e,"package.json")}buildEsmUrl(e,t={}){let{target:n="es2022",bundle:s=!1,external:i}=t,o=new URLSearchParams({target:n});return s&&o.append("bundle",""),i?.length&&o.append("external",i.join(",")),`${Ge}/${e}?${o.toString()}`}async resolveExactVersion(e){let t=Date.now(),n=this.pinCache.get(e);if(n&&t-n.ts<this.pinMs)return n.value;let s=await this.tryResolveFromUrls([this.buildEsmUrl(e),`${Ge}/${e}`]);return this.pinCache.set(e,{value:s,ts:t}),s}async tryResolveFromUrls(e){for(let t of e){let n=await Oe(()=>this.http.head(t)),s=this.parseVersionFromUrl(n?.url||t);if(s)return s}}async fetchVersionsIndex(e){if(await this.cache.isNegative(e))return;let t=await this.cache.getIndex(e);if(t&&Date.now()-t.updatedAt<this.versionsIndexMs)return{versions:t.versions,distTags:t.distTags};let n=await Oe(()=>this.http.getJson(`${qa}${encodeURIComponent(e)}`));if(!n?.versions?.length){await this.cache.recordNegative(e);return}await this.cache.clearNegative(e);let s=n.distTags&&Object.keys(n.distTags).length?n.distTags:void 0;return await this.cache.setIndex(e,n.versions,s),n}parseVersionFromUrl(e){let t=N.fromUrl(e)?.version;return t&&/\d+\.\d+\.\d+/.test(t)?t:void 0}async fetchPackageMeta(e,t){let n=await this.cache.getMeta(e,t);if(n&&Date.now()-n.updatedAt<this.metaTtlMs){let{dependencies:f,peerDependencies:u,peerDependenciesMeta:d}=n;return{name:e,version:t,dependencies:f,peerDependencies:u,peerDependenciesMeta:d}}let s=this.packageJson(new N(`${e}@${t}`)),i=await Oe(()=>this.http.getJson(s));if(!i)return;let o=f=>f&&Object.keys(f).length?f:void 0,a=o(i.dependencies),c=o(i.peerDependencies),l=o(i.peerDependenciesMeta);return await this.cache.setMeta(e,t,a,c,l),{name:e,version:t,dependencies:a,peerDependencies:c,peerDependenciesMeta:l}}};var Bd=r=>r.startsWith("@types/"),tn=r=>Object.keys(r?.peerDependencies||{}).filter(e=>!Bd(e)),Ja=r=>Object.keys(r?.dependencies||{}).filter(e=>!Bd(e)),fS=r=>tn(r).filter(e=>!r?.peerDependenciesMeta?.[e]?.optional),rn=class{constructor(e){this.cdn=e}async resolve(e,t){let n=await this.fetchMeta(e),{allRoots:s,autoAddedPeers:i}=await this.expandWithPeers(n,t),o=this.computeFlags(s);return{allRoots:s,flags:o,autoAddedPeers:i}}async fetchMeta(e){return Promise.all(e.map(async({name:t,version:n})=>({name:t,version:n,meta:await this.cdn.fetchPackageMeta(t,n)})))}async expandWithPeers(e,t){let n=new Map(e.map(i=>[i.name,i])),s=[];for(let i of e)for(let o of fS(i.meta))!n.has(o)&&!s.some(a=>a.name===o)&&s.push({name:o,requiredBy:i.name});for(let{name:i,requiredBy:o}of s)try{let a=await t(i),c=await this.cdn.fetchPackageMeta(i,a);n.set(i,{name:i,version:a,meta:c})}catch(a){console.warn(`[typebulb] Failed to resolve peer "${i}" for "${o}":`,a)}return{allRoots:[...n.values()],autoAddedPeers:s.filter(i=>n.has(i.name))}}computeFlags(e){let t=new Set(e.flatMap(i=>tn(i.meta))),n=new Map;for(let i of e)for(let o of Ja(i.meta))n.set(o,(n.get(o)||0)+1);let s=new Set([...n.entries()].filter(([,i])=>i>=2).map(([i])=>i));return new Map(e.map(i=>[i.name,{isPeerRoot:t.has(i.name),hasPeers:tn(i.meta).length>0,isSharedDep:s.has(i.name)}]))}};var nn=class{constructor(e,t,n){this.cache=e,this.cdn=t,this.semver=n}async learnExactVersion(e){let t=await Oe(()=>this.cdn.fetchVersionsIndex(e));if(t?.versions?.length){let n=this.semver.selectBestVersion(t.versions,{distTags:t.distTags});if(n)return n}return this.cdn.resolveExactVersion(e)}async resolveExactForRoot(e,t){if(!t)return this.learnExactVersion(e);let n=await this.cache.getPinnedExact(e,t);if(n){if(this.semver.isExactVersion(n))return n;console.debug("[typebulb] cached version for",e,"is not exact (",n,"); re-resolving from registry")}let s=async o=>{if(o&&this.semver.isExactVersion(o))return await this.cache.setPinnedExact(e,t,o),o},i=await Oe(()=>this.cdn.fetchVersionsIndex(e));if(i?.versions?.length){let o=this.semver.selectBestVersion(i.versions,{range:t,distTags:i.distTags});if(o){let a=await s(o);if(a)return a}else{console.debug("[typebulb] refreshing version cache for",e,"(",t,"not in cached set \u2014 likely a new release)"),await this.cache.invalidateVersionsCache(e);let a=await Oe(()=>this.cdn.fetchVersionsIndex(e));if(a?.versions?.length){let c=await s(this.semver.selectBestVersion(a.versions,{range:t,distTags:a.distTags}));if(c)return c}}}return s(await this.cdn.resolveExactVersion(`${e}@${t}`))}async effectivePackage(e,t){let n=new N(e),s=n.root(),i=t[s],o=i?await Oe(()=>this.resolveExactForRoot(s,i)):void 0;return{effectivePackage:o?n.withVersion(o).format():e,root:s,range:i,pinned:o}}};import{init as dS,parse as pS}from"es-module-lexer";var Yt=class r{constructor(e,t,n){this.version=e,this.cdn=t,this.peer=n}extractImportsSync(e){let t=new Set;for(let n of r.importPatterns){n.lastIndex=0;for(let s of e.matchAll(n))N.isBare(s[1])&&t.add(s[1])}return Array.from(t)}async extractImports(e){let t=new Set,n=s=>{N.isBare(s)&&t.add(s)};try{await dS;let[s]=pS(e);s.forEach(i=>n(e.slice(i.s,i.e).trim()))}catch{return this.extractImportsSync(e)}return Array.from(t)}async buildImportMap(e,t,n){let s=(await this.extractImports(e)).filter(u=>!n?.has(N.rootOf(u))),i=[...new Set(s.map(N.rootOf))],o=await Promise.all(i.map(async u=>({name:u,version:await this.resolveVersion(u,t)}))),{allRoots:a,flags:c,autoAddedPeers:l}=await this.peer.resolve(o,u=>this.resolveVersion(u,t)),f=this.buildEntries([...s,...l.map(u=>u.name)],a,c);return{importMap:{imports:Object.fromEntries(f)},prefetchUrls:f.map(([,u])=>u)}}async resolveVersion(e,t){let n=t[e],s=await this.version.resolveExactForRoot(e,n);if(!s)throw new Error(`Cannot resolve ${n?`${e}@${n}`:e}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);return s}buildEntries(e,t,n){let s=new Map(t.map(p=>[p.name,p])),i=p=>{let b=s.get(N.rootOf(p));return new N(p).withVersion(b.version).format()},o=new Set([...n.entries()].filter(([,p])=>p.isPeerRoot||p.isSharedDep).map(([p])=>p)),a=new Set(e.filter(p=>p!==N.rootOf(p)).map(N.rootOf)),c=[],l=new Set,f=new Set(e.filter(p=>p===N.rootOf(p))),u=new Set;for(let p of e){let b=N.rootOf(p),m=s.get(b),{isPeerRoot:y,hasPeers:E,isSharedDep:T}=n.get(b),g=a.has(b),w=p!==b,x=!(y||T)&&(g||!E),O=this.singletonDepsOf(m,o),A=w&&f.has(b);A&&u.add(b);let M=A?[...O,b]:O.length?O:void 0;c.push([p,this.cdn.buildEsmUrl(i(p),{bundle:x,external:M})]),l.add(p)}let d=new Set([...o,...u]);for(let p of d)s.has(p)&&(l.has(p)||c.push([p,this.cdn.buildEsmUrl(i(p),{})]),c.push([`${p}/`,`${Ge}/${i(p)}/`]));return c}singletonDepsOf(e,t){return[...new Set([...tn(e.meta),...Ja(e.meta)])].filter(n=>t.has(n))}};Yt.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];import{gt as jd,satisfies as mS,maxSatisfying as Fd,major as hS,valid as gS}from"semver";var _s=class{cmp(e,t){return e===t?0:jd(e,t)?1:jd(t,e)?-1:0}satisfies(e,t){return!e||!e.trim()?!0:!!mS(t,e,{includePrerelease:!0})}selectBestVersion(e,t){if(!e?.length)return;let n=t?.range?.trim()||"*",s=t?.preferStable??!0,i=t?.distTags?.latest;if(i&&e.includes(i)&&this.satisfies(n,i))return i;if(s){let a=Fd(e,n,{includePrerelease:!1});if(a)return a}return Fd(e,n,{includePrerelease:!0})??void 0}majorOf(e){return hS(e)}isExactVersion(e){return gS(e)!==null}},ht=new _s;function qd(r,e){let t=new en(r,e),n=new rn(t),s=new nn(r,t,ht);return{packageService:new Yt(s,t,n),versionResolver:s,cdnClient:t,peerResolver:n}}import*as np from"fs/promises";import*as de from"path";var Ka=[{name:"es5"},{name:"es2015.core"},{name:"es2015.collection"},{name:"es2015.promise"},{name:"es2015.iterable"},{name:"es2015.symbol"},{name:"es2015.symbol.wellknown"},{name:"es2015.generator"},{name:"es2015.proxy"},{name:"es2015.reflect"},{name:"es2016.array.include"},{name:"es2016.intl"},{name:"es2017.object"},{name:"es2017.string"},{name:"es2017.sharedmemory"},{name:"es2017.typedarrays"},{name:"es2017.date"},{name:"es2017.intl"},{name:"es2018.asynciterable"},{name:"es2018.asyncgenerator"},{name:"es2018.promise"},{name:"es2018.regexp"},{name:"es2018.intl"},{name:"es2019.array"},{name:"es2019.object"},{name:"es2019.string"},{name:"es2019.symbol"},{name:"es2019.intl"},{name:"es2020.bigint"},{name:"es2020.promise"},{name:"es2020.string"},{name:"es2020.sharedmemory"},{name:"es2020.date"},{name:"es2020.number"},{name:"es2020.symbol.wellknown"},{name:"es2020.intl"},{name:"es2021.promise"},{name:"es2021.string"},{name:"es2021.weakref"},{name:"es2021.intl"},{name:"es2022.array"},{name:"es2022.object"},{name:"es2022.error"},{name:"es2022.string"},{name:"es2022.regexp"},{name:"es2022.intl"},{name:"es2023.array"},{name:"es2023.collection"},{name:"es2023.intl",since:"5.5"},{name:"es2024.arraybuffer",since:"5.5"},{name:"es2024.collection",since:"5.5"},{name:"es2024.object",since:"5.5"},{name:"es2024.promise",since:"5.5"},{name:"es2024.regexp",since:"5.5"},{name:"es2024.sharedmemory",since:"5.5"},{name:"es2024.string",since:"5.5"},{name:"esnext.array",since:"5.5"},{name:"esnext.collection"},{name:"esnext.decorators"},{name:"esnext.disposable"},{name:"esnext.error",since:"5.5"},{name:"esnext.float16",since:"5.5"},{name:"esnext.iterator",since:"5.5"},{name:"esnext.object"},{name:"esnext.promise"},{name:"esnext.sharedmemory",since:"5.5"},{name:"esnext.intl"}],Wa=[{name:"dom"},{name:"dom.iterable"},{name:"dom.asynciterable"}];function Ha(r,e){if(!e)return r.filter(s=>!s.since);let t={"5.0":0,"5.5":1},n=t[e];return r.filter(s=>!s.since||t[s.since]<=n)}var yS=`
|
|
670
670
|
/**
|
|
671
671
|
* Get raw data chunk from the Data tab.
|
|
672
672
|
* @param index - Chunk index (0-based). Separate chunks with 2 blank lines.
|
|
@@ -1396,16 +1396,16 @@ globalThis.__tbEntryRan = true; /* load-failure backstop \u2014 see embedProtoco
|
|
|
1396
1396
|
`)}if(process.stdout.write(s),s&&!s.endsWith(`
|
|
1397
1397
|
`)&&process.stdout.write(`
|
|
1398
1398
|
`),e.follow&&e.run===void 0){let i=n.offset,o=setInterval(()=>{let c=ve(t.pid,i);i=c.offset,c.text&&process.stdout.write(c.text)},500),a=()=>{clearInterval(o),process.exit(0)};process.on("SIGINT",a),process.on("SIGTERM",a),await new Promise(()=>{})}}var l0=r=>new Promise(e=>setTimeout(e,r));async function Im(r,e){if(!r){jc(await K(process.cwd()),"Run `typebulb wait <file|pid>` to block until one logs a new line.");return}let t=Fc(await K(),r,"wait",process.cwd(),wn()),n=t.agent!=null,i=process.env.TYPEBULB_WAIT_SHIM==="1",o=e.timeoutSec??1800,a=e.match??"",c=ve(t.pid).offset,l=vc(t.pid,a)??(a?vc(t.pid):void 0),f=l!==void 0&&l<=c?l:a?0:c,u=Date.now()+o*1e3,d=n?1e4:1e3,p=2e3,b,m="",y=0;for(;;){let E=ve(t.pid,f);if(f=E.offset,E.text){m+=E.text;let T=m.split(`
|
|
1399
|
-
`);m=T.pop()??"";for(let g of T)g.trim()&&(e.match&&!g.includes(e.match)||(console.log(g),b??=Date.now()+d,n&&(g.includes("] compile error")||g.includes("] runtime error"))&&(b=Math.min(b,Date.now()+p))))}if(b&&Date.now()>=b)break;if(!i&&!b&&Date.now()>=u){console.error(`timeout: no ${e.match?`line matching '${e.match}'`:"new output"} from ${vn(t)} within ${o}s`),y=2;break}if(!kc(t.pid)){b||(console.error(`server ${vn(t)} (pid ${t.pid}) exited while waiting`),process.exit(3));break}await l0(400)}gi(t.pid,f,a),process.exit(y)}async function Lm(r){if(!r){jc(await K(process.cwd()),"Run `typebulb stop <file|pid>` to stop one.");return}let e=Fc(await K(),r,"stop",process.cwd(),wn());await xt(e.pid),console.log(`Stopped ${vn(e)} (pid ${e.pid}, ${e.url}).`)}async function Mm(r){let e=process.cwd(),t=r==="agent"?wn():void 0,n=r==="global"?await K():r==="bulbs"?await K(e):(await K()).filter(i=>i.agent!=null&&i.cwd!=null&&Q(i.cwd)===Q(e)&&(!t||i.agent===t)),s=r==="global"?"server":r==="agent"?"mirror":"bulb";if(!n.length){console.log(r==="global"?"No running bulb servers.":`No running ${s}s for this project.`);return}await Promise.all(n.map(i=>xt(i.pid))),console.log(`Stopped ${n.length} ${s}${n.length===1?"":"s"}:`);for(let i of n)console.log(` ${i.url} pid ${i.pid} ${vn(i)}`)}Me();import*as $m from"path";async function Dm(r,e,t=0){let n=$m.resolve(r),s=ar(await K(),n)[0];s||(console.error(`No running server for '${r}'. Start it first: npx typebulb ${r}`),process.exit(1));let i=async()=>{let a=await fetch(`${s.url}/__send`,{method:"POST",headers:{"Content-Type":"text/plain"},body:e??""});return a.ok||(console.error(`send failed: HTTP ${a.status} from ${s.url}/__send`),process.exit(1)),(await a.json().catch(()=>({}))).clients??0},o=0;try{let a=Date.now()+t;do{if(o=await i(),o>0||Date.now()>=a)break;await new Promise(c=>setTimeout(c,150))}while(!0)}catch(a){console.error(`send failed: ${a instanceof Error?a.message:String(a)}`),process.exit(1)}o>0?console.log(`Sent to ${o} page${o===1?"":"s"}.`):t>0?console.log(`No page connected after ${t/1e3}s \u2014 is the bulb open?`):console.log("Sent, but no page is connected yet \u2014 open the bulb and retry.")}import*as Um from"fs/promises";import*as pr from"path";import{EventEmitter as qm}from"events";mi();import A0 from"open";er();import{Hono as h0}from"hono";import{serve as g0}from"@hono/node-server";import{streamSSE as y0}from"hono/streaming";import*as Pt from"fs/promises";import*as ye from"path";import*as qc from"fs/promises";import*as Sn from"path";var Ci=class{async get(e){let t=fe(e),n=Sn.join(an,t+".bin"),s=Sn.join(an,t+".json");try{let[i,o]=await Promise.all([qc.readFile(n),qc.readFile(s,"utf8")]),a=JSON.parse(o);return{body:i,contentType:a.contentType,cacheControl:a.cacheControl}}catch{return}}async set(e,t){await q();let n=fe(e),s=Sn.join(an,n+".bin"),i=Sn.join(an,n+".json"),o={url:e,contentType:t.contentType,cacheControl:t.cacheControl};await Promise.all([oe(s,t.body),oe(i,JSON.stringify(o))])}};Me();rr();ai();er();import{stream as u0}from"hono/streaming";var f0="X-TB-Stream";function Uc(r){return r instanceof pe?{message:r.message,code:r.code,retryable:r.retryable}:{message:r instanceof Error?r.message:"Unknown error",code:"unknown",retryable:!1}}function Jc(r,e){return r.header("Content-Type","application/x-ndjson; charset=utf-8"),r.header("Cache-Control","no-cache"),r.header(f0,"1"),u0(r,async t=>{let n=e[Symbol.asyncIterator]();t.onAbort(()=>{n.return?.()});try{for(;;){let{done:s,value:i}=await n.next();if(s)break;await t.writeln(JSON.stringify({type:"chunk",value:i}))}}catch(s){await t.writeln(JSON.stringify({type:"error",error:Uc(s)}))}finally{try{await n.return?.()}catch{}}})}var Kc={log:(...r)=>console.log(...r)};function Ni(r,e){let t=r?.[e]??Kc[e];return typeof t=="function"?t:void 0}function Ii(r){return r.constructor?.name==="AsyncGeneratorFunction"}var d0=/^\/(v\d+\/|stable\/|node\/|gh\/|@[^/]+\/[^@/]+@|[^@/]+@)/,p0=/[?&]target=/,m0=/^\/(?:@[^/]+\/)?[^/@]+\/[^/]+/;function Bm(r,e=""){return d0.test(r)?!0:m0.test(r)&&p0.test(e)}var Fm="127.0.0.1",b0=new Set(["localhost","127.0.0.1","::1"]);function w0(r){if(r)try{return new URL(r.includes("://")?r:`http://${r}`).hostname}catch{return}}function v0(r){let e=w0(r);return!!e&&b0.has(e)}function S0(r,e){if(!e)return!1;try{return new URL(r).host===e}catch{return!1}}function Wc(r){return r instanceof Error?r.message:"Unknown error"}async function Li(r){let{getHtml:e,basePath:t,port:n,reloadEmitter:s,messageEmitter:i,getServerExports:o,localOverride:a,trusted:c=!1,trustHint:l,staticAssets:f}=r,u=new h0;u.use("*",async(g,w)=>{if(!v0(g.req.header("host")))return g.text("Forbidden: untrusted Host",403);await w()}),u.use("*",async(g,w)=>{await w(),g.res.headers.set("Cross-Origin-Opener-Policy","same-origin"),g.res.headers.set("Cross-Origin-Embedder-Policy","credentialless")});let d=["/__fs/*","/__api/*","/__ai"],p=async(g,w)=>{if(!c){let
|
|
1400
|
-
${l}`:"";return g.text(`Forbidden: this capability requires --trust.${O}`,403)}await w()},b=async(g,w)=>{let
|
|
1399
|
+
`);m=T.pop()??"";for(let g of T)g.trim()&&(e.match&&!g.includes(e.match)||(console.log(g),b??=Date.now()+d,n&&(g.includes("] compile error")||g.includes("] runtime error"))&&(b=Math.min(b,Date.now()+p))))}if(b&&Date.now()>=b)break;if(!i&&!b&&Date.now()>=u){console.error(`timeout: no ${e.match?`line matching '${e.match}'`:"new output"} from ${vn(t)} within ${o}s`),y=2;break}if(!kc(t.pid)){b||(console.error(`server ${vn(t)} (pid ${t.pid}) exited while waiting`),process.exit(3));break}await l0(400)}gi(t.pid,f,a),process.exit(y)}async function Lm(r){if(!r){jc(await K(process.cwd()),"Run `typebulb stop <file|pid>` to stop one.");return}let e=Fc(await K(),r,"stop",process.cwd(),wn());await xt(e.pid),console.log(`Stopped ${vn(e)} (pid ${e.pid}, ${e.url}).`)}async function Mm(r){let e=process.cwd(),t=r==="agent"?wn():void 0,n=r==="global"?await K():r==="bulbs"?await K(e):(await K()).filter(i=>i.agent!=null&&i.cwd!=null&&Q(i.cwd)===Q(e)&&(!t||i.agent===t)),s=r==="global"?"server":r==="agent"?"mirror":"bulb";if(!n.length){console.log(r==="global"?"No running bulb servers.":`No running ${s}s for this project.`);return}await Promise.all(n.map(i=>xt(i.pid))),console.log(`Stopped ${n.length} ${s}${n.length===1?"":"s"}:`);for(let i of n)console.log(` ${i.url} pid ${i.pid} ${vn(i)}`)}Me();import*as $m from"path";async function Dm(r,e,t=0){let n=$m.resolve(r),s=ar(await K(),n)[0];s||(console.error(`No running server for '${r}'. Start it first: npx typebulb ${r}`),process.exit(1));let i=async()=>{let a=await fetch(`${s.url}/__send`,{method:"POST",headers:{"Content-Type":"text/plain"},body:e??""});return a.ok||(console.error(`send failed: HTTP ${a.status} from ${s.url}/__send`),process.exit(1)),(await a.json().catch(()=>({}))).clients??0},o=0;try{let a=Date.now()+t;do{if(o=await i(),o>0||Date.now()>=a)break;await new Promise(c=>setTimeout(c,150))}while(!0)}catch(a){console.error(`send failed: ${a instanceof Error?a.message:String(a)}`),process.exit(1)}o>0?console.log(`Sent to ${o} page${o===1?"":"s"}.`):t>0?console.log(`No page connected after ${t/1e3}s \u2014 is the bulb open?`):console.log("Sent, but no page is connected yet \u2014 open the bulb and retry.")}import*as Um from"fs/promises";import*as pr from"path";import{EventEmitter as qm}from"events";mi();import A0 from"open";er();import{Hono as h0}from"hono";import{serve as g0}from"@hono/node-server";import{streamSSE as y0}from"hono/streaming";import*as Pt from"fs/promises";import*as ye from"path";import*as qc from"fs/promises";import*as Sn from"path";var Ci=class{async get(e){let t=fe(e),n=Sn.join(an,t+".bin"),s=Sn.join(an,t+".json");try{let[i,o]=await Promise.all([qc.readFile(n),qc.readFile(s,"utf8")]),a=JSON.parse(o);return{body:i,contentType:a.contentType,cacheControl:a.cacheControl}}catch{return}}async set(e,t){await q();let n=fe(e),s=Sn.join(an,n+".bin"),i=Sn.join(an,n+".json"),o={url:e,contentType:t.contentType,cacheControl:t.cacheControl};await Promise.all([oe(s,t.body),oe(i,JSON.stringify(o))])}};Me();rr();ai();er();import{stream as u0}from"hono/streaming";var f0="X-TB-Stream";function Uc(r){return r instanceof pe?{message:r.message,code:r.code,retryable:r.retryable}:{message:r instanceof Error?r.message:"Unknown error",code:"unknown",retryable:!1}}function Jc(r,e){return r.header("Content-Type","application/x-ndjson; charset=utf-8"),r.header("Cache-Control","no-cache"),r.header(f0,"1"),u0(r,async t=>{let n=e[Symbol.asyncIterator]();t.onAbort(()=>{n.return?.()});try{for(;;){let{done:s,value:i}=await n.next();if(s)break;await t.writeln(JSON.stringify({type:"chunk",value:i}))}}catch(s){await t.writeln(JSON.stringify({type:"error",error:Uc(s)}))}finally{try{await n.return?.()}catch{}}})}var Kc={log:(...r)=>console.log(...r)};function Ni(r,e){let t=r?.[e]??Kc[e];return typeof t=="function"?t:void 0}function Ii(r){return r.constructor?.name==="AsyncGeneratorFunction"}var d0=/^\/(v\d+\/|stable\/|node\/|gh\/|@[^/]+\/[^@/]+@|[^@/]+@)/,p0=/[?&]target=/,m0=/^\/(?:@[^/]+\/)?[^/@]+\/[^/]+/;function Bm(r,e=""){return d0.test(r)?!0:m0.test(r)&&p0.test(e)}var Fm="127.0.0.1",b0=new Set(["localhost","127.0.0.1","::1"]);function w0(r){if(r)try{return new URL(r.includes("://")?r:`http://${r}`).hostname}catch{return}}function v0(r){let e=w0(r);return!!e&&b0.has(e)}function S0(r,e){if(!e)return!1;try{return new URL(r).host===e}catch{return!1}}function Wc(r){return r instanceof Error?r.message:"Unknown error"}async function Li(r){let{getHtml:e,basePath:t,port:n,reloadEmitter:s,messageEmitter:i,getServerExports:o,localOverride:a,trusted:c=!1,trustHint:l,staticAssets:f}=r,u=new h0;u.use("*",async(g,w)=>{if(!v0(g.req.header("host")))return g.text("Forbidden: untrusted Host",403);await w()}),u.use("*",async(g,w)=>{await w(),g.res.headers.set("Cross-Origin-Opener-Policy","same-origin"),g.res.headers.set("Cross-Origin-Embedder-Policy","credentialless")});let d=["/__fs/*","/__api/*","/__ai"],p=async(g,w)=>{if(!c){let k=new URL(g.req.url).pathname,x=k.startsWith("/__fs")?"the filesystem":k==="/__ai"?"AI (your API keys)":"server-side code (server.ts)";Up(process.pid,x);let O=l?`
|
|
1400
|
+
${l}`:"";return g.text(`Forbidden: this capability requires --trust.${O}`,403)}await w()},b=async(g,w)=>{let k=g.req.header("sec-fetch-site");if(k){if(k!=="same-origin")return g.text(`Forbidden: ${k} request`,403)}else{let x=g.req.header("origin");if(x&&!S0(x,g.req.header("host")))return g.text("Forbidden: cross-origin request",403)}await w()};for(let g of d)u.use(g,p),u.use(g,b);u.use("/__log",b),u.post("/__log",async g=>{try{let{args:w}=await g.req.json();console.log(...w||[])}catch{}return g.json({ok:!0})}),i&&(u.use("/__send",b),u.post("/__send",async g=>{let w="";try{w=await g.req.text()}catch{}let k=i.listenerCount("message");return i.emit("message",w),g.json({clients:k})})),u.get("/",g=>g.html(e())),u.post("/__fs/read",async g=>{try{let{path:w}=await g.req.json(),k=Vc(w,t),x=await Pt.readFile(k);return new Response(new Uint8Array(x),{headers:{"Content-Type":"application/octet-stream"}})}catch(w){let k=Wc(w);return g.json({error:k},400)}}),u.post("/__fs/write",async g=>{try{let w=g.req.query("path");if(!w)return g.json({error:"Missing path"},400);let k=Vc(w,t);return await Pt.mkdir(ye.dirname(k),{recursive:!0}),await Pt.writeFile(k,Buffer.from(await g.req.arrayBuffer())),g.json({success:!0})}catch(w){let k=Wc(w);return g.json({error:k},400)}}),u.post("/__api/:name",async g=>{try{let w=g.req.param("name"),k=Ni(o?.(),w);if(!k)return g.json({error:`API function '${w}' not found`},404);let{args:x}=await g.req.json();if(Ii(k))return Jc(g,k(...x||[]));let O=await k(...x||[]);return g.json({result:O})}catch(w){let k=Wc(w);return g.json({error:k},500)}}),u.post("/__ai",async g=>{try{let{messages:w,system:k,effort:x,provider:O,model:A,webSearch:M,stream:te}=await g.req.json();if(!w||!Array.isArray(w)||w.length===0)return g.json({message:"messages array is required",code:"unknown",retryable:!1},400);let V=wt(O,A);if(typeof V=="string")return g.json({message:V,code:"unknown",retryable:!1},400);let B=await vt(V,{messages:w,system:k,effort:x,webSearch:M});if(!B.ok){let Hi=await cn(B,V.protocol);return g.json(Hi,B.status)}if(te)return Jc(g,Zt(B,V.protocol));let it=await bt(B,V.protocol);return it||console.warn("[tb.ai] Empty response from provider"),g.json({text:it})}catch(w){return g.json(Uc(w),500)}}),u.get("/__models",async g=>{try{let w=await Ne();return g.json(w)}catch{return g.json([],200)}}),u.get("/__has-own-keys",async g=>{try{return g.json(await oi())}catch{return g.json(!1,200)}});let m=["esm.sh","unpkg.com","cdn.jsdelivr.net","cdnjs.cloudflare.com"],y=new Ci;u.get("/proxy/*",async g=>{let w=new URL(g.req.url),x=(w.pathname+w.search).slice(7),O=x.lastIndexOf("https://");return O===-1?g.text("Invalid proxy URL",400):E(g,x.slice(O))}),a&&jm(u,`/local/${a.name}/`,a.serveDir),f&&jm(u,f.mount,f.dir);async function E(g,w){let k;try{k=new URL(w)}catch{return g.text("Invalid URL",400)}if(k.protocol!=="https:")return g.text("HTTPS only",400);if(!m.includes(k.hostname))return g.text("Host not allowed",403);let x=await y.get(w);if(x)return new Response(x.body,{status:200,headers:Hc(x.contentType,x.cacheControl)});try{let O=await fetch(w,{headers:{Accept:g.req.header("Accept")||"*/*"},redirect:"follow"});if(!O.ok)return g.text(`Upstream ${O.status}`,O.status);let A=O.headers.get("Content-Type")||void 0,M=O.headers.get("Cache-Control")||void 0;if(O.body){let[te,V]=O.body.tee();return(async()=>{try{let B=await new Response(V).arrayBuffer();await y.set(w,{body:Buffer.from(B),contentType:A,cacheControl:M})}catch{}})(),new Response(te,{status:O.status,headers:Hc(A,M)})}return new Response(null,{status:O.status,headers:Hc(A,M)})}catch(O){return g.text(`Proxy fetch failed: ${O instanceof Error?O.message:O}`,502)}}(s||i)&&u.get("/__reload",g=>y0(g,async w=>{let k=()=>{w.writeSSE({event:"reload",data:""})},x=O=>{w.writeSSE({event:"message",data:JSON.stringify(O)})};for(s?.on("reload",k),i?.on("message",x),w.onAbort(()=>{s?.removeListener("reload",k),i?.removeListener("message",x)});;)await w.sleep(3e4)})),u.notFound(async g=>{if(g.req.method!=="GET")return g.text("Not Found",404);let w=new URL(g.req.url);return Bm(w.pathname,w.search)?E(g,"https://esm.sh"+w.pathname+w.search):g.text("Not Found",404)});let T=g0({fetch:u.fetch,port:n,hostname:Fm});return{port:n,close:()=>T.close()}}function Hc(r,e){let t=new Headers;return r&&t.set("Content-Type",r),e&&t.set("Cache-Control",e),t.set("Access-Control-Allow-Origin","*"),t.set("Cross-Origin-Resource-Policy","cross-origin"),t}function jm(r,e,t){r.get(`${e}*`,async n=>{let{pathname:s}=new URL(n.req.url);if(!s.startsWith(e))return n.text("Not Found",404);let i=decodeURIComponent(s.slice(e.length));try{let o=Vc(i,t),a=await Pt.readFile(o);return new Response(a,{headers:{"Content-Type":k0(o)}})}catch{return n.text("Not Found",404)}})}function k0(r){switch(ye.extname(r).toLowerCase()){case".js":case".mjs":return"text/javascript";case".wasm":return"application/wasm";case".json":case".map":return"application/json";default:return"application/octet-stream"}}function Vc(r,e){let t=ye.resolve(e,r),n=ye.normalize(e),s=ye.normalize(t);if(s!==n&&!s.startsWith(n+ye.sep))throw new Error("Path traversal detected - access denied");return t}async function kn(r){let e=await import("net");return new Promise(t=>{let n=e.createServer();n.listen(r,Fm,()=>{let s=n.address(),i=typeof s=="object"&&s?s.port:r;n.close(()=>t(i))}),n.on("error",()=>{t(kn(r+1))})})}import x0 from"chokidar";var E0={persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}};function Ot(r){let{target:e,onChange:t,events:n="change",debounceMs:s=150}=r,i,o=x0.watch(e,E0),a=()=>{i&&clearTimeout(i),i=setTimeout(t,s)};return n==="all"?o.on("all",a):o.on("change",a),()=>{i&&clearTimeout(i),o.close()}}Me();async function Jm(r,e,t,n,s){let i=process.cwd(),o=yi(process.pid),a=e.watch?new qm:void 0,c=new qm;c.setMaxListeners(0);let l=xe(e.mode),f=await Ec(r);f.length&&console.log(`Replacing the running server for this bulb (pid ${f.map(x=>x.pid).join(", ")})`);let u=1;console.log(Sc(u)),console.log(`Loading ${pr.basename(r)}...`);let{html:d,bulb:p,serverExports:b}=await uc(r,e.watch,e.trust,n,s);nt(l,r,p.server);let m=await kn(e.port),y=await Li({getHtml:()=>d,basePath:i,port:m,reloadEmitter:a,messageEmitter:c,getServerExports:()=>b,localOverride:n?{name:n.name,serveDir:n.serveDir}:void 0,trusted:e.trust,trustHint:t}),E=`http://localhost:${m}`,T=e.trust?void 0:or(p);await bi({pid:process.pid,port:m,url:E,file:r,cwd:process.cwd(),startedAt:Date.now(),trust:e.trust,predicted:T}),console.log(`
|
|
1401
1401
|
${p.name}`),console.log(` ${E}`),m!==e.port&&console.log(` (port ${e.port} was busy)`),e.trust?console.log(" trust: granted (filesystem, AI, server.ts enabled)"):console.log(T?` trust: restricted \u2014 this bulb appears to use ${T}; re-run with --trust to enable it:
|
|
1402
1402
|
${t}
|
|
1403
1403
|
`:` trust: restricted \u2014 re-run with --trust to enable filesystem / AI / server.ts
|
|
1404
1404
|
`),e.watch&&console.log(` Watching for changes...
|
|
1405
1405
|
`);let g,w;if(e.watch&&a&&(g=Ot({target:r,onChange:async()=>{try{console.log("Recompiling...");let x=await uc(r,!0,e.trust,n,s);d=x.html,b=x.serverExports,u++,console.log(Sc(u)),a.emit("reload")}catch(x){console.error("Compile error:",x)}}}),n)){let{name:x,serveDir:O}=n;w=Ot({target:O,events:"all",onChange:()=>{console.log(`Local package '${x}' changed. Browser reloading...
|
|
1406
1406
|
`),a.emit("reload")}})}e.open&&(f.some(x=>x.port===m)?console.log(` Reusing the open browser tab.
|
|
1407
|
-
`):await A0(E));let
|
|
1408
|
-
Shutting down...`),y.close(),g?.(),w?.(),o(),await kt(process.pid);let x=pr.join(pr.dirname(r),".typebulb","server.mjs");await Um.rm(x,{force:!0}).catch(()=>{}),process.exit(0)};process.on("SIGINT",
|
|
1407
|
+
`):await A0(E));let k=async()=>{console.log(`
|
|
1408
|
+
Shutting down...`),y.close(),g?.(),w?.(),o(),await kt(process.pid);let x=pr.join(pr.dirname(r),".typebulb","server.mjs");await Um.rm(x,{force:!0}).catch(()=>{}),process.exit(0)};process.on("SIGINT",k),process.on("SIGTERM",k)}import{readFileSync as _h,copyFileSync as XE,existsSync as ZE}from"fs";import*as Z from"path";import{fileURLToPath as eA}from"url";import{EventEmitter as tA}from"events";import Ch from"open";Me();var Yc=r=>`/agents/${r}/client.js`,T0=`
|
|
1409
1409
|
(() => {
|
|
1410
1410
|
const api = async (name, ...args) => {
|
|
1411
1411
|
const resp = await fetch('/__api/' + name, {
|
|
@@ -1468,11 +1468,11 @@ ${T0}
|
|
|
1468
1468
|
</html>`}var rA={claude:()=>Promise.resolve().then(()=>(Th(),Ah)),pi:()=>Promise.resolve().then(()=>(Rh(),Oh))};async function Nh(r){let e=process.cwd(),t=r.agentTarget;Ep(t)||(console.error(`Unknown agent '${t}'. Known: ${sr().join(", ")}.`),process.exit(1));let n=await xc(e,t);if(n){console.log(`Mirror '${t}' is already running for this project:
|
|
1469
1469
|
${n.url}`),r.open&&await Ch(n.url);return}let s=yi(process.pid),i=r.watch?new tA:void 0,o=xe(r.mode),a=await rA[t](),c=a.displayName||`${t} mirror`;nt(o,Z.join(e,"mirror"));let l=Z.dirname(eA(import.meta.url)),f=Z.join(l,"agents",t),u=Z.join(l,"..","cli","agents"),d=Z.join(f,"styles.css"),p=Z.join(f,"index.html"),b=()=>Km({name:c,agent:t,styles:_h(d,"utf8"),mountHtml:_h(p,"utf8"),watch:r.watch}),m=await kn(r.port),y=await Li({getHtml:b,basePath:e,port:m,reloadEmitter:i,getServerExports:()=>a,trusted:!0,staticAssets:{mount:`${Z.posix.dirname(Yc(t))}/`,dir:f}}),E=`http://localhost:${m}`;await bi({pid:process.pid,port:m,url:E,file:`agent:${t}`,cwd:e,startedAt:Date.now(),trust:!0,agent:t}),console.log(`
|
|
1470
1470
|
${c}`),console.log(` ${E}`),m!==r.port&&console.log(` (port ${r.port} was busy)`),r.watch&&console.log(` Watching for changes...
|
|
1471
|
-
`);let T=Z.join(u,t,"client"),g=Z.join(u,"core","client");async function w(){await(await import("esbuild")).build({entryPoints:[Z.join(T,"index.ts")],bundle:!0,platform:"browser",format:"esm",outfile:Z.join(f,"client.js")});for(let A of["styles.css","index.html","typebulb.png","typebulb-inv.png"])XE(Z.join(g,A),Z.join(f,A))}let
|
|
1472
|
-
`),i.emit("reload")}catch(
|
|
1473
|
-
Shutting down...`);try{a.shutdownSwitcher?.()}catch{}try{a.shutdownComposer?.()}catch{}y.close(),
|
|
1471
|
+
`);let T=Z.join(u,t,"client"),g=Z.join(u,"core","client");async function w(){await(await import("esbuild")).build({entryPoints:[Z.join(T,"index.ts")],bundle:!0,platform:"browser",format:"esm",outfile:Z.join(f,"client.js")});for(let A of["styles.css","index.html","typebulb.png","typebulb-inv.png"])XE(Z.join(g,A),Z.join(f,A))}let k;if(r.watch&&i){let O=ZE(T),A=!1;k=Ot({target:O?u:f,events:"all",onChange:async()=>{if(!A){A=!0;try{O&&await w(),console.log(`Mirror rebuilt. Browser reloading...
|
|
1472
|
+
`),i.emit("reload")}catch(M){console.error("Mirror rebuild failed:",M instanceof Error?M.message:M)}finally{A=!1}}}})}r.open&&await Ch(E);let x=async()=>{console.log(`
|
|
1473
|
+
Shutting down...`);try{a.shutdownSwitcher?.()}catch{}try{a.shutdownComposer?.()}catch{}y.close(),k?.(),s(),await kt(process.pid),process.exit(0)};process.on("SIGINT",x),process.on("SIGTERM",x)}import*as Ih from"path";async function Lh(r,e,t,n,s){let i=xe(t),o=!1,a=async()=>{let{bulb:c,config:l}=await he(r);o||(nt(i,r,c.server),o=!0),await fn(c.server,s,n,l.dependencies)};console.log(`Running ${Ih.basename(r)}...`),await a(),e&&(console.log(`Watching for changes...
|
|
1474
1474
|
`),Ot({target:r,onChange:async()=>{try{console.log("Re-running..."),await a()}catch(c){console.error("Error:",c)}}}))}import{Console as nA}from"node:console";Me();async function Dh(r,e,t,n,s){cA();try{let p=ar(await K(),r)[0];p&&(gi(p.pid,ve(p.pid).offset),console.error(`note: 'call' boots a fresh server.ts instance; the running server (${p.url}) is not contacted \u2014 state shared with it must live on disk.`))}catch{}let i=xe(t),{bulb:o,config:a}=await he(r);o.server||Pn("This bulb has no **server.ts** block; nothing to call."),nt(i,r,o.server);let c;try{c=await fn(o.server,s,n,a.dependencies)}catch(p){Pn(p instanceof Error?p.message:String(p))}let l=Ni(c,e.fn);if(!l){let p=[...Object.keys(c).filter(b=>typeof c[b]=="function"),...Object.keys(Kc)];Pn(`Function '${e.fn}' not found. Available: ${p.length?p.join(", "):"(none)"}.`)}let f=await sA(e);if(Ii(l)){try{for await(let p of l(...f))await $h(JSON.stringify(p,Bh)+`
|
|
1475
1475
|
`)}catch(p){Pn(p instanceof Error?p.stack??p.message:String(p))}return Mh(0)}let u;try{u=await l(...f)}catch(p){Pn(p instanceof Error?p.stack??p.message:String(p))}let d=aA(u);d!==void 0&&await $h(d+`
|
|
1476
1476
|
`),Mh(0)}function Mh(r){process.exitCode=r,setTimeout(()=>process.exit(r),2e3).unref?.()}async function sA(r){if(r.hasArgsFlag){let e=r.argsJson??"";return e==="-"&&(e=await lA()),oA(e)}return iA(r.positional)}function iA(r){return r.map(e=>{try{return JSON.parse(e)}catch{return e}})}function oA(r){let e;try{e=JSON.parse(r)}catch(t){throw new Error(`--args must be a JSON array: ${t instanceof Error?t.message:String(t)}`)}if(!Array.isArray(e))throw new Error(`--args must be a JSON array, got ${e===null?"null":typeof e}`);return e}function aA(r){if(r!==void 0)return JSON.stringify(r,Bh,2)}function Bh(r,e){return typeof e=="bigint"?e.toString():e}function Pn(r){process.stderr.write(r+`
|
|
1477
|
-
`),process.exit(1)}function cA(){let r=new nA(process.stderr,process.stderr);console.log=r.log.bind(r),console.info=r.info.bind(r),console.debug=r.debug.bind(r),console.dir=r.dir.bind(r)}function $h(r){return new Promise((e,t)=>{process.stdout.write(r,n=>n?t(n):e())})}async function lA(){let r=[];for await(let e of process.stdin)r.push(e);return Buffer.concat(r).toString("utf-8")}var ol="0.23.
|
|
1477
|
+
`),process.exit(1)}function cA(){let r=new nA(process.stderr,process.stderr);console.log=r.log.bind(r),console.info=r.info.bind(r),console.debug=r.debug.bind(r),console.dir=r.dir.bind(r)}function $h(r){return new Promise((e,t)=>{process.stdout.write(r,n=>n?t(n):e())})}async function lA(){let r=[];for await(let e of process.stdin)r.push(e);return Buffer.concat(r).toString("utf-8")}var ol="0.23.5";function jh(r,e){r||(console.error(`This bulb runs server-side Node code (server.ts), which --trust must authorize:
|
|
1478
1478
|
${e}`),process.exit(1))}async function uA(){let r=wl(process.argv.slice(2));if(r.version&&(console.log(`typebulb ${ol}`),process.exit(0)),r.help&&(vl(),process.exit(0)),km(),r.subcommand==="logs"){await Nm(r.file||void 0,{follow:r.follow,clear:r.clear,run:r.run,lines:r.lines});return}if(r.subcommand==="wait"){await Im(r.file||void 0,{match:r.match,timeoutSec:r.timeoutSec});return}if(r.subcommand==="stop"){r.stopScope?await Mm(r.stopScope):await Lm(r.file||void 0);return}if(r.subcommand==="send"){await Dm(r.file,r.sendMessage,r.sendWaitMs??0);return}if(r.subcommand==="skill"){await Rm(ol);return}if(r.subcommand==="models"){await Pm(r.mode);return}if(r.subcommand==="agent"){await(r.agentTarget?Nh(r):Tm(ol));return}if(r.subcommand==="trust"||r.subcommand==="untrust"){await Ip(r.file||void 0,r.subcommand==="trust");return}let e;if(!r.file||r.file==="."){let l=await vp(process.cwd());l||(console.error("No .bulb.md file found in current directory"),process.exit(1)),e=l}else e=Be.resolve(r.file);await Fh.access(e).then(()=>!0,()=>!1)||(sr().includes(r.file)&&(console.error(`To open the ${r.file} agent mirror, run: npx typebulb agent:${r.file}`),process.exit(1)),console.error(`File not found: ${e}`),process.exit(1)),e.endsWith(".bulb.md")||(console.error("File must have .bulb.md extension"),process.exit(1));let n=r.file&&r.file!=="."?r.file:Be.relative(process.cwd(),e)||Be.basename(e),s=`npx typebulb --trust ${n.includes(" ")?`"${n}"`:n}`;if(r.subcommand==="predict"){await Np(e,s);return}let i=!r.noTrust&&St(e);i&&!r.trust&&console.log("trust: granted from memory (run `typebulb untrust` to revoke)"),r.trust=r.noTrust?!1:r.trust||i;let o;try{o=await he(e)}catch{}let a;if(r.local){o&&!(r.local.name in(o.config.dependencies??{}))&&(console.error(`--replace: '${r.local.name}' is not a dependency in this bulb's config.json; nothing to replace.`),process.exit(1)),o&&r.subcommand!=="call"&&(!o.bulb.code||r.server)&&console.warn("warning: --replace has no effect in server mode (the override is client-only).");try{a=await yl(r.local)}catch(l){console.error(l instanceof Error?l.message:String(l)),process.exit(1)}console.log(`replace: ${a.name} \u2192 ${Be.relative(process.cwd(),a.dir)||"."}`)}if(r.subcommand==="check"){await Cp(e,a);return}let c=Be.dirname(e);if(r.subcommand==="call"){jh(r.trust,s),await Dh(e,{fn:r.fn,positional:r.callArgs,argsJson:r.argsJson,hasArgsFlag:r.hasArgsFlag},r.mode,a,c);return}if(o&&o.bulb.server&&(Os(o.bulb)||r.server)){jh(r.trust,s),await Lh(e,r.watch,r.mode,a,c);return}await Jm(e,r,s,a,c)}uA().catch(r=>{console.error("Error:",r.message),process.exit(1)});
|